1 /* 2 * Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3 */ 4 /* 5 * Copyright 1995 NeXT Computer, Inc. All rights reserved. 6 */ 7 /* 8 * Copyright (c) 1987, 1991, 1993 9 * The Regents of the University of California. All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * 3. All advertising materials mentioning features or use of this software 20 * must display the following acknowledgement: 21 * This product includes software developed by the University of 22 * California, Berkeley and its contributors. 23 * 4. Neither the name of the University nor the names of its contributors 24 * may be used to endorse or promote products derived from this software 25 * without specific prior written permission. 26 * 27 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 28 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * @(#)endian.h 8.1 (Berkeley) 6/11/93 40 */ 41 42 #ifndef _ARM__ENDIAN_H_ 43 #define _ARM__ENDIAN_H_ 44 45 #if defined (__arm__) || defined (__arm64__) 46 47 #include <sys/cdefs.h> 48 /* 49 * Define _NOQUAD if the compiler does NOT support 64-bit integers. 50 */ 51 /* #define _NOQUAD */ 52 53 /* 54 * Define the order of 32-bit words in 64-bit words. 55 */ 56 #define _QUAD_HIGHWORD 1 57 #define _QUAD_LOWWORD 0 58 59 /* 60 * Definitions for byte order, according to byte significance from low 61 * address to high. 62 */ 63 #define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ 64 #define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ 65 #define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ 66 67 #define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN 68 69 #if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) 70 71 #define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN 72 #define BIG_ENDIAN __DARWIN_BIG_ENDIAN 73 #define PDP_ENDIAN __DARWIN_PDP_ENDIAN 74 75 #define BYTE_ORDER __DARWIN_BYTE_ORDER 76 77 #include <sys/_endian.h> 78 79 #endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ 80 #endif /* defined (__arm__) || defined (__arm64__) */ 81 #endif /* !_ARM__ENDIAN_H_ */ 82