perf tools: Pass tool context in the the perf_event_ops functions
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / header.h
index 3d5a742f4a2aee485021c962b8218adc4d74e4a5..54dae5f09556eb29d2e118f0840800c85657ca45 100644 (file)
@@ -68,6 +68,7 @@ struct perf_header {
 };
 
 struct perf_evlist;
+struct perf_session;
 
 int perf_session__read_header(struct perf_session *session, int fd);
 int perf_session__write_header(struct perf_session *session,
@@ -96,32 +97,40 @@ int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
                          const char *name, bool is_kallsyms);
 int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir);
 
-int perf_event__synthesize_attr(struct perf_event_attr *attr, u16 ids, u64 *id,
+int perf_event__synthesize_attr(struct perf_event_ops *ops,
+                               struct perf_event_attr *attr, u16 ids, u64 *id,
                                perf_event__handler_t process,
                                struct perf_session *session);
-int perf_session__synthesize_attrs(struct perf_session *session,
-                                  perf_event__handler_t process);
-int perf_event__process_attr(union perf_event *event, struct perf_session *session);
+int perf_event__synthesize_attrs(struct perf_event_ops *ops,
+                                struct perf_session *session,
+                                perf_event__handler_t process);
+int perf_event__process_attr(union perf_event *event, struct perf_evlist **pevlist);
 
-int perf_event__synthesize_event_type(u64 event_id, char *name,
+int perf_event__synthesize_event_type(struct perf_event_ops *ops,
+                                     u64 event_id, char *name,
                                      perf_event__handler_t process,
                                      struct perf_session *session);
-int perf_event__synthesize_event_types(perf_event__handler_t process,
+int perf_event__synthesize_event_types(struct perf_event_ops *ops,
+                                      perf_event__handler_t process,
                                       struct perf_session *session);
-int perf_event__process_event_type(union perf_event *event,
+int perf_event__process_event_type(struct perf_event_ops *ops,
+                                  union perf_event *event,
                                   struct perf_session *session);
 
-int perf_event__synthesize_tracing_data(int fd, struct perf_evlist *evlist,
+int perf_event__synthesize_tracing_data(struct perf_event_ops *ops,
+                                       int fd, struct perf_evlist *evlist,
                                        perf_event__handler_t process,
                                        struct perf_session *session);
 int perf_event__process_tracing_data(union perf_event *event,
                                     struct perf_session *session);
 
-int perf_event__synthesize_build_id(struct dso *pos, u16 misc,
+int perf_event__synthesize_build_id(struct perf_event_ops *ops,
+                                   struct dso *pos, u16 misc,
                                    perf_event__handler_t process,
                                    struct machine *machine,
                                    struct perf_session *session);
-int perf_event__process_build_id(union perf_event *event,
+int perf_event__process_build_id(struct perf_event_ops *ops,
+                                union perf_event *event,
                                 struct perf_session *session);
 
 /*