consider __DARWIN_BYTE_ORDER macro