union endian_checker_union
{
int i; char c[sizeof(int)];
} endian_checker = { 1 };

#define IS_BIG_ENDIAN() (!endian_checker.c[0])