// Copyright 2019 Google LLC. All rights reserved. This file and proprietary // source code may only be used and distributed under the Widevine // License Agreement. #ifndef WIDEVINE_ODK_SRC_ODK_ENDIAN_H_ #define WIDEVINE_ODK_SRC_ODK_ENDIAN_H_ #ifdef __cplusplus extern "C" { #endif #if defined(__linux__) || defined(__ANDROID__) #include #define oemcrypto_htobe16 htobe16 #define oemcrypto_be16toh be16toh #define oemcrypto_htobe32 htobe32 #define oemcrypto_be32toh be32toh #define oemcrypto_htobe64 htobe64 #define oemcrypto_be64toh be64toh #elif defined(__APPLE__) #include #define oemcrypto_htobe16 OSSwapHostToBigInt16 #define oemcrypto_be16toh OSSwapBigToHostInt16 #define oemcrypto_htobe32 OSSwapHostToBigInt32 #define oemcrypto_be32toh OSSwapBigToHostInt32 #define oemcrypto_htobe64 OSSwapHostToBigInt64 #define oemcrypto_be64toh OSSwapBigToHostInt64 #else /* defined(__linux__) || defined(__ANDROID__) */ uint32_t oemcrypto_htobe16(uint16_t u16); uint32_t oemcrypto_be16toh(uint16_t u16); uint32_t oemcrypto_htobe32(uint32_t u32); uint32_t oemcrypto_be32toh(uint32_t u32); uint64_t oemcrypto_htobe64(uint64_t u64); uint64_t oemcrypto_be64toh(uint64_t u64); #endif /* defined(__linux__) || defined(__ANDROID__) */ #ifdef __cplusplus } #endif #endif // WIDEVINE_ODK_SRC_ODK_ENDIAN_H_