/* * fwrite_le.h * * Author: Intel A80486DX2-66 * License: Unlicense */ #ifndef _FWRITE_LE_H #define _FWRITE_LE_H #include #include #include #include #define FWRITE_LE_NO_MODIFICATION 0 #define DETECTED_LITTLE_ENDIAN 0 #define DETECTED_BIG_ENDIAN 1 #define UNSUPPORTED_ENDIANNESS -1 #define ORDER_NATIVE_U32 0x01234567 #define ORDER_LITTLE_ENDIAN_S4 "\x67\x45\x23\x01" #define ORDER_BIG_ENDIAN_S4 "\x01\x23\x45\x67" #define ifeq_b32_ret(lhs, rhs, value) if (!memcmp(lhs, rhs, 4)) return value; int detect_endianness(void); size_t fwrite_le( #if FWRITE_LE_NO_MODIFICATION const #endif void* ptr, size_t size, size_t count, FILE* stream); void reorder_le_be( #if FWRITE_LE_NO_MODIFICATION uint8_t* dest, uint8_t* src, #else uint8_t* bytes, #endif size_t count, size_t step); #endif /* _FWRITE_LE_H */