cutil/endian.c
2022-04-29 04:25:55 +03:00

22 lines
464 B
C

#include "endian.h"
enum cu_endian_e cu_endian;
static const union {
uint8_t bytes[4];
uint32_t value;
} host_order = {
{0, 1, 2, 3}
};
#define ORDER_LITTLE_ENDIAN 0x03020100
#define ORDER_BIG_ENDIAN 0x00010203
void cu_endian_init()
{
if (host_order.value == ORDER_LITTLE_ENDIAN)
cu_endian = LittleEndian;
else if (host_order.value == ORDER_BIG_ENDIAN)
cu_endian = BigEndian;
else cu_endian = MiddleEndian;
}