48class _jclass :
public _jobject {};
49class _jstring :
public _jobject {};
50class _jarray :
public _jobject {};
51class _jobjectArray :
public _jarray {};
52class _jbooleanArray :
public _jarray {};
53class _jbyteArray :
public _jarray {};
54class _jcharArray :
public _jarray {};
55class _jshortArray :
public _jarray {};
56class _jintArray :
public _jarray {};
57class _jlongArray :
public _jarray {};
58class _jfloatArray :
public _jarray {};
59class _jdoubleArray :
public _jarray {};
60class _jthrowable :
public _jobject {};
76typedef _jobject*
jweak;
139#if defined(__cplusplus)
495#if defined(__cplusplus)
504 jclass FindClass(
const char* name)
528 jint ThrowNew(
jclass clazz,
const char* message)
534 void ExceptionDescribe()
537 void ExceptionClear()
540 void FatalError(
const char* msg)
552 void DeleteGlobalRef(
jobject globalRef)
555 void DeleteLocalRef(
jobject localRef)
564 jint EnsureLocalCapacity(
jint capacity)
573 va_start(args, methodID);
594#define CALL_TYPE_METHOD(_jtype, _jname) \
595 _jtype Call##_jname##Method(jobject obj, jmethodID methodID, ...) \
599 va_start(args, methodID); \
600 result = functions->Call##_jname##MethodV(this, obj, methodID, \
605#define CALL_TYPE_METHODV(_jtype, _jname) \
606 _jtype Call##_jname##MethodV(jobject obj, jmethodID methodID, \
608 { return functions->Call##_jname##MethodV(this, obj, methodID, args); }
609#define CALL_TYPE_METHODA(_jtype, _jname) \
610 _jtype Call##_jname##MethodA(jobject obj, jmethodID methodID, \
612 { return functions->Call##_jname##MethodA(this, obj, methodID, args); }
614#define CALL_TYPE(_jtype, _jname) \
615 CALL_TYPE_METHOD(_jtype, _jname) \
616 CALL_TYPE_METHODV(_jtype, _jname) \
617 CALL_TYPE_METHODA(_jtype, _jname)
621 CALL_TYPE(
jbyte, Byte)
622 CALL_TYPE(
jchar, Char)
625 CALL_TYPE(
jlong, Long)
632 va_start(args, methodID);
641#define CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
642 _jtype CallNonvirtual##_jname##Method(jobject obj, jclass clazz, \
643 jmethodID methodID, ...) \
647 va_start(args, methodID); \
648 result = functions->CallNonvirtual##_jname##MethodV(this, obj, \
649 clazz, methodID, args); \
653#define CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
654 _jtype CallNonvirtual##_jname##MethodV(jobject obj, jclass clazz, \
655 jmethodID methodID, va_list args) \
656 { return functions->CallNonvirtual##_jname##MethodV(this, obj, clazz, \
658#define CALL_NONVIRT_TYPE_METHODA(_jtype, _jname) \
659 _jtype CallNonvirtual##_jname##MethodA(jobject obj, jclass clazz, \
660 jmethodID methodID, jvalue* args) \
661 { return functions->CallNonvirtual##_jname##MethodA(this, obj, clazz, \
664#define CALL_NONVIRT_TYPE(_jtype, _jname) \
665 CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
666 CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
667 CALL_NONVIRT_TYPE_METHODA(_jtype, _jname)
669 CALL_NONVIRT_TYPE(
jobject, Object)
670 CALL_NONVIRT_TYPE(
jboolean, Boolean)
671 CALL_NONVIRT_TYPE(
jbyte, Byte)
672 CALL_NONVIRT_TYPE(
jchar, Char)
673 CALL_NONVIRT_TYPE(
jshort, Short)
674 CALL_NONVIRT_TYPE(
jint, Int)
675 CALL_NONVIRT_TYPE(
jlong, Long)
676 CALL_NONVIRT_TYPE(
jfloat, Float)
677 CALL_NONVIRT_TYPE(
jdouble, Double)
683 va_start(args, methodID);
694 jfieldID GetFieldID(
jclass clazz,
const char* name,
const char* sig)
735 jmethodID GetStaticMethodID(
jclass clazz,
const char* name,
const char* sig)
738#define CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
739 _jtype CallStatic##_jname##Method(jclass clazz, jmethodID methodID, \
744 va_start(args, methodID); \
745 result = functions->CallStatic##_jname##MethodV(this, clazz, \
750#define CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
751 _jtype CallStatic##_jname##MethodV(jclass clazz, jmethodID methodID, \
753 { return functions->CallStatic##_jname##MethodV(this, clazz, methodID, \
755#define CALL_STATIC_TYPE_METHODA(_jtype, _jname) \
756 _jtype CallStatic##_jname##MethodA(jclass clazz, jmethodID methodID, \
758 { return functions->CallStatic##_jname##MethodA(this, clazz, methodID, \
761#define CALL_STATIC_TYPE(_jtype, _jname) \
762 CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
763 CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
764 CALL_STATIC_TYPE_METHODA(_jtype, _jname)
766 CALL_STATIC_TYPE(
jobject, Object)
768 CALL_STATIC_TYPE(
jbyte, Byte)
769 CALL_STATIC_TYPE(
jchar, Char)
770 CALL_STATIC_TYPE(
jshort, Short)
771 CALL_STATIC_TYPE(
jint, Int)
772 CALL_STATIC_TYPE(
jlong, Long)
773 CALL_STATIC_TYPE(
jfloat, Float)
774 CALL_STATIC_TYPE(
jdouble, Double)
779 va_start(args, methodID);
783 void CallStaticVoidMethodV(
jclass clazz,
jmethodID methodID, va_list args)
788 jfieldID GetStaticFieldID(
jclass clazz,
const char* name,
const char* sig)
838 void ReleaseStringChars(
jstring string,
const jchar* chars)
841 jstring NewStringUTF(
const char* bytes)
850 void ReleaseStringUTFChars(
jstring string,
const char* utf)
1001 void ReleasePrimitiveArrayCritical(
jarray array,
void* carray,
jint mode)
1007 void ReleaseStringCritical(
jstring string,
const jchar* carray)
1013 void DeleteWeakGlobalRef(
jweak obj)
1019 jobject NewDirectByteBuffer(
void* address,
jlong capacity)
1022 void* GetDirectBufferAddress(
jobject buf)
1056#if defined(__cplusplus)
1057 jint DestroyJavaVM()
1059 jint AttachCurrentThread(
JNIEnv** p_env,
void* thr_args)
1061 jint DetachCurrentThread()
1063 jint GetEnv(
void** env,
jint version)
1065 jint AttachCurrentThreadAsDaemon(
JNIEnv** p_env,
void* thr_args)
1107#define JNIEXPORT __attribute__ ((visibility ("default")))
1128#define JNI_VERSION_1_1 0x00010001
1129#define JNI_VERSION_1_2 0x00010002
1130#define JNI_VERSION_1_4 0x00010004
1131#define JNI_VERSION_1_6 0x00010006
1135#define JNI_EDETACHED (-2)
1136#define JNI_EVERSION (-3)
static JNINativeMethod methods[]
Definition YGJNIVanilla.cpp:765
jint JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *)
jarray jlongArray
Definition jni.h:94
struct JavaVMOption JavaVMOption
void * jobject
Definition jni.h:84
jobject jweak
Definition jni.h:98
uint8_t jboolean
Definition jni.h:31
jarray jintArray
Definition jni.h:93
JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved)
Definition yogajni.cpp:13
jarray jshortArray
Definition jni.h:92
int32_t jint
Definition jni.h:35
jarray jbooleanArray
Definition jni.h:89
double jdouble
Definition jni.h:38
jarray jcharArray
Definition jni.h:91
jarray jobjectArray
Definition jni.h:88
jobject jclass
Definition jni.h:85
float jfloat
Definition jni.h:37
#define JNIEXPORT
Definition jni.h:1107
jint JNI_GetDefaultJavaVMInitArgs(void *)
jobject jstring
Definition jni.h:86
int64_t jlong
Definition jni.h:36
jobjectRefType
Definition jni.h:122
@ JNIWeakGlobalRefType
Definition jni.h:126
@ JNIInvalidRefType
Definition jni.h:123
@ JNIGlobalRefType
Definition jni.h:125
@ JNILocalRefType
Definition jni.h:124
struct _jfieldID * jfieldID
Definition jni.h:103
jobject jarray
Definition jni.h:87
jarray jdoubleArray
Definition jni.h:96
const struct JNINativeInterface * C_JNIEnv
Definition jni.h:137
int16_t jshort
Definition jni.h:34
JNIEXPORT void JNI_OnUnload(JavaVM *vm, void *reserved)
jobject jthrowable
Definition jni.h:97
struct _jmethodID * jmethodID
Definition jni.h:106
jint JNI_CreateJavaVM(JavaVM **, JNIEnv **, void *)
jarray jfloatArray
Definition jni.h:95
const struct JNIInvokeInterface * JavaVM
Definition jni.h:144
jarray jbyteArray
Definition jni.h:90
int8_t jbyte
Definition jni.h:32
const struct JNINativeInterface * JNIEnv
Definition jni.h:143
jint jsize
Definition jni.h:41
struct JavaVMInitArgs JavaVMInitArgs
uint16_t jchar
Definition jni.h:33
const struct JNINativeInterface * functions
Definition jni.h:493
const struct JNIInvokeInterface * functions
Definition jni.h:1054
jint(* AttachCurrentThreadAsDaemon)(JavaVM *, JNIEnv **, void *)
Definition jni.h:1047
void * reserved0
Definition jni.h:1039
void * reserved1
Definition jni.h:1040
jint(* AttachCurrentThread)(JavaVM *, JNIEnv **, void *)
Definition jni.h:1044
void * reserved2
Definition jni.h:1041
jint(* DetachCurrentThread)(JavaVM *)
Definition jni.h:1045
jint(* DestroyJavaVM)(JavaVM *)
Definition jni.h:1043
jint(* GetEnv)(JavaVM *, void **, jint)
Definition jni.h:1046
jshort *(* GetShortArrayElements)(JNIEnv *, jshortArray, jboolean *)
Definition jni.h:398
jbyte(* CallNonvirtualByteMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:243
jboolean(* CallStaticBooleanMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:319
jint(* CallStaticIntMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:333
jdouble(* CallDoubleMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:226
void(* SetStaticIntField)(JNIEnv *, jclass, jfieldID, jint)
Definition jni.h:367
jbyte(* CallNonvirtualByteMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:245
void(* SetStaticDoubleField)(JNIEnv *, jclass, jfieldID, jdouble)
Definition jni.h:370
void(* SetShortField)(JNIEnv *, jobject, jfieldID, jshort)
Definition jni.h:308
jlong(* GetStaticLongField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:358
jbyte(* GetByteField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:296
void(* ReleaseBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *, jint)
Definition jni.h:404
jclass(* DefineClass)(JNIEnv *, const char *, jobject, const jbyte *, jsize)
Definition jni.h:158
jboolean(* ExceptionCheck)(JNIEnv *)
Definition jni.h:475
const char *(* GetStringUTFChars)(JNIEnv *, jstring, jboolean *)
Definition jni.h:379
void(* SetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, const jchar *)
Definition jni.h:443
void(* SetBooleanField)(JNIEnv *, jobject, jfieldID, jboolean)
Definition jni.h:305
void(* ReleaseStringUTFChars)(JNIEnv *, jstring, const char *)
Definition jni.h:380
jfieldID(* FromReflectedField)(JNIEnv *, jobject)
Definition jni.h:163
void(* GetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, jboolean *)
Definition jni.h:421
void(* CallVoidMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:229
void(* SetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, const jboolean *)
Definition jni.h:439
jobject(* CallNonvirtualObjectMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:231
jobject(* NewObject)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:192
jsize(* GetStringUTFLength)(JNIEnv *, jstring)
Definition jni.h:377
jbyte(* CallByteMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:206
void(* SetDoubleField)(JNIEnv *, jobject, jfieldID, jdouble)
Definition jni.h:312
jfloat(* CallStaticFloatMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:340
void(* SetStaticCharField)(JNIEnv *, jclass, jfieldID, jchar)
Definition jni.h:365
jchar(* CallCharMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:209
jobject(* GetStaticObjectField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:352
jchar(* CallStaticCharMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:328
jint(* CallIntMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:215
jmethodID(* GetMethodID)(JNIEnv *, jclass, const char *, const char *)
Definition jni.h:198
const jchar *(* GetStringCritical)(JNIEnv *, jstring, jboolean *)
Definition jni.h:469
jlong *(* GetLongArrayElements)(JNIEnv *, jlongArray, jboolean *)
Definition jni.h:400
jfloat(* CallNonvirtualFloatMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:273
jboolean(* GetStaticBooleanField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:353
void(* GetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, jbyte *)
Definition jni.h:423
void(* CallVoidMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:227
jdouble(* CallNonvirtualDoubleMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:283
jdoubleArray(* NewDoubleArray)(JNIEnv *, jsize)
Definition jni.h:393
void *(* GetPrimitiveArrayCritical)(JNIEnv *, jarray, jboolean *)
Definition jni.h:466
jbyte(* CallStaticByteMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:325
jint(* GetStaticIntField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:357
jfloat(* CallFloatMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:221
const jchar *(* GetStringChars)(JNIEnv *, jstring, jboolean *)
Definition jni.h:374
jbyte(* CallStaticByteMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:324
jobject(* CallObjectMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:202
jobject(* NewObjectA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:194
void(* SetObjectField)(JNIEnv *, jobject, jfieldID, jobject)
Definition jni.h:304
jthrowable(* ExceptionOccurred)(JNIEnv *)
Definition jni.h:175
void(* SetStaticFloatField)(JNIEnv *, jclass, jfieldID, jfloat)
Definition jni.h:369
jlong(* CallLongMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:220
jlong(* GetDirectBufferCapacity)(JNIEnv *, jobject)
Definition jni.h:479
jobject(* GetObjectArrayElement)(JNIEnv *, jobjectArray, jsize)
Definition jni.h:383
jboolean *(* GetBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *)
Definition jni.h:395
void(* SetIntField)(JNIEnv *, jobject, jfieldID, jint)
Definition jni.h:309
jint(* GetIntField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:299
jfieldID(* GetFieldID)(JNIEnv *, jclass, const char *, const char *)
Definition jni.h:292
jfloat(* GetFloatField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:301
jboolean(* CallNonvirtualBooleanMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:239
jint(* CallStaticIntMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:335
jobject(* CallObjectMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:200
jint(* MonitorExit)(JNIEnv *, jobject)
Definition jni.h:460
void(* SetObjectArrayElement)(JNIEnv *, jobjectArray, jsize, jobject)
Definition jni.h:384
jfloat *(* GetFloatArrayElements)(JNIEnv *, jfloatArray, jboolean *)
Definition jni.h:401
void(* CallNonvirtualVoidMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:287
jobjectArray(* NewObjectArray)(JNIEnv *, jsize, jclass, jobject)
Definition jni.h:382
jfieldID(* GetStaticFieldID)(JNIEnv *, jclass, const char *, const char *)
Definition jni.h:349
jobject(* ToReflectedField)(JNIEnv *, jclass, jfieldID, jboolean)
Definition jni.h:171
jshort(* CallShortMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:213
jlong(* CallNonvirtualLongMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:271
jchar(* GetCharField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:297
jint(* CallNonvirtualIntMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:261
jdouble(* GetDoubleField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:302
void(* ReleaseDoubleArrayElements)(JNIEnv *, jdoubleArray, jdouble *, jint)
Definition jni.h:418
jint(* GetVersion)(JNIEnv *)
Definition jni.h:156
jfloat(* CallFloatMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:223
jbyte(* CallByteMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:207
void(* CallStaticVoidMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:345
void(* SetLongField)(JNIEnv *, jobject, jfieldID, jlong)
Definition jni.h:310
void(* ReleaseFloatArrayElements)(JNIEnv *, jfloatArray, jfloat *, jint)
Definition jni.h:416
jdouble(* CallStaticDoubleMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:344
jbyte(* GetStaticByteField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:354
jdouble(* CallNonvirtualDoubleMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:279
jbyte(* CallByteMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:208
jshort(* CallStaticShortMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:331
jint(* UnregisterNatives)(JNIEnv *, jclass)
Definition jni.h:458
void(* GetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, jlong *)
Definition jni.h:431
jboolean(* CallStaticBooleanMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:320
jstring(* NewStringUTF)(JNIEnv *, const char *)
Definition jni.h:376
void *(* GetDirectBufferAddress)(JNIEnv *, jobject)
Definition jni.h:478
void * reserved0
Definition jni.h:151
void(* ReleaseShortArrayElements)(JNIEnv *, jshortArray, jshort *, jint)
Definition jni.h:410
void(* SetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, const jbyte *)
Definition jni.h:441
void(* ReleaseLongArrayElements)(JNIEnv *, jlongArray, jlong *, jint)
Definition jni.h:414
jobject(* ToReflectedMethod)(JNIEnv *, jclass, jmethodID, jboolean)
Definition jni.h:165
void(* GetStringRegion)(JNIEnv *, jstring, jsize, jsize, jchar *)
Definition jni.h:463
jshort(* CallStaticShortMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:332
jlong(* CallLongMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:218
void(* SetStaticLongField)(JNIEnv *, jclass, jfieldID, jlong)
Definition jni.h:368
jdouble(* CallStaticDoubleMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:342
jint(* CallIntMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:216
jdouble *(* GetDoubleArrayElements)(JNIEnv *, jdoubleArray, jboolean *)
Definition jni.h:402
void(* SetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, const jlong *)
Definition jni.h:449
jchar *(* GetCharArrayElements)(JNIEnv *, jcharArray, jboolean *)
Definition jni.h:397
jshort(* CallShortMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:212
void(* CallNonvirtualVoidMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:289
jint(* EnsureLocalCapacity)(JNIEnv *, jint)
Definition jni.h:189
void(* GetStringUTFRegion)(JNIEnv *, jstring, jsize, jsize, char *)
Definition jni.h:464
void(* SetByteField)(JNIEnv *, jobject, jfieldID, jbyte)
Definition jni.h:306
jlongArray(* NewLongArray)(JNIEnv *, jsize)
Definition jni.h:391
jbyteArray(* NewByteArray)(JNIEnv *, jsize)
Definition jni.h:387
jobject(* CallNonvirtualObjectMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:233
jboolean(* GetBooleanField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:295
void * reserved2
Definition jni.h:153
jdouble(* CallDoubleMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:225
jshort(* GetShortField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:298
jchar(* CallNonvirtualCharMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:251
void(* ExceptionDescribe)(JNIEnv *)
Definition jni.h:176
jshort(* CallStaticShortMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:330
void(* ReleasePrimitiveArrayCritical)(JNIEnv *, jarray, void *, jint)
Definition jni.h:467
void(* SetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, const jfloat *)
Definition jni.h:451
void * reserved1
Definition jni.h:152
jclass(* GetObjectClass)(JNIEnv *, jobject)
Definition jni.h:196
jfloat(* CallStaticFloatMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:339
void(* CallVoidMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:228
void(* GetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, jshort *)
Definition jni.h:427
jfloatArray(* NewFloatArray)(JNIEnv *, jsize)
Definition jni.h:392
jshort(* CallNonvirtualShortMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:259
jobjectRefType(* GetObjectRefType)(JNIEnv *, jobject)
Definition jni.h:482
jshort(* CallNonvirtualShortMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:255
jobject(* NewDirectByteBuffer)(JNIEnv *, void *, jlong)
Definition jni.h:477
jfloat(* CallStaticFloatMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:341
void(* FatalError)(JNIEnv *, const char *)
Definition jni.h:178
void(* ExceptionClear)(JNIEnv *)
Definition jni.h:177
jfloat(* CallNonvirtualFloatMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:277
jfloat(* GetStaticFloatField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:359
void(* SetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, const jint *)
Definition jni.h:447
jclass(* FindClass)(JNIEnv *, const char *)
Definition jni.h:160
void(* SetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, const jshort *)
Definition jni.h:445
jbyte(* CallStaticByteMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:326
jmethodID(* FromReflectedMethod)(JNIEnv *, jobject)
Definition jni.h:162
void(* CallStaticVoidMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:346
jint(* GetJavaVM)(JNIEnv *, JavaVM **)
Definition jni.h:461
jboolean(* CallBooleanMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:205
void(* SetFloatField)(JNIEnv *, jobject, jfieldID, jfloat)
Definition jni.h:311
jint(* MonitorEnter)(JNIEnv *, jobject)
Definition jni.h:459
jboolean(* CallBooleanMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:204
void(* SetStaticByteField)(JNIEnv *, jclass, jfieldID, jbyte)
Definition jni.h:364
jchar(* CallNonvirtualCharMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:249
jdouble(* CallStaticDoubleMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:343
jbyte *(* GetByteArrayElements)(JNIEnv *, jbyteArray, jboolean *)
Definition jni.h:396
jboolean(* IsAssignableFrom)(JNIEnv *, jclass, jclass)
Definition jni.h:168
jobject(* NewGlobalRef)(JNIEnv *, jobject)
Definition jni.h:183
jint(* Throw)(JNIEnv *, jthrowable)
Definition jni.h:173
jboolean(* CallNonvirtualBooleanMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:237
jbyte(* CallNonvirtualByteMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:247
jshort(* CallShortMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:214
void(* DeleteWeakGlobalRef)(JNIEnv *, jweak)
Definition jni.h:473
void(* GetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, jdouble *)
Definition jni.h:435
jint(* ThrowNew)(JNIEnv *, jclass, const char *)
Definition jni.h:174
jclass(* GetSuperclass)(JNIEnv *, jclass)
Definition jni.h:167
jlong(* CallNonvirtualLongMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:269
jlong(* GetLongField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:300
jlong(* CallStaticLongMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:338
jint(* CallStaticIntMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:334
jboolean(* CallStaticBooleanMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:322
void(* ReleaseCharArrayElements)(JNIEnv *, jcharArray, jchar *, jint)
Definition jni.h:408
void(* GetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, jfloat *)
Definition jni.h:433
jint(* CallIntMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:217
jcharArray(* NewCharArray)(JNIEnv *, jsize)
Definition jni.h:388
jfloat(* CallFloatMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:222
jobject(* CallStaticObjectMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:316
jobject(* CallObjectMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:201
jboolean(* IsInstanceOf)(JNIEnv *, jobject, jclass)
Definition jni.h:197
jshort(* GetStaticShortField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:356
jdouble(* CallNonvirtualDoubleMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:281
jstring(* NewString)(JNIEnv *, const jchar *, jsize)
Definition jni.h:372
jdouble(* GetStaticDoubleField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:360
jint(* CallNonvirtualIntMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:263
void(* SetStaticShortField)(JNIEnv *, jclass, jfieldID, jshort)
Definition jni.h:366
jchar(* CallCharMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:210
jobject(* CallStaticObjectMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:317
jlong(* CallNonvirtualLongMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:267
void(* GetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, jint *)
Definition jni.h:429
jboolean(* CallBooleanMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:203
void(* CallStaticVoidMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:347
jint *(* GetIntArrayElements)(JNIEnv *, jintArray, jboolean *)
Definition jni.h:399
jmethodID(* GetStaticMethodID)(JNIEnv *, jclass, const char *, const char *)
Definition jni.h:314
jobject(* CallStaticObjectMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:318
jchar(* CallNonvirtualCharMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:253
jchar(* CallStaticCharMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:327
jboolean(* IsSameObject)(JNIEnv *, jobject, jobject)
Definition jni.h:186
jbooleanArray(* NewBooleanArray)(JNIEnv *, jsize)
Definition jni.h:386
jobject(* NewObjectV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:193
void(* DeleteLocalRef)(JNIEnv *, jobject)
Definition jni.h:185
jshort(* CallNonvirtualShortMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:257
jobject(* GetObjectField)(JNIEnv *, jobject, jfieldID)
Definition jni.h:294
jobject(* CallNonvirtualObjectMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:235
void(* DeleteGlobalRef)(JNIEnv *, jobject)
Definition jni.h:184
jlong(* CallLongMethodV)(JNIEnv *, jobject, jmethodID, va_list)
Definition jni.h:219
void(* SetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, const jdouble *)
Definition jni.h:453
jlong(* CallStaticLongMethod)(JNIEnv *, jclass, jmethodID,...)
Definition jni.h:336
jdouble(* CallDoubleMethod)(JNIEnv *, jobject, jmethodID,...)
Definition jni.h:224
void(* SetStaticBooleanField)(JNIEnv *, jclass, jfieldID, jboolean)
Definition jni.h:363
void(* SetStaticObjectField)(JNIEnv *, jclass, jfieldID, jobject)
Definition jni.h:362
jboolean(* CallNonvirtualBooleanMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:241
jsize(* GetArrayLength)(JNIEnv *, jarray)
Definition jni.h:381
void(* ReleaseStringChars)(JNIEnv *, jstring, const jchar *)
Definition jni.h:375
jfloat(* CallNonvirtualFloatMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list)
Definition jni.h:275
jintArray(* NewIntArray)(JNIEnv *, jsize)
Definition jni.h:390
jobject(* NewLocalRef)(JNIEnv *, jobject)
Definition jni.h:188
void(* SetCharField)(JNIEnv *, jobject, jfieldID, jchar)
Definition jni.h:307
jint(* PushLocalFrame)(JNIEnv *, jint)
Definition jni.h:180
jsize(* GetStringLength)(JNIEnv *, jstring)
Definition jni.h:373
jchar(* GetStaticCharField)(JNIEnv *, jclass, jfieldID)
Definition jni.h:355
jobject(* AllocObject)(JNIEnv *, jclass)
Definition jni.h:191
void * reserved3
Definition jni.h:154
jlong(* CallStaticLongMethodV)(JNIEnv *, jclass, jmethodID, va_list)
Definition jni.h:337
jint(* CallNonvirtualIntMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue *)
Definition jni.h:265
jchar(* CallStaticCharMethodA)(JNIEnv *, jclass, jmethodID, jvalue *)
Definition jni.h:329
jint(* RegisterNatives)(JNIEnv *, jclass, const JNINativeMethod *, jint)
Definition jni.h:456
void(* ReleaseByteArrayElements)(JNIEnv *, jbyteArray, jbyte *, jint)
Definition jni.h:406
jweak(* NewWeakGlobalRef)(JNIEnv *, jobject)
Definition jni.h:472
jshortArray(* NewShortArray)(JNIEnv *, jsize)
Definition jni.h:389
void(* CallNonvirtualVoidMethod)(JNIEnv *, jobject, jclass, jmethodID,...)
Definition jni.h:285
void(* GetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, jchar *)
Definition jni.h:425
void(* ReleaseIntArrayElements)(JNIEnv *, jintArray, jint *, jint)
Definition jni.h:412
void(* ReleaseStringCritical)(JNIEnv *, jstring, const jchar *)
Definition jni.h:470
jobject(* PopLocalFrame)(JNIEnv *, jobject)
Definition jni.h:181
jchar(* CallCharMethodA)(JNIEnv *, jobject, jmethodID, jvalue *)
Definition jni.h:211
const char * name
Definition jni.h:130
void * fnPtr
Definition jni.h:132
const char * signature
Definition jni.h:131
jobject group
Definition jni.h:1073
jint version
Definition jni.h:1071
const char * name
Definition jni.h:1072
jboolean ignoreUnrecognized
Definition jni.h:1091
jint version
Definition jni.h:1087
jint nOptions
Definition jni.h:1089
JavaVMOption * options
Definition jni.h:1090
void * extraInfo
Definition jni.h:1083
const char * optionString
Definition jni.h:1082
jchar c
Definition jni.h:113
jboolean z
Definition jni.h:111
jshort s
Definition jni.h:114
jint i
Definition jni.h:115
jobject l
Definition jni.h:119
jdouble d
Definition jni.h:118
jlong j
Definition jni.h:116
jfloat f
Definition jni.h:117
jbyte b
Definition jni.h:112