| Arnaldo Carvalho de Melo | 45694aa | 2011-11-28 08:30:20 -0200 | [diff] [blame] | 1 | #ifndef __PERF_TOOL_H | 
 | 2 | #define __PERF_TOOL_H | 
 | 3 |  | 
| Arnaldo Carvalho de Melo | ee29be6 | 2011-11-28 17:57:40 -0200 | [diff] [blame] | 4 | #include <stdbool.h> | 
 | 5 |  | 
| Arnaldo Carvalho de Melo | 45694aa | 2011-11-28 08:30:20 -0200 | [diff] [blame] | 6 | struct perf_session; | 
| Arnaldo Carvalho de Melo | ee29be6 | 2011-11-28 17:57:40 -0200 | [diff] [blame] | 7 | union perf_event; | 
 | 8 | struct perf_evlist; | 
| Arnaldo Carvalho de Melo | 45694aa | 2011-11-28 08:30:20 -0200 | [diff] [blame] | 9 | struct perf_evsel; | 
| Arnaldo Carvalho de Melo | ee29be6 | 2011-11-28 17:57:40 -0200 | [diff] [blame] | 10 | struct perf_sample; | 
| Arnaldo Carvalho de Melo | 45694aa | 2011-11-28 08:30:20 -0200 | [diff] [blame] | 11 | struct perf_tool; | 
 | 12 | struct machine; | 
 | 13 |  | 
 | 14 | typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, | 
 | 15 | 			    struct perf_sample *sample, | 
 | 16 | 			    struct perf_evsel *evsel, struct machine *machine); | 
 | 17 |  | 
 | 18 | typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, | 
 | 19 | 			struct perf_sample *sample, struct machine *machine); | 
 | 20 |  | 
 | 21 | typedef int (*event_attr_op)(union perf_event *event, | 
 | 22 | 			     struct perf_evlist **pevlist); | 
 | 23 | typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event); | 
 | 24 |  | 
 | 25 | typedef int (*event_synth_op)(union perf_event *event, | 
 | 26 | 			      struct perf_session *session); | 
 | 27 |  | 
 | 28 | typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event, | 
 | 29 | 			 struct perf_session *session); | 
 | 30 |  | 
 | 31 | struct perf_tool { | 
 | 32 | 	event_sample	sample, | 
 | 33 | 			read; | 
 | 34 | 	event_op	mmap, | 
 | 35 | 			comm, | 
 | 36 | 			fork, | 
 | 37 | 			exit, | 
 | 38 | 			lost, | 
 | 39 | 			throttle, | 
 | 40 | 			unthrottle; | 
 | 41 | 	event_attr_op	attr; | 
 | 42 | 	event_synth_op	tracing_data; | 
 | 43 | 	event_simple_op	event_type; | 
 | 44 | 	event_op2	finished_round, | 
 | 45 | 			build_id; | 
 | 46 | 	bool		ordered_samples; | 
 | 47 | 	bool		ordering_requires_timestamps; | 
 | 48 | }; | 
 | 49 |  | 
 | 50 | #endif /* __PERF_TOOL_H */ |