| libtraceevent(3) | 
 | ================ | 
 |  | 
 | NAME | 
 | ---- | 
 | tep_event_common_fields, tep_event_fields - Get a list of fields for an event. | 
 |  | 
 | SYNOPSIS | 
 | -------- | 
 | [verse] | 
 | -- | 
 | *#include <event-parse.h>* | 
 |  | 
 | struct tep_format_field pass:[*]pass:[*]*tep_event_common_fields*(struct tep_event pass:[*]_event_); | 
 | struct tep_format_field pass:[*]pass:[*]*tep_event_fields*(struct tep_event pass:[*]_event_); | 
 | -- | 
 |  | 
 | DESCRIPTION | 
 | ----------- | 
 | The _tep_event_common_fields()_ function returns an array of pointers to common | 
 | fields for the _event_. The array is allocated in the function and must be freed | 
 | by free(). The last element of the array is NULL. | 
 |  | 
 | The _tep_event_fields()_ function returns an array of pointers to event specific | 
 | fields for the _event_. The array is allocated in the function and must be freed | 
 | by free(). The last element of the array is NULL. | 
 |  | 
 | RETURN VALUE | 
 | ------------ | 
 | Both _tep_event_common_fields()_ and _tep_event_fields()_ functions return | 
 | an array of pointers to tep_format_field structures in case of success, or | 
 | NULL in case of an error. | 
 |  | 
 | EXAMPLE | 
 | ------- | 
 | [source,c] | 
 | -- | 
 | #include <event-parse.h> | 
 | ... | 
 | struct tep_handle *tep = tep_alloc(); | 
 | ... | 
 | int i; | 
 | struct tep_format_field **fields; | 
 | struct tep_event *event = tep_find_event_by_name(tep, "kvm", "kvm_exit"); | 
 | if (event != NULL) { | 
 | 	fields = tep_event_common_fields(event); | 
 | 	if (fields != NULL) { | 
 | 		i = 0; | 
 | 		while (fields[i]) { | 
 | 			/* | 
 | 			  walk through the list of the common fields | 
 | 			  of the kvm_exit event | 
 | 			*/ | 
 | 			i++; | 
 | 		} | 
 | 		free(fields); | 
 | 	} | 
 | 	fields = tep_event_fields(event); | 
 | 	if (fields != NULL) { | 
 | 		i = 0; | 
 | 		while (fields[i]) { | 
 | 			/* | 
 | 			  walk through the list of the event specific | 
 | 			  fields of the kvm_exit event | 
 | 			*/ | 
 | 			i++; | 
 | 		} | 
 | 		free(fields); | 
 | 	} | 
 | } | 
 | ... | 
 | -- | 
 |  | 
 | 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 |