You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2006/12/18 12:53:32 UTC
svn commit: r488244 [3/5] - in
/harmony/enhanced/classlib/trunk/modules/luni: ./
src/main/native/include/shared/
Added: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/jni_types.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/jni_types.h?view=auto&rev=488244
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/jni_types.h (added)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/jni_types.h Mon Dec 18 03:53:30 2006
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Intel, Gregory Shimansky
+ * @version $Revision: 1.1.2.1.4.3 $
+ */
+
+#ifndef _JNI_TYPES_H_
+#define _JNI_TYPES_H_
+
+/*
+ * @file JNI types used for OPEN interface
+ */
+
+#if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
+
+#define JNIEXPORT __declspec(dllexport)
+#define JNIIMPORT __declspec(dllimport)
+#define JNICALL __stdcall
+
+typedef signed __int64 jlong;
+
+#else
+
+#define JNIEXPORT
+#define JNIIMPORT
+#define JNICALL
+
+typedef signed long long jlong;
+
+#endif
+
+/*
+ * Primitive types
+ */
+typedef unsigned char jboolean;
+typedef signed char jbyte;
+typedef unsigned short jchar;
+typedef signed short jshort;
+typedef signed int jint;
+typedef float jfloat;
+typedef double jdouble;
+typedef jint jsize;
+
+/*
+ * Java types
+ */
+struct _jobject;
+typedef struct _jobject* jobject;
+typedef jobject jclass;
+typedef jobject jstring;
+typedef jobject jarray;
+ typedef jarray jobjectArray;
+ 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 jobject jthrowable;
+typedef jobject jweak;
+
+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;
+
+/*
+ * Constants
+ */
+
+/*
+ * Boolean constants
+ */
+#define JNI_FALSE 0
+#define JNI_TRUE 1
+
+/*
+ * Return values
+ */
+#define JNI_OK 0
+#define JNI_ERR (-1)
+#define JNI_EDETACHED (-2)
+#define JNI_EVERSION (-3)
+#define JNI_ENOMEM (-4)
+#define JNI_EEXIST (-5)
+#define JNI_EINVAL (-6)
+
+/*
+ * Release modes for working with arrays.
+ */
+#define JNI_COMMIT 1
+#define JNI_ABORT 2
+
+/*
+ * Used as a generic pointer to a function.
+ */
+typedef struct {
+ char *name;
+ char *signature;
+ void *fnPtr;
+} JNINativeMethod;
+
+/*
+ * JNI Native Method Interface
+ */
+struct JNINativeInterface_;
+struct JNIEnv_External;
+
+#ifdef __cplusplus
+typedef JNIEnv_External JNIEnv;
+#else
+typedef const struct JNINativeInterface_ *JNIEnv;
+#endif
+
+/*
+ * JNI Invocation Interface
+ */
+struct JNIInvokeInterface_;
+struct JavaVM_External;
+
+#ifdef __cplusplus
+typedef JavaVM_External JavaVM;
+#else
+typedef const struct JNIInvokeInterface_ *JavaVM;
+#endif
+
+#endif /* _JNI_TYPES_H_ */
Propchange: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/jni_types.h
------------------------------------------------------------------------------
svn:eol-style = native