| #![doc(html_root_url="https://docs.rs/jni-sys/0.3.0")] |
| #![allow(non_snake_case, non_camel_case_types)] |
| |
| use std::os::raw::c_void; |
| use std::os::raw::c_char; |
| |
| // FIXME is this sufficiently correct? |
| pub type va_list = *mut c_void; |
| |
| pub type jint = i32; |
| pub type jlong = i64; |
| pub type jbyte = i8; |
| pub type jboolean = u8; |
| pub type jchar = u16; |
| pub type jshort = i16; |
| pub type jfloat = f32; |
| pub type jdouble = f64; |
| pub type jsize = jint; |
| |
| pub enum _jobject {} |
| pub type jobject = *mut _jobject; |
| pub type jclass = jobject; |
| pub type jthrowable = jobject; |
| pub type jstring = jobject; |
| pub type jarray = jobject; |
| pub type jbooleanArray = jarray; |
| pub type jbyteArray = jarray; |
| pub type jcharArray = jarray; |
| pub type jshortArray = jarray; |
| pub type jintArray = jarray; |
| pub type jlongArray = jarray; |
| pub type jfloatArray = jarray; |
| pub type jdoubleArray = jarray; |
| pub type jobjectArray = jarray; |
| pub type jweak = jobject; |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub union jvalue { |
| pub z: jboolean, |
| pub b: jbyte, |
| pub c: jchar, |
| pub s: jshort, |
| pub i: jint, |
| pub j: jlong, |
| pub f: jfloat, |
| pub d: jdouble, |
| pub l: jobject, |
| } |
| |
| impl Clone for jvalue { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| pub enum _jfieldID {} |
| pub type jfieldID = *mut _jfieldID; |
| pub enum _jmethodID {} |
| pub type jmethodID = *mut _jmethodID; |
| |
| #[derive(Clone, Copy)] |
| #[repr(C)] |
| pub enum jobjectRefType { |
| JNIInvalidRefType = 0, |
| JNILocalRefType = 1, |
| JNIGlobalRefType = 2, |
| JNIWeakGlobalRefType = 3, |
| } |
| |
| pub const JNI_FALSE: jboolean = 0; |
| pub const JNI_TRUE: jboolean = 1; |
| |
| pub const JNI_OK: jint = 0; |
| pub const JNI_ERR: jint = -1; |
| pub const JNI_EDETACHED: jint = -2; |
| pub const JNI_EVERSION: jint = -3; |
| pub const JNI_ENOMEM: jint = -4; |
| pub const JNI_EEXIST: jint = -5; |
| pub const JNI_EINVAL: jint = -6; |
| |
| pub const JNI_COMMIT: jint = 1; |
| pub const JNI_ABORT: jint = 2; |
| |
| pub const JNI_VERSION_1_1: jint = 0x00010001; |
| pub const JNI_VERSION_1_2: jint = 0x00010002; |
| pub const JNI_VERSION_1_4: jint = 0x00010004; |
| pub const JNI_VERSION_1_6: jint = 0x00010006; |
| pub const JNI_VERSION_1_8: jint = 0x00010008; |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JNINativeMethod { |
| pub name: *mut c_char, |
| pub signature: *mut c_char, |
| pub fnPtr: *mut c_void, |
| } |
| |
| impl Clone for JNINativeMethod { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| pub type JNIEnv = *const JNINativeInterface_; |
| pub type JavaVM = *const JNIInvokeInterface_; |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JNINativeInterface_ { |
| pub reserved0: *mut c_void, |
| pub reserved1: *mut c_void, |
| pub reserved2: *mut c_void, |
| pub reserved3: *mut c_void, |
| pub GetVersion: Option<unsafe extern "system" fn(env: *mut JNIEnv) -> jint>, |
| pub DefineClass: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| name: *const c_char, |
| loader: jobject, |
| buf: *const jbyte, |
| len: jsize) |
| -> jclass, |
| >, |
| pub FindClass: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, name: *const c_char) -> jclass>, |
| pub FromReflectedMethod: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, method: jobject) -> jmethodID>, |
| pub FromReflectedField: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, field: jobject) -> jfieldID>, |
| pub ToReflectedMethod: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| cls: jclass, |
| methodID: jmethodID, |
| isStatic: jboolean) |
| -> jobject, |
| >, |
| pub GetSuperclass: Option<unsafe extern "system" fn(env: *mut JNIEnv, sub: jclass) -> jclass>, |
| pub IsAssignableFrom: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, sub: jclass, sup: jclass) -> jboolean>, |
| pub ToReflectedField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| cls: jclass, |
| fieldID: jfieldID, |
| isStatic: jboolean) |
| -> jobject, |
| >, |
| pub Throw: Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jthrowable) -> jint>, |
| pub ThrowNew: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| msg: *const c_char) |
| -> jint, |
| >, |
| pub ExceptionOccurred: Option<unsafe extern "system" fn(env: *mut JNIEnv) -> jthrowable>, |
| pub ExceptionDescribe: Option<unsafe extern "system" fn(env: *mut JNIEnv)>, |
| pub ExceptionClear: Option<unsafe extern "system" fn(env: *mut JNIEnv)>, |
| pub FatalError: Option<unsafe extern "system" fn(env: *mut JNIEnv, msg: *const c_char) -> !>, |
| pub PushLocalFrame: Option<unsafe extern "system" fn(env: *mut JNIEnv, capacity: jint) -> jint>, |
| pub PopLocalFrame: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, result: jobject) -> jobject>, |
| pub NewGlobalRef: Option<unsafe extern "system" fn(env: *mut JNIEnv, lobj: jobject) -> jobject>, |
| pub DeleteGlobalRef: Option<unsafe extern "system" fn(env: *mut JNIEnv, gref: jobject)>, |
| pub DeleteLocalRef: Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject)>, |
| pub IsSameObject: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj1: jobject, |
| obj2: jobject) |
| -> jboolean, |
| >, |
| pub NewLocalRef: Option<unsafe extern "system" fn(env: *mut JNIEnv, ref_: jobject) -> jobject>, |
| pub EnsureLocalCapacity: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, capacity: jint) -> jint>, |
| pub AllocObject: Option<unsafe extern "system" fn(env: *mut JNIEnv, clazz: jclass) -> jobject>, |
| pub NewObject: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jobject, |
| >, |
| pub NewObjectV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jobject, |
| >, |
| pub NewObjectA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jobject, |
| >, |
| pub GetObjectClass: Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject) -> jclass>, |
| pub IsInstanceOf: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject, clazz: jclass) -> jboolean>, |
| pub GetMethodID: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| name: *const c_char, |
| sig: *const c_char) |
| -> jmethodID, |
| >, |
| pub CallObjectMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jobject, |
| >, |
| pub CallObjectMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jobject, |
| >, |
| pub CallObjectMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jobject, |
| >, |
| pub CallBooleanMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jboolean, |
| >, |
| pub CallBooleanMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jboolean, |
| >, |
| pub CallBooleanMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jboolean, |
| >, |
| pub CallByteMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jbyte, |
| >, |
| pub CallByteMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jbyte, |
| >, |
| pub CallByteMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jbyte, |
| >, |
| pub CallCharMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jchar, |
| >, |
| pub CallCharMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jchar, |
| >, |
| pub CallCharMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jchar, |
| >, |
| pub CallShortMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jshort, |
| >, |
| pub CallShortMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jshort, |
| >, |
| pub CallShortMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jshort, |
| >, |
| pub CallIntMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jint, |
| >, |
| pub CallIntMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jint, |
| >, |
| pub CallIntMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jint, |
| >, |
| pub CallLongMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jlong, |
| >, |
| pub CallLongMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jlong, |
| >, |
| pub CallLongMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jlong, |
| >, |
| pub CallFloatMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jfloat, |
| >, |
| pub CallFloatMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jfloat, |
| >, |
| pub CallFloatMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jfloat, |
| >, |
| pub CallDoubleMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| ...) |
| -> jdouble, |
| >, |
| pub CallDoubleMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list) |
| -> jdouble, |
| >, |
| pub CallDoubleMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jdouble, |
| >, |
| pub CallVoidMethod: |
| Option<unsafe extern "C" fn(env: *mut JNIEnv, obj: jobject, methodID: jmethodID, ...)>, |
| pub CallVoidMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: va_list), |
| >, |
| pub CallVoidMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| methodID: jmethodID, |
| args: *const jvalue), |
| >, |
| pub CallNonvirtualObjectMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jobject, |
| >, |
| pub CallNonvirtualObjectMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jobject, |
| >, |
| pub CallNonvirtualObjectMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jobject, |
| >, |
| pub CallNonvirtualBooleanMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jboolean, |
| >, |
| pub CallNonvirtualBooleanMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jboolean, |
| >, |
| pub CallNonvirtualBooleanMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jboolean, |
| >, |
| pub CallNonvirtualByteMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jbyte, |
| >, |
| pub CallNonvirtualByteMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jbyte, |
| >, |
| pub CallNonvirtualByteMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jbyte, |
| >, |
| pub CallNonvirtualCharMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jchar, |
| >, |
| pub CallNonvirtualCharMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jchar, |
| >, |
| pub CallNonvirtualCharMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jchar, |
| >, |
| pub CallNonvirtualShortMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jshort, |
| >, |
| pub CallNonvirtualShortMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jshort, |
| >, |
| pub CallNonvirtualShortMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jshort, |
| >, |
| pub CallNonvirtualIntMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jint, |
| >, |
| pub CallNonvirtualIntMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jint, |
| >, |
| pub CallNonvirtualIntMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jint, |
| >, |
| pub CallNonvirtualLongMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jlong, |
| >, |
| pub CallNonvirtualLongMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jlong, |
| >, |
| pub CallNonvirtualLongMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jlong, |
| >, |
| pub CallNonvirtualFloatMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jfloat, |
| >, |
| pub CallNonvirtualFloatMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jfloat, |
| >, |
| pub CallNonvirtualFloatMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jfloat, |
| >, |
| pub CallNonvirtualDoubleMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jdouble, |
| >, |
| pub CallNonvirtualDoubleMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jdouble, |
| >, |
| pub CallNonvirtualDoubleMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jdouble, |
| >, |
| pub CallNonvirtualVoidMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...), |
| >, |
| pub CallNonvirtualVoidMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list), |
| >, |
| pub CallNonvirtualVoidMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue), |
| >, |
| pub GetFieldID: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| name: *const c_char, |
| sig: *const c_char) |
| -> jfieldID, |
| >, |
| pub GetObjectField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jobject, |
| >, |
| pub GetBooleanField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jboolean, |
| >, |
| pub GetByteField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jbyte, |
| >, |
| pub GetCharField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jchar, |
| >, |
| pub GetShortField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jshort, |
| >, |
| pub GetIntField: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject, fieldID: jfieldID) -> jint>, |
| pub GetLongField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jlong, |
| >, |
| pub GetFloatField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jfloat, |
| >, |
| pub GetDoubleField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID) |
| -> jdouble, |
| >, |
| pub SetObjectField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jobject), |
| >, |
| pub SetBooleanField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jboolean), |
| >, |
| pub SetByteField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jbyte), |
| >, |
| pub SetCharField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jchar), |
| >, |
| pub SetShortField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jshort), |
| >, |
| pub SetIntField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jint), |
| >, |
| pub SetLongField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jlong), |
| >, |
| pub SetFloatField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jfloat), |
| >, |
| pub SetDoubleField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| obj: jobject, |
| fieldID: jfieldID, |
| val: jdouble), |
| >, |
| pub GetStaticMethodID: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| name: *const c_char, |
| sig: *const c_char) |
| -> jmethodID, |
| >, |
| pub CallStaticObjectMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jobject, |
| >, |
| pub CallStaticObjectMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jobject, |
| >, |
| pub CallStaticObjectMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jobject, |
| >, |
| pub CallStaticBooleanMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jboolean, |
| >, |
| pub CallStaticBooleanMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jboolean, |
| >, |
| pub CallStaticBooleanMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jboolean, |
| >, |
| pub CallStaticByteMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jbyte, |
| >, |
| pub CallStaticByteMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jbyte, |
| >, |
| pub CallStaticByteMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jbyte, |
| >, |
| pub CallStaticCharMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jchar, |
| >, |
| pub CallStaticCharMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jchar, |
| >, |
| pub CallStaticCharMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jchar, |
| >, |
| pub CallStaticShortMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jshort, |
| >, |
| pub CallStaticShortMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jshort, |
| >, |
| pub CallStaticShortMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jshort, |
| >, |
| pub CallStaticIntMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jint, |
| >, |
| pub CallStaticIntMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jint, |
| >, |
| pub CallStaticIntMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jint, |
| >, |
| pub CallStaticLongMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jlong, |
| >, |
| pub CallStaticLongMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jlong, |
| >, |
| pub CallStaticLongMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jlong, |
| >, |
| pub CallStaticFloatMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jfloat, |
| >, |
| pub CallStaticFloatMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jfloat, |
| >, |
| pub CallStaticFloatMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jfloat, |
| >, |
| pub CallStaticDoubleMethod: Option< |
| unsafe extern "C" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| ...) |
| -> jdouble, |
| >, |
| pub CallStaticDoubleMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: va_list) |
| -> jdouble, |
| >, |
| pub CallStaticDoubleMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methodID: jmethodID, |
| args: *const jvalue) |
| -> jdouble, |
| >, |
| pub CallStaticVoidMethod: |
| Option<unsafe extern "C" fn(env: *mut JNIEnv, cls: jclass, methodID: jmethodID, ...)>, |
| pub CallStaticVoidMethodV: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| cls: jclass, |
| methodID: jmethodID, |
| args: va_list), |
| >, |
| pub CallStaticVoidMethodA: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| cls: jclass, |
| methodID: jmethodID, |
| args: *const jvalue), |
| >, |
| pub GetStaticFieldID: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| name: *const c_char, |
| sig: *const c_char) |
| -> jfieldID, |
| >, |
| pub GetStaticObjectField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jobject, |
| >, |
| pub GetStaticBooleanField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jboolean, |
| >, |
| pub GetStaticByteField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jbyte, |
| >, |
| pub GetStaticCharField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jchar, |
| >, |
| pub GetStaticShortField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jshort, |
| >, |
| pub GetStaticIntField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jint, |
| >, |
| pub GetStaticLongField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jlong, |
| >, |
| pub GetStaticFloatField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jfloat, |
| >, |
| pub GetStaticDoubleField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID) |
| -> jdouble, |
| >, |
| pub SetStaticObjectField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jobject), |
| >, |
| pub SetStaticBooleanField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jboolean), |
| >, |
| pub SetStaticByteField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jbyte), |
| >, |
| pub SetStaticCharField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jchar), |
| >, |
| pub SetStaticShortField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jshort), |
| >, |
| pub SetStaticIntField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jint), |
| >, |
| pub SetStaticLongField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jlong), |
| >, |
| pub SetStaticFloatField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jfloat), |
| >, |
| pub SetStaticDoubleField: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| fieldID: jfieldID, |
| value: jdouble), |
| >, |
| pub NewString: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| unicode: *const jchar, |
| len: jsize) |
| -> jstring, |
| >, |
| pub GetStringLength: Option<unsafe extern "system" fn(env: *mut JNIEnv, str: jstring) -> jsize>, |
| pub GetStringChars: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| str: jstring, |
| isCopy: *mut jboolean) |
| -> *const jchar, |
| >, |
| pub ReleaseStringChars: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, str: jstring, chars: *const jchar)>, |
| pub NewStringUTF: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, utf: *const c_char) -> jstring>, |
| pub GetStringUTFLength: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, str: jstring) -> jsize>, |
| pub GetStringUTFChars: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| str: jstring, |
| isCopy: *mut jboolean) |
| -> *const c_char, |
| >, |
| pub ReleaseStringUTFChars: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, str: jstring, chars: *const c_char)>, |
| pub GetArrayLength: Option<unsafe extern "system" fn(env: *mut JNIEnv, array: jarray) -> jsize>, |
| pub NewObjectArray: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| len: jsize, |
| clazz: jclass, |
| init: jobject) |
| -> jobjectArray, |
| >, |
| pub GetObjectArrayElement: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jobjectArray, |
| index: jsize) |
| -> jobject, |
| >, |
| pub SetObjectArrayElement: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jobjectArray, |
| index: jsize, |
| val: jobject), |
| >, |
| pub NewBooleanArray: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jbooleanArray>, |
| pub NewByteArray: Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jbyteArray>, |
| pub NewCharArray: Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jcharArray>, |
| pub NewShortArray: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jshortArray>, |
| pub NewIntArray: Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jintArray>, |
| pub NewLongArray: Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jlongArray>, |
| pub NewFloatArray: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jfloatArray>, |
| pub NewDoubleArray: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, len: jsize) -> jdoubleArray>, |
| pub GetBooleanArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbooleanArray, |
| isCopy: *mut jboolean) |
| -> *mut jboolean, |
| >, |
| pub GetByteArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbyteArray, |
| isCopy: *mut jboolean) |
| -> *mut jbyte, |
| >, |
| pub GetCharArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jcharArray, |
| isCopy: *mut jboolean) |
| -> *mut jchar, |
| >, |
| pub GetShortArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jshortArray, |
| isCopy: *mut jboolean) |
| -> *mut jshort, |
| >, |
| pub GetIntArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jintArray, |
| isCopy: *mut jboolean) |
| -> *mut jint, |
| >, |
| pub GetLongArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jlongArray, |
| isCopy: *mut jboolean) |
| -> *mut jlong, |
| >, |
| pub GetFloatArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jfloatArray, |
| isCopy: *mut jboolean) |
| -> *mut jfloat, |
| >, |
| pub GetDoubleArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jdoubleArray, |
| isCopy: *mut jboolean) |
| -> *mut jdouble, |
| >, |
| pub ReleaseBooleanArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbooleanArray, |
| elems: *mut jboolean, |
| mode: jint), |
| >, |
| pub ReleaseByteArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbyteArray, |
| elems: *mut jbyte, |
| mode: jint), |
| >, |
| pub ReleaseCharArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jcharArray, |
| elems: *mut jchar, |
| mode: jint), |
| >, |
| pub ReleaseShortArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jshortArray, |
| elems: *mut jshort, |
| mode: jint), |
| >, |
| pub ReleaseIntArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jintArray, |
| elems: *mut jint, |
| mode: jint), |
| >, |
| pub ReleaseLongArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jlongArray, |
| elems: *mut jlong, |
| mode: jint), |
| >, |
| pub ReleaseFloatArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jfloatArray, |
| elems: *mut jfloat, |
| mode: jint), |
| >, |
| pub ReleaseDoubleArrayElements: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jdoubleArray, |
| elems: *mut jdouble, |
| mode: jint), |
| >, |
| pub GetBooleanArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbooleanArray, |
| start: jsize, |
| l: jsize, |
| buf: *mut jboolean), |
| >, |
| pub GetByteArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbyteArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jbyte), |
| >, |
| pub GetCharArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jcharArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jchar), |
| >, |
| pub GetShortArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jshortArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jshort), |
| >, |
| pub GetIntArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jintArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jint), |
| >, |
| pub GetLongArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jlongArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jlong), |
| >, |
| pub GetFloatArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jfloatArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jfloat), |
| >, |
| pub GetDoubleArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jdoubleArray, |
| start: jsize, |
| len: jsize, |
| buf: *mut jdouble), |
| >, |
| pub SetBooleanArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbooleanArray, |
| start: jsize, |
| l: jsize, |
| buf: *const jboolean), |
| >, |
| pub SetByteArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jbyteArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jbyte), |
| >, |
| pub SetCharArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jcharArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jchar), |
| >, |
| pub SetShortArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jshortArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jshort), |
| >, |
| pub SetIntArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jintArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jint), |
| >, |
| pub SetLongArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jlongArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jlong), |
| >, |
| pub SetFloatArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jfloatArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jfloat), |
| >, |
| pub SetDoubleArrayRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jdoubleArray, |
| start: jsize, |
| len: jsize, |
| buf: *const jdouble), |
| >, |
| pub RegisterNatives: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| clazz: jclass, |
| methods: *const JNINativeMethod, |
| nMethods: jint) |
| -> jint, |
| >, |
| pub UnregisterNatives: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, clazz: jclass) -> jint>, |
| pub MonitorEnter: Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject) -> jint>, |
| pub MonitorExit: Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject) -> jint>, |
| pub GetJavaVM: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, vm: *mut *mut JavaVM) -> jint>, |
| pub GetStringRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| str: jstring, |
| start: jsize, |
| len: jsize, |
| buf: *mut jchar), |
| >, |
| pub GetStringUTFRegion: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| str: jstring, |
| start: jsize, |
| len: jsize, |
| buf: *mut c_char), |
| >, |
| pub GetPrimitiveArrayCritical: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jarray, |
| isCopy: *mut jboolean) |
| -> *mut c_void, |
| >, |
| pub ReleasePrimitiveArrayCritical: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| array: jarray, |
| carray: *mut c_void, |
| mode: jint), |
| >, |
| pub GetStringCritical: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| string: jstring, |
| isCopy: *mut jboolean) |
| -> *const jchar, |
| >, |
| pub ReleaseStringCritical: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, string: jstring, cstring: *const jchar)>, |
| pub NewWeakGlobalRef: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject) -> jweak>, |
| pub DeleteWeakGlobalRef: Option<unsafe extern "system" fn(env: *mut JNIEnv, ref_: jweak)>, |
| pub ExceptionCheck: Option<unsafe extern "system" fn(env: *mut JNIEnv) -> jboolean>, |
| pub NewDirectByteBuffer: Option< |
| unsafe extern "system" fn(env: *mut JNIEnv, |
| address: *mut c_void, |
| capacity: jlong) |
| -> jobject, |
| >, |
| pub GetDirectBufferAddress: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, buf: jobject) -> *mut c_void>, |
| pub GetDirectBufferCapacity: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, buf: jobject) -> jlong>, |
| pub GetObjectRefType: |
| Option<unsafe extern "system" fn(env: *mut JNIEnv, obj: jobject) -> jobjectRefType>, |
| } |
| |
| impl Clone for JNINativeInterface_ { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JNIEnv_ { |
| pub functions: *const JNINativeInterface_, |
| } |
| |
| impl Clone for JNIEnv_ { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JavaVMOption { |
| pub optionString: *mut c_char, |
| pub extraInfo: *mut c_void, |
| } |
| |
| impl Clone for JavaVMOption { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JavaVMInitArgs { |
| pub version: jint, |
| pub nOptions: jint, |
| pub options: *mut JavaVMOption, |
| pub ignoreUnrecognized: jboolean, |
| } |
| |
| impl Clone for JavaVMInitArgs { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JavaVMAttachArgs { |
| pub version: jint, |
| pub name: *mut c_char, |
| pub group: jobject, |
| } |
| |
| impl Clone for JavaVMAttachArgs { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| #[repr(C)] |
| #[derive(Copy)] |
| pub struct JNIInvokeInterface_ { |
| pub reserved0: *mut c_void, |
| pub reserved1: *mut c_void, |
| pub reserved2: *mut c_void, |
| pub DestroyJavaVM: Option<unsafe extern "system" fn(vm: *mut JavaVM) -> jint>, |
| pub AttachCurrentThread: Option< |
| unsafe extern "system" fn(vm: *mut JavaVM, |
| penv: *mut *mut c_void, |
| args: *mut c_void) |
| -> jint, |
| >, |
| pub DetachCurrentThread: Option<unsafe extern "system" fn(vm: *mut JavaVM) -> jint>, |
| pub GetEnv: Option< |
| unsafe extern "system" fn(vm: *mut JavaVM, |
| penv: *mut *mut c_void, |
| version: jint) |
| -> jint, |
| >, |
| pub AttachCurrentThreadAsDaemon: Option< |
| unsafe extern "system" fn(vm: *mut JavaVM, |
| penv: *mut *mut c_void, |
| args: *mut c_void) |
| -> jint, |
| >, |
| } |
| |
| impl Clone for JNIInvokeInterface_ { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| |
| extern "system" { |
| pub fn JNI_GetDefaultJavaVMInitArgs(args: *mut c_void) -> jint; |
| pub fn JNI_CreateJavaVM( |
| pvm: *mut *mut JavaVM, |
| penv: *mut *mut c_void, |
| args: *mut c_void, |
| ) -> jint; |
| pub fn JNI_GetCreatedJavaVMs(vmBuf: *mut *mut JavaVM, bufLen: jsize, nVMs: *mut jsize) -> jint; |
| } |