All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, linux-trace-devel@vger.kernel.org
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tzvetomir Stoyanov <tstoyanov@vmware.com>
Subject: [PATCH 16/27] tools/lib/traceevent: Man page for list events APIs
Date: Fri, 10 May 2019 15:56:22 -0400	[thread overview]
Message-ID: <20190510200108.367633707@goodmis.org> (raw)
In-Reply-To: 20190510195606.537643615@goodmis.org

From: Tzvetomir Stoyanov <tstoyanov@vmware.com>

Create man page for libtraceevent APIs:
  tep_list_events()
  tep_list_events_copy()

Link: http://lore.kernel.org/linux-trace-devel/20190503091119.23399-16-tstoyanov@vmware.com

Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 .../libtraceevent-event_list.txt              | 122 ++++++++++++++++++
 1 file changed, 122 insertions(+)
 create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_list.txt

diff --git a/tools/lib/traceevent/Documentation/libtraceevent-event_list.txt b/tools/lib/traceevent/Documentation/libtraceevent-event_list.txt
new file mode 100644
index 000000000000..fba350e5a4cb
--- /dev/null
+++ b/tools/lib/traceevent/Documentation/libtraceevent-event_list.txt
@@ -0,0 +1,122 @@
+libtraceevent(3)
+================
+
+NAME
+----
+tep_list_events, tep_list_events_copy -
+Get list of events, sorted by given criteria.
+
+SYNOPSIS
+--------
+[verse]
+--
+*#include <event-parse.h>*
+
+enum *tep_event_sort_type* {
+	_TEP_EVENT_SORT_ID_,
+	_TEP_EVENT_SORT_NAME_,
+	_TEP_EVENT_SORT_SYSTEM_,
+};
+
+struct tep_event pass:[*]pass:[*]*tep_list_events*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
+struct tep_event pass:[*]pass:[*]*tep_list_events_copy*(struct tep_handle pass:[*]_tep_, enum tep_event_sort_type _sort_type_);
+--
+
+DESCRIPTION
+-----------
+The _tep_list_events()_ function returns an array of pointers to the events,
+sorted by the _sort_type_ criteria. The last element of the array is NULL.
+The returned memory must not be freed, it is managed by the library.
+The function is not thread safe. The _tep_ argument is trace event parser
+context. The _sort_type_ argument is the required sort criteria:
+[verse]
+--
+	_TEP_EVENT_SORT_ID_	- sort by the event ID.
+	_TEP_EVENT_SORT_NAME_	- sort by the event (name, system, id) triplet.
+	_TEP_EVENT_SORT_SYSTEM_	- sort by the event (system, name, id) triplet.
+--
+
+The _tep_list_events_copy()_ is a thread safe version of _tep_list_events()_.
+It has the same behavior, but the returned array is allocated internally and
+must be freed by the caller. Note that the content of the array must not be
+freed (see the EXAMPLE below).
+
+RETURN VALUE
+------------
+The _tep_list_events()_ function returns an array of pointers to events.
+In case of an error, NULL is returned. The returned array must not be freed,
+it is managed by the library.
+
+The _tep_list_events_copy()_ function returns an array of pointers to events.
+In case of an error, NULL is returned. The returned array must be freed by
+the caller.
+
+EXAMPLE
+-------
+[source,c]
+--
+#include <event-parse.h>
+...
+struct tep_handle *tep = tep_alloc();
+...
+int i;
+struct tep_event_format **events;
+
+i=0;
+events = tep_list_events(tep, TEP_EVENT_SORT_ID);
+if (events == NULL) {
+	/* Failed to get the events, sorted by ID */
+} else {
+	while(events[i]) {
+		/* walk through the list of the events, sorted by ID */
+		i++;
+	}
+}
+
+i=0;
+events = tep_list_events_copy(tep, TEP_EVENT_SORT_NAME);
+if (events == NULL) {
+	/* Failed to get the events, sorted by name */
+} else {
+	while(events[i]) {
+		/* walk through the list of the events, sorted by name */
+		i++;
+	}
+	free(events);
+}
+
+...
+--
+
+FILES
+-----
+[verse]
+--
+*event-parse.h*
+	Header file to include in order to have access to the library APIs.
+*-ltraceevent*
+	Linker switch to add when building a program that uses the library.
+--
+
+SEE ALSO
+--------
+_libtraceevent(3)_, _trace-cmd(1)_
+
+AUTHOR
+------
+[verse]
+--
+*Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
+*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
+--
+REPORTING BUGS
+--------------
+Report bugs to  <linux-trace-devel@vger.kernel.org>
+
+LICENSE
+-------
+libtraceevent is Free Software licensed under the GNU LGPL 2.1
+
+RESOURCES
+---------
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
-- 
2.20.1



  parent reply	other threads:[~2019-05-10 20:02 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-10 19:56 [PATCH 00/27] tools/lib/traceevent: Add man pages for most libtraceevent functions Steven Rostedt
2019-05-10 19:56 ` [PATCH 01/27] tools lib traceevent: Remove hard coded install paths from pkg-config file Steven Rostedt
2019-05-10 20:11   ` Steven Rostedt
2019-05-10 21:25     ` Arnaldo Carvalho de Melo
2019-05-14 15:05       ` Arnaldo Carvalho de Melo
2019-05-14 15:49         ` Steven Rostedt
2019-05-10 19:56 ` [PATCH 02/27] tools/lib/traceevent: Implement libtraceevent man pages Steven Rostedt
2019-05-18  9:00   ` [tip:perf/core] tools lib traceevent: Introduce " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 03/27] tools/lib/traceevent: Add support for man pages with multiple names Steven Rostedt
2019-05-18  9:00   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 04/27] tools/lib/traceevent: libtraceevent man pages for tep_handler related APIs Steven Rostedt
2019-05-18  9:01   ` [tip:perf/core] tools lib traceevent: Man " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 05/27] tools/lib/traceevent: Man page for header_page APIs Steven Rostedt
2019-05-18  9:02   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 06/27] tools/lib/traceevent: Man page for get/set cpus APIs Steven Rostedt
2019-05-18  9:02   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 07/27] tools/lib/traceevent: Man page for file endian APIs Steven Rostedt
2019-05-18  9:03   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 08/27] tools/lib/traceevent: Man page for host " Steven Rostedt
2019-05-18  9:04   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 09/27] tools/lib/traceevent: Man page for page size APIs Steven Rostedt
2019-05-18  9:05   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 10/27] tools/lib/traceevent: Man page for tep_strerror() Steven Rostedt
2019-05-18  9:05   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 11/27] tools/lib/traceevent: Man pages for event handler APIs Steven Rostedt
2019-05-18  9:06   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 12/27] tools/lib/traceevent: Man pages for function related libtraceevent APIs Steven Rostedt
2019-05-18  9:07   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 13/27] tools/lib/traceevent: Man pages for registering print function Steven Rostedt
2019-05-18  9:08   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 14/27] tools/lib/traceevent: Man page for tep_read_number() Steven Rostedt
2019-05-18  9:08   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 15/27] tools/lib/traceevent: Man pages for event find APIs Steven Rostedt
2019-05-18  9:09   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` Steven Rostedt [this message]
2019-05-18  9:10   ` [tip:perf/core] tools lib traceevent: Man page for list events APIs tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 17/27] tools/lib/traceevent: Man pages for libtraceevent event get APIs Steven Rostedt
2019-05-18  9:10   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 18/27] tools/lib/traceevent: Man pages find field APIs Steven Rostedt
2019-05-18  9:11   ` [tip:perf/core] tools lib traceevent: Man pages for " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 19/27] tools/lib/traceevent: Man pages get field value APIs Steven Rostedt
2019-05-18  9:12   ` [tip:perf/core] tools lib traceevent: Man pages for " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 20/27] tools/lib/traceevent: Man pages for print field APIs Steven Rostedt
2019-05-18  9:13   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 21/27] tools/lib/traceevent: Man page for tep_read_number_field() Steven Rostedt
2019-05-18  9:13   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 22/27] tools/lib/traceevent: Man pages for event fields APIs Steven Rostedt
2019-05-18  9:14   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 23/27] tools/lib/traceevent: Man pages for event filter APIs Steven Rostedt
2019-05-18  9:15   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 24/27] tools/lib/traceevent: Man pages for parse event APIs Steven Rostedt
2019-05-18  9:16   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 25/27] tools/lib/traceevent: Man page for tep_parse_header_page() Steven Rostedt
2019-05-18  9:16   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 26/27] tools/lib/traceevent: Man pages for APIs, used to extract common fields from a record Steven Rostedt
2019-05-18  9:17   ` [tip:perf/core] tools lib traceevent: Man pages for APIs " tip-bot for Tzvetomir Stoyanov
2019-05-10 19:56 ` [PATCH 27/27] tools/lib/traceevent: Man pages for trace sequences APIs Steven Rostedt
2019-05-18  9:18   ` [tip:perf/core] tools lib traceevent: " tip-bot for Tzvetomir Stoyanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190510200108.367633707@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=acme@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=tstoyanov@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.