Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


JNI.cpy

このリストはコピーブック JNI.cpy を示しています。これを使用すると、COBOL プログラムから Java Native Interface (JNI) サービスにアクセスすることができます。

JNI.cpy には、Java JNI タイプに対応するサンプル COBOL データ定義と、JNI 呼び出し可能サービスにアクセスするための関数ポインターを含む JNI 環境構造である JNINativeInterface が入っています。

JNI.cpy は、COBOL インストール・ディレクトリーの include サブディレクトリー (通常は /usr/lpp/cobol/include) にあります。の HFS にあります。 JNI.cpy は、C プログラマーが JNI にアクセスするために使用するヘッダー・ファイル jni.h に類似しています。

*****************************************************************
* COBOL declarations for Java native method interoperation      *
*                                                               *
* To use the Java Native Interface callable services from a     *
* COBOL program:                                                *
* 1) Use a COPY statement to include this file into the         *
*    the Linkage Section of the program, e.g.                   *
*      Linkage Section.                                         *
*      Copy JNI                                                 *
* 2) Code the following statements at the beginning of the      *
*    Procedure Division:                                        *
*      Set address of JNIEnv to JNIEnvPtr                       *
*      Set address of JNINativeInterface to JNIEnv              *
*****************************************************************
*
* Sample JNI type definitions in COBOL
*
*01 jboolean1 pic X.
*  88 jboolean1-true  value X'01' through X'FF'.
*  88 jboolean1-false value X'00'.
*
*01 jbyte1 pic X.
*
*01 jchar1 pic N usage national.
*
*01 jshort1 pic s9(4)  comp-5.
*01 jint1   pic s9(9)  comp-5.
*01 jlong1  pic s9(18) comp-5.
*
*01 jfloat1  comp-1.
*01 jdouble1 comp-2.
*
*01 jobject1 object reference.
*01 jclass1  object reference.
*01 jstring1 object reference jstring.
*01 jarray1  object reference jarray.
*
*01 jbooleanArray1 object reference jbooleanArray.
*01 jbyteArray1    object reference jbyteArray.
*01 jcharArray1    object reference jcharArray.
*01 jshortArray1   object reference jshortArray.
*01 jintArray1     object reference jintArray.
*01 jlongArray1    object reference jlongArray.
*01 floatArray1    object reference floatArray.
*01 jdoubleArray1  object reference jdoubleArray.
*01 jobjectArray1  object reference jobjectArray.


* Possible return values for JNI functions.
 01 JNI-RC pic S9(9) comp-5.
* success
   88 JNI-OK        value  0.
* unknown error
   88 JNI-ERR       value -1.
* thread detached from the VM
   88 JNI-EDETACHED value -2.
* JNI version error
   88 JNI-EVERSION  value -3.
* not enough memory
   88 JNI-ENOMEM    value -4.
* VM already created
   88 JNI-EEXIST    value -5.
* invalid arguments
   88 JNI-EINVAL    value -6.

* Used in ReleaseScalarArrayElements
 01 releaseMode pic s9(9) comp-5.
   88 JNI-COMMIT value 1.
   88 JNI-ABORT  value 2.

 01 JNIenv pointer.

