Merge tag 'ntb-5.11' of git://github.com/jonmason/ntb
[linux/fpc-iii.git] / tools / lib / traceevent / Documentation / libtraceevent-host_endian.txt
blobd5d375eb8d1e934037891b1bdef27214a776adaf
1 libtraceevent(3)
2 ================
4 NAME
5 ----
6 tep_is_bigendian, tep_is_local_bigendian, tep_set_local_bigendian - Get / set
7 the endianness of the local machine.
9 SYNOPSIS
10 --------
11 [verse]
13 *#include <event-parse.h>*
15 enum *tep_endian* {
16         TEP_LITTLE_ENDIAN = 0,
17         TEP_BIG_ENDIAN
20 int *tep_is_bigendian*(void);
21 bool *tep_is_local_bigendian*(struct tep_handle pass:[*]_tep_);
22 void *tep_set_local_bigendian*(struct tep_handle pass:[*]_tep_, enum tep_endian _endian_);
25 DESCRIPTION
26 -----------
28 The _tep_is_bigendian()_ gets the endianness of the machine, executing
29 the function.
31 The _tep_is_local_bigendian()_ function gets the endianness of the local
32 machine, saved in the _tep_ handler. The _tep_ argument is the trace event
33 parser context. This API is a bit faster than _tep_is_bigendian()_, as it
34 returns cached endianness of the local machine instead of checking it each time.
36 The _tep_set_local_bigendian()_ function sets the endianness of the local
37 machine in the _tep_ handler. The _tep_ argument is trace event parser context.
38 The _endian_ argument is the endianness:
39 [verse]
41         _TEP_LITTLE_ENDIAN_ - the machine is little endian,
42         _TEP_BIG_ENDIAN_ - the machine is big endian.
45 RETURN VALUE
46 ------------
47 The _tep_is_bigendian()_ function returns non zero if the endianness of the
48 machine, executing the code, is big endian and zero otherwise.
50 The _tep_is_local_bigendian()_ function returns true, if the endianness of the
51 local machine, saved in the _tep_ handler, is big endian, or false otherwise.
53 EXAMPLE
54 -------
55 [source,c]
57 #include <event-parse.h>
58 ...
59 struct tep_handle *tep = tep_alloc();
60 ...
61         if (tep_is_bigendian())
62                 tep_set_local_bigendian(tep, TEP_BIG_ENDIAN);
63         else
64                 tep_set_local_bigendian(tep, TEP_LITTLE_ENDIAN);
65 ...
66         if (tep_is_local_bigendian(tep))
67                 printf("This machine you are running on is bigendian\n");
68         else
69                 printf("This machine you are running on is little endian\n");
73 FILES
74 -----
75 [verse]
77 *event-parse.h*
78         Header file to include in order to have access to the library APIs.
79 *-ltraceevent*
80         Linker switch to add when building a program that uses the library.
83 SEE ALSO
84 --------
85 _libtraceevent(3)_, _trace-cmd(1)_
87 AUTHOR
88 ------
89 [verse]
91 *Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
92 *Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
94 REPORTING BUGS
95 --------------
96 Report bugs to  <linux-trace-devel@vger.kernel.org>
98 LICENSE
99 -------
100 libtraceevent is Free Software licensed under the GNU LGPL 2.1
102 RESOURCES
103 ---------
104 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git