12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #ifndef _XARCH_H_
- # define _XARCH_H_
- /*
- * Copyright 1997 Metro Link Incorporated
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of the above listed copyright holder(s)
- * not be used in advertising or publicity pertaining to distribution of
- * the software without specific, written prior permission. The above listed
- * copyright holder(s) make(s) no representations about the suitability of
- * this software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
- * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
- /*
- * Determine the machine's byte order.
- */
- /* See if it is set in the imake config first */
- # ifdef X_BYTE_ORDER
- # define X_BIG_ENDIAN 4321
- # define X_LITTLE_ENDIAN 1234
- # else
- # if defined(SVR4) || defined(__SVR4)
- # include <sys/types.h>
- # include <sys/byteorder.h>
- # elif defined(CSRG_BASED)
- # if defined(__NetBSD__) || defined(__OpenBSD__)
- # include <sys/types.h>
- # endif
- # include <machine/endian.h>
- # elif defined(linux)
- # if defined __STRICT_ANSI__
- # undef __STRICT_ANSI__
- # include <endian.h>
- # define __STRICT_ANSI__
- # else
- # include <endian.h>
- # endif
- /* 'endian.h' might have been included before 'Xarch.h' */
- # if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
- # define LITTLE_ENDIAN __LITTLE_ENDIAN
- # endif
- # if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
- # define BIG_ENDIAN __BIG_ENDIAN
- # endif
- # if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
- # define PDP_ENDIAN __PDP_ENDIAN
- # endif
- # if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
- # define BYTE_ORDER __BYTE_ORDER
- # endif
- # endif
- # ifndef BYTE_ORDER
- # define LITTLE_ENDIAN 1234
- # define BIG_ENDIAN 4321
- # if defined(__sun) && defined(__SVR4)
- # include <sys/isa_defs.h>
- # ifdef _LITTLE_ENDIAN
- # define BYTE_ORDER LITTLE_ENDIAN
- # endif
- # ifdef _BIG_ENDIAN
- # define BYTE_ORDER BIG_ENDIAN
- # endif
- # endif /* sun */
- # endif /* BYTE_ORDER */
- # define X_BYTE_ORDER BYTE_ORDER
- # define X_BIG_ENDIAN BIG_ENDIAN
- # define X_LITTLE_ENDIAN LITTLE_ENDIAN
- # endif /* not in imake config */
- #endif /* _XARCH_H_ */
|