linux/tools/perf/util/tool.h
<<
>>
Prefs
   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 perf_evlist;
  12struct perf_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 perf_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 perf_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_event;
  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 */
  86