Index: include/jni.h
===================================================================
--- include/jni.h (revision 525049)
+++ include/jni.h (working copy)
@@ -1,10 +1,10 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -16,13 +16,12 @@
*/
/**
* @file
- * This file describes the JNI interface as per the JNI
- * specification 1.5 available from Sun
+ * The JNI interface description as per Sun Java Native Interface (JNI)
+ * Specification 1.5.
*
- * See specification
- * for details.
- */
+ * @sa
+ * Java Native Interface Specification*/
#ifndef _JNI_H_
#define _JNI_H_
@@ -31,28 +30,27 @@
#include
#include "jni_types.h"
-/*
- * Supported JNI versions
- */
/**
- * Constant which specifies JNI interface version 1.1
+ * @name Supported JNI versions
+ * @{*/
+/**
+ * The constant specifying the JNI interface, version 1.1.
*/
#define JNI_VERSION_1_1 0x00010001
/**
- * Constant which specifies JNI interface version 1.2
+ * The constant specifying the JNI interface, version 1.2.
*/
#define JNI_VERSION_1_2 0x00010002
/**
- * Constant which specifies JNI interface version 1.4
+ * The constant specifying the JNI interface, version 1.4.
*/
#define JNI_VERSION_1_4 0x00010004
-
-/**
- * JNI Native Method Interface table for use in C sources
+/** @}*/
+/** The JNI Native Method Interface table used in C sources.
*
* See specification
- * for details
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp23720">
+ * Java Native Interface Specification
*/
struct JNINativeInterface_ {
void *reserved0;
@@ -606,11 +604,11 @@
/**
- * JNI Native Method Interface table for use in C++ sources
+ * The JNI Native Method Interface table used in C++ sources.
*
- * See specification
- * for details
+ * @sa
+ * Java Native Interface Specification
*/
struct JNIEnv_External {
const struct JNINativeInterface_ *functions;
@@ -1690,11 +1688,11 @@
};
/**
- * Structure which describes one Java VM invocation argument
+ * Describes one Java VM invocation argument.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef struct JavaVMOption {
char *optionString;
@@ -1702,12 +1700,12 @@
} JavaVMOption;
/**
- * Structure which describes one Java VM invocation arguments for JNI
- * interface version 1.2 and greater
+ * Describes one Java VM invocation arguments for the JNI
+ * interface, version 1.2 and higher.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef struct JavaVMInitArgs {
jint version;
@@ -1717,24 +1715,23 @@
} JavaVMInitArgs;
/**
- * Structure which describes arguments for attaching a native thread to a Java VM
+ * Describes arguments for attaching a native thread to Java VM.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef struct JavaVMAttachArgs {
jint version;
char *name;
jobject group;
} JavaVMAttachArgs;
-
/**
- * JNI Invocation Interface table for use in C sources
+ * The JNI Invocation Interface table used in C sources.
*
- * See
- * specification for details
+ * Java Native Interface Specification
*/
struct JNIInvokeInterface_ {
void* reserved0;
@@ -1750,13 +1747,12 @@
jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM*, void** penv, void* args);
};
-
-/**
- * JNI Invocation Interface table for use in C++ sources
+/**
+ * The JNI Invocation Interface table used in C++ sources.
*
- * See
- * specification for details
+ * Java Native Interface Specification
*/
struct JavaVM_External {
const struct JNIInvokeInterface_* functions;
@@ -1791,41 +1787,40 @@
/**
* @def _JNI_EXPORT_
- * Function attribute used when building VM from sources
+ * The function attribute used while building VM from sources.
*/
#ifdef BUILDING_VM
#define _JNI_EXPORT_ JNIEXPORT
#else
#define _JNI_EXPORT_ JNIIMPORT
#endif
-
/**
- * Function to get the default VM arguments
+ * Gets the default VM arguments.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
_JNI_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void * vm_args);
/**
- * Function to get an array of already created Java VMs in the current
- * process
+ * Gets an array of already created Java VMs in the current process.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
+
_JNI_EXPORT_ jint JNICALL JNI_GetCreatedJavaVMs(JavaVM ** vmBuf,
jsize bufLen,
jsize * nVMs);
/**
- * Creates Java VM in the current process
+ * Creates Java VM in the current process.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
_JNI_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM ** p_vm, JNIEnv ** p_env,
void * vm_args);
Index: include/jni_types.h
===================================================================
--- include/jni_types.h (revision 525049)
+++ include/jni_types.h (working copy)
@@ -1,6 +1,6 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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
@@ -22,30 +22,34 @@
* @file
* Types used in JNI and OPEN interfaces.
*
- * For the most part JNI types are defined by Sun specification on
- * Java Native Interface (JNI). See specification
- * for details.
+ * For the most part, JNI types are defined by Sun Java Native Interface (JNI)
+ * Specification 1.5.
+ *
+ * @sa
+ * Java Native Interface Specification
*/
-/* The following documentation is both for windows and linux, so it
- * resides outside of ifdef-endif block */
/**
+ * The current documentation is both for Windows and Linux, so it
+ * is resided outside of the ifdef-endif block.
+ */
+/**
* @def JNIEXPORT
- * Function attribute to make native JNI function exportable
+ * The function attribute making the native JNI function exportable.
*/
/**
* @def JNIIMPORT
- * Function attribute used when building VM from sources
+ * The function attribute used when building VM from sources.
*/
/**
* @def JNICALL
- * Function attribute to specify calling conventions that should be
- * used for native JNI functions
+ * The function attribute specifying calling conventions that should be
+ * used for native JNI functions.
*/
/**
* @typedef jlong
- * Signed 64-bit long type equivalent to Java "long" type
+ * The signed 64-bit long type equivalent to the Java long type.
*/
#if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
@@ -65,222 +69,225 @@
#endif
-/*
- * Primitive types
- */
/**
- * Unsigned 8-bit primitive boolean type equivalent to Java "boolean"
- * type
+ * @name Primitive Types
+ * @{*/
+
+/**
+ * The unsigned 8-bit primitive boolean type equivalent to the Java
+ * boolean type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef unsigned char jboolean;
/**
- * Signed 8-bit primitive byte type equivalent to Java "byte" type
+ * The signed 8-bit primitive byte type equivalent to the Java
+ * byte type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef signed char jbyte;
/**
- * Unsigned 16-bit primitive char type equivalent to Java "char" type
+ * The unsigned 16-bit primitive char type equivalent to Java
+ * char type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef unsigned short jchar;
/**
- * Signed 16-bit primitive short type equivalent to Java "short" type
- *
- * See specification
- * for details.
+ * The signed 16-bit primitive short type equivalent to the Java
+ * short type.
+ *
+ * @sa
+ * Java Native Interface Specification
*/
typedef signed short jshort;
/**
- * Signed 32-bit primitive integer type equivalent to Java "int" type
+ * The signed 32-bit primitive integer type equivalent to the Java
+ * int type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef signed int jint;
/**
- * Signed 32-bit primitive floating point type equivalent to Java
- * "float" type
+ * The signed 32-bit primitive floating point type equivalent to
+ * the Java float type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef float jfloat;
/**
- * Signed 64-bit primitive floating point type equivalent to Java
- * "double" type
+ * The signed 64-bit primitive floating point type equivalent to the Java
+ * double type.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef double jdouble;
/**
- * Signed 32-bit primitive integer type used to describe sizes
+ * The signed 32-bit primitive integer type used to describe sizes.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jint jsize;
+/** @} */
-/*
- * Java types
- */
+/**
+ *@name Java Types
+ *@{*/
struct _jobject;
/**
- * Reference type which describes a general Java object in native
- * function
+ * The reference type describing the general Java object in the native
+ * function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef struct _jobject* jobject;
/**
- * Reference type which describes a java.lang.Class instance object in
- * native function
+ * The reference type describing the java.lang.Class instance object
+ * in the native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jobject jclass;
/**
- * Reference type which describes a java.lang.String instance object
- * in native function
+ * The reference type describing the java.lang.String instance
+ * object in the native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jobject jstring;
/**
- * Reference type which describes a generic array instance object in
- * native function
+ * The reference type describing the generic array instance object in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jobject jarray;
/**
- * Reference type which describes an array of java.lang.Object
- * instances in native function
+ * The reference type describing the array of java.lang.Object
+ * instances in the native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
- typedef jarray jobjectArray;
+typedef jarray jobjectArray;
/**
- * Reference type which describes an array of booleans in native
- * function
+ * The reference type describing the array of booleans in the native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jbooleanArray;
/**
- * Reference type which describes an array of bytes type in native
- * function
+ * The reference type describing the bytes type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jbyteArray;
/**
- * Reference type which describes an array of chars type in native
- * function
+ * The reference type describing the chars type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jcharArray;
/**
- * Reference type which describes an array of shorts type in native
- * function
+ * The reference type describing the shorts type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jshortArray;
/**
- * Reference type which describes an array of ints type in native
- * function
+ * The reference type describing the ints type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jintArray;
/**
- * Reference type which describes an array of longs type in native
- * function
+ * The reference type describing the longs type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jlongArray;
/**
- * Reference type which describes an array of floats type in native
- * function
+ * The reference type describing the floats type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jfloatArray;
/**
- * Reference type which describes an array of doubles type in native
- * function
+ * The reference type describing the doubles type array in the
+ * native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jarray jdoubleArray;
/**
- * Reference type which describes a java.lang.Throwable instance
- * object in native function
+ * The reference type describing the java.lang.Throwable instance
+ * object in the native function.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
typedef jobject jthrowable;
/**
- * Reference type which describes a weak reference to a general object
+ * The reference type describing a weak reference to the general object.
*
- * This type is the same as #jobject but the reference held in it
- * is weak, so if the referred object is weakly reacheable, it may be
- * garbage collected to VM.
+ * This type is the same as #jobject, but the reference held in it is weak, so
+ * if the referred object is weakly reacheable, it may be garbage collected to VM.
*/
typedef jobject jweak;
-
/**
- * This union used to pass arguments to native functions when Call<type>MethodA
- * and CallStatic<type>MethodA
- * functions are used
+ * This union is used to pass arguments to native functions when
+ * Call<type>MethodA and
+ * CallStatic<type>MethodA functions are used.
*
* It consists of all possible primitive Java types plus #jobject, so
* it is possible to pass any kind of argument type through it.
@@ -299,154 +306,153 @@
struct _jfieldID;
/**
- * Type which describes an identfier of a field inside of class
+ * Describes the field identfier inside the class.
*
- * This type together with a #jclass reference uniquily identifies a
+ * This type together with a #jclass reference uniquily identifies the
* field inside of the class described by #jclass.
*/
typedef struct _jfieldID* jfieldID;
struct _jmethodID;
/**
- * Type which describes an identfier of a method inside of class
+ * Describes the method identfier inside the class.
*
- * This type together with a #jclass reference uniquily identifies a
- * method inside of the class described by #jclass.
+ * This type together with a #jclass reference uniquily identifies the
+ * method inside the class described by #jclass.
*/
typedef struct _jmethodID* jmethodID;
-/*
- * Constants
- */
+/** @}*/
-/*
- * Boolean constants
- */
+/**
+ * @name Boolean Constants
+ * @{*/
+
/**
- * Constant which defines boolean truth in native Java functions. It
- * is equivalent to Java constant "true"
+ * Defines boolean truth in native Java functions. This constant is equivalent
+ * to the Java constant TRUE.
*/
#define JNI_FALSE 0
/**
- * Constant which defines boolean false in native Java functions. It
- * is equivalent to Java constant "false"
+ * Defines boolean false in native Java functions. This constant is equivalent
+ * to the Java constant FALSE.
*/
#define JNI_TRUE 1
+/** @}*/
-/*
- * Return values
- */
/**
- * Constant which describes success when returned by JNI API functions
- */
+ * @name Return Value Constants
+ * @{*/
+
+/** Describes success, when returned by JNI API functions.*/
#define JNI_OK 0
-/**
- * Constant which describes an error when returned by JNI API
- * functions
- */
+/** Describes an error, when returned by JNI API functions.*/
#define JNI_ERR (-1)
/**
- * Constant which describes a deatached thread condition when returned
- * by JNI API functions
+ * Describes a deatached thread condition, when returned by JNI API functions.
*/
#define JNI_EDETACHED (-2)
/**
- * Constant which describes wrong JNI interface verions when returned
- * by JNI API functions
+ * Describes wrong JNI interface versions, when returned by JNI API functions.
*/
#define JNI_EVERSION (-3)
/**
- * Constant which describes out of memory condition when returned by
- * JNI API functions
+ * Describes the out-of-memory condition, when returned by JNI API functions.
*/
#define JNI_ENOMEM (-4)
/**
- * Constant which means that a limited resource already exists when
- * returned by JNI API functions
+ * Means that a limited resource already exists, when returned by JNI API
+ * functions.
*/
#define JNI_EEXIST (-5)
/**
- * Constant which means that an illegal argument value was passed to a
- * JNI function
+ * Means that an illegal argument value was passed to the JNI function.
*/
#define JNI_EINVAL (-6)
+/** @}*/
-/*
- * Release modes for working with arrays.
- */
/**
- * Constant which means that an array region should be committed into
- * memory. Used in ReleaseArrayElements functions
+ * @name Release Modes for Working with Arrays Constants
+ * @{*/
+
+/**
+ * Means that the array region should be committed into memory. This constant is
+ * used in ReleaseArrayElements functions.
*/
#define JNI_COMMIT 1
/**
- * Constant which means that an array region should be discarded. Used
- * in ReleaseArrayElements functions
+ * Means that the array region should be discarded. This constant is used
+ * in ReleaseArrayElements functions.
*/
#define JNI_ABORT 2
+/** @}*/
-/*
- * Used as a generic pointer to a function.
- */
/**
- * Structure which describes a generic pointer to a native
- * function. Used in RegisterNatives
- * function.
+ * @name Constants Used as a Generic Pointer to a Function
+ * @{*/
+
+/**
+ * Describes the generic pointer to the native function. This structure is used
+ * in the
+ * RegisterNatives function as a generic pointer to the function.
*/
typedef struct {
char *name;
char *signature;
void *fnPtr;
} JNINativeMethod;
+/** @}*/
-/*
- * JNI Native Method Interface
- */
+/**
+ * @name JNI Native Method Interface
+ * @{*/
struct JNINativeInterface_;
struct JNIEnv_External;
#ifdef __cplusplus
/**
- * JNI API interface table type for usage in C++
+ * The JNI API interface table type used in C++.
*
- * See specification
- * for details. */
+ * @sa
+ * Java Native Interface Specification
+ */
typedef JNIEnv_External JNIEnv;
#else
/**
- * JNI API interface table type for usage in C
+ * The JNI API interface table type used in C.
*
- * See specification
- * for details. */
+ * @sa
+ * Java Native Interface Specification
+ */
typedef const struct JNINativeInterface_ *JNIEnv;
#endif
+/** @}*/
-/*
- * JNI Invocation Interface
- */
+/**
+ * @name JNI Invocation Interface
+ * @{*/
struct JNIInvokeInterface_;
struct JavaVM_External;
#ifdef __cplusplus
/**
- * Java VM interface table type for usage in C++
+ * The Java VM interface table type used in C++.
*
- * See specification
- * for details
+ * @sa
+ * Java Native Interface Specification
*/
typedef JavaVM_External JavaVM;
#else
/**
- * Java VM interface table type for usage in C
+ * The Java VM interface table type used in C.
*
- * See specification
- * for details
+ * @sa
+ * Java Native Interface Specification
*/
typedef const struct JNIInvokeInterface_ *JavaVM;
#endif
-
+/** @}*/
#endif /* _JNI_TYPES_H_ */
Index: include/jvmti.h
===================================================================
--- include/jvmti.h (revision 525049)
+++ include/jvmti.h (working copy)
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
#ifndef _JVMTI_H_
#define _JVMTI_H_
@@ -23,45 +23,50 @@
#include "jni.h"
#include "jvmti_types.h"
-/*
- * Supported JVMTI versions
+/**
+ * @file
+ * Supported JVMTI versions.
*/
-/** Constant which specifies JNI interface mask */
+/** The constant specifying the JNI interface mask.*/
#define JVMTI_VERSION_INTERFACE_JNI 0x00000000
-/** Constant which specifies JVMTI interface mask */
+/** The constant specifying the JVMTI interface mask.*/
#define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
-/** Constant which specifies VM externals interface mask */
+/** The constant specifying the VM externals interface mask.*/
#define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
-/** Constant which specifies major JVMTI version interface mask */
+/** The constant specifying the major JVMTI version interface mask.*/
#define JVMTI_VERSION_MASK_MAJOR 0x0FFF0000
-/** Constant which specifies minor JVMTI version interface mask */
+/** The constant specifying the minor JVMTI version interface mask.*/
#define JVMTI_VERSION_MASK_MINOR 0x0000FF00
-/** Constant which specifies micro JVMTI version interface mask */
+/** The constant specifying the micro JVMTI version interface mask.*/
#define JVMTI_VERSION_MASK_MICRO 0x000000FF
-/** Constant which specifies major JVMTI version left shit */
+/** The constant specifying the major JVMTI version left shit.*/
#define JVMTI_VERSION_SHIFT_MAJOR 16
-/** Constant which specifies minor JVMTI version left shit */
+/** The constant specifying the minor JVMTI version left shit.*/
#define JVMTI_VERSION_SHIFT_MINOR 8
-/** Constant which specifies micro JVMTI version left shit */
+/** The constant specifying the micro JVMTI version left shit.*/
#define JVMTI_VERSION_SHIFT_MICRO 0
-/** JVMTI major version supported by VM */
+/** The JVMTI major version supported by VM.*/
#define JVMTI_VERSION_MAJOR 1
-/** JVMTI minor version supported by VM */
+/** The JVMTI minor version supported by VM.*/
#define JVMTI_VERSION_MINOR 0
-/** JVMTI micro version supported by VM */
+/** The JVMTI micro version supported by VM.*/
#define JVMTI_VERSION_MICRO 36
-/** Constant which defines JVMTI version identifier for JVMTI version
- * 1.0.0 */
+/**
+ * The constant defining the JVMTI version identifier for JVMTI, version
+ * 1.0.0.
+ */
#define JVMTI_VERSION_1_0 \
(JVMTI_VERSION_INTERFACE_JVMTI | \
(JVMTI_VERSION_MAJOR << JVMTI_VERSION_SHIFT_MAJOR) | \
(0 << JVMTI_VERSION_SHIFT_MINOR) | \
(0 << JVMTI_VERSION_SHIFT_MICRO))
-/** Constant which defines JVMTI version identifier for JVMTI version
- * supported by VM */
+/**
+ * The constant defining the JVMTI version identifier for the JVMTI version
+ * supported by VM.
+ */
#define JVMTI_VERSION \
(JVMTI_VERSION_INTERFACE_JVMTI | \
(JVMTI_VERSION_MAJOR << JVMTI_VERSION_SHIFT_MAJOR) | \
@@ -73,23 +78,24 @@
{
#endif
- /**
- * Agent StartUp function prototype which should be exported by agent library
- *
- * See specification
- * for details.
- */
+/**
+ * The agent StartUp function prototype, which should be exported
+ * by the agent library.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JNIEXPORT jint JNICALL
Agent_OnLoad(JavaVM * vm, char *options, void *reserved);
-
- /**
- * Agent Shutdown prototype which should be exported by agent library
- *
- * See specification
- * for details.
- */
+/**
+ * The agent Shutdown prototype, which should be exported by the
+ * agent library.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM * vm);
#ifdef __cplusplus
@@ -97,11 +103,11 @@
#endif
/**
- * JVMTI interface functions table for use in C sources
+ * The JVMTI interface functions table for use in C sources.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
struct ti_interface
{
@@ -700,11 +706,11 @@
/**
- * JVMTI interface functions table for use in C++ sources
+ * The JVMTI interface functions table for use in C++ sources.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
struct jvmtiEnv_struct
{
Index: include/jvmti_types.h
===================================================================
--- include/jvmti_types.h (revision 525049)
+++ include/jvmti_types.h (working copy)
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -17,11 +17,11 @@
/**
* @file
- * Definition of JVMTI interface types
+ * The JVMTI interface type definitions.
*
- * See specification
- * for details.
+ * @sa
+ * Java Native Interface Specification
*/
#ifndef _JVMTI_TYPES_H_
#define _JVMTI_TYPES_H_
@@ -32,94 +32,90 @@
extern "C"
{
#endif
+/** Basic types*/
- /**
- * Basic types
- */
struct ti_interface;
struct jvmtiEnv_struct;
#ifdef __cplusplus
- /**
- * JVMTI environment definition for use in C++ sources
- *
- * See specification
- * for details.
- */
+/**
+ * The JVMTI environment definition used in C++ sources.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef jvmtiEnv_struct jvmtiEnv;
#else
- /**
- * JVMTI environment definition for use in C sources
- *
- * See specification
- * for details.
- */
+/**
+ * The JVMTI environment definition used in C sources.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef const struct ti_interface *jvmtiEnv;
#endif
- /**
- * Reference type which describes a java.lang.Thread instance
- * object in native function
- *
- * See specification
- * for details.
- */
+/**
+ * The reference type describing the java.lang.Thread instance
+ * object in the native function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef jobject jthread;
- /**
- * 64-bit type which defines executable positon inside of method
- *
- * See specification
- * for details.
- */
+/**
+ * The 64-bit type defining the executable positon inside of the method.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef jlong jlocation;
- /**
- * Reference type which describes a java.lang.ThreadGroup instance
- * object in native function
- *
- * See specification
- * for details.
- */
+/**
+ * The reference type describing the java.lang.ThreadGroup
+ * instance object in the native function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef jobject jthreadGroup;
- /**
- * Raw monitor ID type
- *
- * See specification
- * for details.
- */
+/**
+ * The raw monitor ID type.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef int jrawMonitorID;
- /**
- * JNI API interface table type for usage in C
- *
- * See specification
- * for details. */
+/**
+ * The JNI API interface table type used in C.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef struct JNINativeInterface_ jniNativeInterface;
-
-
- /**
- * Pointer to a function which could be launched as a separate
- * agent thread
- *
- * See specification
- * for details.
- */
+/**
+ * The function pointer that can be launched as a separate agent thread.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef void (JNICALL * jvmtiStartFunction)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, void *arg);
- /**
- * Error codes which JVMTI API functions may return
- *
- * See specification
- * for details.
- */
+/**
+ * Error codes that JVMTI API functions may return.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_ERROR_NONE = 0,
@@ -172,75 +168,74 @@
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71,
JVMTI_NYI = 666
} jvmtiError;
-
- /**
- * Class status flags which GetClassStatus
- * function may return
- */
+/**
+ * Class-status flags that the
+ * GetClassStatus function may return.
+ */
+
enum
{
- /**
- * Class bytecodes have been verified
- *
- * See specification
- * for details.
- */
+/**
+ * Class bytecodes have been verified.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_VERIFIED = 1,
- /**
- * Class preparation is complete
- *
- * See specification
- * for details.
- */
+/**
+ * The class preparation is complete.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_PREPARED = 2,
- /**
- * Class initialization is complete. Static initializer has been run
- *
- * See specification
- * for details.
- */
+/**
+ * The class initialization is complete. The static initializer has been run.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_INITIALIZED = 4,
- /**
- * Error during initialization makes class unusable
- *
- * See specification
- * for details.
- */
+/**
+ * The initialization error making the class unusable.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_ERROR = 8,
- /**
- * Class is an array. If set, all other bits are zero
- *
- * See specification
- * for details.
- */
+/**
+ * The class is an array. If set, all other bits are zero.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_ARRAY = 16,
- /**
- * Class is a primitive class (for example,
- * java.lang.Integer.TYPE). If set, all other
- * bits are zero
- *
- * See specification
- * for details.
- */
+/**
+ * The class is a primitive class (for example,
+ * java.lang.Integer.TYPE). If set, all other bits are zero.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
JVMTI_CLASS_STATUS_PRIMITIVE = 32
};
- /**
- * Thread states which may be returned by GetThreadState
- * function
- *
- * See specification
- * for details.
- */
+/**
+ * Thread states that may be returned by the
+ * GetThreadState function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
enum
{
JVMTI_THREAD_STATE_ALIVE = 0x0001,
@@ -261,16 +256,17 @@
JVMTI_THREAD_STATE_VENDOR_3 = 0x40000000
};
- /**
- * Thread states masks which may be used to filter out thread
- * states in bit mask returned by specification
- * function
- *
- * See specification
- * for details.
- */
+/**
+ * Thread state masks that may be used to filter out thread states in the bit
+ * mask returned by
+ * specification function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
enum
{
JVMTI_JAVA_LANG_THREAD_STATE_MASK =
@@ -295,13 +291,14 @@
JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
};
- /**
- * Thread priorities
- *
- * See specification
- * for details.
- */
+/**
+ * Thread priorities.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
enum
{
JVMTI_THREAD_MIN_PRIORITY = 1,
@@ -309,15 +306,16 @@
JVMTI_THREAD_MAX_PRIORITY = 10
};
- /**
- * Thread information structure returned by GetThreadInfo
- * function
- *
- * See specification
- * for details.
- */
+/**
+ * The thread information structure returned by the
+ * GetThreadInfo function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef struct
{
char *name;
@@ -327,15 +325,16 @@
jobject context_class_loader;
} jvmtiThreadInfo;
- /**
- * Thread group information structure returned by GetThreadGroupInfo
- * function
- *
- * See specification
- * for details.
- */
+/**
+ * The thread group information structure returned by the
+ * GetThreadGroupInfo function.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jthreadGroup parent;
@@ -344,26 +343,25 @@
jboolean is_daemon;
} jvmtiThreadGroupInfo;
- /**
- * Single stack frame information structure
- *
- * See specification
- * for details.
- */
+/**
+ * The single stack-frame information structure.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef struct
{
jmethodID method;
jlocation location;
} jvmtiFrameInfo;
-
- /**
- * Single thread stack information structure
- *
- * See specification
- * for details.
- */
+/**
+ * The single thread-stack information structure.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef struct
{
jthread thread;
@@ -372,14 +370,14 @@
jint frame_count;
} jvmtiStackInfo;
- /**
- * Event numbers. Custom events could be added after
- * JVMTI_MAX_EVENT_TYPE_VAL.
- *
- * See specification
- * for details.
- */
+/**
+ * Event numbers. Custom events can be added after
+ * JVMTI_MAX_EVENT_TYPE_VAL.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_MIN_EVENT_TYPE_VAL = 50,
@@ -417,20 +415,19 @@
JVMTI_MAX_EVENT_TYPE_VAL = 84
} jvmtiEvent;
- /**
- * Total number of events specified in JVMTI interface
- */
+/** The total number of events specified in the JVMTI interface.*/
#define TOTAL_EVENT_TYPE_NUM (JVMTI_MAX_EVENT_TYPE_VAL - JVMTI_MIN_EVENT_TYPE_VAL + 1)
- /**
- * Root types used in JVMTI heap
- * iteration
- *
- * See specification
- * for details.
- */
+/**
+ * Root types used in the JVMTI heap
+ * iteration.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_HEAP_ROOT_JNI_GLOBAL = 1,
@@ -441,32 +438,30 @@
JVMTI_HEAP_ROOT_THREAD = 6,
JVMTI_HEAP_ROOT_OTHER = 7
} jvmtiHeapRootKind;
-
- /**
- * Generic iteration control used in JVMTI heap
- * iteration
- *
- * See specification
- * for details.
- */
+/**
+ * The generic iteration control used in the JVMTI heap
+ * iteration.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_ITERATION_CONTINUE = 1,
JVMTI_ITERATION_IGNORE = 2,
JVMTI_ITERATION_ABORT = 0
} jvmtiIterationControl;
-
- /**
- * Describes enumerated references in JVMTI heap
- * iteration
- *
- * See specification
- * for details.
- */
+/**
+ * Describes enumerated references in the JVMTI heap
+ * iteration.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_REFERENCE_CLASS = 1,
@@ -479,30 +474,28 @@
JVMTI_REFERENCE_STATIC_FIELD = 8,
JVMTI_REFERENCE_CONSTANT_POOL = 9
} jvmtiObjectReferenceKind;
-
- /**
- * Tagged objects filters used in JVMTI heap
- * iteration
- *
- * See specification
- * for details.
- */
+/**
+ * Tagged objects filters used in the JVMTI heap
+ * iteration.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_HEAP_OBJECT_TAGGED = 1,
JVMTI_HEAP_OBJECT_UNTAGGED = 2,
JVMTI_HEAP_OBJECT_EITHER = 3
} jvmtiHeapObjectFilter;
-
- /**
- * Monitor usage information structure
- *
- * See specification
- * for details.
- */
+/**
+ * The monitor usage information structure.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef struct
{
jthread owner;
@@ -512,27 +505,26 @@
jint notify_waiter_count;
jthread *notify_waiters;
} jvmtiMonitorUsage;
-
- /**
- * Line numbers information structure
- *
- * See specification
- * for details.
- */
+/**
+ * The line-number information structure.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
typedef struct
{
jlocation start_location;
jint line_number;
} jvmtiLineNumberEntry;
+/**
+ * The local-variable information structure.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
- /**
- * Local variables information structure
- *
- * See specification
- * for details.
- */
typedef struct
{
jlocation start_location;
@@ -543,176 +535,191 @@
jint slot;
} jvmtiLocalVariableEntry;
- /**
- * Callback function type for VMInit event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the VMInit event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventVMInit)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
- /**
- * Callback function type for SingleStep event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the SingleStep event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventSingleStep)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jlocation location);
- /**
- * Callback function type for Breakpoint event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the Breakpoint event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventBreakpoint)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jlocation location);
- /**
- * Callback function type for FieldAccess event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the FieldAccess event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventFieldAccess)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jlocation location, jclass field_clazz,
jobject object, jfieldID field);
- /**
- * Callback function type for FieldModification event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the FieldModification event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventFieldModification)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jlocation location, jclass field_clazz,
jobject object, jfieldID field, char signature_type, jvalue new_value);
- /**
- * Callback function type for FramePop event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the FramePop event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventFramePop)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jboolean was_popped_by_exception);
- /**
- * Callback function type for MethodEntry event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the MethodEntry event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMethodEntry)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method);
- /**
- * Callback function type for MethodExit event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for MethodExit event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMethodExit)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jboolean was_popped_by_exception, jvalue return_value);
- /**
- * Callback function type for NativeMethodBind event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the NativeMethodBind event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventNativeMethodBind)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, void *address, void **new_address_ptr);
- /**
- * Callback function type for Exception event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the Exception event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventException)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jmethodID method, jlocation location, jobject exception,
jmethodID catch_method, jlocation catch_location);
- /**
- * Callback function type for ExceptionCatch event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ExceptionCatch event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventExceptionCatch)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env,
jthread thread, jmethodID method, jlocation location, jobject exception);
- /**
- * Callback function type for ThreadStart event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ThreadStart event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventThreadStart)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
- /**
- * Callback function type for ThreadEnd event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ThreadEnd event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventThreadEnd)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
- /**
- * Callback function type for ClassLoad event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ClassLoad event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventClassLoad)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jclass clazz);
- /**
- * Callback function type for ClassPrepare event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ClassPrepare event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventClassPrepare)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jclass clazz);
- /**
- * Callback function type for ClassFileLoadHook event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ClassFileLoadHook event.
+ *
+ * @sa
+ * Java Native Interface Specification*/
+
typedef void (JNICALL * jvmtiEventClassFileLoadHook)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env,
jclass class_being_redefined, jobject loader,
@@ -720,183 +727,199 @@
jint class_data_len, const unsigned char *class_data,
jint * new_class_data_len, unsigned char **new_class_data);
- /**
- * Callback function type for VMStart event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the VMStart event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventVMStart)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env);
- /**
- * Callback function type for VMDeath event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the VMDeath event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventVMDeath)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env);
- /**
- * Native to bytecode location mapping information
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
const void *start_address;
jlocation location;
} jvmtiAddrLocationMap;
- /**
- * Callback function type for CompiledMethodLoad event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the CompiledMethodLoad event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventCompiledMethodLoad)
(jvmtiEnv * jvmti_env, jmethodID method, jint code_size,
const void *code_addr, jint map_length,
const jvmtiAddrLocationMap * almap, const void *compile_info);
- /**
- * Callback function type for CompiledMethodUnload event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the CompiledMethodUnload event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventCompiledMethodUnload)
(jvmtiEnv * jvmti_env, jmethodID method, const void *code_addr);
- /**
- * Callback function type for DynamicCodeGenerated event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the DynamicCodeGenerated event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventDynamicCodeGenerated)
(jvmtiEnv * jvmti_env,
const char *name, const void *address, jint length);
- /**
- * Callback function type for DataDumpRequest event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the DataDumpRequest event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventDataDumpRequest) (jvmtiEnv * jvmti_env);
- /**
- * Callback function type for DataResetRequest event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the DataResetRequest event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventDataResetRequest) (jvmtiEnv * jvmti_env);
- /**
- * Callback function type for MonitorContendedEnter event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the MonitorContendedEnter event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMonitorContendedEnter)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jobject object);
- /**
- * Callback function type for MonitorContendedEntered event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the MonitorContendedEntered event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMonitorContendedEntered)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jobject object);
- /**
- * Callback function type for MonitorWait event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the MonitorWait event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMonitorWait)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jobject object, jlong timeout);
- /**
- * Callback function type for MonitorWaited event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the MonitorWaited event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventMonitorWaited)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jobject object, jboolean timed_out);
- /**
- * Callback function type for VMObjectAlloc event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the VMObjectAlloc event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventVMObjectAlloc)
(jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
jobject object, jclass object_clazz, jlong size);
- /**
- * Callback function type for ObjectFree event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the ObjectFree event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventObjectFree)
(jvmtiEnv * jvmti_env, jlong tag);
- /**
- * Callback function type for GarbageCollectionStart event
- *
- * See specification
- * for details.
- */
+/**
+ * The callback function type for the GarbageCollectionStart event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventGarbageCollectionStart)
(jvmtiEnv * jvmti_env);
- /**
- * Callback function type for GarbageCollectionFinish event
- *
- * See specification for details.
- */
+/**
+ * The callback function type for the GarbageCollectionFinish event.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef void (JNICALL * jvmtiEventGarbageCollectionFinish)
(jvmtiEnv * jvmti_env);
- /**
- * Callback type for reserved event types
- */
+/** The callback type for reserved event types.*/
typedef void *jvmtiEventReserved;
- /**
- * Event callbacks table
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jvmtiEventVMInit VMInit;
@@ -936,14 +959,13 @@
jvmtiEventVMObjectAlloc VMObjectAlloc;
} jvmtiEventCallbacks;
-
- /**
- * Arguments kinds for extension events callbacks
- *
- * See
+ * Java Native Interface Specification
+ */
typedef enum
{
JVMTI_KIND_IN = 91,
@@ -955,13 +977,14 @@
JVMTI_KIND_OUT_BUF = 97
} jvmtiParamKind;
- /**
- * Arguments types for extension events callbacks
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_TYPE_JBYTE = 101,
@@ -983,13 +1006,14 @@
JVMTI_TYPE_JNIENV = 117
} jvmtiParamTypes;
- /**
- * Arguments information for extension events callbacks
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
char *name;
@@ -998,36 +1022,39 @@
jboolean null_ok;
} jvmtiParamInfo;
- /**
- * Callback function type for extension events
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef jvmtiError
(JNICALL * jvmtiExtensionFunction) (jvmtiEnv * jvmti_env, ...);
- /**
- * Event generation mode
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_ENABLE = 1,
JVMTI_DISABLE = 0
} jvmtiEventMode;
- /**
- * Extenstion functions information structure
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jvmtiExtensionFunction func;
@@ -1039,13 +1066,14 @@
jvmtiError *errors;
} jvmtiExtensionFunctionInfo;
- /**
- * Extension events information structure
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jint extension_event_index;
@@ -1055,13 +1083,14 @@
jvmtiParamInfo *params;
} jvmtiExtensionEventInfo;
- /**
- * Bit table of JVMTI capabilities supported by VM
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
unsigned int can_tag_objects:1;
@@ -1105,27 +1134,29 @@
unsigned int:16;
} jvmtiCapabilities;
- /**
- * Timer type identifier
- *
- * See
+ * Java Native Interface Specification
+ */
+
+ typedef enum
{
JVMTI_TIMER_USER_CPU = 30,
JVMTI_TIMER_TOTAL_CPU = 31,
JVMTI_TIMER_ELAPSED = 32
} jvmtiTimerKind;
- /**
- * Timer information structure
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jlong max_value;
@@ -1136,13 +1167,14 @@
jlong reserved2;
} jvmtiTimerInfo;
- /**
- * VM operation phase identifier
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_PHASE_ONLOAD = 1,
@@ -1152,13 +1184,14 @@
JVMTI_PHASE_DEAD = 8
} jvmtiPhase;
- /**
- * VM verbosity level
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_VERBOSE_OTHER = 0,
@@ -1167,13 +1200,14 @@
JVMTI_VERBOSE_JNI = 4
} jvmtiVerboseFlag;
- /**
- * JLocation format identifier
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef enum
{
JVMTI_JLOCATION_JVMBCI = 1,
@@ -1181,73 +1215,75 @@
JVMTI_JLOCATION_OTHER = 0
} jvmtiJlocationFormat;
- /**
- * Callback function type for heap
- * iteration callback which is called for all objects
- *
- * See heap
+ * iteration callback, called for all objects.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef jvmtiIterationControl
(JNICALL * jvmtiHeapObjectCallback)
(jlong class_tag, jlong size, jlong * tag_ptr, void *user_data);
- /**
- * Callback function type for heap
- * iteration callback which is called for all root set
- * references
- *
- * See heap
+ * iteration callback, called for all root set references.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef jvmtiIterationControl
(JNICALL * jvmtiHeapRootCallback)
(jvmtiHeapRootKind root_kind, jlong class_tag, jlong size,
jlong * tag_ptr, void *user_data);
- /**
- * Callback function type for heap
- * iteration callback which is called for objects referenced
- * from thread stacks
- *
- * See heap
+ * iteration callback, called for objects referenced from thread stacks.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef jvmtiIterationControl
(JNICALL * jvmtiStackReferenceCallback)
(jvmtiHeapRootKind root_kind, jlong class_tag, jlong size,
jlong * tag_ptr, jlong thread_tag, jint depth, jmethodID method,
jint slot, void *user_data);
- /**
- * Callback function type for heap
- * iteration callback which is called for objects referenced
- * from object fields
- *
- * See heap
+ * iteration callback, called for objects referenced from object fields.
+ *
+ * @sa
+ * Java Native Interface Specification
+ */
+
typedef jvmtiIterationControl
(JNICALL * jvmtiObjectReferenceCallback)
(jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size,
jlong * tag_ptr, jlong referrer_tag, jint referrer_index,
void *user_data);
- /**
- * Class redefinition information structure
- *
- * See
+ * Java Native Interface Specification
+ */
+
typedef struct
{
jclass klass;