111 }
112
113
114 #ifdef STATIC_BUILD
115 JNIEXPORT jint JNI_OnLoad_attach009Agent00(JavaVM *jvm, char *options, void *reserved) {
116 return JNI_VERSION_1_8;
117 }
118 #endif
119
120 JNIEXPORT jint JNICALL
121 #ifdef STATIC_BUILD
122 Agent_OnAttach_attach009Agent00(JavaVM *vm, char *optionsString, void *reserved)
123 #else
124 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
125 #endif
126 {
127 jvmtiEnv* jvmti;
128 jvmtiEventCallbacks eventCallbacks;
129 JNIEnv* jni;
130
131 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
132 return JNI_ERR;
133
134 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
135
136 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
137 return NSK_FALSE;
138
139 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
140 return JNI_ERR;
141
142 memset(&eventCallbacks,0, sizeof(eventCallbacks));
143 eventCallbacks.ClassLoad = classLoadHandler;
144 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
145 return JNI_ERR;
146 }
147
148 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
149 return JNI_ERR;
150 }
151
152 NSK_DISPLAY1("%s: initialization was done\n", agentName);
153
154 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
155 return JNI_ERR;
156
157 return JNI_OK;
158 }
159
|
111 }
112
113
114 #ifdef STATIC_BUILD
115 JNIEXPORT jint JNI_OnLoad_attach009Agent00(JavaVM *jvm, char *options, void *reserved) {
116 return JNI_VERSION_1_8;
117 }
118 #endif
119
120 JNIEXPORT jint JNICALL
121 #ifdef STATIC_BUILD
122 Agent_OnAttach_attach009Agent00(JavaVM *vm, char *optionsString, void *reserved)
123 #else
124 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
125 #endif
126 {
127 jvmtiEnv* jvmti;
128 jvmtiEventCallbacks eventCallbacks;
129 JNIEnv* jni;
130
131 options = (Options*) nsk_aod_createOptions(optionsString);
132 if (!NSK_VERIFY(options != NULL))
133 return JNI_ERR;
134
135 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
136
137 jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
138 if (jni == NULL)
139 return NSK_FALSE;
140
141 jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
142 if (!NSK_VERIFY(jvmti != NULL))
143 return JNI_ERR;
144
145 memset(&eventCallbacks,0, sizeof(eventCallbacks));
146 eventCallbacks.ClassLoad = classLoadHandler;
147 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
148 return JNI_ERR;
149 }
150
151 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
152 return JNI_ERR;
153 }
154
155 NSK_DISPLAY1("%s: initialization was done\n", agentName);
156
157 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
158 return JNI_ERR;
159
160 return JNI_OK;
161 }
162
|