linux/tools/perf/util/tool.h
<<
>>
Prefs
   1#ifndef __PERF_TOOL_H
   2#define __PERF_TOOL_H
   3
   4#include <stdbool.h>
   5
   6struct perf_session;
   7union perf_event;
   8struct perf_evlist;
   9struct perf_evsel;
  10struct perf_sample;
  11struct perf_tool;
  12struct machine;
  13
  14typedef 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
  18typedef int (*event_op)(struct perf_tool *tool, union perf_event *event,
  19                        struct perf_sample *sample, struct machine *machine);
  20
  21typedef int (*event_attr_op)(union perf_event *event,
  22                             struct perf_evlist **pevlist);
  23typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event);
  24
  25typedef int (*event_synth_op)(union perf_event *event,
  26                              struct perf_session *session);
  27
  28typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event,
  29                         struct perf_session *session);
  30
  31struct 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 */
  51