X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fendian.h;h=ff383763461f19e32d76439275755f27524ea5a3;hb=4878de5c7deb512bbdac4fdfc498907efa06fb7c;hp=6427feb8df3e8aa032627299fde8f134116f3365;hpb=07bb6d71d12af83c72d9cc18a7488d6b15ceb440;p=lttng-tools.git diff --git a/src/common/compat/endian.h b/src/common/compat/endian.h index 6427feb8d..ff3837634 100644 --- a/src/common/compat/endian.h +++ b/src/common/compat/endian.h @@ -1,18 +1,37 @@ /* - * Copyright (C) 2011 - David Goulet + * Copyright (C) 2011 David Goulet * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License, version 2 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. + */ + +/* + * This compat header provides the following defines: + * + * LITTLE_ENDIAN + * BIG_ENDIAN + * BYTE_ORDER + * + * And functions / macros : * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * bswap_16() + * bswap_32() + * bswap_64() + * + * htobe16() + * htole16() + * be16toh() + * le16toh() + * + * htobe32() + * htole32() + * be32toh() + * le32toh() + * + * htobe64() + * htole64() + * be64toh() + * le64toh() */ #ifndef _COMPAT_ENDIAN_H @@ -20,6 +39,7 @@ #if defined(__linux__) || defined(__CYGWIN__) #include +#include /* * htobe/betoh are not defined for glibc <2.9, so add them @@ -113,7 +133,11 @@ #endif /* __USE_BSD */ #elif defined(__FreeBSD__) -#include +#include + +#define bswap_16(x) bswap16(x) +#define bswap_32(x) bswap32(x) +#define bswap_64(x) bswap64(x) #elif defined(__sun__) #include @@ -133,7 +157,6 @@ #define LITTLE_ENDIAN __LITTLE_ENDIAN #define BIG_ENDIAN __BIG_ENDIAN -#define PDP_ENDIAN __PDP_ENDIAN #define BYTE_ORDER __BYTE_ORDER #define betoh16(x) BE_16(x)