15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* ***** BEGIN LICENSE BLOCK *****
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Version: NPL 1.1/GPL 2.0/LGPL 2.1
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The contents of this file are subject to the Netscape Public License
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Version 1.1 (the "License"); you may not use this file except in
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * compliance with the License. You may obtain a copy of the License at
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.mozilla.org/NPL/
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Software distributed under the License is distributed on an "AS IS" basis,
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * for the specific language governing rights and limitations under the
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * License.
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Original Code is mozilla.org code.
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Initial Developer of the Original Code is
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Netscape Communications Corporation.
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Portions created by the Initial Developer are Copyright (C) 1998
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the Initial Developer. All Rights Reserved.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Contributor(s):
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Alternatively, the contents of this file may be used under the terms of
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * either the GNU General Public License Version 2 or later (the "GPL"), or
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in which case the provisions of the GPL or the LGPL are applicable instead
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * of those above. If you wish to allow use of your version of this file only
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * under the terms of either the GPL or the LGPL, and not to allow others to
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * use your version of this file under the terms of the NPL, indicate your
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * decision by deleting the provisions above and replace them with the notice
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * and other provisions required by the GPL or the LGPL. If you do not delete
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the provisions above, a recipient may use your version of this file under
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the terms of any one of the NPL, the GPL or the LGPL.
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ***** END LICENSE BLOCK ***** */
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*******************************************************************************
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Java Runtime Interface
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ******************************************************************************/
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef JRI_H
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_H
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "jritypes.h"
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __cplusplus */
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*******************************************************************************
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * JRIEnv
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ******************************************************************************/
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* The type of the JRIEnv interface. */
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct JRIEnvInterface	JRIEnvInterface;
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* The type of a JRIEnv instance. */
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef const JRIEnvInterface*	JRIEnv;
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*******************************************************************************
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * JRIEnv Operations
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ******************************************************************************/
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_DefineClass(env, classLoader, buf, bufLen)	\
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen))
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_FindClass(env, name)	\
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->FindClass)(env, JRI_FindClass_op, name))
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_Throw(env, obj)	\
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->Throw)(env, JRI_Throw_op, obj))
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_ThrowNew(env, clazz, message)	\
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message))
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_ExceptionOccurred(env)	\
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op))
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_ExceptionDescribe(env)	\
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op))
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_ExceptionClear(env)	\
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op))
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewGlobalRef(env, ref)	\
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref))
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_DisposeGlobalRef(env, gref)	\
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref))
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetGlobalRef(env, gref)	\
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref))
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetGlobalRef(env, gref, ref)	\
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref))
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_IsSameObject(env, a, b)	\
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b))
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewObject(env)	((*(env))->NewObject)
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewObjectV(env, clazz, methodID, args)	\
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args))
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewObjectA(env, clazz, method, args)	\
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args))
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetObjectClass(env, obj)	\
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj))
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_IsInstanceOf(env, obj, clazz)	\
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz))
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetMethodID(env, clazz, name, sig)	\
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig))
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethod(env)	((*(env))->CallMethod)
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodV(env, obj, methodID, args)	\
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args))
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodA(env, obj, methodID, args)	\
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args))
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodBoolean(env)	((*(env))->CallMethodBoolean)
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodBooleanV(env, obj, methodID, args)	\
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args))
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodBooleanA(env, obj, methodID, args)	\
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args))
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodByte(env)	((*(env))->CallMethodByte)
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodByteV(env, obj, methodID, args)	\
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args))
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodByteA(env, obj, methodID, args)	\
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args))
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodChar(env)	((*(env))->CallMethodChar)
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodCharV(env, obj, methodID, args)	\
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args))
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodCharA(env, obj, methodID, args)	\
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args))
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodShort(env)	((*(env))->CallMethodShort)
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodShortV(env, obj, methodID, args)	\
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args))
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodShortA(env, obj, methodID, args)	\
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args))
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodInt(env)	((*(env))->CallMethodInt)
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodIntV(env, obj, methodID, args)	\
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args))
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodIntA(env, obj, methodID, args)	\
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args))
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodLong(env)	((*(env))->CallMethodLong)
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodLongV(env, obj, methodID, args)	\
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args))
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodLongA(env, obj, methodID, args)	\
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args))
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodFloat(env)	((*(env))->CallMethodFloat)
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodFloatV(env, obj, methodID, args)	\
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args))
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodFloatA(env, obj, methodID, args)	\
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args))
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodDouble(env)	((*(env))->CallMethodDouble)
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodDoubleV(env, obj, methodID, args)	\
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args))
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallMethodDoubleA(env, obj, methodID, args)	\
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args))
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldID(env, clazz, name, sig)	\
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig))
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetField(env, obj, fieldID)	\
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID))
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldBoolean(env, obj, fieldID)	\
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID))
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldByte(env, obj, fieldID)	\
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID))
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldChar(env, obj, fieldID)	\
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID))
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldShort(env, obj, fieldID)	\
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID))
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldInt(env, obj, fieldID)	\
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID))
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldLong(env, obj, fieldID)	\
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID))
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldFloat(env, obj, fieldID)	\
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID))
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetFieldDouble(env, obj, fieldID)	\
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID))
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetField(env, obj, fieldID, value)	\
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value))
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldBoolean(env, obj, fieldID, value)	\
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value))
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldByte(env, obj, fieldID, value)	\
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value))
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldChar(env, obj, fieldID, value)	\
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value))
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldShort(env, obj, fieldID, value)	\
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value))
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldInt(env, obj, fieldID, value)	\
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value))
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldLong(env, obj, fieldID, value)	\
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value))
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldFloat(env, obj, fieldID, value)	\
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value))
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetFieldDouble(env, obj, fieldID, value)	\
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value))
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_IsSubclassOf(env, a, b)	\
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b))
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticMethodID(env, clazz, name, sig)	\
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig))
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethod(env)	((*(env))->CallStaticMethod)
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodV(env, clazz, methodID, args)	\
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args))
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodA(env, clazz, methodID, args)	\
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args))
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodBoolean(env)	((*(env))->CallStaticMethodBoolean)
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args)	\
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args))
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args)	\
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args))
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodByte(env)	((*(env))->CallStaticMethodByte)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodByteV(env, clazz, methodID, args)	\
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args))
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodByteA(env, clazz, methodID, args)	\
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args))
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodChar(env)	((*(env))->CallStaticMethodChar)
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodCharV(env, clazz, methodID, args)	\
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args))
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodCharA(env, clazz, methodID, args)	\
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args))
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodShort(env)	((*(env))->CallStaticMethodShort)
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodShortV(env, clazz, methodID, args)	\
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args))
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodShortA(env, clazz, methodID, args)	\
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args))
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodInt(env)	((*(env))->CallStaticMethodInt)
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodIntV(env, clazz, methodID, args)	\
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args))
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodIntA(env, clazz, methodID, args)	\
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args))
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodLong(env)	((*(env))->CallStaticMethodLong)
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodLongV(env, clazz, methodID, args)	\
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args))
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodLongA(env, clazz, methodID, args)	\
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args))
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodFloat(env)	((*(env))->CallStaticMethodFloat)
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodFloatV(env, clazz, methodID, args)	\
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args))
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodFloatA(env, clazz, methodID, args)	\
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args))
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodDouble(env)	((*(env))->CallStaticMethodDouble)
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args)	\
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args))
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args)	\
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args))
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldID(env, clazz, name, sig)	\
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig))
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticField(env, clazz, fieldID)	\
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID))
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldBoolean(env, clazz, fieldID)	\
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID))
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldByte(env, clazz, fieldID)	\
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID))
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldChar(env, clazz, fieldID)	\
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID))
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldShort(env, clazz, fieldID)	\
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID))
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldInt(env, clazz, fieldID)	\
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID))
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldLong(env, clazz, fieldID)	\
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID))
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldFloat(env, clazz, fieldID)	\
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID))
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStaticFieldDouble(env, clazz, fieldID)	\
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID))
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticField(env, clazz, fieldID, value)	\
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value))
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value)	\
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value))
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldByte(env, clazz, fieldID, value)	\
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value))
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldChar(env, clazz, fieldID, value)	\
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value))
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldShort(env, clazz, fieldID, value)	\
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value))
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldInt(env, clazz, fieldID, value)	\
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value))
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldLong(env, clazz, fieldID, value)	\
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value))
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldFloat(env, clazz, fieldID, value)	\
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value))
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetStaticFieldDouble(env, clazz, fieldID, value)	\
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value))
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewString(env, unicode, len)	\
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewString)(env, JRI_NewString_op, unicode, len))
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStringLength(env, string)	\
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string))
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStringChars(env, string)	\
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string))
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewStringUTF(env, utf, len)	\
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len))
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStringUTFLength(env, string)	\
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string))
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStringUTFChars(env, string)	\
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string))
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewScalarArray(env, length, elementSig, initialElements)	\
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements))
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetScalarArrayLength(env, array)	\
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array))
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetScalarArrayElements(env, array)	\
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array))
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewObjectArray(env, length, elementClass, initialElement)	\
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement))
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetObjectArrayLength(env, array)	\
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array))
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetObjectArrayElement(env, array, index)	\
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index))
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_SetObjectArrayElement(env, array, index, value)	\
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value))
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray)	\
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray))
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_UnregisterNatives(env, clazz)	\
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz))
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_NewStringPlatform(env, string, len, encoding, encodingLength)	\
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->NewStringPlatform)(env, JRI_NewStringPlatform_op, string, len, encoding, encodingLength))
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define JRI_GetStringPlatformChars(env, string, encoding, encodingLength)	\
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	(((*(env))->GetStringPlatformChars)(env, JRI_GetStringPlatformChars_op, string, encoding, encodingLength))
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*******************************************************************************
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * JRIEnv Interface
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ******************************************************************************/
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct java_lang_ClassLoader;
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct java_lang_Class;
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct java_lang_Throwable;
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct java_lang_Object;
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct java_lang_String;
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct JRIEnvInterface {
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	reserved0;
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	reserved1;
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	reserved2;
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	reserved3;
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_Class*	(*FindClass)(JRIEnv* env, jint op, const char* a);
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a);
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b);
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_Throwable*	(*ExceptionOccurred)(JRIEnv* env, jint op);
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*ExceptionDescribe)(JRIEnv* env, jint op);
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*ExceptionClear)(JRIEnv* env, jint op);
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jglobal	(*NewGlobalRef)(JRIEnv* env, jint op, void* a);
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a);
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*GetGlobalRef)(JRIEnv* env, jint op, jglobal a);
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b);
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*IsSameObject)(JRIEnv* env, jint op, void* a, void* b);
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_Class*	(*GetObjectClass)(JRIEnv* env, jint op, void* a);
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b);
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...);
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...);
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...);
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...);
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...);
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...);
4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...);
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...);
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...);
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*GetField)(JRIEnv* env, jint op, void* a, jint b);
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b);
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b);
4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b);
4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b);
4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b);
4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b);
4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b);
4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b);
4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c);
4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c);
4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c);
4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c);
4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c);
4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c);
4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c);
4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c);
4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c);
4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b);
4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbool	(*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte	(*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jchar	(*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jshort	(*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jlong	(*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jfloat	(*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jdouble	(*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c);
5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c);
5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c);
5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c);
5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c);
5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c);
5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c);
5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c);
5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c);
5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_String*	(*NewString)(JRIEnv* env, jint op, const jchar* a, jint b);
5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a);
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	const jchar*	(*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a);
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_String*	(*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b);
5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a);
5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	const jbyte*	(*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a);
5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c);
5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetScalarArrayLength)(JRIEnv* env, jint op, void* a);
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jbyte*	(*GetScalarArrayElements)(JRIEnv* env, jint op, void* a);
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c);
5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jint	(*GetObjectArrayLength)(JRIEnv* env, jint op, void* a);
5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*	(*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b);
5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c);
5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c);
5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void	(*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a);
5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_Class*	(*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen);
5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	struct java_lang_String*	(*NewStringPlatform)(JRIEnv* env, jint op, const jbyte* a, jint b, const jbyte* c, jint d);
5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	const jbyte*	(*GetStringPlatformChars)(JRIEnv* env, jint op, struct java_lang_String* a, const jbyte* b, jint c);
5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** ****************************************************************************
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** JRIEnv Operation IDs
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** ***************************************************************************
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/
5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum JRIEnvOperations {
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_Reserved0_op,
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_Reserved1_op,
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_Reserved2_op,
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_Reserved3_op,
5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_FindClass_op,
5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_Throw_op,
5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_ThrowNew_op,
5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_ExceptionOccurred_op,
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_ExceptionDescribe_op,
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_ExceptionClear_op,
5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewGlobalRef_op,
5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_DisposeGlobalRef_op,
5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetGlobalRef_op,
5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetGlobalRef_op,
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_IsSameObject_op,
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewObject_op,
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewObject_op_va_list,
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewObject_op_array,
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetObjectClass_op,
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_IsInstanceOf_op,
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetMethodID_op,
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethod_op,
5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethod_op_va_list,
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethod_op_array,
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodBoolean_op,
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodBoolean_op_va_list,
5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodBoolean_op_array,
5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodByte_op,
5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodByte_op_va_list,
5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodByte_op_array,
5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodChar_op,
5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodChar_op_va_list,
5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodChar_op_array,
5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodShort_op,
5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodShort_op_va_list,
5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodShort_op_array,
5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodInt_op,
5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodInt_op_va_list,
5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodInt_op_array,
5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodLong_op,
5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodLong_op_va_list,
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodLong_op_array,
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodFloat_op,
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodFloat_op_va_list,
5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodFloat_op_array,
5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodDouble_op,
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodDouble_op_va_list,
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallMethodDouble_op_array,
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldID_op,
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetField_op,
5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldBoolean_op,
6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldByte_op,
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldChar_op,
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldShort_op,
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldInt_op,
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldLong_op,
6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldFloat_op,
6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetFieldDouble_op,
6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetField_op,
6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldBoolean_op,
6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldByte_op,
6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldChar_op,
6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldShort_op,
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldInt_op,
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldLong_op,
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldFloat_op,
6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetFieldDouble_op,
6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_IsSubclassOf_op,
6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticMethodID_op,
6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethod_op,
6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethod_op_va_list,
6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethod_op_array,
6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodBoolean_op,
6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodBoolean_op_va_list,
6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodBoolean_op_array,
6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodByte_op,
6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodByte_op_va_list,
6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodByte_op_array,
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodChar_op,
6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodChar_op_va_list,
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodChar_op_array,
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodShort_op,
6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodShort_op_va_list,
6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodShort_op_array,
6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodInt_op,
6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodInt_op_va_list,
6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodInt_op_array,
6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodLong_op,
6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodLong_op_va_list,
6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodLong_op_array,
6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodFloat_op,
6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodFloat_op_va_list,
6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodFloat_op_array,
6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodDouble_op,
6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodDouble_op_va_list,
6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_CallStaticMethodDouble_op_array,
6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldID_op,
6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticField_op,
6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldBoolean_op,
6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldByte_op,
6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldChar_op,
6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldShort_op,
6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldInt_op,
6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldLong_op,
6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldFloat_op,
6545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStaticFieldDouble_op,
6555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticField_op,
6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldBoolean_op,
6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldByte_op,
6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldChar_op,
6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldShort_op,
6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldInt_op,
6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldLong_op,
6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldFloat_op,
6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetStaticFieldDouble_op,
6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewString_op,
6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStringLength_op,
6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStringChars_op,
6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewStringUTF_op,
6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStringUTFLength_op,
6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStringUTFChars_op,
6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewScalarArray_op,
6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetScalarArrayLength_op,
6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetScalarArrayElements_op,
6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewObjectArray_op,
6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetObjectArrayLength_op,
6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetObjectArrayElement_op,
6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_SetObjectArrayElement_op,
6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_RegisterNatives_op,
6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_UnregisterNatives_op,
6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_DefineClass_op,
6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_NewStringPlatform_op,
6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	JRI_GetStringPlatformChars_op
6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} JRIEnvOperations;
6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} /* extern "C" */
6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __cplusplus */
6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* JRI_H */
6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/******************************************************************************/
690