X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Flttng%2Fust-endian.h;h=a0a6db3ba16b11daaccb7d78468baeda514b46ef;hb=c0c0989ab70574e09b2f7e8b48c2da6af664a849;hp=a626027eb4250344836373a587417c8099695aa0;hpb=c759fe81a6251b9feddf5cd9576278ffedf92ac3;p=lttng-ust.git diff --git a/include/lttng/ust-endian.h b/include/lttng/ust-endian.h index a626027e..a0a6db3b 100644 --- a/include/lttng/ust-endian.h +++ b/include/lttng/ust-endian.h @@ -1,29 +1,40 @@ -#ifndef _LTTNG_UST_ENDIAN_H -#define _LTTNG_UST_ENDIAN_H - /* - * lttng/ust-endian.h + * SPDX-License-Identifier: MIT * - * Copyright 2012 (c) - Mathieu Desnoyers + * Copyright (C) 2012 Mathieu Desnoyers * * endian.h compatibility layer. - * - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED - * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. - * - * Permission is hereby granted to use or copy this program - * for any purpose, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. */ -#ifdef __linux__ +#ifndef _LTTNG_UST_ENDIAN_H +#define _LTTNG_UST_ENDIAN_H + +#if (defined(__linux__) || defined(__CYGWIN__)) #include +#include #elif defined(__FreeBSD__) -#include +#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 into lttng/ust-endian.h." +#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 + +#ifndef BIG_ENDIAN +#define BIG_ENDIAN __BIG_ENDIAN #endif #ifndef FLOAT_WORD_ORDER