tool.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __PERF_TOOL_H
  2. #define __PERF_TOOL_H
  3. struct perf_session;
  4. struct perf_evsel;
  5. struct perf_tool;
  6. struct machine;
  7. typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event,
  8. struct perf_sample *sample,
  9. struct perf_evsel *evsel, struct machine *machine);
  10. typedef int (*event_op)(struct perf_tool *tool, union perf_event *event,
  11. struct perf_sample *sample, struct machine *machine);
  12. typedef int (*event_attr_op)(union perf_event *event,
  13. struct perf_evlist **pevlist);
  14. typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event);
  15. typedef int (*event_synth_op)(union perf_event *event,
  16. struct perf_session *session);
  17. typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event,
  18. struct perf_session *session);
  19. struct perf_tool {
  20. event_sample sample,
  21. read;
  22. event_op mmap,
  23. comm,
  24. fork,
  25. exit,
  26. lost,
  27. throttle,
  28. unthrottle;
  29. event_attr_op attr;
  30. event_synth_op tracing_data;
  31. event_simple_op event_type;
  32. event_op2 finished_round,
  33. build_id;
  34. bool ordered_samples;
  35. bool ordering_requires_timestamps;
  36. };
  37. #endif /* __PERF_TOOL_H */