* string/endian.h (__LONG_LONG_PAIR): New macro.
[kopensolaris-gnu/glibc.git] / string / endian.h
index 338c42e..858ee6e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1996, 1997, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 /* This file defines `__BYTE_ORDER' for the particular machine.  */
 #include <bits/endian.h>
 
+/* Some machines may need to use a different endianness for floating point
+   values.  */
+#ifndef __FLOAT_WORD_ORDER
+# define __FLOAT_WORD_ORDER __BYTE_ORDER
+#endif
+
 #ifdef __USE_BSD
-#define        LITTLE_ENDIAN   __LITTLE_ENDIAN
-#define        BIG_ENDIAN      __BIG_ENDIAN
-#define        PDP_ENDIAN      __PDP_ENDIAN
-#define        BYTE_ORDER      __BYTE_ORDER
+# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# define BIG_ENDIAN    __BIG_ENDIAN
+# define PDP_ENDIAN    __PDP_ENDIAN
+# define BYTE_ORDER    __BYTE_ORDER
+#endif
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) LO, HI
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) HI, LO
 #endif
 
 #endif /* endian.h */