diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2009-12-13 16:50:25 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-14 10:57:15 -0500 |
commit | 301a0b020210360c6e441c7765521248bc87d58e (patch) | |
tree | 5321a8ab67584d0aac0e3df9a749df1b4206460b /tools/perf/util/session.h | |
parent | d8f66248d6f25f7c935cc5307c43bf394db07272 (diff) |
perf session: Ditch register_perf_file_handler
Pass the event_ops to perf_session__process_events instead.
Also move the event_ops definition to session.h, starting to
move things around to their right place, trimming the many
unneeded headers we have.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1260741029-4430-2-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/session.h')
-rw-r--r-- | tools/perf/util/session.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index f3699c8c8ed4..7a4c32c545f4 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __PERF_SESSION_H | 1 | #ifndef __PERF_SESSION_H |
2 | #define __PERF_SESSION_H | 2 | #define __PERF_SESSION_H |
3 | 3 | ||
4 | #include "event.h" | ||
4 | #include "header.h" | 5 | #include "header.h" |
5 | 6 | ||
6 | struct perf_session { | 7 | struct perf_session { |
@@ -10,7 +11,30 @@ struct perf_session { | |||
10 | char filename[0]; | 11 | char filename[0]; |
11 | }; | 12 | }; |
12 | 13 | ||
13 | struct perf_session *perf_session__new(const char *filename, int mode, bool force); | 14 | typedef int (*event_op)(event_t *self, struct perf_session *session); |
15 | |||
16 | struct perf_event_ops { | ||
17 | event_op process_sample_event; | ||
18 | event_op process_mmap_event; | ||
19 | event_op process_comm_event; | ||
20 | event_op process_fork_event; | ||
21 | event_op process_exit_event; | ||
22 | event_op process_lost_event; | ||
23 | event_op process_read_event; | ||
24 | event_op process_throttle_event; | ||
25 | event_op process_unthrottle_event; | ||
26 | int (*sample_type_check)(u64 sample_type); | ||
27 | unsigned long total_unknown; | ||
28 | }; | ||
29 | |||
30 | struct perf_session *perf_session__new(const char *filename, int mode, | ||
31 | bool force); | ||
14 | void perf_session__delete(struct perf_session *self); | 32 | void perf_session__delete(struct perf_session *self); |
15 | 33 | ||
34 | int perf_session__process_events(struct perf_session *self, | ||
35 | struct perf_event_ops *event_ops, | ||
36 | int full_paths, int *cwdlen, char **cwd); | ||
37 | |||
38 | int perf_header__read_build_ids(int input, u64 offset, u64 file_size); | ||
39 | |||
16 | #endif /* __PERF_SESSION_H */ | 40 | #endif /* __PERF_SESSION_H */ |