1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __JVMTI_AGENT_H__ 3 #define __JVMTI_AGENT_H__ 4 5 #include <sys/types.h> 6 #include <stdint.h> 7 #include <jvmti.h> 8 9 #if defined(__cplusplus) 10 extern "C" { 11 #endif 12 13 typedef struct { 14 unsigned long pc; 15 int line_number; 16 int discrim; /* discriminator -- 0 for now */ 17 jmethodID methodID; 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, uint64_t code, int nr_lines, 27 jvmti_line_info_t *li, 28 const char * const * file_names); 29 30 #if defined(__cplusplus) 31 } 32 33 #endif 34 #endif /* __JVMTI_H__ */ 35