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 } jvmti_line_info_t; 18 19 void *jvmti_open(void); 20 int jvmti_close(void *agent); 21 int jvmti_write_code(void *agent, char const *symbol_name, 22 uint64_t vma, void const *code, 23 const unsigned int code_size); 24 25 int jvmti_write_debug_info(void *agent, 26 uint64_t code, 27 const char *file, 28 jvmti_line_info_t *li, 29 int nr_lines); 30 31 #if defined(__cplusplus) 32 } 33 34 #endif 35 #endif /* __JVMTI_H__ */ 36