X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Fust-endian.h;h=5a6085f9e5a0acbd41c25db5cf8e20d95e6c6107;hb=1c1968450409b3c159a3000f9e1a968ff1e5f7e8;hp=06f8236407658ca5e3d1e525d631c3bd2097d2d4;hpb=06e646e04714e0e0f7537841107ab0528ef33a52;p=lttng-ust.git diff --git a/include/lttng/ust-endian.h b/include/lttng/ust-endian.h index 06f82364..5a6085f9 100644 --- a/include/lttng/ust-endian.h +++ b/include/lttng/ust-endian.h @@ -1,8 +1,6 @@ -/* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2012 Mathieu Desnoyers - */ +// SPDX-FileCopyrightText: 2012 Mathieu Desnoyers +// +// SPDX-License-Identifier: MIT /* * This header defines the following endian macros based on the current @@ -32,37 +30,36 @@ #if (defined(__linux__) || defined(__CYGWIN__)) #include #include -#elif defined(__FreeBSD__) -#include -#define bswap_16(x) bswap16(x) -#define bswap_32(x) bswap32(x) -#define bswap_64(x) bswap64(x) -#else -#error "Please add support for your OS." -#endif - -/* - * BYTE_ORDER, LITTLE_ENDIAN, and BIG_ENDIAN are only defined on Linux - * if __USE_BSD is defined. Force their definition. - */ -#ifndef BYTE_ORDER -#define BYTE_ORDER __BYTE_ORDER -#endif -#ifndef LITTLE_ENDIAN -#define LITTLE_ENDIAN __LITTLE_ENDIAN -#endif +#define lttng_ust_bswap_16(x) bswap_16(x) +#define lttng_ust_bswap_32(x) bswap_32(x) +#define lttng_ust_bswap_64(x) bswap_64(x) -#ifndef BIG_ENDIAN -#define BIG_ENDIAN __BIG_ENDIAN -#endif +#define LTTNG_UST_BYTE_ORDER __BYTE_ORDER +#define LTTNG_UST_LITTLE_ENDIAN __LITTLE_ENDIAN +#define LTTNG_UST_BIG_ENDIAN __BIG_ENDIAN -#ifndef FLOAT_WORD_ORDER #ifdef __FLOAT_WORD_ORDER -#define FLOAT_WORD_ORDER __FLOAT_WORD_ORDER +#define LTTNG_UST_FLOAT_WORD_ORDER __FLOAT_WORD_ORDER #else /* __FLOAT_WORD_ORDER */ -#define FLOAT_WORD_ORDER BYTE_ORDER +#define LTTNG_UST_FLOAT_WORD_ORDER __BYTE_ORDER #endif /* __FLOAT_WORD_ORDER */ -#endif /* FLOAT_WORD_ORDER */ + +#elif defined(__FreeBSD__) + +#include + +#define lttng_ust_bswap_16(x) bswap16(x) +#define lttng_ust_bswap_32(x) bswap32(x) +#define lttng_ust_bswap_64(x) bswap64(x) + +#define LTTNG_UST_BYTE_ORDER BYTE_ORDER +#define LTTNG_UST_LITTLE_ENDIAN LITTLE_ENDIAN +#define LTTNG_UST_BIG_ENDIAN BIG_ENDIAN +#define LTTNG_UST_FLOAT_WORD_ORDER BYTE_ORDER + +#else +#error "Please add support for your OS." +#endif #endif /* _LTTNG_UST_ENDIAN_H */