All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tzvetomir Stoyanov <tstoyanov@vmware.com>
To: "rostedt@goodmis.org" <rostedt@goodmis.org>
Cc: "linux-trace-devel@vger.kernel.org" <linux-trace-devel@vger.kernel.org>
Subject: [PATCH v3 44/46] tools/lib/traceevent: Man pages for trace_seq_printf() and trace_seq_vprintf()
Date: Tue, 27 Nov 2018 15:43:04 +0000	[thread overview]
Message-ID: <20181127154153.11315-45-tstoyanov@vmware.com> (raw)
In-Reply-To: <20181127154153.11315-1-tstoyanov@vmware.com>

Create man pages for trace_seq_printf() and trace_seq_vprintf()
as part of the libtraceevent APIs.

Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
---
 .../libtraceevent-tseq_print.txt              | 96 +++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq_print.txt

diff --git a/tools/lib/traceevent/Documentation/libtraceevent-tseq_print.txt b/tools/lib/traceevent/Documentation/libtraceevent-tseq_print.txt
new file mode 100644
index 000000000000..70e222ddbe8c
--- /dev/null
+++ b/tools/lib/traceevent/Documentation/libtraceevent-tseq_print.txt
@@ -0,0 +1,96 @@
+libtraceevent(3)
+================
+
+NAME
+----
+trace_seq_printf,trace_seq_vprintf - Print formated string with arguments in a trace sequence.
+
+SYNOPSIS
+--------
+[verse]
+--
+*#include <event-parse.h>*
+*#include <trace-seq.h>*
+
+int *trace_seq_printf*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, _..._);
+int *trace_seq_vprintf*(struct trace_seq pass:[*]_s_, const char pass:[*]_fmt_, va_list _args_);
+--
+
+DESCRIPTION
+-----------
+Trace sequences are used to allow a function to call several other functions 
+to create a string of data to use.
+
+The _trace_seq_printf()_ function puts a formated string _fmt _with 
+variable arguments _..._ in the trace sequence _s_.
+
+The _trace_seq_vprintf()_ function puts a formated string _fmt _with 
+list of arguments _args_ in the trace sequence _s_. 
+
+RETURN VALUE
+------------
+
+Both _trace_seq_printf()_ and _trace_seq_vprintf()_ functions return 0 if the 
+trace oversizes the buffer's free space, the number of characters printed, or 
+a negative value in case of an error.
+
+EXAMPLE
+-------
+[source,c]
+--
+#include <event-parse.h>
+#include <trace-seq.h>
+...
+struct trace_seq seq;
+trace_seq_init(&seq);
+...
+if (trace_seq_printf(&seq, "example print %d", 10) <= 0) {
+	/* Failed to print in the trace sequence */
+}
+...
+void my_print(char *format, ...)
+{
+	va_list ap;
+	va_start(ap, format);
+	if (trace_seq_printf(&seq, format, ap) <= 0) {
+		/* Failed to print in the trace sequence */
+	}	
+	va_end(ap);
+}
+...
+--
+
+FILES
+-----
+[verse]
+--
+*event-parse.h*
+	Header file to include in order to have access to the library APIs.
+*trace-seq.h*
+	Header file to include in order to have access to trace sequences related 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.19.1

  parent reply	other threads:[~2018-11-28  2:41 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-27 15:42 [PATCH v3 00/46] Libtraceevent MAN pages Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 01/46] tools/lib/traceevent: Implement libtraceevent man pages Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 02/46] tools/lib/traceevent: Fix libtraceevent/Documentation Makefile Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 03/46] tools/lib/traceevent: Add support for man pages with multiple names Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 04/46] tools/lib/traceevent: libtraceevent Makefile "help" target Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 05/46] tools/lib/traceevent: libtraceevent man pages for tep_handler related APIs Tzvetomir Stoyanov
