aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/probe-event.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/probe-event.h')
-rw-r--r--tools/perf/util/probe-event.h33
1 files changed, 18 insertions, 15 deletions
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index 9d99fc24c4fc..e7ff0d02c0d4 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -23,6 +23,7 @@ struct kprobe_trace_arg_ref {
23struct kprobe_trace_arg { 23struct kprobe_trace_arg {
24 char *name; /* Argument name */ 24 char *name; /* Argument name */
25 char *value; /* Base value */ 25 char *value; /* Base value */
26 char *type; /* Type name */
26 struct kprobe_trace_arg_ref *ref; /* Referencing offset */ 27 struct kprobe_trace_arg_ref *ref; /* Referencing offset */
27}; 28};
28 29
@@ -55,6 +56,8 @@ struct perf_probe_arg_field {
55/* Perf probe probing argument */ 56/* Perf probe probing argument */
56struct perf_probe_arg { 57struct perf_probe_arg {
57 char *name; /* Argument name */ 58 char *name; /* Argument name */
59 char *var; /* Variable name */
60 char *type; /* Type name */
58 struct perf_probe_arg_field *field; /* Structure fields */ 61 struct perf_probe_arg_field *field; /* Structure fields */
59}; 62};
60 63
@@ -71,25 +74,25 @@ struct perf_probe_event {
71/* Line number container */ 74/* Line number container */
72struct line_node { 75struct line_node {
73 struct list_head list; 76 struct list_head list;
74 unsigned int line; 77 int line;
75}; 78};
76 79
77/* Line range */ 80/* Line range */
78struct line_range { 81struct line_range {
79 char *file; /* File name */ 82 char *file; /* File name */
80 char *function; /* Function name */ 83 char *function; /* Function name */
81 unsigned int start; /* Start line number */ 84 int start; /* Start line number */
82 unsigned int end; /* End line number */ 85 int end; /* End line number */
83 int offset; /* Start line offset */ 86 int offset; /* Start line offset */
84 char *path; /* Real path name */ 87 char *path; /* Real path name */
85 struct list_head line_list; /* Visible lines */ 88 struct list_head line_list; /* Visible lines */
86}; 89};
87 90
88/* Command string to events */ 91/* Command string to events */
89extern void parse_perf_probe_command(const char *cmd, 92extern int parse_perf_probe_command(const char *cmd,
90 struct perf_probe_event *pev); 93 struct perf_probe_event *pev);
91extern void parse_kprobe_trace_command(const char *cmd, 94extern int parse_kprobe_trace_command(const char *cmd,
92 struct kprobe_trace_event *tev); 95 struct kprobe_trace_event *tev);
93 96
94/* Events to command string */ 97/* Events to command string */
95extern char *synthesize_perf_probe_command(struct perf_probe_event *pev); 98extern char *synthesize_perf_probe_command(struct perf_probe_event *pev);
@@ -101,22 +104,22 @@ extern int synthesize_perf_probe_arg(struct perf_probe_arg *pa, char *buf,
101extern bool perf_probe_event_need_dwarf(struct perf_probe_event *pev); 104extern bool perf_probe_event_need_dwarf(struct perf_probe_event *pev);
102 105
103/* Convert from kprobe_trace_event to perf_probe_event */ 106/* Convert from kprobe_trace_event to perf_probe_event */
104extern void convert_to_perf_probe_event(struct kprobe_trace_event *tev, 107extern int convert_to_perf_probe_event(struct kprobe_trace_event *tev,
105 struct perf_probe_event *pev); 108 struct perf_probe_event *pev);
106 109
107/* Release event contents */ 110/* Release event contents */
108extern void clear_perf_probe_event(struct perf_probe_event *pev); 111extern void clear_perf_probe_event(struct perf_probe_event *pev);
109extern void clear_kprobe_trace_event(struct kprobe_trace_event *tev); 112extern void clear_kprobe_trace_event(struct kprobe_trace_event *tev);
110 113
111/* Command string to line-range */ 114/* Command string to line-range */
112extern void parse_line_range_desc(const char *cmd, struct line_range *lr); 115extern int parse_line_range_desc(const char *cmd, struct line_range *lr);
113 116
114 117
115extern void add_perf_probe_events(struct perf_probe_event *pevs, int ntevs, 118extern int add_perf_probe_events(struct perf_probe_event *pevs, int ntevs,
116 bool force_add); 119 bool force_add);
117extern void del_perf_probe_events(struct strlist *dellist); 120extern int del_perf_probe_events(struct strlist *dellist);
118extern void show_perf_probe_events(void); 121extern int show_perf_probe_events(void);
119extern void show_line_range(struct line_range *lr); 122extern int show_line_range(struct line_range *lr);
120 123
121 124
122/* Maximum index number of event-name postfix */ 125/* Maximum index number of event-name postfix */