linux/tools/include/tools/endian.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _TOOLS_ENDIAN_H
   3#define _TOOLS_ENDIAN_H
   4
   5#include <byteswap.h>
   6
   7#if __BYTE_ORDER == __LITTLE_ENDIAN
   8
   9#ifndef htole16
  10#define htole16(x) (x)
  11#endif
  12#ifndef htole32
  13#define htole32(x) (x)
  14#endif
  15#ifndef htole64
  16#define htole64(x) (x)
  17#endif
  18
  19#ifndef le16toh
  20#define le16toh(x) (x)
  21#endif
  22
  23#ifndef le32toh
  24#define le32toh(x) (x)
  25#endif
  26
  27#ifndef le64toh
  28#define le64toh(x) (x)
  29#endif
  30
  31#else /* __BYTE_ORDER */
  32
  33#ifndef htole16
  34#define htole16(x) __bswap_16(x)
  35#endif
  36#ifndef htole32
  37#define htole32(x) __bswap_32(x)
  38#endif
  39#ifndef htole64
  40#define htole64(x) __bswap_64(x)
  41#endif
  42
  43#ifndef le16toh
  44#define le16toh(x) __bswap_16(x)
  45#endif
  46
  47#ifndef le32toh
  48#define le32toh(x) __bswap_32(x)
  49#endif
  50
  51#ifndef le64toh
  52#define le64toh(x) __bswap_64(x)
  53#endif
  54
  55#endif
  56
  57#endif /* _TOOLS_ENDIAN_H */
  58