* JNI Native Method Interface - environment structure.
 01 JNINativeInterface.
   02 pointer.
   02 pointer.
   02 pointer.
   02 pointer.
   02 GetVersion                       function-pointer.
   02 DefineClass                      function-pointer.
   02 FindClass                        function-pointer.
   02 FromReflectedMethod              function-pointer.
   02 FromReflectedField               function-pointer.
   02 ToReflectedMethod                function-pointer.
   02 GetSuperclass                    function-pointer.
   02 IsAssignableFrom                 function-pointer.
   02 ToReflectedField                 function-pointer.
   02 Throw                            function-pointer.
   02 ThrowNew                         function-pointer.
   02 ExceptionOccurred                function-pointer.
   02 ExceptionDescribe                function-pointer.
   02 ExceptionClear                   function-pointer.
   02 FatalError                       function-pointer.
   02 PushLocalFrame                   function-pointer.
   02 PopLocalFrame                    function-pointer.
   02 NewGlobalRef                     function-pointer.
   02 DeleteGlobalRef                  function-pointer.
   02 DeleteLocalRef                   function-pointer.
   02 IsSameObject                     function-pointer.
   02 NewLocalRef                      function-pointer.
   02 EnsureLocalCapacity              function-pointer.
   02 AllocObject                      function-pointer.
   02 NewObject                        function-pointer.
   02 NewObjectV                       function-pointer.
   02 NewObjectA                       function-pointer.
   02 GetObjectClass                   function-pointer.
   02 IsInstanceOf                     function-pointer.
   02 GetMethodID                      function-pointer.
   02 CallObjectMethod                 function-pointer.
   02 CallObjectMethodV                function-pointer.
   02 CallObjectMethodA                function-pointer.
   02 CallBooleanMethod                function-pointer.
   02 CallBooleanMethodV               function-pointer.
   02 CallBooleanMethodA               function-pointer.
   02 CallByteMethod                   function-pointer.
   02 CallByteMethodV                  function-pointer.
   02 CallByteMethodA                  function-pointer.
   02 CallCharMethod                   function-pointer.
   02 CallCharMethodV                  function-pointer.
   02 CallCharMethodA                  function-pointer.
   02 CallShortMethod                  function-pointer.
   02 CallShortMethodV                 function-pointer.
   02 CallShortMethodA                 function-pointer.
   02 CallIntMethod                    function-pointer.
   02 CallIntMethodV                   function-pointer.
   02 CallIntMethodA                   function-pointer.
   02 CallLongMethod                   function-pointer.
   02 CallLongMethodV                  function-pointer.
   02 CallLongMethodA                  function-pointer.
   02 CallFloatMethod                  function-pointer.
   02 CallFloatMethodV                 function-pointer.
   02 CallFloatMethodA                 function-pointer.
   02 CallDoubleMethod                 function-pointer.
   02 CallDoubleMethodV                function-pointer.
   02 CallDoubleMethodA                function-pointer.
   02 CallVoidMethod                   function-pointer.
   02 CallVoidMethodV                  function-pointer.
   02 CallVoidMethodA                  function-pointer.
   02 CallNonvirtualObjectMethod       function-pointer.
   02 CallNonvirtualObjectMethodV      function-pointer.
   02 CallNonvirtualObjectMethodA      function-pointer.
   02 CallNonvirtualBooleanMethod      function-pointer.
   02 CallNonvirtualBooleanMethodV     function-pointer.
   02 CallNonvirtualBooleanMethodA     function-pointer.
   02 CallNonvirtualByteMethod         function-pointer.
   02 CallNonvirtualByteMethodV        function-pointer.
   02 CallNonvirtualByteMethodA        function-pointer.
   02 CallNonvirtualCharMethod         function-pointer.
   02 CallNonvirtualCharMethodV        function-pointer.
   02 CallNonvirtualCharMethodA        function-pointer.
   02 CallNonvirtualShortMethod        function-pointer.
   02 CallNonvirtualShortMethodV       function-pointer.
   02 CallNonvirtualShortMethodA       function-pointer.
   02 CallNonvirtualIntMethod          function-pointer.
   02 CallNonvirtualIntMethodV         function-pointer.
   02 CallNonvirtualIntMethodA         function-pointer.
   02 CallNonvirtualLongMethod         function-pointer.
   02 CallNonvirtualLongMethodV        function-pointer.
   02 CallNonvirtualLongMethodA        function-pointer.
   02 CallNonvirtualFloatMethod        function-pointer.
   02 CallNonvirtualFloatMethodV       function-pointer.
   02 CallNonvirtualFloatMethodA       function-pointer.
   02 CallNonvirtualDoubleMethod       function-pointer.
   02 CallNonvirtualDoubleMethodV      function-pointer.
   02 CallNonvirtualDoubleMethodA      function-pointer.
   02 CallNonvirtualVoidMethod         function-pointer.
   02 CallNonvirtualVoidMethodV        function-pointer.
   02 CallNonvirtualVoidMethodA        function-pointer.
   02 GetFieldID                       function-pointer.
   02 GetObjectField                   function-pointer.
   02 GetBooleanField                  function-pointer.
   02 GetByteField                     function-pointer.
   02 GetCharField                     function-pointer.
   02 GetShortField                    function-pointer.
   02 GetIntField                      function-pointer.
   02 GetLongField                     function-pointer.
   02 GetFloatField                    function-pointer.
   02 GetDoubleField                   function-pointer.
   02 SetObjectField                   function-pointer.
   02 SetBooleanField                  function-pointer.
   02 SetByteField                     function-pointer.
   02 SetCharField                     function-pointer.
   02 SetShortField                    function-pointer.
   02 SetIntField                      function-pointer.
   02 SetLongField                     function-pointer.
   02 SetFloatField                    function-pointer.
   02 SetDoubleField                   function-pointer.
   02 GetStaticMethodID                function-pointer.
   02 CallStaticObjectMethod           function-pointer.
   02 CallStaticObjectMethodV          function-pointer.
   02 CallStaticObjectMethodA          function-pointer.
   02 CallStaticBooleanMethod          function-pointer.
   02 CallStaticBooleanMethodV         function-pointer.
   02 CallStaticBooleanMethodA         function-pointer.
   02 CallStaticByteMethod             function-pointer.
   02 CallStaticByteMethodV            function-pointer.
   02 CallStaticByteMethodA            function-pointer.
   02 CallStaticCharMethod             function-pointer.
   02 CallStaticCharMethodV            function-pointer.
   02 CallStaticCharMethodA            function-pointer.
   02 CallStaticShortMethod            function-pointer.
   02 CallStaticShortMethodV           function-pointer.
   02 CallStaticShortMethodA           function-pointer.
   02 CallStaticIntMethod              function-pointer.
   02 CallStaticIntMethodV             function-pointer.
   02 CallStaticIntMethodA             function-pointer.
   02 CallStaticLongMethod             function-pointer.
   02 CallStaticLongMethodV            function-pointer.
   02 CallStaticLongMethodA            function-pointer.
   02 CallStaticFloatMethod            function-pointer.
   02 CallStaticFloatMethodV           function-pointer.
   02 CallStaticFloatMethodA           function-pointer.
   02 CallStaticDoubleMethod           function-pointer.
   02 CallStaticDoubleMethodV          function-pointer.
   02 CallStaticDoubleMethodA          function-pointer.
   02 CallStaticVoidMethod             function-pointer.
   02 CallStaticVoidMethodV            function-pointer.
   02 CallStaticVoidMethodA            function-pointer.
   02 GetStaticFieldID                 function-pointer.
   02 GetStaticObjectField             function-pointer.
   02 GetStaticBooleanField            function-pointer.
   02 GetStaticByteField               function-pointer.
   02 GetStaticCharField               function-pointer.
   02 GetStaticShortField              function-pointer.
   02 GetStaticIntField                function-pointer.
   02 GetStaticLongField               function-pointer.
   02 GetStaticFloatField              function-pointer.
   02 GetStaticDoubleField             function-pointer.
   02 SetStaticObjectField             function-pointer.
   02 SetStaticBooleanField            function-pointer.
   02 SetStaticByteField               function-pointer.
   02 SetStaticCharField               function-pointer.
   02 SetStaticShortField              function-pointer.
   02 SetStaticIntField                function-pointer.
   02 SetStaticLongField               function-pointer.
   02 SetStaticFloatField              function-pointer.
   02 SetStaticDoubleField             function-pointer.
   02 NewString                        function-pointer.
   02 GetStringLength                  function-pointer.
   02 GetStringChars                   function-pointer.
   02 ReleaseStringChars               function-pointer.
   02 NewStringUTF                     function-pointer.
   02 GetStringUTFLength               function-pointer.
   02 GetStringUTFChars                function-pointer.
   02 ReleaseStringUTFChars            function-pointer.
   02 GetArrayLength                   function-pointer.
   02 NewObjectArray                   function-pointer.
   02 GetObjectArrayElement            function-pointer.
   02 SetObjectArrayElement            function-pointer.
   02 NewBooleanArray                  function-pointer.
   02 NewByteArray                     function-pointer.
   02 NewCharArray                     function-pointer.
   02 NewShortArray                    function-pointer.
   02 NewIntArray                      function-pointer.
   02 NewLongArray                     function-pointer.
   02 NewFloatArray                    function-pointer.
   02 NewDoubleArray                   function-pointer.
   02 GetBooleanArrayElements          function-pointer.
   02 GetByteArrayElements             function-pointer.
   02 GetCharArrayElements             function-pointer.
   02 GetShortArrayElements            function-pointer.
   02 GetIntArrayElements              function-pointer.
   02 GetLongArrayElements             function-pointer.
   02 GetFloatArrayElements            function-pointer.
   02 GetDoubleArrayElements           function-pointer.
   02 ReleaseBooleanArrayElements      function-pointer.
   02 ReleaseByteArrayElements         function-pointer.
   02 ReleaseCharArrayElements         function-pointer.
   02 ReleaseShortArrayElements        function-pointer.
   02 ReleaseIntArrayElements          function-pointer.
   02 ReleaseLongArrayElements         function-pointer.
   02 ReleaseFloatArrayElements        function-pointer.
   02 ReleaseDoubleArrayElements       function-pointer.
   02 GetBooleanArrayRegion            function-pointer.
   02 GetByteArrayRegion               function-pointer.
   02 GetCharArrayRegion               function-pointer.
   02 GetShortArrayRegion              function-pointer.
   02 GetIntArrayRegion                function-pointer.
   02 GetLongArrayRegion               function-pointer.
   02 GetFloatArrayRegion              function-pointer.
   02 GetDoubleArrayRegion             function-pointer.
   02 SetBooleanArrayRegion            function-pointer.
   02 SetByteArrayRegion               function-pointer.
   02 SetCharArrayRegion               function-pointer.
   02 SetShortArrayRegion              function-pointer.
   02 SetIntArrayRegion                function-pointer.
   02 SetLongArrayRegion               function-pointer.
   02 SetFloatArrayRegion              function-pointer.
   02 SetDoubleArrayRegion             function-pointer.
   02 RegisterNatives                  function-pointer.
   02 UnregisterNatives                function-pointer.
   02 MonitorEnter                     function-pointer.
   02 MonitorExit                      function-pointer.
   02 GetJavaVM                        function-pointer.
   02 GetStringRegion                  function-pointer.
   02 GetStringUTFRegion               function-pointer.
   02 GetPrimitiveArrayCritical        function-pointer.
   02 ReleasePrimitiveArrayCritical    function-pointer.
   02 GetStringCritical                function-pointer.
   02 ReleaseStringCritical            function-pointer.
   02 NewWeakGlobalRef                 function-pointer.
   02 DeleteWeakGlobalRef              function-pointer.
   02 ExceptionCheck                   function-pointer.

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)