---
name: "tep_is_local_bigendian"
section: "3"
platform: "linux"
package: "libtraceevent-doc"
version: "1:1.8.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tep_is_bigendian"
---

# tep\_is\_local\_bigendian(3)

Get / set the endianness of the local machine.

Part of [tep\_is\_bigendian(3)](/tep_is_bigendian/3.md).

## NAME

tep\_is\_bigendian, tep\_is\_local\_bigendian, tep\_set\_local\_bigendian - Get / set the endianness of the local machine.

## SYNOPSIS

```
#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

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

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

```
#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

```
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)](/libtraceevent/3.md), [**trace-cmd**(1)](/trace-cmd/1.md)

## AUTHOR

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

## REPORTING BUGS

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

## LICENSE

libtraceevent is Free Software licensed under the GNU LGPL 2.1

## RESOURCES

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

## NOTES

- 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
