From 9afe2884c7fe11f862982fd550a2ead688f2044d Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 4 Feb 2014 19:26:31 -0800 Subject: [PATCH] Kill . Most of was either unused, wrong, or identical across all 32-/64-bit architectures. I'm not a huge fan of either, but moving the bits we need up into there is a step forward. Bug: 12213562 Change-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6 --- libc/arch-arm/include/machine/_types.h | 110 ----------------- libc/arch-arm64/include/machine/_types.h | 111 ------------------ libc/arch-mips/include/machine/_types.h | 137 ---------------------- libc/arch-mips/include/machine/signal.h | 33 ------ libc/arch-x86/include/machine/_types.h | 114 ------------------ libc/arch-x86_64/include/machine/_types.h | 137 ---------------------- libc/include/err.h | 9 +- libc/include/sys/_types.h | 43 ++++++- libc/include/sys/endian.h | 1 - 9 files changed, 42 insertions(+), 653 deletions(-) delete mode 100644 libc/arch-arm/include/machine/_types.h delete mode 100644 libc/arch-arm64/include/machine/_types.h delete mode 100644 libc/arch-mips/include/machine/_types.h delete mode 100644 libc/arch-x86/include/machine/_types.h delete mode 100644 libc/arch-x86_64/include/machine/_types.h diff --git a/libc/arch-arm/include/machine/_types.h b/libc/arch-arm/include/machine/_types.h deleted file mode 100644 index 0a8b6104d..000000000 --- a/libc/arch-arm/include/machine/_types.h +++ /dev/null @@ -1,110 +0,0 @@ -/* $OpenBSD: _types.h,v 1.3 2006/02/14 18:12:58 miod Exp $ */ - -/*- - * 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. 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _ARM__TYPES_H_ -#define _ARM__TYPES_H_ - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -/* LONGLONG */ -typedef long long __int64_t; -/* LONGLONG */ -typedef unsigned long long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef int __intptr_t; -typedef unsigned int __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -typedef __int32_t __register_t; - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef int __clock_t; -typedef int __clockid_t; -typedef double __double_t; -typedef float __float_t; -typedef long __ptrdiff_t; -typedef int __time_t; -typedef int __timer_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -#endif /* _ARM__TYPES_H_ */ diff --git a/libc/arch-arm64/include/machine/_types.h b/libc/arch-arm64/include/machine/_types.h deleted file mode 100644 index 0a462aba0..000000000 --- a/libc/arch-arm64/include/machine/_types.h +++ /dev/null @@ -1,111 +0,0 @@ -/* $OpenBSD: _types.h,v 1.3 2006/02/14 18:12:58 miod Exp $ */ - -/*- - * 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. 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _AARCH64__TYPES_H_ -#define _AARCH64__TYPES_H_ - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -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 __int64_t; -typedef unsigned long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef int __intptr_t; -typedef unsigned int __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -typedef __int64_t __register_t; - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef long __clock_t; -typedef int __clockid_t; -typedef double __double_t; -typedef float __float_t; -typedef long __ptrdiff_t; -typedef long __time_t; -typedef int __timer_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -#define _BYTE_ORDER _LITTLE_ENDIAN - -#endif /* _AARCH64__TYPES_H_ */ - diff --git a/libc/arch-mips/include/machine/_types.h b/libc/arch-mips/include/machine/_types.h deleted file mode 100644 index 05f79ef67..000000000 --- a/libc/arch-mips/include/machine/_types.h +++ /dev/null @@ -1,137 +0,0 @@ -/* $OpenBSD: _types.h,v 1.5 2008/07/21 20:50:54 martynas Exp $ */ - -/*- - * 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. 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _MIPS64__TYPES_H_ -#define _MIPS64__TYPES_H_ - -/* - * We need to handle the various ISA levels for sizes. - */ -#define _MIPS_ISA_MIPS1 1 /* R2000/R3000 */ -#define _MIPS_ISA_MIPS2 2 /* R4000/R6000 */ -#define _MIPS_ISA_MIPS3 3 /* R4000 */ -#define _MIPS_ISA_MIPS4 4 /* TFP (R1x000) */ - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -/* LONGLONG */ -typedef long long __int64_t; -/* LONGLONG */ -typedef unsigned long long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef long __intptr_t; -typedef unsigned long __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -#if (_MIPS_ISA == _MIPS_ISA_MIPS3 || _MIPS_ISA == _MIPS_ISA_MIPS4) -typedef __int64_t __register_t; -typedef __int64_t f_register_t; /* XXX */ -#else -typedef __int32_t __register_t; -typedef __int32_t f_register_t; /* XXX */ -#endif - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef int __clock_t; -typedef int __clockid_t; -typedef double __double_t; -typedef float __float_t; -typedef long long __off_t; -typedef long __ptrdiff_t; -typedef int __time_t; -typedef int __timer_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -#if defined(_KERNEL) -typedef struct label_t { - __register_t val[14]; -} label_t; -#endif - -/* XXX check why this still has to be defined. pmap.c issue? */ -#define __SWAP_BROKEN - -/* Feature test macros */ -#define __HAVE_TIMECOUNTER - -#endif /* _MIPS64__TYPES_H_ */ diff --git a/libc/arch-mips/include/machine/signal.h b/libc/arch-mips/include/machine/signal.h index 4efb856f0..c665c7d63 100644 --- a/libc/arch-mips/include/machine/signal.h +++ b/libc/arch-mips/include/machine/signal.h @@ -57,8 +57,6 @@ typedef int sig_atomic_t; * a non-standard exit is performed. */ -#if defined(__ANDROID__) - /* * The Linux and OpenBSD sigcontext structures are slightly different * This is the Linux O32 ABI compatible sigcontext @@ -85,27 +83,10 @@ struct sigcontext { unsigned long sc_lo3; }; -#else - -struct sigcontext { - long sc_onstack; /* sigstack state to restore */ - long sc_mask; /* signal mask to restore */ - __register_t sc_pc; /* pc at time of signal */ - __register_t sc_regs[32]; /* processor regs 0 to 31 */ - __register_t mullo; /* mullo and mulhi registers... */ - __register_t mulhi; /* mullo and mulhi registers... */ - f_register_t sc_fpregs[33]; /* fp regs 0 to 31 and csr */ - long sc_fpused; /* fp has been used */ - long sc_fpc_eir; /* floating point exception instruction reg */ - long xxx[8]; /* XXX reserved */ -}; -#endif #endif /* __BSD_VISIBLE || __XPG_VISIBLE >= 420 */ #else /* __LANGUAGE_ASSEMBLY */ -#ifdef __ANDROID__ - #define SC_REGMASK (0*REGSZ) #define SC_STATUS (1*REGSZ) #define SC_PC (2*REGSZ) @@ -128,20 +109,6 @@ struct sigcontext { #define SC_MASK SC_REGMASK #define SC_FPUSED SC_USED_MATH -#else - -#define SC_ONSTACK (0 * REGSZ) -#define SC_MASK (1 * REGSZ) -#define SC_PC (2 * REGSZ) -#define SC_REGS (3 * REGSZ) -#define SC_MULLO (35 * REGSZ) -#define SC_MULHI (36 * REGSZ) -#define SC_FPREGS (37 * REGSZ) -#define SC_FPUSED (70 * REGSZ) -#define SC_FPC_EIR (71 * REGSZ) - -#endif /* __ANDROID__ */ - #endif /* __LANGUAGE_ASSEMBLY */ #endif /* !_MIPS_SIGNAL_H_ */ diff --git a/libc/arch-x86/include/machine/_types.h b/libc/arch-x86/include/machine/_types.h deleted file mode 100644 index 3806f78ff..000000000 --- a/libc/arch-x86/include/machine/_types.h +++ /dev/null @@ -1,114 +0,0 @@ -/* $OpenBSD: _types.h,v 1.2 2006/01/13 17:50:06 millert Exp $ */ - -/*- - * 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. 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _I386__TYPES_H_ -#define _I386__TYPES_H_ - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -/* LONGLONG */ -typedef long long __int64_t; -/* LONGLONG */ -typedef unsigned long long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef int __intptr_t; -typedef unsigned int __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -typedef __int32_t __register_t; - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef int __clock_t; -typedef int __clockid_t; -typedef double __double_t; -typedef float __float_t; -typedef long __ptrdiff_t; -typedef int __time_t; -typedef int __timer_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -/* Feature test macros */ -#define __HAVE_CPUINFO -#define __HAVE_MUTEX - -#endif /* _I386__TYPES_H_ */ diff --git a/libc/arch-x86_64/include/machine/_types.h b/libc/arch-x86_64/include/machine/_types.h deleted file mode 100644 index 234e65281..000000000 --- a/libc/arch-x86_64/include/machine/_types.h +++ /dev/null @@ -1,137 +0,0 @@ -/* $OpenBSD: _types.h,v 1.13 2013/07/05 19:46:27 guenther Exp $ */ - -/*- - * 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. 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _MACHINE__TYPES_H_ -#define _MACHINE__TYPES_H_ - -/* - * _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned - * value for all data types (int, long, ...). The result is an - * unsigned long and must be cast to any desired pointer type. - * - * _ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - */ -#define _ALIGNBYTES (sizeof(long) - 1) -#define _ALIGN(p) (((unsigned long)(p) + _ALIGNBYTES) &~_ALIGNBYTES) -#define _ALIGNED_POINTER(p,t) 1 - -#if defined(_KERNEL) -typedef struct label_t { - long val[8]; -} label_t; -#endif - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -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 __int64_t; -typedef unsigned long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; -#define __INT_FAST8_MIN INT32_MIN -#define __INT_FAST16_MIN INT32_MIN -#define __INT_FAST32_MIN INT32_MIN -#define __INT_FAST64_MIN INT64_MIN -#define __INT_FAST8_MAX INT32_MAX -#define __INT_FAST16_MAX INT32_MAX -#define __INT_FAST32_MAX INT32_MAX -#define __INT_FAST64_MAX INT64_MAX -#define __UINT_FAST8_MAX UINT32_MAX -#define __UINT_FAST16_MAX UINT32_MAX -#define __UINT_FAST32_MAX UINT32_MAX -#define __UINT_FAST64_MAX UINT64_MAX - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef long __intptr_t; -typedef unsigned long __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -typedef long __register_t; - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef double __double_t; -typedef float __float_t; -typedef long __ptrdiff_t; -typedef long __ssize_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -#endif /* _MACHINE__TYPES_H_ */ diff --git a/libc/include/err.h b/libc/include/err.h index f24da6141..aad1f5964 100644 --- a/libc/include/err.h +++ b/libc/include/err.h @@ -35,15 +35,8 @@ #ifndef _ERR_H_ #define _ERR_H_ -/* - * Don't use va_list in the err/warn prototypes. Va_list is typedef'd in two - * places ( and ), so if we include one - * of them here we may collide with the utility's includes. It's unreasonable - * for utilities to have to include one of them to include err.h, so we get - * __va_list from and use it. - */ #include -#include +#include __BEGIN_DECLS diff --git a/libc/include/sys/_types.h b/libc/include/sys/_types.h index 9d313d10e..6bf9c1c6f 100644 --- a/libc/include/sys/_types.h +++ b/libc/include/sys/_types.h @@ -32,9 +32,48 @@ */ #ifndef _SYS__TYPES_H_ -#define _SYS__TYPES_H_ +#define _SYS__TYPES_H_ -#include +typedef __signed char __int8_t; +typedef unsigned char __uint8_t; +typedef short __int16_t; +typedef unsigned short __uint16_t; +typedef int __int32_t; +typedef unsigned int __uint32_t; +#if __LP64__ +typedef long __int64_t; +typedef unsigned long __uint64_t; +#else +typedef long long __int64_t; +typedef unsigned long long __uint64_t; +#endif + +#if __LP64__ +typedef long __intptr_t; +typedef unsigned long __uintptr_t; +#else +typedef int __intptr_t; +typedef unsigned int __uintptr_t; +#endif + +#if __LP64__ +typedef long __time_t; +#else +typedef int __time_t; /* Historical accident. */ +#endif + +typedef int __timer_t; + +typedef int __clockid_t; + +#ifndef __cplusplus +typedef int __wchar_t; +#endif + +typedef double __double_t; +typedef float __float_t; + +typedef __builtin_va_list __va_list; typedef unsigned long __cpuid_t; /* CPU id */ typedef __uint32_t __fixpt_t; /* fixed point number */ diff --git a/libc/include/sys/endian.h b/libc/include/sys/endian.h index b0365d8dc..cbde12110 100644 --- a/libc/include/sys/endian.h +++ b/libc/include/sys/endian.h @@ -38,7 +38,6 @@ #include #include -#include #define _LITTLE_ENDIAN 1234 #define _BIG_ENDIAN 4321