perf: Convert a FILE* instead of a filename
[akaros.git] / tools / profile / perf / perf_core.h
index d305f37..a3590f6 100644 (file)
@@ -26,9 +26,13 @@ struct perf_arch_info {
        uint32_t fix_counters_x_proc;
 };
 
+#define MAX_FQSTR_SZ 128
 struct perf_eventsel {
        struct perfmon_event ev;
-       int eidx;
+       bool attr_emitted;
+       uint32_t type;
+       uint64_t config;
+       char fq_str[MAX_FQSTR_SZ];
 };
 
 struct perf_event {
@@ -48,11 +52,12 @@ struct perf_context {
 struct perf_context_config {
        const char *perf_file;
        const char *kpctl_file;
+       const char *kpdata_file;
 };
 
-void perf_initialize(int argc, char *argv[]);
+void perf_initialize(void);
 void perf_finalize(void);
-void perf_parse_event(const char *str, struct perf_eventsel *sel);
+struct perf_eventsel *perf_parse_event(const char *str);
 struct perf_context *perf_create_context(const struct perf_context_config *cfg);
 void perf_free_context(struct perf_context *pctx);
 void perf_flush_context_traces(struct perf_context *pctx);
@@ -61,12 +66,8 @@ void perf_context_event_submit(struct perf_context *pctx,
                                                           const struct perf_eventsel *sel);
 void perf_context_show_values(struct perf_context *pctx, FILE *file);
 void perf_show_events(const char *rx, FILE *file);
-void perf_get_event_string(const struct perf_eventsel *sel, char *sbuf,
-                                                  size_t size);
-void perf_make_eventsel_from_event_mask(struct perf_eventsel *sel,
-                                                                               uint32_t event, uint32_t mask);
 void perf_convert_trace_data(struct perfconv_context *cctx, const char *input,
-                                                        const char *output);
+                                                        FILE *outfile);
 
 static inline const struct perf_arch_info *perf_context_get_arch_info(
        const struct perf_context *pctx)