perf: Convert a FILE* instead of a filename
[akaros.git] / tools / profile / perf / perf_core.h
index ea780bd..a3590f6 100644 (file)
@@ -29,7 +29,9 @@ struct perf_arch_info {
 #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];
 };
 
@@ -50,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);
@@ -64,7 +67,7 @@ void perf_context_event_submit(struct perf_context *pctx,
 void perf_context_show_values(struct perf_context *pctx, FILE *file);
 void perf_show_events(const char *rx, FILE *file);
 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)