endian: explicitly include endian.h wherever we want to use __BYTE_ORDER