at v5.6-rc6 85 lines 1.9 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PERF_TOOL_H 3#define __PERF_TOOL_H 4 5#include <stdbool.h> 6 7#include <linux/types.h> 8 9struct perf_session; 10union perf_event; 11struct evlist; 12struct evsel; 13struct perf_sample; 14struct perf_tool; 15struct machine; 16struct ordered_events; 17 18typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, 19 struct perf_sample *sample, 20 struct evsel *evsel, struct machine *machine); 21 22typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, 23 struct perf_sample *sample, struct machine *machine); 24 25typedef int (*event_attr_op)(struct perf_tool *tool, 26 union perf_event *event, 27 struct evlist **pevlist); 28 29typedef int (*event_op2)(struct perf_session *session, union perf_event *event); 30typedef s64 (*event_op3)(struct perf_session *session, union perf_event *event); 31typedef int (*event_op4)(struct perf_session *session, union perf_event *event, u64 data); 32 33typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event, 34 struct ordered_events *oe); 35 36enum show_feature_header { 37 SHOW_FEAT_NO_HEADER = 0, 38 SHOW_FEAT_HEADER, 39 SHOW_FEAT_HEADER_FULL_INFO, 40}; 41 42struct perf_tool { 43 event_sample sample, 44 read; 45 event_op mmap, 46 mmap2, 47 comm, 48 namespaces, 49 fork, 50 exit, 51 lost, 52 lost_samples, 53 aux, 54 itrace_start, 55 context_switch, 56 throttle, 57 unthrottle, 58 ksymbol, 59 bpf; 60 61 event_attr_op attr; 62 event_attr_op event_update; 63 event_op2 tracing_data; 64 event_oe finished_round; 65 event_op2 build_id, 66 id_index, 67 auxtrace_info, 68 auxtrace_error, 69 time_conv, 70 thread_map, 71 cpu_map, 72 stat_config, 73 stat, 74 stat_round, 75 feature; 76 event_op4 compressed; 77 event_op3 auxtrace; 78 bool ordered_events; 79 bool ordering_requires_timestamps; 80 bool namespace_events; 81 bool no_warn; 82 enum show_feature_header show_feat_hdr; 83}; 84 85#endif /* __PERF_TOOL_H */