GNU Linux-libre 4.9.314-gnu1
[releases.git] / tools / perf / jvmti / jvmti_agent.h
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__ */