/* src/native/jvmti.c - implementation of the Java Virtual Machine Tool
Interface functions
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
- C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
- E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
- J. Wenninger, Institut f. Computersprachen - TU Wien
+ Copyright (C) 1996-2005, 2006, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
+*/
- Author: Martin Platter
- Changes:
+#ifndef _JVMTI_H
+#define _JVMTI_H
-
- $Id: jvmti.h 4357 2006-01-22 23:33:38Z twisti $
+#include "config.h"
-*/
-#ifndef JVMTI_H
-#define JVMTI_H
+#include "native/jni.hpp"
-#include "native/jni.h"
-#include "native/include/java_lang_String.h"
-#include <sys/types.h>
+#define JVMTI_VERSION_INTERFACE_JNI 0x00000000
+#define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
+#define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
#define JVMTI_VERSION_1_0 0x30010000
+#define JVMTI_VERSION JVMTI_VERSION_1_0
+
typedef jobject jthread;
typedef jobject jthreadGroup;
typedef jlong jlocation;
struct _jrawMonitorID;
typedef struct _jrawMonitorID *jrawMonitorID;
-typedef struct jvmtiEnv_struct jvmtiEnv;
+typedef struct jvmtiEnv_struct *jvmtiEnv;
typedef enum {
JVMTI_ERROR_NONE = 0, /* No error has occurred. This is the error code that is
#define JVMTI_CLASS_STATUS_ARRAY 16
#define JVMTI_CLASS_STATUS_PRIMITIVE 32
-/* cacao specific */
-
-typedef struct {
- jvmtiEnv *jvmti_env;
- jthread thread;
- jmethodID method;
- jlocation location;
- jclass klass;
- jobject object;
- jfieldID field;
- char signature_type;
- jvalue value;
- jboolean b;
- void* address;
- void** new_address_ptr;
- jmethodID catch_method;
- jlocation catch_location;
- char* name;
- jobject protection_domain;
- jint jint1;
- jint jint2;
- unsigned char* class_data;
- jint* new_class_data_len;
- unsigned char** new_class_data;
- jvmtiAddrLocationMap* map;
- void* compile_info;
- jlong jlong;
-} genericEventData;
-
-#if defined(USE_THREADS) && defined(NATIVE_THREADS)
-struct _jrawMonitorID {
- java_lang_String *name;
-};
-#endif
-
-jvmtiEnv* new_jvmtienv();
-void set_jvmti_phase(jvmtiPhase p);
-pid_t debuggee;
-jvmtiEnv* remotedbgjvmtienv;
-jvmtiEventCallbacks jvmti_jdwp_EventCallbacks;
-void agentload(char* opt_arg);
-void agentunload();
#endif