31 #ifndef ETL_ENDIAN_INCLUDED
32 #define ETL_ENDIAN_INCLUDED
59 ETL_DECLARE_ENUM_TYPE(
endian,
int)
60 ETL_ENUM_TYPE(little,
"little")
61 ETL_ENUM_TYPE(big,
"big")
62 ETL_ENUM_TYPE(native,
"native")
102 return (u.ui16[0] == 0x5678) ? etl::endian::little : etl::endian::big;
107 inline uint8_t ntoh(
const uint8_t network)
113 inline uint16_t ntoh(
const uint16_t network)
115 if (endianness::value() == endian::little)
126 inline uint32_t ntoh(
const uint32_t network)
128 if (endianness::value() == endian::little)
138 #if ETL_USING_64BIT_TYPES
140 inline uint64_t ntoh(
const uint64_t network)
142 if (endianness::value() == endian::little)
154 inline uint8_t hton(
const uint8_t host)
160 inline uint16_t hton(
const uint16_t host)
162 if (endianness::value() == endian::little)
173 inline uint32_t hton(
const uint32_t host)
175 if (endianness::value() == endian::little)
185 #if ETL_USING_64BIT_TYPES
187 inline uint64_t hton(
const uint64_t host)
189 if (endianness::value() == endian::little)
ETL_CONSTEXPR uint16_t reverse_bytes(uint16_t value)
Definition: binary.h:580
Definition: endianness.h:51
Definition: endianness.h:71
Definition: absolute.h:37