blob: 6d54cda41d3114f8b93f471fb1a32684c0ed54a1 [file]
// Autogenerated file. Do not edit.
// Generated from an annotated version of jni.h provided in Android NDK.
// (NDK Version 23.1.7779620)
// The license for original file is provided below:
/*
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* JNI specification, as defined by Sun:
* http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html
*
* Everything here is expected to be VM-neutral.
*/
// ignore_for_file: always_specify_types
// ignore_for_file: camel_case_types
// ignore_for_file: non_constant_identifier_names
// ignore_for_file: constant_identifier_names
// ignore_for_file: unused_field
// ignore_for_file: unused_element
// coverage:ignore-file
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
// ignore_for_file: type=lint
import 'dart:ffi' as ffi;
/// Bindings for libdartjni.so which is part of jni plugin.
///
/// It also transitively includes type definitions such as JNIEnv from third_party/jni.h;
///
/// However, functions prefixed JNI_ are not usable because they are in a different shared library.
///
/// Regenerate bindings with `flutter pub run ffigen.dart --config ffigen.yaml`.
///
class JniBindings {
/// Holds the symbol lookup function.
final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
_lookup;
/// The symbols are looked up in [dynamicLibrary].
JniBindings(ffi.DynamicLibrary dynamicLibrary)
: _lookup = dynamicLibrary.lookup;
/// The symbols are looked up with [lookup].
JniBindings.fromLookup(
ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
lookup)
: _lookup = lookup;
ffi.Pointer<JniAccessorsStruct> GetAccessors() {
return _GetAccessors();
}
late final _GetAccessorsPtr =
_lookup<ffi.NativeFunction<ffi.Pointer<JniAccessorsStruct> Function()>>(
'GetAccessors');
late final _GetAccessors =
_GetAccessorsPtr.asFunction<ffi.Pointer<JniAccessorsStruct> Function()>();
ffi.Pointer<JavaVM> GetJavaVM() {
return _GetJavaVM();
}
late final _GetJavaVMPtr =
_lookup<ffi.NativeFunction<ffi.Pointer<JavaVM> Function()>>('GetJavaVM');
late final _GetJavaVM =
_GetJavaVMPtr.asFunction<ffi.Pointer<JavaVM> Function()>();
ffi.Pointer<JniEnv> GetJniEnv() {
return _GetJniEnv();
}
late final _GetJniEnvPtr =
_lookup<ffi.NativeFunction<ffi.Pointer<JniEnv> Function()>>('GetJniEnv');
late final _GetJniEnv =
_GetJniEnvPtr.asFunction<ffi.Pointer<JniEnv> Function()>();
/// Spawn a JVM with given arguments.
///
/// Returns JNI_OK on success, and one of the documented JNI error codes on
/// failure. It returns DART_JNI_SINGLETON_EXISTS if an attempt to spawn multiple
/// JVMs is made, even if the underlying API potentially supports multiple VMs.
int SpawnJvm(
ffi.Pointer<JavaVMInitArgs> args,
) {
return _SpawnJvm(
args,
);
}
late final _SpawnJvmPtr = _lookup<
ffi.NativeFunction<ffi.Int Function(ffi.Pointer<JavaVMInitArgs>)>>(
'SpawnJvm');
late final _SpawnJvm =
_SpawnJvmPtr.asFunction<int Function(ffi.Pointer<JavaVMInitArgs>)>();
/// Load class through platform-specific mechanism.
///
/// Currently uses application classloader on android,
/// and JNIEnv->FindClass on other platforms.
JClassPtr FindClass(
ffi.Pointer<ffi.Char> name,
) {
return _FindClass(
name,
);
}
late final _FindClassPtr =
_lookup<ffi.NativeFunction<JClassPtr Function(ffi.Pointer<ffi.Char>)>>(
'FindClass');
late final _FindClass =
_FindClassPtr.asFunction<JClassPtr Function(ffi.Pointer<ffi.Char>)>();
/// Returns Application classLoader (on Android),
/// which can be used to load application and platform classes.
///
/// On other platforms, NULL is returned.
JObjectPtr GetClassLoader() {
return _GetClassLoader();
}
late final _GetClassLoaderPtr =
_lookup<ffi.NativeFunction<JObjectPtr Function()>>('GetClassLoader');
late final _GetClassLoader =
_GetClassLoaderPtr.asFunction<JObjectPtr Function()>();
/// Returns application context on Android.
///
/// On other platforms, NULL is returned.
JObjectPtr GetApplicationContext() {
return _GetApplicationContext();
}
late final _GetApplicationContextPtr =
_lookup<ffi.NativeFunction<JObjectPtr Function()>>(
'GetApplicationContext');
late final _GetApplicationContext =
_GetApplicationContextPtr.asFunction<JObjectPtr Function()>();
/// Returns current activity of the app on Android.
JObjectPtr GetCurrentActivity() {
return _GetCurrentActivity();
}
late final _GetCurrentActivityPtr =
_lookup<ffi.NativeFunction<JObjectPtr Function()>>('GetCurrentActivity');
late final _GetCurrentActivity =
_GetCurrentActivityPtr.asFunction<JObjectPtr Function()>();
int InitDartApiDL(
ffi.Pointer<ffi.Void> data,
) {
return _InitDartApiDL(
data,
);
}
late final _InitDartApiDLPtr =
_lookup<ffi.NativeFunction<ffi.IntPtr Function(ffi.Pointer<ffi.Void>)>>(
'InitDartApiDL');
late final _InitDartApiDL =
_InitDartApiDLPtr.asFunction<int Function(ffi.Pointer<ffi.Void>)>();
JniResult PortContinuation__ctor(
int j,
) {
return _PortContinuation__ctor(
j,
);
}
late final _PortContinuation__ctorPtr =
_lookup<ffi.NativeFunction<JniResult Function(ffi.Int64)>>(
'PortContinuation__ctor');
late final _PortContinuation__ctor =
_PortContinuation__ctorPtr.asFunction<JniResult Function(int)>();
ffi.Pointer<GlobalJniEnvStruct> GetGlobalEnv() {
return _GetGlobalEnv();
}
late final _GetGlobalEnvPtr =
_lookup<ffi.NativeFunction<ffi.Pointer<GlobalJniEnvStruct> Function()>>(
'GetGlobalEnv');
late final _GetGlobalEnv =
_GetGlobalEnvPtr.asFunction<ffi.Pointer<GlobalJniEnvStruct> Function()>();
}
/// Types used by JNI API to distinguish between primitive types.
abstract class JniCallType {
static const int booleanType = 0;
static const int byteType = 1;
static const int shortType = 2;
static const int charType = 3;
static const int intType = 4;
static const int longType = 5;
static const int floatType = 6;
static const int doubleType = 7;
static const int objectType = 8;
static const int voidType = 9;
}
/// Result type for use by JNI.
///
/// If [exception] is null, it means the result is valid.
/// It's assumed that the caller knows the expected type in [result].
class JniResult extends ffi.Struct {
external JValue value;
external JThrowablePtr exception;
}
class JValue extends ffi.Union {
@JBooleanMarker()
external int z;
@JByteMarker()
external int b;
@JCharMarker()
external int c;
@JShortMarker()
external int s;
@JIntMarker()
external int i;
@JLongMarker()
external int j;
@JFloatMarker()
external double f;
@JDoubleMarker()
external double d;
external JObjectPtr l;
}
/// Primitive types that match up with Java equivalents.
typedef JBooleanMarker = ffi.Uint8;
typedef JByteMarker = ffi.Int8;
typedef JCharMarker = ffi.Uint16;
typedef JShortMarker = ffi.Int16;
typedef JIntMarker = ffi.Int32;
typedef JLongMarker = ffi.Int64;
typedef JFloatMarker = ffi.Float;
typedef JDoubleMarker = ffi.Double;
/// Reference types, in C.
typedef JObjectPtr = ffi.Pointer<ffi.Void>;
typedef JThrowablePtr = JObjectPtr;
/// Similar to [JniResult] but for class lookups.
class JniClassLookupResult extends ffi.Struct {
external JClassPtr value;
external JThrowablePtr exception;
}
typedef JClassPtr = JObjectPtr;
/// Similar to [JniResult] but for method/field ID lookups.
class JniPointerResult extends ffi.Struct {
external ffi.Pointer<ffi.Void> value;
external JThrowablePtr exception;
}
/// JniExceptionDetails holds 2 jstring objects, one is the result of
/// calling `toString` on exception object, other is stack trace;
class JniExceptionDetails extends ffi.Struct {
external JStringPtr message;
external JStringPtr stacktrace;
}
typedef JStringPtr = JObjectPtr;
/// This struct contains functions which wrap method call / field access conveniently along with
/// exception checking.
///
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
class JniAccessorsStruct extends ffi.Struct {
external ffi.Pointer<
ffi.NativeFunction<
JniClassLookupResult Function(
ffi.Pointer<ffi.Char> internalName)>> getClass;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JClassPtr cls,
ffi.Pointer<ffi.Char> fieldName,
ffi.Pointer<ffi.Char> signature)>> getFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JClassPtr cls,
ffi.Pointer<ffi.Char> fieldName,
ffi.Pointer<ffi.Char> signature)>> getStaticFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JClassPtr cls,
ffi.Pointer<ffi.Char> methodName,
ffi.Pointer<ffi.Char> signature)>> getMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JClassPtr cls,
ffi.Pointer<ffi.Char> methodName,
ffi.Pointer<ffi.Char> signature)>> getStaticMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr cls, JMethodIDPtr ctor, ffi.Pointer<JValue> args)>>
newObject;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JSizeMarker length, ffi.Int type)>>
newPrimitiveArray;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JSizeMarker length, JClassPtr elementClass,
JObjectPtr initialElement)>> newObjectArray;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JArrayPtr array, ffi.Int index, ffi.Int type)>>
getArrayElement;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Int callType, ffi.Pointer<JValue> args)>> callMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr cls, JMethodIDPtr methodID,
ffi.Int callType, ffi.Pointer<JValue> args)>> callStaticMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JFieldIDPtr fieldID, ffi.Int callType)>> getField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr cls, JFieldIDPtr fieldID, ffi.Int callType)>>
getStaticField;
external ffi.Pointer<
ffi.NativeFunction<
JniExceptionDetails Function(JThrowablePtr exception)>>
getExceptionDetails;
}
typedef JMethodIDPtr = ffi.Pointer<jmethodID_>;
class jmethodID_ extends ffi.Opaque {}
/// "cardinal indices and sizes"
typedef JSizeMarker = JIntMarker;
typedef JArrayPtr = JObjectPtr;
typedef JFieldIDPtr = ffi.Pointer<jfieldID_>;
class jfieldID_ extends ffi.Opaque {}
typedef JavaVM = ffi.Pointer<JNIInvokeInterface>;
/// JNI invocation interface.
class JNIInvokeInterface extends ffi.Struct {
external ffi.Pointer<ffi.Void> reserved0;
external ffi.Pointer<ffi.Void> reserved1;
external ffi.Pointer<ffi.Void> reserved2;
external ffi.Pointer<
ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM1> vm)>>
DestroyJavaVM;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JavaVM1> vm,
ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
ffi.Pointer<ffi.Void> thr_args)>> AttachCurrentThread;
external ffi.Pointer<
ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM1> vm)>>
DetachCurrentThread;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JavaVM1> vm,
ffi.Pointer<ffi.Pointer<ffi.Void>> p_env,
JIntMarker version)>> GetEnv;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JavaVM1> vm,
ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
ffi.Pointer<ffi.Void> thr_args)>> AttachCurrentThreadAsDaemon;
}
typedef JavaVM1 = ffi.Pointer<JNIInvokeInterface>;
typedef JniEnv = ffi.Pointer<JNINativeInterface>;
/// Table of interface function pointers.
class JNINativeInterface extends ffi.Struct {
external ffi.Pointer<ffi.Void> reserved0;
external ffi.Pointer<ffi.Void> reserved1;
external ffi.Pointer<ffi.Void> reserved2;
external ffi.Pointer<ffi.Void> reserved3;
external ffi.Pointer<
ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JniEnv1> env)>>
GetVersion;
external ffi.Pointer<
ffi.NativeFunction<
JClassPtr Function(
ffi.Pointer<JniEnv1> env,
ffi.Pointer<ffi.Char> name,
JObjectPtr loader,
ffi.Pointer<JByteMarker> buf,
JSizeMarker bufLen)>> DefineClass;
external ffi.Pointer<
ffi.NativeFunction<
JClassPtr Function(
ffi.Pointer<JniEnv1> env, ffi.Pointer<ffi.Char> name)>> FindClass;
external ffi.Pointer<
ffi.NativeFunction<
JMethodIDPtr Function(
ffi.Pointer<JniEnv1> env, JObjectPtr method)>>
FromReflectedMethod;
external ffi.Pointer<
ffi.NativeFunction<
JFieldIDPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr field)>>
FromReflectedField;
/// spec doesn't show jboolean parameter
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr cls,
JMethodIDPtr methodId,
JBooleanMarker isStatic)>> ToReflectedMethod;
external ffi.Pointer<
ffi.NativeFunction<
JClassPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz)>>
GetSuperclass;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz1,
JClassPtr clazz2)>> IsAssignableFrom;
/// spec doesn't show jboolean parameter
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr cls,
JFieldIDPtr fieldID, JBooleanMarker isStatic)>> ToReflectedField;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JThrowablePtr obj)>>
Throw;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
ffi.Pointer<ffi.Char> message)>> ThrowNew;
external ffi.Pointer<
ffi.NativeFunction<JThrowablePtr Function(ffi.Pointer<JniEnv1> env)>>
ExceptionOccurred;
external ffi.Pointer<
ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1> env)>>
ExceptionDescribe;
external ffi.Pointer<
ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1> env)>>
ExceptionClear;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env, ffi.Pointer<ffi.Char> msg)>> FatalError;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JniEnv1> env, JIntMarker capacity)>> PushLocalFrame;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr result)>>
PopLocalFrame;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
NewGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env, JObjectPtr globalRef)>> DeleteGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr localRef)>>
DeleteLocalRef;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env, JObjectPtr ref1, JObjectPtr ref2)>>
IsSameObject;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
NewLocalRef;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JniEnv1> env, JIntMarker capacity)>>
EnsureLocalCapacity;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz)>>
AllocObject;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> NewObject;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> NewObjectV;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args)>> NewObjectA;
external ffi.Pointer<
ffi.NativeFunction<
JClassPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
GetObjectClass;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env, JObjectPtr obj, JClassPtr clazz)>>
IsInstanceOf;
external ffi.Pointer<
ffi.NativeFunction<
JMethodIDPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodId,
ffi.Pointer<JValue> args)>> CallBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID, ffi.Pointer<JValue> args)>> CallIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JMethodIDPtr methodID)>> CallVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JObjectPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1>,
JObjectPtr,
JClassPtr,
JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallNonvirtualObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1>,
JObjectPtr,
JClassPtr,
JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallNonvirtualBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(
ffi.Pointer<JniEnv1>,
JObjectPtr,
JClassPtr,
JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallNonvirtualDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID)>> CallNonvirtualVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JObjectPtr, JClassPtr,
JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JFieldIDPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetByteField;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetCharField;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetShortField;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetIntField;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetLongField;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID)>> GetDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JObjectPtr val)>> SetObjectField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JBooleanMarker val)>> SetBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JByteMarker val)>> SetByteField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JCharMarker val)>> SetCharField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JShortMarker val)>> SetShortField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JIntMarker val)>> SetIntField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JLongMarker val)>> SetLongField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JFloatMarker val)>> SetFloatField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
JFieldIDPtr fieldID, JDoubleMarker val)>> SetDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JMethodIDPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetStaticMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JMethodIDPtr methodID)>> CallStaticVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JClassPtr, JMethodIDPtr,
ffi.Pointer<ffi.Void>)>> CallStaticVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JFieldIDPtr Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetStaticFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JByteMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticByteField;
external ffi.Pointer<
ffi.NativeFunction<
JCharMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticCharField;
external ffi.Pointer<
ffi.NativeFunction<
JShortMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticShortField;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticIntField;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticLongField;
external ffi.Pointer<
ffi.NativeFunction<
JFloatMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID)>> GetStaticDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JObjectPtr val)>> SetStaticObjectField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JBooleanMarker val)>> SetStaticBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JByteMarker val)>> SetStaticByteField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JCharMarker val)>> SetStaticCharField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JShortMarker val)>> SetStaticShortField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JIntMarker val)>> SetStaticIntField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JLongMarker val)>> SetStaticLongField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JFloatMarker val)>> SetStaticFloatField;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
JFieldIDPtr fieldID, JDoubleMarker val)>> SetStaticDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JStringPtr Function(
ffi.Pointer<JniEnv1> env,
ffi.Pointer<JCharMarker> unicodeChars,
JSizeMarker len)>> NewString;
external ffi.Pointer<
ffi.NativeFunction<
JSizeMarker Function(
ffi.Pointer<JniEnv1> env, JStringPtr string)>> GetStringLength;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JCharMarker> Function(
ffi.Pointer<JniEnv1> env,
JStringPtr string,
ffi.Pointer<JBooleanMarker> isCopy)>> GetStringChars;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JStringPtr string,
ffi.Pointer<JCharMarker> isCopy)>> ReleaseStringChars;
external ffi.Pointer<
ffi.NativeFunction<
JStringPtr Function(
ffi.Pointer<JniEnv1> env, ffi.Pointer<ffi.Char> bytes)>>
NewStringUTF;
external ffi.Pointer<
ffi.NativeFunction<
JSizeMarker Function(
ffi.Pointer<JniEnv1> env, JStringPtr string)>> GetStringUTFLength;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<ffi.Char> Function(
ffi.Pointer<JniEnv1> env,
JStringPtr string,
ffi.Pointer<JBooleanMarker> isCopy)>> GetStringUTFChars;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JStringPtr string,
ffi.Pointer<ffi.Char> utf)>> ReleaseStringUTFChars;
external ffi.Pointer<
ffi.NativeFunction<
JSizeMarker Function(ffi.Pointer<JniEnv1> env, JArrayPtr array)>>
GetArrayLength;
external ffi.Pointer<
ffi.NativeFunction<
JObjectArrayPtr Function(
ffi.Pointer<JniEnv1> env,
JSizeMarker length,
JClassPtr elementClass,
JObjectPtr initialElement)>> NewObjectArray;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectArrayPtr array,
JSizeMarker index)>> GetObjectArrayElement;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JObjectArrayPtr array,
JSizeMarker index, JObjectPtr val)>> SetObjectArrayElement;
external ffi.Pointer<
ffi.NativeFunction<
JBooleanArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewBooleanArray;
external ffi.Pointer<
ffi.NativeFunction<
JByteArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewByteArray;
external ffi.Pointer<
ffi.NativeFunction<
JCharArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewCharArray;
external ffi.Pointer<
ffi.NativeFunction<
JShortArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewShortArray;
external ffi.Pointer<
ffi.NativeFunction<
JIntArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewIntArray;
external ffi.Pointer<
ffi.NativeFunction<
JLongArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewLongArray;
external ffi.Pointer<
ffi.NativeFunction<
JFloatArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewFloatArray;
external ffi.Pointer<
ffi.NativeFunction<
JDoubleArrayPtr Function(
ffi.Pointer<JniEnv1> env, JSizeMarker length)>> NewDoubleArray;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JBooleanMarker> Function(
ffi.Pointer<JniEnv1> env,
JBooleanArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetBooleanArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JByteMarker> Function(
ffi.Pointer<JniEnv1> env,
JByteArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetByteArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JCharMarker> Function(
ffi.Pointer<JniEnv1> env,
JCharArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetCharArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JShortMarker> Function(
ffi.Pointer<JniEnv1> env,
JShortArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetShortArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JIntMarker> Function(
ffi.Pointer<JniEnv1> env,
JIntArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetIntArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JLongMarker> Function(
ffi.Pointer<JniEnv1> env,
JLongArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetLongArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JFloatMarker> Function(
ffi.Pointer<JniEnv1> env,
JFloatArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetFloatArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JDoubleMarker> Function(
ffi.Pointer<JniEnv1> env,
JDoubleArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetDoubleArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JBooleanArrayPtr array,
ffi.Pointer<JBooleanMarker> elems,
JIntMarker mode)>> ReleaseBooleanArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JByteArrayPtr array,
ffi.Pointer<JByteMarker> elems,
JIntMarker mode)>> ReleaseByteArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JCharArrayPtr array,
ffi.Pointer<JCharMarker> elems,
JIntMarker mode)>> ReleaseCharArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JShortArrayPtr array,
ffi.Pointer<JShortMarker> elems,
JIntMarker mode)>> ReleaseShortArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JIntArrayPtr array,
ffi.Pointer<JIntMarker> elems,
JIntMarker mode)>> ReleaseIntArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JLongArrayPtr array,
ffi.Pointer<JLongMarker> elems,
JIntMarker mode)>> ReleaseLongArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JFloatArrayPtr array,
ffi.Pointer<JFloatMarker> elems,
JIntMarker mode)>> ReleaseFloatArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JDoubleArrayPtr array,
ffi.Pointer<JDoubleMarker> elems,
JIntMarker mode)>> ReleaseDoubleArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JBooleanArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JBooleanMarker> buf)>> GetBooleanArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JByteArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JByteMarker> buf)>> GetByteArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JCharArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JCharMarker> buf)>> GetCharArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JShortArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JShortMarker> buf)>> GetShortArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JIntArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JIntMarker> buf)>> GetIntArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JLongArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JLongMarker> buf)>> GetLongArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JFloatArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JFloatMarker> buf)>> GetFloatArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JDoubleArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JDoubleMarker> buf)>> GetDoubleArrayRegion;
/// spec shows these without const; some jni.h do, some don't
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JBooleanArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JBooleanMarker> buf)>> SetBooleanArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JByteArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JByteMarker> buf)>> SetByteArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JCharArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JCharMarker> buf)>> SetCharArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JShortArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JShortMarker> buf)>> SetShortArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JIntArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JIntMarker> buf)>> SetIntArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JLongArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JLongMarker> buf)>> SetLongArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JFloatArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JFloatMarker> buf)>> SetFloatArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JDoubleArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JDoubleMarker> buf)>> SetDoubleArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(
ffi.Pointer<JniEnv1> env,
JClassPtr clazz,
ffi.Pointer<JNINativeMethod> methods,
JIntMarker nMethods)>> RegisterNatives;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz)>>
UnregisterNatives;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
MonitorEnter;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
MonitorExit;
external ffi.Pointer<
ffi.NativeFunction<
JIntMarker Function(ffi.Pointer<JniEnv1> env,
ffi.Pointer<ffi.Pointer<JavaVM1>> vm)>> GetJavaVM;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JStringPtr str,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JCharMarker> buf)>> GetStringRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JStringPtr str,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<ffi.Char> buf)>> GetStringUTFRegion;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<ffi.Void> Function(
ffi.Pointer<JniEnv1> env,
JArrayPtr array,
ffi.Pointer<JBooleanMarker> isCopy)>> GetPrimitiveArrayCritical;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(
ffi.Pointer<JniEnv1> env,
JArrayPtr array,
ffi.Pointer<ffi.Void> carray,
JIntMarker mode)>> ReleasePrimitiveArrayCritical;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<JCharMarker> Function(
ffi.Pointer<JniEnv1> env,
JStringPtr str,
ffi.Pointer<JBooleanMarker> isCopy)>> GetStringCritical;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JStringPtr str,
ffi.Pointer<JCharMarker> carray)>> ReleaseStringCritical;
external ffi.Pointer<
ffi.NativeFunction<
JWeakPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
NewWeakGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1> env, JWeakPtr obj)>>
DeleteWeakGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<JBooleanMarker Function(ffi.Pointer<JniEnv1> env)>>
ExceptionCheck;
external ffi.Pointer<
ffi.NativeFunction<
JObjectPtr Function(
ffi.Pointer<JniEnv1> env,
ffi.Pointer<ffi.Void> address,
JLongMarker capacity)>> NewDirectByteBuffer;
external ffi.Pointer<
ffi.NativeFunction<
ffi.Pointer<ffi.Void> Function(
ffi.Pointer<JniEnv1> env, JObjectPtr buf)>>
GetDirectBufferAddress;
external ffi.Pointer<
ffi.NativeFunction<
JLongMarker Function(ffi.Pointer<JniEnv1> env, JObjectPtr buf)>>
GetDirectBufferCapacity;
/// added in JNI 1.6
external ffi.Pointer<
ffi.NativeFunction<
ffi.Int32 Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>>
GetObjectRefType;
}
typedef JniEnv1 = ffi.Pointer<JNINativeInterface>;
typedef JObjectArrayPtr = JArrayPtr;
typedef JBooleanArrayPtr = JArrayPtr;
typedef JByteArrayPtr = JArrayPtr;
typedef JCharArrayPtr = JArrayPtr;
typedef JShortArrayPtr = JArrayPtr;
typedef JIntArrayPtr = JArrayPtr;
typedef JLongArrayPtr = JArrayPtr;
typedef JFloatArrayPtr = JArrayPtr;
typedef JDoubleArrayPtr = JArrayPtr;
class JNINativeMethod extends ffi.Struct {
external ffi.Pointer<ffi.Char> name;
external ffi.Pointer<ffi.Char> signature;
external ffi.Pointer<ffi.Void> fnPtr;
}
typedef JWeakPtr = JObjectPtr;
abstract class JObjectRefType {
static const int JNIInvalidRefType = 0;
static const int JNILocalRefType = 1;
static const int JNIGlobalRefType = 2;
static const int JNIWeakGlobalRefType = 3;
}
class JavaVMInitArgs extends ffi.Struct {
/// use JNI_VERSION_1_2 or later
@JIntMarker()
external int version;
@JIntMarker()
external int nOptions;
external ffi.Pointer<JavaVMOption> options;
@JBooleanMarker()
external int ignoreUnrecognized;
}
/// JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no
/// longer supported.)
class JavaVMOption extends ffi.Struct {
external ffi.Pointer<ffi.Char> optionString;
external ffi.Pointer<ffi.Void> extraInfo;
}
class GlobalJniEnvStruct extends ffi.Struct {
external ffi.Pointer<ffi.Void> reserved0;
external ffi.Pointer<ffi.Void> reserved1;
external ffi.Pointer<ffi.Void> reserved2;
external ffi.Pointer<ffi.Void> reserved3;
external ffi.Pointer<ffi.NativeFunction<JniResult Function()>> GetVersion;
external ffi.Pointer<
ffi.NativeFunction<
JniClassLookupResult Function(
ffi.Pointer<ffi.Char> name,
JObjectPtr loader,
ffi.Pointer<JByteMarker> buf,
JSizeMarker bufLen)>> DefineClass;
external ffi.Pointer<
ffi.NativeFunction<
JniClassLookupResult Function(ffi.Pointer<ffi.Char> name)>> FindClass;
external ffi.Pointer<
ffi.NativeFunction<JniPointerResult Function(JObjectPtr method)>>
FromReflectedMethod;
external ffi.Pointer<
ffi.NativeFunction<JniPointerResult Function(JObjectPtr field)>>
FromReflectedField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr cls, JMethodIDPtr methodId,
JBooleanMarker isStatic)>> ToReflectedMethod;
external ffi.Pointer<
ffi.NativeFunction<JniClassLookupResult Function(JClassPtr clazz)>>
GetSuperclass;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz1, JClassPtr clazz2)>>
IsAssignableFrom;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr cls, JFieldIDPtr fieldID, JBooleanMarker isStatic)>>
ToReflectedField;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JThrowablePtr obj)>> Throw;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr clazz, ffi.Pointer<ffi.Char> message)>> ThrowNew;
external ffi.Pointer<ffi.NativeFunction<JniResult Function()>>
ExceptionOccurred;
external ffi.Pointer<ffi.NativeFunction<JThrowablePtr Function()>>
ExceptionDescribe;
external ffi.Pointer<ffi.NativeFunction<JThrowablePtr Function()>>
ExceptionClear;
external ffi.Pointer<
ffi.NativeFunction<JThrowablePtr Function(ffi.Pointer<ffi.Char> msg)>>
FatalError;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JIntMarker capacity)>>
PushLocalFrame;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr result)>>
PopLocalFrame;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
NewGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<JThrowablePtr Function(JObjectPtr globalRef)>>
DeleteGlobalRef;
external ffi.Pointer<
ffi.NativeFunction<JThrowablePtr Function(JObjectPtr localRef)>>
DeleteLocalRef;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr ref1, JObjectPtr ref2)>> IsSameObject;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
NewLocalRef;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JIntMarker capacity)>>
EnsureLocalCapacity;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JClassPtr clazz)>>
AllocObject;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
NewObject;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>> NewObjectV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> NewObjectA;
external ffi.Pointer<
ffi.NativeFunction<JniClassLookupResult Function(JObjectPtr obj)>>
GetObjectClass;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JClassPtr clazz)>> IsInstanceOf;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodId,
ffi.Pointer<JValue> args)>> CallBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JObjectPtr obj, JMethodIDPtr methodID)>>
CallVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JObjectPtr obj, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
CallNonvirtualVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr, JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallNonvirtualVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj,
JClassPtr clazz,
JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallNonvirtualVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetByteField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetCharField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetShortField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>> GetIntField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetLongField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>>
GetDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JObjectPtr val)>>
SetObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JBooleanMarker val)>>
SetBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JByteMarker val)>>
SetByteField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JCharMarker val)>>
SetCharField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JShortMarker val)>>
SetShortField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JIntMarker val)>>
SetIntField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JLongMarker val)>>
SetLongField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JFloatMarker val)>>
SetFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectPtr obj, JFieldIDPtr fieldID, JDoubleMarker val)>>
SetDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetStaticMethodID;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticObjectMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticObjectMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticObjectMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticBooleanMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticBooleanMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticBooleanMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticByteMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticByteMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticByteMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticCharMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticCharMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticCharMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticShortMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticShortMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticShortMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticIntMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticIntMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticIntMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticLongMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticLongMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticLongMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticFloatMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticFloatMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticFloatMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticDoubleMethod;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticDoubleMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticDoubleMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JClassPtr clazz, JMethodIDPtr methodID)>>
CallStaticVoidMethod;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
CallStaticVoidMethodV;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JClassPtr clazz, JMethodIDPtr methodID,
ffi.Pointer<JValue> args)>> CallStaticVoidMethodA;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig)>> GetStaticFieldID;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticByteField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticCharField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticShortField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticIntField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticLongField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>>
GetStaticDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JObjectPtr val)>>
SetStaticObjectField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JBooleanMarker val)>>
SetStaticBooleanField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JByteMarker val)>>
SetStaticByteField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JCharMarker val)>>
SetStaticCharField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JShortMarker val)>>
SetStaticShortField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JIntMarker val)>>
SetStaticIntField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JLongMarker val)>>
SetStaticLongField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JFloatMarker val)>>
SetStaticFloatField;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JClassPtr clazz, JFieldIDPtr fieldID, JDoubleMarker val)>>
SetStaticDoubleField;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
ffi.Pointer<JCharMarker> unicodeChars, JSizeMarker len)>>
NewString;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JStringPtr string)>>
GetStringLength;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>>
GetStringChars;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JStringPtr string, ffi.Pointer<JCharMarker> isCopy)>>
ReleaseStringChars;
external ffi.Pointer<
ffi.NativeFunction<JniResult Function(ffi.Pointer<ffi.Char> bytes)>>
NewStringUTF;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JStringPtr string)>>
GetStringUTFLength;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>>
GetStringUTFChars;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JStringPtr string, ffi.Pointer<ffi.Char> utf)>>
ReleaseStringUTFChars;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JArrayPtr array)>>
GetArrayLength;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JSizeMarker length, JClassPtr elementClass,
JObjectPtr initialElement)>> NewObjectArray;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(JObjectArrayPtr array, JSizeMarker index)>>
GetObjectArrayElement;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JObjectArrayPtr array, JSizeMarker index, JObjectPtr val)>>
SetObjectArrayElement;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewBooleanArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewByteArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewCharArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewShortArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewIntArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewLongArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewFloatArray;
external ffi
.Pointer<ffi.NativeFunction<JniResult Function(JSizeMarker length)>>
NewDoubleArray;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JBooleanArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetBooleanArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JByteArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetByteArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JCharArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetCharArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JShortArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetShortArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JIntArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetIntArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JLongArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetLongArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JFloatArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetFloatArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JDoubleArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetDoubleArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JBooleanArrayPtr array,
ffi.Pointer<JBooleanMarker> elems,
JIntMarker mode)>> ReleaseBooleanArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JByteArrayPtr array,
ffi.Pointer<JByteMarker> elems,
JIntMarker mode)>> ReleaseByteArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JCharArrayPtr array,
ffi.Pointer<JCharMarker> elems,
JIntMarker mode)>> ReleaseCharArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JShortArrayPtr array,
ffi.Pointer<JShortMarker> elems,
JIntMarker mode)>> ReleaseShortArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JIntArrayPtr array,
ffi.Pointer<JIntMarker> elems,
JIntMarker mode)>> ReleaseIntArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JLongArrayPtr array,
ffi.Pointer<JLongMarker> elems,
JIntMarker mode)>> ReleaseLongArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JFloatArrayPtr array,
ffi.Pointer<JFloatMarker> elems,
JIntMarker mode)>> ReleaseFloatArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JDoubleArrayPtr array,
ffi.Pointer<JDoubleMarker> elems,
JIntMarker mode)>> ReleaseDoubleArrayElements;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JBooleanArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JBooleanMarker> buf)>> GetBooleanArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JByteArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JByteMarker> buf)>> GetByteArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JCharArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JCharMarker> buf)>> GetCharArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JShortArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JShortMarker> buf)>> GetShortArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JIntArrayPtr array, JSizeMarker start,
JSizeMarker len, ffi.Pointer<JIntMarker> buf)>> GetIntArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JLongArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JLongMarker> buf)>> GetLongArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JFloatArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JFloatMarker> buf)>> GetFloatArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JDoubleArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JDoubleMarker> buf)>> GetDoubleArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JBooleanArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JBooleanMarker> buf)>> SetBooleanArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JByteArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JByteMarker> buf)>> SetByteArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JCharArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JCharMarker> buf)>> SetCharArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JShortArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JShortMarker> buf)>> SetShortArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JIntArrayPtr array, JSizeMarker start,
JSizeMarker len, ffi.Pointer<JIntMarker> buf)>> SetIntArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JLongArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JLongMarker> buf)>> SetLongArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JFloatArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JFloatMarker> buf)>> SetFloatArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JDoubleArrayPtr array,
JSizeMarker start,
JSizeMarker len,
ffi.Pointer<JDoubleMarker> buf)>> SetDoubleArrayRegion;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
JClassPtr clazz,
ffi.Pointer<JNINativeMethod> methods,
JIntMarker nMethods)>> RegisterNatives;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JClassPtr clazz)>>
UnregisterNatives;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
MonitorEnter;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
MonitorExit;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(ffi.Pointer<ffi.Pointer<JavaVM>> vm)>> GetJavaVM;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JStringPtr str, JSizeMarker start,
JSizeMarker len, ffi.Pointer<JCharMarker> buf)>> GetStringRegion;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JStringPtr str, JSizeMarker start,
JSizeMarker len, ffi.Pointer<ffi.Char> buf)>> GetStringUTFRegion;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
GetPrimitiveArrayCritical;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(JArrayPtr array, ffi.Pointer<ffi.Void> carray,
JIntMarker mode)>> ReleasePrimitiveArrayCritical;
external ffi.Pointer<
ffi.NativeFunction<
JniPointerResult Function(
JStringPtr str, ffi.Pointer<JBooleanMarker> isCopy)>>
GetStringCritical;
external ffi.Pointer<
ffi.NativeFunction<
JThrowablePtr Function(
JStringPtr str, ffi.Pointer<JCharMarker> carray)>>
ReleaseStringCritical;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
NewWeakGlobalRef;
external ffi.Pointer<ffi.NativeFunction<JThrowablePtr Function(JWeakPtr obj)>>
DeleteWeakGlobalRef;
external ffi.Pointer<ffi.NativeFunction<JniResult Function()>> ExceptionCheck;
external ffi.Pointer<
ffi.NativeFunction<
JniResult Function(
ffi.Pointer<ffi.Void> address, JLongMarker capacity)>>
NewDirectByteBuffer;
external ffi.Pointer<
ffi.NativeFunction<JniPointerResult Function(JObjectPtr buf)>>
GetDirectBufferAddress;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr buf)>>
GetDirectBufferCapacity;
external ffi.Pointer<ffi.NativeFunction<JniResult Function(JObjectPtr obj)>>
GetObjectRefType;
}
/// This file re-exports some JNI constants as enum, because they are not
/// currently being included when they are in macro form.
abstract class JniBooleanValues {
static const int JNI_FALSE = 0;
static const int JNI_TRUE = 1;
}
abstract class JniVersions {
static const int JNI_VERSION_1_1 = 65537;
static const int JNI_VERSION_1_2 = 65538;
static const int JNI_VERSION_1_4 = 65540;
static const int JNI_VERSION_1_6 = 65542;
}
abstract class JniErrorCode {
/// no error
static const int JNI_OK = 0;
/// generic error
static const int JNI_ERR = -1;
/// thread detached from the VM
static const int JNI_EDETACHED = -2;
/// JNI version error
static const int JNI_EVERSION = -3;
/// Out of memory
static const int JNI_ENOMEM = -4;
/// VM already created
static const int JNI_EEXIST = -5;
/// Invalid argument
static const int JNI_EINVAL = -6;
}
abstract class JniBufferWriteBack {
/// copy content, do not free buffer
static const int JNI_COMMIT = 1;
/// free buffer w/o copying back
static const int JNI_ABORT = 2;
}
const int DART_JNI_SINGLETON_EXISTS = -99;