2018-12-12 17:48   ` Steven Rostedt
2018-11-27 15:42 ` [PATCH v3 06/46] tools/lib/traceevent: Man page for tep_get_header_page_size() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 07/46] tools/lib/traceevent: Man page for tep_get_cpus() and tep_set_cpus() Tzvetomir Stoyanov
2019-01-16 16:32   ` Steven Rostedt
2018-11-27 15:42 ` [PATCH v3 08/46] tools/lib/traceevent: Man page for tep_is_file_bigendian() and tep_set_file_bigendian() Tzvetomir Stoyanov
2019-01-16 16:37   ` Steven Rostedt
2018-11-27 15:42 ` [PATCH v3 09/46] tools/lib/traceevent: Man page for tep_is_host_bigendian() and tep_set_host_bigendian() Tzvetomir Stoyanov
2019-01-16 16:41   ` Steven Rostedt
2018-11-27 15:42 ` [PATCH v3 10/46] tools/lib/traceevent: Man page for tep_is_latency_format() and tep_set_latency_format() Tzvetomir Stoyanov
2019-01-16 17:45   ` Steven Rostedt
2018-11-27 15:42 ` [PATCH v3 11/46] tools/lib/traceevent: Man page for tep_get_page_size() and tep_set_page_size() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 12/46] tools/lib/traceevent: Man page for tep_strerror() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 13/46] tools/lib/traceevent: Man page for tep_register_trace_clock() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 14/46] tools/lib/traceevent: Man pages for tep_register_event_handler() and tep_unregister_event_handler() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 15/46] tools/lib/traceevent: Man pages for tep_register_function() and tep_register_print_string() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 16/46] tools/lib/traceevent: Man pages for tep_register_print_function() and tep_unregister_print_function() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 17/46] tools/lib/traceevent: Man page for tep_read_number() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 18/46] tools/lib/traceevent: Man pages for tep_find_event(), tep_find_event_by_name() and tep_find_event_by_record() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 19/46] tools/lib/traceevent: Man page for tep_list_events() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 20/46] tools/lib/traceevent: Man pages for tep_print_event(), tep_print_event_data(), tep_event_info(), tep_print_event_task() and tep_print_event_time() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 21/46] tools/lib/traceevent: Man pages tep_get_first_event() and tep_get_events_count() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 22/46] tools/lib/traceevent: Man pages tep_find_common_field(), tep_find_field() and tep_find_any_field() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 23/46] tools/lib/traceevent: Man pages tep_get_any_field_val(), tep_get_common_field_val(), tep_get_field_val() and tep_get_field_raw() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 24/46] tools/lib/traceevent: Man pages for tep_print_field(), tep_print_fields(), tep_print_num_field() and tep_print_func_field() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 25/46] tools/lib/traceevent: Man page for tep_read_number_field() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 26/46] tools/lib/traceevent: Man pages for tep_event_common_fields() and tep_event_fields() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 27/46] tools/lib/traceevent: Man pages for tep_filter_alloc(), tep_filter_free() and tep_filter_reset() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 28/46] tools/lib/traceevent: Man page for tep_filter_add_filter_str() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 29/46] tools/lib/traceevent: Man page for tep_filter_strerror() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 30/46] tools/lib/traceevent: Man pages for tep_event_filtered() and tep_filter_remove_event() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 31/46] tools/lib/traceevent: Man page for tep_filter_match() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 32/46] tools/lib/traceevent: Man pages for tep_filter_copy() and tep_filter_compare() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 33/46] tools/lib/traceevent: Man page for tep_filter_make_string() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 34/46] tools/lib/traceevent: Man pages for tep_filter_event_has_trivial(), tep_update_trivial() and tep_filter_clear_trivial() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 35/46] tools/lib/traceevent: Man pages for tep_find_function() and tep_find_function_address() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 36/46] tools/lib/traceevent: Man pages for tep_set_function_resolver() and tep_reset_function_resolver() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 37/46] tools/lib/traceevent: Man pages for tep_parse_event() and tep_parse_format() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 38/46] tools/lib/traceevent: Man page for tep_parse_header_page() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 39/46] tools/lib/traceevent: Man pages for tep_load_plugins() and tep_unload_plugin() Tzvetomir Stoyanov
2018-11-27 15:42 ` [PATCH v3 40/46] tools/lib/traceevent: Man page for tep_data_lat_fmt() Tzvetomir Stoyanov
2018-11-27 15:43 ` [PATCH v3 41/46] tools/lib/traceevent: Man pages for tep_data_type(), tep_data_pid(), tep_data_preempt_count() and tep_data_flags() Tzvetomir Stoyanov
2018-11-27 15:43 ` [PATCH v3 42/46] tools/lib/traceevent: Man pages for trace_seq_init() and trace_seq_destroy() Tzvetomir Stoyanov
2018-11-27 15:43 ` [PATCH v3 43/46] tools/lib/traceevent: Man pages for trace_seq_do_fprintf() and trace_seq_do_printf() Tzvetomir Stoyanov
2018-11-27 15:43 ` Tzvetomir Stoyanov [this message]
2018-11-27 15:43 ` [PATCH v3 45/46] tools/lib/traceevent: Man pages for trace_seq_putc() and trace_seq_puts() Tzvetomir Stoyanov
2018-11-27 15:43 ` [PATCH v3 46/46] tools/lib/traceevent: Man pages for trace_seq_reset() and trace_seq_terminate() Tzvetomir Stoyanov
2019-02-01 11:21 ` [PATCH v3 00/46] Libtraceevent MAN pages Claudio

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=20181127154153.11315-45-tstoyanov@vmware.com \
    --to=tstoyanov@vmware.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /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.