blob: fd2a8f9979f7e2b1ee2fd12846015b7dd95ff556 [file] [log] [blame]
#![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;
}