123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef VBOOT_REFERENCE_UTILITY_CGPT_ENDIAN_H_
- #define VBOOT_REFERENCE_UTILITY_CGPT_ENDIAN_H_
- // Newer distros already have this. For those that don't, we add it here.
- #ifndef HAVE_MACOS
- #include <endian.h>
- #endif
- #ifndef le16toh
- #ifndef HAVE_MACOS
- # include <byteswap.h>
- #endif
- # if __BYTE_ORDER == __LITTLE_ENDIAN
- # define htobe16(x) __bswap_16 (x)
- # define htole16(x) (x)
- # define be16toh(x) __bswap_16 (x)
- # define le16toh(x) (x)
- # define htobe32(x) __bswap_32 (x)
- # define htole32(x) (x)
- # define be32toh(x) __bswap_32 (x)
- # define le32toh(x) (x)
- # define htobe64(x) __bswap_64 (x)
- # define htole64(x) (x)
- # define be64toh(x) __bswap_64 (x)
- # define le64toh(x) (x)
- # else
- # define htobe16(x) (x)
- # define htole16(x) __bswap_16 (x)
- # define be16toh(x) (x)
- # define le16toh(x) __bswap_16 (x)
- # define htobe32(x) (x)
- # define htole32(x) __bswap_32 (x)
- # define be32toh(x) (x)
- # define le32toh(x) __bswap_32 (x)
- # define htobe64(x) (x)
- # define htole64(x) __bswap_64 (x)
- # define be64toh(x) (x)
- # define le64toh(x) __bswap_64 (x)
- # endif
- #endif
- #endif // VBOOT_REFERENCE_UTILITY_CGPT_ENDIAN_H_
|