_endian.h 665 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef __MACHINE_ENDIAN_H__
  2. #error "must be included via <machine/endian.h>"
  3. #endif /* !__MACHINE_ENDIAN_H__ */
  4. #include <sys/config.h>
  5. #ifdef __PPC__
  6. /* Get rid of GCC builtin defines on PowerPC */
  7. #ifdef _BIG_ENDIAN
  8. #undef _BIG_ENDIAN
  9. #endif
  10. #ifdef _LITTLE_ENDIAN
  11. #undef _LITTLE_ENDIAN
  12. #endif
  13. #endif /* __PPC__ */
  14. #ifndef _LITTLE_ENDIAN
  15. #define _LITTLE_ENDIAN 1234
  16. #endif
  17. #ifndef _BIG_ENDIAN
  18. #define _BIG_ENDIAN 4321
  19. #endif
  20. #ifndef _PDP_ENDIAN
  21. #define _PDP_ENDIAN 3412
  22. #endif
  23. #ifndef _BYTE_ORDER
  24. #if defined(__IEEE_LITTLE_ENDIAN) || defined(__IEEE_BYTES_LITTLE_ENDIAN)
  25. #define _BYTE_ORDER _LITTLE_ENDIAN
  26. #else
  27. #define _BYTE_ORDER _BIG_ENDIAN
  28. #endif
  29. #endif