diff options
| author | Darren Hart <dvhltc@us.ibm.com> | 2009-12-16 18:40:31 -0500 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2009-12-17 10:38:19 -0500 |
| commit | 9c8be8eb5ce22b05d94883c6860b7d975959f44f (patch) | |
| tree | fb4e7f4e915f460b0fb16c08b38bd6d69bae2781 | |
| parent | 861ba2a81310fd290101d04547c0a13c423b22cd (diff) | |
trace-cmd: Use opaque record type in pevent accessor functions
The caller of the pevent accessor functions:
pevent_data_pid(pevent, data) for example
Already have a struct record. Let them send that directly:
pevent_data_pid(pevent, record)
This decouples the API from the struct implementation and facilitates
language bindings which use opaque pointers for passing the C structs
around.
Signed-off-by: Darren Hart <dvhltc@us.ibm.com>
LKML-Reference: <4B297C79.2090004@us.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rw-r--r-- | parse-events.c | 14 | ||||
| -rw-r--r-- | parse-events.h | 12 | ||||
| -rw-r--r-- | trace-cmd.h | 8 |
3 files changed, 17 insertions, 17 deletions
diff --git a/parse-events.c b/parse-events.c index 7112eb8..1a2c7ca 100644 --- a/parse-events.c +++ b/parse-events.c | |||
| @@ -3081,13 +3081,13 @@ void pevent_data_lat_fmt(struct pevent *pevent, | |||
| 3081 | /** | 3081 | /** |
| 3082 | * pevent_data_type - parse out the given event type | 3082 | * pevent_data_type - parse out the given event type |
| 3083 | * @pevent: a handle to the pevent | 3083 | * @pevent: a handle to the pevent |
| 3084 | * @data: the raw data to read from | 3084 | * @rec: the record to read from |
| 3085 | * | 3085 | * |
| 3086 | * This returns the event id from the raw @data. | 3086 | * This returns the event id from the @rec. |
| 3087 | */ | 3087 | */ |
| 3088 | int pevent_data_type(struct pevent *pevent, void *data) | 3088 | int pevent_data_type(struct pevent *pevent, struct record *rec) |
| 3089 | { | 3089 | { |
| 3090 | return trace_parse_common_type(pevent, data); | 3090 | return trace_parse_common_type(pevent, rec->data); |
| 3091 | } | 3091 | } |
| 3092 | 3092 | ||
| 3093 | /** | 3093 | /** |
| @@ -3105,13 +3105,13 @@ struct event *pevent_data_event_from_type(struct pevent *pevent, int type) | |||
| 3105 | /** | 3105 | /** |
| 3106 | * pevent_data_pid - parse the PID from raw data | 3106 | * pevent_data_pid - parse the PID from raw data |
| 3107 | * @pevent: a handle to the pevent | 3107 | * @pevent: a handle to the pevent |
| 3108 | * @data: the raw data to parse | 3108 | * @rec: the record to parse |
| 3109 | * | 3109 | * |
| 3110 | * This returns the PID from a raw data. | 3110 | * This returns the PID from a raw data. |
| 3111 | */ | 3111 | */ |
| 3112 | int pevent_data_pid(struct pevent *pevent, void *data) | 3112 | int pevent_data_pid(struct pevent *pevent, struct record *rec) |
| 3113 | { | 3113 | { |
| 3114 | return parse_common_pid(pevent, data); | 3114 | return parse_common_pid(pevent, rec->data); |
| 3115 | } | 3115 | } |
| 3116 | 3116 | ||
| 3117 | /** | 3117 | /** |
diff --git a/parse-events.h b/parse-events.h index 9b5ba0d..e6f5806 100644 --- a/parse-events.h +++ b/parse-events.h | |||
| @@ -14,6 +14,14 @@ | |||
| 14 | #define TRACE_SEQ_SIZE 4096 | 14 | #define TRACE_SEQ_SIZE 4096 |
| 15 | #endif | 15 | #endif |
| 16 | 16 | ||
| 17 | struct record { | ||
| 18 | unsigned long long ts; | ||
| 19 | unsigned long long offset; | ||
| 20 | int record_size; /* size of binary record */ | ||
| 21 | int size; /* size of data */ | ||
| 22 | void *data; | ||
| 23 | }; | ||
| 24 | |||
| 17 | /* | 25 | /* |
| 18 | * Trace sequences are used to allow a function to call several other functions | 26 | * Trace sequences are used to allow a function to call several other functions |
| 19 | * to create a string of data to use (up to a max of PAGE_SIZE). | 27 | * to create a string of data to use (up to a max of PAGE_SIZE). |
| @@ -368,9 +376,9 @@ pevent_find_event_by_name(struct pevent *pevent, const char *sys, const char *na | |||
| 368 | 376 | ||
| 369 | void pevent_data_lat_fmt(struct pevent *pevent, | 377 | void pevent_data_lat_fmt(struct pevent *pevent, |
| 370 | struct trace_seq *s, void *data, int size __unused); | 378 | struct trace_seq *s, void *data, int size __unused); |
| 371 | int pevent_data_type(struct pevent *pevent, void *data); | 379 | int pevent_data_type(struct pevent *pevent, struct record *rec); |
| 372 | struct event *pevent_data_event_from_type(struct pevent *pevent, int type); | 380 | struct event *pevent_data_event_from_type(struct pevent *pevent, int type); |
| 373 | int pevent_data_pid(struct pevent *pevent, void *data); | 381 | int pevent_data_pid(struct pevent *pevent, struct record *rec); |
| 374 | const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid); | 382 | const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid); |
| 375 | void pevent_event_info(struct trace_seq *s, struct event *event, | 383 | void pevent_event_info(struct trace_seq *s, struct event *event, |
| 376 | int cpu, void *data, int size, unsigned long long nsecs); | 384 | int cpu, void *data, int size, unsigned long long nsecs); |
diff --git a/trace-cmd.h b/trace-cmd.h index 4410f4c..9581778 100644 --- a/trace-cmd.h +++ b/trace-cmd.h | |||
| @@ -29,14 +29,6 @@ enum { | |||
| 29 | #define TS_SHIFT 27 | 29 | #define TS_SHIFT 27 |
| 30 | #endif | 30 | #endif |
| 31 | 31 | ||
| 32 | struct record { | ||
| 33 | unsigned long long ts; | ||
| 34 | unsigned long long offset; | ||
| 35 | int record_size; /* size of binary record */ | ||
| 36 | int size; /* size of data */ | ||
| 37 | void *data; | ||
| 38 | }; | ||
| 39 | |||
| 40 | static inline void free_record(struct record *record) | 32 | static inline void free_record(struct record *record) |
| 41 | { | 33 | { |
| 42 | free(record); | 34 | free(record); |
