summaryrefslogtreecommitdiff
path: root/tool/headers/arm
diff options
context:
space:
mode:
Diffstat (limited to 'tool/headers/arm')
-rw-r--r--tool/headers/arm/_limits.h28
-rw-r--r--tool/headers/arm/_param.h42
-rw-r--r--tool/headers/arm/_structs.h93
-rw-r--r--tool/headers/arm/_types.h114
-rw-r--r--tool/headers/arm/disklabel.h45
-rw-r--r--tool/headers/arm/endian.h95
-rw-r--r--tool/headers/arm/limits.h107
-rw-r--r--tool/headers/arm/param.h161
-rw-r--r--tool/headers/arm/setjmp.h23
-rw-r--r--tool/headers/arm/signal.h73
-rw-r--r--tool/headers/arm/types.h126
11 files changed, 907 insertions, 0 deletions
diff --git a/tool/headers/arm/_limits.h b/tool/headers/arm/_limits.h
new file mode 100644
index 000000000..7a5fb4191
--- /dev/null
+++ b/tool/headers/arm/_limits.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+#ifndef _ARM__LIMITS_H_
+#define _ARM__LIMITS_H_
+
+#define __DARWIN_CLK_TCK 100 /* ticks per second */
+
+#endif /* _ARM__LIMITS_H_ */
+
diff --git a/tool/headers/arm/_param.h b/tool/headers/arm/_param.h
new file mode 100644
index 000000000..d0a7ddb5b
--- /dev/null
+++ b/tool/headers/arm/_param.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ */
+
+#ifndef _ARM__PARAM_H_
+#define _ARM__PARAM_H_
+
+#include <arm/_types.h>
+
+/*
+ * Round p (pointer or byte index) up to a correctly-aligned value for all
+ * data types (int, long, ...). The result is unsigned int and must be
+ * cast to any desired pointer type.
+ */
+#define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1)
+#define __DARWIN_ALIGN(p) ((__darwin_size_t)((char *)(p) + __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES)
+
+#endif /* _ARM__PARAM_H_ */
diff --git a/tool/headers/arm/_structs.h b/tool/headers/arm/_structs.h
new file mode 100644
index 000000000..d97503655
--- /dev/null
+++ b/tool/headers/arm/_structs.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ */
+
+#include <sys/appleapiopts.h>
+
+#ifdef __need_mcontext_t
+#ifndef __need_struct_mcontext
+#define __need_struct_mcontext
+#endif /* __need_struct_mcontext */
+#endif /* __need_mcontext_t */
+
+#if defined(__need_struct_mcontext)
+//#include <mach/i386/_structs.h>
+#endif /* __need_struct_mcontext */
+
+
+#ifdef __need_struct_mcontext
+#undef __need_struct_mcontext
+
+#ifndef _STRUCT_MCONTEXT32
+#if __DARWIN_UNIX03
+#define _STRUCT_MCONTEXT32 struct __darwin_mcontext32
+_STRUCT_MCONTEXT32
+{
+};
+#else /* !__DARWIN_UNIX03 */
+#define _STRUCT_MCONTEXT32 struct mcontext32
+_STRUCT_MCONTEXT32
+{
+};
+#endif /* __DARWIN_UNIX03 */
+#endif /* _STRUCT_MCONTEXT32 */
+
+#ifndef _STRUCT_MCONTEXT64
+#if __DARWIN_UNIX03
+#define _STRUCT_MCONTEXT64 struct __darwin_mcontext64
+_STRUCT_MCONTEXT64
+{
+};
+#else /* !__DARWIN_UNIX03 */
+#define _STRUCT_MCONTEXT64 struct mcontext64
+_STRUCT_MCONTEXT64
+{
+};
+#endif /* __DARWIN_UNIX03 */
+#endif /* _STRUCT_MCONTEXT64 */
+#endif /* __need_struct_mcontext */
+
+#ifdef __need_mcontext_t
+#undef __need_mcontext_t
+#ifndef _MCONTEXT_T
+#define _MCONTEXT_T
+#if defined(__LP64__)
+typedef _STRUCT_MCONTEXT64 *mcontext_t;
+#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64
+#else
+typedef _STRUCT_MCONTEXT32 *mcontext_t;
+#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32
+#endif
+#endif /* _MCONTEXT_T */
+#endif /* __need_mcontext_t */
+
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+#ifndef I386_MCONTEXT_SIZE
+#define I386_MCONTEXT_SIZE sizeof(struct mcontext)
+#endif /* I386_MCONTEXT_SIZE */
+#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+
diff --git a/tool/headers/arm/_types.h b/tool/headers/arm/_types.h
new file mode 100644
index 000000000..a117d8a41
--- /dev/null
+++ b/tool/headers/arm/_types.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+#ifndef _BSD_ARM__TYPES_H_
+#define _BSD_ARM__TYPES_H_
+
+/*
+ * This header file contains integer types. It's intended to also contain
+ * flotaing point and other arithmetic types, as needed, later.
+ */
+
+#ifdef __GNUC__
+typedef __signed char __int8_t;
+#else /* !__GNUC__ */
+typedef char __int8_t;
+#endif /* !__GNUC__ */
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef long long __int64_t;
+typedef unsigned long long __uint64_t;
+
+typedef long __darwin_intptr_t;
+typedef unsigned int __darwin_natural_t;
+
+/*
+ * The rune type below is declared to be an ``int'' instead of the more natural
+ * ``unsigned long'' or ``long''. Two things are happening here. It is not
+ * unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+ * it looks like 10646 will be a 31 bit standard. This means that if your
+ * ints cannot hold 32 bits, you will be in trouble. The reason an int was
+ * chosen over a long is that the is*() and to*() routines take ints (says
+ * ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
+ * here, you lose a bit of ANSI conformance, but your programs will still
+ * work.
+ *
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
+ */
+
+typedef int __darwin_ct_rune_t; /* ct_rune_t */
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ long long _mbstateL; /* for alignment */
+} __mbstate_t;
+
+typedef __mbstate_t __darwin_mbstate_t; /* mbstate_t */
+
+#if defined(__GNUC__) && defined(__PTRDIFF_TYPE__)
+typedef __PTRDIFF_TYPE__ __darwin_ptrdiff_t; /* ptr1 - ptr2 */
+#else
+typedef int __darwin_ptrdiff_t; /* ptr1 - ptr2 */
+#endif /* __GNUC__ */
+
+#if defined(__GNUC__) && defined(__SIZE_TYPE__)
+typedef __SIZE_TYPE__ __darwin_size_t; /* sizeof() */
+#else
+typedef unsigned long __darwin_size_t; /* sizeof() */
+#endif
+
+#if (__GNUC__ > 2)
+typedef __builtin_va_list __darwin_va_list; /* va_list */
+#else
+typedef void * __darwin_va_list; /* va_list */
+#endif
+
+#if defined(__GNUC__) && defined(__WCHAR_TYPE__)
+typedef __WCHAR_TYPE__ __darwin_wchar_t; /* wchar_t */
+#else
+typedef __darwin_ct_rune_t __darwin_wchar_t; /* wchar_t */
+#endif
+
+typedef __darwin_wchar_t __darwin_rune_t; /* rune_t */
+
+#if defined(__GNUC__) && defined(__WINT_TYPE__)
+typedef __WINT_TYPE__ __darwin_wint_t; /* wint_t */
+#else
+typedef __darwin_ct_rune_t __darwin_wint_t; /* wint_t */
+#endif
+
+typedef unsigned long __darwin_clock_t; /* clock() */
+typedef __uint32_t __darwin_socklen_t; /* socklen_t (duh) */
+typedef long __darwin_ssize_t; /* byte count or error */
+typedef long __darwin_time_t; /* time() */
+
+#endif /* _BSD_ARM__TYPES_H_ */
diff --git a/tool/headers/arm/disklabel.h b/tool/headers/arm/disklabel.h
new file mode 100644
index 000000000..283c9174d
--- /dev/null
+++ b/tool/headers/arm/disklabel.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ */
+#ifndef _MACHINE_DISKLABEL_H_
+#define _MACHINE_DISKLABEL_H_
+
+#include <sys/appleapiopts.h>
+
+#ifdef __APPLE_API_OBSOLETE
+#define LABELSECTOR (1024 / DEV_BSIZE) /* sector containing label */
+#define LABELOFFSET 0 /* offset of label in sector */
+#define MAXPARTITIONS 8 /* number of partitions */
+#define RAW_PART 2 /* raw partition: xx?c */
+
+/* Just a dummy */
+struct cpu_disklabel {
+ int cd_dummy; /* must have one element. */
+};
+#endif /* __APPLE_API_OBSOLETE */
+
+#endif /* _MACHINE_DISKLABEL_H_ */
diff --git a/tool/headers/arm/endian.h b/tool/headers/arm/endian.h
new file mode 100644
index 000000000..887fd17f8
--- /dev/null
+++ b/tool/headers/arm/endian.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*
+ * Copyright 1995 NeXT Computer, Inc. All rights reserved.
+ */
+/*
+ * Copyright (c) 1987, 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)endian.h 8.1 (Berkeley) 6/11/93
+ */
+
+#ifndef _ARM__ENDIAN_H_
+#define _ARM__ENDIAN_H_
+
+/*
+ * Define _NOQUAD if the compiler does NOT support 64-bit integers.
+ */
+/* #define _NOQUAD */
+
+/*
+ * Define the order of 32-bit words in 64-bit words.
+ */
+#define _QUAD_HIGHWORD 1
+#define _QUAD_LOWWORD 0
+
+/*
+ * Definitions for byte order, according to byte significance from low
+ * address to high.
+ */
+#define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
+#define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
+#define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */
+
+#define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN
+
+#if defined(KERNEL) || !defined(_POSIX_C_SOURCE)
+
+#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
+#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
+#define PDP_ENDIAN __DARWIN_PDP_ENDIAN
+
+#define BYTE_ORDER __DARWIN_BYTE_ORDER
+
+#include <sys/_endian.h>
+
+#endif /* defined(KERNEL) || !defined(_POSIX_C_SOURCE) */
+#endif /* !_ARM__ENDIAN_H_ */
diff --git a/tool/headers/arm/limits.h b/tool/headers/arm/limits.h
new file mode 100644
index 000000000..4b5f02404
--- /dev/null
+++ b/tool/headers/arm/limits.h
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 1988, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)limits.h 8.3 (Berkeley) 1/4/94
+ */
+
+#ifndef _ARM_LIMITS_H_
+#define _ARM_LIMITS_H_
+
+#include <arm/_limits.h>
+
+#define CHAR_BIT 8 /* number of bits in a char */
+#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */
+
+#define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */
+
+/*
+ * According to ANSI (section 2.2.4.2), the values below must be usable by
+ * #if preprocessing directives. Additionally, the expression must have the
+ * same type as would an expression that is an object of the corresponding
+ * type converted according to the integral promotions. The subtraction for
+ * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an
+ * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
+ * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values
+ * are written as hex so that GCC will be quiet about large integer constants.
+ */
+#define SCHAR_MAX 127 /* min value for a signed char */
+#define SCHAR_MIN (-128) /* max value for a signed char */
+
+#define UCHAR_MAX 255 /* max value for an unsigned char */
+#define CHAR_MAX 127 /* max value for a char */
+#define CHAR_MIN (-128) /* min value for a char */
+
+#define USHRT_MAX 65535 /* max value for an unsigned short */
+#define SHRT_MAX 32767 /* max value for a short */
+#define SHRT_MIN (-32768) /* min value for a short */
+
+#define UINT_MAX 0xffffffff /* max value for an unsigned int */
+#define INT_MAX 2147483647 /* max value for an int */
+#define INT_MIN (-2147483647-1) /* min value for an int */
+
+#ifdef __LP64__
+#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */
+#define LONG_MAX 0x7fffffffffffffffL /* max signed long */
+#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */
+#else /* !__LP64__ */
+#define ULONG_MAX 0xffffffffL /* max value for an unsigned long */
+#define LONG_MAX 2147483647L /* max value for a long */
+#define LONG_MIN (-2147483647L-1) /* min value for a long */
+#endif /* __LP64__ */
+
+#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */
+#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */
+#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */
+
+#if !defined(_ANSI_SOURCE)
+#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
+
+#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
+#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */
+
+#define UQUAD_MAX ULLONG_MAX
+#define QUAD_MAX LLONG_MAX
+#define QUAD_MIN LLONG_MIN
+
+#endif /* !_POSIX_C_SOURCE && !_XOPEN_SOURCE */
+#endif /* !_ANSI_SOURCE */
+
+#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_C_SOURCE)) || defined(_XOPEN_SOURCE)
+#ifdef __LP64__
+#define LONG_BIT 64
+#else /* !__LP64__ */
+#define LONG_BIT 32
+#endif /* __LP64__ */
+#define WORD_BIT 32
+#endif /* (!(_ANSI_SOURCE) && !(_POSIX_C_SOURCE)) || (_XOPEN_SOURCE) */
+
+#endif /* _ARM_LIMITS_H_ */
diff --git a/tool/headers/arm/param.h b/tool/headers/arm/param.h
new file mode 100644
index 000000000..0196a8cdf
--- /dev/null
+++ b/tool/headers/arm/param.h
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)param.h 8.1 (Berkeley) 4/4/95
+ */
+
+/*
+ * Machine dependent constants for Intel 386.
+ */
+
+#ifndef _ARM_PARAM_H_
+#define _ARM_PARAM_H_
+
+/*
+ * Round p (pointer or byte index) up to a correctly-aligned value for all
+ * data types (int, long, ...). The result is unsigned int and must be
+ * cast to any desired pointer type.
+ */
+#define ALIGNBYTES 3
+#define ALIGN(p) (((unsigned int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
+
+#define NBPG 4096 /* bytes/page */
+#define PGOFSET (NBPG-1) /* byte offset into page */
+#define PGSHIFT 12 /* LOG2(NBPG) */
+
+#define DEV_BSIZE 512
+#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
+#define BLKDEV_IOSIZE 2048
+#define MAXPHYS (128 * 1024) /* max raw I/O transfer size */
+
+#define CLSIZE 1
+#define CLSIZELOG2 0
+
+/*
+ * Constants related to network buffer management.
+ * MCLBYTES must be no larger than CLBYTES (the software page size), and,
+ * on machines that exchange pages of input or output buffers with mbuf
+ * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
+ * of the hardware page size.
+ */
+#define MSIZE 256 /* size of an mbuf */
+#define MCLBYTES 2048 /* large enough for ether MTU */
+#define MCLSHIFT 11
+#define MCLOFSET (MCLBYTES - 1)
+#ifndef NMBCLUSTERS
+#ifdef GATEWAY
+#define NMBCLUSTERS ((1024 * 1024) / MCLBYTES) /* cl map size: 1MB */
+#else
+#define NMBCLUSTERS ((1024 * 512) / MCLBYTES) /* cl map size: 0.5MB */
+#endif
+#endif
+
+/*
+ * Some macros for units conversion
+ */
+/* Core clicks (NeXT_page_size bytes) to segments and vice versa */
+#define ctos(x) (x)
+#define stoc(x) (x)
+
+/* Core clicks (4096 bytes) to disk blocks */
+#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT))
+#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT))
+#define dtob(x) ((x)<<DEV_BSHIFT)
+
+/* clicks to bytes */
+#define ctob(x) ((x)<<PGSHIFT)
+
+/* bytes to clicks */
+#define btoc(x) (((unsigned)(x)+(NBPG-1))>>PGSHIFT)
+
+#ifdef __APPLE__
+#define btodb(bytes, devBlockSize) \
+ ((unsigned)(bytes) / devBlockSize)
+#define dbtob(db, devBlockSize) \
+ ((unsigned)(db) * devBlockSize)
+#else
+#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \
+ ((unsigned)(bytes) >> DEV_BSHIFT)
+#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \
+ ((unsigned)(db) << DEV_BSHIFT)
+#endif
+
+/*
+ * Map a ``block device block'' to a file system block.
+ * This should be device dependent, and will be if we
+ * add an entry to cdevsw/bdevsw for that purpose.
+ * For now though just use DEV_BSIZE.
+ */
+#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE))
+
+/*
+ * Macros to decode (and encode) processor status word.
+ */
+#define STATUS_WORD(rpl, ipl) (((ipl) << 8) | (rpl))
+#define USERMODE(x) (((x) & 3) == 3)
+#define BASEPRI(x) (((x) & (255 << 8)) == 0)
+
+
+#if defined(KERNEL) || defined(STANDALONE)
+#define DELAY(n) delay(n)
+
+#else /* defined(KERNEL) || defined(STANDALONE) */
+#define DELAY(n) { register int N = (n); while (--N > 0); }
+#endif /* defined(KERNEL) || defined(STANDALONE) */
+
+#endif /* _ARM_PARAM_H_ */
diff --git a/tool/headers/arm/setjmp.h b/tool/headers/arm/setjmp.h
new file mode 100644
index 000000000..6b74bccda
--- /dev/null
+++ b/tool/headers/arm/setjmp.h
@@ -0,0 +1,23 @@
+#ifndef _BSD_ARM_SETJMP_H_
+#define _BSD_ARM_SETJMP_H_
+
+#define _JBLEN 32
+typedef int jmp_buf[_JBLEN];
+typedef int sigjmp_buf[_JBLEN + 1];
+
+int setjmp(jmp_buf env);
+void longjmp(jmp_buf env, int val);
+
+#ifndef _ANSI_SOURCE
+int _setjmp(jmp_buf env);
+void _longjmp(jmp_buf, int val);
+int sigsetjmp(sigjmp_buf env, int val);
+void siglongjmp(sigjmp_buf env, int val);
+#endif
+
+#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE)
+void longjmperror(void);
+#endif
+
+#endif
+
diff --git a/tool/headers/arm/signal.h b/tool/headers/arm/signal.h
new file mode 100644
index 000000000..fb949f788
--- /dev/null
+++ b/tool/headers/arm/signal.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*
+ * Copyright (c) 1992 NeXT Computer, Inc.
+ *
+ */
+
+#ifndef _ARM_SIGNAL_
+#define _ARM_SIGNAL_ 1
+
+#ifndef _ANSI_SOURCE
+typedef int sig_atomic_t;
+
+#ifndef _POSIX_C_SOURCE
+
+#include <sys/appleapiopts.h>
+
+#ifdef __APPLE_API_OBSOLETE
+
+/*
+ * Information pushed on stack when a signal is delivered.
+ * This is used by the kernel to restore state following
+ * execution of the signal handler. It is also made available
+ * to the handler to allow it to properly restore state if
+ * a non-standard exit is performed.
+ */
+struct sigcontext {
+ int sc_onstack; /* sigstack state to restore */
+ int sc_mask; /* signal mask to restore */
+ unsigned int sc_r0;
+ unsigned int sc_r1;
+ unsigned int sc_r2;
+ unsigned int sc_r3;
+ unsigned int sc_r4;
+ unsigned int sc_r5;
+ unsigned int sc_r6;
+ unsigned int sc_r7;
+ unsigned int sc_r8;
+ unsigned int sc_r9;
+ unsigned int sc_r10;
+ unsigned int sc_r11;
+ unsigned int sc_r12;
+ unsigned int sc_r13;
+ unsigned int sc_r14;
+ unsigned int sc_r15;
+ unsigned int sc_r16;
+};
+
+#endif /* __APPLE_API_OBSOLETE */
+#endif /* ! _POSIX_C_SOURCE */
+#endif /* ! _ANSI_SOURCE */
+
+#endif /* _ARM_SIGNAL_ */
+
diff --git a/tool/headers/arm/types.h b/tool/headers/arm/types.h
new file mode 100644
index 000000000..33285dd79
--- /dev/null
+++ b/tool/headers/arm/types.h
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*
+ * Copyright 1995 NeXT Computer, Inc. All rights reserved.
+ */
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)types.h 8.3 (Berkeley) 1/5/94
+ */
+
+#ifndef _MACHTYPES_H_
+#define _MACHTYPES_H_
+
+#ifndef __ASSEMBLER__
+#include <arm/_types.h>
+#include <sys/cdefs.h>
+/*
+ * Basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+#ifndef _INT8_T
+#define _INT8_T
+typedef __signed char int8_t;
+#endif
+typedef unsigned char u_int8_t;
+#ifndef _INT16_T
+#define _INT16_T
+typedef short int16_t;
+#endif
+typedef unsigned short u_int16_t;
+#ifndef _INT32_T
+#define _INT32_T
+typedef int int32_t;
+#endif
+typedef unsigned int u_int32_t;
+#ifndef _INT64_T
+#define _INT64_T
+typedef long long int64_t;
+#endif
+typedef unsigned long long u_int64_t;
+
+#if __LP64__
+typedef int64_t register_t;
+#else
+typedef int32_t register_t;
+#endif
+
+#ifndef _INTPTR_T
+#define _INTPTR_T
+typedef __darwin_intptr_t intptr_t;
+#endif
+#ifndef _UINTPTR_T
+#define _UINTPTR_T
+typedef unsigned long int uintptr_t;
+#endif
+
+/* These types are used for reserving the largest possible size. */
+// LP64todo - typedef mach_vm_address_t user_addr_t; /* varying length pointers from user space */
+// LP64todo - typedef mach_vm_size_t user_size_t; /* varying length values from user space (unsigned) */
+typedef u_int64_t user_addr_t;
+typedef u_int64_t user_size_t;
+typedef int64_t user_ssize_t;
+typedef int64_t user_long_t;
+typedef u_int64_t user_ulong_t;
+typedef int64_t user_time_t;
+#define USER_ADDR_NULL ((user_addr_t) 0)
+#define CAST_USER_ADDR_T(a_ptr) ((user_addr_t)((uintptr_t)(a_ptr)))
+
+/* This defines the size of syscall arguments after copying into the kernel: */
+typedef u_int64_t syscall_arg_t;
+
+#ifndef __offsetof
+#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+#endif
+
+#endif /* __ASSEMBLER__ */
+#endif /* _MACHTYPES_H_ */