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_tool *tool, union perf_event *event,
  30                         struct perf_session *session);
  31
  32typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
  33                        struct ordered_events *oe);
  34
  35typedef s64 (*event_op3)(struct perf_tool *tool, union perf_event *event,
  36                         struct perf_session *session);
  37
  38enum show_feature_header {
  39        SHOW_FEAT_NO_HEADER = 0,
  40        SHOW_FEAT_HEADER,
  41        SHOW_FEAT_HEADER_FULL_INFO,
  42};
  43
  44struct perf_tool {
  45        event_sample    sample,
  46                        read;
  47        event_op        mmap,
  48                        mmap2,
  49                        comm,
  50                        namespaces,
  51                        fork,
  52                        exit,
  53                        lost,
  54                        lost_samples,
  55                        aux,
  56                        itrace_start,
  57                        context_switch,
  58                        throttle,
  59                        unthrottle;
  60        event_attr_op   attr;
  61        event_attr_op   event_update;
  62        event_op2       tracing_data;
  63        event_oe        finished_round;
  64        event_op2       build_id,
  65                        id_index,
  66                        auxtrace_info,
  67                        auxtrace_error,
  68                        time_conv,
  69                        thread_map,
  70                        cpu_map,
  71                        stat_config,
  72                        stat,
  73                        stat_round,
  74                        feature;
  75        event_op3       auxtrace;
  76        bool            ordered_events;
  77        bool            ordering_requires_timestamps;
  78        bool            namespace_events;
  79        bool            no_warn;
  80        enum show_feature_header show_feat_hdr;
  81};
  82
  83#endif /* __PERF_TOOL_H */
  84