1 #ifndef __PERF_SESSION_H
2 #define __PERF_SESSION_H
6 #include <linux/rbtree.h>
11 struct perf_header header
;
13 unsigned long mmap_window
;
14 struct rb_root threads
;
15 struct thread
*last_match
;
22 typedef int (*event_op
)(event_t
*self
, struct perf_session
*session
);
24 struct perf_event_ops
{
25 event_op process_sample_event
;
26 event_op process_mmap_event
;
27 event_op process_comm_event
;
28 event_op process_fork_event
;
29 event_op process_exit_event
;
30 event_op process_lost_event
;
31 event_op process_read_event
;
32 event_op process_throttle_event
;
33 event_op process_unthrottle_event
;
34 int (*sample_type_check
)(u64 sample_type
);
35 unsigned long total_unknown
;
39 struct perf_session
*perf_session__new(const char *filename
, int mode
,
41 void perf_session__delete(struct perf_session
*self
);
43 int perf_session__process_events(struct perf_session
*self
,
44 struct perf_event_ops
*event_ops
);
46 int perf_header__read_build_ids(int input
, u64 offset
, u64 file_size
);
48 #endif /* __PERF_SESSION_H */