mirror of https://github.com/kivy/pyjnius.git
404 lines
22 KiB
Cython
404 lines
22 KiB
Cython
cdef extern from "jni.h":
|
|
|
|
ctypedef unsigned char jboolean
|
|
ctypedef signed char jbyte
|
|
ctypedef unsigned short jchar
|
|
ctypedef short jshort
|
|
ctypedef int jint
|
|
ctypedef long long jlong
|
|
ctypedef float jfloat
|
|
ctypedef double jdouble
|
|
ctypedef void* jobject
|
|
|
|
ctypedef jobject jclass
|
|
ctypedef jobject jstring
|
|
ctypedef jobject jarray
|
|
ctypedef jarray jobjectArray
|
|
ctypedef jarray jbooleanArray
|
|
ctypedef jarray jbyteArray
|
|
ctypedef jarray jcharArray
|
|
ctypedef jarray jshortArray
|
|
ctypedef jarray jintArray
|
|
ctypedef jarray jlongArray
|
|
ctypedef jarray jfloatArray
|
|
ctypedef jarray jdoubleArray
|
|
ctypedef jobject jthrowable
|
|
ctypedef jobject jweak
|
|
ctypedef jint jsize
|
|
|
|
ctypedef jchar const_jchar "const jchar"
|
|
ctypedef jbyte const_jbyte "const jbyte"
|
|
ctypedef jbyte const_jint "const jint"
|
|
ctypedef jboolean const_jboolean "const jboolean"
|
|
ctypedef jshort const_jshort "const jshort"
|
|
ctypedef jlong const_jlong "const jlong"
|
|
ctypedef jfloat const_jfloat "const jfloat"
|
|
ctypedef jdouble const_jdouble "const jdouble"
|
|
|
|
ctypedef struct JNINativeMethod:
|
|
const char* name
|
|
const char* signature
|
|
void* fnPtr
|
|
|
|
ctypedef JNINativeMethod const_JNINativeMethod "const JNINativeMethod"
|
|
|
|
ctypedef union jvalue:
|
|
jboolean z
|
|
jbyte b
|
|
jchar c
|
|
jshort s
|
|
jint i
|
|
jlong j
|
|
jfloat f
|
|
jdouble d
|
|
jobject l
|
|
|
|
ctypedef enum jobjectRefType:
|
|
JNIInvalidRefType = 0,
|
|
JNILocalRefType = 1,
|
|
JNIGlobalRefType = 2,
|
|
JNIWeakGlobalRefType = 3
|
|
|
|
|
|
# some opaque definitions
|
|
ctypedef void *jmethodID
|
|
ctypedef void *jfieldID
|
|
|
|
ctypedef struct JNINativeInterface
|
|
ctypedef struct JNIInvokeInterface
|
|
|
|
ctypedef JNINativeInterface* JNIEnv
|
|
ctypedef JNIInvokeInterface* JavaVM
|
|
|
|
ctypedef struct JNINativeInterface:
|
|
jint *GetVersion(JNIEnv *)
|
|
jclass (*DefineClass)(JNIEnv*, const char*, jobject, const_jbyte*,
|
|
jsize)
|
|
jclass (*FindClass)(JNIEnv*, char*)
|
|
|
|
jmethodID (*FromReflectedMethod)(JNIEnv*, jobject)
|
|
jfieldID (*FromReflectedField)(JNIEnv*, jobject)
|
|
# spec doesn't show jboolean parameter
|
|
jobject (*ToReflectedMethod)(JNIEnv*, jclass, jmethodID, jboolean)
|
|
|
|
jclass (*GetSuperclass)(JNIEnv*, jclass)
|
|
jboolean (*IsAssignableFrom)(JNIEnv*, jclass, jclass)
|
|
|
|
# spec doesn't show jboolean parameter
|
|
jobject (*ToReflectedField)(JNIEnv*, jclass, jfieldID, jboolean)
|
|
|
|
jint (*Throw)(JNIEnv*, jthrowable)
|
|
jint (*ThrowNew)(JNIEnv *, jclass, const char *)
|
|
jthrowable (*ExceptionOccurred)(JNIEnv*)
|
|
void (*ExceptionDescribe)(JNIEnv*)
|
|
void (*ExceptionClear)(JNIEnv*)
|
|
void (*FatalError)(JNIEnv*, const char*)
|
|
|
|
jint (*PushLocalFrame)(JNIEnv*, jint)
|
|
jobject (*PopLocalFrame)(JNIEnv*, jobject)
|
|
|
|
jobject (*NewGlobalRef)(JNIEnv*, jobject)
|
|
void (*DeleteGlobalRef)(JNIEnv*, jobject)
|
|
void (*DeleteLocalRef)(JNIEnv*, jobject)
|
|
jboolean (*IsSameObject)(JNIEnv*, jobject, jobject)
|
|
|
|
jobject (*NewLocalRef)(JNIEnv*, jobject)
|
|
jint (*EnsureLocalCapacity)(JNIEnv*, jint)
|
|
|
|
jobject (*AllocObject)(JNIEnv*, jclass)
|
|
jobject (*NewObject)(JNIEnv*, jclass, jmethodID, ...)
|
|
jobject (*NewObjectV)(JNIEnv*, jclass, jmethodID, va_list)
|
|
jobject (*NewObjectA)(JNIEnv*, jclass, jmethodID, jvalue*)
|
|
|
|
jclass (*GetObjectClass)(JNIEnv*, jobject)
|
|
jboolean (*IsInstanceOf)(JNIEnv*, jobject, jclass)
|
|
jmethodID (*GetMethodID)(JNIEnv*, jclass, const char*, const char*)
|
|
|
|
jobject (*CallObjectMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jobject (*CallObjectMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jobject (*CallObjectMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jboolean (*CallBooleanMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jboolean (*CallBooleanMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jboolean (*CallBooleanMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jbyte (*CallByteMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jbyte (*CallByteMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jbyte (*CallByteMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jchar (*CallCharMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jchar (*CallCharMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jchar (*CallCharMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jshort (*CallShortMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jshort (*CallShortMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jshort (*CallShortMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jint (*CallIntMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jint (*CallIntMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jint (*CallIntMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jlong (*CallLongMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jlong (*CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jlong (*CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jfloat (*CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jfloat (*CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jfloat (*CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
jdouble (*CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
jdouble (*CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
jdouble (*CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
void (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...) nogil
|
|
void (*CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list) nogil
|
|
void (*CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*) nogil
|
|
|
|
jobject (*CallNonvirtualObjectMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jobject (*CallNonvirtualObjectMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jobject (*CallNonvirtualObjectMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jboolean (*CallNonvirtualBooleanMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jboolean (*CallNonvirtualBooleanMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jboolean (*CallNonvirtualBooleanMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jbyte (*CallNonvirtualByteMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jbyte (*CallNonvirtualByteMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jbyte (*CallNonvirtualByteMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jchar (*CallNonvirtualCharMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jchar (*CallNonvirtualCharMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jchar (*CallNonvirtualCharMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jshort (*CallNonvirtualShortMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jshort (*CallNonvirtualShortMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jshort (*CallNonvirtualShortMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jint (*CallNonvirtualIntMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jint (*CallNonvirtualIntMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jint (*CallNonvirtualIntMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jlong (*CallNonvirtualLongMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jlong (*CallNonvirtualLongMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jlong (*CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jfloat (*CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jfloat (*CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jfloat (*CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
jdouble (*CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
jdouble (*CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
jdouble (*CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
void (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass,
|
|
jmethodID, ...) nogil
|
|
void (*CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass,
|
|
jmethodID, va_list) nogil
|
|
void (*CallNonvirtualVoidMethodA)(JNIEnv*, jobject, jclass,
|
|
jmethodID, jvalue*) nogil
|
|
|
|
jfieldID (*GetFieldID)(JNIEnv*, jclass, const char*, const char*)
|
|
|
|
jobject (*GetObjectField)(JNIEnv*, jobject, jfieldID)
|
|
jboolean (*GetBooleanField)(JNIEnv*, jobject, jfieldID)
|
|
jbyte (*GetByteField)(JNIEnv*, jobject, jfieldID)
|
|
jchar (*GetCharField)(JNIEnv*, jobject, jfieldID)
|
|
jshort (*GetShortField)(JNIEnv*, jobject, jfieldID)
|
|
jint (*GetIntField)(JNIEnv*, jobject, jfieldID)
|
|
jlong (*GetLongField)(JNIEnv*, jobject, jfieldID)
|
|
jfloat (*GetFloatField)(JNIEnv*, jobject, jfieldID)
|
|
jdouble (*GetDoubleField)(JNIEnv*, jobject, jfieldID)
|
|
|
|
void (*SetObjectField)(JNIEnv*, jobject, jfieldID, jobject)
|
|
void (*SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean)
|
|
void (*SetByteField)(JNIEnv*, jobject, jfieldID, jbyte)
|
|
void (*SetCharField)(JNIEnv*, jobject, jfieldID, jchar)
|
|
void (*SetShortField)(JNIEnv*, jobject, jfieldID, jshort)
|
|
void (*SetIntField)(JNIEnv*, jobject, jfieldID, jint)
|
|
void (*SetLongField)(JNIEnv*, jobject, jfieldID, jlong)
|
|
void (*SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat)
|
|
void (*SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble)
|
|
|
|
jmethodID (*GetStaticMethodID)(JNIEnv*, jclass, const char*,
|
|
const char*) nogil
|
|
|
|
jobject (*CallStaticObjectMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jobject (*CallStaticObjectMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jobject (*CallStaticObjectMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jboolean (*CallStaticBooleanMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jboolean (*CallStaticBooleanMethodV)(JNIEnv*, jclass, jmethodID,
|
|
va_list) nogil
|
|
jboolean (*CallStaticBooleanMethodA)(JNIEnv*, jclass, jmethodID,
|
|
jvalue*) nogil
|
|
jbyte (*CallStaticByteMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jbyte (*CallStaticByteMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jbyte (*CallStaticByteMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jchar (*CallStaticCharMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jchar (*CallStaticCharMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jchar (*CallStaticCharMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jshort (*CallStaticShortMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jshort (*CallStaticShortMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jshort (*CallStaticShortMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jint (*CallStaticIntMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jint (*CallStaticIntMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jint (*CallStaticIntMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jlong (*CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jlong (*CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jlong (*CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jfloat (*CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jfloat (*CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jfloat (*CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
jdouble (*CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
jdouble (*CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
jdouble (*CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
void (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...) nogil
|
|
void (*CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list) nogil
|
|
void (*CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*) nogil
|
|
|
|
jfieldID (*GetStaticFieldID)(JNIEnv*, jclass, const char*,
|
|
const char*)
|
|
|
|
jobject (*GetStaticObjectField)(JNIEnv*, jclass, jfieldID)
|
|
jboolean (*GetStaticBooleanField)(JNIEnv*, jclass, jfieldID)
|
|
jbyte (*GetStaticByteField)(JNIEnv*, jclass, jfieldID)
|
|
jchar (*GetStaticCharField)(JNIEnv*, jclass, jfieldID)
|
|
jshort (*GetStaticShortField)(JNIEnv*, jclass, jfieldID)
|
|
jint (*GetStaticIntField)(JNIEnv*, jclass, jfieldID)
|
|
jlong (*GetStaticLongField)(JNIEnv*, jclass, jfieldID)
|
|
jfloat (*GetStaticFloatField)(JNIEnv*, jclass, jfieldID)
|
|
jdouble (*GetStaticDoubleField)(JNIEnv*, jclass, jfieldID)
|
|
|
|
void (*SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject)
|
|
void (*SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean)
|
|
void (*SetStaticByteField)(JNIEnv*, jclass, jfieldID, jbyte)
|
|
void (*SetStaticCharField)(JNIEnv*, jclass, jfieldID, jchar)
|
|
void (*SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort)
|
|
void (*SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint)
|
|
void (*SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong)
|
|
void (*SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat)
|
|
void (*SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble)
|
|
|
|
jstring (*NewString)(JNIEnv*, const_jchar*, jsize)
|
|
jsize (*GetStringLength)(JNIEnv*, jstring)
|
|
const_jchar* (*GetStringChars)(JNIEnv*, jstring, jboolean*)
|
|
void (*ReleaseStringChars)(JNIEnv*, jstring, const_jchar*)
|
|
jstring (*NewStringUTF)(JNIEnv*, char*)
|
|
jsize (*GetStringUTFLength)(JNIEnv*, jstring)
|
|
# JNI spec says this returns const_jbyte*, but that's inconsistent
|
|
const char* (*GetStringUTFChars)(JNIEnv*, jstring, jboolean*)
|
|
void (*ReleaseStringUTFChars)(JNIEnv*, jstring, const char*)
|
|
jsize (*GetArrayLength)(JNIEnv*, jarray)
|
|
jobjectArray (*NewObjectArray)(JNIEnv*, jsize, jclass, jobject)
|
|
jobject (*GetObjectArrayElement)(JNIEnv*, jobjectArray, jsize)
|
|
void (*SetObjectArrayElement)(JNIEnv*, jobjectArray, jsize, jobject)
|
|
|
|
jbooleanArray (*NewBooleanArray)(JNIEnv*, jsize)
|
|
jbyteArray (*NewByteArray)(JNIEnv*, jsize)
|
|
jcharArray (*NewCharArray)(JNIEnv*, jsize)
|
|
jshortArray (*NewShortArray)(JNIEnv*, jsize)
|
|
jintArray (*NewIntArray)(JNIEnv*, jsize)
|
|
jlongArray (*NewLongArray)(JNIEnv*, jsize)
|
|
jfloatArray (*NewFloatArray)(JNIEnv*, jsize)
|
|
jdoubleArray (*NewDoubleArray)(JNIEnv*, jsize)
|
|
|
|
jboolean* (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*)
|
|
jbyte* (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*)
|
|
jchar* (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*)
|
|
jshort* (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*)
|
|
jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*)
|
|
jlong* (*GetLongArrayElements)(JNIEnv*, jlongArray, jboolean*)
|
|
jfloat* (*GetFloatArrayElements)(JNIEnv*, jfloatArray, jboolean*)
|
|
jdouble* (*GetDoubleArrayElements)(JNIEnv*, jdoubleArray, jboolean*)
|
|
|
|
void (*ReleaseBooleanArrayElements)(JNIEnv*, jbooleanArray,
|
|
jboolean*, jint)
|
|
void (*ReleaseByteArrayElements)(JNIEnv*, jbyteArray,
|
|
jbyte*, jint)
|
|
void (*ReleaseCharArrayElements)(JNIEnv*, jcharArray,
|
|
jchar*, jint)
|
|
void (*ReleaseShortArrayElements)(JNIEnv*, jshortArray,
|
|
jshort*, jint)
|
|
void (*ReleaseIntArrayElements)(JNIEnv*, jintArray,
|
|
jint*, jint)
|
|
void (*ReleaseLongArrayElements)(JNIEnv*, jlongArray,
|
|
jlong*, jint)
|
|
void (*ReleaseFloatArrayElements)(JNIEnv*, jfloatArray,
|
|
jfloat*, jint)
|
|
void (*ReleaseDoubleArrayElements)(JNIEnv*, jdoubleArray,
|
|
jdouble*, jint)
|
|
|
|
void (*GetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
|
|
jsize, jsize, jboolean*)
|
|
void (*GetByteArrayRegion)(JNIEnv*, jbyteArray,
|
|
jsize, jsize, jbyte*)
|
|
void (*GetCharArrayRegion)(JNIEnv*, jcharArray,
|
|
jsize, jsize, jchar*)
|
|
void (*GetShortArrayRegion)(JNIEnv*, jshortArray,
|
|
jsize, jsize, jshort*)
|
|
void (*GetIntArrayRegion)(JNIEnv*, jintArray,
|
|
jsize, jsize, jint*)
|
|
void (*GetLongArrayRegion)(JNIEnv*, jlongArray,
|
|
jsize, jsize, jlong*)
|
|
void (*GetFloatArrayRegion)(JNIEnv*, jfloatArray,
|
|
jsize, jsize, jfloat*)
|
|
void (*GetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
|
|
jsize, jsize, jdouble*)
|
|
|
|
# spec shows these without const some jni.h do, some don't
|
|
void (*SetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
|
|
jsize, jsize, const_jboolean*)
|
|
void (*SetByteArrayRegion)(JNIEnv*, jbyteArray,
|
|
jsize, jsize, const_jbyte*)
|
|
void (*SetCharArrayRegion)(JNIEnv*, jcharArray,
|
|
jsize, jsize, const_jchar*)
|
|
void (*SetShortArrayRegion)(JNIEnv*, jshortArray,
|
|
jsize, jsize, const_jshort*)
|
|
void (*SetIntArrayRegion)(JNIEnv*, jintArray,
|
|
jsize, jsize, const_jint*)
|
|
void (*SetLongArrayRegion)(JNIEnv*, jlongArray,
|
|
jsize, jsize, const_jlong*)
|
|
void (*SetFloatArrayRegion)(JNIEnv*, jfloatArray,
|
|
jsize, jsize, const_jfloat*)
|
|
void (*SetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
|
|
jsize, jsize, const_jdouble*)
|
|
|
|
#XXX not working with cython?
|
|
jint (*RegisterNatives)(JNIEnv*, jclass, const_JNINativeMethod*, jint)
|
|
jint (*UnregisterNatives)(JNIEnv*, jclass)
|
|
jint (*MonitorEnter)(JNIEnv*, jobject)
|
|
jint (*MonitorExit)(JNIEnv*, jobject)
|
|
jint (*GetJavaVM)(JNIEnv*, JavaVM**)
|
|
|
|
void (*GetStringRegion)(JNIEnv*, jstring, jsize, jsize, jchar*)
|
|
void (*GetStringUTFRegion)(JNIEnv*, jstring, jsize, jsize, char*)
|
|
|
|
void* (*GetPrimitiveArrayCritical)(JNIEnv*, jarray, jboolean*)
|
|
void (*ReleasePrimitiveArrayCritical)(JNIEnv*, jarray, void*, jint)
|
|
|
|
const_jchar* (*GetStringCritical)(JNIEnv*, jstring, jboolean*)
|
|
void (*ReleaseStringCritical)(JNIEnv*, jstring, const_jchar*)
|
|
|
|
jweak (*NewWeakGlobalRef)(JNIEnv*, jobject)
|
|
void (*DeleteWeakGlobalRef)(JNIEnv*, jweak)
|
|
|
|
jboolean (*ExceptionCheck)(JNIEnv*)
|
|
|
|
jobject (*NewDirectByteBuffer)(JNIEnv*, void*, jlong)
|
|
void* (*GetDirectBufferAddress)(JNIEnv*, jobject)
|
|
jlong (*GetDirectBufferCapacity)(JNIEnv*, jobject)
|
|
|
|
jobjectRefType (*GetObjectRefType)(JNIEnv*, jobject)
|
|
|
|
ctypedef struct JNIInvokeInterface:
|
|
jint (*AttachCurrentThread)(JavaVM *, JNIEnv **, void *)
|
|
jint (*DetachCurrentThread)(JavaVM *)
|