0N/A/*
1879N/A * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
1472N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
1472N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1472N/A * or visit www.oracle.com if you need additional information or have any
1472N/A * questions.
0N/A */
0N/A
0N/A/*
0N/A * We used part of Netscape's Java Runtime Interface (JRI) as the starting
0N/A * point of our design and implementation.
0N/A */
0N/A
0N/A/******************************************************************************
0N/A * Java Runtime Interface
0N/A * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved.
0N/A *****************************************************************************/
0N/A
0N/A#ifndef _JAVASOFT_JNI_H_
0N/A#define _JAVASOFT_JNI_H_
0N/A
0N/A#include <stdio.h>
0N/A#include <stdarg.h>
0N/A
0N/A/* jni_md.h contains the machine-dependent typedefs for jbyte, jint
0N/A and jlong */
0N/A
0N/A#include "jni_md.h"
0N/A
0N/A#ifdef __cplusplus
0N/Aextern "C" {
0N/A#endif
0N/A
0N/A/*
0N/A * JNI Types
0N/A */
0N/A
0N/A#ifndef JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H
0N/A
0N/Atypedef unsigned char jboolean;
0N/Atypedef unsigned short jchar;
0N/Atypedef short jshort;
0N/Atypedef float jfloat;
0N/Atypedef double jdouble;
0N/A
0N/Atypedef jint jsize;
0N/A
0N/A#ifdef __cplusplus
0N/A
0N/Aclass _jobject {};
0N/Aclass _jclass : public _jobject {};
0N/Aclass _jthrowable : public _jobject {};
0N/Aclass _jstring : public _jobject {};
0N/Aclass _jarray : public _jobject {};
0N/Aclass _jbooleanArray : public _jarray {};
0N/Aclass _jbyteArray : public _jarray {};
0N/Aclass _jcharArray : public _jarray {};
0N/Aclass _jshortArray : public _jarray {};
0N/Aclass _jintArray : public _jarray {};
0N/Aclass _jlongArray : public _jarray {};
0N/Aclass _jfloatArray : public _jarray {};
0N/Aclass _jdoubleArray : public _jarray {};
0N/Aclass _jobjectArray : public _jarray {};
0N/A
0N/Atypedef _jobject *jobject;
0N/Atypedef _jclass *jclass;
0N/Atypedef _jthrowable *jthrowable;
0N/Atypedef _jstring *jstring;
0N/Atypedef _jarray *jarray;
0N/Atypedef _jbooleanArray *jbooleanArray;
0N/Atypedef _jbyteArray *jbyteArray;
0N/Atypedef _jcharArray *jcharArray;
0N/Atypedef _jshortArray *jshortArray;
0N/Atypedef _jintArray *jintArray;
0N/Atypedef _jlongArray *jlongArray;
0N/Atypedef _jfloatArray *jfloatArray;
0N/Atypedef _jdoubleArray *jdoubleArray;
0N/Atypedef _jobjectArray *jobjectArray;
0N/A
0N/A#else
0N/A
0N/Astruct _jobject;
0N/A
0N/Atypedef struct _jobject *jobject;
0N/Atypedef jobject jclass;
0N/Atypedef jobject jthrowable;
0N/Atypedef jobject jstring;
0N/Atypedef jobject jarray;
0N/Atypedef jarray jbooleanArray;
0N/Atypedef jarray jbyteArray;
0N/Atypedef jarray jcharArray;
0N/Atypedef jarray jshortArray;
0N/Atypedef jarray jintArray;
0N/Atypedef jarray jlongArray;
0N/Atypedef jarray jfloatArray;
0N/Atypedef jarray jdoubleArray;
0N/Atypedef jarray jobjectArray;
0N/A
0N/A#endif
0N/A
0N/Atypedef jobject jweak;
0N/A
0N/Atypedef union jvalue {
0N/A jboolean z;
0N/A jbyte b;
0N/A jchar c;
0N/A jshort s;
0N/A jint i;
0N/A jlong j;
0N/A jfloat f;
0N/A jdouble d;
0N/A jobject l;
0N/A} jvalue;
0N/A
0N/Astruct _jfieldID;
0N/Atypedef struct _jfieldID *jfieldID;
0N/A
0N/Astruct _jmethodID;
0N/Atypedef struct _jmethodID *jmethodID;
0N/A
0N/A/* Return values from jobjectRefType */
0N/Atypedef enum _jobjectType {
0N/A JNIInvalidRefType = 0,
0N/A JNILocalRefType = 1,
0N/A JNIGlobalRefType = 2,
0N/A JNIWeakGlobalRefType = 3
0N/A} jobjectRefType;
0N/A
0N/A
0N/A#endif /* JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H */
0N/A
0N/A/*
0N/A * jboolean constants
0N/A */
0N/A
0N/A#define JNI_FALSE 0
0N/A#define JNI_TRUE 1
0N/A
0N/A/*
0N/A * possible return values for JNI functions.
0N/A */
0N/A
0N/A#define JNI_OK 0 /* success */
0N/A#define JNI_ERR (-1) /* unknown error */
0N/A#define JNI_EDETACHED (-2) /* thread detached from the VM */
0N/A#define JNI_EVERSION (-3) /* JNI version error */
0N/A#define JNI_ENOMEM (-4) /* not enough memory */
0N/A#define JNI_EEXIST (-5) /* VM already created */
0N/A#define JNI_EINVAL (-6) /* invalid arguments */
0N/A
0N/A/*
0N/A * used in ReleaseScalarArrayElements
0N/A */
0N/A
0N/A#define JNI_COMMIT 1
0N/A#define JNI_ABORT 2
0N/A
0N/A/*
0N/A * used in RegisterNatives to describe native method name, signature,
0N/A * and function pointer.
0N/A */
0N/A
0N/Atypedef struct {
0N/A char *name;
0N/A char *signature;
0N/A void *fnPtr;
0N/A} JNINativeMethod;
0N/A
0N/A/*
0N/A * JNI Native Method Interface.
0N/A */
0N/A
0N/Astruct JNINativeInterface_;
0N/A
0N/Astruct JNIEnv_;
0N/A
0N/A#ifdef __cplusplus
0N/Atypedef JNIEnv_ JNIEnv;
0N/A#else
0N/Atypedef const struct JNINativeInterface_ *JNIEnv;
0N/A#endif
0N/A
0N/A/*
0N/A * JNI Invocation Interface.
0N/A */
0N/A
0N/Astruct JNIInvokeInterface_;
0N/A
0N/Astruct JavaVM_;
0N/A
0N/A#ifdef __cplusplus
0N/Atypedef JavaVM_ JavaVM;
0N/A#else
0N/Atypedef const struct JNIInvokeInterface_ *JavaVM;
0N/A#endif
0N/A
0N/Astruct JNINativeInterface_ {
0N/A void *reserved0;
0N/A void *reserved1;
0N/A void *reserved2;
0N/A
0N/A void *reserved3;
0N/A jint (JNICALL *GetVersion)(JNIEnv *env);
0N/A
0N/A jclass (JNICALL *DefineClass)
0N/A (JNIEnv *env, const char *name, jobject loader, const jbyte *buf,
0N/A jsize len);
0N/A jclass (JNICALL *FindClass)
0N/A (JNIEnv *env, const char *name);
0N/A
0N/A jmethodID (JNICALL *FromReflectedMethod)
0N/A (JNIEnv *env, jobject method);
0N/A jfieldID (JNICALL *FromReflectedField)
0N/A (JNIEnv *env, jobject field);
0N/A
0N/A jobject (JNICALL *ToReflectedMethod)
0N/A (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic);
0N/A
0N/A jclass (JNICALL *GetSuperclass)
0N/A (JNIEnv *env, jclass sub);
0N/A jboolean (JNICALL *IsAssignableFrom)
0N/A (JNIEnv *env, jclass sub, jclass sup);
0N/A
0N/A jobject (JNICALL *ToReflectedField)
0N/A (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic);
0N/A
0N/A jint (JNICALL *Throw)
0N/A (JNIEnv *env, jthrowable obj);
0N/A jint (JNICALL *ThrowNew)
0N/A (JNIEnv *env, jclass clazz, const char *msg);
0N/A jthrowable (JNICALL *ExceptionOccurred)
0N/A (JNIEnv *env);
0N/A void (JNICALL *ExceptionDescribe)
0N/A (JNIEnv *env);
0N/A void (JNICALL *ExceptionClear)
0N/A (JNIEnv *env);
0N/A void (JNICALL *FatalError)
0N/A (JNIEnv *env, const char *msg);
0N/A
0N/A jint (JNICALL *PushLocalFrame)
0N/A (JNIEnv *env, jint capacity);
0N/A jobject (JNICALL *PopLocalFrame)
0N/A (JNIEnv *env, jobject result);
0N/A
0N/A jobject (JNICALL *NewGlobalRef)
0N/A (JNIEnv *env, jobject lobj);
0N/A void (JNICALL *DeleteGlobalRef)
0N/A (JNIEnv *env, jobject gref);
0N/A void (JNICALL *DeleteLocalRef)
0N/A (JNIEnv *env, jobject obj);
0N/A jboolean (JNICALL *IsSameObject)
0N/A (JNIEnv *env, jobject obj1, jobject obj2);
0N/A jobject (JNICALL *NewLocalRef)
0N/A (JNIEnv *env, jobject ref);
0N/A jint (JNICALL *EnsureLocalCapacity)
0N/A (JNIEnv *env, jint capacity);
0N/A
0N/A jobject (JNICALL *AllocObject)
0N/A (JNIEnv *env, jclass clazz);
0N/A jobject (JNICALL *NewObject)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jobject (JNICALL *NewObjectV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jobject (JNICALL *NewObjectA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jclass (JNICALL *GetObjectClass)
0N/A (JNIEnv *env, jobject obj);
0N/A jboolean (JNICALL *IsInstanceOf)
0N/A (JNIEnv *env, jobject obj, jclass clazz);
0N/A
0N/A jmethodID (JNICALL *GetMethodID)
0N/A (JNIEnv *env, jclass clazz, const char *name, const char *sig);
0N/A
0N/A jobject (JNICALL *CallObjectMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jobject (JNICALL *CallObjectMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jobject (JNICALL *CallObjectMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args);
0N/A
0N/A jboolean (JNICALL *CallBooleanMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jboolean (JNICALL *CallBooleanMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jboolean (JNICALL *CallBooleanMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args);
0N/A
0N/A jbyte (JNICALL *CallByteMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jbyte (JNICALL *CallByteMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jbyte (JNICALL *CallByteMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jchar (JNICALL *CallCharMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jchar (JNICALL *CallCharMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jchar (JNICALL *CallCharMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jshort (JNICALL *CallShortMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jshort (JNICALL *CallShortMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jshort (JNICALL *CallShortMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jint (JNICALL *CallIntMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jint (JNICALL *CallIntMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jint (JNICALL *CallIntMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jlong (JNICALL *CallLongMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jlong (JNICALL *CallLongMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jlong (JNICALL *CallLongMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jfloat (JNICALL *CallFloatMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jfloat (JNICALL *CallFloatMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jfloat (JNICALL *CallFloatMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A jdouble (JNICALL *CallDoubleMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A jdouble (JNICALL *CallDoubleMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A jdouble (JNICALL *CallDoubleMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args);
0N/A
0N/A void (JNICALL *CallVoidMethod)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, ...);
0N/A void (JNICALL *CallVoidMethodV)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);
0N/A void (JNICALL *CallVoidMethodA)
0N/A (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args);
0N/A
0N/A jobject (JNICALL *CallNonvirtualObjectMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jobject (JNICALL *CallNonvirtualObjectMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jobject (JNICALL *CallNonvirtualObjectMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue * args);
0N/A
0N/A jboolean (JNICALL *CallNonvirtualBooleanMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jboolean (JNICALL *CallNonvirtualBooleanMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jboolean (JNICALL *CallNonvirtualBooleanMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue * args);
0N/A
0N/A jbyte (JNICALL *CallNonvirtualByteMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jbyte (JNICALL *CallNonvirtualByteMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jbyte (JNICALL *CallNonvirtualByteMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jchar (JNICALL *CallNonvirtualCharMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jchar (JNICALL *CallNonvirtualCharMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jchar (JNICALL *CallNonvirtualCharMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jshort (JNICALL *CallNonvirtualShortMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jshort (JNICALL *CallNonvirtualShortMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jshort (JNICALL *CallNonvirtualShortMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jint (JNICALL *CallNonvirtualIntMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jint (JNICALL *CallNonvirtualIntMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jint (JNICALL *CallNonvirtualIntMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jlong (JNICALL *CallNonvirtualLongMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jlong (JNICALL *CallNonvirtualLongMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jlong (JNICALL *CallNonvirtualLongMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jfloat (JNICALL *CallNonvirtualFloatMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jfloat (JNICALL *CallNonvirtualFloatMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jfloat (JNICALL *CallNonvirtualFloatMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A jdouble (JNICALL *CallNonvirtualDoubleMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A jdouble (JNICALL *CallNonvirtualDoubleMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A jdouble (JNICALL *CallNonvirtualDoubleMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue *args);
0N/A
0N/A void (JNICALL *CallNonvirtualVoidMethod)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);
0N/A void (JNICALL *CallNonvirtualVoidMethodV)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A va_list args);
0N/A void (JNICALL *CallNonvirtualVoidMethodA)
0N/A (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,
0N/A const jvalue * args);
0N/A
0N/A jfieldID (JNICALL *GetFieldID)
0N/A (JNIEnv *env, jclass clazz, const char *name, const char *sig);
0N/A
0N/A jobject (JNICALL *GetObjectField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jboolean (JNICALL *GetBooleanField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jbyte (JNICALL *GetByteField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jchar (JNICALL *GetCharField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jshort (JNICALL *GetShortField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jint (JNICALL *GetIntField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jlong (JNICALL *GetLongField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jfloat (JNICALL *GetFloatField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A jdouble (JNICALL *GetDoubleField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID);
0N/A
0N/A void (JNICALL *SetObjectField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val);
0N/A void (JNICALL *SetBooleanField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val);
0N/A void (JNICALL *SetByteField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val);
0N/A void (JNICALL *SetCharField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val);
0N/A void (JNICALL *SetShortField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val);
0N/A void (JNICALL *SetIntField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jint val);
0N/A void (JNICALL *SetLongField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val);
0N/A void (JNICALL *SetFloatField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val);
0N/A void (JNICALL *SetDoubleField)
0N/A (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val);
0N/A
0N/A jmethodID (JNICALL *GetStaticMethodID)
0N/A (JNIEnv *env, jclass clazz, const char *name, const char *sig);
0N/A
0N/A jobject (JNICALL *CallStaticObjectMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jobject (JNICALL *CallStaticObjectMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jobject (JNICALL *CallStaticObjectMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jboolean (JNICALL *CallStaticBooleanMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jboolean (JNICALL *CallStaticBooleanMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jboolean (JNICALL *CallStaticBooleanMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jbyte (JNICALL *CallStaticByteMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jbyte (JNICALL *CallStaticByteMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jbyte (JNICALL *CallStaticByteMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jchar (JNICALL *CallStaticCharMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jchar (JNICALL *CallStaticCharMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jchar (JNICALL *CallStaticCharMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jshort (JNICALL *CallStaticShortMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jshort (JNICALL *CallStaticShortMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jshort (JNICALL *CallStaticShortMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jint (JNICALL *CallStaticIntMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jint (JNICALL *CallStaticIntMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jint (JNICALL *CallStaticIntMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jlong (JNICALL *CallStaticLongMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jlong (JNICALL *CallStaticLongMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jlong (JNICALL *CallStaticLongMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jfloat (JNICALL *CallStaticFloatMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jfloat (JNICALL *CallStaticFloatMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jfloat (JNICALL *CallStaticFloatMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A jdouble (JNICALL *CallStaticDoubleMethod)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, ...);
0N/A jdouble (JNICALL *CallStaticDoubleMethodV)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);
0N/A jdouble (JNICALL *CallStaticDoubleMethodA)
0N/A (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args);
0N/A
0N/A void (JNICALL *CallStaticVoidMethod)
0N/A (JNIEnv *env, jclass cls, jmethodID methodID, ...);
0N/A void (JNICALL *CallStaticVoidMethodV)
0N/A (JNIEnv *env, jclass cls, jmethodID methodID, va_list args);
0N/A void (JNICALL *CallStaticVoidMethodA)
0N/A (JNIEnv *env, jclass cls, jmethodID methodID, const jvalue * args);
0N/A
0N/A jfieldID (JNICALL *GetStaticFieldID)
0N/A (JNIEnv *env, jclass clazz, const char *name, const char *sig);
0N/A jobject (JNICALL *GetStaticObjectField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jboolean (JNICALL *GetStaticBooleanField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jbyte (JNICALL *GetStaticByteField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jchar (JNICALL *GetStaticCharField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jshort (JNICALL *GetStaticShortField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jint (JNICALL *GetStaticIntField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jlong (JNICALL *GetStaticLongField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jfloat (JNICALL *GetStaticFloatField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A jdouble (JNICALL *GetStaticDoubleField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID);
0N/A
0N/A void (JNICALL *SetStaticObjectField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value);
0N/A void (JNICALL *SetStaticBooleanField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value);
0N/A void (JNICALL *SetStaticByteField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value);
0N/A void (JNICALL *SetStaticCharField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value);
0N/A void (JNICALL *SetStaticShortField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value);
0N/A void (JNICALL *SetStaticIntField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value);
0N/A void (JNICALL *SetStaticLongField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value);
0N/A void (JNICALL *SetStaticFloatField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value);
0N/A void (JNICALL *SetStaticDoubleField)
0N/A (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value);
0N/A
0N/A jstring (JNICALL *NewString)
0N/A (JNIEnv *env, const jchar *unicode, jsize len);
0N/A jsize (JNICALL *GetStringLength)
0N/A (JNIEnv *env, jstring str);
0N/A const jchar *(JNICALL *GetStringChars)
0N/A (JNIEnv *env, jstring str, jboolean *isCopy);
0N/A void (JNICALL *ReleaseStringChars)
0N/A (JNIEnv *env, jstring str, const jchar *chars);
0N/A
0N/A jstring (JNICALL *NewStringUTF)
0N/A (JNIEnv *env, const char *utf);
0N/A jsize (JNICALL *GetStringUTFLength)
0N/A (JNIEnv *env, jstring str);
0N/A const char* (JNICALL *GetStringUTFChars)
0N/A (JNIEnv *env, jstring str, jboolean *isCopy);
0N/A void (JNICALL *ReleaseStringUTFChars)
0N/A (JNIEnv *env, jstring str, const char* chars);
0N/A
0N/A
0N/A jsize (JNICALL *GetArrayLength)
0N/A (JNIEnv *env, jarray array);
0N/A
0N/A jobjectArray (JNICALL *NewObjectArray)
0N/A (JNIEnv *env, jsize len, jclass clazz, jobject init);
0N/A jobject (JNICALL *GetObjectArrayElement)
0N/A (JNIEnv *env, jobjectArray array, jsize index);
0N/A void (JNICALL *SetObjectArrayElement)
0N/A (JNIEnv *env, jobjectArray array, jsize index, jobject val);
0N/A
0N/A jbooleanArray (JNICALL *NewBooleanArray)
0N/A (JNIEnv *env, jsize len);
0N/A jbyteArray (JNICALL *NewByteArray)
0N/A (JNIEnv *env, jsize len);
0N/A jcharArray (JNICALL *NewCharArray)
0N/A (JNIEnv *env, jsize len);
0N/A jshortArray (JNICALL *NewShortArray)
0N/A (JNIEnv *env, jsize len);
0N/A jintArray (JNICALL *NewIntArray)
0N/A (JNIEnv *env, jsize len);
0N/A jlongArray (JNICALL *NewLongArray)
0N/A (JNIEnv *env, jsize len);
0N/A jfloatArray (JNICALL *NewFloatArray)
0N/A (JNIEnv *env, jsize len);
0N/A jdoubleArray (JNICALL *NewDoubleArray)
0N/A (JNIEnv *env, jsize len);
0N/A
0N/A jboolean * (JNICALL *GetBooleanArrayElements)
0N/A (JNIEnv *env, jbooleanArray array, jboolean *isCopy);
0N/A jbyte * (JNICALL *GetByteArrayElements)
0N/A (JNIEnv *env, jbyteArray array, jboolean *isCopy);
0N/A jchar * (JNICALL *GetCharArrayElements)
0N/A (JNIEnv *env, jcharArray array, jboolean *isCopy);
0N/A jshort * (JNICALL *GetShortArrayElements)
0N/A (JNIEnv *env, jshortArray array, jboolean *isCopy);
0N/A jint * (JNICALL *GetIntArrayElements)
0N/A (JNIEnv *env, jintArray array, jboolean *isCopy);
0N/A jlong * (JNICALL *GetLongArrayElements)
0N/A (JNIEnv *env, jlongArray array, jboolean *isCopy);
0N/A jfloat * (JNICALL *GetFloatArrayElements)
0N/A (JNIEnv *env, jfloatArray array, jboolean *isCopy);
0N/A jdouble * (JNICALL *GetDoubleArrayElements)
0N/A (JNIEnv *env, jdoubleArray array, jboolean *isCopy);
0N/A
0N/A void (JNICALL *ReleaseBooleanArrayElements)
0N/A (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode);
0N/A void (JNICALL *ReleaseByteArrayElements)
0N/A (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode);
0N/A void (JNICALL *ReleaseCharArrayElements)
0N/A (JNIEnv *env, jcharArray array, jchar *elems, jint mode);
0N/A void (JNICALL *ReleaseShortArrayElements)
0N/A (JNIEnv *env, jshortArray array, jshort *elems, jint mode);
0N/A void (JNICALL *ReleaseIntArrayElements)
0N/A (JNIEnv *env, jintArray array, jint *elems, jint mode);
0N/A void (JNICALL *ReleaseLongArrayElements)
0N/A (JNIEnv *env, jlongArray array, jlong *elems, jint mode);
0N/A void (JNICALL *ReleaseFloatArrayElements)
0N/A (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode);
0N/A void (JNICALL *ReleaseDoubleArrayElements)
0N/A (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode);
0N/A
0N/A void (JNICALL *GetBooleanArrayRegion)
0N/A (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf);
0N/A void (JNICALL *GetByteArrayRegion)
0N/A (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf);
0N/A void (JNICALL *GetCharArrayRegion)
0N/A (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf);
0N/A void (JNICALL *GetShortArrayRegion)
0N/A (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf);
0N/A void (JNICALL *GetIntArrayRegion)
0N/A (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf);
0N/A void (JNICALL *GetLongArrayRegion)
0N/A (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf);
0N/A void (JNICALL *GetFloatArrayRegion)
0N/A (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf);
0N/A void (JNICALL *GetDoubleArrayRegion)
0N/A (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf);
0N/A
0N/A void (JNICALL *SetBooleanArrayRegion)
0N/A (JNIEnv *env, jbooleanArray array, jsize start, jsize l, const jboolean *buf);
0N/A void (JNICALL *SetByteArrayRegion)
0N/A (JNIEnv *env, jbyteArray array, jsize start, jsize len, const jbyte *buf);
0N/A void (JNICALL *SetCharArrayRegion)
0N/A (JNIEnv *env, jcharArray array, jsize start, jsize len, const jchar *buf);
0N/A void (JNICALL *SetShortArrayRegion)
0N/A (JNIEnv *env, jshortArray array, jsize start, jsize len, const jshort *buf);
0N/A void (JNICALL *SetIntArrayRegion)
0N/A (JNIEnv *env, jintArray array, jsize start, jsize len, const jint *buf);
0N/A void (JNICALL *SetLongArrayRegion)
0N/A (JNIEnv *env, jlongArray array, jsize start, jsize len, const jlong *buf);
0N/A void (JNICALL *SetFloatArrayRegion)
0N/A (JNIEnv *env, jfloatArray array, jsize start, jsize len, const jfloat *buf);
0N/A void (JNICALL *SetDoubleArrayRegion)
0N/A (JNIEnv *env, jdoubleArray array, jsize start, jsize len, const jdouble *buf);
0N/A
0N/A jint (JNICALL *RegisterNatives)
0N/A (JNIEnv *env, jclass clazz, const JNINativeMethod *methods,
0N/A jint nMethods);
0N/A jint (JNICALL *UnregisterNatives)
0N/A (JNIEnv *env, jclass clazz);
0N/A
0N/A jint (JNICALL *MonitorEnter)
0N/A (JNIEnv *env, jobject obj);
0N/A jint (JNICALL *MonitorExit)
0N/A (JNIEnv *env, jobject obj);
0N/A
0N/A jint (JNICALL *GetJavaVM)
0N/A (JNIEnv *env, JavaVM **vm);
0N/A
0N/A void (JNICALL *GetStringRegion)
0N/A (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf);
0N/A void (JNICALL *GetStringUTFRegion)
0N/A (JNIEnv *env, jstring str, jsize start, jsize len, char *buf);
0N/A
0N/A void * (JNICALL *GetPrimitiveArrayCritical)
0N/A (JNIEnv *env, jarray array, jboolean *isCopy);
0N/A void (JNICALL *ReleasePrimitiveArrayCritical)
0N/A (JNIEnv *env, jarray array, void *carray, jint mode);
0N/A
0N/A const jchar * (JNICALL *GetStringCritical)
0N/A (JNIEnv *env, jstring string, jboolean *isCopy);
0N/A void (JNICALL *ReleaseStringCritical)
0N/A (JNIEnv *env, jstring string, const jchar *cstring);
0N/A
0N/A jweak (JNICALL *NewWeakGlobalRef)
0N/A (JNIEnv *env, jobject obj);
0N/A void (JNICALL *DeleteWeakGlobalRef)
0N/A (JNIEnv *env, jweak ref);
0N/A
0N/A jboolean (JNICALL *ExceptionCheck)
0N/A (JNIEnv *env);
0N/A
0N/A jobject (JNICALL *NewDirectByteBuffer)
0N/A (JNIEnv* env, void* address, jlong capacity);
0N/A void* (JNICALL *GetDirectBufferAddress)
0N/A (JNIEnv* env, jobject buf);
0N/A jlong (JNICALL *GetDirectBufferCapacity)
0N/A (JNIEnv* env, jobject buf);
0N/A
0N/A /* New JNI 1.6 Features */
0N/A
0N/A jobjectRefType (JNICALL *GetObjectRefType)
0N/A (JNIEnv* env, jobject obj);
0N/A};
0N/A
0N/A/*
0N/A * We use inlined functions for C++ so that programmers can write:
0N/A *
0N/A * env->FindClass("java/lang/String")
0N/A *
0N/A * in C++ rather than:
0N/A *
0N/A * (*env)->FindClass(env, "java/lang/String")
0N/A *
0N/A * in C.
0N/A */
0N/A
0N/Astruct JNIEnv_ {
0N/A const struct JNINativeInterface_ *functions;
0N/A#ifdef __cplusplus
0N/A
0N/A jint GetVersion() {
0N/A return functions->GetVersion(this);
0N/A }
0N/A jclass DefineClass(const char *name, jobject loader, const jbyte *buf,
0N/A jsize len) {
0N/A return functions->DefineClass(this, name, loader, buf, len);
0N/A }
0N/A jclass FindClass(const char *name) {
0N/A return functions->FindClass(this, name);
0N/A }
0N/A jmethodID FromReflectedMethod(jobject method) {
0N/A return functions->FromReflectedMethod(this,method);
0N/A }
0N/A jfieldID FromReflectedField(jobject field) {
0N/A return functions->FromReflectedField(this,field);
0N/A }
0N/A
0N/A jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) {
0N/A return functions->ToReflectedMethod(this, cls, methodID, isStatic);
0N/A }
0N/A
0N/A jclass GetSuperclass(jclass sub) {
0N/A return functions->GetSuperclass(this, sub);
0N/A }
0N/A jboolean IsAssignableFrom(jclass sub, jclass sup) {
0N/A return functions->IsAssignableFrom(this, sub, sup);
0N/A }
0N/A
0N/A jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) {
0N/A return functions->ToReflectedField(this,cls,fieldID,isStatic);
0N/A }
0N/A
0N/A jint Throw(jthrowable obj) {
0N/A return functions->Throw(this, obj);
0N/A }
0N/A jint ThrowNew(jclass clazz, const char *msg) {
0N/A return functions->ThrowNew(this, clazz, msg);
0N/A }
0N/A jthrowable ExceptionOccurred() {
0N/A return functions->ExceptionOccurred(this);
0N/A }
0N/A void ExceptionDescribe() {
0N/A functions->ExceptionDescribe(this);
0N/A }
0N/A void ExceptionClear() {
0N/A functions->ExceptionClear(this);
0N/A }
0N/A void FatalError(const char *msg) {
0N/A functions->FatalError(this, msg);
0N/A }
0N/A
0N/A jint PushLocalFrame(jint capacity) {
0N/A return functions->PushLocalFrame(this,capacity);
0N/A }
0N/A jobject PopLocalFrame(jobject result) {
0N/A return functions->PopLocalFrame(this,result);
0N/A }
0N/A
0N/A jobject NewGlobalRef(jobject lobj) {
0N/A return functions->NewGlobalRef(this,lobj);
0N/A }
0N/A void DeleteGlobalRef(jobject gref) {
0N/A functions->DeleteGlobalRef(this,gref);
0N/A }
0N/A void DeleteLocalRef(jobject obj) {
0N/A functions->DeleteLocalRef(this, obj);
0N/A }
0N/A
0N/A jboolean IsSameObject(jobject obj1, jobject obj2) {
0N/A return functions->IsSameObject(this,obj1,obj2);
0N/A }
0N/A
0N/A jobject NewLocalRef(jobject ref) {
0N/A return functions->NewLocalRef(this,ref);
0N/A }
0N/A jint EnsureLocalCapacity(jint capacity) {
0N/A return functions->EnsureLocalCapacity(this,capacity);
0N/A }
0N/A
0N/A jobject AllocObject(jclass clazz) {
0N/A return functions->AllocObject(this,clazz);
0N/A }
0N/A jobject NewObject(jclass clazz, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jobject result;
0N/A va_start(args, methodID);
0N/A result = functions->NewObjectV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jobject NewObjectV(jclass clazz, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->NewObjectV(this,clazz,methodID,args);
0N/A }
0N/A jobject NewObjectA(jclass clazz, jmethodID methodID,
0N/A const jvalue *args) {
0N/A return functions->NewObjectA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jclass GetObjectClass(jobject obj) {
0N/A return functions->GetObjectClass(this,obj);
0N/A }
0N/A jboolean IsInstanceOf(jobject obj, jclass clazz) {
0N/A return functions->IsInstanceOf(this,obj,clazz);
0N/A }
0N/A
0N/A jmethodID GetMethodID(jclass clazz, const char *name,
0N/A const char *sig) {
0N/A return functions->GetMethodID(this,clazz,name,sig);
0N/A }
0N/A
0N/A jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jobject result;
0N/A va_start(args,methodID);
0N/A result = functions->CallObjectMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jobject CallObjectMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallObjectMethodV(this,obj,methodID,args);
0N/A }
0N/A jobject CallObjectMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallObjectMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jboolean CallBooleanMethod(jobject obj,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jboolean result;
0N/A va_start(args,methodID);
0N/A result = functions->CallBooleanMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jboolean CallBooleanMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallBooleanMethodV(this,obj,methodID,args);
0N/A }
0N/A jboolean CallBooleanMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallBooleanMethodA(this,obj,methodID, args);
0N/A }
0N/A
0N/A jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jbyte result;
0N/A va_start(args,methodID);
0N/A result = functions->CallByteMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jbyte CallByteMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallByteMethodV(this,obj,methodID,args);
0N/A }
0N/A jbyte CallByteMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallByteMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jchar CallCharMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jchar result;
0N/A va_start(args,methodID);
0N/A result = functions->CallCharMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jchar CallCharMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallCharMethodV(this,obj,methodID,args);
0N/A }
0N/A jchar CallCharMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallCharMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jshort CallShortMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jshort result;
0N/A va_start(args,methodID);
0N/A result = functions->CallShortMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jshort CallShortMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallShortMethodV(this,obj,methodID,args);
0N/A }
0N/A jshort CallShortMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallShortMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jint CallIntMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jint result;
0N/A va_start(args,methodID);
0N/A result = functions->CallIntMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jint CallIntMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallIntMethodV(this,obj,methodID,args);
0N/A }
0N/A jint CallIntMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallIntMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jlong CallLongMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jlong result;
0N/A va_start(args,methodID);
0N/A result = functions->CallLongMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jlong CallLongMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallLongMethodV(this,obj,methodID,args);
0N/A }
0N/A jlong CallLongMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallLongMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jfloat result;
0N/A va_start(args,methodID);
0N/A result = functions->CallFloatMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jfloat CallFloatMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallFloatMethodV(this,obj,methodID,args);
0N/A }
0N/A jfloat CallFloatMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallFloatMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A jdouble result;
0N/A va_start(args,methodID);
0N/A result = functions->CallDoubleMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jdouble CallDoubleMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallDoubleMethodV(this,obj,methodID,args);
0N/A }
0N/A jdouble CallDoubleMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallDoubleMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A void CallVoidMethod(jobject obj, jmethodID methodID, ...) {
0N/A va_list args;
0N/A va_start(args,methodID);
0N/A functions->CallVoidMethodV(this,obj,methodID,args);
0N/A va_end(args);
0N/A }
0N/A void CallVoidMethodV(jobject obj, jmethodID methodID,
0N/A va_list args) {
0N/A functions->CallVoidMethodV(this,obj,methodID,args);
0N/A }
0N/A void CallVoidMethodA(jobject obj, jmethodID methodID,
0N/A const jvalue * args) {
0N/A functions->CallVoidMethodA(this,obj,methodID,args);
0N/A }
0N/A
0N/A jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jobject result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualObjectMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jobject CallNonvirtualObjectMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualObjectMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jobject CallNonvirtualObjectMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualObjectMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jboolean result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualBooleanMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jboolean CallNonvirtualBooleanMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualBooleanMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jboolean CallNonvirtualBooleanMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualBooleanMethodA(this,obj,clazz,
0N/A methodID, args);
0N/A }
0N/A
0N/A jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jbyte result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualByteMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jbyte CallNonvirtualByteMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualByteMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jbyte CallNonvirtualByteMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualByteMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jchar CallNonvirtualCharMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jchar result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualCharMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jchar CallNonvirtualCharMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualCharMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jchar CallNonvirtualCharMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualCharMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jshort CallNonvirtualShortMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jshort result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualShortMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jshort CallNonvirtualShortMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualShortMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jshort CallNonvirtualShortMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualShortMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jint CallNonvirtualIntMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jint result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualIntMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jint CallNonvirtualIntMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualIntMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jint CallNonvirtualIntMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualIntMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jlong CallNonvirtualLongMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jlong result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualLongMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jlong CallNonvirtualLongMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallNonvirtualLongMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jlong CallNonvirtualLongMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID, const jvalue * args) {
0N/A return functions->CallNonvirtualLongMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jfloat result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualFloatMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jfloat CallNonvirtualFloatMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallNonvirtualFloatMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jfloat CallNonvirtualFloatMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallNonvirtualFloatMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jdouble result;
0N/A va_start(args,methodID);
0N/A result = functions->CallNonvirtualDoubleMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jdouble CallNonvirtualDoubleMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallNonvirtualDoubleMethodV(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A jdouble CallNonvirtualDoubleMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A const jvalue * args) {
0N/A return functions->CallNonvirtualDoubleMethodA(this,obj,clazz,
0N/A methodID,args);
0N/A }
0N/A
0N/A void CallNonvirtualVoidMethod(jobject obj, jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A va_start(args,methodID);
0N/A functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args);
0N/A va_end(args);
0N/A }
0N/A void CallNonvirtualVoidMethodV(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A va_list args) {
0N/A functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args);
0N/A }
0N/A void CallNonvirtualVoidMethodA(jobject obj, jclass clazz,
0N/A jmethodID methodID,
0N/A const jvalue * args) {
0N/A functions->CallNonvirtualVoidMethodA(this,obj,clazz,methodID,args);
0N/A }
0N/A
0N/A jfieldID GetFieldID(jclass clazz, const char *name,
0N/A const char *sig) {
0N/A return functions->GetFieldID(this,clazz,name,sig);
0N/A }
0N/A
0N/A jobject GetObjectField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetObjectField(this,obj,fieldID);
0N/A }
0N/A jboolean GetBooleanField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetBooleanField(this,obj,fieldID);
0N/A }
0N/A jbyte GetByteField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetByteField(this,obj,fieldID);
0N/A }
0N/A jchar GetCharField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetCharField(this,obj,fieldID);
0N/A }
0N/A jshort GetShortField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetShortField(this,obj,fieldID);
0N/A }
0N/A jint GetIntField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetIntField(this,obj,fieldID);
0N/A }
0N/A jlong GetLongField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetLongField(this,obj,fieldID);
0N/A }
0N/A jfloat GetFloatField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetFloatField(this,obj,fieldID);
0N/A }
0N/A jdouble GetDoubleField(jobject obj, jfieldID fieldID) {
0N/A return functions->GetDoubleField(this,obj,fieldID);
0N/A }
0N/A
0N/A void SetObjectField(jobject obj, jfieldID fieldID, jobject val) {
0N/A functions->SetObjectField(this,obj,fieldID,val);
0N/A }
0N/A void SetBooleanField(jobject obj, jfieldID fieldID,
0N/A jboolean val) {
0N/A functions->SetBooleanField(this,obj,fieldID,val);
0N/A }
0N/A void SetByteField(jobject obj, jfieldID fieldID,
0N/A jbyte val) {
0N/A functions->SetByteField(this,obj,fieldID,val);
0N/A }
0N/A void SetCharField(jobject obj, jfieldID fieldID,
0N/A jchar val) {
0N/A functions->SetCharField(this,obj,fieldID,val);
0N/A }
0N/A void SetShortField(jobject obj, jfieldID fieldID,
0N/A jshort val) {
0N/A functions->SetShortField(this,obj,fieldID,val);
0N/A }
0N/A void SetIntField(jobject obj, jfieldID fieldID,
0N/A jint val) {
0N/A functions->SetIntField(this,obj,fieldID,val);
0N/A }
0N/A void SetLongField(jobject obj, jfieldID fieldID,
0N/A jlong val) {
0N/A functions->SetLongField(this,obj,fieldID,val);
0N/A }
0N/A void SetFloatField(jobject obj, jfieldID fieldID,
0N/A jfloat val) {
0N/A functions->SetFloatField(this,obj,fieldID,val);
0N/A }
0N/A void SetDoubleField(jobject obj, jfieldID fieldID,
0N/A jdouble val) {
0N/A functions->SetDoubleField(this,obj,fieldID,val);
0N/A }
0N/A
0N/A jmethodID GetStaticMethodID(jclass clazz, const char *name,
0N/A const char *sig) {
0N/A return functions->GetStaticMethodID(this,clazz,name,sig);
0N/A }
0N/A
0N/A jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID,
0N/A ...) {
0N/A va_list args;
0N/A jobject result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticObjectMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jobject CallStaticObjectMethodV(jclass clazz, jmethodID methodID,
0N/A va_list args) {
0N/A return functions->CallStaticObjectMethodV(this,clazz,methodID,args);
0N/A }
0N/A jobject CallStaticObjectMethodA(jclass clazz, jmethodID methodID,
0N/A const jvalue *args) {
0N/A return functions->CallStaticObjectMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jboolean CallStaticBooleanMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jboolean result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticBooleanMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jboolean CallStaticBooleanMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticBooleanMethodV(this,clazz,methodID,args);
0N/A }
0N/A jboolean CallStaticBooleanMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticBooleanMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jbyte CallStaticByteMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jbyte result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticByteMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jbyte CallStaticByteMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticByteMethodV(this,clazz,methodID,args);
0N/A }
0N/A jbyte CallStaticByteMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticByteMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jchar CallStaticCharMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jchar result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticCharMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jchar CallStaticCharMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticCharMethodV(this,clazz,methodID,args);
0N/A }
0N/A jchar CallStaticCharMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticCharMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jshort CallStaticShortMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jshort result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticShortMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jshort CallStaticShortMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticShortMethodV(this,clazz,methodID,args);
0N/A }
0N/A jshort CallStaticShortMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticShortMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jint CallStaticIntMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jint result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticIntMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jint CallStaticIntMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticIntMethodV(this,clazz,methodID,args);
0N/A }
0N/A jint CallStaticIntMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticIntMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jlong CallStaticLongMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jlong result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticLongMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jlong CallStaticLongMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticLongMethodV(this,clazz,methodID,args);
0N/A }
0N/A jlong CallStaticLongMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticLongMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jfloat CallStaticFloatMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jfloat result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticFloatMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jfloat CallStaticFloatMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticFloatMethodV(this,clazz,methodID,args);
0N/A }
0N/A jfloat CallStaticFloatMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticFloatMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A jdouble CallStaticDoubleMethod(jclass clazz,
0N/A jmethodID methodID, ...) {
0N/A va_list args;
0N/A jdouble result;
0N/A va_start(args,methodID);
0N/A result = functions->CallStaticDoubleMethodV(this,clazz,methodID,args);
0N/A va_end(args);
0N/A return result;
0N/A }
0N/A jdouble CallStaticDoubleMethodV(jclass clazz,
0N/A jmethodID methodID, va_list args) {
0N/A return functions->CallStaticDoubleMethodV(this,clazz,methodID,args);
0N/A }
0N/A jdouble CallStaticDoubleMethodA(jclass clazz,
0N/A jmethodID methodID, const jvalue *args) {
0N/A return functions->CallStaticDoubleMethodA(this,clazz,methodID,args);
0N/A }
0N/A
0N/A void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) {
0N/A va_list args;
0N/A va_start(args,methodID);
0N/A functions->CallStaticVoidMethodV(this,cls,methodID,args);
0N/A va_end(args);
0N/A }
0N/A void CallStaticVoidMethodV(jclass cls, jmethodID methodID,
0N/A va_list args) {
0N/A functions->CallStaticVoidMethodV(this,cls,methodID,args);
0N/A }
0N/A void CallStaticVoidMethodA(jclass cls, jmethodID methodID,
0N/A const jvalue * args) {
0N/A functions->CallStaticVoidMethodA(this,cls,methodID,args);
0N/A }
0N/A
0N/A jfieldID GetStaticFieldID(jclass clazz, const char *name,
0N/A const char *sig) {
0N/A return functions->GetStaticFieldID(this,clazz,name,sig);
0N/A }
0N/A jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticObjectField(this,clazz,fieldID);
0N/A }
0N/A jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticBooleanField(this,clazz,fieldID);
0N/A }
0N/A jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticByteField(this,clazz,fieldID);
0N/A }
0N/A jchar GetStaticCharField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticCharField(this,clazz,fieldID);
0N/A }
0N/A jshort GetStaticShortField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticShortField(this,clazz,fieldID);
0N/A }
0N/A jint GetStaticIntField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticIntField(this,clazz,fieldID);
0N/A }
0N/A jlong GetStaticLongField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticLongField(this,clazz,fieldID);
0N/A }
0N/A jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticFloatField(this,clazz,fieldID);
0N/A }
0N/A jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) {
0N/A return functions->GetStaticDoubleField(this,clazz,fieldID);
0N/A }
0N/A
0N/A void SetStaticObjectField(jclass clazz, jfieldID fieldID,
0N/A jobject value) {
0N/A functions->SetStaticObjectField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticBooleanField(jclass clazz, jfieldID fieldID,
0N/A jboolean value) {
0N/A functions->SetStaticBooleanField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticByteField(jclass clazz, jfieldID fieldID,
0N/A jbyte value) {
0N/A functions->SetStaticByteField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticCharField(jclass clazz, jfieldID fieldID,
0N/A jchar value) {
0N/A functions->SetStaticCharField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticShortField(jclass clazz, jfieldID fieldID,
0N/A jshort value) {
0N/A functions->SetStaticShortField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticIntField(jclass clazz, jfieldID fieldID,
0N/A jint value) {
0N/A functions->SetStaticIntField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticLongField(jclass clazz, jfieldID fieldID,
0N/A jlong value) {
0N/A functions->SetStaticLongField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticFloatField(jclass clazz, jfieldID fieldID,
0N/A jfloat value) {
0N/A functions->SetStaticFloatField(this,clazz,fieldID,value);
0N/A }
0N/A void SetStaticDoubleField(jclass clazz, jfieldID fieldID,
0N/A jdouble value) {
0N/A functions->SetStaticDoubleField(this,clazz,fieldID,value);
0N/A }
0N/A
0N/A jstring NewString(const jchar *unicode, jsize len) {
0N/A return functions->NewString(this,unicode,len);
0N/A }
0N/A jsize GetStringLength(jstring str) {
0N/A return functions->GetStringLength(this,str);
0N/A }
0N/A const jchar *GetStringChars(jstring str, jboolean *isCopy) {
0N/A return functions->GetStringChars(this,str,isCopy);
0N/A }
0N/A void ReleaseStringChars(jstring str, const jchar *chars) {
0N/A functions->ReleaseStringChars(this,str,chars);
0N/A }
0N/A
0N/A jstring NewStringUTF(const char *utf) {
0N/A return functions->NewStringUTF(this,utf);
0N/A }
0N/A jsize GetStringUTFLength(jstring str) {
0N/A return functions->GetStringUTFLength(this,str);
0N/A }
0N/A const char* GetStringUTFChars(jstring str, jboolean *isCopy) {
0N/A return functions->GetStringUTFChars(this,str,isCopy);
0N/A }
0N/A void ReleaseStringUTFChars(jstring str, const char* chars) {
0N/A functions->ReleaseStringUTFChars(this,str,chars);
0N/A }
0N/A
0N/A jsize GetArrayLength(jarray array) {
0N/A return functions->GetArrayLength(this,array);
0N/A }
0N/A
0N/A jobjectArray NewObjectArray(jsize len, jclass clazz,
0N/A jobject init) {
0N/A return functions->NewObjectArray(this,len,clazz,init);
0N/A }
0N/A jobject GetObjectArrayElement(jobjectArray array, jsize index) {
0N/A return functions->GetObjectArrayElement(this,array,index);
0N/A }
0N/A void SetObjectArrayElement(jobjectArray array, jsize index,
0N/A jobject val) {
0N/A functions->SetObjectArrayElement(this,array,index,val);
0N/A }
0N/A
0N/A jbooleanArray NewBooleanArray(jsize len) {
0N/A return functions->NewBooleanArray(this,len);
0N/A }
0N/A jbyteArray NewByteArray(jsize len) {
0N/A return functions->NewByteArray(this,len);
0N/A }
0N/A jcharArray NewCharArray(jsize len) {
0N/A return functions->NewCharArray(this,len);
0N/A }
0N/A jshortArray NewShortArray(jsize len) {
0N/A return functions->NewShortArray(this,len);
0N/A }
0N/A jintArray NewIntArray(jsize len) {
0N/A return functions->NewIntArray(this,len);
0N/A }
0N/A jlongArray NewLongArray(jsize len) {
0N/A return functions->NewLongArray(this,len);
0N/A }
0N/A jfloatArray NewFloatArray(jsize len) {
0N/A return functions->NewFloatArray(this,len);
0N/A }
0N/A jdoubleArray NewDoubleArray(jsize len) {
0N/A return functions->NewDoubleArray(this,len);
0N/A }
0N/A
0N/A jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) {
0N/A return functions->GetBooleanArrayElements(this,array,isCopy);
0N/A }
0N/A jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) {
0N/A return functions->GetByteArrayElements(this,array,isCopy);
0N/A }
0N/A jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) {
0N/A return functions->GetCharArrayElements(this,array,isCopy);
0N/A }
0N/A jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) {
0N/A return functions->GetShortArrayElements(this,array,isCopy);
0N/A }
0N/A jint * GetIntArrayElements(jintArray array, jboolean *isCopy) {
0N/A return functions->GetIntArrayElements(this,array,isCopy);
0N/A }
0N/A jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) {
0N/A return functions->GetLongArrayElements(this,array,isCopy);
0N/A }
0N/A jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) {
0N/A return functions->GetFloatArrayElements(this,array,isCopy);
0N/A }
0N/A jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) {
0N/A return functions->GetDoubleArrayElements(this,array,isCopy);
0N/A }
0N/A
0N/A void ReleaseBooleanArrayElements(jbooleanArray array,
0N/A jboolean *elems,
0N/A jint mode) {
0N/A functions->ReleaseBooleanArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseByteArrayElements(jbyteArray array,
0N/A jbyte *elems,
0N/A jint mode) {
0N/A functions->ReleaseByteArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseCharArrayElements(jcharArray array,
0N/A jchar *elems,
0N/A jint mode) {
0N/A functions->ReleaseCharArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseShortArrayElements(jshortArray array,
0N/A jshort *elems,
0N/A jint mode) {
0N/A functions->ReleaseShortArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseIntArrayElements(jintArray array,
0N/A jint *elems,
0N/A jint mode) {
0N/A functions->ReleaseIntArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseLongArrayElements(jlongArray array,
0N/A jlong *elems,
0N/A jint mode) {
0N/A functions->ReleaseLongArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseFloatArrayElements(jfloatArray array,
0N/A jfloat *elems,
0N/A jint mode) {
0N/A functions->ReleaseFloatArrayElements(this,array,elems,mode);
0N/A }
0N/A void ReleaseDoubleArrayElements(jdoubleArray array,
0N/A jdouble *elems,
0N/A jint mode) {
0N/A functions->ReleaseDoubleArrayElements(this,array,elems,mode);
0N/A }
0N/A
0N/A void GetBooleanArrayRegion(jbooleanArray array,
0N/A jsize start, jsize len, jboolean *buf) {
0N/A functions->GetBooleanArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetByteArrayRegion(jbyteArray array,
0N/A jsize start, jsize len, jbyte *buf) {
0N/A functions->GetByteArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetCharArrayRegion(jcharArray array,
0N/A jsize start, jsize len, jchar *buf) {
0N/A functions->GetCharArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetShortArrayRegion(jshortArray array,
0N/A jsize start, jsize len, jshort *buf) {
0N/A functions->GetShortArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetIntArrayRegion(jintArray array,
0N/A jsize start, jsize len, jint *buf) {
0N/A functions->GetIntArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetLongArrayRegion(jlongArray array,
0N/A jsize start, jsize len, jlong *buf) {
0N/A functions->GetLongArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetFloatArrayRegion(jfloatArray array,
0N/A jsize start, jsize len, jfloat *buf) {
0N/A functions->GetFloatArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void GetDoubleArrayRegion(jdoubleArray array,
0N/A jsize start, jsize len, jdouble *buf) {
0N/A functions->GetDoubleArrayRegion(this,array,start,len,buf);
0N/A }
0N/A
0N/A void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len,
0N/A const jboolean *buf) {
0N/A functions->SetBooleanArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetByteArrayRegion(jbyteArray array, jsize start, jsize len,
0N/A const jbyte *buf) {
0N/A functions->SetByteArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetCharArrayRegion(jcharArray array, jsize start, jsize len,
0N/A const jchar *buf) {
0N/A functions->SetCharArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetShortArrayRegion(jshortArray array, jsize start, jsize len,
0N/A const jshort *buf) {
0N/A functions->SetShortArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetIntArrayRegion(jintArray array, jsize start, jsize len,
0N/A const jint *buf) {
0N/A functions->SetIntArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetLongArrayRegion(jlongArray array, jsize start, jsize len,
0N/A const jlong *buf) {
0N/A functions->SetLongArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len,
0N/A const jfloat *buf) {
0N/A functions->SetFloatArrayRegion(this,array,start,len,buf);
0N/A }
0N/A void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len,
0N/A const jdouble *buf) {
0N/A functions->SetDoubleArrayRegion(this,array,start,len,buf);
0N/A }
0N/A
0N/A jint RegisterNatives(jclass clazz, const JNINativeMethod *methods,
0N/A jint nMethods) {
0N/A return functions->RegisterNatives(this,clazz,methods,nMethods);
0N/A }
0N/A jint UnregisterNatives(jclass clazz) {
0N/A return functions->UnregisterNatives(this,clazz);
0N/A }
0N/A
0N/A jint MonitorEnter(jobject obj) {
0N/A return functions->MonitorEnter(this,obj);
0N/A }
0N/A jint MonitorExit(jobject obj) {
0N/A return functions->MonitorExit(this,obj);
0N/A }
0N/A
0N/A jint GetJavaVM(JavaVM **vm) {
0N/A return functions->GetJavaVM(this,vm);
0N/A }
0N/A
0N/A void GetStringRegion(jstring str, jsize start, jsize len, jchar *buf) {
0N/A functions->GetStringRegion(this,str,start,len,buf);
0N/A }
0N/A void GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf) {
0N/A functions->GetStringUTFRegion(this,str,start,len,buf);
0N/A }
0N/A
0N/A void * GetPrimitiveArrayCritical(jarray array, jboolean *isCopy) {
0N/A return functions->GetPrimitiveArrayCritical(this,array,isCopy);
0N/A }
0N/A void ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode) {
0N/A functions->ReleasePrimitiveArrayCritical(this,array,carray,mode);
0N/A }
0N/A
0N/A const jchar * GetStringCritical(jstring string, jboolean *isCopy) {
0N/A return functions->GetStringCritical(this,string,isCopy);
0N/A }
0N/A void ReleaseStringCritical(jstring string, const jchar *cstring) {
0N/A functions->ReleaseStringCritical(this,string,cstring);
0N/A }
0N/A
0N/A jweak NewWeakGlobalRef(jobject obj) {
0N/A return functions->NewWeakGlobalRef(this,obj);
0N/A }
0N/A void DeleteWeakGlobalRef(jweak ref) {
0N/A functions->DeleteWeakGlobalRef(this,ref);
0N/A }
0N/A
0N/A jboolean ExceptionCheck() {
0N/A return functions->ExceptionCheck(this);
0N/A }
0N/A
0N/A jobject NewDirectByteBuffer(void* address, jlong capacity) {
0N/A return functions->NewDirectByteBuffer(this, address, capacity);
0N/A }
0N/A void* GetDirectBufferAddress(jobject buf) {
0N/A return functions->GetDirectBufferAddress(this, buf);
0N/A }
0N/A jlong GetDirectBufferCapacity(jobject buf) {
0N/A return functions->GetDirectBufferCapacity(this, buf);
0N/A }
0N/A jobjectRefType GetObjectRefType(jobject obj) {
0N/A return functions->GetObjectRefType(this, obj);
0N/A }
0N/A
0N/A#endif /* __cplusplus */
0N/A};
0N/A
0N/Atypedef struct JavaVMOption {
0N/A char *optionString;
0N/A void *extraInfo;
0N/A} JavaVMOption;
0N/A
0N/Atypedef struct JavaVMInitArgs {
0N/A jint version;
0N/A
0N/A jint nOptions;
0N/A JavaVMOption *options;
0N/A jboolean ignoreUnrecognized;
0N/A} JavaVMInitArgs;
0N/A
0N/Atypedef struct JavaVMAttachArgs {
0N/A jint version;
0N/A
0N/A char *name;
0N/A jobject group;
0N/A} JavaVMAttachArgs;
0N/A
0N/A/* These will be VM-specific. */
0N/A
0N/A#define JDK1_2
0N/A#define JDK1_4
0N/A
0N/A/* End VM-specific. */
0N/A
0N/Astruct JNIInvokeInterface_ {
0N/A void *reserved0;
0N/A void *reserved1;
0N/A void *reserved2;
0N/A
0N/A jint (JNICALL *DestroyJavaVM)(JavaVM *vm);
0N/A
0N/A jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args);
0N/A
0N/A jint (JNICALL *DetachCurrentThread)(JavaVM *vm);
0N/A
0N/A jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version);
0N/A
0N/A jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args);
0N/A};
0N/A
0N/Astruct JavaVM_ {
0N/A const struct JNIInvokeInterface_ *functions;
0N/A#ifdef __cplusplus
0N/A
0N/A jint DestroyJavaVM() {
0N/A return functions->DestroyJavaVM(this);
0N/A }
0N/A jint AttachCurrentThread(void **penv, void *args) {
0N/A return functions->AttachCurrentThread(this, penv, args);
0N/A }
0N/A jint DetachCurrentThread() {
0N/A return functions->DetachCurrentThread(this);
0N/A }
0N/A
0N/A jint GetEnv(void **penv, jint version) {
0N/A return functions->GetEnv(this, penv, version);
0N/A }
0N/A jint AttachCurrentThreadAsDaemon(void **penv, void *args) {
0N/A return functions->AttachCurrentThreadAsDaemon(this, penv, args);
0N/A }
0N/A#endif
0N/A};
0N/A
0N/A#ifdef _JNI_IMPLEMENTATION_
0N/A#define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT
0N/A#else
0N/A#define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT
0N/A#endif
0N/A_JNI_IMPORT_OR_EXPORT_ jint JNICALL
0N/AJNI_GetDefaultJavaVMInitArgs(void *args);
0N/A
0N/A_JNI_IMPORT_OR_EXPORT_ jint JNICALL
0N/AJNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args);
0N/A
0N/A_JNI_IMPORT_OR_EXPORT_ jint JNICALL
0N/AJNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *);
0N/A
0N/A/* Defined by native libraries. */
0N/AJNIEXPORT jint JNICALL
0N/AJNI_OnLoad(JavaVM *vm, void *reserved);
0N/A
0N/AJNIEXPORT void JNICALL
0N/AJNI_OnUnload(JavaVM *vm, void *reserved);
0N/A
0N/A#define JNI_VERSION_1_1 0x00010001
0N/A#define JNI_VERSION_1_2 0x00010002
0N/A#define JNI_VERSION_1_4 0x00010004
0N/A#define JNI_VERSION_1_6 0x00010006
0N/A
0N/A#ifdef __cplusplus
0N/A} /* extern "C" */
0N/A#endif /* __cplusplus */
0N/A
0N/A#endif /* !_JAVASOFT_JNI_H_ */