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