Commit-ID: 95ec2822a976af27c9cb77cdc01c650a3640adfa Gitweb: https://git.kernel.org/tip/95ec2822a976af27c9cb77cdc01c650a3640adfa Author: Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx> AuthorDate: Fri, 10 May 2019 15:56:27 -0400 Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> CommitDate: Wed, 15 May 2019 16:36:48 -0300 tools lib traceevent: Man page for tep_read_number_field() Create man page for libtraceevent API tep_read_number_field(). Signed-off-by: Tzvetomir Stoyanov <tstoyanov@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: linux-trace-devel@xxxxxxxxxxxxxxx Link: http://lore.kernel.org/linux-trace-devel/20190503091119.23399-21-tstoyanov@xxxxxxxxxx Link: http://lkml.kernel.org/r/20190510200109.219394901@xxxxxxxxxxx Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> --- ...ndian_read.txt => libtraceevent-field_read.txt} | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt b/tools/lib/traceevent/Documentation/libtraceevent-field_read.txt similarity index 54% copy from tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt copy to tools/lib/traceevent/Documentation/libtraceevent-field_read.txt index e64851b6e189..64e9e25d3fd9 100644 --- a/tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt +++ b/tools/lib/traceevent/Documentation/libtraceevent-field_read.txt @@ -3,7 +3,7 @@ libtraceevent(3) NAME ---- -tep_read_number - Reads a number from raw data. +tep_read_number_field - Reads a number from raw data. SYNOPSIS -------- @@ -11,20 +11,20 @@ SYNOPSIS -- *#include <event-parse.h>* -unsigned long long *tep_read_number*(struct tep_handle pass:[*]_tep_, const void pass:[*]_ptr_, int _size_); +int *tep_read_number_field*(struct tep_format_field pass:[*]_field_, const void pass:[*]_data_, unsigned long long pass:[*]_value_); -- DESCRIPTION ----------- -The _tep_read_number()_ function reads an integer from raw data, taking into -account the endianness of the raw data and the current host. The _tep_ argument -is the trace event parser context. The _ptr_ is a pointer to the raw data, where -the integer is, and the _size_ is the size of the integer. +The _tep_read_number_field()_ function reads the value of the _field_ from the +raw _data_ and stores it in the _value_. The function sets the _value_ according +to the endianness of the raw data and the current machine and stores it in +_value_. RETURN VALUE ------------ -The _tep_read_number()_ function returns the integer in the byte order of -the current host. In case of an error, 0 is returned. +The _tep_read_number_field()_ function retunrs 0 in case of success, or -1 in +case of an error. EXAMPLE ------- @@ -34,16 +34,19 @@ EXAMPLE ... struct tep_handle *tep = tep_alloc(); ... +struct tep_event *event = tep_find_event_by_name(tep, "timer", "hrtimer_start"); +... void process_record(struct tep_record *record) { - int offset = 24; - int data = tep_read_number(tep, record->data + offset, 4); + unsigned long long pid; + struct tep_format_field *field_pid = tep_find_common_field(event, "common_pid"); - /* Read the 4 bytes at the offset 24 of data as an integer */ + if (tep_read_number_field(field_pid, record->data, &pid) != 0) { + /* Failed to get "common_pid" value */ + } } ... -- - FILES ----- [verse]