00001
00002
00003
00004
00005 #ifndef JRI_H
00006 #define JRI_H
00007
00008 #include "jritypes.h"
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013
00014 typedef struct JRIEnvInterface JRIEnvInterface;
00015
00016 typedef const JRIEnvInterface* JRIEnv;
00017
00018 #define JRI_DefineClass(env, classLoader, buf, bufLen) \
00019 (((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen))
00020
00021 #define JRI_FindClass(env, name) \
00022 (((*(env))->FindClass)(env, JRI_FindClass_op, name))
00023
00024 #define JRI_Throw(env, obj) \
00025 (((*(env))->Throw)(env, JRI_Throw_op, obj))
00026
00027 #define JRI_ThrowNew(env, clazz, message) \
00028 (((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message))
00029
00030 #define JRI_ExceptionOccurred(env) \
00031 (((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op))
00032
00033 #define JRI_ExceptionDescribe(env) \
00034 (((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op))
00035
00036 #define JRI_ExceptionClear(env) \
00037 (((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op))
00038
00039 #define JRI_NewGlobalRef(env, ref) \
00040 (((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref))
00041
00042 #define JRI_DisposeGlobalRef(env, gref) \
00043 (((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref))
00044
00045 #define JRI_GetGlobalRef(env, gref) \
00046 (((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref))
00047
00048 #define JRI_SetGlobalRef(env, gref, ref) \
00049 (((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref))
00050
00051 #define JRI_IsSameObject(env, a, b) \
00052 (((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b))
00053
00054 #define JRI_NewObject(env) ((*(env))->NewObject)
00055 #define JRI_NewObjectV(env, clazz, methodID, args) \
00056 (((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args))
00057 #define JRI_NewObjectA(env, clazz, method, args) \
00058 (((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args))
00059
00060 #define JRI_GetObjectClass(env, obj) \
00061 (((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj))
00062
00063 #define JRI_IsInstanceOf(env, obj, clazz) \
00064 (((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz))
00065
00066 #define JRI_GetMethodID(env, clazz, name, sig) \
00067 (((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig))
00068
00069 #define JRI_CallMethod(env) ((*(env))->CallMethod)
00070 #define JRI_CallMethodV(env, obj, methodID, args) \
00071 (((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args))
00072 #define JRI_CallMethodA(env, obj, methodID, args) \
00073 (((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args))
00074
00075 #define JRI_CallMethodBoolean(env) ((*(env))->CallMethodBoolean)
00076 #define JRI_CallMethodBooleanV(env, obj, methodID, args) \
00077 (((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args))
00078 #define JRI_CallMethodBooleanA(env, obj, methodID, args) \
00079 (((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args))
00080
00081 #define JRI_CallMethodByte(env) ((*(env))->CallMethodByte)
00082 #define JRI_CallMethodByteV(env, obj, methodID, args) \
00083 (((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args))
00084 #define JRI_CallMethodByteA(env, obj, methodID, args) \
00085 (((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args))
00086
00087 #define JRI_CallMethodChar(env) ((*(env))->CallMethodChar)
00088 #define JRI_CallMethodCharV(env, obj, methodID, args) \
00089 (((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args))
00090 #define JRI_CallMethodCharA(env, obj, methodID, args) \
00091 (((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args))
00092
00093 #define JRI_CallMethodShort(env) ((*(env))->CallMethodShort)
00094 #define JRI_CallMethodShortV(env, obj, methodID, args) \
00095 (((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args))
00096 #define JRI_CallMethodShortA(env, obj, methodID, args) \
00097 (((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args))
00098
00099 #define JRI_CallMethodInt(env) ((*(env))->CallMethodInt)
00100 #define JRI_CallMethodIntV(env, obj, methodID, args) \
00101 (((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args))
00102 #define JRI_CallMethodIntA(env, obj, methodID, args) \
00103 (((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args))
00104
00105 #define JRI_CallMethodLong(env) ((*(env))->CallMethodLong)
00106 #define JRI_CallMethodLongV(env, obj, methodID, args) \
00107 (((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args))
00108 #define JRI_CallMethodLongA(env, obj, methodID, args) \
00109 (((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args))
00110
00111 #define JRI_CallMethodFloat(env) ((*(env))->CallMethodFloat)
00112 #define JRI_CallMethodFloatV(env, obj, methodID, args) \
00113 (((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args))
00114 #define JRI_CallMethodFloatA(env, obj, methodID, args) \
00115 (((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args))
00116
00117 #define JRI_CallMethodDouble(env) ((*(env))->CallMethodDouble)
00118 #define JRI_CallMethodDoubleV(env, obj, methodID, args) \
00119 (((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args))
00120 #define JRI_CallMethodDoubleA(env, obj, methodID, args) \
00121 (((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args))
00122
00123 #define JRI_GetFieldID(env, clazz, name, sig) \
00124 (((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig))
00125
00126 #define JRI_GetField(env, obj, fieldID) \
00127 (((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID))
00128
00129 #define JRI_GetFieldBoolean(env, obj, fieldID) \
00130 (((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID))
00131
00132 #define JRI_GetFieldByte(env, obj, fieldID) \
00133 (((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID))
00134
00135 #define JRI_GetFieldChar(env, obj, fieldID) \
00136 (((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID))
00137
00138 #define JRI_GetFieldShort(env, obj, fieldID) \
00139 (((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID))
00140
00141 #define JRI_GetFieldInt(env, obj, fieldID) \
00142 (((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID))
00143
00144 #define JRI_GetFieldLong(env, obj, fieldID) \
00145 (((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID))
00146
00147 #define JRI_GetFieldFloat(env, obj, fieldID) \
00148 (((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID))
00149
00150 #define JRI_GetFieldDouble(env, obj, fieldID) \
00151 (((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID))
00152
00153 #define JRI_SetField(env, obj, fieldID, value) \
00154 (((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value))
00155
00156 #define JRI_SetFieldBoolean(env, obj, fieldID, value) \
00157 (((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value))
00158
00159 #define JRI_SetFieldByte(env, obj, fieldID, value) \
00160 (((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value))
00161
00162 #define JRI_SetFieldChar(env, obj, fieldID, value) \
00163 (((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value))
00164
00165 #define JRI_SetFieldShort(env, obj, fieldID, value) \
00166 (((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value))
00167
00168 #define JRI_SetFieldInt(env, obj, fieldID, value) \
00169 (((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value))
00170
00171 #define JRI_SetFieldLong(env, obj, fieldID, value) \
00172 (((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value))
00173
00174 #define JRI_SetFieldFloat(env, obj, fieldID, value) \
00175 (((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value))
00176
00177 #define JRI_SetFieldDouble(env, obj, fieldID, value) \
00178 (((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value))
00179
00180 #define JRI_IsSubclassOf(env, a, b) \
00181 (((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b))
00182
00183 #define JRI_GetStaticMethodID(env, clazz, name, sig) \
00184 (((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig))
00185
00186 #define JRI_CallStaticMethod(env) ((*(env))->CallStaticMethod)
00187 #define JRI_CallStaticMethodV(env, clazz, methodID, args) \
00188 (((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args))
00189 #define JRI_CallStaticMethodA(env, clazz, methodID, args) \
00190 (((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args))
00191
00192 #define JRI_CallStaticMethodBoolean(env) ((*(env))->CallStaticMethodBoolean)
00193 #define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args) \
00194 (((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args))
00195 #define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args) \
00196 (((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args))
00197
00198 #define JRI_CallStaticMethodByte(env) ((*(env))->CallStaticMethodByte)
00199 #define JRI_CallStaticMethodByteV(env, clazz, methodID, args) \
00200 (((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args))
00201 #define JRI_CallStaticMethodByteA(env, clazz, methodID, args) \
00202 (((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args))
00203
00204 #define JRI_CallStaticMethodChar(env) ((*(env))->CallStaticMethodChar)
00205 #define JRI_CallStaticMethodCharV(env, clazz, methodID, args) \
00206 (((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args))
00207 #define JRI_CallStaticMethodCharA(env, clazz, methodID, args) \
00208 (((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args))
00209
00210 #define JRI_CallStaticMethodShort(env) ((*(env))->CallStaticMethodShort)
00211 #define JRI_CallStaticMethodShortV(env, clazz, methodID, args) \
00212 (((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args))
00213 #define JRI_CallStaticMethodShortA(env, clazz, methodID, args) \
00214 (((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args))
00215
00216 #define JRI_CallStaticMethodInt(env) ((*(env))->CallStaticMethodInt)
00217 #define JRI_CallStaticMethodIntV(env, clazz, methodID, args) \
00218 (((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args))
00219 #define JRI_CallStaticMethodIntA(env, clazz, methodID, args) \
00220 (((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args))
00221
00222 #define JRI_CallStaticMethodLong(env) ((*(env))->CallStaticMethodLong)
00223 #define JRI_CallStaticMethodLongV(env, clazz, methodID, args) \
00224 (((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args))
00225 #define JRI_CallStaticMethodLongA(env, clazz, methodID, args) \
00226 (((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args))
00227
00228 #define JRI_CallStaticMethodFloat(env) ((*(env))->CallStaticMethodFloat)
00229 #define JRI_CallStaticMethodFloatV(env, clazz, methodID, args) \
00230 (((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args))
00231 #define JRI_CallStaticMethodFloatA(env, clazz, methodID, args) \
00232 (((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args))
00233
00234 #define JRI_CallStaticMethodDouble(env) ((*(env))->CallStaticMethodDouble)
00235 #define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args) \
00236 (((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args))
00237 #define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args) \
00238 (((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args))
00239
00240 #define JRI_GetStaticFieldID(env, clazz, name, sig) \
00241 (((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig))
00242
00243 #define JRI_GetStaticField(env, clazz, fieldID) \
00244 (((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID))
00245
00246 #define JRI_GetStaticFieldBoolean(env, clazz, fieldID) \
00247 (((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID))
00248
00249 #define JRI_GetStaticFieldByte(env, clazz, fieldID) \
00250 (((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID))
00251
00252 #define JRI_GetStaticFieldChar(env, clazz, fieldID) \
00253 (((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID))
00254
00255 #define JRI_GetStaticFieldShort(env, clazz, fieldID) \
00256 (((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID))
00257
00258 #define JRI_GetStaticFieldInt(env, clazz, fieldID) \
00259 (((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID))
00260
00261 #define JRI_GetStaticFieldLong(env, clazz, fieldID) \
00262 (((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID))
00263
00264 #define JRI_GetStaticFieldFloat(env, clazz, fieldID) \
00265 (((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID))
00266
00267 #define JRI_GetStaticFieldDouble(env, clazz, fieldID) \
00268 (((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID))
00269
00270 #define JRI_SetStaticField(env, clazz, fieldID, value) \
00271 (((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value))
00272
00273 #define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value) \
00274 (((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value))
00275
00276 #define JRI_SetStaticFieldByte(env, clazz, fieldID, value) \
00277 (((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value))
00278
00279 #define JRI_SetStaticFieldChar(env, clazz, fieldID, value) \
00280 (((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value))
00281
00282 #define JRI_SetStaticFieldShort(env, clazz, fieldID, value) \
00283 (((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value))
00284
00285 #define JRI_SetStaticFieldInt(env, clazz, fieldID, value) \
00286 (((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value))
00287
00288 #define JRI_SetStaticFieldLong(env, clazz, fieldID, value) \
00289 (((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value))
00290
00291 #define JRI_SetStaticFieldFloat(env, clazz, fieldID, value) \
00292 (((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value))
00293
00294 #define JRI_SetStaticFieldDouble(env, clazz, fieldID, value) \
00295 (((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value))
00296
00297 #define JRI_NewString(env, unicode, len) \
00298 (((*(env))->NewString)(env, JRI_NewString_op, unicode, len))
00299
00300 #define JRI_GetStringLength(env, string) \
00301 (((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string))
00302
00303 #define JRI_GetStringChars(env, string) \
00304 (((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string))
00305
00306 #define JRI_NewStringUTF(env, utf, len) \
00307 (((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len))
00308
00309 #define JRI_GetStringUTFLength(env, string) \
00310 (((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string))
00311
00312 #define JRI_GetStringUTFChars(env, string) \
00313 (((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string))
00314
00315 #define JRI_NewScalarArray(env, length, elementSig, initialElements) \
00316 (((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements))
00317
00318 #define JRI_GetScalarArrayLength(env, array) \
00319 (((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array))
00320
00321 #define JRI_GetScalarArrayElements(env, array) \
00322 (((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array))
00323
00324 #define JRI_NewObjectArray(env, length, elementClass, initialElement) \
00325 (((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement))
00326
00327 #define JRI_GetObjectArrayLength(env, array) \
00328 (((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array))
00329
00330 #define JRI_GetObjectArrayElement(env, array, index) \
00331 (((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index))
00332
00333 #define JRI_SetObjectArrayElement(env, array, index, value) \
00334 (((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value))
00335
00336 #define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray) \
00337 (((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray))
00338
00339 #define JRI_UnregisterNatives(env, clazz) \
00340 (((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz))
00341
00342 struct java_lang_ClassLoader;
00343 struct java_lang_Class;
00344 struct java_lang_Throwable;
00345 struct java_lang_Object;
00346 struct java_lang_String;
00347
00348 struct JRIEnvInterface {
00349 void* reserved0;
00350 void* reserved1;
00351 void* reserved2;
00352 void* reserved3;
00353 struct java_lang_Class* (*FindClass)(JRIEnv* env, jint op, const char* a);
00354 void (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a);
00355 void (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b);
00356 struct java_lang_Throwable* (*ExceptionOccurred)(JRIEnv* env, jint op);
00357 void (*ExceptionDescribe)(JRIEnv* env, jint op);
00358 void (*ExceptionClear)(JRIEnv* env, jint op);
00359 jglobal (*NewGlobalRef)(JRIEnv* env, jint op, void* a);
00360 void (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a);
00361 void* (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a);
00362 void (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b);
00363 jbool (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b);
00364 void* (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00365 void* (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00366 void* (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00367 struct java_lang_Class* (*GetObjectClass)(JRIEnv* env, jint op, void* a);
00368 jbool (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b);
00369 jint (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
00370 void* (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...);
00371 void* (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00372 void* (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00373 jbool (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...);
00374 jbool (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00375 jbool (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00376 jbyte (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...);
00377 jbyte (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00378 jbyte (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00379 jchar (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...);
00380 jchar (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00381 jchar (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00382 jshort (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...);
00383 jshort (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00384 jshort (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00385 jint (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...);
00386 jint (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00387 jint (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00388 jlong (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...);
00389 jlong (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00390 jlong (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00391 jfloat (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...);
00392 jfloat (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00393 jfloat (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00394 jdouble (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...);
00395 jdouble (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
00396 jdouble (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
00397 jint (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
00398 void* (*GetField)(JRIEnv* env, jint op, void* a, jint b);
00399 jbool (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b);
00400 jbyte (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b);
00401 jchar (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b);
00402 jshort (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b);
00403 jint (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b);
00404 jlong (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b);
00405 jfloat (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b);
00406 jdouble (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b);
00407 void (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c);
00408 void (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c);
00409 void (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c);
00410 void (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c);
00411 void (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c);
00412 void (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c);
00413 void (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c);
00414 void (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c);
00415 void (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c);
00416 jbool (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b);
00417 jint (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
00418 void* (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00419 void* (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00420 void* (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00421 jbool (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00422 jbool (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00423 jbool (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00424 jbyte (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00425 jbyte (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00426 jbyte (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00427 jchar (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00428 jchar (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00429 jchar (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00430 jshort (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00431 jshort (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00432 jshort (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00433 jint (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00434 jint (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00435 jint (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00436 jlong (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00437 jlong (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00438 jlong (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00439 jfloat (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00440 jfloat (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00441 jfloat (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00442 jdouble (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
00443 jdouble (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
00444 jdouble (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
00445 jint (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
00446 void* (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00447 jbool (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00448 jbyte (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00449 jchar (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00450 jshort (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00451 jint (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00452 jlong (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00453 jfloat (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00454 jdouble (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
00455 void (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c);
00456 void (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c);
00457 void (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c);
00458 void (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c);
00459 void (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c);
00460 void (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c);
00461 void (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c);
00462 void (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c);
00463 void (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c);
00464 struct java_lang_String* (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b);
00465 jint (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a);
00466 const jchar* (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a);
00467 struct java_lang_String* (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b);
00468 jint (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a);
00469 const jbyte* (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a);
00470 void* (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c);
00471 jint (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a);
00472 jbyte* (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a);
00473 void* (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c);
00474 jint (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a);
00475 void* (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b);
00476 void (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c);
00477 void (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c);
00478 void (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a);
00479 struct java_lang_Class* (*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen);
00480 };
00481
00482 typedef enum JRIEnvOperations {
00483 JRI_Reserved0_op,
00484 JRI_Reserved1_op,
00485 JRI_Reserved2_op,
00486 JRI_Reserved3_op,
00487 JRI_FindClass_op,
00488 JRI_Throw_op,
00489 JRI_ThrowNew_op,
00490 JRI_ExceptionOccurred_op,
00491 JRI_ExceptionDescribe_op,
00492 JRI_ExceptionClear_op,
00493 JRI_NewGlobalRef_op,
00494 JRI_DisposeGlobalRef_op,
00495 JRI_GetGlobalRef_op,
00496 JRI_SetGlobalRef_op,
00497 JRI_IsSameObject_op,
00498 JRI_NewObject_op,
00499 JRI_NewObject_op_va_list,
00500 JRI_NewObject_op_array,
00501 JRI_GetObjectClass_op,
00502 JRI_IsInstanceOf_op,
00503 JRI_GetMethodID_op,
00504 JRI_CallMethod_op,
00505 JRI_CallMethod_op_va_list,
00506 JRI_CallMethod_op_array,
00507 JRI_CallMethodBoolean_op,
00508 JRI_CallMethodBoolean_op_va_list,
00509 JRI_CallMethodBoolean_op_array,
00510 JRI_CallMethodByte_op,
00511 JRI_CallMethodByte_op_va_list,
00512 JRI_CallMethodByte_op_array,
00513 JRI_CallMethodChar_op,
00514 JRI_CallMethodChar_op_va_list,
00515 JRI_CallMethodChar_op_array,
00516 JRI_CallMethodShort_op,
00517 JRI_CallMethodShort_op_va_list,
00518 JRI_CallMethodShort_op_array,
00519 JRI_CallMethodInt_op,
00520 JRI_CallMethodInt_op_va_list,
00521 JRI_CallMethodInt_op_array,
00522 JRI_CallMethodLong_op,
00523 JRI_CallMethodLong_op_va_list,
00524 JRI_CallMethodLong_op_array,
00525 JRI_CallMethodFloat_op,
00526 JRI_CallMethodFloat_op_va_list,
00527 JRI_CallMethodFloat_op_array,
00528 JRI_CallMethodDouble_op,
00529 JRI_CallMethodDouble_op_va_list,
00530 JRI_CallMethodDouble_op_array,
00531 JRI_GetFieldID_op,
00532 JRI_GetField_op,
00533 JRI_GetFieldBoolean_op,
00534 JRI_GetFieldByte_op,
00535 JRI_GetFieldChar_op,
00536 JRI_GetFieldShort_op,
00537 JRI_GetFieldInt_op,
00538 JRI_GetFieldLong_op,
00539 JRI_GetFieldFloat_op,
00540 JRI_GetFieldDouble_op,
00541 JRI_SetField_op,
00542 JRI_SetFieldBoolean_op,
00543 JRI_SetFieldByte_op,
00544 JRI_SetFieldChar_op,
00545 JRI_SetFieldShort_op,
00546 JRI_SetFieldInt_op,
00547 JRI_SetFieldLong_op,
00548 JRI_SetFieldFloat_op,
00549 JRI_SetFieldDouble_op,
00550 JRI_IsSubclassOf_op,
00551 JRI_GetStaticMethodID_op,
00552 JRI_CallStaticMethod_op,
00553 JRI_CallStaticMethod_op_va_list,
00554 JRI_CallStaticMethod_op_array,
00555 JRI_CallStaticMethodBoolean_op,
00556 JRI_CallStaticMethodBoolean_op_va_list,
00557 JRI_CallStaticMethodBoolean_op_array,
00558 JRI_CallStaticMethodByte_op,
00559 JRI_CallStaticMethodByte_op_va_list,
00560 JRI_CallStaticMethodByte_op_array,
00561 JRI_CallStaticMethodChar_op,
00562 JRI_CallStaticMethodChar_op_va_list,
00563 JRI_CallStaticMethodChar_op_array,
00564 JRI_CallStaticMethodShort_op,
00565 JRI_CallStaticMethodShort_op_va_list,
00566 JRI_CallStaticMethodShort_op_array,
00567 JRI_CallStaticMethodInt_op,
00568 JRI_CallStaticMethodInt_op_va_list,
00569 JRI_CallStaticMethodInt_op_array,
00570 JRI_CallStaticMethodLong_op,
00571 JRI_CallStaticMethodLong_op_va_list,
00572 JRI_CallStaticMethodLong_op_array,
00573 JRI_CallStaticMethodFloat_op,
00574 JRI_CallStaticMethodFloat_op_va_list,
00575 JRI_CallStaticMethodFloat_op_array,
00576 JRI_CallStaticMethodDouble_op,
00577 JRI_CallStaticMethodDouble_op_va_list,
00578 JRI_CallStaticMethodDouble_op_array,
00579 JRI_GetStaticFieldID_op,
00580 JRI_GetStaticField_op,
00581 JRI_GetStaticFieldBoolean_op,
00582 JRI_GetStaticFieldByte_op,
00583 JRI_GetStaticFieldChar_op,
00584 JRI_GetStaticFieldShort_op,
00585 JRI_GetStaticFieldInt_op,
00586 JRI_GetStaticFieldLong_op,
00587 JRI_GetStaticFieldFloat_op,
00588 JRI_GetStaticFieldDouble_op,
00589 JRI_SetStaticField_op,
00590 JRI_SetStaticFieldBoolean_op,
00591 JRI_SetStaticFieldByte_op,
00592 JRI_SetStaticFieldChar_op,
00593 JRI_SetStaticFieldShort_op,
00594 JRI_SetStaticFieldInt_op,
00595 JRI_SetStaticFieldLong_op,
00596 JRI_SetStaticFieldFloat_op,
00597 JRI_SetStaticFieldDouble_op,
00598 JRI_NewString_op,
00599 JRI_GetStringLength_op,
00600 JRI_GetStringChars_op,
00601 JRI_NewStringUTF_op,
00602 JRI_GetStringUTFLength_op,
00603 JRI_GetStringUTFChars_op,
00604 JRI_NewScalarArray_op,
00605 JRI_GetScalarArrayLength_op,
00606 JRI_GetScalarArrayElements_op,
00607 JRI_NewObjectArray_op,
00608 JRI_GetObjectArrayLength_op,
00609 JRI_GetObjectArrayElement_op,
00610 JRI_SetObjectArrayElement_op,
00611 JRI_RegisterNatives_op,
00612 JRI_UnregisterNatives_op,
00613 JRI_DefineClass_op
00614 } JRIEnvOperations;
00615
00616 #ifdef __cplusplus
00617 }
00618 #endif
00619
00620 #endif
00621