SYNOPSIS
#include <tracefs.h> int tracefs_option_enable(struct tracefs_instance *instance, enum tracefs_option_id id); int tracefs_option_disable(struct tracefs_instance *instance, enum tracefs_option_id id); const char *tracefs_option_name(enum tracefs_option_id id);
DESCRIPTION
This set of APIs can be used to enable and disable ftrace options and to get the name of an option.
The tracefs_option_enable() function enables the option with id in the given instance. If instance is NULL, the option is enabled in the top trace instance.
The tracefs_option_disable() function disables the option with id in the given instance. If instance is NULL, the option is disabled in the top trace instance.
The tracefs_option_name() function returns a string, representing the option with id. The string must not be freed.
RETURN VALUE
The tracefs_option_enable() and tracefs_option_disable() functions return 0 if the state of the option is set successfully, or -1 in case of an error.
The tracefs_option_name() function returns string with option name, or "unknown" in case of an error. The returned string must not be freed.
EXAMPLE
#include <tracefs.h> ... if (tracefs_option_enable(NULL, TRACEFS_OPTION_ANNOTATE)) { /* Failed to enable annotate option in top trace instance */ } ... if (tracefs_option_disable(NULL, TRACEFS_OPTION_CONTEXT_INFO)) { /* Failed to disable context info option in top trace instance */ } ... char *name = tracefs_option_name(TRACEFS_OPTION_FUNC_STACKTRACE); if (strcmp(name, "unknown")) { /* Cannot get the name of the option */ }
FILES
tracefs.h Header file to include in order to have access to the library APIs. -ltracefs Linker switch to add when building a program that uses the library.
SEE ALSO
libtracefs(3), libtraceevent(3), trace-cmd(1)
AUTHOR
Steven Rostedt <rostedt@goodmis.org> Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
REPORTING BUGS
Report bugs to <linux-trace-devel@vger.kernel.org>
LICENSE
libtracefs is Free Software licensed under the GNU LGPL 2.1
COPYING
Copyright (C) 2020 VMware, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).