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

📄 jni.h

📁 用JNI封装的一个联通短信SGIP协议 API的java接口
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * @(#)jni.h	1.28 97/05/19 * * Copyright (c) 1993-1996 Sun Microsystems, Inc. All Rights Reserved. * * Permission to use, copy, modify, and distribute this software * and its documentation for NON-COMMERCIAL purposes and without * fee is hereby granted provided that this copyright notice * appears in all copies. * * The Java source code is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information").  You shall * not disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. *//*  * We used part of Netscape's Java Runtime Interface (JRI) as the starting * point of our design and implementation. *//****************************************************************************** * Java Runtime Interface * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. *****************************************************************************/#ifndef JNI_H#define JNI_H#include <stdio.h>#include <stdarg.h>/* jni_md.h contains the machine-dependent typedefs for jbyte, jint    and jlong */ #include "jni_md.h"#ifdef __cplusplusextern "C" {#endif/* * JNI Types */typedef unsigned char	jboolean;typedef unsigned short	jchar;typedef short		jshort;typedef float		jfloat;typedef double		jdouble;typedef jint            jsize;#ifdef __cplusplusclass _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;#elsestruct _jobject;typedef struct _jobject *jobject;typedef jobject jclass;typedef jobject jthrowable;typedef jobject jstring;typedef jobject jarray;typedef jarray jbooleanArray;typedef jarray jbyteArray;typedef jarray jcharArray;typedef jarray jshortArray;typedef jarray jintArray;typedef jarray jlongArray;typedef jarray jfloatArray;typedef jarray jdoubleArray;typedef jarray jobjectArray;#endiftypedef jobject jref; /* For transition---not meant to be part of public 			 API anymore.*/typedef union jvalue {    jboolean z;    jbyte    b;    jchar    c;    jshort   s;    jint     i;    jlong    j;    jfloat   f;    jdouble  d;    jobject  l;} jvalue;struct _jfieldID;typedef struct _jfieldID *jfieldID;struct _jmethodID;typedef struct _jmethodID *jmethodID;/* * jboolean constants */#define JNI_FALSE 0#define JNI_TRUE 1/* * possible return values for JNI functions. */#define JNI_OK 0#define JNI_ERR (-1)/* * used in ReleaseScalarArrayElements */  #define JNI_COMMIT 1#define JNI_ABORT 2/* * used in RegisterNatives to describe native method name, signature, * and function pointer. */typedef struct {    char *name;    char *signature;    void *fnPtr;} JNINativeMethod;/* * JNI Native Method Interface. */struct JNINativeInterface_;struct JNIEnv_;#ifdef __cplusplustypedef JNIEnv_ JNIEnv;#elsetypedef const struct JNINativeInterface_ *JNIEnv;#endif/* * JNI Invocation Interface. */struct JNIInvokeInterface_;struct JavaVM_;#ifdef __cplusplustypedef JavaVM_ JavaVM;#elsetypedef const struct JNIInvokeInterface_ *JavaVM;#endifstruct JNINativeInterface_ {    void *reserved0;    void *reserved1;    void *reserved2;    void *reserved3;    jint (JNICALL *GetVersion)(JNIEnv *env);    jclass (JNICALL *DefineClass)      (JNIEnv *env, const char *name, jobject loader, const jbyte *buf,        jsize len);    jclass (JNICALL *FindClass)      (JNIEnv *env, const char *name);    void *reserved4;    void *reserved5;    void *reserved6;    jclass (JNICALL *GetSuperclass)      (JNIEnv *env, jclass sub);    jboolean (JNICALL *IsAssignableFrom)      (JNIEnv *env, jclass sub, jclass sup);    void *reserved7;    jint (JNICALL *Throw)      (JNIEnv *env, jthrowable obj);    jint (JNICALL *ThrowNew)      (JNIEnv *env, jclass clazz, const char *msg);    jthrowable (JNICALL *ExceptionOccurred)      (JNIEnv *env);    void (JNICALL *ExceptionDescribe)      (JNIEnv *env);    void (JNICALL *ExceptionClear)      (JNIEnv *env);    void (JNICALL *FatalError)      (JNIEnv *env, const char *msg);    void *reserved8;    void *reserved9;    jobject (JNICALL *NewGlobalRef)      (JNIEnv *env, jobject lobj);    void (JNICALL *DeleteGlobalRef)      (JNIEnv *env, jobject gref);    void (JNICALL *DeleteLocalRef)      (JNIEnv *env, jobject obj);    jboolean (JNICALL *IsSameObject)      (JNIEnv *env, jobject obj1, jobject obj2);    void *reserved10;    void *reserved11;    jobject (JNICALL *AllocObject)      (JNIEnv *env, jclass clazz);    jobject (JNICALL *NewObject)      (JNIEnv *env, jclass clazz, jmethodID methodID, ...);    jobject (JNICALL *NewObjectV)      (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);    jobject (JNICALL *NewObjectA)      (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);    jclass (JNICALL *GetObjectClass)      (JNIEnv *env, jobject obj);    jboolean (JNICALL *IsInstanceOf)      (JNIEnv *env, jobject obj, jclass clazz);    jmethodID (JNICALL *GetMethodID)      (JNIEnv *env, jclass clazz, const char *name, const char *sig);    jobject (JNICALL *CallObjectMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jobject (JNICALL *CallObjectMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jobject (JNICALL *CallObjectMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jboolean (JNICALL *CallBooleanMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jboolean (JNICALL *CallBooleanMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jboolean (JNICALL *CallBooleanMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jbyte (JNICALL *CallByteMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jbyte (JNICALL *CallByteMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jbyte (JNICALL *CallByteMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jchar (JNICALL *CallCharMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jchar (JNICALL *CallCharMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jchar (JNICALL *CallCharMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jshort (JNICALL *CallShortMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jshort (JNICALL *CallShortMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jshort (JNICALL *CallShortMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jint (JNICALL *CallIntMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jint (JNICALL *CallIntMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jint (JNICALL *CallIntMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jlong (JNICALL *CallLongMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jlong (JNICALL *CallLongMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jlong (JNICALL *CallLongMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jfloat (JNICALL *CallFloatMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jfloat (JNICALL *CallFloatMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jfloat (JNICALL *CallFloatMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jdouble (JNICALL *CallDoubleMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jdouble (JNICALL *CallDoubleMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jdouble (JNICALL *CallDoubleMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    void (JNICALL *CallVoidMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    void (JNICALL *CallVoidMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    void (JNICALL *CallVoidMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jobject (JNICALL *CallNonvirtualObjectMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jobject (JNICALL *CallNonvirtualObjectMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        va_list args);    jobject (JNICALL *CallNonvirtualObjectMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        jvalue * args);    jboolean (JNICALL *CallNonvirtualBooleanMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jboolean (JNICALL *CallNonvirtualBooleanMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       va_list args);    jboolean (JNICALL *CallNonvirtualBooleanMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       jvalue * args);    jbyte (JNICALL *CallNonvirtualByteMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jbyte (JNICALL *CallNonvirtualByteMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       va_list args);    jbyte (JNICALL *CallNonvirtualByteMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        jvalue *args);    jchar (JNICALL *CallNonvirtualCharMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);

⌨️ 快捷键说明

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