1 #ifndef __JVMTI_AGENT_H__ 2 #define __JVMTI_AGENT_H__ 3 4 #include <sys/types.h> 5 #include <stdint.h> 6 #include <jvmti.h> 7 8 #define __unused __attribute__((unused)) 9 10 #if defined(__cplusplus) 11 extern "C" { 12 #endif 13 14 typedef struct { 15 unsigned long pc; 16 int line_number; 17 int discrim; /* discriminator -- 0 for now */ 18 } jvmti_line_info_t; 19 20 void *jvmti_open(void); 21 int jvmti_close(void *agent); 22 int jvmti_write_code(void *agent, char const *symbol_name, 23 uint64_t vma, void const *code, 24 const unsigned int code_size); 25 26 int jvmti_write_debug_info(void *agent, 27 uint64_t code, 28 const char *file, 29 jvmti_line_info_t *li, 30 int nr_lines); 31 32 #if defined(__cplusplus) 33 } 34 35 #endif 36 #endif /* __JVMTI_H__ */ 37