⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jni.h

📁 gcj java applet的web browser 插件
💻 H
📖 第 1 页 / 共 5 页
字号:
/* jni.h   Copyright (C) 2001, 2004  Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version. GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. *//* This file is based on jni.h from libgcj */#ifndef __CLASSPATH_JNI_H__#define __CLASSPATH_JNI_H__#include <stdarg.h>#ifdef __cplusplusextern "C"{#endif /* __cplusplus */  #include "jni_md.h" typedef jint jsize;  #ifdef __cplusplus}#endif/*  * Before jni.h is #included within a typical JVM, the source code should  * #define _JNI_VM_INTERNAL_TYPES_DEFINED and provide the real declarations * for 'jobject', 'jfieldID', 'jMethodID' and other implementation types. * If _JNI_VM_INTERNAL_TYPES_DEFINED is not defined, the following  * declares the old versions of the types. */#ifndef _JNI_VM_INTERNAL_TYPES_DEFINED/*typedef void *jobject;typedef void *jfieldID;typedef void *jmethodID;*/struct _jfieldID;struct _jmethodID;typedef struct _jfieldID *jfieldID;typedef struct _jmethodID *jmethodID;#endif    #ifdef __cplusplus  class _jobject {};class _jclass : public _jobject {};class _jthrowable : public _jobject {};class _jstring : public _jobject {};class _jarray : public _jobject {};class _jbooleanArray : public _jarray {};class _jbyteArray : public _jarray {};class _jcharArray : public _jarray {};class _jshortArray : public _jarray {};class _jintArray : public _jarray {};class _jlongArray : public _jarray {};class _jfloatArray : public _jarray {};class _jdoubleArray : public _jarray {};class _jobjectArray : public _jarray {};typedef _jobject *jobject;typedef _jclass *jclass;typedef _jthrowable *jthrowable;typedef _jstring *jstring;typedef _jarray *jarray;typedef _jbooleanArray *jbooleanArray;typedef _jbyteArray *jbyteArray;typedef _jcharArray *jcharArray;typedef _jshortArray *jshortArray;typedef _jintArray *jintArray;typedef _jlongArray *jlongArray;typedef _jfloatArray *jfloatArray;typedef _jdoubleArray *jdoubleArray;typedef _jobjectArray *jobjectArray;typedef struct _Jv_JNIEnv JNIEnv;typedef struct _Jv_JavaVM JavaVM;#else /* __cplusplus */ typedef void *jobject;typedef jobject jclass;typedef jobject jstring;typedef jobject jarray;typedef jobject jthrowable;typedef jobject jobjectArray;typedef jobject jbyteArray;typedef jobject jshortArray;typedef jobject jintArray;typedef jobject jlongArray;typedef jobject jbooleanArray;typedef jobject jcharArray;typedef jobject jfloatArray;typedef jobject jdoubleArray;  /* Dummy defines.  */typedef const struct JNINativeInterface *JNIEnv;typedef const struct JNIInvokeInterface *JavaVM;#endif /* __cplusplus */#define _Jv_va_list va_list#ifdef __cplusplusextern "C"{#endif /* __cplusplus */typedef union jvalue{  jboolean z;  jbyte    b;  jchar    c;  jshort   s;  jint     i;  jlong    j;  jfloat   f;  jdouble  d;  jobject  l;} jvalue;      /* Used for jboolean type  */#define JNI_TRUE  1#define JNI_FALSE 0/* Used when releasing array elements.  */#define JNI_COMMIT 1#define JNI_ABORT  2/* FIXME: Could be wrong */typedef jobject jweak;  /* Version numbers.  */#define JNI_VERSION_1_1 0x00010001 /* JNI version 1.1 */#define JNI_VERSION_1_2 0x00010002 /* JNI version 1.2 */#define JNI_VERSION_1_4 0x00010004 /* JNI version 1.4 */    /* Error codes */#define JNI_OK            0#define JNI_ERR          (-1)#define JNI_EDETACHED    (-2)#define JNI_EVERSION     (-3)  /* These functions might be defined in libraries which we load; the   JNI implementation calls them at the appropriate times.  */JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM *, void *);JNIEXPORT void JNICALL JNI_OnUnload (JavaVM *, void *);    /* These functions are called by user code to start using the   invocation API.  */JNIEXPORT jint JNICALL JNI_GetDefaultJavaVMInitArgs (void *);JNIEXPORT jint JNICALL JNI_CreateJavaVM (JavaVM **, void **, void *);JNIEXPORT jint JNICALL JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *);/* This structure is used when registering native methods.  */typedef struct{  char *name;  char *signature;  void *fnPtr;} JNINativeMethod;struct JNINativeInterface{  void *reserved0;					       /* 0 */  void *reserved1;					       /* 1 */  void *reserved2;					       /* 2 */  void *reserved3;					       /* 3 */  jint     (JNICALL *GetVersion)                   (JNIEnv *);                               /* 4 */  jclass   (JNICALL *DefineClass)                  (JNIEnv *, const char *, jobject, const jbyte *, jsize); /* 5 */  jclass   (JNICALL *FindClass)                    (JNIEnv *, const char *);                 /* 6 */  jmethodID (JNICALL *FromReflectedMethod)	   (JNIEnv *, jobject);                      /* 7 */  jfieldID  (JNICALL *FromReflectedField)	   (JNIEnv *, jobject);                      /* 8 */  jobject   (JNICALL *ToReflectedMethod)	   (JNIEnv *, jclass, jmethodID, jboolean);  /* 9 */  jclass   (JNICALL *GetSuperclass)                (JNIEnv *, jclass);                       /* 10 */  jboolean (JNICALL *IsAssignableFrom)             (JNIEnv *, jclass, jclass);               /* 11 */  jobject  (JNICALL *ToReflectedField)		   (JNIEnv *, jclass, jfieldID, jboolean);   /* 12 */  jint     (JNICALL *Throw)                        (JNIEnv *, jthrowable);                   /* 13 */  jint     (JNICALL *ThrowNew)                     (JNIEnv *, jclass, const char *);         /* 14 */  jthrowable (JNICALL *ExceptionOccurred)          (JNIEnv *);                               /* 15 */  void     (JNICALL *ExceptionDescribe)            (JNIEnv *);                               /* 16 */  void     (JNICALL *ExceptionClear)               (JNIEnv *);                               /* 17 */  void     (JNICALL *FatalError)                   (JNIEnv *, const char *);                 /* 18 */  jint     (JNICALL *PushLocalFrame)		   (JNIEnv *, jint);                         /* 19 */  jobject  (JNICALL *PopLocalFrame)		   (JNIEnv *, jobject);                      /* 20 */  jobject  (JNICALL *NewGlobalRef)                 (JNIEnv *, jobject);                      /* 21 */  void     (JNICALL *DeleteGlobalRef)              (JNIEnv *, jobject);                      /* 22 */  void     (JNICALL *DeleteLocalRef)               (JNIEnv *, jobject);                      /* 23 */  jboolean (JNICALL *IsSameObject)                 (JNIEnv *, jobject, jobject);             /* 24 */  jobject  (JNICALL *NewLocalRef)		   (JNIEnv *, jobject);                      /* 25 */  jint     (JNICALL *EnsureLocalCapacity)	   (JNIEnv *, jint);                         /* 26 */  jobject  (JNICALL *AllocObject)                  (JNIEnv *, jclass);                       /* 27 */  jobject (JNICALL *NewObject)			   (JNIEnv *, jclass, jmethodID, ...);       /* 28 */  jobject (JNICALL *NewObjectV)			   (JNIEnv *, jclass, jmethodID, _Jv_va_list); /* 29 */  jobject (JNICALL *NewObjectA)			   (JNIEnv *, jclass, jmethodID, jvalue *);  /* 30 */  jclass   (JNICALL *GetObjectClass)               (JNIEnv *, jobject);                      /* 31 */  jboolean (JNICALL *IsInstanceOf)                 (JNIEnv *, jobject, jclass);              /* 32 */  jmethodID (JNICALL *GetMethodID)                 (JNIEnv *, jclass, const char *, const char *); /* 33 */  jobject 	(JNICALL *CallObjectMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 34 */  jobject 	(JNICALL *CallObjectMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 35 */  jobject 	(JNICALL *CallObjectMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 36 */  jboolean 	(JNICALL *CallBooleanMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 37 */  jboolean 	(JNICALL *CallBooleanMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 38 */  jboolean 	(JNICALL *CallBooleanMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 39 */  jbyte 	(JNICALL *CallByteMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 40 */  jbyte 	(JNICALL *CallByteMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 41 */  jbyte 	(JNICALL *CallByteMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 42 */  jchar 	(JNICALL *CallCharMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 43 */  jchar 	(JNICALL *CallCharMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 44 */  jchar 	(JNICALL *CallCharMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 45 */  jshort 	(JNICALL *CallShortMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 46 */  jshort 	(JNICALL *CallShortMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 47 */  jshort 	(JNICALL *CallShortMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 48 */  jint 		(JNICALL *CallIntMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 49 */  jint 		(JNICALL *CallIntMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 50 */  jint 		(JNICALL *CallIntMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 51 */  jlong 	(JNICALL *CallLongMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 52 */  jlong 	(JNICALL *CallLongMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 53 */  jlong 	(JNICALL *CallLongMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 54 */  jfloat 	(JNICALL *CallFloatMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 55 */  jfloat 	(JNICALL *CallFloatMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 56 */  jfloat 	(JNICALL *CallFloatMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 57 */  jdouble 	(JNICALL *CallDoubleMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 58 */  jdouble 	(JNICALL *CallDoubleMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 59 */  jdouble 	(JNICALL *CallDoubleMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 60 */  void  	(JNICALL *CallVoidMethod)	   (JNIEnv *, jobject, jmethodID, ...);         /* 61 */  void  	(JNICALL *CallVoidMethodV)	   (JNIEnv *, jobject, jmethodID, _Jv_va_list); /* 62 */  void  	(JNICALL *CallVoidMethodA)	   (JNIEnv *, jobject, jmethodID, jvalue *);    /* 63 */  jobject   (JNICALL *CallNonvirtualObjectMethod)  (JNIEnv *, jobject, jclass, jmethodID, ...);          /* 64 */  jobject   (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass, jmethodID, _Jv_va_list);  /* 65 */  jobject   (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass, jmethodID, jvalue *);     /* 66 */  jboolean  (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass, jmethodID, ...);          /* 67 */  jboolean  (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass, jmethodID, _Jv_va_list); /* 68 */  jboolean  (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass, jmethodID, jvalue *);    /* 69 */  jbyte     (JNICALL *CallNonvirtualByteMethod)	   (JNIEnv *, jobject, jclass, jmethodID, ...);          /* 70 */  jbyte     (JNICALL *CallNonvirtualByteMethodV)   (JNIEnv *, jobject, jclass, jmethodID, _Jv_va_list);  /* 71 */  jbyte     (JNICALL *CallNonvirtualByteMethodA)   (JNIEnv *, jobject, jclass, jmethodID, jvalue *);     /* 72 */  jchar     (JNICALL *CallNonvirtualCharMethod)	   (JNIEnv *, jobject, jclass, jmethodID, ...);          /* 73 */  jchar     (JNICALL *CallNonvirtualCharMethodV)   (JNIEnv *, jobject, jclass, jmethodID, _Jv_va_list);  /* 74 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -