Messages in this thread Patch in this message | | | From | David Ahern <> | Subject | [PATCH 2/6] perf utils: export parse_single_tracepoint_event | Date | Tue, 7 Jun 2011 17:55:26 -0600 |
| |
For use by perf-record in later patch. Allow strp arg to be NULL as well.
Signed-off-by: David Ahern <dsahern@gmail.com> --- tools/perf/util/parse-events.c | 13 ++++--------- tools/perf/util/parse-events.h | 12 ++++++++++++ 2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 41982c3..c15a701 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -19,12 +19,6 @@ struct event_symbol { const char *alias; }; -enum event_result { - EVT_FAILED, - EVT_HANDLED, - EVT_HANDLED_ALL -}; - char debugfs_path[MAXPATHLEN]; #define CHW(x) .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_##x @@ -432,8 +426,8 @@ parse_generic_hw_event(const char **str, struct perf_event_attr *attr) return EVT_HANDLED; } -static enum event_result -parse_single_tracepoint_event(char *sys_name, +enum event_result +parse_single_tracepoint_event(const char *sys_name, const char *evt_name, unsigned int evt_length, struct perf_event_attr *attr, @@ -460,7 +454,8 @@ parse_single_tracepoint_event(char *sys_name, id = atoll(id_buf); attr->config = id; attr->type = PERF_TYPE_TRACEPOINT; - *strp += strlen(sys_name) + evt_length + 1; /* + 1 for the ':' */ + if (strp) + *strp += strlen(sys_name) + evt_length + 1; /* + 1 for the ':' */ attr->sample_type |= PERF_SAMPLE_RAW; attr->sample_type |= PERF_SAMPLE_TIME; diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h index 746d3fc..e65f724 100644 --- a/tools/perf/util/parse-events.h +++ b/tools/perf/util/parse-events.h @@ -17,6 +17,12 @@ struct tracepoint_path { struct tracepoint_path *next; }; +enum event_result { + EVT_FAILED, + EVT_HANDLED, + EVT_HANDLED_ALL +}; + extern struct tracepoint_path *tracepoint_id_to_path(u64 config); extern bool have_tracepoints(struct list_head *evlist); @@ -26,6 +32,12 @@ extern const char *__event_name(int type, u64 config); extern int parse_events(const struct option *opt, const char *str, int unset); extern int parse_filter(const struct option *opt, const char *str, int unset); +extern enum event_result +parse_single_tracepoint_event(const char *sys_name, + const char *evt_name, + unsigned int evt_length, + struct perf_event_attr *attr, + const char **strp); #define EVENTS_HELP_MAX (128*1024) -- 1.7.5.2
| |