source: trunk/gcc/libjava/include/jvmpi.h@ 2878

Last change on this file since 2878 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 6.7 KB
Line 
1/* Copyright (C) 2000 Free Software Foundation
2
3 This file is part of libgcj.
4
5This software is copyrighted work licensed under the terms of the
6Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
7details. */
8
9/* Note: this file must be compilable by the C compiler (for now,
10 assuming GNU C is ok). This means you must never use `//'
11 comments, and all C++-specific code must be conditional on
12 __cplusplus. */
13
14#ifndef __GCJ_JVMPI_H__
15#define __GCJ_JVMPI_H__
16
17#include <jni.h>
18
19/* JVMPI version numbers. FIXME: this is a semi-random number. The
20 documentation doesn't say what it should be. */
21#define JVMPI_VERSION_1 0x00020001
22
23/* JVMPI return codes. FIXME: These are semi-random numbers. The
24 documentation doesn't say what they should be. */
25#define JVMPI_SUCCESS 0
26#define JVMPI_FAIL 1
27#define JVMPI_NOT_AVAILABLE 2
28
29/* An opaque pointer representing an object ID. */
30struct _jobjectID;
31typedef struct _jobjectID * jobjectID;
32
33typedef struct
34{
35 /* Source line number. */
36 jint lineno;
37 /* Method being executed. */
38 jmethodID method_id;
39} JVMPI_CallFrame;
40
41typedef struct
42{
43 JNIEnv *env_id;
44 /* Number of frames in the call trace. */
45 jint num_frames;
46 /* An array of frames representing the trace. Callees first. */
47 JVMPI_CallFrame *frames;
48} JVMPI_CallTrace;
49
50typedef struct
51{
52 /* Name of the field. */
53 char *field_name;
54 /* Signature of the field. */
55 char *field_signature;
56} JVMPI_Field;
57
58/* The documentation doesn't actually specify what the
59 JVMPI_DUMP_LEVEL macros should be defined to. Here's a reasonable
60 guess. */
61#define JVMPI_DUMP_LEVEL_0 0
62#define JVMPI_DUMP_LEVEL_1 1