http://en.wikipedia.org/wiki/Endianness
static uint32_t endianness = 0xdeadbeef;
enum endianness { BIG, LITTLE };
#define ENDIANNESS ( *(const char *)&endianness == 0xef ? LITTLE /
: *(const char *)&endianness == 0xde ? BIG /
: assert(0))
#define IS_BIG_ENDIAN (*(uint16_t *)"/0/xff" < 0x100)