kernel-ark/tools/perf/util/trace-event.h
Steven Rostedt 4ace73eef5 perf: Separate out trace-cmd parse-events from perf files
Move the trace-event-parse.c code that originally came from trace-cmd into
their own files. The new file will be called trace-parse-events.c, as
the name of trace-cmd's file was parse-events.c too, but it conflicted
with the parse-events.c file in perf that parses the command line.

This tries to update the code with mimimal changes.

Perf specific code stays in the trace-event-parse.[ch] files and
the common parsing code is now in trace-parse-events.c and
trace-parse-events.h.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Arun Sharma <asharma@fb.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
2012-04-25 12:28:18 +02:00

53 lines
1.3 KiB
C

#ifndef _PERF_UTIL_TRACE_EVENT_H
#define _PERF_UTIL_TRACE_EVENT_H
#include "parse-events.h"
#include "trace-parse-events.h"
#include "session.h"
struct machine;
struct perf_sample;
union perf_event;
struct thread;
int read_tracing_data(int fd, struct list_head *pattrs);
struct tracing_data {
/* size is only valid if temp is 'true' */
ssize_t size;
bool temp;
char temp_file[50];
};
struct tracing_data *tracing_data_get(struct list_head *pattrs,
int fd, bool temp);
void tracing_data_put(struct tracing_data *tdata);
struct scripting_ops {
const char *name;
int (*start_script) (const char *script, int argc, const char **argv);
int (*stop_script) (void);
void (*process_event) (union perf_event *event,
struct perf_sample *sample,
struct perf_evsel *evsel,
struct machine *machine,
struct thread *thread);
int (*generate_script) (const char *outfile);
};
int script_spec_register(const char *spec, struct scripting_ops *ops);
void setup_perl_scripting(void);
void setup_python_scripting(void);
struct scripting_context {
void *event_data;
};
int common_pc(struct scripting_context *context);
int common_flags(struct scripting_context *context);
int common_lock_depth(struct scripting_context *context);
#endif /* _PERF_UTIL_TRACE_EVENT_H */