endian.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3. The GNU C Library is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU Library General Public License as
  5. published by the Free Software Foundation; either version 2 of the
  6. License, or (at your option) any later version.
  7. The GNU C Library is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  10. Library General Public License for more details.
  11. You should have received a copy of the GNU Library General Public
  12. License along with the GNU C Library; see the file COPYING.LIB. If not,
  13. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  14. Boston, MA 02111-1307, USA. */
  15. #ifndef _ENDIAN_H
  16. #define _ENDIAN_H 1
  17. #include <features.h>
  18. /* Definitions for byte order, according to significance of bytes, from low
  19. addresses to high addresses. The value is what you get by putting '4'
  20. in the most significant byte, '3' in the second most significant byte,
  21. '2' in the second least significant byte, and '1' in the least
  22. significant byte. */
  23. #define __LITTLE_ENDIAN 1234
  24. #define __BIG_ENDIAN 4321
  25. #define __PDP_ENDIAN 3412
  26. /* This file defines `__BYTE_ORDER' for the particular machine. */
  27. #include <bits/endian.h>
  28. /* Some machines may need to use a different endianness for floating point
  29. values. */
  30. #ifndef __FLOAT_WORD_ORDER
  31. # define __FLOAT_WORD_ORDER __BYTE_ORDER
  32. #endif
  33. #ifdef __USE_BSD
  34. # define LITTLE_ENDIAN __LITTLE_ENDIAN
  35. # define BIG_ENDIAN __BIG_ENDIAN
  36. # define PDP_ENDIAN __PDP_ENDIAN
  37. # define BYTE_ORDER __BYTE_ORDER
  38. #endif
  39. #endif /* endian.h */