124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- Endian.h ------------------------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef liblldb_host_endian_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define liblldb_host_endian_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1317f5afe9ed10bda3efbce0f26cf0c030331f8b15Greg Clayton#include "lldb/lldb-enumerations.h" 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 15cd548034fa23113e995b8463d14f910ba2f7298cGreg Claytonnamespace lldb { 16cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton 17cd548034fa23113e995b8463d14f910ba2f7298cGreg Claytonnamespace endian { 18cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton 19cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton static union EndianTest 20cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton { 21cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton uint32_t num; 22cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton uint8_t bytes[sizeof(uint32_t)]; 23cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton } const endianTest = { (uint16_t)0x01020304 }; 24cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton 25cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton inline ByteOrder InlHostByteOrder() { return (ByteOrder)endianTest.bytes[0]; } 26cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton 27cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton// ByteOrder const InlHostByteOrder = (ByteOrder)endianTest.bytes[0]; 28cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton} 29cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton 30cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton} 3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // liblldb_host_endian_h_ 3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 34