tep_is_bigendian(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | FILES | SEE ALSO | AUTHOR | REPORTING BUGS | LICENSE | RESOURCES | NOTES | COLOPHON

LIBTRACEEVENT(3)          libtraceevent Manual          LIBTRACEEVENT(3)

NAME         top

       tep_is_bigendian, tep_is_local_bigendian, tep_set_local_bigendian
       - Get / set the endianness of the local machine.

SYNOPSIS         top

       #include <event-parse.h>

       enum tep_endian {
               TEP_LITTLE_ENDIAN = 0,
               TEP_BIG_ENDIAN
       };

       int tep_is_bigendian(void);
       bool tep_is_local_bigendian(struct tep_handle *tep);
       void tep_set_local_bigendian(struct tep_handle *tep, enum tep_endian endian);

DESCRIPTION         top

       The tep_is_bigendian() gets the endianness of the machine,
       executing the function.

       The tep_is_local_bigendian() function gets the endianness of the
       local machine, saved in the tep handler. The tep argument is the
       trace event parser context. This API is a bit faster than
       tep_is_bigendian(), as it returns cached endianness of the local
       machine instead of checking it each time.

       The tep_set_local_bigendian() function sets the endianness of the
       local machine in the tep handler. The tep argument is trace event
       parser context. The endian argument is the endianness:

                   TEP_LITTLE_ENDIAN - the machine is little endian,
                   TEP_BIG_ENDIAN - the machine is big endian.

RETURN VALUE         top

       The tep_is_bigendian() function returns non zero if the
       endianness of the machine, executing the code, is big endian and
       zero otherwise.

       The tep_is_local_bigendian() function returns true, if the
       endianness of the local machine, saved in the tep handler, is big
       endian, or false otherwise.

EXAMPLE         top

           #include <event-parse.h>
           ...
           struct tep_handle *tep = tep_alloc();
           ...
                   if (tep_is_bigendian())
                           tep_set_local_bigendian(tep, TEP_BIG_ENDIAN);
                   else
                           tep_set_local_bigendian(tep, TEP_LITTLE_ENDIAN);
           ...
                   if (tep_is_local_bigendian(tep))
                           printf("This machine you are running on is bigendian\n");
                   else
                           printf("This machine you are running on is little endian\n");

FILES         top

           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         top

       libtraceevent(3), trace-cmd(1)

AUTHOR         top

           Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
           Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.

REPORTING BUGS         top

       Report bugs to <linux-trace-devel@vger.kernel.org[3]>

LICENSE         top

       libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES         top

       https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ 

NOTES         top

        1. rostedt@goodmis.org
           mailto:rostedt@goodmis.org

        2. tz.stoyanov@gmail.com
           mailto:tz.stoyanov@gmail.com

        3. linux-trace-devel@vger.kernel.org
           mailto:linux-trace-devel@vger.kernel.org

COLOPHON         top

       This page is part of the libtraceevent (Linux kernel trace event
       library) project.  Information about the project can be found at
       ⟨https://www.trace-cmd.org/⟩.  If you have a bug report for this
       manual page, see ⟨https://www.trace-cmd.org/⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git⟩
       on 2023-12-22.  (At that time, the date of the most recent commit
       that was found in the repository was 2023-06-07.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

libtraceevent 1.7.3            09/24/2023               LIBTRACEEVENT(3)