51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#ifndef __PERF_TOOL_H
|
|
#define __PERF_TOOL_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
struct perf_session;
|
|
union perf_event;
|
|
struct perf_evlist;
|
|
struct perf_evsel;
|
|
struct perf_sample;
|
|
struct perf_tool;
|
|
struct machine;
|
|
|
|
typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event,
|
|
struct perf_sample *sample,
|
|
struct perf_evsel *evsel, struct machine *machine);
|
|
|
|
typedef int (*event_op)(struct perf_tool *tool, union perf_event *event,
|
|
struct perf_sample *sample, struct machine *machine);
|
|
|
|
typedef int (*event_attr_op)(union perf_event *event,
|
|
struct perf_evlist **pevlist);
|
|
typedef int (*event_simple_op)(struct perf_tool *tool, union perf_event *event);
|
|
|
|
typedef int (*event_synth_op)(union perf_event *event,
|
|
struct perf_session *session);
|
|
|
|
typedef int (*event_op2)(struct perf_tool *tool, union perf_event *event,
|
|
struct perf_session *session);
|
|
|
|
struct perf_tool {
|
|
event_sample sample,
|
|
read;
|
|
event_op mmap,
|
|
comm,
|
|
fork,
|
|
exit,
|
|
lost,
|
|
throttle,
|
|
unthrottle;
|
|
event_attr_op attr;
|
|
event_synth_op tracing_data;
|
|
event_simple_op event_type;
|
|
event_op2 finished_round,
|
|
build_id;
|
|
bool ordered_samples;
|
|
bool ordering_requires_timestamps;
|
|
};
|
|
|
|
#endif /* __PERF_TOOL_H */
|