36 #ifndef _JAVASOFT_JNI_H_
37 #define _JAVASOFT_JNI_H_
55 #ifndef JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H
68 class _jclass :
public _jobject {};
69 class _jthrowable :
public _jobject {};
70 class _jstring :
public _jobject {};
71 class _jarray :
public _jobject {};
72 class _jbooleanArray :
public _jarray {};
73 class _jbyteArray :
public _jarray {};
74 class _jcharArray :
public _jarray {};
75 class _jshortArray :
public _jarray {};
76 class _jintArray :
public _jarray {};
77 class _jlongArray :
public _jarray {};
78 class _jfloatArray :
public _jarray {};
79 class _jdoubleArray :
public _jarray {};
80 class _jobjectArray :
public _jarray {};
162 #define JNI_EDETACHED (-2)
163 #define JNI_EVERSION (-3)
164 #define JNI_ENOMEM (-4)
165 #define JNI_EEXIST (-5)
166 #define JNI_EINVAL (-6)
250 void (JNICALL *ExceptionDescribe)
264 void (JNICALL *DeleteGlobalRef)
272 jint (JNICALL *EnsureLocalCapacity)
357 void (JNICALL *CallVoidMethodV)
359 void (JNICALL *CallVoidMethodA)
364 jobject (JNICALL *CallNonvirtualObjectMethodV)
367 jobject (JNICALL *CallNonvirtualObjectMethodA)
380 jbyte (JNICALL *CallNonvirtualByteMethod)
382 jbyte (JNICALL *CallNonvirtualByteMethodV)
385 jbyte (JNICALL *CallNonvirtualByteMethodA)
389 jchar (JNICALL *CallNonvirtualCharMethod)
391 jchar (JNICALL *CallNonvirtualCharMethodV)
394 jchar (JNICALL *CallNonvirtualCharMethodA)
398 jshort (JNICALL *CallNonvirtualShortMethod)
400 jshort (JNICALL *CallNonvirtualShortMethodV)
403 jshort (JNICALL *CallNonvirtualShortMethodA)
407 jint (JNICALL *CallNonvirtualIntMethod)
409 jint (JNICALL *CallNonvirtualIntMethodV)
412 jint (JNICALL *CallNonvirtualIntMethodA)
416 jlong (JNICALL *CallNonvirtualLongMethod)
418 jlong (JNICALL *CallNonvirtualLongMethodV)
421 jlong (JNICALL *CallNonvirtualLongMethodA)
425 jfloat (JNICALL *CallNonvirtualFloatMethod)
427 jfloat (JNICALL *CallNonvirtualFloatMethodV)
430 jfloat (JNICALL *CallNonvirtualFloatMethodA)
436 jdouble (JNICALL *CallNonvirtualDoubleMethodV)
439 jdouble (JNICALL *CallNonvirtualDoubleMethodA)
443 void (JNICALL *CallNonvirtualVoidMethod)
445 void (JNICALL *CallNonvirtualVoidMethodV)
448 void (JNICALL *CallNonvirtualVoidMethodA)
476 void (JNICALL *SetBooleanField)
510 jbyte (JNICALL *CallStaticByteMethod)
512 jbyte (JNICALL *CallStaticByteMethodV)
514 jbyte (JNICALL *CallStaticByteMethodA)
517 jchar (JNICALL *CallStaticCharMethod)
519 jchar (JNICALL *CallStaticCharMethodV)
521 jchar (JNICALL *CallStaticCharMethodA)
531 jint (JNICALL *CallStaticIntMethod)
533 jint (JNICALL *CallStaticIntMethodV)
535 jint (JNICALL *CallStaticIntMethodA)
538 jlong (JNICALL *CallStaticLongMethod)
540 jlong (JNICALL *CallStaticLongMethodV)
542 jlong (JNICALL *CallStaticLongMethodA)
559 void (JNICALL *CallStaticVoidMethod)
561 void (JNICALL *CallStaticVoidMethodV)
563 void (JNICALL *CallStaticVoidMethodA)
578 jint (JNICALL *GetStaticIntField)
587 void (JNICALL *SetStaticObjectField)
589 void (JNICALL *SetStaticBooleanField)
591 void (JNICALL *SetStaticByteField)
593 void (JNICALL *SetStaticCharField)
595 void (JNICALL *SetStaticShortField)
597 void (JNICALL *SetStaticIntField)
599 void (JNICALL *SetStaticLongField)
601 void (JNICALL *SetStaticFloatField)
603 void (JNICALL *SetStaticDoubleField)
612 void (JNICALL *ReleaseStringChars)
621 void (JNICALL *ReleaseStringUTFChars)
632 void (JNICALL *SetObjectArrayElement)
669 void (JNICALL *ReleaseBooleanArrayElements)
671 void (JNICALL *ReleaseByteArrayElements)
673 void (JNICALL *ReleaseCharArrayElements)
675 void (JNICALL *ReleaseShortArrayElements)
677 void (JNICALL *ReleaseIntArrayElements)
679 void (JNICALL *ReleaseLongArrayElements)
681 void (JNICALL *ReleaseFloatArrayElements)
683 void (JNICALL *ReleaseDoubleArrayElements)
686 void (JNICALL *GetBooleanArrayRegion)
688 void (JNICALL *GetByteArrayRegion)
690 void (JNICALL *GetCharArrayRegion)
692 void (JNICALL *GetShortArrayRegion)
694 void (JNICALL *GetIntArrayRegion)
696 void (JNICALL *GetLongArrayRegion)
698 void (JNICALL *GetFloatArrayRegion)
700 void (JNICALL *GetDoubleArrayRegion)
703 void (JNICALL *SetBooleanArrayRegion)
705 void (JNICALL *SetByteArrayRegion)
707 void (JNICALL *SetCharArrayRegion)
709 void (JNICALL *SetShortArrayRegion)
711 void (JNICALL *SetIntArrayRegion)
713 void (JNICALL *SetLongArrayRegion)
715 void (JNICALL *SetFloatArrayRegion)
717 void (JNICALL *SetDoubleArrayRegion)
720 jint (JNICALL *RegisterNatives)
723 jint (JNICALL *UnregisterNatives)
734 void (JNICALL *GetStringRegion)
736 void (JNICALL *GetStringUTFRegion)
741 void (JNICALL *ReleasePrimitiveArrayCritical)
746 void (JNICALL *ReleaseStringCritical)
751 void (JNICALL *DeleteWeakGlobalRef)
761 jlong (JNICALL *GetDirectBufferCapacity)
830 return functions->ExceptionOccurred(
this);
832 void ExceptionDescribe() {
835 void ExceptionClear() {
838 void FatalError(
const char *
msg) {
1844 void DeleteWeakGlobalRef(
jweak ref) {
1935 jint DestroyJavaVM() {
1941 jint DetachCurrentThread() {
1942 return functions->DetachCurrentThread(
this);
1948 jint AttachCurrentThreadAsDaemon(
void **
penv,
void *
args) {
1954 #ifdef _JNI_IMPLEMENTATION_
1955 #define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT
1957 #define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT
1969 JNIEXPORT
jint JNICALL
1972 JNIEXPORT
void JNICALL
1975 #define JNI_VERSION_1_1 0x00010001
1976 #define JNI_VERSION_1_2 0x00010002
1977 #define JNI_VERSION_1_4 0x00010004
1978 #define JNI_VERSION_1_6 0x00010006
1979 #define JNI_VERSION_1_8 0x00010008
1980 #define JNI_VERSION_9 0x00090000
1981 #define JNI_VERSION_10 0x000a0000
const struct JNINativeInterface_ * JNIEnv
struct _jobject * jobject
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args)
enum _jobjectType jobjectRefType
struct JavaVMOption JavaVMOption
#define _JNI_IMPORT_OR_EXPORT_
const struct JNIInvokeInterface_ * JavaVM
struct _jfieldID * jfieldID
JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved)
struct _jmethodID * jmethodID
struct JavaVMAttachArgs JavaVMAttachArgs
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void *args)
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *)
struct JavaVMInitArgs JavaVMInitArgs
const struct JNINativeInterface_ * functions
jint(JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm
jint(JNICALL *DetachCurrentThread)(JavaVM *vm)
jint(JNICALL *GetEnv)(JavaVM *vm
jint(JNICALL *DestroyJavaVM)(JavaVM *vm)
jlong(JNICALL *CallNonvirtualLongMethod)(JNIEnv *env
jclass jmethodID jint(JNICALL *CallStaticIntMethodV)(JNIEnv *env
void(JNICALL *ReleasePrimitiveArrayCritical)(JNIEnv *env
jclass jmethodID jbyte(JNICALL *CallStaticByteMethodV)(JNIEnv *env
jclass jmethodID jlong(JNICALL *CallStaticLongMethodV)(JNIEnv *env
jclass jmethodID jclass jmethodID va_list args
jobject(JNICALL *PopLocalFrame)(JNIEnv *env
jfieldID(JNICALL *GetFieldID)(JNIEnv *env
jlong(JNICALL *CallLongMethod)(JNIEnv *env
jfieldID(JNICALL *FromReflectedField)(JNIEnv *env
void(JNICALL *ReleaseStringUTFChars)(JNIEnv *env
jobject jclass jmethodID jdouble(JNICALL *CallNonvirtualDoubleMethodV)(JNIEnv *env
jsize jclass jobject init
jobject jclass jmethodID methodID
jchar(JNICALL *GetStaticCharField)(JNIEnv *env
jobject(JNICALL *NewGlobalRef)(JNIEnv *env
jshortArray jsize jsize jshort * buf
jboolean(JNICALL *CallBooleanMethodA)(JNIEnv *env
void(JNICALL *ReleaseCharArrayElements)(JNIEnv *env
jlong(JNICALL *CallNonvirtualLongMethodA)(JNIEnv *env
jshort(JNICALL *CallShortMethod)(JNIEnv *env
void(JNICALL *GetBooleanArrayRegion)(JNIEnv *env
jchar(JNICALL *CallStaticCharMethod)(JNIEnv *env
jint *JNICALL * GetIntArrayElements(JNIEnv *env, jintArray array, jboolean *isCopy)
jobject(JNICALL *GetModule)(JNIEnv *env
jobject jmethodID jobject(JNICALL *CallObjectMethodV)(JNIEnv *env
jsize(JNICALL *GetStringLength)(JNIEnv *env
jbyte *JNICALL * GetByteArrayElements(JNIEnv *env, jbyteArray array, jboolean *isCopy)
jclass jmethodID jboolean isStatic
void(JNICALL *SetStaticByteField)(JNIEnv *env
jclass jfieldID jbyte value
jlong(JNICALL *CallStaticLongMethod)(JNIEnv *env
jint(JNICALL *GetStaticIntField)(JNIEnv *env
jbyte(JNICALL *CallByteMethod)(JNIEnv *env
jchar(JNICALL *CallCharMethodA)(JNIEnv *env
void(JNICALL *ReleaseLongArrayElements)(JNIEnv *env
jsize(JNICALL *GetStringUTFLength)(JNIEnv *env
jclass jmethodID jshort(JNICALL *CallStaticShortMethodV)(JNIEnv *env
const char jobject loader
jclass jmethodID const jvalue * args
jobject jmethodID jboolean(JNICALL *CallBooleanMethodV)(JNIEnv *env
jmethodID(JNICALL *GetStaticMethodID)(JNIEnv *env
void(JNICALL *ReleaseBooleanArrayElements)(JNIEnv *env
jsize(JNICALL *GetArrayLength)(JNIEnv *env
void(JNICALL *SetFloatField)(JNIEnv *env
jobject(JNICALL *NewObjectA)(JNIEnv *env
jstring(JNICALL *NewString)(JNIEnv *env
jlong(JNICALL *GetStaticLongField)(JNIEnv *env
jobject jclass jmethodID jint(JNICALL *CallNonvirtualIntMethodV)(JNIEnv *env
void(JNICALL *ExceptionDescribe)(JNIEnv *env)
jdoubleArray jsize jsize const jdouble * buf
jbyte(JNICALL *CallNonvirtualByteMethod)(JNIEnv *env
void(JNICALL *SetStaticIntField)(JNIEnv *env
jclass jmethodID void(JNICALL *CallStaticVoidMethodV)(JNIEnv *env
jstring jsize jsize jchar * buf
jobject jfieldID jfloat val
jbooleanArray jboolean * elems
void(JNICALL *DeleteGlobalRef)(JNIEnv *env
jmethodID(JNICALL *GetMethodID)(JNIEnv *env
jstring const char * chars
jboolean(JNICALL *IsAssignableFrom)(JNIEnv *env
void(JNICALL *SetShortArrayRegion)(JNIEnv *env
jclass jmethodID jfloat(JNICALL *CallStaticFloatMethodV)(JNIEnv *env
jobject jclass jmethodID jbyte(JNICALL *CallNonvirtualByteMethodV)(JNIEnv *env
void(JNICALL *GetShortArrayRegion)(JNIEnv *env
jclass jfieldID jchar value
jfloatArray(JNICALL *NewFloatArray)(JNIEnv *env
void(JNICALL *CallStaticVoidMethod)(JNIEnv *env
jboolean(JNICALL *CallNonvirtualBooleanMethodA)(JNIEnv *env
jcharArray jsize jsize jchar * buf
jobject jclass jmethodID jchar(JNICALL *CallNonvirtualCharMethodV)(JNIEnv *env
jdouble(JNICALL *GetDoubleField)(JNIEnv *env
void(JNICALL *CallStaticVoidMethodA)(JNIEnv *env
jint(JNICALL *Throw)(JNIEnv *env
jlongArray jsize jsize jlong * buf
void(JNICALL *SetIntField)(JNIEnv *env
jboolean(JNICALL *GetBooleanField)(JNIEnv *env
jclass jfieldID jlong value
void(JNICALL *GetFloatArrayRegion)(JNIEnv *env
void(JNICALL *SetBooleanField)(JNIEnv *env
void(JNICALL *SetStaticShortField)(JNIEnv *env
jchar(JNICALL *CallCharMethod)(JNIEnv *env
jobject(JNICALL *GetObjectArrayElement)(JNIEnv *env
jclass const JNINativeMethod * methods
jobject jmethodID jlong(JNICALL *CallLongMethodV)(JNIEnv *env
jclass jfieldID jshort value
void(JNICALL *SetByteField)(JNIEnv *env
void(JNICALL *SetStaticCharField)(JNIEnv *env
jshortArray jsize jsize const jshort * buf
jlong(JNICALL *CallLongMethodA)(JNIEnv *env
jobject(JNICALL *GetStaticObjectField)(JNIEnv *env
jchar(JNICALL *CallStaticCharMethodA)(JNIEnv *env
jobject(JNICALL *CallNonvirtualObjectMethodA)(JNIEnv *env
jboolean(JNICALL *GetStaticBooleanField)(JNIEnv *env
jbyteArray jsize jsize const jbyte * buf
jthrowable(JNICALL *ExceptionOccurred)(JNIEnv *env)
jstring jsize jsize char * buf
jdouble(JNICALL *CallStaticDoubleMethod)(JNIEnv *env
jobject jfieldID jlong val
jshort(JNICALL *CallShortMethodA)(JNIEnv *env
jobjectArray(JNICALL *NewObjectArray)(JNIEnv *env
const jchar *JNICALL * GetStringCritical(JNIEnv *env, jstring string, jboolean *isCopy)
jobject jfieldID jobject val
jobject jmethodID methodID
jcharArray jsize jsize const jchar * buf
jstring const jchar * cstring
jlongArray jsize jsize const jlong * buf
jclass jfieldID jdouble value
jlong(JNICALL *GetDirectBufferCapacity)(JNIEnv *env
jobject(JNICALL *NewDirectByteBuffer)(JNIEnv *env
jdouble(JNICALL *CallStaticDoubleMethodA)(JNIEnv *env
jobject jfieldID jchar val
jlong(JNICALL *CallStaticLongMethodA)(JNIEnv *env
jclass jmethodID jobject(JNICALL *NewObjectV)(JNIEnv *env
jobject jmethodID const jvalue * args
jclass jmethodID jobject(JNICALL *CallStaticObjectMethodV)(JNIEnv *env
jfloat(JNICALL *CallStaticFloatMethodA)(JNIEnv *env
void(JNICALL *SetShortField)(JNIEnv *env
void(JNICALL *SetIntArrayRegion)(JNIEnv *env
jobject jmethodID void(JNICALL *CallVoidMethodV)(JNIEnv *env
jfloat(JNICALL *CallNonvirtualFloatMethod)(JNIEnv *env
jclass jmethodID jchar(JNICALL *CallStaticCharMethodV)(JNIEnv *env
jclass(JNICALL *GetSuperclass)(JNIEnv *env
jobject jclass jmethodID jobject jclass clazz
jshort *JNICALL * GetShortArrayElements(JNIEnv *env, jshortArray array, jboolean *isCopy)
jobject jclass jmethodID jshort(JNICALL *CallNonvirtualShortMethodV)(JNIEnv *env
jbyte(JNICALL *CallStaticByteMethod)(JNIEnv *env
jbooleanArray jsize start
jboolean *JNICALL * GetBooleanArrayElements(JNIEnv *env, jbooleanArray array, jboolean *isCopy)
void(JNICALL *CallNonvirtualVoidMethod)(JNIEnv *env
jobject(JNICALL *ToReflectedField)(JNIEnv *env
jbyte(JNICALL *CallNonvirtualByteMethodA)(JNIEnv *env
jboolean(JNICALL *IsSameObject)(JNIEnv *env
jboolean(JNICALL *CallNonvirtualBooleanMethod)(JNIEnv *env
jdouble(JNICALL *CallNonvirtualDoubleMethod)(JNIEnv *env
jlongArray(JNICALL *NewLongArray)(JNIEnv *env
jfieldID(JNICALL *GetStaticFieldID)(JNIEnv *env
jbooleanArray jsize jsize const jboolean * buf
void(JNICALL *CallVoidMethodA)(JNIEnv *env
jboolean(JNICALL *CallStaticBooleanMethodA)(JNIEnv *env
jobject(JNICALL *NewObject)(JNIEnv *env
void(JNICALL *SetObjectField)(JNIEnv *env
jobject jmethodID jobject jmethodID va_list args
jobject(JNICALL *ToReflectedMethod)(JNIEnv *env
void(JNICALL *SetDoubleArrayRegion)(JNIEnv *env
jobject(JNICALL *CallStaticObjectMethodA)(JNIEnv *env
jclass(JNICALL *GetObjectClass)(JNIEnv *env
void(JNICALL *SetDoubleField)(JNIEnv *env
jint(JNICALL *GetVersion)(JNIEnv *env)
jfloatArray jsize jsize const jfloat * buf
void(JNICALL *SetCharField)(JNIEnv *env
jobject jclass jmethodID const jvalue * args
jdoubleArray(JNICALL *NewDoubleArray)(JNIEnv *env
const char jobject const jbyte * buf
void(JNICALL *ReleaseShortArrayElements)(JNIEnv *env
jbooleanArray jsize jsize l
jbyte(JNICALL *CallStaticByteMethodA)(JNIEnv *env
void(JNICALL *ReleaseStringCritical)(JNIEnv *env
jfloat(JNICALL *CallStaticFloatMethod)(JNIEnv *env
jintArray jsize jsize jint * buf
jobject jfieldID jshort val
void(JNICALL *SetStaticFloatField)(JNIEnv *env
jclass jmethodID jdouble(JNICALL *CallStaticDoubleMethodV)(JNIEnv *env
const jchar *JNICALL * GetStringChars(JNIEnv *env, jstring str, jboolean *isCopy)
jlong(JNICALL *GetLongField)(JNIEnv *env
void(JNICALL *ReleaseIntArrayElements)(JNIEnv *env
jclass jmethodID jboolean(JNICALL *CallStaticBooleanMethodV)(JNIEnv *env
void(JNICALL *CallNonvirtualVoidMethodA)(JNIEnv *env
jfloat(JNICALL *CallFloatMethod)(JNIEnv *env
jobjectRefType(JNICALL *GetObjectRefType)(JNIEnv *env
jobject jmethodID jshort(JNICALL *CallShortMethodV)(JNIEnv *env
jobject jclass jmethodID void(JNICALL *CallNonvirtualVoidMethodV)(JNIEnv *env
void(JNICALL *SetStaticDoubleField)(JNIEnv *env
void(JNICALL *SetCharArrayRegion)(JNIEnv *env
jshort(JNICALL *CallNonvirtualShortMethod)(JNIEnv *env
jbyte(JNICALL *GetByteField)(JNIEnv *env
jintArray(JNICALL *NewIntArray)(JNIEnv *env
void *JNICALL * GetPrimitiveArrayCritical(JNIEnv *env, jarray array, jboolean *isCopy)
jbooleanArray jsize jsize jboolean * buf
const char *JNICALL * GetStringUTFChars(JNIEnv *env, jstring str, jboolean *isCopy)
jdoubleArray jsize jsize jdouble * buf
jobject jmethodID jdouble(JNICALL *CallDoubleMethodV)(JNIEnv *env
jobject jclass jmethodID jfloat(JNICALL *CallNonvirtualFloatMethodV)(JNIEnv *env
void(JNICALL *CallVoidMethod)(JNIEnv *env
void *JNICALL * GetDirectBufferAddress(JNIEnv *env, jobject buf)
jint(JNICALL *CallStaticIntMethodA)(JNIEnv *env
void(JNICALL *GetIntArrayRegion)(JNIEnv *env
jobject(JNICALL *AllocObject)(JNIEnv *env
jclass jfieldID jint value
const char jobject const jbyte jsize len
jobject(JNICALL *NewLocalRef)(JNIEnv *env
jfloat(JNICALL *GetFloatField)(JNIEnv *env
jclass const JNINativeMethod jint nMethods
jdouble(JNICALL *CallNonvirtualDoubleMethodA)(JNIEnv *env
jobject jmethodID jbyte(JNICALL *CallByteMethodV)(JNIEnv *env
jchar(JNICALL *CallNonvirtualCharMethod)(JNIEnv *env
jchar(JNICALL *GetCharField)(JNIEnv *env
jint(JNICALL *MonitorExit)(JNIEnv *env
jclass jfieldID jboolean value
jobject jmethodID jint(JNICALL *CallIntMethodV)(JNIEnv *env
jshortArray(JNICALL *NewShortArray)(JNIEnv *env
jint(JNICALL *CallNonvirtualIntMethod)(JNIEnv *env
void(JNICALL *ReleaseDoubleArrayElements)(JNIEnv *env
jobjectArray jsize jobject val
void(JNICALL *SetFloatArrayRegion)(JNIEnv *env
jstring const jchar * chars
jbyteArray(JNICALL *NewByteArray)(JNIEnv *env
void(JNICALL *GetDoubleArrayRegion)(JNIEnv *env
jint(JNICALL *GetJavaVM)(JNIEnv *env
jint(JNICALL *CallIntMethodA)(JNIEnv *env
jclass(JNICALL *FindClass)(JNIEnv *env
void(JNICALL *GetCharArrayRegion)(JNIEnv *env
jfloat *JNICALL * GetFloatArrayElements(JNIEnv *env, jfloatArray array, jboolean *isCopy)
void(JNICALL *DeleteLocalRef)(JNIEnv *env
jbyte(JNICALL *CallByteMethodA)(JNIEnv *env
jobject jmethodID jchar(JNICALL *CallCharMethodV)(JNIEnv *env
jobject jfieldID jboolean val
void(JNICALL *SetStaticLongField)(JNIEnv *env
void(JNICALL *DeleteWeakGlobalRef)(JNIEnv *env
void(JNICALL *SetLongField)(JNIEnv *env
void(JNICALL *ReleaseByteArrayElements)(JNIEnv *env
jweak(JNICALL *NewWeakGlobalRef)(JNIEnv *env
jshort(JNICALL *GetStaticShortField)(JNIEnv *env
jobject(JNICALL *CallNonvirtualObjectMethod)(JNIEnv *env
jint(JNICALL *CallIntMethod)(JNIEnv *env
jint(JNICALL *CallNonvirtualIntMethodA)(JNIEnv *env
jint(JNICALL *CallStaticIntMethod)(JNIEnv *env
void(JNICALL *ReleaseFloatArrayElements)(JNIEnv *env
jdouble *JNICALL * GetDoubleArrayElements(JNIEnv *env, jdoubleArray array, jboolean *isCopy)
void(JNICALL *SetStaticObjectField)(JNIEnv *env
jobject(JNICALL *CallObjectMethodA)(JNIEnv *env
void(JNICALL *GetStringRegion)(JNIEnv *env
jclass jmethodID methodID
void(JNICALL *SetBooleanArrayRegion)(JNIEnv *env
void(JNICALL *GetLongArrayRegion)(JNIEnv *env
jshort(JNICALL *GetShortField)(JNIEnv *env
jobject jmethodID jfloat(JNICALL *CallFloatMethodV)(JNIEnv *env
jboolean(JNICALL *CallBooleanMethod)(JNIEnv *env
jfloatArray jsize jsize jfloat * buf
void(JNICALL *GetByteArrayRegion)(JNIEnv *env
jobject jfieldID jdouble val
void(JNICALL *SetByteArrayRegion)(JNIEnv *env
jobject jclass jmethodID jobject(JNICALL *CallNonvirtualObjectMethodV)(JNIEnv *env
jbooleanArray(JNICALL *NewBooleanArray)(JNIEnv *env
jint(JNICALL *RegisterNatives)(JNIEnv *env
void(JNICALL *GetStringUTFRegion)(JNIEnv *env
jshort(JNICALL *CallStaticShortMethodA)(JNIEnv *env
jstring(JNICALL *NewStringUTF)(JNIEnv *env
jboolean(JNICALL *IsInstanceOf)(JNIEnv *env
jchar(JNICALL *CallNonvirtualCharMethodA)(JNIEnv *env
jint(JNICALL *ThrowNew)(JNIEnv *env
jcharArray(JNICALL *NewCharArray)(JNIEnv *env
jclass(JNICALL *DefineClass)(JNIEnv *env
jobject jfieldID jbyte val
jclass jfieldID jobject value
jobject(JNICALL *CallStaticObjectMethod)(JNIEnv *env
jint(JNICALL *EnsureLocalCapacity)(JNIEnv *env
jfloat(JNICALL *GetStaticFloatField)(JNIEnv *env
jobject jfieldID jint val
jint(JNICALL *UnregisterNatives)(JNIEnv *env
jint(JNICALL *MonitorEnter)(JNIEnv *env
jbyte(JNICALL *GetStaticByteField)(JNIEnv *env
void(JNICALL *ReleaseStringChars)(JNIEnv *env
void(JNICALL *SetObjectArrayElement)(JNIEnv *env
void(JNICALL *FatalError)(JNIEnv *env
jclass jmethodID jclass cls
jdouble(JNICALL *GetStaticDoubleField)(JNIEnv *env
jchar *JNICALL * GetCharArrayElements(JNIEnv *env, jcharArray array, jboolean *isCopy)
jobject(JNICALL *CallObjectMethod)(JNIEnv *env
jdouble(JNICALL *CallDoubleMethodA)(JNIEnv *env
jdouble(JNICALL *CallDoubleMethod)(JNIEnv *env
void(JNICALL *SetStaticBooleanField)(JNIEnv *env
jlong *JNICALL * GetLongArrayElements(JNIEnv *env, jlongArray array, jboolean *isCopy)
jfloat(JNICALL *CallFloatMethodA)(JNIEnv *env
jmethodID(JNICALL *FromReflectedMethod)(JNIEnv *env
jint(JNICALL *PushLocalFrame)(JNIEnv *env
jbooleanArray jboolean jint mode
jshort(JNICALL *CallNonvirtualShortMethodA)(JNIEnv *env
void(JNICALL *SetLongArrayRegion)(JNIEnv *env
jboolean(JNICALL *ExceptionCheck)(JNIEnv *env)
jobject jclass jmethodID jlong(JNICALL *CallNonvirtualLongMethodV)(JNIEnv *env
jbyteArray jsize jsize jbyte * buf
jshort(JNICALL *CallStaticShortMethod)(JNIEnv *env
jobject(JNICALL *GetObjectField)(JNIEnv *env
jint(JNICALL *GetIntField)(JNIEnv *env
jboolean(JNICALL *CallStaticBooleanMethod)(JNIEnv *env
jclass const char const char * sig
jintArray jsize jsize const jint * buf
jclass jfieldID jfloat value
void(JNICALL *ExceptionClear)(JNIEnv *env)
jobject jclass jmethodID jboolean(JNICALL *CallNonvirtualBooleanMethodV)(JNIEnv *env
jobject jclass jmethodID jobject jclass jmethodID va_list args
jfloat(JNICALL *CallNonvirtualFloatMethodA)(JNIEnv *env
jboolean ignoreUnrecognized
const struct JNIInvokeInterface_ * functions