diff options
Diffstat (limited to 'StdLib/Include')
250 files changed, 0 insertions, 35157 deletions
diff --git a/StdLib/Include/Aarch64/arm-gcc.h b/StdLib/Include/Aarch64/arm-gcc.h deleted file mode 100644 index ef0014b4b2..0000000000 --- a/StdLib/Include/Aarch64/arm-gcc.h +++ /dev/null @@ -1,110 +0,0 @@ -/** @file
-
- Copyright (c) 2014, ARM Limited. All rights reserved.
-
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/* $NetBSD: arm-gcc.h,v 1.4 2013/01/26 07:08:14 matt Exp $ */
-
-/*
--------------------------------------------------------------------------------
-One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
--------------------------------------------------------------------------------
-*/
-#define LITTLEENDIAN
-
-/*
--------------------------------------------------------------------------------
-The macro `BITS64' can be defined to indicate that 64-bit integer types are
-supported by the compiler.
--------------------------------------------------------------------------------
-*/
-#define BITS64
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines the most convenient type that holds
-integers of at least as many bits as specified. For example, `uint8' should
-be the most convenient type that can hold unsigned integers of as many as
-8 bits. The `flag' type must be able to hold either a 0 or 1. For most
-implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
-to the same as `int'.
--------------------------------------------------------------------------------
-*/
-typedef int flag;
-typedef int uint8;
-typedef int int8;
-typedef int uint16;
-typedef int int16;
-typedef unsigned int uint32;
-typedef signed int int32;
-#ifdef BITS64
-typedef unsigned long long int uint64;
-typedef signed long long int int64;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines a type that holds integers
-of _exactly_ the number of bits specified. For instance, for most
-implementation of C, `bits16' and `sbits16' should be `typedef'ed to
-`unsigned short int' and `signed short int' (or `short int'), respectively.
--------------------------------------------------------------------------------
-*/
-typedef unsigned char bits8;
-typedef signed char sbits8;
-typedef unsigned short int bits16;
-typedef signed short int sbits16;
-typedef unsigned int bits32;
-typedef signed int sbits32;
-#ifdef BITS64
-typedef unsigned long long int bits64;
-typedef signed long long int sbits64;
-#endif
-
-#ifdef BITS64
-/*
--------------------------------------------------------------------------------
-The `LIT64' macro takes as its argument a textual integer literal and
-if necessary ``marks'' the literal as having a 64-bit integer type.
-For example, the GNU C Compiler (`gcc') requires that 64-bit literals be
-appended with the letters `LL' standing for `long long', which is `gcc's
-name for the 64-bit integer type. Some compilers may allow `LIT64' to be
-defined as the identity macro: `#define LIT64( a ) a'.
--------------------------------------------------------------------------------
-*/
-#define LIT64( a ) a##ULL
-#endif
-
-/*
--------------------------------------------------------------------------------
-The macro `INLINE' can be used before functions that should be inlined. If
-a compiler does not support explicit inlining, this macro should be defined
-to be `static'.
--------------------------------------------------------------------------------
-*/
-#define INLINE static inline
-
-/*
--------------------------------------------------------------------------------
-The ARM FPA is odd in that it stores doubles high-order word first, no matter
-what the endianness of the CPU. VFP is sane.
--------------------------------------------------------------------------------
-*/
-#if defined(SOFTFLOAT_FOR_GCC)
-#if defined(__VFP_FP__)
-#define FLOAT64_DEMANGLE(a) (a)
-#define FLOAT64_MANGLE(a) (a)
-#else
-#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32))
-#define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a)
-#endif
-#endif
diff --git a/StdLib/Include/Aarch64/machine/ansi.h b/StdLib/Include/Aarch64/machine/ansi.h deleted file mode 100644 index 8273905cd3..0000000000 --- a/StdLib/Include/Aarch64/machine/ansi.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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.
- *
- * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94
- NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp
-**/
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
- * #undef _BSD_SIZE_T_
- * #endif
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) 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 _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_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 struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/Aarch64/machine/bswap.h b/StdLib/Include/Aarch64/machine/bswap.h deleted file mode 100644 index 142f739dc0..0000000000 --- a/StdLib/Include/Aarch64/machine/bswap.h +++ /dev/null @@ -1,13 +0,0 @@ -/* $NetBSD: bswap.h,v 1.4 2006/01/31 07:49:18 dsl Exp $ */
-
-/* Written by Manuel Bouyer. Public domain */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <machine/byte_swap.h>
-
-#define __BSWAP_RENAME
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/Aarch64/machine/byte_swap.h b/StdLib/Include/Aarch64/machine/byte_swap.h deleted file mode 100644 index 8e1272c518..0000000000 --- a/StdLib/Include/Aarch64/machine/byte_swap.h +++ /dev/null @@ -1,63 +0,0 @@ -/*-
- * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum, Neil A. Carson, and Jason R. Thorpe.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AARCH64_BYTE_SWAP_H_
-#define _AARCH64_BYTE_SWAP_H_
-
-#ifdef __GNUC__
-#include <sys/types.h>
-__BEGIN_DECLS
-
-#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
-static __inline uint32_t
-__byte_swap_u32_variable(uint32_t v)
-{
- uint32_t t1;
-
- t1 = v ^ ((v << 16) | (v >> 16));
- t1 &= 0xff00ffffU;
- v = (v >> 8) | (v << 24);
- v ^= (t1 >> 8);
- return (v);
-}
-
-#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
-static __inline uint16_t
-__byte_swap_u16_variable(uint16_t v)
-{
-
- v &= 0xffff;
- v = (v >> 8) | (v << 8);
- return (v);
-}
-
-__END_DECLS
-#endif
-
-#endif /* _AARCH64_BYTE_SWAP_H_ */
diff --git a/StdLib/Include/Aarch64/machine/endian.h b/StdLib/Include/Aarch64/machine/endian.h deleted file mode 100644 index bb53c0ba07..0000000000 --- a/StdLib/Include/Aarch64/machine/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/Aarch64/machine/endian_machdep.h b/StdLib/Include/Aarch64/machine/endian_machdep.h deleted file mode 100644 index 1940786061..0000000000 --- a/StdLib/Include/Aarch64/machine/endian_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian_machdep.h,v 1.8 2006/01/30 21:52:38 dsl Exp $ */
-
-#define _BYTE_ORDER _LITTLE_ENDIAN
diff --git a/StdLib/Include/Aarch64/machine/fenv.h b/StdLib/Include/Aarch64/machine/fenv.h deleted file mode 100644 index 8e255f56d3..0000000000 --- a/StdLib/Include/Aarch64/machine/fenv.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $NetBSD: fenv.h,v 1.2 2014/01/29 00:22:09 matt Exp $ */
-
-/*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _AARCH64_FENV_H_
-#define _AARCH64_FENV_H_
-
-/* AArch64 split FPSCR into two registers FPCR and FPSR */
-typedef struct {
- unsigned int __fpcr;
- unsigned int __fpsr;
-} fenv_t;
-typedef int fexcept_t;
-
-#define FE_INVALID 0x01 /* invalid operation exception */
-#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */
-#define FE_OVERFLOW 0x04 /* overflow exception */
-#define FE_UNDERFLOW 0x08 /* underflow exception */
-#define FE_INEXACT 0x10 /* imprecise (loss of precision; "inexact") */
-
-#define FE_ALL_EXCEPT 0x1f
-
-#define FE_TONEAREST 0 /* round to nearest representable number */
-#define FE_UPWARD 1 /* round toward positive infinity */
-#define FE_DOWNWARD 2 /* round toward negative infinity */
-#define FE_TOWARDZERO 3 /* round to zero (truncate) */
-
-__BEGIN_DECLS
-
-/* Default floating-point environment */
-extern const fenv_t __fe_dfl_env;
-#define FE_DFL_ENV (&__fe_dfl_env)
-
-__END_DECLS
-
-#endif /* _AARCH64_FENV_H_ */
diff --git a/StdLib/Include/Aarch64/machine/float.h b/StdLib/Include/Aarch64/machine/float.h deleted file mode 100644 index f1da46ca63..0000000000 --- a/StdLib/Include/Aarch64/machine/float.h +++ /dev/null @@ -1,59 +0,0 @@ -/* $NetBSD: float.h,v 1.6 2005/12/11 12:16:47 christos Exp $ */
-/*-
- * Copyright (c) 2008 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AARCH64_FLOAT_H_
-#define _AARCH64_FLOAT_H_
-
-#ifndef __VFP_FP__
-#define LDBL_MANT_DIG 64
-#define LDBL_EPSILON 1.0842021724855044340E-19L
-#define LDBL_DIG 18
-#define LDBL_MIN_EXP (-16381)
-#define LDBL_MIN 1.6810515715560467531E-4932L
-#define LDBL_MIN_10_EXP (-4931)
-#define LDBL_MAX_EXP 16384
-#define LDBL_MAX 1.1897314953572317650E+4932L
-#define LDBL_MAX_10_EXP 4932
-#endif
-
-#include <sys/float_ieee754.h>
-
-#ifndef __VFP_FP__
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_XOPEN_SOURCE) || \
- ((__STDC_VERSION__ - 0) >= 199901L) || \
- ((_POSIX_C_SOURCE - 0) >= 200112L) || \
- ((_XOPEN_SOURCE - 0) >= 600) || \
- defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
-#define DECIMAL_DIG 21
-#endif /* !defined(_ANSI_SOURCE) && ... */
-#endif /* !__VFP_FP__ */
-
-#endif /* !_AARCH64_FLOAT_H_ */
diff --git a/StdLib/Include/Aarch64/machine/ieee.h b/StdLib/Include/Aarch64/machine/ieee.h deleted file mode 100644 index 4aa90bd8e6..0000000000 --- a/StdLib/Include/Aarch64/machine/ieee.h +++ /dev/null @@ -1,31 +0,0 @@ -/* $NetBSD: ieee.h,v 1.9 2005/12/11 12:16:47 christos Exp $ */
-/*-
- * Copyright (c) 2008 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#include <sys/ieee754.h>
diff --git a/StdLib/Include/Aarch64/machine/ieeefp.h b/StdLib/Include/Aarch64/machine/ieeefp.h deleted file mode 100644 index f37278b465..0000000000 --- a/StdLib/Include/Aarch64/machine/ieeefp.h +++ /dev/null @@ -1,45 +0,0 @@ -/* $NetBSD: ieeefp.h,v 1.3 2013/04/23 05:42:23 matt Exp $ */
-
-/*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _AARCH64_IEEEFP_H_
-#define _AARCH64_IEEEFP_H_
-
-#include <LibConfig.h>
-#include <sys/featuretest.h>
-
-#if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
-
-#include <machine/fenv.h>
-
-#if !defined(_ISOC99_SOURCE)
-
-/* Exception type (used by fpsetmask() et al.) */
-
-typedef int fp_except;
-
-/* Bit defines for fp_except */
-
-#define FP_X_INV FE_INVALID /* invalid operation exception */
-#define FP_X_DZ FE_DIVBYZERO /* divide-by-zero exception */
-#define FP_X_OFL FE_OVERFLOW /* overflow exception */
-#define FP_X_UFL FE_UNDERFLOW /* underflow exception */
-#define FP_X_IMP FE_INEXACT /* imprecise (prec. loss; "inexact") */
-
-/* Rounding modes */
-
-typedef enum {
- FP_RN=FE_TONEAREST, /* round to nearest representable number */
- FP_RP=FE_UPWARD, /* round toward positive infinity */
- FP_RM=FE_DOWNWARD, /* round toward negative infinity */
- FP_RZ=FE_TOWARDZERO /* round to zero (truncate) */
-} fp_rnd;
-
-#endif /* !_ISOC99_SOURCE */
-
-#endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
-
-#endif /* _AARCH64_IEEEFP_H_ */
diff --git a/StdLib/Include/Aarch64/machine/int_const.h b/StdLib/Include/Aarch64/machine/int_const.h deleted file mode 100644 index 22db5cd023..0000000000 --- a/StdLib/Include/Aarch64/machine/int_const.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $NetBSD: int_const.h,v 1.1 2001/04/14 22:38:38 kleink Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AARCH64_INT_CONST_H_
-#define _AARCH64_INT_CONST_H_
-
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif /* !_AARCH64_INT_CONST_H_ */
diff --git a/StdLib/Include/Aarch64/machine/int_limits.h b/StdLib/Include/Aarch64/machine/int_limits.h deleted file mode 100644 index 48379a084a..0000000000 --- a/StdLib/Include/Aarch64/machine/int_limits.h +++ /dev/null @@ -1,127 +0,0 @@ -/* $NetBSD: int_limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AARCH64_INT_LIMITS_H_
-#define _AARCH64_INT_LIMITS_H_
-
-/*
- * 7.18.2 Limits of specified-width integer types
- */
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN (-0x7f-1) /* int8_t */
-#define INT16_MIN (-0x7fff-1) /* int16_t */
-#define INT32_MIN (-0x7fffffff-1) /* int32_t */
-#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xff /* uint8_t */
-#define UINT16_MAX 0xffff /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
-#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
-#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
-#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xff /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffff /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
-#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
-#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
-#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN (-0x7fffffffffffffffLL-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffffffffffffLL /* intptr_t */
-#define UINTPTR_MAX 0xffffffffffffffffULL /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN (-0x7fffffffffffffffLL-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffffffffffffLL /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN (-0x7fffffffffffffffLL-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffffffffffffLL /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffffffffffULL /* size_t */
-
-#endif /* !_AARCH64_INT_LIMITS_H_ */
diff --git a/StdLib/Include/Aarch64/machine/int_mwgwtypes.h b/StdLib/Include/Aarch64/machine/int_mwgwtypes.h deleted file mode 100644 index d3a17847a3..0000000000 --- a/StdLib/Include/Aarch64/machine/int_mwgwtypes.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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 NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp
-**/
-#ifndef _AARCH64_INT_MWGWTYPES_H_
-#define _AARCH64_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_AARCH64_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/Aarch64/machine/int_types.h b/StdLib/Include/Aarch64/machine/int_types.h deleted file mode 100644 index 2fafff0ba5..0000000000 --- a/StdLib/Include/Aarch64/machine/int_types.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $NetBSD: int_types.h,v 1.10 2005/12/24 20:07:10 perry Exp $ */
-
-/*-
- * Copyright (c) 1990 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.
- *
- * from: @(#)types.h 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _AARCH64_INT_TYPES_H_
-#define _AARCH64_INT_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef INT8 __int8_t;
-typedef UINT8 __uint8_t;
-typedef INT16 __int16_t;
-typedef UINT16 __uint16_t;
-typedef INT32 __int32_t;
-typedef UINT32 __uint32_t;
-typedef INT64 __int64_t;
-typedef UINT64 __uint64_t;
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-typedef INTN __intptr_t;
-typedef UINTN __uintptr_t;
-
-#endif /* !_AARCH64_INT_TYPES_H_ */
diff --git a/StdLib/Include/Aarch64/machine/limits.h b/StdLib/Include/Aarch64/machine/limits.h deleted file mode 100644 index dec214d465..0000000000 --- a/StdLib/Include/Aarch64/machine/limits.h +++ /dev/null @@ -1,100 +0,0 @@ -/* $NetBSD: limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*
- * Copyright (c) 1988 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.
- *
- * from: @(#)limits.h 7.2 (Berkeley) 6/28/90
- */
-
-//TODO These values have been chosen during porting with the selection criteria
-//of being different from ARMv7 in the hope of discovering as many bugs as
-//possible as soon as possible. They are NOT authoritative!
-// ... (and should be replaced ASAP with more carefully chosen ones)
-
-#ifndef _AARCH64_LIMITS_H_
-#define _AARCH64_LIMITS_H_
-
-#include <sys/featuretest.h>
-
-#define __CHAR_BIT 8 /* number of bits in a char */
-//#define __MB_LEN_MAX 32 /* no multibyte characters */
-
-#define __SCHAR_MIN (-0x7f-1) /* max value for a signed char */
-#define __SCHAR_MAX 0x7f /* min value for a signed char */
-
-#define __UCHAR_MAX 0xff /* max value for an unsigned char */
-#define __CHAR_MAX 0xff /* max value for a char */
-#define __CHAR_MIN 0 /* min value for a char */
-
-#define __USHRT_MAX 0xffff /* max value for an unsigned short */
-#define __SHRT_MAX 0x7fff /* max value for a short */
-#define __SHRT_MIN (-0x7fff-1) /* min value for a short */
-
-#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */
-#define __INT_MAX 0x7fffffff /* max value for an int */
-#define __INT_MIN (-0x7fffffff-1) /* min value for an int */
-
-#define __ULONG_MAX 0xffffffffffffffffUL /* max value for an unsigned long */
-#define __LONG_MAX 0x7fffffffffffffffL /* max value for a long */
-#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min value for a long */
-
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
- defined(_NETBSD_SOURCE)
-#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
-
-#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \
- defined(_NETBSD_SOURCE)
-#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 */
-#endif
-
-#if defined(_NETBSD_SOURCE)
-#define SIZE_T_MAX LONG_MAX /* max value for a size_t */
-
-#define UQUAD_MAX 0xffffffffffffffffLL /* max unsigned quad */
-#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */
-#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */
-
-#endif /* _NETBSD_SOURCE */
-#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#define LONG_BIT 64
-#define WORD_BIT 32
-
-#define DBL_DIG 15
-#define DBL_MAX 1.7976931348623157E+308
-#define DBL_MIN 2.2250738585072014E-308
-
-//#define FLT_DIG 6
-//#define FLT_MAX 3.40282347E+38F
-//#define FLT_MIN 1.17549435E-38F
-#endif
-
-#endif /* _AARCH64_LIMITS_H_ */
diff --git a/StdLib/Include/Aarch64/machine/math.h b/StdLib/Include/Aarch64/machine/math.h deleted file mode 100644 index 35ace3d735..0000000000 --- a/StdLib/Include/Aarch64/machine/math.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: math.h,v 1.2 2002/02/19 13:08:14 simonb Exp $ */
-
-#define __HAVE_NANF
diff --git a/StdLib/Include/Aarch64/machine/param.h b/StdLib/Include/Aarch64/machine/param.h deleted file mode 100644 index c7700b3ff1..0000000000 --- a/StdLib/Include/Aarch64/machine/param.h +++ /dev/null @@ -1,124 +0,0 @@ -/* $NetBSD: param.h,v 1.13 2010/05/06 19:10:26 joerg Exp $ */
-
-/*
- * Copyright (c) 1994,1995 Mark Brinicombe.
- * 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 RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``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 RISCBSD 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.
- */
-
-#ifndef _AARCH64_PARAM_H_
-#define _AARCH64_PARAM_H_
-
-// TODO: These were based on the ARMv7 version. Verify that it is correct.
-
-/*
- * Machine dependent constants for all ARM processors
- */
-
-/*
- * For KERNEL code:
- * MACHINE must be defined by the individual port. This is so that
- * uname returns the correct thing, etc.
- *
- * MACHINE_ARCH may be defined by individual ports as a temporary
- * measure while we're finishing the conversion to ELF.
- *
- * For non-KERNEL code:
- * If ELF, MACHINE and MACHINE_ARCH are forced to "arm/armeb".
- */
-
-#if defined(_KERNEL)
-#undef _MACHINE
-#undef MACHINE
-#undef _MACHINE_ARCH
-#undef MACHINE_ARCH
-#define _MACHINE aarch64
-#define MACHINE "aarch64"
-#define _MACHINE_ARCH aarch64
-#define MACHINE_ARCH "aarch64"
-#endif /* !_KERNEL */
-
-#define MID_MACHINE MID_AARCH64
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int 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(int) - 1)
-#define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)
-/* ARM-specific macro to align a stack pointer (downwards). */
-#define STACKALIGNBYTES (8 - 1)
-#define STACKALIGN(p) ((u_int)(p) &~ STACKALIGNBYTES)
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-
-#ifndef MAXPHYS
-#define MAXPHYS 65536 /* max I/O transfer size */
-#endif
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (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 */
-
-#ifndef MCLSHIFT
-#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifndef NMBCLUSTERS_MAX
-#define NMBCLUSTERS_MAX (0x2000000 / MCLBYTES) /* Limit to 64MB for clusters */
-#endif
-
-/*
- * Compatibility /dev/zero mapping.
- */
-#ifdef _KERNEL
-#ifdef COMPAT_16
-#define COMPAT_ZERODEV(x) (x == makedev(0, _DEV_ZERO_oARM))
-#endif
-#endif /* _KERNEL */
-
-#endif /* _AARCH64_PARAM_H_ */
diff --git a/StdLib/Include/Aarch64/machine/signal.h b/StdLib/Include/Aarch64/machine/signal.h deleted file mode 100644 index 6628eb9e94..0000000000 --- a/StdLib/Include/Aarch64/machine/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/**
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/Aarch64/machine/types.h b/StdLib/Include/Aarch64/machine/types.h deleted file mode 100644 index a59d5be087..0000000000 --- a/StdLib/Include/Aarch64/machine/types.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Machine dependent type definitions.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990 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 7.5 (Berkeley) 3/9/91
- NetBSD: types.h,v 1.49 2006/09/03 13:51:23 bjh21 Exp
-**/
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-
-/* Handle the long and unsigned long data types which EFI doesn't directly support. */
-//typedef INTN LONGN;
-//typedef UINTN ULONGN;
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INT32 pmc_evid_t;
-typedef UINT64 pmc_ctr_t;
-typedef INT32 register_t;
-
-typedef volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-/* The ARMv7 does not have strict alignment requirements. */
-#define __NO_STRICT_ALIGNMENT
-//TODO: Fixme for the ARM architecture that requires strict alignment
-
-#define __HAVE_DEVICE_REGISTER
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_OLD_DISKLABEL
-#define __HAVE_GENERIC_SOFT_INTERRUPTS
-#define __HAVE_CPU_MAXPROC
-#define __HAVE_TIMECOUNTER
-#define __HAVE_GENERIC_TODR
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/Aarch64/milieu.h b/StdLib/Include/Aarch64/milieu.h deleted file mode 100644 index 73643bfb45..0000000000 --- a/StdLib/Include/Aarch64/milieu.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $NetBSD: milieu.h,v 1.1 2000/12/29 20:13:54 bjh21 Exp $ */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-Include common integer types and flags.
--------------------------------------------------------------------------------
-*/
-#include "arm-gcc.h"
-
-
-// Used by profiler.
-#if 0
-/*
--------------------------------------------------------------------------------
-Symbolic Boolean literals.
--------------------------------------------------------------------------------
-*/
-enum {
- FALSE = 0,
- TRUE = 1
-};
-#endif
diff --git a/StdLib/Include/Aarch64/softfloat.h b/StdLib/Include/Aarch64/softfloat.h deleted file mode 100644 index c290657d9e..0000000000 --- a/StdLib/Include/Aarch64/softfloat.h +++ /dev/null @@ -1,316 +0,0 @@ -/* $NetBSD: softfloat.h,v 1.10 2013/04/24 18:04:46 matt Exp $ */
-
-/* This is a derivative work. */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-The macro `FLOATX80' must be defined to enable the extended double-precision
-floating-point format `floatx80'. If this macro is not defined, the
-`floatx80' type will not be defined, and none of the functions that either
-input or output the `floatx80' type will be defined. The same applies to
-the `FLOAT128' macro and the quadruple-precision format `float128'.
--------------------------------------------------------------------------------
-*/
-/* #define FLOATX80 */
-#define FLOAT128
-
-#include <stdint.h>
-#include <machine/ieeefp.h>
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point types.
--------------------------------------------------------------------------------
-*/
-typedef unsigned int float32;
-typedef unsigned long long float64;
-#ifdef FLOATX80
-typedef struct {
- unsigned short high;
- unsigned long long low;
-} floatx80;
-#endif
-#ifdef FLOAT128
-typedef struct {
- unsigned long long high, low;
-} float128;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point underflow tininess-detection mode.
--------------------------------------------------------------------------------
-*/
-#ifndef SOFTFLOAT_FOR_GCC
-extern int float_detect_tininess;
-#endif
-enum {
- float_tininess_after_rounding = 0,
- float_tininess_before_rounding = 1
-};
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point rounding mode.
--------------------------------------------------------------------------------
-*/
-extern fp_rnd float_rounding_mode;
-#define float_round_nearest_even FP_RN
-#define float_round_to_zero FP_RZ
-#define float_round_down FP_RM
-#define float_round_up FP_RP
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point exception flags.
--------------------------------------------------------------------------------
-*/
-extern fp_except float_exception_flags;
-extern fp_except float_exception_mask;
-enum {
- float_flag_inexact = FP_X_IMP,
- float_flag_underflow = FP_X_UFL,
- float_flag_overflow = FP_X_OFL,
- float_flag_divbyzero = FP_X_DZ,
- float_flag_invalid = FP_X_INV
-};
-
-/*
--------------------------------------------------------------------------------
-Routine to raise any or all of the software IEC/IEEE floating-point
-exception flags.
--------------------------------------------------------------------------------
-*/
-void float_raise( fp_except );
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE integer-to-floating-point conversion routines.
--------------------------------------------------------------------------------
-*/
-float32 int32_to_float32( int32 );
-float32 uint32_to_float32( uint32 );
-float64 int32_to_float64( int32 );
-float64 uint32_to_float64( uint32 );
-#ifdef FLOATX80
-floatx80 int32_to_floatx80( int32 );
-floatx80 uint32_to_floatx80( uint32 );
-#endif
-#ifdef FLOAT128
-float128 int32_to_float128( int32 );
-float128 uint32_to_float128( uint32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */
-float32 int64_to_float32( long long );
-float64 int64_to_float64( long long );
-#ifdef FLOATX80
-floatx80 int64_to_floatx80( long long );
-#endif
-#ifdef FLOAT128
-float128 int64_to_float128( long long );
-#endif
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float32_to_int32( float32 );
-int float32_to_int32_round_to_zero( float32 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float32_to_uint32_round_to_zero( float32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float32_to_int64( float32 );
-long long float32_to_int64_round_to_zero( float32 );
-#endif
-float64 float32_to_float64( float32 );
-#ifdef FLOATX80
-floatx80 float32_to_floatx80( float32 );
-#endif
-#ifdef FLOAT128
-float128 float32_to_float128( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision operations.
--------------------------------------------------------------------------------
-*/
-float32 float32_round_to_int( float32 );
-float32 float32_add( float32, float32 );
-float32 float32_sub( float32, float32 );
-float32 float32_mul( float32, float32 );
-float32 float32_div( float32, float32 );
-float32 float32_rem( float32, float32 );
-float32 float32_sqrt( float32 );
-int float32_eq( float32, float32 );
-int float32_le( float32, float32 );
-int float32_lt( float32, float32 );
-int float32_eq_signaling( float32, float32 );
-int float32_le_quiet( float32, float32 );
-int float32_lt_quiet( float32, float32 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float32_is_signaling_nan( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float64_to_int32( float64 );
-int float64_to_int32_round_to_zero( float64 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float64_to_uint32_round_to_zero( float64 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float64_to_int64( float64 );
-long long float64_to_int64_round_to_zero( float64 );
-#endif
-float32 float64_to_float32( float64 );
-#ifdef FLOATX80
-floatx80 float64_to_floatx80( float64 );
-#endif
-#ifdef FLOAT128
-float128 float64_to_float128( float64 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision operations.
--------------------------------------------------------------------------------
-*/
-float64 float64_round_to_int( float64 );
-float64 float64_add( float64, float64 );
-float64 float64_sub( float64, float64 );
-float64 float64_mul( float64, float64 );
-float64 float64_div( float64, float64 );
-float64 float64_rem( float64, float64 );
-float64 float64_sqrt( float64 );
-int float64_eq( float64, float64 );
-int float64_le( float64, float64 );
-int float64_lt( float64, float64 );
-int float64_eq_signaling( float64, float64 );
-int float64_le_quiet( float64, float64 );
-int float64_lt_quiet( float64, float64 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float64_is_signaling_nan( float64 );
-#endif
-
-#ifdef FLOATX80
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int floatx80_to_int32( floatx80 );
-int floatx80_to_int32_round_to_zero( floatx80 );
-long long floatx80_to_int64( floatx80 );
-long long floatx80_to_int64_round_to_zero( floatx80 );
-float32 floatx80_to_float32( floatx80 );
-float64 floatx80_to_float64( floatx80 );
-#ifdef FLOAT128
-float128 floatx80_to_float128( floatx80 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision rounding precision. Valid
-values are 32, 64, and 80.
--------------------------------------------------------------------------------
-*/
-extern int floatx80_rounding_precision;
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision operations.
--------------------------------------------------------------------------------
-*/
-floatx80 floatx80_round_to_int( floatx80 );
-floatx80 floatx80_add( floatx80, floatx80 );
-floatx80 floatx80_sub( floatx80, floatx80 );
-floatx80 floatx80_mul( floatx80, floatx80 );
-floatx80 floatx80_div( floatx80, floatx80 );
-floatx80 floatx80_rem( floatx80, floatx80 );
-floatx80 floatx80_sqrt( floatx80 );
-int floatx80_eq( floatx80, floatx80 );
-int floatx80_le( floatx80, floatx80 );
-int floatx80_lt( floatx80, floatx80 );
-int floatx80_eq_signaling( floatx80, floatx80 );
-int floatx80_le_quiet( floatx80, floatx80 );
-int floatx80_lt_quiet( floatx80, floatx80 );
-int floatx80_is_signaling_nan( floatx80 );
-
-#endif
-
-#ifdef FLOAT128
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float128_to_int32( float128 );
-int float128_to_int32_round_to_zero( float128 );
-long long float128_to_int64( float128 );
-long long float128_to_int64_round_to_zero( float128 );
-float32 float128_to_float32( float128 );
-float64 float128_to_float64( float128 );
-#ifdef FLOATX80
-floatx80 float128_to_floatx80( float128 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision operations.
--------------------------------------------------------------------------------
-*/
-float128 float128_round_to_int( float128 );
-float128 float128_add( float128, float128 );
-float128 float128_sub( float128, float128 );
-float128 float128_mul( float128, float128 );
-float128 float128_div( float128, float128 );
-float128 float128_rem( float128, float128 );
-float128 float128_sqrt( float128 );
-int float128_eq( float128, float128 );
-int float128_le( float128, float128 );
-int float128_lt( float128, float128 );
-int float128_eq_signaling( float128, float128 );
-int float128_le_quiet( float128, float128 );
-int float128_lt_quiet( float128, float128 );
-int float128_is_signaling_nan( float128 );
-
-#endif
diff --git a/StdLib/Include/Arm/arm-gcc.h b/StdLib/Include/Arm/arm-gcc.h deleted file mode 100644 index 8cd4989998..0000000000 --- a/StdLib/Include/Arm/arm-gcc.h +++ /dev/null @@ -1,114 +0,0 @@ -/** @file
-
- Copyright (c) 2014, ARM Limited. All rights reserved.
-
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/* $NetBSD: arm-gcc.h,v 1.4 2013/01/26 07:08:14 matt Exp $ */
-
-/*
--------------------------------------------------------------------------------
-One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
--------------------------------------------------------------------------------
-*/
-#ifdef __ARMEB__
-#define BIGENDIAN
-#else
-#define LITTLEENDIAN
-#endif
-
-/*
--------------------------------------------------------------------------------
-The macro `BITS64' can be defined to indicate that 64-bit integer types are
-supported by the compiler.
--------------------------------------------------------------------------------
-*/
-#define BITS64
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines the most convenient type that holds
-integers of at least as many bits as specified. For example, `uint8' should
-be the most convenient type that can hold unsigned integers of as many as
-8 bits. The `flag' type must be able to hold either a 0 or 1. For most
-implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
-to the same as `int'.
--------------------------------------------------------------------------------
-*/
-typedef int flag;
-typedef int uint8;
-typedef int int8;
-typedef int uint16;
-typedef int int16;
-typedef unsigned int uint32;
-typedef signed int int32;
-#ifdef BITS64
-typedef unsigned long long int uint64;
-typedef signed long long int int64;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines a type that holds integers
-of _exactly_ the number of bits specified. For instance, for most
-implementation of C, `bits16' and `sbits16' should be `typedef'ed to
-`unsigned short int' and `signed short int' (or `short int'), respectively.
--------------------------------------------------------------------------------
-*/
-typedef unsigned char bits8;
-typedef signed char sbits8;
-typedef unsigned short int bits16;
-typedef signed short int sbits16;
-typedef unsigned int bits32;
-typedef signed int sbits32;
-#ifdef BITS64
-typedef unsigned long long int bits64;
-typedef signed long long int sbits64;
-#endif
-
-#ifdef BITS64
-/*
--------------------------------------------------------------------------------
-The `LIT64' macro takes as its argument a textual integer literal and
-if necessary ``marks'' the literal as having a 64-bit integer type.
-For example, the GNU C Compiler (`gcc') requires that 64-bit literals be
-appended with the letters `LL' standing for `long long', which is `gcc's
-name for the 64-bit integer type. Some compilers may allow `LIT64' to be
-defined as the identity macro: `#define LIT64( a ) a'.
--------------------------------------------------------------------------------
-*/
-#define LIT64( a ) a##ULL
-#endif
-
-/*
--------------------------------------------------------------------------------
-The macro `INLINE' can be used before functions that should be inlined. If
-a compiler does not support explicit inlining, this macro should be defined
-to be `static'.
--------------------------------------------------------------------------------
-*/
-#define INLINE static inline
-
-/*
--------------------------------------------------------------------------------
-The ARM FPA is odd in that it stores doubles high-order word first, no matter
-what the endianness of the CPU. VFP is sane.
--------------------------------------------------------------------------------
-*/
-#if defined(SOFTFLOAT_FOR_GCC)
-#if defined(__VFP_FP__) || defined(__ARMEB__)
-#define FLOAT64_DEMANGLE(a) (a)
-#define FLOAT64_MANGLE(a) (a)
-#else
-#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32))
-#define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a)
-#endif
-#endif
diff --git a/StdLib/Include/Arm/machine/_math.h b/StdLib/Include/Arm/machine/_math.h deleted file mode 100644 index 67cf98c30d..0000000000 --- a/StdLib/Include/Arm/machine/_math.h +++ /dev/null @@ -1,18 +0,0 @@ -/**
-
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_MATH_H
-#define _MACHINE_MATH_H
-
-//#define __HUGE_VAL ???????????.?????????????
-
-#endif /* _MACHINE_MATH_H */
diff --git a/StdLib/Include/Arm/machine/ansi.h b/StdLib/Include/Arm/machine/ansi.h deleted file mode 100644 index 8273905cd3..0000000000 --- a/StdLib/Include/Arm/machine/ansi.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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.
- *
- * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94
- NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp
-**/
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
- * #undef _BSD_SIZE_T_
- * #endif
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) 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 _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_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 struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/Arm/machine/asm.h b/StdLib/Include/Arm/machine/asm.h deleted file mode 100644 index b15698eb9f..0000000000 --- a/StdLib/Include/Arm/machine/asm.h +++ /dev/null @@ -1,167 +0,0 @@ -/* $NetBSD: asm.h,v 1.8 2006/01/20 22:02:40 christos Exp $ */
-
-/*
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * from: @(#)asm.h 5.5 (Berkeley) 5/7/91
- */
-
-#ifndef _ARM32_ASM_H_
-#define _ARM32_ASM_H_
-
-#ifdef __ELF__
-# define _C_LABEL(x) x
-#else
-# ifdef __STDC__
-# define _C_LABEL(x) _ ## x
-# else
-# define _C_LABEL(x) _/**/x
-# endif
-#endif
-#define _ASM_LABEL(x) x
-
-#ifdef __STDC__
-# define __CONCAT(x,y) x ## y
-# define __STRING(x) #x
-#else
-# define __CONCAT(x,y) x/**/y
-# define __STRING(x) "x"
-#endif
-
-#ifndef _ALIGN_TEXT
-# define _ALIGN_TEXT .align 0
-#endif
-
-/*
- * gas/arm uses @ as a single comment character and thus cannot be used here
- * Instead it recognised the # instead of an @ symbols in .type directives
- * We define a couple of macros so that assembly code will not be dependant
- * on one or the other.
- */
-#define _ASM_TYPE_FUNCTION #function
-#define _ASM_TYPE_OBJECT #object
-#define _ENTRY(x) \
- .text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x:
-
-#ifdef GPROF
-# ifdef __ELF__
-# define _PROF_PROLOGUE \
- mov ip, lr; bl __mcount
-# else
-# define _PROF_PROLOGUE \
- mov ip,lr; bl mcount
-# endif
-#else
-# define _PROF_PROLOGUE
-#endif
-
-#define ENTRY(y) _ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
-#define ENTRY_NP(y) _ENTRY(_C_LABEL(y))
-#define ASENTRY(y) _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
-#define ASENTRY_NP(y) _ENTRY(_ASM_LABEL(y))
-
-#define ASMSTR .asciz
-
-#if defined(__ELF__) && defined(PIC)
-#ifdef __STDC__
-#define PIC_SYM(x,y) x ## ( ## y ## )
-#else
-#define PIC_SYM(x,y) x/**/(/**/y/**/)
-#endif
-#else
-#define PIC_SYM(x,y) x
-#endif
-
-#ifdef __ELF__
-#define RCSID(x) .section ".ident"; .asciz x
-#else
-#define RCSID(x) .text; .asciz x
-#endif
-
-#ifdef __ELF__
-#define WEAK_ALIAS(alias,sym) \
- .weak alias; \
- alias = sym
-#endif
-
-/*
- * STRONG_ALIAS: create a strong alias.
- */
-#define STRONG_ALIAS(alias,sym) \
- .globl alias; \
- alias = sym
-
-#ifdef __STDC__
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg ## ,30,0,0,0 ; \
- .stabs __STRING(_C_LABEL(sym)) ## ,1,0,0,0
-#elif defined(__ELF__)
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(sym),1,0,0,0
-#else
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(_/**/sym),1,0,0,0
-#endif /* __STDC__ */
-
-#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__)
-#define _ARM_ARCH_6
-#endif
-
-#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5__) || \
- defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || \
- defined (__ARM_ARCH_5TEJ__)
-#define _ARM_ARCH_5
-#endif
-
-#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
-#define _ARM_ARCH_4T
-#endif
-
-
-#if defined (_ARM_ARCH_4T)
-# define RET bx lr
-# ifdef __STDC__
-# define RETc(c) bx##c lr
-# else
-# define RETc(c) bx/**/c lr
-# endif
-#else
-# define RET mov pc, lr
-# ifdef __STDC__
-# define RETc(c) mov##c pc, lr
-# else
-# define RETc(c) mov/**/c pc, lr
-# endif
-#endif
-
-#endif /* !_ARM_ASM_H_ */
diff --git a/StdLib/Include/Arm/machine/atomic.h b/StdLib/Include/Arm/machine/atomic.h deleted file mode 100644 index ffd83c7375..0000000000 --- a/StdLib/Include/Arm/machine/atomic.h +++ /dev/null @@ -1,102 +0,0 @@ -/* $NetBSD: atomic.h,v 1.5 2005/12/28 19:09:29 perry Exp $ */
-
-/*
- * Copyright (C) 1994-1997 Mark Brinicombe
- * Copyright (C) 1994 Brini
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * 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 Brini.
- * 4. The name of Brini may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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.
- */
-
-#ifndef _ARM_ATOMIC_H_
-#define _ARM_ATOMIC_H_
-
-#ifndef ATOMIC_SET_BIT_NONINLINE_REQUIRED
-
-#if defined(__PROG26) || defined(ATOMIC_SET_BIT_NOINLINE)
-#define ATOMIC_SET_BIT_NONINLINE_REQUIRED
-#endif
-
-#endif /* ATOMIC_SET_BIT_NONINLINE_REQUIRED */
-
-
-#ifndef _LOCORE
-
-#include <sys/types.h>
-#include <arm/armreg.h> /* I32_bit */
-
-#ifdef ATOMIC_SET_BIT_NONINLINE_REQUIRED
-void atomic_set_bit( u_int *, u_int );
-void atomic_clear_bit( u_int *, u_int );
-#endif
-
-#ifdef __PROG32
-#define __with_interrupts_disabled(expr) \
- do { \
- u_int cpsr_save, tmp; \
- \
- __asm volatile( \
- "mrs %0, cpsr;" \
- "orr %1, %0, %2;" \
- "msr cpsr_all, %1;" \
- : "=r" (cpsr_save), "=r" (tmp) \
- : "I" (I32_bit) \
- : "cc" ); \
- (expr); \
- __asm volatile( \
- "msr cpsr_all, %0" \
- : /* no output */ \
- : "r" (cpsr_save) \
- : "cc" ); \
- } while(0)
-
-static __inline void
-inline_atomic_set_bit( u_int *address, u_int setmask )
-{
- __with_interrupts_disabled( *address |= setmask );
-}
-
-static __inline void
-inline_atomic_clear_bit( u_int *address, u_int clearmask )
-{
- __with_interrupts_disabled( *address &= ~clearmask );
-}
-
-#if !defined(ATOMIC_SET_BIT_NOINLINE)
-
-#define atomic_set_bit(a,m) inline_atomic_set_bit(a,m)
-#define atomic_clear_bit(a,m) inline_atomic_clear_bit(a,m)
-
-#endif
-
-#endif /* __PROG32 */
-
-#undef __with_interrupts_disabled
-
-#endif /* _LOCORE */
-#endif /* _ARM_ATOMIC_H_ */
diff --git a/StdLib/Include/Arm/machine/bswap.h b/StdLib/Include/Arm/machine/bswap.h deleted file mode 100644 index b486b373f3..0000000000 --- a/StdLib/Include/Arm/machine/bswap.h +++ /dev/null @@ -1,11 +0,0 @@ -/* $NetBSD: bswap.h,v 1.4 2006/01/31 07:49:18 dsl Exp $ */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <machine/byte_swap.h>
-
-#define __BSWAP_RENAME
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/Arm/machine/byte_swap.h b/StdLib/Include/Arm/machine/byte_swap.h deleted file mode 100644 index 2a0264599f..0000000000 --- a/StdLib/Include/Arm/machine/byte_swap.h +++ /dev/null @@ -1,63 +0,0 @@ -/*-
- * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum, Neil A. Carson, and Jason R. Thorpe.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _ARM_BYTE_SWAP_H_
-#define _ARM_BYTE_SWAP_H_
-
-#ifdef __GNUC__
-#include <sys/types.h>
-__BEGIN_DECLS
-
-#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
-static __inline uint32_t
-__byte_swap_u32_variable(uint32_t v)
-{
- uint32_t t1;
-
- t1 = v ^ ((v << 16) | (v >> 16));
- t1 &= 0xff00ffffU;
- v = (v >> 8) | (v << 24);
- v ^= (t1 >> 8);
- return (v);
-}
-
-#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
-static __inline uint16_t
-__byte_swap_u16_variable(uint16_t v)
-{
-
- v &= 0xffff;
- v = (v >> 8) | (v << 8);
- return (v);
-}
-
-__END_DECLS
-#endif
-
-#endif /* _ARM_BYTE_SWAP_H_ */
diff --git a/StdLib/Include/Arm/machine/cpufunc.h b/StdLib/Include/Arm/machine/cpufunc.h deleted file mode 100644 index c94a30a9e7..0000000000 --- a/StdLib/Include/Arm/machine/cpufunc.h +++ /dev/null @@ -1,558 +0,0 @@ -/* $NetBSD: cpufunc.h,v 1.37.24.1 2007/02/21 18:36:02 snj Exp $ */
-
-/*
- * Copyright (c) 1997 Mark Brinicombe.
- * Copyright (c) 1997 Causality Limited
- * 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 Causality Limited.
- * 4. The name of Causality Limited may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY CAUSALITY LIMITED ``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 CAUSALITY LIMITED 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.
- *
- * RiscBSD kernel project
- *
- * cpufunc.h
- *
- * Prototypes for cpu, mmu and tlb related functions.
- */
-
-#ifndef _ARM32_CPUFUNC_H_
-#define _ARM32_CPUFUNC_H_
-
-#ifdef _KERNEL
-
-#include <sys/types.h>
-#include <arm/cpuconf.h>
-
-struct cpu_functions {
-
- /* CPU functions */
-
- u_int (*cf_id) __P((void));
- void (*cf_cpwait) __P((void));
-
- /* MMU functions */
-
- u_int (*cf_control) __P((u_int, u_int));
- void (*cf_domains) __P((u_int));
- void (*cf_setttb) __P((u_int));
- u_int (*cf_faultstatus) __P((void));
- u_int (*cf_faultaddress) __P((void));
-
- /* TLB functions */
-
- void (*cf_tlb_flushID) __P((void));
- void (*cf_tlb_flushID_SE) __P((u_int));
- void (*cf_tlb_flushI) __P((void));
- void (*cf_tlb_flushI_SE) __P((u_int));
- void (*cf_tlb_flushD) __P((void));
- void (*cf_tlb_flushD_SE) __P((u_int));
-
- /*
- * Cache operations:
- *
- * We define the following primitives:
- *
- * icache_sync_all Synchronize I-cache
- * icache_sync_range Synchronize I-cache range
- *
- * dcache_wbinv_all Write-back and Invalidate D-cache
- * dcache_wbinv_range Write-back and Invalidate D-cache range
- * dcache_inv_range Invalidate D-cache range
- * dcache_wb_range Write-back D-cache range
- *
- * idcache_wbinv_all Write-back and Invalidate D-cache,
- * Invalidate I-cache
- * idcache_wbinv_range Write-back and Invalidate D-cache,
- * Invalidate I-cache range
- *
- * Note that the ARM term for "write-back" is "clean". We use
- * the term "write-back" since it's a more common way to describe
- * the operation.
- *
- * There are some rules that must be followed:
- *
- * I-cache Synch (all or range):
- * The goal is to synchronize the instruction stream,
- * so you may beed to write-back dirty D-cache blocks
- * first. If a range is requested, and you can't
- * synchronize just a range, you have to hit the whole
- * thing.
- *
- * D-cache Write-Back and Invalidate range:
- * If you can't WB-Inv a range, you must WB-Inv the
- * entire D-cache.
- *
- * D-cache Invalidate:
- * If you can't Inv the D-cache, you must Write-Back
- * and Invalidate. Code that uses this operation
- * MUST NOT assume that the D-cache will not be written
- * back to memory.
- *
- * D-cache Write-Back:
- * If you can't Write-back without doing an Inv,
- * that's fine. Then treat this as a WB-Inv.
- * Skipping the invalidate is merely an optimization.
- *
- * All operations:
- * Valid virtual addresses must be passed to each
- * cache operation.
- */
- void (*cf_icache_sync_all) __P((void));
- void (*cf_icache_sync_range) __P((vaddr_t, vsize_t));
-
- void (*cf_dcache_wbinv_all) __P((void));
- void (*cf_dcache_wbinv_range) __P((vaddr_t, vsize_t));
- void (*cf_dcache_inv_range) __P((vaddr_t, vsize_t));
- void (*cf_dcache_wb_range) __P((vaddr_t, vsize_t));
-
- void (*cf_idcache_wbinv_all) __P((void));
- void (*cf_idcache_wbinv_range) __P((vaddr_t, vsize_t));
-
- /* Other functions */
-
- void (*cf_flush_prefetchbuf) __P((void));
- void (*cf_drain_writebuf) __P((void));
- void (*cf_flush_brnchtgt_C) __P((void));
- void (*cf_flush_brnchtgt_E) __P((u_int));
-
- void (*cf_sleep) __P((int mode));
-
- /* Soft functions */
-
- int (*cf_dataabt_fixup) __P((void *));
- int (*cf_prefetchabt_fixup) __P((void *));
-
- void (*cf_context_switch) __P((void));
-
- void (*cf_setup) __P((char *));
-};
-
-extern struct cpu_functions cpufuncs;
-extern u_int cputype;
-
-#define cpu_id() cpufuncs.cf_id()
-#define cpu_cpwait() cpufuncs.cf_cpwait()
-
-#define cpu_control(c, e) cpufuncs.cf_control(c, e)
-#define cpu_domains(d) cpufuncs.cf_domains(d)
-#define cpu_setttb(t) cpufuncs.cf_setttb(t)
-#define cpu_faultstatus() cpufuncs.cf_faultstatus()
-#define cpu_faultaddress() cpufuncs.cf_faultaddress()
-
-#define cpu_tlb_flushID() cpufuncs.cf_tlb_flushID()
-#define cpu_tlb_flushID_SE(e) cpufuncs.cf_tlb_flushID_SE(e)
-#define cpu_tlb_flushI() cpufuncs.cf_tlb_flushI()
-#define cpu_tlb_flushI_SE(e) cpufuncs.cf_tlb_flushI_SE(e)
-#define cpu_tlb_flushD() cpufuncs.cf_tlb_flushD()
-#define cpu_tlb_flushD_SE(e) cpufuncs.cf_tlb_flushD_SE(e)
-
-#define cpu_icache_sync_all() cpufuncs.cf_icache_sync_all()
-#define cpu_icache_sync_range(a, s) cpufuncs.cf_icache_sync_range((a), (s))
-
-#define cpu_dcache_wbinv_all() cpufuncs.cf_dcache_wbinv_all()
-#define cpu_dcache_wbinv_range(a, s) cpufuncs.cf_dcache_wbinv_range((a), (s))
-#define cpu_dcache_inv_range(a, s) cpufuncs.cf_dcache_inv_range((a), (s))
-#define cpu_dcache_wb_range(a, s) cpufuncs.cf_dcache_wb_range((a), (s))
-
-#define cpu_idcache_wbinv_all() cpufuncs.cf_idcache_wbinv_all()
-#define cpu_idcache_wbinv_range(a, s) cpufuncs.cf_idcache_wbinv_range((a), (s))
-
-#define cpu_flush_prefetchbuf() cpufuncs.cf_flush_prefetchbuf()
-#define cpu_drain_writebuf() cpufuncs.cf_drain_writebuf()
-#define cpu_flush_brnchtgt_C() cpufuncs.cf_flush_brnchtgt_C()
-#define cpu_flush_brnchtgt_E(e) cpufuncs.cf_flush_brnchtgt_E(e)
-
-#define cpu_sleep(m) cpufuncs.cf_sleep(m)
-
-#define cpu_dataabt_fixup(a) cpufuncs.cf_dataabt_fixup(a)
-#define cpu_prefetchabt_fixup(a) cpufuncs.cf_prefetchabt_fixup(a)
-#define ABORT_FIXUP_OK 0 /* fixup succeeded */
-#define ABORT_FIXUP_FAILED 1 /* fixup failed */
-#define ABORT_FIXUP_RETURN 2 /* abort handler should return */
-
-#define cpu_setup(a) cpufuncs.cf_setup(a)
-
-int set_cpufuncs __P((void));
-#define ARCHITECTURE_NOT_PRESENT 1 /* known but not configured */
-#define ARCHITECTURE_NOT_SUPPORTED 2 /* not known */
-
-void cpufunc_nullop __P((void));
-int cpufunc_null_fixup __P((void *));
-int early_abort_fixup __P((void *));
-int late_abort_fixup __P((void *));
-u_int cpufunc_id __P((void));
-u_int cpufunc_control __P((u_int, u_int));
-void cpufunc_domains __P((u_int));
-u_int cpufunc_faultstatus __P((void));
-u_int cpufunc_faultaddress __P((void));
-
-#ifdef CPU_ARM3
-u_int arm3_control __P((u_int, u_int));
-void arm3_cache_flush __P((void));
-#endif /* CPU_ARM3 */
-
-#if defined(CPU_ARM6) || defined(CPU_ARM7)
-void arm67_setttb __P((u_int));
-void arm67_tlb_flush __P((void));
-void arm67_tlb_purge __P((u_int));
-void arm67_cache_flush __P((void));
-void arm67_context_switch __P((void));
-#endif /* CPU_ARM6 || CPU_ARM7 */
-
-#ifdef CPU_ARM6
-void arm6_setup __P((char *));
-#endif /* CPU_ARM6 */
-
-#ifdef CPU_ARM7
-void arm7_setup __P((char *));
-#endif /* CPU_ARM7 */
-
-#ifdef CPU_ARM7TDMI
-int arm7_dataabt_fixup __P((void *));
-void arm7tdmi_setup __P((char *));
-void arm7tdmi_setttb __P((u_int));
-void arm7tdmi_tlb_flushID __P((void));
-void arm7tdmi_tlb_flushID_SE __P((u_int));
-void arm7tdmi_cache_flushID __P((void));
-void arm7tdmi_context_switch __P((void));
-#endif /* CPU_ARM7TDMI */
-
-#ifdef CPU_ARM8
-void arm8_setttb __P((u_int));
-void arm8_tlb_flushID __P((void));
-void arm8_tlb_flushID_SE __P((u_int));
-void arm8_cache_flushID __P((void));
-void arm8_cache_flushID_E __P((u_int));
-void arm8_cache_cleanID __P((void));
-void arm8_cache_cleanID_E __P((u_int));
-void arm8_cache_purgeID __P((void));
-void arm8_cache_purgeID_E __P((u_int entry));
-
-void arm8_cache_syncI __P((void));
-void arm8_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void arm8_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void arm8_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void arm8_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void arm8_cache_syncI_rng __P((vaddr_t, vsize_t));
-
-void arm8_context_switch __P((void));
-
-void arm8_setup __P((char *));
-
-u_int arm8_clock_config __P((u_int, u_int));
-#endif
-
-#ifdef CPU_SA110
-void sa110_setup __P((char *));
-void sa110_context_switch __P((void));
-#endif /* CPU_SA110 */
-
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-void sa11x0_drain_readbuf __P((void));
-
-void sa11x0_context_switch __P((void));
-void sa11x0_cpu_sleep __P((int));
-
-void sa11x0_setup __P((char *));
-#endif
-
-#if defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110)
-void sa1_setttb __P((u_int));
-
-void sa1_tlb_flushID_SE __P((u_int));
-
-void sa1_cache_flushID __P((void));
-void sa1_cache_flushI __P((void));
-void sa1_cache_flushD __P((void));
-void sa1_cache_flushD_SE __P((u_int));
-
-void sa1_cache_cleanID __P((void));
-void sa1_cache_cleanD __P((void));
-void sa1_cache_cleanD_E __P((u_int));
-
-void sa1_cache_purgeID __P((void));
-void sa1_cache_purgeID_E __P((u_int));
-void sa1_cache_purgeD __P((void));
-void sa1_cache_purgeD_E __P((u_int));
-
-void sa1_cache_syncI __P((void));
-void sa1_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void sa1_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void sa1_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void sa1_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void sa1_cache_syncI_rng __P((vaddr_t, vsize_t));
-
-#endif
-
-#ifdef CPU_ARM9
-void arm9_setttb __P((u_int));
-
-void arm9_tlb_flushID_SE __P((u_int));
-
-void arm9_icache_sync_all __P((void));
-void arm9_icache_sync_range __P((vaddr_t, vsize_t));
-
-void arm9_dcache_wbinv_all __P((void));
-void arm9_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void arm9_dcache_inv_range __P((vaddr_t, vsize_t));
-void arm9_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void arm9_idcache_wbinv_all __P((void));
-void arm9_idcache_wbinv_range __P((vaddr_t, vsize_t));
-
-void arm9_context_switch __P((void));
-
-void arm9_setup __P((char *));
-
-extern unsigned arm9_dcache_sets_max;
-extern unsigned arm9_dcache_sets_inc;
-extern unsigned arm9_dcache_index_max;
-extern unsigned arm9_dcache_index_inc;
-#endif
-
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
-void arm10_tlb_flushID_SE __P((u_int));
-void arm10_tlb_flushI_SE __P((u_int));
-
-void arm10_context_switch __P((void));
-
-void arm10_setup __P((char *));
-#endif
-
-#ifdef CPU_ARM11
-void arm11_setttb __P((u_int));
-
-void arm11_tlb_flushID_SE __P((u_int));
-void arm11_tlb_flushI_SE __P((u_int));
-
-void arm11_context_switch __P((void));
-
-void arm11_setup __P((char *string));
-void arm11_tlb_flushID __P((void));
-void arm11_tlb_flushI __P((void));
-void arm11_tlb_flushD __P((void));
-void arm11_tlb_flushD_SE __P((u_int va));
-
-void arm11_drain_writebuf __P((void));
-#endif
-
-#if defined(CPU_ARM9E) || defined (CPU_ARM10)
-void armv5_ec_setttb __P((u_int));
-
-void armv5_ec_icache_sync_all __P((void));
-void armv5_ec_icache_sync_range __P((vaddr_t, vsize_t));
-
-void armv5_ec_dcache_wbinv_all __P((void));
-void armv5_ec_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void armv5_ec_dcache_inv_range __P((vaddr_t, vsize_t));
-void armv5_ec_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void armv5_ec_idcache_wbinv_all __P((void));
-void armv5_ec_idcache_wbinv_range __P((vaddr_t, vsize_t));
-#endif
-
-#if defined (CPU_ARM10) || defined (CPU_ARM11)
-void armv5_setttb __P((u_int));
-
-void armv5_icache_sync_all __P((void));
-void armv5_icache_sync_range __P((vaddr_t, vsize_t));
-
-void armv5_dcache_wbinv_all __P((void));
-void armv5_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void armv5_dcache_inv_range __P((vaddr_t, vsize_t));
-void armv5_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void armv5_idcache_wbinv_all __P((void));
-void armv5_idcache_wbinv_range __P((vaddr_t, vsize_t));
-
-extern unsigned armv5_dcache_sets_max;
-extern unsigned armv5_dcache_sets_inc;
-extern unsigned armv5_dcache_index_max;
-extern unsigned armv5_dcache_index_inc;
-#endif
-
-#if defined(CPU_ARM9) || defined(CPU_ARM9E) || defined(CPU_ARM10) || \
- defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \
- defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(__CPU_XSCALE_PXA2XX) || defined(CPU_XSCALE_IXP425)
-
-void armv4_tlb_flushID __P((void));
-void armv4_tlb_flushI __P((void));
-void armv4_tlb_flushD __P((void));
-void armv4_tlb_flushD_SE __P((u_int));
-
-void armv4_drain_writebuf __P((void));
-#endif
-
-#if defined(CPU_IXP12X0)
-void ixp12x0_drain_readbuf __P((void));
-void ixp12x0_context_switch __P((void));
-void ixp12x0_setup __P((char *));
-#endif
-
-#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(__CPU_XSCALE_PXA2XX) || defined(CPU_XSCALE_IXP425)
-void xscale_cpwait __P((void));
-
-void xscale_cpu_sleep __P((int));
-
-u_int xscale_control __P((u_int, u_int));
-
-void xscale_setttb __P((u_int));
-
-void xscale_tlb_flushID_SE __P((u_int));
-
-void xscale_cache_flushID __P((void));
-void xscale_cache_flushI __P((void));
-void xscale_cache_flushD __P((void));
-void xscale_cache_flushD_SE __P((u_int));
-
-void xscale_cache_cleanID __P((void));
-void xscale_cache_cleanD __P((void));
-void xscale_cache_cleanD_E __P((u_int));
-
-void xscale_cache_clean_minidata __P((void));
-
-void xscale_cache_purgeID __P((void));
-void xscale_cache_purgeID_E __P((u_int));
-void xscale_cache_purgeD __P((void));
-void xscale_cache_purgeD_E __P((u_int));
-
-void xscale_cache_syncI __P((void));
-void xscale_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void xscale_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void xscale_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void xscale_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void xscale_cache_syncI_rng __P((vaddr_t, vsize_t));
-void xscale_cache_flushD_rng __P((vaddr_t, vsize_t));
-
-void xscale_context_switch __P((void));
-
-void xscale_setup __P((char *));
-#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || __CPU_XSCALE_PXA2XX || CPU_XSCALE_IXP425 */
-
-#define tlb_flush cpu_tlb_flushID
-#define setttb cpu_setttb
-#define drain_writebuf cpu_drain_writebuf
-
-/*
- * Macros for manipulating CPU interrupts
- */
-#ifdef __PROG32
-static __inline u_int32_t __set_cpsr_c(u_int bic, u_int eor) __attribute__((__unused__));
-
-static __inline u_int32_t
-__set_cpsr_c(u_int bic, u_int eor)
-{
- u_int32_t tmp, ret;
-
- __asm volatile(
- "mrs %0, cpsr\n" /* Get the CPSR */
- "bic %1, %0, %2\n" /* Clear bits */
- "eor %1, %1, %3\n" /* XOR bits */
- "msr cpsr_c, %1\n" /* Set the control field of CPSR */
- : "=&r" (ret), "=&r" (tmp)
- : "r" (bic), "r" (eor) : "memory");
-
- return ret;
-}
-
-#define disable_interrupts(mask) \
- (__set_cpsr_c((mask) & (I32_bit | F32_bit), \
- (mask) & (I32_bit | F32_bit)))
-
-#define enable_interrupts(mask) \
- (__set_cpsr_c((mask) & (I32_bit | F32_bit), 0))
-
-#define restore_interrupts(old_cpsr) \
- (__set_cpsr_c((I32_bit | F32_bit), (old_cpsr) & (I32_bit | F32_bit)))
-#else /* ! __PROG32 */
-#define disable_interrupts(mask) \
- (set_r15((mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE), \
- (mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)))
-
-#define enable_interrupts(mask) \
- (set_r15((mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE), 0))
-
-#define restore_interrupts(old_r15) \
- (set_r15((R15_IRQ_DISABLE | R15_FIQ_DISABLE), \
- (old_r15) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)))
-#endif /* __PROG32 */
-
-#ifdef __PROG32
-/* Functions to manipulate the CPSR. */
-u_int SetCPSR(u_int, u_int);
-u_int GetCPSR(void);
-#else
-/* Functions to manipulate the processor control bits in r15. */
-u_int set_r15(u_int, u_int);
-u_int get_r15(void);
-#endif /* __PROG32 */
-
-/*
- * Functions to manipulate cpu r13
- * (in arm/arm32/setstack.S)
- */
-
-void set_stackptr __P((u_int, u_int));
-u_int get_stackptr __P((u_int));
-
-/*
- * Miscellany
- */
-
-int get_pc_str_offset __P((void));
-
-/*
- * CPU functions from locore.S
- */
-
-void cpu_reset __P((void)) __attribute__((__noreturn__));
-
-/*
- * Cache info variables.
- */
-
-/* PRIMARY CACHE VARIABLES */
-extern int arm_picache_size;
-extern int arm_picache_line_size;
-extern int arm_picache_ways;
-
-extern int arm_pdcache_size; /* and unified */
-extern int arm_pdcache_line_size;
-extern int arm_pdcache_ways;
-
-extern int arm_pcache_type;
-extern int arm_pcache_unified;
-
-extern int arm_dcache_align;
-extern int arm_dcache_align_mask;
-
-#endif /* _KERNEL */
-#endif /* _ARM32_CPUFUNC_H_ */
-
-/* End of cpufunc.h */
diff --git a/StdLib/Include/Arm/machine/endian.h b/StdLib/Include/Arm/machine/endian.h deleted file mode 100644 index bb53c0ba07..0000000000 --- a/StdLib/Include/Arm/machine/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/Arm/machine/endian_machdep.h b/StdLib/Include/Arm/machine/endian_machdep.h deleted file mode 100644 index abe2b406ed..0000000000 --- a/StdLib/Include/Arm/machine/endian_machdep.h +++ /dev/null @@ -1,8 +0,0 @@ -/* $NetBSD: endian_machdep.h,v 1.8 2006/01/30 21:52:38 dsl Exp $ */
-
-/* GCC predefines __ARMEB__ when building for big-endian ARM. */
-#ifdef __ARMEB__
-#define _BYTE_ORDER _BIG_ENDIAN
-#else
-#define _BYTE_ORDER _LITTLE_ENDIAN
-#endif
diff --git a/StdLib/Include/Arm/machine/fenv.h b/StdLib/Include/Arm/machine/fenv.h deleted file mode 100644 index cdca48c094..0000000000 --- a/StdLib/Include/Arm/machine/fenv.h +++ /dev/null @@ -1,55 +0,0 @@ -/* $NetBSD: fenv.h,v 1.2 2014/01/29 00:22:09 matt Exp $ */
-/** @file
-*
-* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
-*
-* This program and the accompanying materials
-* are licensed and made available under the terms and conditions of the BSD License
-* which accompanies this distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
- /*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _ARM_FENV_H_
-#define _ARM_FENV_H_
-
-#ifdef __ARM_PCS_AAPCS64
-/* AArch64 split FPSCR into two registers FPCR and FPSR */
-typedef struct {
- unsigned int __fpcr;
- unsigned int __fpsr;
-} fenv_t;
-#else
-typedef int fenv_t; /* FPSCR */
-#endif
-typedef int fexcept_t;
-
-#define FE_INVALID 0x01 /* invalid operation exception */
-#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */
-#define FE_OVERFLOW 0x04 /* overflow exception */
-#define FE_UNDERFLOW 0x08 /* underflow exception */
-#define FE_INEXACT 0x10 /* imprecise (loss of precision; "inexact") */
-
-#define FE_ALL_EXCEPT 0x1f
-
-#define FE_TONEAREST 0 /* round to nearest representable number */
-#define FE_UPWARD 1 /* round toward positive infinity */
-#define FE_DOWNWARD 2 /* round toward negative infinity */
-#define FE_TOWARDZERO 3 /* round to zero (truncate) */
-
-__BEGIN_DECLS
-
-/* Default floating-point environment */
-extern const fenv_t __fe_dfl_env;
-#define FE_DFL_ENV (&__fe_dfl_env)
-
-__END_DECLS
-
-#endif /* _ARM_FENV_H_ */
diff --git a/StdLib/Include/Arm/machine/float.h b/StdLib/Include/Arm/machine/float.h deleted file mode 100644 index 4bd79b3a3d..0000000000 --- a/StdLib/Include/Arm/machine/float.h +++ /dev/null @@ -1,31 +0,0 @@ -/* $NetBSD: float.h,v 1.6 2005/12/11 12:16:47 christos Exp $ */
-
-#ifndef _ARM_FLOAT_H_
-#define _ARM_FLOAT_H_
-
-#ifndef __VFP_FP__
-#define LDBL_MANT_DIG 64
-#define LDBL_EPSILON 1.0842021724855044340E-19L
-#define LDBL_DIG 18
-#define LDBL_MIN_EXP (-16381)
-#define LDBL_MIN 1.6810515715560467531E-4932L
-#define LDBL_MIN_10_EXP (-4931)
-#define LDBL_MAX_EXP 16384
-#define LDBL_MAX 1.1897314953572317650E+4932L
-#define LDBL_MAX_10_EXP 4932
-#endif
-
-#include <sys/float_ieee754.h>
-
-#ifndef __VFP_FP__
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_XOPEN_SOURCE) || \
- ((__STDC_VERSION__ - 0) >= 199901L) || \
- ((_POSIX_C_SOURCE - 0) >= 200112L) || \
- ((_XOPEN_SOURCE - 0) >= 600) || \
- defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
-#define DECIMAL_DIG 21
-#endif /* !defined(_ANSI_SOURCE) && ... */
-#endif /* !__VFP_FP__ */
-
-#endif /* !_ARM_FLOAT_H_ */
diff --git a/StdLib/Include/Arm/machine/frame.h b/StdLib/Include/Arm/machine/frame.h deleted file mode 100644 index 1037a9ff8d..0000000000 --- a/StdLib/Include/Arm/machine/frame.h +++ /dev/null @@ -1,123 +0,0 @@ -/* $NetBSD: frame.h,v 1.8 2005/12/11 12:16:47 christos Exp $ */
-
-/*
- * Copyright (c) 1994-1997 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * 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 Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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.
- */
-/*
- * arm/frame.h - Stack frames structures common to arm26 and arm32
- */
-
-#ifndef _ARM_FRAME_H_
-#define _ARM_FRAME_H_
-
-#ifndef _LOCORE
-
-#include <sys/signal.h>
-#include <sys/sa.h>
-#include <sys/ucontext.h>
-
-/*
- * Trap frame. Pushed onto the kernel stack on a trap (synchronous exception).
- */
-
-typedef struct trapframe {
- register_t tf_spsr; /* Zero on arm26 */
- register_t tf_r0;
- register_t tf_r1;
- register_t tf_r2;
- register_t tf_r3;
- register_t tf_r4;
- register_t tf_r5;
- register_t tf_r6;
- register_t tf_r7;
- register_t tf_r8;
- register_t tf_r9;
- register_t tf_r10;
- register_t tf_r11;
- register_t tf_r12;
- register_t tf_usr_sp;
- register_t tf_usr_lr;
- register_t tf_svc_sp; /* Not used on arm26 */
- register_t tf_svc_lr; /* Not used on arm26 */
- register_t tf_pc;
-} trapframe_t;
-
-/* Register numbers */
-#define tf_r13 tf_usr_sp
-#define tf_r14 tf_usr_lr
-#define tf_r15 tf_pc
-
-/*
- * Signal frame. Pushed onto user stack before calling sigcode.
- */
-#ifdef COMPAT_16
-struct sigframe_sigcontext {
- struct sigcontext sf_sc;
-};
-#endif
-
-/* the pointers are use in the trampoline code to locate the ucontext */
-struct sigframe_siginfo {
- siginfo_t sf_si; /* actual saved siginfo */
- ucontext_t sf_uc; /* actual saved ucontext */
-};
-
-/*
- * Scheduler activations upcall frame. Pushed onto user stack before
- * calling an SA upcall.
- */
-
-struct saframe {
-#if 0 /* in registers on entry to upcall */
- int sa_type;
- struct sa_t ** sa_sas;
- int sa_events;
- int sa_interrupted;
-#endif
- void * sa_arg;
-};
-
-#ifdef _KERNEL
-__BEGIN_DECLS
-void sendsig_sigcontext(const ksiginfo_t *, const sigset_t *);
-void *getframe(struct lwp *, int, int *);
-__END_DECLS
-#define process_frame(l) ((l)->l_addr->u_pcb.pcb_tf)
-#endif
-
-#endif /* _LOCORE */
-
-#endif /* _ARM_FRAME_H_ */
-
-/* End of frame.h */
diff --git a/StdLib/Include/Arm/machine/ieee.h b/StdLib/Include/Arm/machine/ieee.h deleted file mode 100644 index 5e6b4d9165..0000000000 --- a/StdLib/Include/Arm/machine/ieee.h +++ /dev/null @@ -1,13 +0,0 @@ -/* $NetBSD: ieee.h,v 1.9 2005/12/11 12:16:47 christos Exp $ */
-
-#include <sys/ieee754.h>
-
-/*
- * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its
- * high fraction; if the bit is set, it is a `quiet NaN'.
- */
-
-#if 0
-#define SNG_QUIETNAN (1 << 22)
-#define DBL_QUIETNAN (1 << 19)
-#endif
diff --git a/StdLib/Include/Arm/machine/ieeefp.h b/StdLib/Include/Arm/machine/ieeefp.h deleted file mode 100644 index c3de5ef726..0000000000 --- a/StdLib/Include/Arm/machine/ieeefp.h +++ /dev/null @@ -1,58 +0,0 @@ -/* $NetBSD: ieeefp.h,v 1.3 2013/04/23 05:42:23 matt Exp $ */
-/** @file
-*
-* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
-*
-* This program and the accompanying materials
-* are licensed and made available under the terms and conditions of the BSD License
-* which accompanies this distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
-/*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _ARM_IEEEFP_H_
-#define _ARM_IEEEFP_H_
-
-#include <LibConfig.h>
-#include <sys/featuretest.h>
-
-#if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
-
-//#include <arm/fenv.h>
-#include <machine/fenv.h>
-
-#if !defined(_ISOC99_SOURCE)
-
-/* Exception type (used by fpsetmask() et al.) */
-
-typedef int fp_except;
-
-/* Bit defines for fp_except */
-
-#define FP_X_INV FE_INVALID /* invalid operation exception */
-#define FP_X_DZ FE_DIVBYZERO /* divide-by-zero exception */
-#define FP_X_OFL FE_OVERFLOW /* overflow exception */
-#define FP_X_UFL FE_UNDERFLOW /* underflow exception */
-#define FP_X_IMP FE_INEXACT /* imprecise (prec. loss; "inexact") */
-
-/* Rounding modes */
-
-typedef enum {
- FP_RN=FE_TONEAREST, /* round to nearest representable number */
- FP_RP=FE_UPWARD, /* round toward positive infinity */
- FP_RM=FE_DOWNWARD, /* round toward negative infinity */
- FP_RZ=FE_TOWARDZERO /* round to zero (truncate) */
-} fp_rnd;
-
-#endif /* !_ISOC99_SOURCE */
-
-#endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
-
-#endif /* _ARM_IEEEFP_H_ */
diff --git a/StdLib/Include/Arm/machine/int_const.h b/StdLib/Include/Arm/machine/int_const.h deleted file mode 100644 index f3a22f61c6..0000000000 --- a/StdLib/Include/Arm/machine/int_const.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $NetBSD: int_const.h,v 1.1 2001/04/14 22:38:38 kleink Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _ARM_INT_CONST_H_
-#define _ARM_INT_CONST_H_
-
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif /* !_ARM_INT_CONST_H_ */
diff --git a/StdLib/Include/Arm/machine/int_limits.h b/StdLib/Include/Arm/machine/int_limits.h deleted file mode 100644 index c15eb7feb0..0000000000 --- a/StdLib/Include/Arm/machine/int_limits.h +++ /dev/null @@ -1,127 +0,0 @@ -/* $NetBSD: int_limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _ARM_INT_LIMITS_H_
-#define _ARM_INT_LIMITS_H_
-
-/*
- * 7.18.2 Limits of specified-width integer types
- */
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN (-0x7f-1) /* int8_t */
-#define INT16_MIN (-0x7fff-1) /* int16_t */
-#define INT32_MIN (-0x7fffffff-1) /* int32_t */
-#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xff /* uint8_t */
-#define UINT16_MAX 0xffff /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
-#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
-#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
-#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xff /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffff /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
-#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
-#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
-#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN (-0x7fffffffL-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffffL /* intptr_t */
-#define UINTPTR_MAX 0xffffffffUL /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN (-0x7fffffffL-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffffL /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN (-0x7fffffff-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffUL /* size_t */
-
-#endif /* !_ARM_INT_LIMITS_H_ */
diff --git a/StdLib/Include/Arm/machine/int_mwgwtypes.h b/StdLib/Include/Arm/machine/int_mwgwtypes.h deleted file mode 100644 index c9a49175c5..0000000000 --- a/StdLib/Include/Arm/machine/int_mwgwtypes.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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 NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp
-**/
-#ifndef _ARM_INT_MWGWTYPES_H_
-#define _ARM_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_ARM_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/Arm/machine/int_types.h b/StdLib/Include/Arm/machine/int_types.h deleted file mode 100644 index cebebe333a..0000000000 --- a/StdLib/Include/Arm/machine/int_types.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $NetBSD: int_types.h,v 1.10 2005/12/24 20:07:10 perry Exp $ */
-
-/*-
- * Copyright (c) 1990 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.
- *
- * from: @(#)types.h 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _ARM_INT_TYPES_H_
-#define _ARM_INT_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef INT8 __int8_t;
-typedef UINT8 __uint8_t;
-typedef INT16 __int16_t;
-typedef UINT16 __uint16_t;
-typedef INT32 __int32_t;
-typedef UINT32 __uint32_t;
-typedef INT64 __int64_t;
-typedef UINT64 __uint64_t;
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-typedef INTN __intptr_t;
-typedef UINTN __uintptr_t;
-
-#endif /* !_ARM_INT_TYPES_H_ */
diff --git a/StdLib/Include/Arm/machine/limits.h b/StdLib/Include/Arm/machine/limits.h deleted file mode 100644 index 5caa9a18d7..0000000000 --- a/StdLib/Include/Arm/machine/limits.h +++ /dev/null @@ -1,95 +0,0 @@ -/* $NetBSD: limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*
- * Copyright (c) 1988 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.
- *
- * from: @(#)limits.h 7.2 (Berkeley) 6/28/90
- */
-
-#ifndef _ARM32_LIMITS_H_
-#define _ARM32_LIMITS_H_
-
-#include <sys/featuretest.h>
-
-#define __CHAR_BIT 8 /* number of bits in a char */
-//#define __MB_LEN_MAX 32 /* no multibyte characters */
-
-#define __SCHAR_MIN (-0x7f-1) /* max value for a signed char */
-#define __SCHAR_MAX 0x7f /* min value for a signed char */
-
-#define __UCHAR_MAX 0xff /* max value for an unsigned char */
-#define __CHAR_MAX 0xff /* max value for a char */
-#define __CHAR_MIN 0 /* min value for a char */
-
-#define __USHRT_MAX 0xffff /* max value for an unsigned short */
-#define __SHRT_MAX 0x7fff /* max value for a short */
-#define __SHRT_MIN (-0x7fff-1) /* min value for a short */
-
-#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */
-#define __INT_MAX 0x7fffffff /* max value for an int */
-#define __INT_MIN (-0x7fffffff-1) /* min value for an int */
-
-#define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
-#define __LONG_MAX 0x7fffffffL /* max value for a long */
-#define __LONG_MIN (-0x7fffffffL-1) /* min value for a long */
-
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
- defined(_NETBSD_SOURCE)
-#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
-
-#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \
- defined(_NETBSD_SOURCE)
-#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 */
-#endif
-
-#if defined(_NETBSD_SOURCE)
-#define SIZE_T_MAX LONG_MAX /* max value for a size_t */
-
-#define UQUAD_MAX 0xffffffffffffffffLL /* max unsigned quad */
-#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */
-#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */
-
-#endif /* _NETBSD_SOURCE */
-#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#define LONG_BIT 32
-#define WORD_BIT 32
-
-#define DBL_DIG 15
-#define DBL_MAX 1.7976931348623157E+308
-#define DBL_MIN 2.2250738585072014E-308
-
-//#define FLT_DIG 6
-//#define FLT_MAX 3.40282347E+38F
-//#define FLT_MIN 1.17549435E-38F
-#endif
-
-#endif /* _ARM32_LIMITS_H_ */
diff --git a/StdLib/Include/Arm/machine/lock.h b/StdLib/Include/Arm/machine/lock.h deleted file mode 100644 index be11a470ab..0000000000 --- a/StdLib/Include/Arm/machine/lock.h +++ /dev/null @@ -1,89 +0,0 @@ -/* $NetBSD: lock.h,v 1.7 2005/12/28 19:09:29 perry Exp $ */
-
-/*-
- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-/*
- * Machine-dependent spin lock operations.
- *
- * NOTE: The SWP insn used here is available only on ARM architecture
- * version 3 and later (as well as 2a). What we are going to do is
- * expect that the kernel will trap and emulate the insn. That will
- * be slow, but give us the atomicity that we need.
- */
-
-#ifndef _ARM_LOCK_H_
-#define _ARM_LOCK_H_
-
-static __inline int
-__swp(int __val, volatile int *__ptr)
-{
-
- __asm volatile("swp %0, %1, [%2]"
- : "=r" (__val) : "r" (__val), "r" (__ptr) : "memory");
- return __val;
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_lock_init(__cpu_simple_lock_t *alp)
-{
-
- *alp = __SIMPLELOCK_UNLOCKED;
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_lock(__cpu_simple_lock_t *alp)
-{
-
- while (__swp(__SIMPLELOCK_LOCKED, alp) != __SIMPLELOCK_UNLOCKED)
- continue;
-}
-
-static __inline int __attribute__((__unused__))
-__cpu_simple_lock_try(__cpu_simple_lock_t *alp)
-{
-
- return (__swp(__SIMPLELOCK_LOCKED, alp) == __SIMPLELOCK_UNLOCKED);
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_unlock(__cpu_simple_lock_t *alp)
-{
-
- *alp = __SIMPLELOCK_UNLOCKED;
-}
-
-#endif /* _ARM_LOCK_H_ */
diff --git a/StdLib/Include/Arm/machine/math.h b/StdLib/Include/Arm/machine/math.h deleted file mode 100644 index 7eca11187b..0000000000 --- a/StdLib/Include/Arm/machine/math.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: math.h,v 1.2 2002/02/19 13:08:14 simonb Exp $ */
-
-#define __HAVE_NANF
diff --git a/StdLib/Include/Arm/machine/mcontext.h b/StdLib/Include/Arm/machine/mcontext.h deleted file mode 100644 index 0f450c43c1..0000000000 --- a/StdLib/Include/Arm/machine/mcontext.h +++ /dev/null @@ -1,114 +0,0 @@ -/* $NetBSD: mcontext.h,v 1.5 2005/12/11 12:16:47 christos Exp $ */
-
-/*-
- * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein and by Jason R. Thorpe of Wasabi Systems, 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _ARM_MCONTEXT_H_
-#define _ARM_MCONTEXT_H_
-
-/*
- * General register state
- */
-#define _NGREG 17
-typedef unsigned int __greg_t;
-typedef __greg_t __gregset_t[_NGREG];
-
-#define _REG_R0 0
-#define _REG_R1 1
-#define _REG_R2 2
-#define _REG_R3 3
-#define _REG_R4 4
-#define _REG_R5 5
-#define _REG_R6 6
-#define _REG_R7 7
-#define _REG_R8 8
-#define _REG_R9 9
-#define _REG_R10 10
-#define _REG_R11 11
-#define _REG_R12 12
-#define _REG_R13 13
-#define _REG_R14 14
-#define _REG_R15 15
-#define _REG_CPSR 16
-/* Convenience synonyms */
-#define _REG_FP _REG_R11
-#define _REG_SP _REG_R13
-#define _REG_LR _REG_R14
-#define _REG_PC _REG_R15
-
-/*
- * Floating point register state
- */
-/* Note: the storage layout of this structure must be identical to ARMFPE! */
-typedef struct {
- unsigned int __fp_fpsr;
- struct {
- unsigned int __fp_exponent;
- unsigned int __fp_mantissa_hi;
- unsigned int __fp_mantissa_lo;
- } __fp_fr[8];
-} __fpregset_t;
-
-typedef struct {
- unsigned int __vfp_fpscr;
- unsigned int __vfp_fstmx[33];
- unsigned int __vfp_fpsid;
-} __vfpregset_t;
-
-typedef struct {
- __gregset_t __gregs;
- union {
- __fpregset_t __fpregs;
- __vfpregset_t __vfpregs;
- } __fpu;
-} mcontext_t;
-
-/* Machine-dependent uc_flags */
-#define _UC_ARM_VFP 0x00010000 /* FPU field is VFP */
-
-/* used by signal delivery to indicate status of signal stack */
-#define _UC_SETSTACK 0x00020000
-#define _UC_CLRSTACK 0x00040000
-
-#define _UC_MACHINE_PAD 3 /* Padding appended to ucontext_t */
-
-#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_SP])
-#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC])
-#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_R0])
-
-#define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc)
-
-#endif /* !_ARM_MCONTEXT_H_ */
diff --git a/StdLib/Include/Arm/machine/param.h b/StdLib/Include/Arm/machine/param.h deleted file mode 100644 index ac76253038..0000000000 --- a/StdLib/Include/Arm/machine/param.h +++ /dev/null @@ -1,137 +0,0 @@ -/* $NetBSD: param.h,v 1.13 2010/05/06 19:10:26 joerg Exp $ */
-
-/*
- * Copyright (c) 1994,1995 Mark Brinicombe.
- * 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 RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``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 RISCBSD 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.
- */
-
-#ifndef _ARM_PARAM_H_
-#define _ARM_PARAM_H_
-
-/*
- * Machine dependent constants for all ARM processors
- */
-
-/*
- * For KERNEL code:
- * MACHINE must be defined by the individual port. This is so that
- * uname returns the correct thing, etc.
- *
- * MACHINE_ARCH may be defined by individual ports as a temporary
- * measure while we're finishing the conversion to ELF.
- *
- * For non-KERNEL code:
- * If ELF, MACHINE and MACHINE_ARCH are forced to "arm/armeb".
- */
-
-#if defined(_KERNEL)
-#ifndef MACHINE_ARCH /* XXX For now */
-#ifndef __ARMEB__
-#define _MACHINE_ARCH arm
-#define MACHINE_ARCH "arm"
-#else
-#define _MACHINE_ARCH armeb
-#define MACHINE_ARCH "armeb"
-#endif /* __ARMEB__ */
-#endif /* MACHINE_ARCH */
-#else
-#undef _MACHINE
-#undef MACHINE
-#undef _MACHINE_ARCH
-#undef MACHINE_ARCH
-#define _MACHINE arm
-#define MACHINE "arm"
-#ifndef __ARMEB__
-#define _MACHINE_ARCH arm
-#define MACHINE_ARCH "arm"
-#else
-#define _MACHINE_ARCH armeb
-#define MACHINE_ARCH "armeb"
-#endif /* __ARMEB__ */
-#endif /* !_KERNEL */
-
-#define MID_MACHINE MID_ARM6
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int 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(int) - 1)
-#define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)
-/* ARM-specific macro to align a stack pointer (downwards). */
-#define STACKALIGNBYTES (8 - 1)
-#define STACKALIGN(p) ((u_int)(p) &~ STACKALIGNBYTES)
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-
-#ifndef MAXPHYS
-#define MAXPHYS 65536 /* max I/O transfer size */
-#endif
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (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 */
-
-#ifndef MCLSHIFT
-#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifndef NMBCLUSTERS_MAX
-#define NMBCLUSTERS_MAX (0x2000000 / MCLBYTES) /* Limit to 64MB for clusters */
-#endif
-
-/*
- * Compatibility /dev/zero mapping.
- */
-#ifdef _KERNEL
-#ifdef COMPAT_16
-#define COMPAT_ZERODEV(x) (x == makedev(0, _DEV_ZERO_oARM))
-#endif
-#endif /* _KERNEL */
-
-#endif /* _ARM_PARAM_H_ */
diff --git a/StdLib/Include/Arm/machine/proc.h b/StdLib/Include/Arm/machine/proc.h deleted file mode 100644 index 14718611d3..0000000000 --- a/StdLib/Include/Arm/machine/proc.h +++ /dev/null @@ -1,55 +0,0 @@ -/* $NetBSD: proc.h,v 1.6 2003/03/05 11:28:14 agc Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * 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 RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``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 RISCBSD 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.
- */
-
-#ifndef _ARM32_PROC_H_
-#define _ARM32_PROC_H_
-
-/*
- * Machine-dependent part of the proc structure for arm.
- */
-
-struct trapframe;
-struct lwp;
-
-struct mdlwp {
- int md_dummy; /* must have at least one member */
-};
-
-struct mdproc {
- void (*md_syscall)(struct trapframe *, struct lwp *, u_int32_t);
- int pmc_enabled; /* bitfield of enabled counters */
- void *pmc_state; /* port-specific pmc state */
-};
-
-#endif /* _ARM32_PROC_H_ */
diff --git a/StdLib/Include/Arm/machine/signal.h b/StdLib/Include/Arm/machine/signal.h deleted file mode 100644 index 6628eb9e94..0000000000 --- a/StdLib/Include/Arm/machine/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/**
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/Arm/machine/types.h b/StdLib/Include/Arm/machine/types.h deleted file mode 100644 index a59d5be087..0000000000 --- a/StdLib/Include/Arm/machine/types.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Machine dependent type definitions.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990 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 7.5 (Berkeley) 3/9/91
- NetBSD: types.h,v 1.49 2006/09/03 13:51:23 bjh21 Exp
-**/
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-
-/* Handle the long and unsigned long data types which EFI doesn't directly support. */
-//typedef INTN LONGN;
-//typedef UINTN ULONGN;
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INT32 pmc_evid_t;
-typedef UINT64 pmc_ctr_t;
-typedef INT32 register_t;
-
-typedef volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-/* The ARMv7 does not have strict alignment requirements. */
-#define __NO_STRICT_ALIGNMENT
-//TODO: Fixme for the ARM architecture that requires strict alignment
-
-#define __HAVE_DEVICE_REGISTER
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_OLD_DISKLABEL
-#define __HAVE_GENERIC_SOFT_INTERRUPTS
-#define __HAVE_CPU_MAXPROC
-#define __HAVE_TIMECOUNTER
-#define __HAVE_GENERIC_TODR
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/Arm/milieu.h b/StdLib/Include/Arm/milieu.h deleted file mode 100644 index 8f4ac00076..0000000000 --- a/StdLib/Include/Arm/milieu.h +++ /dev/null @@ -1,38 +0,0 @@ -/* $NetBSD: milieu.h,v 1.1 2000/12/29 20:13:54 bjh21 Exp $ */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-Include common integer types and flags.
--------------------------------------------------------------------------------
-*/
-#include "arm-gcc.h"
diff --git a/StdLib/Include/Arm/softfloat.h b/StdLib/Include/Arm/softfloat.h deleted file mode 100644 index d52c5a9f8d..0000000000 --- a/StdLib/Include/Arm/softfloat.h +++ /dev/null @@ -1,316 +0,0 @@ -/* $NetBSD: softfloat.h,v 1.10 2013/04/24 18:04:46 matt Exp $ */
-
-/* This is a derivative work. */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-The macro `FLOATX80' must be defined to enable the extended double-precision
-floating-point format `floatx80'. If this macro is not defined, the
-`floatx80' type will not be defined, and none of the functions that either
-input or output the `floatx80' type will be defined. The same applies to
-the `FLOAT128' macro and the quadruple-precision format `float128'.
--------------------------------------------------------------------------------
-*/
-/* #define FLOATX80 */
-/* #define FLOAT128 */
-
-#include <stdint.h>
-#include <machine/ieeefp.h>
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point types.
--------------------------------------------------------------------------------
-*/
-typedef unsigned int float32;
-typedef unsigned long long float64;
-#ifdef FLOATX80
-typedef struct {
- unsigned short high;
- unsigned long long low;
-} floatx80;
-#endif
-#ifdef FLOAT128
-typedef struct {
- unsigned long long high, low;
-} float128;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point underflow tininess-detection mode.
--------------------------------------------------------------------------------
-*/
-#ifndef SOFTFLOAT_FOR_GCC
-extern int float_detect_tininess;
-#endif
-enum {
- float_tininess_after_rounding = 0,
- float_tininess_before_rounding = 1
-};
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point rounding mode.
--------------------------------------------------------------------------------
-*/
-extern fp_rnd float_rounding_mode;
-#define float_round_nearest_even FP_RN
-#define float_round_to_zero FP_RZ
-#define float_round_down FP_RM
-#define float_round_up FP_RP
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point exception flags.
--------------------------------------------------------------------------------
-*/
-extern fp_except float_exception_flags;
-extern fp_except float_exception_mask;
-enum {
- float_flag_inexact = FP_X_IMP,
- float_flag_underflow = FP_X_UFL,
- float_flag_overflow = FP_X_OFL,
- float_flag_divbyzero = FP_X_DZ,
- float_flag_invalid = FP_X_INV
-};
-
-/*
--------------------------------------------------------------------------------
-Routine to raise any or all of the software IEC/IEEE floating-point
-exception flags.
--------------------------------------------------------------------------------
-*/
-void float_raise( fp_except );
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE integer-to-floating-point conversion routines.
--------------------------------------------------------------------------------
-*/
-float32 int32_to_float32( int32 );
-float32 uint32_to_float32( uint32 );
-float64 int32_to_float64( int32 );
-float64 uint32_to_float64( uint32 );
-#ifdef FLOATX80
-floatx80 int32_to_floatx80( int32 );
-floatx80 uint32_to_floatx80( uint32 );
-#endif
-#ifdef FLOAT128
-float128 int32_to_float128( int32 );
-float128 uint32_to_float128( uint32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */
-float32 int64_to_float32( long long );
-float64 int64_to_float64( long long );
-#ifdef FLOATX80
-floatx80 int64_to_floatx80( long long );
-#endif
-#ifdef FLOAT128
-float128 int64_to_float128( long long );
-#endif
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float32_to_int32( float32 );
-int float32_to_int32_round_to_zero( float32 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float32_to_uint32_round_to_zero( float32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float32_to_int64( float32 );
-long long float32_to_int64_round_to_zero( float32 );
-#endif
-float64 float32_to_float64( float32 );
-#ifdef FLOATX80
-floatx80 float32_to_floatx80( float32 );
-#endif
-#ifdef FLOAT128
-float128 float32_to_float128( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision operations.
--------------------------------------------------------------------------------
-*/
-float32 float32_round_to_int( float32 );
-float32 float32_add( float32, float32 );
-float32 float32_sub( float32, float32 );
-float32 float32_mul( float32, float32 );
-float32 float32_div( float32, float32 );
-float32 float32_rem( float32, float32 );
-float32 float32_sqrt( float32 );
-int float32_eq( float32, float32 );
-int float32_le( float32, float32 );
-int float32_lt( float32, float32 );
-int float32_eq_signaling( float32, float32 );
-int float32_le_quiet( float32, float32 );
-int float32_lt_quiet( float32, float32 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float32_is_signaling_nan( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float64_to_int32( float64 );
-int float64_to_int32_round_to_zero( float64 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float64_to_uint32_round_to_zero( float64 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float64_to_int64( float64 );
-long long float64_to_int64_round_to_zero( float64 );
-#endif
-float32 float64_to_float32( float64 );
-#ifdef FLOATX80
-floatx80 float64_to_floatx80( float64 );
-#endif
-#ifdef FLOAT128
-float128 float64_to_float128( float64 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision operations.
--------------------------------------------------------------------------------
-*/
-float64 float64_round_to_int( float64 );
-float64 float64_add( float64, float64 );
-float64 float64_sub( float64, float64 );
-float64 float64_mul( float64, float64 );
-float64 float64_div( float64, float64 );
-float64 float64_rem( float64, float64 );
-float64 float64_sqrt( float64 );
-int float64_eq( float64, float64 );
-int float64_le( float64, float64 );
-int float64_lt( float64, float64 );
-int float64_eq_signaling( float64, float64 );
-int float64_le_quiet( float64, float64 );
-int float64_lt_quiet( float64, float64 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float64_is_signaling_nan( float64 );
-#endif
-
-#ifdef FLOATX80
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int floatx80_to_int32( floatx80 );
-int floatx80_to_int32_round_to_zero( floatx80 );
-long long floatx80_to_int64( floatx80 );
-long long floatx80_to_int64_round_to_zero( floatx80 );
-float32 floatx80_to_float32( floatx80 );
-float64 floatx80_to_float64( floatx80 );
-#ifdef FLOAT128
-float128 floatx80_to_float128( floatx80 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision rounding precision. Valid
-values are 32, 64, and 80.
--------------------------------------------------------------------------------
-*/
-extern int floatx80_rounding_precision;
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision operations.
--------------------------------------------------------------------------------
-*/
-floatx80 floatx80_round_to_int( floatx80 );
-floatx80 floatx80_add( floatx80, floatx80 );
-floatx80 floatx80_sub( floatx80, floatx80 );
-floatx80 floatx80_mul( floatx80, floatx80 );
-floatx80 floatx80_div( floatx80, floatx80 );
-floatx80 floatx80_rem( floatx80, floatx80 );
-floatx80 floatx80_sqrt( floatx80 );
-int floatx80_eq( floatx80, floatx80 );
-int floatx80_le( floatx80, floatx80 );
-int floatx80_lt( floatx80, floatx80 );
-int floatx80_eq_signaling( floatx80, floatx80 );
-int floatx80_le_quiet( floatx80, floatx80 );
-int floatx80_lt_quiet( floatx80, floatx80 );
-int floatx80_is_signaling_nan( floatx80 );
-
-#endif
-
-#ifdef FLOAT128
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float128_to_int32( float128 );
-int float128_to_int32_round_to_zero( float128 );
-long long float128_to_int64( float128 );
-long long float128_to_int64_round_to_zero( float128 );
-float32 float128_to_float32( float128 );
-float64 float128_to_float64( float128 );
-#ifdef FLOATX80
-floatx80 float128_to_floatx80( float128 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision operations.
--------------------------------------------------------------------------------
-*/
-float128 float128_round_to_int( float128 );
-float128 float128_add( float128, float128 );
-float128 float128_sub( float128, float128 );
-float128 float128_mul( float128, float128 );
-float128 float128_div( float128, float128 );
-float128 float128_rem( float128, float128 );
-float128 float128_sqrt( float128 );
-int float128_eq( float128, float128 );
-int float128_le( float128, float128 );
-int float128_lt( float128, float128 );
-int float128_eq_signaling( float128, float128 );
-int float128_le_quiet( float128, float128 );
-int float128_lt_quiet( float128, float128 );
-int float128_is_signaling_nan( float128 );
-
-#endif
diff --git a/StdLib/Include/Containers/Fifo.h b/StdLib/Include/Containers/Fifo.h deleted file mode 100644 index 69dd55b03e..0000000000 --- a/StdLib/Include/Containers/Fifo.h +++ /dev/null @@ -1,208 +0,0 @@ -/** @file
- Class for arbitrary sized FIFO queues.
-
- Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License which accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _FIFO_CLASS_H
-#define _FIFO_CLASS_H
-#include <Uefi.h>
-#include <wchar.h>
-#include <Containers/ModuloUtil.h>
-#include <sys/types.h>
-
-__BEGIN_DECLS
-
-typedef struct _FIFO_CLASS cFIFO;
-
-/// Constants to select what is counted by the FIFO_NumInQueue function.
-typedef enum {
- AsElements, ///< Count the number of readable elements in the queue.
- AsBytes ///< Count the number of readable bytes in the queue.
-} FIFO_ElemBytes;
-
-/** Construct a new instance of a FIFO Queue.
-
- @param[in] NumElements Number of elements to be contained in the new FIFO.
- @param[in] ElementSize Size, in bytes, of an element
-
- @retval NULL Unable to create the instance.
- @retval NonNULL Pointer to the new FIFO instance.
-**/
-cFIFO * EFIAPI New_cFIFO(UINT32 NumElements, size_t ElementSize);
-
-/** Add one or more elements to the FIFO.
-
- This function allows one to add one or more elements, as specified by Count,
- to the FIFO. Each element is of the size specified when the FIFO object
- was instantiated (FIFO.ElementSize).
-
- pElement points to the first byte of the first element to be added.
- If multiple elements are to be added, the elements are expected to be
- organized as a packed array.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[in] pElement Pointer to the element(s) to enqueue (add).
- @param[in] Count Number of elements to add.
-
- @retval 0 The FIFO is full.
- @retval >=0 The number of elements added to the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_Enqueue) (cFIFO *Self, const void *ElementPointer, size_t Count);
-
-/** Read or copy elements from the FIFO.
-
- This function allows one to read one or more elements, as specified by Count,
- from the FIFO. Each element is of the size specified when the FIFO object
- was instantiated (FIFO.ElementSize).
-
- pElement points to the destination of the first byte of the first element
- to be read. If multiple elements are to be read, the elements are expected
- to be organized as a packed array.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[out] pElement Pointer to where to store the element(s) read from the FIFO.
- @param[in] Count Number of elements to dequeue.
- @param[in] Consume If TRUE, consume read elements. Otherwise, preserve.
-
- @retval 0 The FIFO is empty.
- @retval >=0 The number of elements read from the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_Dequeue) (cFIFO *Self, void *ElementPointer, size_t Count);
-
-/** Make a copy of the FIFO's data.
- The contents of the FIFO is copied out and linearized without affecting the
- FIFO contents.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[out] ElementPointer Pointer to where to store the elements copied from the FIFO.
- @param[in] Count Number of elements to copy.
-
- @retval 0 The FIFO is empty.
- @retval >=0 The number of elements copied from the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_Copy) (cFIFO *Self, void *ElementPointer, size_t Count);
-
-/** Test whether the FIFO is empty.
-
- @param[in] Self Pointer to the FIFO instance.
-
- @retval TRUE The FIFO is empty.
- @retval FALSE The FIFO is NOT empty.
-**/
-typedef BOOLEAN (EFIAPI *cFIFO_IsEmpty) (cFIFO *Self);
-
-/** Test whether the FIFO is full.
-
- @param[in] Self Pointer to the FIFO instance.
-
- @retval TRUE The FIFO is full.
- @retval FALSE The FIFO is NOT full.
-**/
-typedef BOOLEAN (EFIAPI *cFIFO_IsFull) (cFIFO *Self);
-
-/** Determine number of items available to read from the FIFO.
-
- The number of items are either the number of bytes, or the number of elements
- depending upon the value of the As enumerator.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[in] As An enumeration variable whose value determines whether the
- returned value is the number of bytes or the number of elements
- currently contained by the FIFO.
-
- @retval 0 The FIFO is empty.
- @retval >=0 The number of items contained in the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_NumInQueue) (cFIFO *Self, FIFO_ElemBytes As);
-
-/** Determine amount of free space in the FIFO that can be written into.
-
- The number of items are either the number of bytes, or the number of elements
- depending upon the value of the As enumerator.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[in] As An enumeration variable whose value determines whether the
- returned value is the number of bytes or the number of elements
- currently available in the FIFO.
-
- @retval 0 The FIFO is full.
- @retval >=0 The number of items which can be accepted by the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_FreeSpace) (cFIFO *Self, FIFO_ElemBytes As);
-
-/** Empty the FIFO, discarding up to NumToFlush elements.
-
- @param[in] Self Pointer to the FIFO instance.
- @param[in] NumToFlush Number of elements to flush from the FIFO.
- If larger than the number of elements in the
- FIFO, the FIFO is emptied.
-
- @return Returns the number of elements remaining in the FIFO after the flush.
-**/
-typedef size_t (EFIAPI *cFIFO_Flush) (cFIFO *Self, size_t NumToFlush);
-
-/** Remove the most recent element from the FIFO.
-
- @param[in] Self Pointer to the FIFO instance.
-
- @return Returns the number of elements remaining in the FIFO.
-**/
-typedef size_t (EFIAPI *cFIFO_Truncate) (cFIFO *Self);
-
-/** Cleanly delete a FIFO instance.
-
- @param[in] Self Pointer to the FIFO instance.
-**/
-typedef void (EFIAPI *cFIFO_Delete) (cFIFO *Self);
-
-/** Get the FIFO's current Read Index.
-
- @param[in] Self Pointer to the FIFO instance.
-
- @return The current value of the FIFO's ReadIndex member is returned.
-**/
-typedef UINT32 (EFIAPI *cFIFO_GetRDex) (cFIFO *Self);
-
-/** Get the FIFO's current Write Index.
-
- @param[in] Self Pointer to the FIFO instance.
-
- @return The current value of the FIFO's WriteIndex member is returned.
-**/
-typedef UINT32 (EFIAPI *cFIFO_GetWDex) (cFIFO *Self);
-
-/// Structure declaration for FIFO objects.
-struct _FIFO_CLASS {
- /* ######## Public Functions ######## */
- cFIFO_Enqueue Write; ///< Write an element into the FIFO.
- cFIFO_Dequeue Read; ///< Read an element from the FIFO.
- cFIFO_Copy Copy; ///< Non-destructive copy from FIFO.
- cFIFO_IsEmpty IsEmpty; ///< Test whether the FIFO is empty.
- cFIFO_IsFull IsFull; ///< Test whether the FIFO is full.
- cFIFO_NumInQueue Count; ///< Return the number of elements contained in the FIFO.
- cFIFO_FreeSpace FreeSpace; ///< Return the number of available elements in the FIFO.
- cFIFO_Flush Flush; ///< Remove the N earliest elements from the FIFO.
- cFIFO_Truncate Truncate; ///< Remove the most recent element from the FIFO.
- cFIFO_Delete Delete; ///< Delete the FIFO object.
-
- /* ######## Protected Functions ######## */
- cFIFO_GetRDex GetRDex; ///< Get a copy of the current Read Index.
- cFIFO_GetWDex GetWDex; ///< Get a copy of the current Write Index.
-
- /* ######## PRIVATE Data ######## */
- void *Queue; ///< The FIFO's data storage.
- UINT32 ElementSize; ///< Number of bytes in an element.
- UINT32 NumElements; ///< Number of elements the FIFO can store.
- UINT32 ReadIndex; ///< Index of next element to Read.
- UINT32 WriteIndex; ///< Index of where next element will be Written.
-};
-
-__END_DECLS
-#endif /* _FIFO_CLASS_H */
diff --git a/StdLib/Include/Containers/ModuloUtil.h b/StdLib/Include/Containers/ModuloUtil.h deleted file mode 100644 index f98ab0aea9..0000000000 --- a/StdLib/Include/Containers/ModuloUtil.h +++ /dev/null @@ -1,105 +0,0 @@ -/** @file
- Utility functions for performing basic math operations constrained within a
- modulus.
-
- These functions are intended to simplify small changes to a value which much
- remain within a specified modulus. Changes must be less than or equal to
- the modulus specified by MaxVal.
-
- Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License which accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _MODULO_UTIL_H
-#define _MODULO_UTIL_H
-#include <Uefi.h>
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-
-/** Counter = (Counter + 1) % MaxVal;
-
- Counter is always expected to be LESS THAN MaxVal.
- 0 <= Counter < MaxVal
-
- @param[in] Counter The value to be incremented.
- @param[in] MaxVal Modulus of the operation.
-
- @return Returns the result of incrementing Counter, modulus MaxVal.
- If Counter >= MaxVal, returns -1.
-**/
-INT32
-EFIAPI
-ModuloIncrement(
- UINT32 Counter,
- UINT32 MaxVal
- );
-
-/** Counter = (Counter - 1) % MaxVal;
-
- Counter is always expected to be LESS THAN MaxVal.
- 0 <= Counter < MaxVal
-
- @param[in] Counter The value to be decremented.
- @param[in] MaxVal Modulus of the operation.
-
- @return Returns the result of decrementing Counter, modulus MaxVal.
- If Counter >= MaxVal, returns -1.
-**/
-INT32
-EFIAPI
-ModuloDecrement(
- UINT32 Counter,
- UINT32 MaxVal
- );
-
-/** Counter = (Counter + Increment) % MaxVal;
-
- @param[in] Counter The value to be incremented.
- @param[in] Increment The value to add to Counter.
- @param[in] MaxVal Modulus of the operation.
-
- @return Returns the result of adding Increment to Counter, modulus MaxVal,
- or -1 if Increment is larger than MaxVal.
-**/
-INT32
-EFIAPI
-ModuloAdd (
- UINT32 Counter,
- UINT32 Increment,
- UINT32 MaxVal
- );
-
-/** Increment Counter but don't increment past MaxVal.
-
- @param[in] Counter The value to be decremented.
- @param[in] MaxVal The upper bound for Counter. Counter < MaxVal.
-
- @return Returns the result of incrementing Counter.
-**/
-UINT32
-EFIAPI
-BoundIncrement(
- UINT32 Counter,
- UINT32 MaxVal
- );
-
-/** Decrement Counter but don't decrement past zero.
-
- @param[in] Counter The value to be decremented.
-
- @return Returns the result of decrementing Counter.
-**/
-UINT32
-EFIAPI
-BoundDecrement(
- UINT32 Counter
- );
-
-__END_DECLS
-#endif /* _MODULO_UTIL_H */
diff --git a/StdLib/Include/Efi/EfiSocketLib.h b/StdLib/Include/Efi/EfiSocketLib.h deleted file mode 100644 index 7618d02801..0000000000 --- a/StdLib/Include/Efi/EfiSocketLib.h +++ /dev/null @@ -1,752 +0,0 @@ -/** @file
- Definitions for the EFI Socket layer library.
-
- Copyright (c) 2011 - 2015, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#ifndef _EFI_SOCKET_LIB_H_
-#define _EFI_SOCKET_LIB_H_
-
-#include <Uefi.h>
-
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-
-#include <Protocol/EfiSocket.h>
-#include <Protocol/Ip4Config2.h>
-#include <Protocol/Ip6Config.h>
-#include <Protocol/ServiceBinding.h>
-#include <Protocol/Tcp4.h>
-#include <Protocol/Tcp6.h>
-#include <Protocol/Udp4.h>
-#include <Protocol/Udp6.h>
-
-#include <sys/time.h>
-
-//------------------------------------------------------------------------------
-// Constants
-//------------------------------------------------------------------------------
-
-#define DEBUG_TPL 0x40000000 ///< Display TPL change messages
-
-#define TPL_SOCKETS TPL_CALLBACK ///< TPL for routine synchronization
-
-//------------------------------------------------------------------------------
-// Macros
-//------------------------------------------------------------------------------
-
-#if defined(_MSC_VER) /* Handle Microsoft VC++ compiler specifics. */
-#define DBG_ENTER() DEBUG (( DEBUG_INFO, "Entering " __FUNCTION__ "\n" )) ///< Display routine entry
-#define DBG_EXIT() DEBUG (( DEBUG_INFO, "Exiting " __FUNCTION__ "\n" )) ///< Display routine exit
-#define DBG_EXIT_DEC(Status) DEBUG (( DEBUG_INFO, "Exiting " __FUNCTION__ ", Status: %d\n", Status )) ///< Display routine exit with decimal value
-#define DBG_EXIT_HEX(Status) DEBUG (( DEBUG_INFO, "Exiting " __FUNCTION__ ", Status: 0x%08x\n", Status )) ///< Display routine exit with hex value
-#define DBG_EXIT_STATUS(Status) DEBUG (( DEBUG_INFO, "Exiting " __FUNCTION__ ", Status: %r\n", Status )) ///< Display routine exit with status value
-#define DBG_EXIT_TF(Status) DEBUG (( DEBUG_INFO, "Exiting " __FUNCTION__ ", returning %s\n", (FALSE == Status) ? L"FALSE" : L"TRUE" )) ///< Display routine with TRUE/FALSE value
-#else // _MSC_VER
-#define DBG_ENTER() ///< Display routine entry
-#define DBG_EXIT() ///< Display routine exit
-#define DBG_EXIT_DEC(Status) ///< Display routine exit with decimal value
-#define DBG_EXIT_HEX(Status) ///< Display routine exit with hex value
-#define DBG_EXIT_STATUS(Status) ///< Display routine exit with status value
-#define DBG_EXIT_TF(Status) ///< Display routine with TRUE/FALSE value
-#endif // _MSC_VER
-
-#define DIM(x) ( sizeof ( x ) / sizeof ( x[0] )) ///< Compute the number of entries in an array
-
-/**
- Verify new TPL value
-
- This macro which is enabled when debug is enabled verifies that
- the new TPL value is >= the current TPL value.
-**/
-#ifdef VERIFY_TPL
-#undef VERIFY_TPL
-#endif // VERIFY_TPL
-
-#if !defined(MDEPKG_NDEBUG)
-
-/**
- Verify that the TPL is at the correct level
-**/
-#define VERIFY_AT_TPL(tpl) \
-{ \
- EFI_TPL PreviousTpl; \
- \
- PreviousTpl = EfiGetCurrentTpl ( ); \
- if ( PreviousTpl != tpl ) { \
- DEBUG (( DEBUG_ERROR | DEBUG_TPL, \
- "Current TPL: %d, New TPL: %d\r\n", \
- PreviousTpl, tpl )); \
- ASSERT ( PreviousTpl == tpl ); \
- } \
-}
-
-#define VERIFY_TPL(tpl) \
-{ \
- EFI_TPL PreviousTpl; \
- \
- PreviousTpl = EfiGetCurrentTpl ( ); \
- if ( PreviousTpl > tpl ) { \
- DEBUG (( DEBUG_ERROR | DEBUG_TPL, \
- "Current TPL: %d, New TPL: %d\r\n", \
- PreviousTpl, tpl )); \
- ASSERT ( PreviousTpl <= tpl ); \
- } \
-}
-
-#else // MDEPKG_NDEBUG
-
-#define VERIFY_AT_TPL(tpl) ///< Verify that the TPL is at the correct level
-#define VERIFY_TPL(tpl) ///< Verify that the TPL is at the correct level
-
-#endif // MDEPKG_NDEBUG
-
-/**
- Raise TPL to the specified level
-**/
-#define RAISE_TPL(PreviousTpl, tpl) \
- VERIFY_TPL ( tpl ); \
- PreviousTpl = gBS->RaiseTPL ( tpl );
-
-/**
- Restore the TPL to the previous value
-**/
-#define RESTORE_TPL(tpl) \
- gBS->RestoreTPL ( tpl )
-
-//------------------------------------------------------------------------------
-// Data Types
-//------------------------------------------------------------------------------
-
-typedef struct _ESL_SERVICE ESL_SERVICE; ///< Forward delcaration
-
-/**
- Protocol binding and installation control structure
-
- The driver uses this structure to simplify the driver binding processing.
-**/
-typedef struct {
- CHAR16 * pName; ///< Protocol name
- EFI_GUID * pNetworkBinding; ///< Network service binding protocol for socket support
- EFI_GUID * pNetworkProtocolGuid;///< Network protocol GUID
- CONST EFI_GUID * pTagGuid; ///< Tag to mark protocol in use
- UINTN ServiceListOffset; ///< Offset in ::ESL_LAYER for the list of services
- UINTN RxIo; ///< Number of receive ESL_IO_MGMT structures for data
- UINTN TxIoNormal; ///< Number of transmit ESL_IO_MGMT structures for normal data
- UINTN TxIoUrgent; ///< Number of transmit ESL_IO_MGMT structures for urgent data
-} ESL_SOCKET_BINDING;
-
-//------------------------------------------------------------------------------
-// GUIDs
-//------------------------------------------------------------------------------
-
-extern CONST EFI_GUID mEslIp4ServiceGuid; ///< Tag GUID for the IPv4 layer
-extern CONST EFI_GUID mEslIp6ServiceGuid; ///< Tag GUID for the IPv6 layer
-extern CONST EFI_GUID mEslTcp4ServiceGuid; ///< Tag GUID for the TCPv4 layer
-extern CONST EFI_GUID mEslTcp6ServiceGuid; ///< Tag GUID for the TCPv6 layer
-extern CONST EFI_GUID mEslUdp4ServiceGuid; ///< Tag GUID for the UDPv4 layer
-extern CONST EFI_GUID mEslUdp6ServiceGuid; ///< Tag GUID for the UDPv6 layer
-
-//------------------------------------------------------------------------------
-// Data
-//------------------------------------------------------------------------------
-
-extern CONST ESL_SOCKET_BINDING cEslSocketBinding[];///< List of network service bindings
-extern CONST UINTN cEslSocketBindingEntries; ///< Number of network service bindings
-
-//------------------------------------------------------------------------------
-// DXE Support Routines
-//------------------------------------------------------------------------------
-
-/**
- Creates a child handle and installs a protocol.
-
- When the socket application is linked against UseSocketDxe, the ::socket
- routine indirectly calls this routine in SocketDxe to create a child
- handle if necessary and install the socket protocol on the handle.
- Upon return, EslServiceGetProtocol in UseSocketLib returns the
- ::EFI_SOCKET_PROTOCOL address to the socket routine.
-
- @param [in] pThis Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
- @param [in] pChildHandle Pointer to the handle of the child to create. If it is NULL,
- then a new handle is created. If it is a pointer to an existing UEFI handle,
- then the protocol is added to the existing UEFI handle.
-
- @retval EFI_SUCCESS The protocol was added to ChildHandle.
- @retval EFI_INVALID_PARAMETER ChildHandle is NULL.
- @retval EFI_OUT_OF_RESOURCES There are not enough resources availabe to create
- the child
- @retval other The child handle was not created
-
-**/
-EFI_STATUS
-EFIAPI
-EslDxeCreateChild (
- IN EFI_SERVICE_BINDING_PROTOCOL * pThis,
- IN OUT EFI_HANDLE * pChildHandle
- );
-
-/**
- Destroys a child handle with a protocol installed on it.
-
- When the socket application is linked against UseSocketDxe, the ::close
- routine indirectly calls this routine in SocketDxe to undo the operations
- done by the ::EslDxeCreateChild routine. This routine removes the socket
- protocol from the handle and then destroys the child handle if there are
- no other protocols attached.
-
- @param [in] pThis Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
- @param [in] ChildHandle Handle of the child to destroy
-
- @retval EFI_SUCCESS The protocol was removed from ChildHandle.
- @retval EFI_UNSUPPORTED ChildHandle does not support the protocol that is being removed.
- @retval EFI_INVALID_PARAMETER Child handle is not a valid UEFI Handle.
- @retval EFI_ACCESS_DENIED The protocol could not be removed from the ChildHandle
- because its services are being used.
- @retval other The child handle was not destroyed
-
-**/
-EFI_STATUS
-EFIAPI
-EslDxeDestroyChild (
- IN EFI_SERVICE_BINDING_PROTOCOL * pThis,
- IN EFI_HANDLE ChildHandle
- );
-
-/**
-Install the socket service
-
-SocketDxe uses this routine to announce the socket interface to
-the rest of EFI.
-
-@param [in] pImageHandle Address of the image handle
-
-@retval EFI_SUCCESS Service installed successfully
-**/
-EFI_STATUS
-EFIAPI
-EslDxeInstall (
- IN EFI_HANDLE * pImageHandle
- );
-
-/**
-Uninstall the socket service
-
-SocketDxe uses this routine to notify EFI that the socket layer
-is no longer available.
-
-@param [in] ImageHandle Handle for the image.
-
-@retval EFI_SUCCESS Service installed successfully
-**/
-EFI_STATUS
-EFIAPI
-EslDxeUninstall (
- IN EFI_HANDLE ImageHandle
- );
-
-//------------------------------------------------------------------------------
-// Service Support Routines
-//------------------------------------------------------------------------------
-
-/**
- Connect to the network service bindings
-
- Walk the network service protocols on the controller handle and
- locate any that are not in use. Create ::ESL_SERVICE structures to
- manage the network layer interfaces for the socket driver. Tag
- each of the network interfaces that are being used. Finally, this
- routine calls ESL_SOCKET_BINDING::pfnInitialize to prepare the network
- interface for use by the socket layer.
-
- @param [in] BindingHandle Handle for protocol binding.
- @param [in] Controller Handle of device to work with.
-
- @retval EFI_SUCCESS This driver is added to Controller.
- @retval other This driver does not support this device.
-
-**/
-EFI_STATUS
-EFIAPI
-EslServiceConnect (
- IN EFI_HANDLE BindingHandle,
- IN EFI_HANDLE Controller
- );
-
-/**
- Shutdown the connections to the network layer by locating the
- tags on the network interfaces established by ::EslServiceConnect.
- This routine calls ESL_SOCKET_BINDING::pfnShutdown to shutdown the any
- activity on the network interface and then free the ::ESL_SERVICE
- structures.
-
- @param [in] BindingHandle Handle for protocol binding.
- @param [in] Controller Handle of device to stop driver on.
-
- @retval EFI_SUCCESS This driver is removed Controller.
- @retval EFI_DEVICE_ERROR The device could not be stopped due to a device error.
- @retval other This driver was not removed from this device.
-
-**/
-EFI_STATUS
-EFIAPI
-EslServiceDisconnect (
- IN EFI_HANDLE BindingHandle,
- IN EFI_HANDLE Controller
- );
-
-/**
-Initialize the service layer
-
-@param [in] ImageHandle Handle for the image.
-
-**/
-VOID
-EFIAPI
-EslServiceLoad (
- IN EFI_HANDLE ImageHandle
- );
-
-/**
- Shutdown the service layer
-
-**/
-VOID
-EFIAPI
-EslServiceUnload (
- VOID
- );
-
-//------------------------------------------------------------------------------
-// Socket Protocol Routines
-//------------------------------------------------------------------------------
-
-/**
- Bind a name to a socket.
-
- This routine calls the network specific layer to save the network
- address of the local connection point.
-
- The ::bind routine calls this routine to connect a name
- (network address and port) to a socket on the local machine.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] pSockAddr Address of a sockaddr structure that contains the
- connection point on the local machine. An IPv4 address
- of INADDR_ANY specifies that the connection is made to
- all of the network stacks on the platform. Specifying a
- specific IPv4 address restricts the connection to the
- network stack supporting that address. Specifying zero
- for the port causes the network layer to assign a port
- number from the dynamic range. Specifying a specific
- port number causes the network layer to use that port.
-
- @param [in] SockAddrLength Specifies the length in bytes of the sockaddr structure.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully created
-
- **/
-EFI_STATUS
-EslSocketBind (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN CONST struct sockaddr * pSockAddr,
- IN socklen_t SockAddrLength,
- OUT int * pErrno
- );
-
-/**
- Determine if the socket is closed
-
- This routine checks the state of the socket to determine if
- the network specific layer has completed the close operation.
-
- The ::close routine polls this routine to determine when the
- close operation is complete. The close operation needs to
- reverse the operations of the ::EslSocketAllocate routine.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS Socket successfully closed
- @retval EFI_NOT_READY Close still in progress
- @retval EFI_ALREADY Close operation already in progress
- @retval Other Failed to close the socket
-
-**/
-EFI_STATUS
-EslSocketClosePoll (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int * pErrno
- );
-
-/**
- Start the close operation on the socket
-
- This routine calls the network specific layer to initiate the
- close state machine. This routine then calls the network
- specific layer to determine if the close state machine has gone
- to completion. The result from this poll is returned to the
- caller.
-
- The ::close routine calls this routine to start the close
- operation which reverses the operations of the
- ::EslSocketAllocate routine. The close routine then polls
- the ::EslSocketClosePoll routine to determine when the
- socket is closed.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
- @param [in] bCloseNow Boolean to control close behavior
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS Socket successfully closed
- @retval EFI_NOT_READY Close still in progress
- @retval EFI_ALREADY Close operation already in progress
- @retval Other Failed to close the socket
-
-**/
-EFI_STATUS
-EslSocketCloseStart (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN BOOLEAN bCloseNow,
- IN int * pErrno
- );
-
-/**
- Connect to a remote system via the network.
-
- This routine calls the network specific layer to establish
- the remote system address and establish the connection to
- the remote system.
-
- The ::connect routine calls this routine to establish a
- connection with the specified remote system. This routine
- is designed to be polled by the connect routine for completion
- of the network connection.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] pSockAddr Network address of the remote system.
-
- @param [in] SockAddrLength Length in bytes of the network address.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS The connection was successfully established.
- @retval EFI_NOT_READY The connection is in progress, call this routine again.
- @retval Others The connection attempt failed.
-
- **/
-EFI_STATUS
-EslSocketConnect (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN const struct sockaddr * pSockAddr,
- IN socklen_t SockAddrLength,
- IN int * pErrno
- );
-
-/**
- Get the local address.
-
- This routine calls the network specific layer to get the network
- address of the local host connection point.
-
- The ::getsockname routine calls this routine to obtain the network
- address associated with the local host connection point.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [out] pAddress Network address to receive the local system address
-
- @param [in,out] pAddressLength Length of the local network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Local address successfully returned
-
- **/
-EFI_STATUS
-EslSocketGetLocalAddress (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Get the peer address.
-
- This routine calls the network specific layer to get the remote
- system connection point.
-
- The ::getpeername routine calls this routine to obtain the network
- address of the remote connection point.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [out] pAddress Network address to receive the remote system address
-
- @param [in,out] pAddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Remote address successfully returned
-
- **/
-EFI_STATUS
-EslSocketGetPeerAddress (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Establish the known port to listen for network connections.
-
- This routine calls into the network protocol layer to establish
- a handler that is called upon connection completion. The handler
- is responsible for inserting the connection into the FIFO.
-
- The ::listen routine indirectly calls this routine to place the
- socket into a state that enables connection attempts. Connections
- are placed in a FIFO that is serviced by the application. The
- application calls the ::accept (::EslSocketAccept) routine to
- remove the next connection from the FIFO and get the associated
- socket and address.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Backlog Backlog specifies the maximum FIFO depth for
- the connections waiting for the application
- to call accept. Connection attempts received
- while the queue is full are refused.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully created
- @retval Other - Failed to enable the socket for listen
-
-**/
-EFI_STATUS
-EslSocketListen (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN INT32 Backlog,
- OUT int * pErrno
- );
-
-/**
- Get the socket options
-
- This routine handles the socket level options and passes the
- others to the network specific layer.
-
- The ::getsockopt routine calls this routine to retrieve the
- socket options one at a time by name.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
- @param [in] level Option protocol level
- @param [in] OptionName Name of the option
- @param [out] pOptionValue Buffer to receive the option value
- @param [in,out] pOptionLength Length of the buffer in bytes,
- upon return length of the option value in bytes
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully received
-
- **/
-EFI_STATUS
-EslSocketOptionGet (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int level,
- IN int option_name,
- OUT void * __restrict option_value,
- IN OUT socklen_t * __restrict option_len,
- IN int * pErrno
- );
-
-/**
- Set the socket options
-
- This routine handles the socket level options and passes the
- others to the network specific layer.
-
- The ::setsockopt routine calls this routine to adjust the socket
- options one at a time by name.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
- @param [in] level Option protocol level
- @param [in] OptionName Name of the option
- @param [in] pOptionValue Buffer containing the option value
- @param [in] OptionLength Length of the buffer in bytes
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Option successfully set
-
- **/
-EFI_STATUS
-EslSocketOptionSet (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int level,
- IN int option_name,
- IN CONST void * option_value,
- IN socklen_t option_len,
- IN int * pErrno
- );
-
-/**
- Poll a socket for pending activity.
-
- This routine builds a detected event mask which is returned to
- the caller in the buffer provided.
-
- The ::poll routine calls this routine to determine if the socket
- needs to be serviced as a result of connection, error, receive or
- transmit activity.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Events Events of interest for this socket
-
- @param [in] pEvents Address to receive the detected events
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully polled
- @retval EFI_INVALID_PARAMETER - When pEvents is NULL
-
- **/
-EFI_STATUS
-EslSocketPoll (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN short Events,
- IN short * pEvents,
- IN int * pErrno
- );
-
-/**
- Receive data from a network connection.
-
- This routine calls the network specific routine to remove the
- next portion of data from the receive queue and return it to the
- caller.
-
- The ::recvfrom routine calls this routine to determine if any data
- is received from the remote system. Note that the other routines
- ::recv and ::read are layered on top of ::recvfrom.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Flags Message control flags
-
- @param [in] BufferLength Length of the the buffer
-
- @param [in] pBuffer Address of a buffer to receive the data.
-
- @param [in] pDataLength Number of received data bytes in the buffer.
-
- @param [out] pAddress Network address to receive the remote system address
-
- @param [in,out] pAddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully received
-
- **/
-EFI_STATUS
-EslSocketReceive (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN INT32 Flags,
- IN size_t BufferLength,
- IN UINT8 * pBuffer,
- OUT size_t * pDataLength,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Shutdown the socket receive and transmit operations
-
- This routine sets a flag to stop future transmissions and calls
- the network specific layer to cancel the pending receive operation.
-
- The ::shutdown routine calls this routine to stop receive and transmit
- operations on the socket.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] How Which operations to stop
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket operations successfully shutdown
-
- **/
-EFI_STATUS
-EslSocketShutdown (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int How,
- IN int * pErrno
- );
-
-/**
- Send data using a network connection.
-
- This routine calls the network specific layer to queue the data
- for transmission. Eventually the buffer will reach the head of
- the queue and will get transmitted over the network. For datagram
- sockets there is no guarantee that the data reaches the application
- running on the remote system.
-
- The ::sendto routine calls this routine to send data to the remote
- system. Note that ::send and ::write are layered on top of ::sendto.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Flags Message control flags
-
- @param [in] BufferLength Length of the the buffer
-
- @param [in] pBuffer Address of a buffer containing the data to send
-
- @param [in] pDataLength Address to receive the number of data bytes sent
-
- @param [in] pAddress Network address of the remote system address
-
- @param [in] AddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully queued for transmit
-
- **/
-EFI_STATUS
-EslSocketTransmit (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int Flags,
- IN size_t BufferLength,
- IN CONST UINT8 * pBuffer,
- OUT size_t * pDataLength,
- IN const struct sockaddr * pAddress,
- IN socklen_t AddressLength,
- IN int * pErrno
- );
-
-//------------------------------------------------------------------------------
-
-#endif // _EFI_SOCKET_LIB_H_
diff --git a/StdLib/Include/Ia32/machine/_math.h b/StdLib/Include/Ia32/machine/_math.h deleted file mode 100644 index 67cf98c30d..0000000000 --- a/StdLib/Include/Ia32/machine/_math.h +++ /dev/null @@ -1,18 +0,0 @@ -/**
-
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_MATH_H
-#define _MACHINE_MATH_H
-
-//#define __HUGE_VAL ???????????.?????????????
-
-#endif /* _MACHINE_MATH_H */
diff --git a/StdLib/Include/Ia32/machine/ansi.h b/StdLib/Include/Ia32/machine/ansi.h deleted file mode 100644 index 6ef0a740ca..0000000000 --- a/StdLib/Include/Ia32/machine/ansi.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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.
- *
- * @(#)ansi.h 8.2 (Berkeley) 1/4/94
- NetBSD: ansi.h,v 1.19 2006/10/04 13:52:00 tnozaki Exp
- */
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
- * #undef _BSD_SIZE_T_
- * #endif
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) 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 _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_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 struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/Ia32/machine/asm.h b/StdLib/Include/Ia32/machine/asm.h deleted file mode 100644 index 3d8f11f16c..0000000000 --- a/StdLib/Include/Ia32/machine/asm.h +++ /dev/null @@ -1,208 +0,0 @@ -/* $NetBSD: asm.h,v 1.30 2006/01/20 22:02:40 christos Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * @(#)asm.h 5.5 (Berkeley) 5/7/91
- */
-
-#ifndef _I386_ASM_H_
-#define _I386_ASM_H_
-
-#ifdef _KERNEL_OPT
-#include "opt_multiprocessor.h"
-#endif
-
-#ifdef PIC
-#define PIC_PROLOGUE \
- pushl %ebx; \
- call 1f; \
-1: \
- popl %ebx; \
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
-#define PIC_EPILOGUE \
- popl %ebx
-#define PIC_PLT(x) x@PLT
-#define PIC_GOT(x) x@GOT(%ebx)
-#define PIC_GOTOFF(x) x@GOTOFF(%ebx)
-#else
-#define PIC_PROLOGUE
-#define PIC_EPILOGUE
-#define PIC_PLT(x) x
-#define PIC_GOT(x) x
-#define PIC_GOTOFF(x) x
-#endif
-
-#ifdef __ELF__
-# define _C_LABEL(x) x
-#else
-# ifdef __STDC__
-# define _C_LABEL(x) _ ## x
-# else
-# define _C_LABEL(x) _/**/x
-# endif
-#endif
-#define _ASM_LABEL(x) x
-
-#define CVAROFF(x, y) _C_LABEL(x) + y
-
-#ifdef __STDC__
-# define __CONCAT(x,y) x ## y
-# define __STRING(x) #x
-#else
-# define __CONCAT(x,y) x/**/y
-# define __STRING(x) "x"
-#endif
-
-/* let kernels and others override entrypoint alignment */
-#if !defined(_ALIGN_TEXT) && !defined(_KERNEL)
-# ifdef __ELF__
-# define _ALIGN_TEXT .align 4
-# else
-# define _ALIGN_TEXT .align 2
-# endif
-#endif
-
-#define _ENTRY(x) \
- .text; _ALIGN_TEXT; .globl x; .type x,@function; x:
-
-#ifdef _KERNEL
-
-#if defined(MULTIPROCESSOR)
-#define CPUVAR(off) %fs:__CONCAT(CPU_INFO_,off)
-#else
-#define CPUVAR(off) _C_LABEL(cpu_info_primary)+__CONCAT(CPU_INFO_,off)
-#endif /* MULTIPROCESSOR */
-
-/* XXX Can't use __CONCAT() here, as it would be evaluated incorrectly. */
-#ifdef __ELF__
-#ifdef __STDC__
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl X ## name; .type X ## name,@function; X ## name:
-#else
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl X/**/name; .type X/**/name,@function; X/**/name:
-#endif /* __STDC__ */
-#else
-#ifdef __STDC__
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl _X ## name; .type _X ## name,@function; _X ## name:
-#else
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl _X/**/name; .type _X/**/name,@function; _X/**/name:
-#endif /* __STDC__ */
-#endif /* __ELF__ */
-
-#ifdef __ELF__
-#define ALIGN_DATA .align 4
-#define ALIGN_TEXT .align 4,0x90 /* 4-byte boundaries, NOP-filled */
-#define SUPERALIGN_TEXT .align 16,0x90 /* 16-byte boundaries better for 486 */
-#else
-#define ALIGN_DATA .align 2
-#define ALIGN_TEXT .align 2,0x90 /* 4-byte boundaries, NOP-filled */
-#define SUPERALIGN_TEXT .align 4,0x90 /* 16-byte boundaries better for 486 */
-#endif /* __ELF__ */
-
-#define _ALIGN_TEXT ALIGN_TEXT
-
-#ifdef GPROF
-#ifdef __ELF__
-#define MCOUNT_ASM call _C_LABEL(__mcount)
-#else /* __ELF__ */
-#define MCOUNT_ASM call _C_LABEL(mcount)
-#endif /* __ELF__ */
-#else /* GPROF */
-#define MCOUNT_ASM /* nothing */
-#endif /* GPROF */
-
-#endif /* _KERNEL */
-
-
-
-#ifdef GPROF
-# ifdef __ELF__
-# define _PROF_PROLOGUE \
- pushl %ebp; movl %esp,%ebp; call PIC_PLT(__mcount); popl %ebp
-# else
-# define _PROF_PROLOGUE \
- pushl %ebp; movl %esp,%ebp; call PIC_PLT(mcount); popl %ebp
-# endif
-#else
-# define _PROF_PROLOGUE
-#endif
-
-#define ENTRY(y) _ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
-#define NENTRY(y) _ENTRY(_C_LABEL(y))
-#define ASENTRY(y) _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
-
-#define ASMSTR .asciz
-
-#ifdef __ELF__
-#define RCSID(x) .section ".ident"; .asciz x
-#else
-#define RCSID(x) .text; .asciz x
-#endif
-
-#ifdef NO_KERNEL_RCSIDS
-#define __KERNEL_RCSID(_n, _s) /* nothing */
-#else
-#define __KERNEL_RCSID(_n, _s) RCSID(_s)
-#endif
-
-#ifdef __ELF__
-#define WEAK_ALIAS(alias,sym) \
- .weak alias; \
- alias = sym
-#endif
-/*
- * STRONG_ALIAS: create a strong alias.
- */
-#define STRONG_ALIAS(alias,sym) \
- .globl alias; \
- alias = sym
-
-#ifdef __STDC__
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg ## ,30,0,0,0 ; \
- .stabs __STRING(_C_LABEL(sym)) ## ,1,0,0,0
-#elif defined(__ELF__)
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(sym),1,0,0,0
-#else
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(_/**/sym),1,0,0,0
-#endif /* __STDC__ */
-
-
-
-#endif /* !_I386_ASM_H_ */
diff --git a/StdLib/Include/Ia32/machine/bswap.h b/StdLib/Include/Ia32/machine/bswap.h deleted file mode 100644 index 7016f7ca29..0000000000 --- a/StdLib/Include/Ia32/machine/bswap.h +++ /dev/null @@ -1,13 +0,0 @@ -/* $NetBSD: bswap.h,v 1.3 2006/01/31 07:49:18 dsl Exp $ */
-
-/* Written by Manuel Bouyer. Public domain */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <machine/byte_swap.h>
-
-#define __BSWAP_RENAME
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/Ia32/machine/byte_swap.h b/StdLib/Include/Ia32/machine/byte_swap.h deleted file mode 100644 index db16c97b2e..0000000000 --- a/StdLib/Include/Ia32/machine/byte_swap.h +++ /dev/null @@ -1,79 +0,0 @@ -/* $NetBSD: byte_swap.h,v 1.10 2006/01/30 22:46:36 dsl Exp $ */
-
-/*-
- * Copyright (c) 1998 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _I386_BYTE_SWAP_H_
-#define _I386_BYTE_SWAP_H_
-
-#include <sys/types.h>
-
-#if defined(_KERNEL_OPT)
-#include "opt_cputype.h"
-#endif
-
-#ifdef __GNUC__
-#include <sys/types.h>
-__BEGIN_DECLS
-
-#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
-static __inline uint32_t __byte_swap_u32_variable(uint32_t);
-static __inline uint32_t
-__byte_swap_u32_variable(uint32_t x)
-{
- __asm volatile (
-#if defined(_KERNEL) && !defined(_LKM) && !defined(I386_CPU)
- "bswap %1"
-#else
- "rorw $8, %w1\n\trorl $16, %1\n\trorw $8, %w1"
-#endif
- : "=r" (x) : "0" (x));
- return (x);
-}
-
-#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
-static __inline uint16_t __byte_swap_u16_variable(uint16_t);
-static __inline uint16_t
-__byte_swap_u16_variable(uint16_t x)
-{
- __asm volatile ("rorw $8, %w1" : "=r" (x) : "0" (x));
- return (x);
-}
-
-__END_DECLS
-#endif
-
-#endif /* !_I386_BYTE_SWAP_H_ */
diff --git a/StdLib/Include/Ia32/machine/endian.h b/StdLib/Include/Ia32/machine/endian.h deleted file mode 100644 index 8c2cfd12a1..0000000000 --- a/StdLib/Include/Ia32/machine/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian.h,v 1.29 2000/03/17 00:09:20 mycroft Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/Ia32/machine/endian_machdep.h b/StdLib/Include/Ia32/machine/endian_machdep.h deleted file mode 100644 index 83947a5fe6..0000000000 --- a/StdLib/Include/Ia32/machine/endian_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian_machdep.h,v 1.3 2006/01/30 21:52:38 dsl Exp $ */
-
-#define _BYTE_ORDER _LITTLE_ENDIAN
diff --git a/StdLib/Include/Ia32/machine/float.h b/StdLib/Include/Ia32/machine/float.h deleted file mode 100644 index c7dc6203f8..0000000000 --- a/StdLib/Include/Ia32/machine/float.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: float.h,v 1.12 2003/02/26 21:29:00 fvdl Exp $ */
-
-#include <x86/float.h>
diff --git a/StdLib/Include/Ia32/machine/ieee.h b/StdLib/Include/Ia32/machine/ieee.h deleted file mode 100644 index 17a1d48d3a..0000000000 --- a/StdLib/Include/Ia32/machine/ieee.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: ieee.h,v 1.2 2003/02/26 21:29:01 fvdl Exp $ */
-
-#include <x86/ieee.h>
diff --git a/StdLib/Include/Ia32/machine/int_const.h b/StdLib/Include/Ia32/machine/int_const.h deleted file mode 100644 index c3a59d7237..0000000000 --- a/StdLib/Include/Ia32/machine/int_const.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $NetBSD: int_const.h,v 1.1 2001/04/14 22:38:38 kleink Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _I386_INT_CONST_H_
-#define _I386_INT_CONST_H_
-
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif /* !_I386_INT_CONST_H_ */
diff --git a/StdLib/Include/Ia32/machine/int_limits.h b/StdLib/Include/Ia32/machine/int_limits.h deleted file mode 100644 index b0aa9d5d7c..0000000000 --- a/StdLib/Include/Ia32/machine/int_limits.h +++ /dev/null @@ -1,141 +0,0 @@ -/** @file
- 7.18.2 Limits of specified-width integer types.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_limits.h,v 1.5 2004/05/22 14:16:59 kleink Exp
-**/
-#ifndef _I386_INT_LIMITS_H_
-#define _I386_INT_LIMITS_H_
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN ((-0x7f)-1) /* int8_t */
-#define INT16_MIN ((-0x7fff)-1) /* int16_t */
-#define INT32_MIN ((-0x7fffffff)-1) /* int32_t */
-#define INT64_MIN ((-0x7fffffffffffffffLL)-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xffU /* uint8_t */
-#define UINT16_MAX 0xffffU /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN ((-0x7f)-1) /* int_least8_t */
-#define INT_LEAST16_MIN ((-0x7fff)-1) /* int_least16_t */
-#define INT_LEAST32_MIN ((-0x7fffffff)-1) /* int_least32_t */
-#define INT_LEAST64_MIN ((-0x7fffffffffffffffLL)-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xffU /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffffU /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN ((-0x7f)-1) /* int_fast8_t */
-#define INT_FAST16_MIN ((-0x7fffffff)-1) /* int_fast16_t */
-#define INT_FAST32_MIN ((-0x7fffffff)-1) /* int_fast32_t */
-#define INT_FAST64_MIN ((-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7f /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN ((-0x7fffffff)-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffff /* intptr_t */
-#define UINTPTR_MAX 0xffffffffU /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN ((-0x7fffffffffffffffLL)-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN ((-0x7fffffff)-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffff /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN ((-0x7fffffff)-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffU /* size_t */
-#define SIZE_T_MAX SIZE_MAX
-
-#endif /* !_I386_INT_LIMITS_H_ */
diff --git a/StdLib/Include/Ia32/machine/int_mwgwtypes.h b/StdLib/Include/Ia32/machine/int_mwgwtypes.h deleted file mode 100644 index 5e28108f8e..0000000000 --- a/StdLib/Include/Ia32/machine/int_mwgwtypes.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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 NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp
-**/
-#ifndef _AMD64_INT_MWGWTYPES_H_
-#define _AMD64_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_AMD64_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/Ia32/machine/int_types.h b/StdLib/Include/Ia32/machine/int_types.h deleted file mode 100644 index d04d8c0e4c..0000000000 --- a/StdLib/Include/Ia32/machine/int_types.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $NetBSD: int_types.h,v 1.10 2005/12/24 20:07:10 perry Exp $ */
-
-/*-
- * Copyright (c) 1990 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.
- *
- * from: @(#)types.h 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _I386_INT_TYPES_H_
-#define _I386_INT_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef INT8 __int8_t;
-typedef UINT8 __uint8_t;
-typedef INT16 __int16_t;
-typedef UINT16 __uint16_t;
-typedef INT32 __int32_t;
-typedef UINT32 __uint32_t;
-typedef INT64 __int64_t;
-typedef UINT64 __uint64_t;
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-typedef INTN __intptr_t;
-typedef UINTN __uintptr_t;
-
-#endif /* !_I386_INT_TYPES_H_ */
diff --git a/StdLib/Include/Ia32/machine/limits.h b/StdLib/Include/Ia32/machine/limits.h deleted file mode 100644 index cc42e0f4c0..0000000000 --- a/StdLib/Include/Ia32/machine/limits.h +++ /dev/null @@ -1,33 +0,0 @@ -/** @file
- This header <machine/limits.h> defines several macros that expand to various
- CPU-architecture-specific limits and parameters of the standard integer types.
-
- The values given below are constant expressions suitable for use
- in #if preprocessing directives.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#include <x86/limits.h>
-
-/** Number of bits making up a pointer. **/
-#define __POINTER_BIT 32
-
-/** Number of bits comprising an object of type long int. **/
-#define __LONG_BIT 32
-
-/** Minimum value for an object of type long int. **/
-#define __LONG_MIN (-2147483647L - 1L) // -(2^31 - 1)
-
-/** Maximum value for an object of type long int. **/
-#define __LONG_MAX 2147483647L // 2^31 - 1
-
-/** Maximum value for an object of type unsigned long int. **/
-#define __ULONG_MAX 0xffffffffUL // 2^32 - 1
-
diff --git a/StdLib/Include/Ia32/machine/math.h b/StdLib/Include/Ia32/machine/math.h deleted file mode 100644 index a53422933c..0000000000 --- a/StdLib/Include/Ia32/machine/math.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: math.h,v 1.3 2005/12/11 12:16:25 christos Exp $ */
-
-#include <x86/math.h>
diff --git a/StdLib/Include/Ia32/machine/param.h b/StdLib/Include/Ia32/machine/param.h deleted file mode 100644 index 9b57a32afd..0000000000 --- a/StdLib/Include/Ia32/machine/param.h +++ /dev/null @@ -1,148 +0,0 @@ -/** @file
- Machine dependent constants for Intel IA32 Architecture.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * @(#)param.h 5.8 (Berkeley) 6/28/91
- * $NetBSD: param.h,v 1.61 2006/08/28 13:43:35 yamt Exp
- */
-#ifndef _I386_PARAM_H_
-#define _I386_PARAM_H_
-
-#define _MACHINE i386
-#define MACHINE "i386"
-#define _MACHINE_ARCH i386
-#define MACHINE_ARCH "i386"
-#define MID_MACHINE MID_I386
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int 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(int) - 1)
-#define ALIGN(p) (((EFI_ULONG_T)(p) + ALIGNBYTES) & ~ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) 1
-
-#define PGSHIFT 12 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-#ifndef MAXPHYS
- #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
-#endif
-
-#define SSIZE 1 /* initial stack size/NBPG */
-#define SINCR 1 /* increment of stack/NBPG */
-
-#ifndef UPAGES
- #ifdef NOREDZONE
- #define UPAGES 2 /* pages of u-area */
- #else
- #define UPAGES 3
- #endif /*NOREDZONE */
-#endif /* !defined(UPAGES) */
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
-
-#ifndef MSGBUFSIZE
- #define MSGBUFSIZE 4*NBPG /* default message buffer size */
-#endif
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (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 */
-
-#ifndef MCLSHIFT
- #define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifndef NMBCLUSTERS
- #ifdef GATEWAY
- #define NMBCLUSTERS 2048 /* map size, max cluster allocation */
- #else
- #define NMBCLUSTERS 1024 /* map size, max cluster allocation */
- #endif
-#endif
-
-#ifndef NFS_RSIZE
- #define NFS_RSIZE 32768
-#endif
-#ifndef NFS_WSIZE
- #define NFS_WSIZE 32768
-#endif
-
-/*
- * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
- * logical pages.
- */
-#define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
-#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
-
-/*
- * Mach derived conversion macros
- */
-#define x86_round_pdr(x) ((((EFI_ULONG_T)(x)) + PDOFSET) & ~PDOFSET)
-#define x86_trunc_pdr(x) ((EFI_ULONG_T)(x) & ~PDOFSET)
-#define x86_btod(x) ((EFI_ULONG_T)(x) >> PDSHIFT)
-#define x86_dtob(x) ((EFI_ULONG_T)(x) << PDSHIFT)
-#define x86_round_page(x) ((((EFI_ULONG_T)(x)) + PGOFSET) & ~PGOFSET)
-#define x86_trunc_page(x) ((EFI_ULONG_T)(x) & ~PGOFSET)
-#define x86_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
-#define x86_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
-
-#endif /* _I386_PARAM_H_ */
diff --git a/StdLib/Include/Ia32/machine/signal.h b/StdLib/Include/Ia32/machine/signal.h deleted file mode 100644 index 235797f4c1..0000000000 --- a/StdLib/Include/Ia32/machine/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/** @file
- Machine (processor architecture) specific portion of <signal.h>.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the type of an object that can be accessed as an
- atomic entity, even in the presence of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/Ia32/machine/types.h b/StdLib/Include/Ia32/machine/types.h deleted file mode 100644 index 35c49bef06..0000000000 --- a/StdLib/Include/Ia32/machine/types.h +++ /dev/null @@ -1,81 +0,0 @@ -/** @file
- Machine dependent type definitions.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990 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 7.5 (Berkeley) 3/9/91
- NetBSD: types.h,v 1.49 2006/09/03 13:51:23 bjh21 Exp
-**/
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-
-/* Handle the long and unsigned long data types which EFI doesn't directly support. */
-//typedef INTN LONGN;
-//typedef UINTN ULONGN;
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INT32 pmc_evid_t;
-typedef UINT64 pmc_ctr_t;
-typedef INT32 register_t;
-
-typedef volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-/* The x86 does not have strict alignment requirements. */
-#define __NO_STRICT_ALIGNMENT
-
-#define __HAVE_DEVICE_REGISTER
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_OLD_DISKLABEL
-#define __HAVE_GENERIC_SOFT_INTERRUPTS
-#define __HAVE_CPU_MAXPROC
-#define __HAVE_TIMECOUNTER
-#define __HAVE_GENERIC_TODR
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/Ipf/machine/_regset.h b/StdLib/Include/Ipf/machine/_regset.h deleted file mode 100644 index 82e4b91070..0000000000 --- a/StdLib/Include/Ipf/machine/_regset.h +++ /dev/null @@ -1,277 +0,0 @@ -/* $NetBSD: _regset.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2002, 2003 Marcel Moolenaar
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_REGSET_H_
-#define _MACHINE_REGSET_H_
-
-/*
- * Create register sets, based on the runtime specification. This allows
- * us to better reuse code and to copy sets around more efficiently.
- * Contexts are defined in terms of these sets. These include trapframe,
- * sigframe, pcb, mcontext, reg and fpreg. Other candidates are unwind
- * and coredump related contexts.
- *
- * Notes:
- * o Constant registers (r0, f0 and f1) are not accounted for,
- * o The stacked registers (r32-r127) are not accounted for,
- * o Predicates are not split across sets.
- */
-
-/* A single FP register. */
-union _ia64_fpreg {
- unsigned char fpr_bits[16];
- long double fpr_flt;
-};
-
-/*
- * Special registers.
- */
-struct _special {
- unsigned long sp;
- unsigned long unat; /* NaT before spilling */
- unsigned long rp;
- unsigned long pr;
- unsigned long pfs;
- unsigned long bspstore;
- unsigned long rnat;
- unsigned long __spare;
- /* Userland context and syscalls */
- unsigned long tp;
- unsigned long rsc;
- unsigned long fpsr;
- unsigned long psr;
- /* ASYNC: Interrupt specific */
- unsigned long gp;
- unsigned long ndirty;
- unsigned long cfm;
- unsigned long iip;
- unsigned long ifa;
- unsigned long isr;
-};
-
-struct _high_fp {
- union _ia64_fpreg fr32;
- union _ia64_fpreg fr33;
- union _ia64_fpreg fr34;
- union _ia64_fpreg fr35;
- union _ia64_fpreg fr36;
- union _ia64_fpreg fr37;
- union _ia64_fpreg fr38;
- union _ia64_fpreg fr39;
- union _ia64_fpreg fr40;
- union _ia64_fpreg fr41;
- union _ia64_fpreg fr42;
- union _ia64_fpreg fr43;
- union _ia64_fpreg fr44;
- union _ia64_fpreg fr45;
- union _ia64_fpreg fr46;
- union _ia64_fpreg fr47;
- union _ia64_fpreg fr48;
- union _ia64_fpreg fr49;
- union _ia64_fpreg fr50;
- union _ia64_fpreg fr51;
- union _ia64_fpreg fr52;
- union _ia64_fpreg fr53;
- union _ia64_fpreg fr54;
- union _ia64_fpreg fr55;
- union _ia64_fpreg fr56;
- union _ia64_fpreg fr57;
- union _ia64_fpreg fr58;
- union _ia64_fpreg fr59;
- union _ia64_fpreg fr60;
- union _ia64_fpreg fr61;
- union _ia64_fpreg fr62;
- union _ia64_fpreg fr63;
- union _ia64_fpreg fr64;
- union _ia64_fpreg fr65;
- union _ia64_fpreg fr66;
- union _ia64_fpreg fr67;
- union _ia64_fpreg fr68;
- union _ia64_fpreg fr69;
- union _ia64_fpreg fr70;
- union _ia64_fpreg fr71;
- union _ia64_fpreg fr72;
- union _ia64_fpreg fr73;
- union _ia64_fpreg fr74;
- union _ia64_fpreg fr75;
- union _ia64_fpreg fr76;
- union _ia64_fpreg fr77;
- union _ia64_fpreg fr78;
- union _ia64_fpreg fr79;
- union _ia64_fpreg fr80;
- union _ia64_fpreg fr81;
- union _ia64_fpreg fr82;
- union _ia64_fpreg fr83;
- union _ia64_fpreg fr84;
- union _ia64_fpreg fr85;
- union _ia64_fpreg fr86;
- union _ia64_fpreg fr87;
- union _ia64_fpreg fr88;
- union _ia64_fpreg fr89;
- union _ia64_fpreg fr90;
- union _ia64_fpreg fr91;
- union _ia64_fpreg fr92;
- union _ia64_fpreg fr93;
- union _ia64_fpreg fr94;
- union _ia64_fpreg fr95;
- union _ia64_fpreg fr96;
- union _ia64_fpreg fr97;
- union _ia64_fpreg fr98;
- union _ia64_fpreg fr99;
- union _ia64_fpreg fr100;
- union _ia64_fpreg fr101;
- union _ia64_fpreg fr102;
- union _ia64_fpreg fr103;
- union _ia64_fpreg fr104;
- union _ia64_fpreg fr105;
- union _ia64_fpreg fr106;
- union _ia64_fpreg fr107;
- union _ia64_fpreg fr108;
- union _ia64_fpreg fr109;
- union _ia64_fpreg fr110;
- union _ia64_fpreg fr111;
- union _ia64_fpreg fr112;
- union _ia64_fpreg fr113;
- union _ia64_fpreg fr114;
- union _ia64_fpreg fr115;
- union _ia64_fpreg fr116;
- union _ia64_fpreg fr117;
- union _ia64_fpreg fr118;
- union _ia64_fpreg fr119;
- union _ia64_fpreg fr120;
- union _ia64_fpreg fr121;
- union _ia64_fpreg fr122;
- union _ia64_fpreg fr123;
- union _ia64_fpreg fr124;
- union _ia64_fpreg fr125;
- union _ia64_fpreg fr126;
- union _ia64_fpreg fr127;
-};
-
-/*
- * Preserved registers.
- */
-struct _callee_saved {
- unsigned long unat; /* NaT after spilling. */
- unsigned long gr4;
- unsigned long gr5;
- unsigned long gr6;
- unsigned long gr7;
- unsigned long br1;
- unsigned long br2;
- unsigned long br3;
- unsigned long br4;
- unsigned long br5;
- unsigned long lc;
- unsigned long __spare;
-};
-
-struct _callee_saved_fp {
- union _ia64_fpreg fr2;
- union _ia64_fpreg fr3;
- union _ia64_fpreg fr4;
- union _ia64_fpreg fr5;
- union _ia64_fpreg fr16;
- union _ia64_fpreg fr17;
- union _ia64_fpreg fr18;
- union _ia64_fpreg fr19;
- union _ia64_fpreg fr20;
- union _ia64_fpreg fr21;
- union _ia64_fpreg fr22;
- union _ia64_fpreg fr23;
- union _ia64_fpreg fr24;
- union _ia64_fpreg fr25;
- union _ia64_fpreg fr26;
- union _ia64_fpreg fr27;
- union _ia64_fpreg fr28;
- union _ia64_fpreg fr29;
- union _ia64_fpreg fr30;
- union _ia64_fpreg fr31;
-};
-
-/*
- * Scratch registers.
- */
-struct _caller_saved {
- unsigned long unat; /* NaT after spilling. */
- unsigned long gr2;
- unsigned long gr3;
- unsigned long gr8;
- unsigned long gr9;
- unsigned long gr10;
- unsigned long gr11;
- unsigned long gr14;
- unsigned long gr15;
- unsigned long gr16;
- unsigned long gr17;
- unsigned long gr18;
- unsigned long gr19;
- unsigned long gr20;
- unsigned long gr21;
- unsigned long gr22;
- unsigned long gr23;
- unsigned long gr24;
- unsigned long gr25;
- unsigned long gr26;
- unsigned long gr27;
- unsigned long gr28;
- unsigned long gr29;
- unsigned long gr30;
- unsigned long gr31;
- unsigned long br6;
- unsigned long br7;
- unsigned long ccv;
- unsigned long csd;
- unsigned long ssd;
-};
-
-struct _caller_saved_fp {
- union _ia64_fpreg fr6;
- union _ia64_fpreg fr7;
- union _ia64_fpreg fr8;
- union _ia64_fpreg fr9;
- union _ia64_fpreg fr10;
- union _ia64_fpreg fr11;
- union _ia64_fpreg fr12;
- union _ia64_fpreg fr13;
- union _ia64_fpreg fr14;
- union _ia64_fpreg fr15;
-};
-
-#ifdef _KERNEL
-void restore_callee_saved(const struct _callee_saved *);
-void restore_callee_saved_fp(const struct _callee_saved_fp *);
-void restore_high_fp(const struct _high_fp *);
-void save_callee_saved(struct _callee_saved *);
-void save_callee_saved_fp(struct _callee_saved_fp *);
-void save_high_fp(struct _high_fp *);
-#endif
-
-#endif /* _MACHINE_REGSET_H_ */
diff --git a/StdLib/Include/Ipf/machine/acpi_func.h b/StdLib/Include/Ipf/machine/acpi_func.h deleted file mode 100644 index 000fbbd9ac..0000000000 --- a/StdLib/Include/Ipf/machine/acpi_func.h +++ /dev/null @@ -1,107 +0,0 @@ -/* $NetBSD: acpi_func.h,v 1.2 2006/05/14 21:55:38 elad Exp $ */
-
-/*-
- * Copyright (c) 2002 Mitsuru IWASAKI
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD: src/sys/ia64/include/acpica_machdep.h,v 1.4 2004/10/11 05:39:15 njl Exp $
- */
-
-/******************************************************************************
- *
- * Name: acpica_machdep.h - arch-specific defines, etc.
- * $Revision: 1.2 $
- *
- *****************************************************************************/
-
-#ifndef _IA64_ACPI_FUNC_H_
-#define _IA64_ACPI_FUNC_H_
-
-#include <machine/cpufunc.h>
-#include <machine/atomic.h>
-
-/* Asm macros */
-
-#define ACPI_ASM_MACROS
-#define BREAKPOINT3
-#define ACPI_DISABLE_IRQS() disable_intr()
-#define ACPI_ENABLE_IRQS() enable_intr()
-
-#define ACPI_FLUSH_CPU_CACHE() /* XXX ia64_fc()? */
-
-
-/* Section 5.2.9.1: global lock acquire/release functions */
-extern int acpi_acquire_global_lock(uint32_t *lock);
-extern int acpi_release_global_lock(uint32_t *lock);
-#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \
- ((Acq) = acpi_acquire_global_lock(GLptr))
-#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) \
- ((Acq) = acpi_release_global_lock(GLptr))
-
-
-/* Section 5.2.9.1: global lock acquire/release functions */
-#define GL_ACQUIRED (-1)
-#define GL_BUSY 0
-#define GL_BIT_PENDING 0x1
-#define GL_BIT_OWNED 0x2
-#define GL_BIT_MASK (GL_BIT_PENDING | GL_BIT_OWNED)
-
-/*
- * Acquire the global lock. If busy, set the pending bit. The caller
- * will wait for notification from the BIOS that the lock is available
- * and then attempt to acquire it again.
- */
-int
-acpi_acquire_global_lock(uint32_t *lock)
-{
- uint32_t new, old;
-
- do {
- old = *lock;
- new = ((old & ~GL_BIT_MASK) | GL_BIT_OWNED) |
- ((old >> 1) & GL_BIT_PENDING);
- } while (atomic_cmpset_acq_int(lock, old, new) == 0);
-
- return ((new < GL_BIT_MASK) ? GL_ACQUIRED : GL_BUSY);
-}
-
-/*
- * Release the global lock, returning whether there is a waiter pending.
- * If the BIOS set the pending bit, OSPM must notify the BIOS when it
- * releases the lock.
- */
-int
-acpi_release_global_lock(uint32_t *lock)
-{
- uint32_t new, old;
-
- do {
- old = *lock;
- new = old & ~GL_BIT_MASK;
- } while (atomic_cmpset_rel_int(lock, old, new) == 0);
-
- return (old & GL_BIT_PENDING);
-}
-
-#endif /* _IA64_ACPI_FUNC_H_ */
diff --git a/StdLib/Include/Ipf/machine/acpi_machdep.h b/StdLib/Include/Ipf/machine/acpi_machdep.h deleted file mode 100644 index a2903519a5..0000000000 --- a/StdLib/Include/Ipf/machine/acpi_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: acpi_machdep.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-
diff --git a/StdLib/Include/Ipf/machine/acpica_machdep.h b/StdLib/Include/Ipf/machine/acpica_machdep.h deleted file mode 100644 index 71156b1ede..0000000000 --- a/StdLib/Include/Ipf/machine/acpica_machdep.h +++ /dev/null @@ -1 +0,0 @@ -/* $NetBSD: acpica_machdep.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
diff --git a/StdLib/Include/Ipf/machine/ansi.h b/StdLib/Include/Ipf/machine/ansi.h deleted file mode 100644 index bab41b040c..0000000000 --- a/StdLib/Include/Ipf/machine/ansi.h +++ /dev/null @@ -1,107 +0,0 @@ -/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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.
- *
- * @(#)ansi.h 8.2 (Berkeley) 1/4/94
- NetBSD: ansi.h,v 1.3 2006/10/04 13:52:00 tnozaki Exp
- */
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _SIZE_T_
- * typedef _SIZE_T_ size_t;
- * #undef _SIZE_T_
- * #endif
- *
- * Thanks, ANSI!
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) 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 _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_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 struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/Ipf/machine/aout_machdep.h b/StdLib/Include/Ipf/machine/aout_machdep.h deleted file mode 100644 index 7c6f3d3652..0000000000 --- a/StdLib/Include/Ipf/machine/aout_machdep.h +++ /dev/null @@ -1,36 +0,0 @@ -/* $NetBSD: aout_machdep.h,v 1.2 2006/07/03 17:01:45 cherry Exp $ */
-
-/*-
- * Copyright (c) 1992, 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.
- *
- * @(#)exec.h 8.1 (Berkeley) 6/10/93
- */
-
-#define AOUT_LDPGSZ 16384
-
-
diff --git a/StdLib/Include/Ipf/machine/asm.h b/StdLib/Include/Ipf/machine/asm.h deleted file mode 100644 index 2022b888f4..0000000000 --- a/StdLib/Include/Ipf/machine/asm.h +++ /dev/null @@ -1,185 +0,0 @@ -/* $NetBSD: asm.h,v 1.4 2006/08/30 11:14:23 cherry Exp $ */
-
-/* -
- * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University
- * All Rights Reserved.
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
- * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie Mellon
- * the rights to redistribute these changes.
- */
-
-/*
- * Assembly coding style
- *
- * This file contains macros and register defines to
- * aid in writing more readable assembly code.
- * Some rules to make assembly code understandable by
- * a debugger are also noted.
- */
-
-/*
- * Macro to make a local label name.
- */
-#define LLABEL(name,num) L ## name ## num
-
-/*
- * MCOUNT
- */
-#if defined(GPROF)
-#define MCOUNT \
- alloc out0 = ar.pfs, 8, 0, 4, 0; \
- mov out1 = r1; \
- mov out2 = b0;; \
- mov out3 = r0; \
- br.call.sptk b0 = _mcount;;
-#else
-#define MCOUNT /* nothing */
-#endif
-
-/*
- * ENTRY
- * Declare a global leaf function.
- * A leaf function does not call other functions.
- */
-#define ENTRY(_name_, _n_args_) \
- .global _name_; \
- .align 16; \
- .proc _name_; \
-_name_:; \
- .regstk _n_args_, 0, 0, 0; \
- MCOUNT
-
-#define ENTRY_NOPROFILE(_name_, _n_args_) \
- .global _name_; \
- .align 16; \
- .proc _name_; \
-_name_:; \
- .regstk _n_args_, 0, 0, 0
-
-/*
- * STATIC_ENTRY
- * Declare a local leaf function.
- */
-#define STATIC_ENTRY(_name_, _n_args_) \
- .align 16; \
- .proc _name_; \
-_name_:; \
- .regstk _n_args_, 0, 0, 0 \
- MCOUNT
-/*
- * XENTRY
- * Global alias for a leaf function, or alternate entry point
- */
-#define XENTRY(_name_) \
- .globl _name_; \
-_name_:
-
-/*
- * STATIC_XENTRY
- * Local alias for a leaf function, or alternate entry point
- */
-#define STATIC_XENTRY(_name_) \
-_name_:
-
-
-/*
- * END
- * Function delimiter
- */
-#define END(_name_) \
- .endp _name_
-
-
-/*
- * EXPORT
- * Export a symbol
- */
-#define EXPORT(_name_) \
- .global _name_; \
-_name_:
-
-
-/*
- * IMPORT
- * Make an external name visible, typecheck the size
- */
-#define IMPORT(_name_, _size_) \
- /* .extern _name_,_size_ */
-
-
-/*
- * ABS
- * Define an absolute symbol
- */
-#define ABS(_name_, _value_) \
- .globl _name_; \
-_name_ = _value_
-
-
-/*
- * BSS
- * Allocate un-initialized space for a global symbol
- */
-#define BSS(_name_,_numbytes_) \
- .comm _name_,_numbytes_
-
-
-/*
- * MSG
- * Allocate space for a message (a read-only ascii string)
- */
-#define ASCIZ .asciz
-#define MSG(msg,reg,label) \
- addl reg,@ltoff(label),gp;; \
- ld8 reg=[reg];; \
- .data; \
-label: ASCIZ msg; \
- .text;
-
-
-/*
- * System call glue.
- */
-#define SYSCALLNUM(name) ___CONCAT(SYS_,name)
-
-#define CALLSYS_NOERROR(name) \
-{ .mmi ; \
- alloc r9 = ar.pfs, 0, 0, 8, 0 ; \
- mov r31 = ar.k5 ; \
- mov r10 = b0 ;; } \
-{ .mib ; \
- mov r8 = SYSCALLNUM(name) ; \
- mov b7 = r31 ; \
- br.call.sptk b0 = b7 ;; }
-
-
-/*
- * WEAK_ALIAS: create a weak alias (ELF only).
- */
-#define WEAK_ALIAS(alias,sym) \
- .weak alias; \
- alias = sym
-
-/*
- * STRONG_ALIAS: create a strong alias.
- */
-#define STRONG_ALIAS(alias,sym) \
- .globl alias; \
- alias = sym
diff --git a/StdLib/Include/Ipf/machine/bootinfo.h b/StdLib/Include/Ipf/machine/bootinfo.h deleted file mode 100644 index 1b1d7e9e57..0000000000 --- a/StdLib/Include/Ipf/machine/bootinfo.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $NetBSD: bootinfo.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Author: Chris G. Demetriou
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-struct bootinfo {
- uint64_t bi_magic; /* BOOTINFO_MAGIC */
-#define BOOTINFO_MAGIC 0xdeadbeeffeedface
- uint64_t bi_version; /* version 1 */
- uint64_t bi_spare[5]; /* was: name of booted kernel */
- uint64_t bi_hcdp; /* DIG64 HCDP table */
- uint64_t bi_fpswa; /* FPSWA interface */
- uint64_t bi_boothowto; /* value for boothowto */
- uint64_t bi_systab; /* pa of EFI system table */
- uint64_t bi_memmap; /* pa of EFI memory map */
- uint64_t bi_memmap_size; /* size of EFI memory map */
- uint64_t bi_memdesc_size; /* sizeof EFI memory desc */
- uint32_t bi_memdesc_version; /* EFI memory desc version */
- uint32_t bi_spare2;
- uint64_t bi_unwindtab; /* start of ia64 unwind table */
- uint64_t bi_unwindtablen; /* lenght of the table, in bytes */
- uint64_t bi_symtab; /* start of kernel sym table */
- uint64_t bi_esymtab; /* end of kernel sym table */
- uint64_t bi_kernend; /* end of kernel space */
- uint64_t bi_envp; /* environment */
-};
-
-extern struct bootinfo bootinfo;
diff --git a/StdLib/Include/Ipf/machine/bswap.h b/StdLib/Include/Ipf/machine/bswap.h deleted file mode 100644 index e3c52b5fa7..0000000000 --- a/StdLib/Include/Ipf/machine/bswap.h +++ /dev/null @@ -1,8 +0,0 @@ -/* $NetBSD: bswap.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/Ipf/machine/cdefs.h b/StdLib/Include/Ipf/machine/cdefs.h deleted file mode 100644 index f1b4ddc56d..0000000000 --- a/StdLib/Include/Ipf/machine/cdefs.h +++ /dev/null @@ -1,11 +0,0 @@ -/* $NetBSD: cdefs.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#ifndef _MACHINE_CDEFS_H_
-#define _MACHINE_CDEFS_H_
-
-/* We're elf only: inspected by sys/cdefs.h */
-#ifndef __ELF__
-#define __ELF__
-#endif
-
-#endif /* !_MACHINE_CDEFS_H_ */
diff --git a/StdLib/Include/Ipf/machine/cpu.h b/StdLib/Include/Ipf/machine/cpu.h deleted file mode 100644 index 33d70dd83e..0000000000 --- a/StdLib/Include/Ipf/machine/cpu.h +++ /dev/null @@ -1,180 +0,0 @@ -/* $NetBSD: cpu.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2006 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center, and by Charles M. Hannum.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-
-/*-
- * Copyright (c) 1988 University of Utah.
- * Copyright (c) 1982, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * 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.
- * 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.
- *
- * from: Utah $Hdr: cpu.h 1.16 91/03/25$
- *
- * @(#)cpu.h 8.4 (Berkeley) 1/5/94
- */
-
-
-#ifndef _IA64_CPU_H_
-#define _IA64_CPU_H_
-
-#ifdef _KERNEL
-#include <sys/cpu_data.h>
-#include <sys/cc_microtime.h>
-#include <machine/frame.h>
-#include <machine/ia64_cpu.h>
-
-
-struct cpu_info {
- struct device *ci_dev; /* pointer to our device */
- struct cpu_info *ci_self; /* self-pointer */
- /*
- * Public members.
- */
- struct lwp *ci_curlwp; /* current owner of the processor */
- struct cpu_data ci_data; /* MI per-cpu data */
- struct cc_microtime_state ci_cc;/* cc_microtime state */
- struct cpu_info *ci_next; /* next cpu_info structure */
-
- /* XXX: Todo */
- /*
- * Private members.
- */
- cpuid_t ci_cpuid; /* our CPU ID */
- struct pmap *ci_pmap; /* current pmap */
- struct lwp *ci_fpcurlwp; /* current owner of the FPU */
- paddr_t ci_curpcb; /* PA of current HW PCB */
- struct pcb *ci_idle_pcb; /* our idle PCB */
- struct cpu_softc *ci_softc; /* pointer to our device */
- u_long ci_want_resched; /* preempt current process */
- u_long ci_intrdepth; /* interrupt trap depth */
- struct trapframe *ci_db_regs; /* registers for debuggers */
-};
-
-
-extern struct cpu_info cpu_info_primary;
-
-#ifdef MULTIPROCESSOR
-/* XXX: TODO */
-#else
-#define curcpu() (&cpu_info_primary)
-#endif /* MULTIPROCESSOR */
-
-#define cpu_number() 0 /*XXX: FIXME */
-
-#define aston(p) ((p)->p_md.md_astpending = 1)
-
-#define need_resched(ci) /*XXX: FIXME */
-
-struct clockframe {
- struct trapframe cf_tf;
-};
-
-#define CLKF_PC(cf) ((cf)->cf_tf.tf_special.iip)
-#define CLKF_CPL(cf) ((cf)->cf_tf.tf_special.psr & IA64_PSR_CPL)
-#define CLKF_USERMODE(cf) (CLKF_CPL(cf) != IA64_PSR_CPL_KERN)
-#define CLKF_BASEPRI(frame) (0) /*XXX: CHECKME */
-#define CLKF_INTR(frame) (curcpu()->ci_intrdepth)
-
-#define TRAPF_PC(tf) ((tf)->tf_special.iip)
-#define TRAPF_CPL(tf) ((tf)->tf_special.psr & IA64_PSR_CPL)
-#define TRAPF_USERMODE(tf) (TRAPF_CPL(tf) != IA64_PSR_CPL_KERN)
-
-
-
-
-
-
-
-/*
- * Give a profiling tick to the current process when the user profiling
- * buffer pages are invalid. XXX:Fixme.... On the ia64 I haven't yet figured
- * out what to do about this.. XXX.
- */
-
-
-#define need_proftick(p)
-
-/*
- * Notify the current process (p) that it has a signal pending,
- * process as soon as possible.
- */
-#define signotify(p) aston(p)
-
-#define setsoftclock() /*XXX: FIXME */
-
-/* machdep.c */
-int cpu_maxproc(void); /*XXX: Fill in machdep.c */
-
-#define cpu_proc_fork(p1, p2) /* XXX: Look into this. */
-
-
-/* XXX: TODO: generic microtime support kern/kern_microtime.c
- * #define microtime(tv) cc_microtime(tv)
- */
-
-
-#endif /* _KERNEL_ */
-#endif /* _IA64_CPU_H */
diff --git a/StdLib/Include/Ipf/machine/cpu_counter.h b/StdLib/Include/Ipf/machine/cpu_counter.h deleted file mode 100644 index e28ab24ef2..0000000000 --- a/StdLib/Include/Ipf/machine/cpu_counter.h +++ /dev/null @@ -1,78 +0,0 @@ -/* $NetBSD: cpu_counter.h,v 1.1 2006/09/20 13:33:04 kochi Exp $ */
-
-/*-
- * Copyright (c) 2006 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Takayoshi Kochi.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _IA64_CPU_COUNTER_H_
-#define _IA64_CPU_COUNTER_H_
-
-/*
- * Machine-specific support for CPU counter.
- */
-
-#ifdef _KERNEL
-
-#include <machine/ia64_cpu.h>
-
-static __inline int
-cpu_hascounter(void)
-{
- return 1;
-}
-
-static __inline uint64_t
-cpu_counter(void)
-{
- return ia64_get_itc();
-}
-
-static __inline uint32_t
-cpu_counter32(void)
-{
- return (ia64_get_itc() & 0xffffffffUL);
-}
-
-static __inline uint64_t
-cpu_frequency(struct cpu_info *ci)
-{
- extern uint64_t itc_frequency;
-
- return itc_frequency;
-}
-
-#endif /* _KERNEL */
-
-#endif /* !_IA64_CPU_COUNTER_H_ */
diff --git a/StdLib/Include/Ipf/machine/db_machdep.h b/StdLib/Include/Ipf/machine/db_machdep.h deleted file mode 100644 index 94739fd337..0000000000 --- a/StdLib/Include/Ipf/machine/db_machdep.h +++ /dev/null @@ -1,202 +0,0 @@ -/* $NetBSD: db_machdep.h,v 1.2 2006/08/30 11:12:04 cherry Exp $ */
-
-/*
- * Copyright (c) 1995 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Author: Chris G. Demetriou
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-#ifndef _IA64_DB_MACHDEP_H_
-#define _IA64_DB_MACHDEP_H_
-
-/*
- * Machine-dependent defines for new kernel debugger.
- */
-
-#include <sys/lock.h>
-#include <sys/param.h>
-#include <uvm/uvm_extern.h>
-#include <machine/frame.h>
-#include <machine/ia64_cpu.h>
-
-typedef vaddr_t db_addr_t; /* address - unsigned */
-typedef long db_expr_t; /* expression - signed */
-
-typedef struct trapframe db_regs_t;
-extern db_regs_t *ddb_regp; /* pointer to current register state */
-#define DDB_REGS (ddb_regp)
-
-#if 0 /* XXX: disabling this until we switch on makectx()and have a proper \
- curlwp(). TODO: please switch this back on ASAP */
-
-#define PC_REGS(regs) ((db_addr_t)(regs)->tf_special.__spare == 0) ? \
- ((db_addr_t)(regs)->tf_special.rp) : \
- ((db_addr_t)(regs)->tf_special.iip + (((regs)->tf_special.psr>>41) & 3))
-#endif
-
-#if 1
-#define PC_REGS(regs) ((db_addr_t)(regs)->tf_special.iip + (((regs)->tf_special.psr>>41) & 3))
-#endif
-
-#define db_set_single_step(regs) ((regs)->tf_special.psr |= IA64_PSR_SS)
-#define db_clear_single_step(regs) ((regs)->tf_special.psr &= ~IA64_PSR_SS)
-
-
-
-/* defines to help with manipulating ia64 VLIW instruction bundles and slots */
-
-#define TMPL_BITS 5
-#define TMPL_MASK ((1 << TMPL_BITS) - 1)
-#define SLOT_BITS 41
-#define SLOT_COUNT 3
-#define SLOT_MASK ((1ULL << SLOT_BITS) - 1ULL)
-#define SLOT_SHIFT(i) (TMPL_BITS+((i)<<3)+(i))
-
-#define ADDR_SLOT0(addr) ( (addr) & ~(0xFUL) )
-#define SLOT_ADDR(addr) ( (addr) & (0xFUL) )
-/* breakpoint address.
- * Check for violations of pseudo offsets above 2.
- * Adjust for 32 bit shift within Bundle.
- */
-
-#define BKPT_ADDR(addr) ( (SLOT_ADDR(addr) < SLOT_COUNT) ? \
- (ADDR_SLOT0(addr) | (SLOT_ADDR(addr) << 2)) \
- : ADDR_SLOT0(addr) )
-
-#define BKPT_SIZE 8
-
-#define BKPT_SET(inst, addr) db_bkpt_set(inst, addr)
-db_expr_t db_bkpt_set(db_expr_t inst, db_addr_t addr);
-
-
-#define PC_ADVANCE(regs) db_pc_advance(regs)
-void db_pc_advance(db_regs_t *);
-
-#define IS_BREAKPOINT_TRAP(type, code) (type == IA64_VEC_BREAK)
-#define IS_WATCHPOINT_TRAP(type, code) 0
-
-
-#define inst_trap_return(ins) (ins & 0)
-#define inst_return(ins) (ins & 0)
-#define inst_call(ins) (ins & 0)
-#define inst_branch(ins) (ins & 0)
-#define inst_load(ins) (ins & 0)
-#define inst_store(ins) (ins & 0)
-#define inst_unconditional_flow_transfer(ins) (ins & 0)
-
-#define branch_taken(ins, pc, regs) pc
-
-u_long db_register_value(db_regs_t *, int);
-int ddb_trap(unsigned long, unsigned long, unsigned long,
- unsigned long, struct trapframe *);
-
-int ia64_trap(int, int, db_regs_t *); /* See: trap.c */
-
-/*
- * We define some of our own commands.
- */
-#define DB_MACHINE_COMMANDS
-
-/*
- * We use Elf64 symbols in DDB.
- */
-#define DB_ELF_SYMBOLS
-#define DB_ELFSIZE 64
-
-/*
- * Stuff for KGDB.
- */
-typedef long kgdb_reg_t;
-#define KGDB_NUMREGS 66 /* from tm-alpha.h, NUM_REGS */
-#define KGDB_REG_V0 0
-#define KGDB_REG_T0 1
-#define KGDB_REG_T1 2
-#define KGDB_REG_T2 3
-#define KGDB_REG_T3 4
-#define KGDB_REG_T4 5
-#define KGDB_REG_T5 6
-#define KGDB_REG_T6 7
-#define KGDB_REG_T7 8
-#define KGDB_REG_S0 9
-#define KGDB_REG_S1 10
-#define KGDB_REG_S2 11
-#define KGDB_REG_S3 12
-#define KGDB_REG_S4 13
-#define KGDB_REG_S5 14
-#define KGDB_REG_S6 15 /* FP */
-#define KGDB_REG_A0 16
-#define KGDB_REG_A1 17
-#define KGDB_REG_A2 18
-#define KGDB_REG_A3 19
-#define KGDB_REG_A4 20
-#define KGDB_REG_A5 21
-#define KGDB_REG_T8 22
-#define KGDB_REG_T9 23
-#define KGDB_REG_T10 24
-#define KGDB_REG_T11 25
-#define KGDB_REG_RA 26
-#define KGDB_REG_T12 27
-#define KGDB_REG_AT 28
-#define KGDB_REG_GP 29
-#define KGDB_REG_SP 30
-#define KGDB_REG_ZERO 31
-#define KGDB_REG_F0 32
-#define KGDB_REG_F1 33
-#define KGDB_REG_F2 34
-#define KGDB_REG_F3 35
-#define KGDB_REG_F4 36
-#define KGDB_REG_F5 37
-#define KGDB_REG_F6 38
-#define KGDB_REG_F7 39
-#define KGDB_REG_F8 40
-#define KGDB_REG_F9 41
-#define KGDB_REG_F10 42
-#define KGDB_REG_F11 43
-#define KGDB_REG_F12 44
-#define KGDB_REG_F13 45
-#define KGDB_REG_F14 46
-#define KGDB_REG_F15 47
-#define KGDB_REG_F16 48
-#define KGDB_REG_F17 49
-#define KGDB_REG_F18 50
-#define KGDB_REG_F19 51
-#define KGDB_REG_F20 52
-#define KGDB_REG_F21 53
-#define KGDB_REG_F22 54
-#define KGDB_REG_F23 55
-#define KGDB_REG_F24 56
-#define KGDB_REG_F25 57
-#define KGDB_REG_F26 58
-#define KGDB_REG_F27 59
-#define KGDB_REG_F28 60
-#define KGDB_REG_F29 61
-#define KGDB_REG_F30 62
-#define KGDB_REG_F31 63
-#define KGDB_REG_PC 64
-#define KGDB_REG_VFP 65
-
-/* Too much? Must be large enough for register transfer. */
-#define KGDB_BUFLEN 1024
-
-#endif /* _IA64_DB_MACHDEP_H_ */
diff --git a/StdLib/Include/Ipf/machine/dig64.h b/StdLib/Include/Ipf/machine/dig64.h deleted file mode 100644 index 690845800a..0000000000 --- a/StdLib/Include/Ipf/machine/dig64.h +++ /dev/null @@ -1,92 +0,0 @@ -/* $NetBSD: dig64.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2002 Marcel Moolenaar
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_DIG64_H_
-#define _MACHINE_DIG64_H_
-
-struct dig64_gas {
- uint8_t addr_space;
- uint8_t bit_width;
- uint8_t bit_offset;
- uint8_t _reserved_;
- /*
- * XXX using a 64-bit type for the address would cause padding and
- * using __packed would cause unaligned accesses...
- */
- uint32_t addr_low;
- uint32_t addr_high;
-};
-
-struct dig64_hcdp_entry {
- uint8_t type;
-#define DIG64_HCDP_CONSOLE 0
-#define DIG64_HCDP_DBGPORT 1
- uint8_t databits;
- uint8_t parity;
- uint8_t stopbits;
- uint8_t pci_segment;
- uint8_t pci_bus;
- uint8_t pci_device:5;
- uint8_t _reserved1_:3;
- uint8_t pci_function:3;
- uint8_t _reserved2_:3;
- uint8_t interrupt:1;
- uint8_t pci_flag:1;
- /*
- * XXX using a 64-bit type for the baudrate would cause padding and
- * using __packed would cause unaligned accesses...
- */
- uint32_t baud_low;
- uint32_t baud_high;
- struct dig64_gas address;
- uint16_t pci_devid;
- uint16_t pci_vendor;
- uint32_t irq;
- uint32_t pclock;
- uint8_t pci_interface;
- uint8_t _reserved3_[7];
-};
-
-struct dig64_hcdp_table {
- char signature[4];
-#define HCDP_SIGNATURE "HCDP"
- uint32_t length;
- uint8_t revision;
- uint8_t checksum;
- char oem_id[6];
- char oem_tbl_id[8];
- uint32_t oem_rev;
- char creator_id[4];
- uint32_t creator_rev;
- uint32_t entries;
- struct dig64_hcdp_entry entry[1];
-};
-
-#endif
diff --git a/StdLib/Include/Ipf/machine/disklabel.h b/StdLib/Include/Ipf/machine/disklabel.h deleted file mode 100644 index 34b9b6c5aa..0000000000 --- a/StdLib/Include/Ipf/machine/disklabel.h +++ /dev/null @@ -1,73 +0,0 @@ -/* $NetBSD: disklabel.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*
- * Copyright (c) 1994 Christopher G. Demetriou
- * 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 Christopher G. Demetriou.
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- */
-
-#ifndef _MACHINE_DISKLABEL_H_
-#define _MACHINE_DISKLABEL_H_
-
-#define LABELSECTOR 1 /* sector containing label */
-#define LABELOFFSET 0 /* offset of label in sector */
-#define MAXPARTITIONS 16 /* number of partitions */
-#define OLDMAXPARTITIONS 8 /* number of partitions before 1.6 */
-#define RAW_PART 3 /* raw partition: XX?d (XXX) */
-
-/*
- * We use the highest bit of the minor number for the partition number.
- * This maintains backward compatibility with device nodes created before
- * MAXPARTITIONS was increased.
- */
-#define __I386_MAXDISKS ((1 << 20) / MAXPARTITIONS)
-#define DISKUNIT(dev) ((minor(dev) / OLDMAXPARTITIONS) % __I386_MAXDISKS)
-#define DISKPART(dev) ((minor(dev) % OLDMAXPARTITIONS) + \
- ((minor(dev) / (__I386_MAXDISKS * OLDMAXPARTITIONS)) * OLDMAXPARTITIONS))
-#define DISKMINOR(unit, part) \
- (((unit) * OLDMAXPARTITIONS) + ((part) % OLDMAXPARTITIONS) + \
- ((part) / OLDMAXPARTITIONS) * (__I386_MAXDISKS * OLDMAXPARTITIONS))
-
-/* Pull in MBR partition definitions. */
-#if HAVE_NBTOOL_CONFIG_H
-#include <nbinclude/sys/bootblock.h>
-#else
-#include <sys/bootblock.h>
-#endif /* HAVE_NBTOOL_CONFIG_H */
-
-#ifndef __ASSEMBLER__
-#if HAVE_NBTOOL_CONFIG_H
-#include <nbinclude/sys/dkbad.h>
-#else
-#include <sys/dkbad.h>
-#endif /* HAVE_NBTOOL_CONFIG_H */
-struct cpu_disklabel {
- struct dkbad bad;
-};
-#endif
-
-#endif /* _MACHINE_DISKLABEL_H_ */
diff --git a/StdLib/Include/Ipf/machine/efi.h b/StdLib/Include/Ipf/machine/efi.h deleted file mode 100644 index 67cf901e15..0000000000 --- a/StdLib/Include/Ipf/machine/efi.h +++ /dev/null @@ -1,165 +0,0 @@ -/* $NetBSD: efi.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2004 Marcel Moolenaar
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_EFI_H_
-#define _MACHINE_EFI_H_
-
-#include <sys/uuid.h>
-
-#define EFI_PAGE_SHIFT 12
-#define EFI_PAGE_SIZE (1 << EFI_PAGE_SHIFT)
-#define EFI_PAGE_MASK (EFI_PAGE_SIZE - 1)
-
-#define EFI_TABLE_ACPI20 \
- {0x8868e871,0xe4f1,0x11d3,0xbc,0x22,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define EFI_TABLE_SAL \
- {0xeb9d2d32,0x2d88,0x11d3,0x9a,0x16,{0x00,0x90,0x27,0x3f,0xc1,0x4d}}
-
-enum efi_reset {
- EFI_RESET_COLD,
- EFI_RESET_WARM
-};
-
-typedef uint16_t efi_char;
-typedef unsigned long efi_status;
-
-struct efi_cfgtbl {
- struct uuid ct_uuid;
- uint64_t ct_data;
-};
-
-struct efi_md {
- uint32_t md_type;
-#define EFI_MD_TYPE_NULL 0
-#define EFI_MD_TYPE_CODE 1 /* Loader text. */
-#define EFI_MD_TYPE_DATA 2 /* Loader data. */
-#define EFI_MD_TYPE_BS_CODE 3 /* Boot services text. */
-#define EFI_MD_TYPE_BS_DATA 4 /* Boot services data. */
-#define EFI_MD_TYPE_RT_CODE 5 /* Runtime services text. */
-#define EFI_MD_TYPE_RT_DATA 6 /* Runtime services data. */
-#define EFI_MD_TYPE_FREE 7 /* Unused/free memory. */
-#define EFI_MD_TYPE_BAD 8 /* Bad memory */
-#define EFI_MD_TYPE_RECLAIM 9 /* ACPI reclaimable memory. */
-#define EFI_MD_TYPE_FIRMWARE 10 /* ACPI NV memory */
-#define EFI_MD_TYPE_IOMEM 11 /* Memory-mapped I/O. */
-#define EFI_MD_TYPE_IOPORT 12 /* I/O port space. */
-#define EFI_MD_TYPE_PALCODE 13 /* PAL */
- uint32_t __pad;
- uint64_t md_phys;
- void *md_virt;
- uint64_t md_pages;
- uint64_t md_attr;
-#define EFI_MD_ATTR_UC 0x0000000000000001UL
-#define EFI_MD_ATTR_WC 0x0000000000000002UL
-#define EFI_MD_ATTR_WT 0x0000000000000004UL
-#define EFI_MD_ATTR_WB 0x0000000000000008UL
-#define EFI_MD_ATTR_UCE 0x0000000000000010UL
-#define EFI_MD_ATTR_WP 0x0000000000001000UL
-#define EFI_MD_ATTR_RP 0x0000000000002000UL
-#define EFI_MD_ATTR_XP 0x0000000000004000UL
-#define EFI_MD_ATTR_RT 0x8000000000000000UL
-};
-
-struct efi_tm {
- uint16_t tm_year; /* 1998 - 20XX */
- uint8_t tm_mon; /* 1 - 12 */
- uint8_t tm_mday; /* 1 - 31 */
- uint8_t tm_hour; /* 0 - 23 */
- uint8_t tm_min; /* 0 - 59 */
- uint8_t tm_sec; /* 0 - 59 */
- uint8_t __pad1;
- uint32_t tm_nsec; /* 0 - 999,999,999 */
- int16_t tm_tz; /* -1440 to 1440 or 2047 */
- uint8_t tm_dst;
- uint8_t __pad2;
-};
-
-struct efi_tmcap {
- uint32_t tc_res; /* 1e-6 parts per million */
- uint32_t tc_prec; /* hertz */
- uint8_t tc_stz; /* Set clears sub-second time */
-};
-
-struct efi_tblhdr {
- uint64_t th_sig;
- uint32_t th_rev;
- uint32_t th_hdrsz;
- uint32_t th_crc32;
- uint32_t __res;
-};
-
-struct efi_rt {
- struct efi_tblhdr rt_hdr;
- efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *);
- efi_status (*rt_settime)(struct efi_tm *);
- efi_status (*rt_getwaketime)(uint8_t *, uint8_t *,
- struct efi_tm *);
- efi_status (*rt_setwaketime)(uint8_t, struct efi_tm *);
- efi_status (*rt_setvirtual)(u_long, u_long, uint32_t,
- struct efi_md *);
- efi_status (*rt_cvtptr)(u_long, void **);
- efi_status (*rt_getvar)(efi_char *, struct uuid *, uint32_t *,
- u_long *, void *);
- efi_status (*rt_scanvar)(u_long *, efi_char *, struct uuid *);
- efi_status (*rt_setvar)(efi_char *, struct uuid *, uint32_t,
- u_long, void *);
- efi_status (*rt_gethicnt)(uint32_t *);
- efi_status (*rt_reset)(enum efi_reset, efi_status, u_long,
- efi_char *);
-};
-
-struct efi_systbl {
- struct efi_tblhdr st_hdr;
-#define EFI_SYSTBL_SIG 0x5453595320494249UL
- efi_char *st_fwvendor;
- uint32_t st_fwrev;
- uint32_t __pad;
- void *st_cin;
- void *st_cinif;
- void *st_cout;
- void *st_coutif;
- void *st_cerr;
- void *st_cerrif;
- uint64_t st_rt;
- void *st_bs;
- u_long st_entries;
- uint64_t st_cfgtbl;
-};
-
-void efi_boot_finish(void);
-int efi_boot_minimal(uint64_t);
-void *efi_get_table(struct uuid *);
-void efi_get_time(struct efi_tm *);
-struct efi_md *efi_md_first(void);
-struct efi_md *efi_md_next(struct efi_md *);
-void efi_reset_system(void);
-efi_status efi_set_time(struct efi_tm *);
-
-#endif /* _MACHINE_EFI_H_ */
diff --git a/StdLib/Include/Ipf/machine/elf_machdep.h b/StdLib/Include/Ipf/machine/elf_machdep.h deleted file mode 100644 index 2cbb3d3daf..0000000000 --- a/StdLib/Include/Ipf/machine/elf_machdep.h +++ /dev/null @@ -1,150 +0,0 @@ -/* $NetBSD */
-
-/*-
- * Copyright (c) 1996-1997 John D. Polstra.
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD: src/sys/ia64/include/elf.h,v 1.11 2003/09/25 01:10:24 peter Exp $
- */
-
-
-#define ELF32_MACHDEP_ENDIANNESS XXX /* break compilation */
-#define ELF32_MACHDEP_ID_CASES \
- /* no 32-bit ELF machine types supported until 32bit emu */
-
-#define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB
-#define ELF64_MACHDEP_ID_CASES \
- case EM_IA_64: \
- break;
-
-#define ELF64_MACHDEP_ID EM_IA_64 /* XXX */
-
-#define ARCH_ELFSIZE 64 /* MD native binary size */
-
-/*
- * Relocation types.
- */
-
-/* Name Value Field Calculation */
-#define R_IA64_NONE 0 /* None */
-#define R_IA64_IMM14 0x21 /* immediate14 S + A */
-#define R_IA64_IMM22 0x22 /* immediate22 S + A */
-#define R_IA64_IMM64 0x23 /* immediate64 S + A */
-#define R_IA64_DIR32MSB 0x24 /* word32 MSB S + A */
-#define R_IA64_DIR32LSB 0x25 /* word32 LSB S + A */
-#define R_IA64_DIR64MSB 0x26 /* word64 MSB S + A */
-#define R_IA64_DIR64LSB 0x27 /* word64 LSB S + A */
-#define R_IA64_GPREL22 0x2a /* immediate22 @gprel(S + A) */
-#define R_IA64_GPREL64I 0x2b /* immediate64 @gprel(S + A) */
-#define R_IA64_GPREL64MSB 0x2e /* word64 MSB @gprel(S + A) */
-#define R_IA64_GPREL64LSB 0x2f /* word64 LSB @gprel(S + A) */
-#define R_IA64_LTOFF22 0x32 /* immediate22 @ltoff(S + A) */
-#define R_IA64_LTOFF64I 0x33 /* immediate64 @ltoff(S + A) */
-#define R_IA64_PLTOFF22 0x3a /* immediate22 @pltoff(S + A) */
-#define R_IA64_PLTOFF64I 0x3b /* immediate64 @pltoff(S + A) */
-#define R_IA64_PLTOFF64MSB 0x3e /* word64 MSB @pltoff(S + A) */
-#define R_IA64_PLTOFF64LSB 0x3f /* word64 LSB @pltoff(S + A) */
-#define R_IA64_FPTR64I 0x43 /* immediate64 @fptr(S + A) */
-#define R_IA64_FPTR32MSB 0x44 /* word32 MSB @fptr(S + A) */
-#define R_IA64_FPTR32LSB 0x45 /* word32 LSB @fptr(S + A) */
-#define R_IA64_FPTR64MSB 0x46 /* word64 MSB @fptr(S + A) */
-#define R_IA64_FPTR64LSB 0x47 /* word64 LSB @fptr(S + A) */
-#define R_IA64_PCREL21B 0x49 /* immediate21 form1 S + A - P */
-#define R_IA64_PCREL21M 0x4a /* immediate21 form2 S + A - P */
-#define R_IA64_PCREL21F 0x4b /* immediate21 form3 S + A - P */
-#define R_IA64_PCREL32MSB 0x4c /* word32 MSB S + A - P */
-#define R_IA64_PCREL32LSB 0x4d /* word32 LSB S + A - P */
-#define R_IA64_PCREL64MSB 0x4e /* word64 MSB S + A - P */
-#define R_IA64_PCREL64LSB 0x4f /* word64 LSB S + A - P */
-#define R_IA64_LTOFF_FPTR22 0x52 /* immediate22 @ltoff(@fptr(S + A)) */
-#define R_IA64_LTOFF_FPTR64I 0x53 /* immediate64 @ltoff(@fptr(S + A)) */
-#define R_IA64_LTOFF_FPTR32MSB 0x54 /* word32 MSB @ltoff(@fptr(S + A)) */
-#define R_IA64_LTOFF_FPTR32LSB 0x55 /* word32 LSB @ltoff(@fptr(S + A)) */
-#define R_IA64_LTOFF_FPTR64MSB 0x56 /* word64 MSB @ltoff(@fptr(S + A)) */
-#define R_IA64_LTOFF_FPTR64LSB 0x57 /* word64 LSB @ltoff(@fptr(S + A)) */
-#define R_IA64_SEGREL32MSB 0x5c /* word32 MSB @segrel(S + A) */
-#define R_IA64_SEGREL32LSB 0x5d /* word32 LSB @segrel(S + A) */
-#define R_IA64_SEGREL64MSB 0x5e /* word64 MSB @segrel(S + A) */
-#define R_IA64_SEGREL64LSB 0x5f /* word64 LSB @segrel(S + A) */
-#define R_IA64_SECREL32MSB 0x64 /* word32 MSB @secrel(S + A) */
-#define R_IA64_SECREL32LSB 0x65 /* word32 LSB @secrel(S + A) */
-#define R_IA64_SECREL64MSB 0x66 /* word64 MSB @secrel(S + A) */
-#define R_IA64_SECREL64LSB 0x67 /* word64 LSB @secrel(S + A) */
-#define R_IA64_REL32MSB 0x6c /* word32 MSB BD + A */
-#define R_IA64_REL32LSB 0x6d /* word32 LSB BD + A */
-#define R_IA64_REL64MSB 0x6e /* word64 MSB BD + A */
-#define R_IA64_REL64LSB 0x6f /* word64 LSB BD + A */
-#define R_IA64_LTV32MSB 0x74 /* word32 MSB S + A */
-#define R_IA64_LTV32LSB 0x75 /* word32 LSB S + A */
-#define R_IA64_LTV64MSB 0x76 /* word64 MSB S + A */
-#define R_IA64_LTV64LSB 0x77 /* word64 LSB S + A */
-#define R_IA64_IPLTMSB 0x80 /* function descriptor MSB special */
-#define R_IA64_IPLTLSB 0x81 /* function descriptor LSB speciaal */
-#define R_IA64_SUB 0x85 /* immediate64 A - S */
-#define R_IA64_LTOFF22X 0x86 /* immediate22 special */
-#define R_IA64_LDXMOV 0x87 /* immediate22 special */
-#define R_IA64_TPREL14 0x91 /* imm14 @tprel(S + A) */
-#define R_IA64_TPREL22 0x92 /* imm22 @tprel(S + A) */
-#define R_IA64_TPREL64I 0x93 /* imm64 @tprel(S + A) */
-#define R_IA64_TPREL64MSB 0x96 /* word64 MSB @tprel(S + A) */
-#define R_IA64_TPREL64LSB 0x97 /* word64 LSB @tprel(S + A) */
-#define R_IA64_LTOFF_TPREL22 0x9a /* imm22 @ltoff(@tprel(S+A)) */
-#define R_IA64_DTPMOD64MSB 0xa6 /* word64 MSB @dtpmod(S + A) */
-#define R_IA64_DTPMOD64LSB 0xa7 /* word64 LSB @dtpmod(S + A) */
-#define R_IA64_LTOFF_DTPMOD22 0xaa /* imm22 @ltoff(@dtpmod(S+A)) */
-#define R_IA64_DTPREL14 0xb1 /* imm14 @dtprel(S + A) */
-#define R_IA64_DTPREL22 0xb2 /* imm22 @dtprel(S + A) */
-#define R_IA64_DTPREL64I 0xb3 /* imm64 @dtprel(S + A) */
-#define R_IA64_DTPREL32MSB 0xb4 /* word32 MSB @dtprel(S + A) */
-#define R_IA64_DTPREL32LSB 0xb5 /* word32 LSB @dtprel(S + A) */
-#define R_IA64_DTPREL64MSB 0xb6 /* word64 MSB @dtprel(S + A) */
-#define R_IA64_DTPREL64LSB 0xb7 /* word64 LSB @dtprel(S + A) */
-#define R_IA64_LTOFF_DTPREL22 0xba /* imm22 @ltoff(@dtprel(S+A)) */
-
-/* p_type */
-
-#define PT_IA_64_ARCHEXT 0x70000000 /* segment contains a section of type SHT_IA_64_EXT */
-#define PT_IA_64_UNWIND 0x70000001 /* segment contains the stack unwind tables */
-
-/* p_flags */
-
-#define PF_IA_64_NORECOV 0x80000000 /* segment contains the stack unwind tables */
-
-/* sh_type */
-
-#define SHT_IA_64_EXT 0x70000000 /* section contains product specific extension bits */
-#define SHT_IA_64_UNWIND 0x70000001 /* section contains unwind function table entries for stack unwinding */
-#define SHT_IA_64_LOPSREG 0x78000000 /* reserved for implementation-specific section types */
-#define SHT_IA_64_HIPSREG 0x7fffffff /* Ditto */
-#define SHT_IA_64_PRIORITY_INIT 0x79000000 /* section contains priority initialization record */
-
-/* sh_flags */
-
-#define SHF_IA_64_SHORT 0x10000000 /* section must be placed near gp. */
-#define SHF_IA_64_NORECOV 0x20000000 /* section contains code that uses speculative instructions without
- * recovery code
- */
-
-
-
diff --git a/StdLib/Include/Ipf/machine/endian.h b/StdLib/Include/Ipf/machine/endian.h deleted file mode 100644 index 3c2244efa3..0000000000 --- a/StdLib/Include/Ipf/machine/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/Ipf/machine/endian_machdep.h b/StdLib/Include/Ipf/machine/endian_machdep.h deleted file mode 100644 index 7d69f7b16a..0000000000 --- a/StdLib/Include/Ipf/machine/endian_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian_machdep.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#define _BYTE_ORDER _LITTLE_ENDIAN
diff --git a/StdLib/Include/Ipf/machine/float.h b/StdLib/Include/Ipf/machine/float.h deleted file mode 100644 index 2cf8fecb44..0000000000 --- a/StdLib/Include/Ipf/machine/float.h +++ /dev/null @@ -1,30 +0,0 @@ -/* $NetBSD: float.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#include <sys/float_ieee754.h>
-
-
-/* #ifndef _IA64_FLOAT_H_ */
-/* #define _IA64_FLOAT_H_ */
-
-/* #define LDBL_MANT_DIG 64 */
-/* #define LDBL_EPSILON 1.0842021724855044340E-19L */
-/* #define LDBL_DIG 18 */
-/* #define LDBL_MIN_EXP (-16381) */
-/* #define LDBL_MIN 3.3621031431120935063E-4932L */
-/* #define LDBL_MIN_10_EXP (-4931) */
-/* #define LDBL_MAX_EXP 16384 */
-/* #define LDBL_MAX 1.1897314953572317650E+4932L */
-/* #define LDBL_MAX_10_EXP 4932 */
-
-/* #include <sys/float_ieee754.h> */
-
-/* #if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \ */
-/* !defined(_XOPEN_SOURCE) || \ */
-/* ((__STDC_VERSION__ - 0) >= 199901L) || \ */
-/* ((_POSIX_C_SOURCE - 0) >= 200112L) || \ */
-/* ((_XOPEN_SOURCE - 0) >= 600) || \ */
-/* defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE) */
-/* #define DECIMAL_DIG 35 */
-/* #endif /\* !defined(_ANSI_SOURCE) && ... *\/ */
-
-/* #endif /\* _IA64_FLOAT_H_ *\/ */
diff --git a/StdLib/Include/Ipf/machine/ia64_cpu.h b/StdLib/Include/Ipf/machine/ia64_cpu.h deleted file mode 100644 index 075bfbeff1..0000000000 --- a/StdLib/Include/Ipf/machine/ia64_cpu.h +++ /dev/null @@ -1,427 +0,0 @@ -/* $NetBSD: ia64_cpu.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2000 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_IA64_CPU_H_
-#define _MACHINE_IA64_CPU_H_
-
-/*
- * Definition of PSR and IPSR bits.
- */
-#define IA64_PSR_BE 0x0000000000000002
-#define IA64_PSR_UP 0x0000000000000004
-#define IA64_PSR_AC 0x0000000000000008
-#define IA64_PSR_MFL 0x0000000000000010
-#define IA64_PSR_MFH 0x0000000000000020
-#define IA64_PSR_IC 0x0000000000002000
-#define IA64_PSR_I 0x0000000000004000
-#define IA64_PSR_PK 0x0000000000008000
-#define IA64_PSR_DT 0x0000000000020000
-#define IA64_PSR_DFL 0x0000000000040000
-#define IA64_PSR_DFH 0x0000000000080000
-#define IA64_PSR_SP 0x0000000000100000
-#define IA64_PSR_PP 0x0000000000200000
-#define IA64_PSR_DI 0x0000000000400000
-#define IA64_PSR_SI 0x0000000000800000
-#define IA64_PSR_DB 0x0000000001000000
-#define IA64_PSR_LP 0x0000000002000000
-#define IA64_PSR_TB 0x0000000004000000
-#define IA64_PSR_RT 0x0000000008000000
-#define IA64_PSR_CPL 0x0000000300000000
-#define IA64_PSR_CPL_KERN 0x0000000000000000
-#define IA64_PSR_CPL_1 0x0000000100000000
-#define IA64_PSR_CPL_2 0x0000000200000000
-#define IA64_PSR_CPL_USER 0x0000000300000000
-#define IA64_PSR_IS 0x0000000400000000
-#define IA64_PSR_MC 0x0000000800000000
-#define IA64_PSR_IT 0x0000001000000000
-#define IA64_PSR_ID 0x0000002000000000
-#define IA64_PSR_DA 0x0000004000000000
-#define IA64_PSR_DD 0x0000008000000000
-#define IA64_PSR_SS 0x0000010000000000
-#define IA64_PSR_RI 0x0000060000000000
-#define IA64_PSR_RI_0 0x0000000000000000
-#define IA64_PSR_RI_1 0x0000020000000000
-#define IA64_PSR_RI_2 0x0000040000000000
-#define IA64_PSR_ED 0x0000080000000000
-#define IA64_PSR_BN 0x0000100000000000
-#define IA64_PSR_IA 0x0000200000000000
-
-/*
- * Definition of ISR bits.
- */
-#define IA64_ISR_CODE 0x000000000000ffff
-#define IA64_ISR_VECTOR 0x0000000000ff0000
-#define IA64_ISR_X 0x0000000100000000
-#define IA64_ISR_W 0x0000000200000000
-#define IA64_ISR_R 0x0000000400000000
-#define IA64_ISR_NA 0x0000000800000000
-#define IA64_ISR_SP 0x0000001000000000
-#define IA64_ISR_RS 0x0000002000000000
-#define IA64_ISR_IR 0x0000004000000000
-#define IA64_ISR_NI 0x0000008000000000
-#define IA64_ISR_SO 0x0000010000000000
-#define IA64_ISR_EI 0x0000060000000000
-#define IA64_ISR_EI_0 0x0000000000000000
-#define IA64_ISR_EI_1 0x0000020000000000
-#define IA64_ISR_EI_2 0x0000040000000000
-#define IA64_ISR_ED 0x0000080000000000
-
-/*
- * Vector numbers for various ia64 interrupts.
- */
-#define IA64_VEC_VHPT 0
-#define IA64_VEC_ITLB 1
-#define IA64_VEC_DTLB 2
-#define IA64_VEC_ALT_ITLB 3
-#define IA64_VEC_ALT_DTLB 4
-#define IA64_VEC_NESTED_DTLB 5
-#define IA64_VEC_IKEY_MISS 6
-#define IA64_VEC_DKEY_MISS 7
-#define IA64_VEC_DIRTY_BIT 8
-#define IA64_VEC_INST_ACCESS 9
-#define IA64_VEC_DATA_ACCESS 10
-#define IA64_VEC_BREAK 11
-#define IA64_VEC_EXT_INTR 12
-#define IA64_VEC_PAGE_NOT_PRESENT 20
-#define IA64_VEC_KEY_PERMISSION 21
-#define IA64_VEC_INST_ACCESS_RIGHTS 22
-#define IA64_VEC_DATA_ACCESS_RIGHTS 23
-#define IA64_VEC_GENERAL_EXCEPTION 24
-#define IA64_VEC_DISABLED_FP 25
-#define IA64_VEC_NAT_CONSUMPTION 26
-#define IA64_VEC_SPECULATION 27
-#define IA64_VEC_DEBUG 29
-#define IA64_VEC_UNALIGNED_REFERENCE 30
-#define IA64_VEC_UNSUPP_DATA_REFERENCE 31
-#define IA64_VEC_FLOATING_POINT_FAULT 32
-#define IA64_VEC_FLOATING_POINT_TRAP 33
-#define IA64_VEC_LOWER_PRIVILEGE_TRANSFER 34
-#define IA64_VEC_TAKEN_BRANCH_TRAP 35
-#define IA64_VEC_SINGLE_STEP_TRAP 36
-#define IA64_VEC_IA32_EXCEPTION 45
-#define IA64_VEC_IA32_INTERCEPT 46
-#define IA64_VEC_IA32_INTERRUPT 47
-
-/*
- * IA-32 exceptions.
- */
-#define IA32_EXCEPTION_DIVIDE 0
-#define IA32_EXCEPTION_DEBUG 1
-#define IA32_EXCEPTION_BREAK 3
-#define IA32_EXCEPTION_OVERFLOW 4
-#define IA32_EXCEPTION_BOUND 5
-#define IA32_EXCEPTION_DNA 7
-#define IA32_EXCEPTION_NOT_PRESENT 11
-#define IA32_EXCEPTION_STACK_FAULT 12
-#define IA32_EXCEPTION_GPFAULT 13
-#define IA32_EXCEPTION_FPERROR 16
-#define IA32_EXCEPTION_ALIGNMENT_CHECK 17
-#define IA32_EXCEPTION_STREAMING_SIMD 19
-
-#define IA32_INTERCEPT_INSTRUCTION 0
-#define IA32_INTERCEPT_GATE 1
-#define IA32_INTERCEPT_SYSTEM_FLAG 2
-#define IA32_INTERCEPT_LOCK 4
-
-#ifndef _LOCORE
-
-/*
- * Various special ia64 instructions.
- */
-
-/*
- * Memory Fence.
- */
-static __inline void
-ia64_mf(void)
-{
- __asm __volatile("mf");
-}
-
-static __inline void
-ia64_mf_a(void)
-{
- __asm __volatile("mf.a");
-}
-
-/*
- * Flush Cache.
- */
-static __inline void
-ia64_fc(u_int64_t va)
-{
- __asm __volatile("fc %0" :: "r"(va));
-}
-
-/*
- * Flush Instruction Cache
- */
-
-static __inline void
-ia64_fc_i(u_int64_t va)
-{
- __asm __volatile("fc.i %0" :: "r"(va));
-}
-
-/*
- * Sync instruction stream.
- */
-static __inline void
-ia64_sync_i(void)
-{
- __asm __volatile("sync.i");
-}
-
-/*
- * Calculate address in VHPT for va.
- */
-static __inline u_int64_t
-ia64_thash(u_int64_t va)
-{
- u_int64_t result;
- __asm __volatile("thash %0=%1" : "=r" (result) : "r" (va));
- return result;
-}
-
-/*
- * Calculate VHPT tag for va.
- */
-static __inline u_int64_t
-ia64_ttag(u_int64_t va)
-{
- u_int64_t result;
- __asm __volatile("ttag %0=%1" : "=r" (result) : "r" (va));
- return result;
-}
-
-/*
- * Convert virtual address to physical.
- */
-static __inline u_int64_t
-ia64_tpa(u_int64_t va)
-{
- u_int64_t result;
- __asm __volatile("tpa %0=%1" : "=r" (result) : "r" (va));
- return result;
-}
-
-/*
- * Generate a ptc.e instruction.
- */
-static __inline void
-ia64_ptc_e(u_int64_t v)
-{
- __asm __volatile("ptc.e %0;; srlz.d;;" :: "r"(v));
-}
-
-/*
- * Generate a ptc.g instruction.
- */
-static __inline void
-ia64_ptc_g(u_int64_t va, u_int64_t log2size)
-{
- __asm __volatile("ptc.g %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size));
-}
-
-/*
- * Generate a ptc.ga instruction.
- */
-static __inline void
-ia64_ptc_ga(u_int64_t va, u_int64_t log2size)
-{
- __asm __volatile("ptc.ga %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size));
-}
-
-/*
- * Generate a ptc.l instruction.
- */
-static __inline void
-ia64_ptc_l(u_int64_t va, u_int64_t log2size)
-{
- __asm __volatile("ptc.l %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size));
-}
-
-/*
- * Read the value of psr.
- */
-static __inline u_int64_t
-ia64_get_psr(void)
-{
- u_int64_t result;
- __asm __volatile("mov %0=psr;;" : "=r" (result));
- return result;
-}
-
-/*
- * Define accessors for application registers.
- */
-
-#define IA64_AR(name) \
- \
-static __inline u_int64_t \
-ia64_get_##name(void) \
-{ \
- u_int64_t result; \
- __asm __volatile("mov %0=ar." #name : "=r" (result)); \
- return result; \
-} \
- \
-static __inline void \
-ia64_set_##name(u_int64_t v) \
-{ \
- __asm __volatile("mov ar." #name "=%0;;" :: "r" (v)); \
-}
-
-IA64_AR(k0)
-IA64_AR(k1)
-IA64_AR(k2)
-IA64_AR(k3)
-IA64_AR(k4)
-IA64_AR(k5)
-IA64_AR(k6)
-IA64_AR(k7)
-
-IA64_AR(rsc)
-IA64_AR(bsp)
-IA64_AR(bspstore)
-IA64_AR(rnat)
-
-IA64_AR(fcr)
-
-IA64_AR(eflag)
-IA64_AR(csd)
-IA64_AR(ssd)
-IA64_AR(cflg)
-IA64_AR(fsr)
-IA64_AR(fir)
-IA64_AR(fdr)
-
-IA64_AR(ccv)
-
-IA64_AR(unat)
-
-IA64_AR(fpsr)
-
-IA64_AR(itc)
-
-IA64_AR(pfs)
-IA64_AR(lc)
-IA64_AR(ec)
-
-/*
- * Define accessors for control registers.
- */
-
-#define IA64_CR(name) \
- \
-static __inline u_int64_t \
-ia64_get_##name(void) \
-{ \
- u_int64_t result; \
- __asm __volatile("mov %0=cr." #name : "=r" (result)); \
- return result; \
-} \
- \
-static __inline void \
-ia64_set_##name(u_int64_t v) \
-{ \
- __asm __volatile("mov cr." #name "=%0;;" :: "r" (v)); \
-}
-
-IA64_CR(dcr)
-IA64_CR(itm)
-IA64_CR(iva)
-
-IA64_CR(pta)
-
-IA64_CR(ipsr)
-IA64_CR(isr)
-
-IA64_CR(iip)
-IA64_CR(ifa)
-IA64_CR(itir)
-IA64_CR(iipa)
-IA64_CR(ifs)
-IA64_CR(iim)
-IA64_CR(iha)
-
-IA64_CR(lid)
-IA64_CR(ivr)
-IA64_CR(tpr)
-IA64_CR(eoi)
-IA64_CR(irr0)
-IA64_CR(irr1)
-IA64_CR(irr2)
-IA64_CR(irr3)
-IA64_CR(itv)
-IA64_CR(pmv)
-IA64_CR(cmcv)
-
-IA64_CR(lrr0)
-IA64_CR(lrr1)
-
-/*
- * Write a region register.
- */
-static __inline void
-ia64_set_rr(u_int64_t rrbase, u_int64_t v)
-{
- __asm __volatile("mov rr[%0]=%1;; srlz.d;;"
- :: "r"(rrbase), "r"(v) : "memory");
-}
-
-/*
- * Read a CPUID register.
- */
-static __inline u_int64_t
-ia64_get_cpuid(int i)
-{
- u_int64_t result;
- __asm __volatile("mov %0=cpuid[%1]"
- : "=r" (result) : "r"(i));
- return result;
-}
-
-static __inline void
-ia64_disable_highfp(void)
-{
- __asm __volatile("ssm psr.dfh;; srlz.d");
-}
-
-static __inline void
-ia64_enable_highfp(void)
-{
- __asm __volatile("rsm psr.dfh;; srlz.d");
-}
-
-#endif /* !_LOCORE */
-
-#endif /* _MACHINE_IA64_CPU_H_ */
-
diff --git a/StdLib/Include/Ipf/machine/ieee.h b/StdLib/Include/Ipf/machine/ieee.h deleted file mode 100644 index 783ceeb0c9..0000000000 --- a/StdLib/Include/Ipf/machine/ieee.h +++ /dev/null @@ -1,2 +0,0 @@ -
-#include <sys/ieee754.h>
diff --git a/StdLib/Include/Ipf/machine/ieeefp.h b/StdLib/Include/Ipf/machine/ieeefp.h deleted file mode 100644 index 02662769f0..0000000000 --- a/StdLib/Include/Ipf/machine/ieeefp.h +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * Copyright (c) 2001 Doug Rabson - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD: src/sys/ia64/include/ieeefp.h,v 1.5.10.1.4.1 2010/06/14 02:09:06 kensmith Exp $ - */ - -#ifndef _MACHINE_IEEEFP_H_ -#define _MACHINE_IEEEFP_H_ - -#include <machine/fpu.h> - -typedef int fp_except_t; -#define FP_X_INV IA64_FPSR_TRAP_VD /* invalid operation exception */ -#define FP_X_DZ IA64_FPSR_TRAP_ZD /* divide-by-zero exception */ -#define FP_X_OFL IA64_FPSR_TRAP_OD /* overflow exception */ -#define FP_X_UFL IA64_FPSR_TRAP_UD /* underflow exception */ -#define FP_X_IMP IA64_FPSR_TRAP_ID /* imprecise(inexact) exception */ - -typedef enum { - FP_RN = 0, /* round to nearest */ - FP_RM, /* round toward minus infinity */ - FP_RP, /* round toward plus infinity */ - FP_RZ /* round toward zero */ -} fp_rnd_t; - -#endif /* !_MACHINE_IEEEFP_H_ */ diff --git a/StdLib/Include/Ipf/machine/int_const.h b/StdLib/Include/Ipf/machine/int_const.h deleted file mode 100644 index dcf1ede3f5..0000000000 --- a/StdLib/Include/Ipf/machine/int_const.h +++ /dev/null @@ -1,64 +0,0 @@ -/* $NetBSD: int_const.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _IA64_INT_CONST_H_
-#define _IA64_INT_CONST_H_
-
-/* XXX: cherry: needs to be audited */
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## L
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## UL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## L
-#define UINTMAX_C(c) c ## UL
-
-#endif /* !_IA64_INT_CONST_H_ */
diff --git a/StdLib/Include/Ipf/machine/int_fmtio.h b/StdLib/Include/Ipf/machine/int_fmtio.h deleted file mode 100644 index a74f7cf02d..0000000000 --- a/StdLib/Include/Ipf/machine/int_fmtio.h +++ /dev/null @@ -1,219 +0,0 @@ -/* $NetBSD: int_fmtio.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _IA64_INT_FMTIO_H_
-#define _IA64_INT_FMTIO_H_
-
-/*
- * 7.8.1 Macros for format specifiers
- */
-
-/* fprintf macros for signed integers */
-
-#define PRId8 "d" /* int8_t */
-#define PRId16 "d" /* int16_t */
-#define PRId32 "d" /* int32_t */
-#define PRId64 "ld" /* int64_t */
-#define PRIdLEAST8 "d" /* int_least8_t */
-#define PRIdLEAST16 "d" /* int_least16_t */
-#define PRIdLEAST32 "d" /* int_least32_t */
-#define PRIdLEAST64 "ld" /* int_least64_t */
-#define PRIdFAST8 "d" /* int_fast8_t */
-#define PRIdFAST16 "d" /* int_fast16_t */
-#define PRIdFAST32 "d" /* int_fast32_t */
-#define PRIdFAST64 "ld" /* int_fast64_t */
-#define PRIdMAX "ld" /* intmax_t */
-#define PRIdPTR "ld" /* intptr_t */
-
-#define PRIi8 "i" /* int8_t */
-#define PRIi16 "i" /* int16_t */
-#define PRIi32 "i" /* int32_t */
-#define PRIi64 "li" /* int64_t */
-#define PRIiLEAST8 "i" /* int_least8_t */
-#define PRIiLEAST16 "i" /* int_least16_t */
-#define PRIiLEAST32 "i" /* int_least32_t */
-#define PRIiLEAST64 "li" /* int_least64_t */
-#define PRIiFAST8 "i" /* int_fast8_t */
-#define PRIiFAST16 "i" /* int_fast16_t */
-#define PRIiFAST32 "i" /* int_fast32_t */
-#define PRIiFAST64 "li" /* int_fast64_t */
-#define PRIiMAX "li" /* intmax_t */
-#define PRIiPTR "li" /* intptr_t */
-
-/* fprintf macros for unsigned integers */
-
-#define PRIo8 "o" /* uint8_t */
-#define PRIo16 "o" /* uint16_t */
-#define PRIo32 "o" /* uint32_t */
-#define PRIo64 "lo" /* uint64_t */
-#define PRIoLEAST8 "o" /* uint_least8_t */
-#define PRIoLEAST16 "o" /* uint_least16_t */
-#define PRIoLEAST32 "o" /* uint_least32_t */
-#define PRIoLEAST64 "lo" /* uint_least64_t */
-#define PRIoFAST8 "o" /* uint_fast8_t */
-#define PRIoFAST16 "o" /* uint_fast16_t */
-#define PRIoFAST32 "o" /* uint_fast32_t */
-#define PRIoFAST64 "lo" /* uint_fast64_t */
-#define PRIoMAX "lo" /* uintmax_t */
-#define PRIoPTR "lo" /* uintptr_t */
-
-#define PRIu8 "u" /* uint8_t */
-#define PRIu16 "u" /* uint16_t */
-#define PRIu32 "u" /* uint32_t */
-#define PRIu64 "lu" /* uint64_t */
-#define PRIuLEAST8 "u" /* uint_least8_t */
-#define PRIuLEAST16 "u" /* uint_least16_t */
-#define PRIuLEAST32 "u" /* uint_least32_t */
-#define PRIuLEAST64 "lu" /* uint_least64_t */
-#define PRIuFAST8 "u" /* uint_fast8_t */
-#define PRIuFAST16 "u" /* uint_fast16_t */
-#define PRIuFAST32 "u" /* uint_fast32_t */
-#define PRIuFAST64 "lu" /* uint_fast64_t */
-#define PRIuMAX "lu" /* uintmax_t */
-#define PRIuPTR "lu" /* uintptr_t */
-
-#define PRIx8 "x" /* uint8_t */
-#define PRIx16 "x" /* uint16_t */
-#define PRIx32 "x" /* uint32_t */
-#define PRIx64 "lx" /* uint64_t */
-#define PRIxLEAST8 "x" /* uint_least8_t */
-#define PRIxLEAST16 "x" /* uint_least16_t */
-#define PRIxLEAST32 "x" /* uint_least32_t */
-#define PRIxLEAST64 "lx" /* uint_least64_t */
-#define PRIxFAST8 "x" /* uint_fast8_t */
-#define PRIxFAST16 "x" /* uint_fast16_t */
-#define PRIxFAST32 "x" /* uint_fast32_t */
-#define PRIxFAST64 "lx" /* uint_fast64_t */
-#define PRIxMAX "lx" /* uintmax_t */
-#define PRIxPTR "lx" /* uintptr_t */
-
-#define PRIX8 "X" /* uint8_t */
-#define PRIX16 "X" /* uint16_t */
-#define PRIX32 "X" /* uint32_t */
-#define PRIX64 "lX" /* uint64_t */
-#define PRIXLEAST8 "X" /* uint_least8_t */
-#define PRIXLEAST16 "X" /* uint_least16_t */
-#define PRIXLEAST32 "X" /* uint_least32_t */
-#define PRIXLEAST64 "lX" /* uint_least64_t */
-#define PRIXFAST8 "X" /* uint_fast8_t */
-#define PRIXFAST16 "X" /* uint_fast16_t */
-#define PRIXFAST32 "X" /* uint_fast32_t */
-#define PRIXFAST64 "lX" /* uint_fast64_t */
-#define PRIXMAX "lX" /* uintmax_t */
-#define PRIXPTR "lX" /* uintptr_t */
-
-/* fscanf macros for signed integers */
-
-#define SCNd8 "hhd" /* int8_t */
-#define SCNd16 "hd" /* int16_t */
-#define SCNd32 "d" /* int32_t */
-#define SCNd64 "ld" /* int64_t */
-#define SCNdLEAST8 "hhd" /* int_least8_t */
-#define SCNdLEAST16 "hd" /* int_least16_t */
-#define SCNdLEAST32 "d" /* int_least32_t */
-#define SCNdLEAST64 "ld" /* int_least64_t */
-#define SCNdFAST8 "d" /* int_fast8_t */
-#define SCNdFAST16 "d" /* int_fast16_t */
-#define SCNdFAST32 "d" /* int_fast32_t */
-#define SCNdFAST64 "ld" /* int_fast64_t */
-#define SCNdMAX "ld" /* intmax_t */
-#define SCNdPTR "ld" /* intptr_t */
-
-#define SCNi8 "hhi" /* int8_t */
-#define SCNi16 "hi" /* int16_t */
-#define SCNi32 "i" /* int32_t */
-#define SCNi64 "li" /* int64_t */
-#define SCNiLEAST8 "hhi" /* int_least8_t */
-#define SCNiLEAST16 "hi" /* int_least16_t */
-#define SCNiLEAST32 "i" /* int_least32_t */
-#define SCNiLEAST64 "li" /* int_least64_t */
-#define SCNiFAST8 "i" /* int_fast8_t */
-#define SCNiFAST16 "i" /* int_fast16_t */
-#define SCNiFAST32 "i" /* int_fast32_t */
-#define SCNiFAST64 "li" /* int_fast64_t */
-#define SCNiMAX "li" /* intmax_t */
-#define SCNiPTR "li" /* intptr_t */
-
-/* fscanf macros for unsigned integers */
-
-#define SCNo8 "hho" /* uint8_t */
-#define SCNo16 "ho" /* uint16_t */
-#define SCNo32 "o" /* uint32_t */
-#define SCNo64 "lo" /* uint64_t */
-#define SCNoLEAST8 "hho" /* uint_least8_t */
-#define SCNoLEAST16 "ho" /* uint_least16_t */
-#define SCNoLEAST32 "o" /* uint_least32_t */
-#define SCNoLEAST64 "lo" /* uint_least64_t */
-#define SCNoFAST8 "o" /* uint_fast8_t */
-#define SCNoFAST16 "o" /* uint_fast16_t */
-#define SCNoFAST32 "o" /* uint_fast32_t */
-#define SCNoFAST64 "lo" /* uint_fast64_t */
-#define SCNoMAX "lo" /* uintmax_t */
-#define SCNoPTR "lo" /* uintptr_t */
-
-#define SCNu8 "hhu" /* uint8_t */
-#define SCNu16 "hu" /* uint16_t */
-#define SCNu32 "u" /* uint32_t */
-#define SCNu64 "lu" /* uint64_t */
-#define SCNuLEAST8 "hhu" /* uint_least8_t */
-#define SCNuLEAST16 "hu" /* uint_least16_t */
-#define SCNuLEAST32 "u" /* uint_least32_t */
-#define SCNuLEAST64 "lu" /* uint_least64_t */
-#define SCNuFAST8 "u" /* uint_fast8_t */
-#define SCNuFAST16 "u" /* uint_fast16_t */
-#define SCNuFAST32 "u" /* uint_fast32_t */
-#define SCNuFAST64 "lu" /* uint_fast64_t */
-#define SCNuMAX "lu" /* uintmax_t */
-#define SCNuPTR "lu" /* uintptr_t */
-
-#define SCNx8 "hhx" /* uint8_t */
-#define SCNx16 "hx" /* uint16_t */
-#define SCNx32 "x" /* uint32_t */
-#define SCNx64 "lx" /* uint64_t */
-#define SCNxLEAST8 "hhx" /* uint_least8_t */
-#define SCNxLEAST16 "hx" /* uint_least16_t */
-#define SCNxLEAST32 "x" /* uint_least32_t */
-#define SCNxLEAST64 "lx" /* uint_least64_t */
-#define SCNxFAST8 "x" /* uint_fast8_t */
-#define SCNxFAST16 "x" /* uint_fast16_t */
-#define SCNxFAST32 "x" /* uint_fast32_t */
-#define SCNxFAST64 "lx" /* uint_fast64_t */
-#define SCNxMAX "lx" /* uintmax_t */
-#define SCNxPTR "lx" /* uintptr_t */
-
-#endif /* !_IA64_INT_FMTIO_H_ */
diff --git a/StdLib/Include/Ipf/machine/int_limits.h b/StdLib/Include/Ipf/machine/int_limits.h deleted file mode 100644 index d548a73e5c..0000000000 --- a/StdLib/Include/Ipf/machine/int_limits.h +++ /dev/null @@ -1,134 +0,0 @@ -/* $NetBSD: int_limits.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _IA64_INT_LIMITS_H_
-#define _IA64_INT_LIMITS_H_
-
-/*
- * 7.18.2 Limits of specified-width integer types
- */
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN (-0x7f-1) /* int8_t */
-#define INT16_MIN (-0x7fff-1) /* int16_t */
-#define INT32_MIN (-0x7fffffff-1) /* int32_t */
-#define INT64_MIN (-0x7fffffffffffffffL-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xffU /* uint8_t */
-#define UINT16_MAX 0xffffU /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffUL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
-#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
-#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
-#define INT_LEAST64_MIN (-0x7fffffffffffffffL-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xffU /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffffU /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffUL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
-#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
-#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
-#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN (-0x7fffffffffffffffL-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffffffffffffL /* intptr_t */
-#define UINTPTR_MAX 0xffffffffffffffffUL /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN (-0x7fffffffffffffffL-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffUL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN (-0x7fffffffffffffffL-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffffffffffffL /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN (-0x7fffffffffffffffL-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffffffffffffL /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffffffffffUL /* size_t */
-
-#endif /* !_IA64_INT_LIMITS_H_ */
diff --git a/StdLib/Include/Ipf/machine/int_mwgwtypes.h b/StdLib/Include/Ipf/machine/int_mwgwtypes.h deleted file mode 100644 index 6172c00ee9..0000000000 --- a/StdLib/Include/Ipf/machine/int_mwgwtypes.h +++ /dev/null @@ -1,83 +0,0 @@ -/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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 NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_mwgwtypes.h,v 1.1 2006/04/07 14:21:18 cherry Exp
-**/
-
-#ifndef _IA64_INT_MWGWTYPES_H_
-#define _IA64_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_IA64_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/Ipf/machine/int_types.h b/StdLib/Include/Ipf/machine/int_types.h deleted file mode 100644 index a429a389c3..0000000000 --- a/StdLib/Include/Ipf/machine/int_types.h +++ /dev/null @@ -1,74 +0,0 @@ -/* $NetBSD: int_types.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 1990 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.
- *
- * from: @(#)types.h 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _IA64_INT_TYPES_H_
-#define _IA64_INT_TYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short int __int16_t;
-typedef unsigned short int __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-#ifdef __COMPILER_INT64__
-typedef __COMPILER_INT64__ __int64_t;
-typedef __COMPILER_UINT64__ __uint64_t;
-#elif defined(_LP64)
-typedef long int __int64_t;
-typedef unsigned long int __uint64_t;
-#else
-/* LONGLONG */
-typedef long long int __int64_t;
-/* LONGLONG */
-typedef unsigned long long int __uint64_t;
-#endif
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-#ifdef _LP64
-typedef long int __intptr_t;
-typedef unsigned long int __uintptr_t;
-#else
-typedef int __intptr_t;
-typedef unsigned int __uintptr_t;
-#endif
-
-#endif /* !_IA64_INT_TYPES_H_ */
diff --git a/StdLib/Include/Ipf/machine/intr.h b/StdLib/Include/Ipf/machine/intr.h deleted file mode 100644 index a7ca5cfcf4..0000000000 --- a/StdLib/Include/Ipf/machine/intr.h +++ /dev/null @@ -1,60 +0,0 @@ -/* $NetBSD: intr.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/* XXX: cherry: To Be fixed when we switch on interrupts. */
-
-#ifndef _IA64_INTR_H_
-#define _IA64_INTR_H_
-
-#define IPL_NONE 0 /* XXX: Placeholder */
-#define IPL_BIO 0 /* XXX: Placeholder */
-#define IPL_NET 0 /* XXX: Placeholder */
-#define IPL_TTY 0 /* XXX: Placeholder */
-#define IPL_CLOCK 0 /* XXX: Placeholder */
-#define IPL_HIGH 0 /* XXX: Placeholder */
-#define IPL_SERIAL 0 /* XXX: Placeholder */
-#define IPL_SCHED 0 /* XXX: Placeholder */
-#define IPL_VM 0 /* XXX: Placeholder */
-
-#define IPL_SOFTCLOCK 0 /* XXX: Placeholder */
-#define IPL_SOFTNET 0 /* XXX: Placeholder */
-#define IPL_SOFTSERIAL 0 /* XXX: Placeholder */
-
-static __inline int splraise(int dummy) { return 0; }
-static __inline void spllower(int dummy) { }
-
-/*
- * Hardware interrupt masks
- */
-#define splbio() splraise(IPL_BIO)
-#define splnet() splraise(IPL_NET)
-#define spltty() splraise(IPL_TTY)
-#define splaudio() splraise(IPL_AUDIO)
-#define splclock() splraise(IPL_CLOCK)
-#define splstatclock() splclock()
-#define splserial() splraise(IPL_SERIAL)
-#define splipi() splraise(IPL_IPI)
-
-
-/*
- * Miscellaneous
- */
-#define splvm() splraise(IPL_VM)
-#define splhigh() splraise(IPL_HIGH)
-#define spl0() spllower(IPL_NONE)
-#define splsched() splraise(IPL_SCHED)
-#define spllock() splhigh()
-#define splx(x) spllower(x)
-
-/*
- * Software interrupt masks
- *
- * NOTE: spllowersoftclock() is used by hardclock() to lower the priority from
- * clock to softclock before it calls softclock().
- */
-
-#define spllowersoftclock() spllower(IPL_SOFTCLOCK)
-#define splsoftclock() splraise(IPL_SOFTCLOCK)
-#define splsoftnet() splraise(IPL_SOFTNET)
-#define splsoftserial() splraise(IPL_SOFTSERIAL)
-
-#endif /* ! _IA64_INTR_H_ */
diff --git a/StdLib/Include/Ipf/machine/intrcnt.h b/StdLib/Include/Ipf/machine/intrcnt.h deleted file mode 100644 index 16d91c4ee9..0000000000 --- a/StdLib/Include/Ipf/machine/intrcnt.h +++ /dev/null @@ -1,43 +0,0 @@ -/* $NetBSD: intrcnt.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 1995, 1996 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Author: Chris G. Demetriou
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-#define INTRCNT_CLOCK 0
-#define INTRCNT_ISA_IRQ (INTRCNT_CLOCK + 1)
-#define INTRCNT_ISA_IRQ_LEN 16
-#define INTRCNT_OTHER_BASE (INTRCNT_ISA_IRQ + INTRCNT_ISA_IRQ_LEN)
-#define INTRCNT_OTHER_LEN 240
-#define INTRCNT_COUNT (INTRCNT_OTHER_BASE + INTRCNT_OTHER_LEN)
-
-/*
- * Maximum name length in intrnames table (including terminating '\0'.
- * Since vmstat(8) assumes a maximum length of 13 (including '\0'), we're
- * pretty much limited to that (unless we don't care about the alignment
- * of the columns :-)
- */
-#define INTRNAME_LEN 13
diff --git a/StdLib/Include/Ipf/machine/limits.h b/StdLib/Include/Ipf/machine/limits.h deleted file mode 100644 index 311b4bb578..0000000000 --- a/StdLib/Include/Ipf/machine/limits.h +++ /dev/null @@ -1,89 +0,0 @@ -/* $NetBSD: limits.h,v 1.2 2006/05/14 21:55:38 elad Exp $ */
-
-/*
- * Copyright (c) 1988 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.
- *
- * @(#)limits.h 7.2 (Berkeley) 6/28/90
- */
-
-#ifndef _MACHINE_LIMITS_H_
-#define _MACHINE_LIMITS_H_
-
-#define __CHAR_BIT 8 /* number of bits in a char */
-//#define MB_LEN_MAX 32 /* no multibyte characters */
-
-#define __SCHAR_MIN (-128) /* max value for a signed char */
-#define __SCHAR_MAX 127 /* min value for a signed char */
-
-#define __UCHAR_MAX 255 /* max value for an unsigned char */
-//#define CHAR_MAX 0x7f /* max value for a char */
-//#define CHAR_MIN (-0x7f-1) /* min value for a char */
-
-#define __USHRT_MAX 0xffffU /* max value for an unsigned short */
-#define __SHRT_MAX 0x7fff /* max value for a short */
-#define __SHRT_MIN (-0x7fff-1) /* min value for a short */
-
-#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */
-#define __INT_MAX 0x7fffffff /* max value for an int */
-#define __INT_MIN (-0x7fffffff-1) /* min value for an int */
-
-//#define __ULONG_MAX 0xffffffffffffffffUL /* max value for an unsigned long */
-//#define __LONG_MAX 0x7fffffffffffffffL /* max value for a long */
-//#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min value for a long */
-#define __ULONG_MAX __UINT_MAX /* max value for an unsigned long */
-#define __LONG_MAX __INT_MAX /* max value for a long */
-#define __LONG_MIN __INT_MIN /* min value for a long */
-
-
-#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
-
-#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 */
-
-#define SIZE_T_MAX __ULLONG_MAX /* max value for a size_t */
-
-/* GCC requires that quad constants be written as expressions. */
-#define UQUAD_MAX ((u_quad_t)0-1) /* max value for a uquad_t */
- /* max value for a quad_t */
-#define QUAD_MAX ((quad_t)(UQUAD_MAX >> 1))
-#define QUAD_MIN (-QUAD_MAX-1) /* min value for a quad_t */
-
-
-#define LONG_BIT 32
-#define WORD_BIT 32
-
-/* Intel extensions to <limits.h> for UEFI */
-#define __SHORT_BIT 16
-#define __WCHAR_BIT 16
-#define __INT_BIT 32
-#define __LONG_BIT 32 /* Compiler dependent */
-#define __LONG_LONG_BIT 64
-#define __POINTER_BIT 64
-
-#endif /* _MACHINE_LIMITS_H_ */
diff --git a/StdLib/Include/Ipf/machine/loadfile_machdep.h b/StdLib/Include/Ipf/machine/loadfile_machdep.h deleted file mode 100644 index 5c2099d304..0000000000 --- a/StdLib/Include/Ipf/machine/loadfile_machdep.h +++ /dev/null @@ -1,97 +0,0 @@ -/* $NetBSD: loadfile_machdep.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 1998 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Christos Zoulas and Ross Harvey.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#define BOOT_ELF64
-
-#define LOAD_KERNEL (LOAD_ALL & ~LOAD_TEXTA)
-#define COUNT_KERNEL (COUNT_ALL & ~COUNT_TEXTA)
-
-#ifndef MD_LOADSEG
-/* XXX: Multiple unwind sections are ignored, and the last one found returned... Fixme! */
-extern vaddr_t ia64_unwindtab;
-extern vsize_t ia64_unwindtablen;
-#define MD_LOADSEG(phdr) ((phdr)->p_type == PT_IA_64_UNWIND ? ia64_unwindtab = (phdr)->p_vaddr, ia64_unwindtablen = (phdr)->p_filesz, 1 : 0)
-#endif
-
-#ifdef _STANDALONE
-
-/* XXX: cherry: This whole thing is glue between the NetBSD pread/vpbcopy etc. etc
- * and the FreeBSD kern_pread/bzero etc. etc. Needs to be cleaned up
- * after discussion.
- */
-
-#include "bootstrap.h"
-
-#define LOADADDR(a) ((a) + offset)
-#define ALIGNENTRY(a) Error! alpha supports ECOFF and ELF only! /* Fixme: for ia64 */
-#define READ(f, b, c) pread((f), LOADADDR(b), (c))
-#define BCOPY(s, d, c) vpbcopy((s), LOADADDR(d), (c))
-#define BZERO(d, c) pbzero(LOADADDR(d), (c))
-#define WARN(a) (void)(printf a, \
- printf((errno ? ": %s\n" : "\n"), \
- strerror(errno)))
-#define PROGRESS(a) (void) printf a
-#define ALLOC(a) alloc(a)
-#define DEALLOC(a, b) dealloc(a, b)
-#define OKMAGIC(a) Error! ia64 supports ELF only!
-
-
-/* XXX: defines below glues NetBSD conventions with bootstrap.h. */
-
-#define vpbcopy archsw.arch_copyin
-#define pbzero kern_bzero
-#define pread archsw.arch_readin
-
-#else
-
-#define LOADADDR(a) (((u_long)(a)) + offset)
-#define ALIGNENTRY(a) ((u_long)(a))
-#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c))
-#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c))
-#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c))
-#define WARN(a) warn a
-#define PROGRESS(a) /* nothing */
-#define ALLOC(a) malloc(a)
-#define DEALLOC(a, b) free(a)
-#define OKMAGIC(a) ((a) == OMAGIC)
-
-ssize_t vread(int, u_long, u_long *, size_t);
-void vcopy(u_long, u_long, u_long *, size_t);
-void vzero(u_long, u_long *, size_t);
-
-#endif
diff --git a/StdLib/Include/Ipf/machine/math.h b/StdLib/Include/Ipf/machine/math.h deleted file mode 100644 index ddd3922d1b..0000000000 --- a/StdLib/Include/Ipf/machine/math.h +++ /dev/null @@ -1,6 +0,0 @@ -/* $NetBSD: math.h,v 1.3 2005/12/11 12:16:25 christos Exp $ */
-
-//#include <x86/math.h>
-
-//#define __HAVE_LONG_DOUBLE
-//#define __HAVE_NANF
diff --git a/StdLib/Include/Ipf/machine/mca_machdep.h b/StdLib/Include/Ipf/machine/mca_machdep.h deleted file mode 100644 index 48674e1b2e..0000000000 --- a/StdLib/Include/Ipf/machine/mca_machdep.h +++ /dev/null @@ -1,248 +0,0 @@ -/* $NetBSD: mca_machdep.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2002 Marcel Moolenaar
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_MCA_H_
-#define _MACHINE_MCA_H_
-
-struct mca_record_header {
- uint64_t rh_seqnr; /* Record id. */
- uint8_t rh_major; /* BCD (=02). */
- uint8_t rh_minor; /* BCD (=00). */
- uint8_t rh_error; /* Error severity. */
-#define MCA_RH_ERROR_RECOVERABLE 0
-#define MCA_RH_ERROR_FATAL 1
-#define MCA_RH_ERROR_CORRECTED 2
- uint8_t rh_flags;
-#define MCA_RH_FLAGS_PLATFORM_ID 0x01 /* Platform_id present. */
- uint32_t rh_length; /* Size including header. */
- uint8_t rh_time[8];
-#define MCA_RH_TIME_SEC 0
-#define MCA_RH_TIME_MIN 1
-#define MCA_RH_TIME_HOUR 2
-#define MCA_RH_TIME_MDAY 4
-#define MCA_RH_TIME_MON 5
-#define MCA_RH_TIME_YEAR 6
-#define MCA_RH_TIME_CENT 7
- struct uuid rh_platform;
-};
-
-struct mca_section_header {
- struct uuid sh_uuid;
- uint8_t sh_major; /* BCD (=02). */
- uint8_t sh_minor; /* BCD (=00). */
- uint8_t sh_flags;
-#define MCA_SH_FLAGS_CORRECTED 0x01 /* Error has been corrected. */
-#define MCA_SH_FLAGS_PROPAGATE 0x02 /* Possible propagation. */
-#define MCA_SH_FLAGS_RESET 0x04 /* Reset device before use. */
-#define MCA_SH_FLAGS_VALID 0x80 /* Flags are valid. */
- uint8_t __reserved;
- uint32_t sh_length; /* Size including header. */
-};
-
-struct mca_cpu_record {
- uint64_t cpu_flags;
-#define MCA_CPU_FLAGS_ERRMAP (1ULL << 0)
-#define MCA_CPU_FLAGS_STATE (1ULL << 1)
-#define MCA_CPU_FLAGS_CR_LID (1ULL << 2)
-#define MCA_CPU_FLAGS_PSI_STRUCT (1ULL << 3)
-#define MCA_CPU_FLAGS_CACHE(x) (((x) >> 4) & 15)
-#define MCA_CPU_FLAGS_TLB(x) (((x) >> 8) & 15)
-#define MCA_CPU_FLAGS_BUS(x) (((x) >> 12) & 15)
-#define MCA_CPU_FLAGS_REG(x) (((x) >> 16) & 15)
-#define MCA_CPU_FLAGS_MS(x) (((x) >> 20) & 15)
-#define MCA_CPU_FLAGS_CPUID (1ULL << 24)
- uint64_t cpu_errmap;
- uint64_t cpu_state;
- uint64_t cpu_cr_lid;
- /* Nx cpu_mod (cache). */
- /* Nx cpu_mod (TLB). */
- /* Nx cpu_mod (bus). */
- /* Nx cpu_mod (reg). */
- /* Nx cpu_mod (MS). */
- /* cpu_cpuid. */
- /* cpu_psi. */
-};
-
-struct mca_cpu_cpuid {
- uint64_t cpuid[6];
-};
-
-struct mca_cpu_mod {
- uint64_t cpu_mod_flags;
-#define MCA_CPU_MOD_FLAGS_INFO (1ULL << 0)
-#define MCA_CPU_MOD_FLAGS_REQID (1ULL << 1)
-#define MCA_CPU_MOD_FLAGS_RSPID (1ULL << 2)
-#define MCA_CPU_MOD_FLAGS_TGTID (1ULL << 3)
-#define MCA_CPU_MOD_FLAGS_IP (1ULL << 4)
- uint64_t cpu_mod_info;
- uint64_t cpu_mod_reqid;
- uint64_t cpu_mod_rspid;
- uint64_t cpu_mod_tgtid;
- uint64_t cpu_mod_ip;
-};
-
-struct mca_cpu_psi {
- uint64_t cpu_psi_flags;
-#define MCA_CPU_PSI_FLAGS_STATE (1ULL << 0)
-#define MCA_CPU_PSI_FLAGS_BR (1ULL << 1)
-#define MCA_CPU_PSI_FLAGS_CR (1ULL << 2)
-#define MCA_CPU_PSI_FLAGS_AR (1ULL << 3)
-#define MCA_CPU_PSI_FLAGS_RR (1ULL << 4)
-#define MCA_CPU_PSI_FLAGS_FR (1ULL << 5)
- uint8_t cpu_psi_state[1024]; /* XXX variable? */
- uint64_t cpu_psi_br[8];
- uint64_t cpu_psi_cr[128]; /* XXX variable? */
- uint64_t cpu_psi_ar[128]; /* XXX variable? */
- uint64_t cpu_psi_rr[8];
- uint64_t cpu_psi_fr[256]; /* 16 bytes per register! */
-};
-
-struct mca_mem_record {
- uint64_t mem_flags;
-#define MCA_MEM_FLAGS_STATUS (1ULL << 0)
-#define MCA_MEM_FLAGS_ADDR (1ULL << 1)
-#define MCA_MEM_FLAGS_ADDRMASK (1ULL << 2)
-#define MCA_MEM_FLAGS_NODE (1ULL << 3)
-#define MCA_MEM_FLAGS_CARD (1ULL << 4)
-#define MCA_MEM_FLAGS_MODULE (1ULL << 5)
-#define MCA_MEM_FLAGS_BANK (1ULL << 6)
-#define MCA_MEM_FLAGS_DEVICE (1ULL << 7)
-#define MCA_MEM_FLAGS_ROW (1ULL << 8)
-#define MCA_MEM_FLAGS_COLUMN (1ULL << 9)
-#define MCA_MEM_FLAGS_BITPOS (1ULL << 10)
-#define MCA_MEM_FLAGS_REQID (1ULL << 11)
-#define MCA_MEM_FLAGS_RSPID (1ULL << 12)
-#define MCA_MEM_FLAGS_TGTID (1ULL << 13)
-#define MCA_MEM_FLAGS_BUSDATA (1ULL << 14)
-#define MCA_MEM_FLAGS_OEM_ID (1ULL << 15)
-#define MCA_MEM_FLAGS_OEM_DATA (1ULL << 16)
- uint64_t mem_status;
- uint64_t mem_addr;
- uint64_t mem_addrmask;
- uint16_t mem_node;
- uint16_t mem_card;
- uint16_t mem_module;
- uint16_t mem_bank;
- uint16_t mem_device;
- uint16_t mem_row;
- uint16_t mem_column;
- uint16_t mem_bitpos;
- uint64_t mem_reqid;
- uint64_t mem_rspid;
- uint64_t mem_tgtid;
- uint64_t mem_busdata;
- struct uuid mem_oem_id;
- uint16_t mem_oem_length; /* Size of OEM data. */
- /* N bytes of OEM platform data. */
-};
-
-struct mca_pcibus_record {
- uint64_t pcibus_flags;
-#define MCA_PCIBUS_FLAGS_STATUS (1ULL << 0)
-#define MCA_PCIBUS_FLAGS_ERROR (1ULL << 1)
-#define MCA_PCIBUS_FLAGS_BUS (1ULL << 2)
-#define MCA_PCIBUS_FLAGS_ADDR (1ULL << 3)
-#define MCA_PCIBUS_FLAGS_DATA (1ULL << 4)
-#define MCA_PCIBUS_FLAGS_CMD (1ULL << 5)
-#define MCA_PCIBUS_FLAGS_REQID (1ULL << 6)
-#define MCA_PCIBUS_FLAGS_RSPID (1ULL << 7)
-#define MCA_PCIBUS_FLAGS_TGTID (1ULL << 8)
-#define MCA_PCIBUS_FLAGS_OEM_ID (1ULL << 9)
-#define MCA_PCIBUS_FLAGS_OEM_DATA (1ULL << 10)
- uint64_t pcibus_status;
- uint16_t pcibus_error;
- uint16_t pcibus_bus;
- uint32_t __reserved;
- uint64_t pcibus_addr;
- uint64_t pcibus_data;
- uint64_t pcibus_cmd;
- uint64_t pcibus_reqid;
- uint64_t pcibus_rspid;
- uint64_t pcibus_tgtid;
- struct uuid pcibus_oem_id;
- uint16_t pcibus_oem_length; /* Size of OEM data. */
- /* N bytes of OEM platform data. */
-};
-
-struct mca_pcidev_record {
- uint64_t pcidev_flags;
-#define MCA_PCIDEV_FLAGS_STATUS (1ULL << 0)
-#define MCA_PCIDEV_FLAGS_INFO (1ULL << 1)
-#define MCA_PCIDEV_FLAGS_REG_MEM (1ULL << 2)
-#define MCA_PCIDEV_FLAGS_REG_IO (1ULL << 3)
-#define MCA_PCIDEV_FLAGS_REG_DATA (1ULL << 4)
-#define MCA_PCIDEV_FLAGS_OEM_DATA (1ULL << 5)
- uint64_t pcidev_status;
- struct {
- uint16_t info_vendor;
- uint16_t info_device;
- uint32_t info_ccfn; /* Class code & funct. nr. */
-#define MCA_PCIDEV_INFO_CLASS(x) ((x) & 0xffffff)
-#define MCA_PCIDEV_INFO_FUNCTION(x) (((x) >> 24) & 0xff)
- uint8_t info_slot;
- uint8_t info_bus;
- uint8_t info_segment;
- uint8_t __res0;
- uint32_t __res1;
- } pcidev_info;
- uint32_t pcidev_reg_mem;
- uint32_t pcidev_reg_io;
- /* Nx pcidev_reg. */
- /* M bytes of OEM platform data. */
-};
-
-struct mca_pcidev_reg {
- uint64_t pcidev_reg_addr;
- uint64_t pcidev_reg_data;
-};
-
-#define MCA_UUID_CPU \
- {0xe429faf1,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_MEMORY \
- {0xe429faf2,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_SEL \
- {0xe429faf3,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_PCI_BUS \
- {0xe429faf4,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_SMBIOS \
- {0xe429faf5,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_PCI_DEV \
- {0xe429faf6,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-#define MCA_UUID_GENERIC \
- {0xe429faf7,0x3cb7,0x11d4,0xbc,0xa7,{0x00,0x80,0xc7,0x3c,0x88,0x81}}
-
-#ifdef _KERNEL
-
-void ia64_mca_init(void);
-void ia64_mca_save_state(int);
-
-#endif /* _KERNEL */
-
-#endif /* _MACHINE_MCA_H_ */
diff --git a/StdLib/Include/Ipf/machine/md_var.h b/StdLib/Include/Ipf/machine/md_var.h deleted file mode 100644 index 1f5a75d3da..0000000000 --- a/StdLib/Include/Ipf/machine/md_var.h +++ /dev/null @@ -1,95 +0,0 @@ -/* $NetBSD: md_var.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 1998 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _IA64_MD_VAR_H_
-#define _IA64_MD_VAR_H_
-
-/*
- * Miscellaneous machine-dependent declarations.
- */
-
-struct ia64_fdesc {
- uint64_t func;
- uint64_t gp;
-};
-
-#define FDESC_FUNC(fn) (((struct ia64_fdesc *) fn)->func)
-#define FDESC_GP(fn) (((struct ia64_fdesc *) fn)->gp)
-
-/* Convenience macros to decompose CFM & ar.pfs. */
-#define IA64_CFM_SOF(x) ((x) & 0x7f)
-#define IA64_CFM_SOL(x) (((x) >> 7) & 0x7f)
-#define IA64_CFM_SOR(x) (((x) >> 14) & 0x0f)
-#define IA64_CFM_RRB_GR(x) (((x) >> 18) & 0x7f)
-#define IA64_CFM_RRB_FR(x) (((x) >> 25) & 0x7f)
-#define IA64_CFM_RRB_PR(x) (((x) >> 32) & 0x3f)
-
-#define IA64_RNATINDEX(x) (((x) & 0x1f8) >> 3)
-
-#ifdef _KERNEL
-
-extern char sigcode[];
-extern char esigcode[];
-extern int szsigcode;
-extern long Maxmem;
-extern vaddr_t kernstart, kernend;
-
-
-struct _special;
-struct fpreg;
-struct reg;
-struct thread;
-struct trapframe;
-
-void busdma_swi(void);
-int copyout_regstack(struct thread *, uint64_t *, uint64_t *);
-void cpu_mp_add(u_int, u_int, u_int);
-int do_ast(struct trapframe *);
-void ia32_trap(int, struct trapframe *);
-int ia64_count_cpus(void);
-void ia64_flush_dirty(struct thread *, struct _special *);
-uint64_t ia64_get_hcdp(void);
-int ia64_highfp_drop(struct thread *);
-int ia64_highfp_save(struct thread *);
-void ia64_init(void);
-void ia64_probe_sapics(void);
-int interrupt(uint64_t, struct trapframe *);
-void map_gateway_page(void);
-void map_pal_code(void);
-void os_boot_rendez(void);
-void os_mca(void);
-int syscall(struct trapframe *);
-void trap(int, struct trapframe *);
-void trap_panic(int, struct trapframe *);
-int unaligned_fixup(struct trapframe *, struct thread *);
-
-#endif /* _KERNEL */
-
-#endif /* !_IA64_MD_VAR_H_ */
diff --git a/StdLib/Include/Ipf/machine/pal.h b/StdLib/Include/Ipf/machine/pal.h deleted file mode 100644 index 4a76d62f52..0000000000 --- a/StdLib/Include/Ipf/machine/pal.h +++ /dev/null @@ -1,111 +0,0 @@ -/* $NetBSD: pal.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2000 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_PAL_H_
-#define _MACHINE_PAL_H_
-
-/*
- * Architected static calling convention procedures.
- */
-#define PAL_CACHE_FLUSH 1
-#define PAL_CACHE_INFO 2
-#define PAL_CACHE_INIT 3
-#define PAL_CACHE_SUMMARY 4
-#define PAL_MEM_ATTRIB 5
-#define PAL_PTCE_INFO 6
-#define PAL_VM_INFO 7
-#define PAL_VM_SUMMARY 8
-#define PAL_BUS_GET_FEATURES 9
-#define PAL_BUS_SET_FEATURES 10
-#define PAL_DEBUG_INFO 11
-#define PAL_FIXED_ADDR 12
-#define PAL_FREQ_BASE 13
-#define PAL_FREQ_RATIOS 14
-#define PAL_PERF_MON_INFO 15
-#define PAL_PLATFORM_ADDR 16
-#define PAL_PROC_GET_FEATURE 17
-#define PAL_PROC_SET_FEATURE 18
-#define PAL_RSE_INFO 19
-#define PAL_VERSION 20
-#define PAL_MC_CLEAR_LOG 21
-#define PAL_MC_DRAIN 22
-#define PAL_MC_DYNAMIC_STATE 24
-#define PAL_MC_ERROR_INFO 25
-#define PAL_MC_EXPECTED 23
-#define PAL_MC_REGISTER_MEM 27
-#define PAL_MC_RESUME 26
-#define PAL_HALT 28
-#define PAL_HALT_LIGHT 29
-#define PAL_COPY_INFO 30
-#define PAL_CACHE_LINE_INIT 31
-#define PAL_PMI_ENTRYPOINT 32
-#define PAL_ENTER_IA_32_ENV 33
-#define PAL_VM_PAGE_SIZE 34
-#define PAL_MEM_FOR_TEST 37
-#define PAL_CACHE_PROT_INFO 38
-#define PAL_REGISTER_INFO 39
-#define PAL_SHUTDOWN 40
-#define PAL_PREFETCH_VISIBILITY 41
-
-/*
- * Architected stacked calling convention procedures.
- */
-#define PAL_COPY_PAL 256
-#define PAL_HALT_INFO 257
-#define PAL_TEST_PROC 258
-#define PAL_CACHE_READ 259
-#define PAL_CACHE_WRITE 260
-#define PAL_VM_TR_READ 261
-
-/*
- * Default physical address of the Processor Interrupt Block (PIB).
- * See also: IA-64 SDM, rev 1.1, volume 2, page 5-31.
- */
-#define PAL_PIB_DEFAULT_ADDR 0x00000000FEE00000L
-
-struct ia64_pal_result {
- int64_t pal_status;
- u_int64_t pal_result[3];
-};
-
-extern struct ia64_pal_result
- ia64_call_pal_static(u_int64_t proc, u_int64_t arg1,
- u_int64_t arg2, u_int64_t arg3);
-extern struct ia64_pal_result
- ia64_call_pal_static_physical(u_int64_t proc, u_int64_t arg1,
- u_int64_t arg2, u_int64_t arg3);
-extern struct ia64_pal_result
- ia64_call_pal_stacked(u_int64_t proc, u_int64_t arg1,
- u_int64_t arg2, u_int64_t arg3);
-extern struct ia64_pal_result
- ia64_call_pal_stacked_physical(u_int64_t proc, u_int64_t arg1,
- u_int64_t arg2, u_int64_t arg3);
-
-#endif /* _MACHINE_PAL_H_ */
diff --git a/StdLib/Include/Ipf/machine/param.h b/StdLib/Include/Ipf/machine/param.h deleted file mode 100644 index 4675804ce9..0000000000 --- a/StdLib/Include/Ipf/machine/param.h +++ /dev/null @@ -1,143 +0,0 @@ -/** @file
- Machine dependent constants for Intel Itanium Architecture(IPF).
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * @(#)param.h 5.8 (Berkeley) 6/28/91
- * $NetBSD: param.h,v 1.2 2006/08/28 13:43:35 yamt Exp
- */
-#ifndef _IA64_PARAM_H_
-#define _IA64_PARAM_H_
-
-#define _MACHINE ia64
-#define MACHINE "ia64"
-#define _MACHINE_ARCH ia64
-#define MACHINE_ARCH "ia64"
-#define MID_MACHINE MID_IA64
-
-#ifdef SMP
-#define MAXCPU 512
-#else
-#define MAXCPU 1
-#endif
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1<<DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-
-#ifndef MAXPHYS
-#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
-#endif
-
-#define UPAGES 4
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
-
-#ifndef MSGBUFSIZE
-#define MSGBUFSIZE NBPG /* default message buffer size */
-#endif
-
-#ifndef KSTACK_PAGES
-#define KSTACK_PAGES 4 /* pages of kernel stack */
-#endif
-#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int 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 15
-#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) ((((UINT64)(p)) & (sizeof(t)-1)) == 0)
-
-#define ALIGNBYTES32 (sizeof(INT32) - 1)
-#define ALIGN32(p) (((UINT64)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
-
-#define PGSHIFT 14 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (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 */
-
-#ifndef MCLSHIFT
- #define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifdef GATEWAY
- #define NMBCLUSTERS 2048 /* map size, max cluster allocation */
-#else
- #define NMBCLUSTERS 1024 /* map size, max cluster allocation */
-#endif
-
-/*
- * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
- * logical pages.
- */
-#define NKMEMPAGES_MIN_DEFAULT ((12 * 1024 * 1024) >> PAGE_SHIFT)
-#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
-
-/*
- * Mach derived conversion macros
- */
-
-#define ia64_round_page(x) ((((EFI_ULONG_T)(x)) + NBPG - 1) & ~(NBPG - 1))
-#define ia64_trunc_page(x) ((EFI_ULONG_T)(x) & ~(NBPG - 1))
-
-#define ia64_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
-#define ia64_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
-
-#endif /* _IA64_PARAM_H_ */
diff --git a/StdLib/Include/Ipf/machine/pcb.h b/StdLib/Include/Ipf/machine/pcb.h deleted file mode 100644 index 6158e29f93..0000000000 --- a/StdLib/Include/Ipf/machine/pcb.h +++ /dev/null @@ -1,78 +0,0 @@ -/* $NetBSD: pcb.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2003,2004 Marcel Moolenaar
- * Copyright (c) 2000 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD: src/sys/ia64/include/pcb.h,v 1.16 2004/08/16 19:05:08 marcel Exp $
- */
-
-#ifndef _IA64_PCB_H_
-#define _IA64_PCB_H_
-
-#include <machine/_regset.h>
-#include <sys/lock.h>
-
-/*
- * PCB: process control block
- */
-struct pmap;
-struct pcb {
- struct _special pcb_special;
- struct _callee_saved pcb_preserved;
- struct _callee_saved_fp pcb_preserved_fp;
- struct _high_fp pcb_high_fp;
- struct pcpu *pcb_fpcpu;
- struct simplelock pcb_fpcpu_slock;
-
-
- /* IA32 specific registers. */
- uint64_t pcb_ia32_cflg;
- uint64_t pcb_ia32_eflag;
- uint64_t pcb_ia32_fcr;
- uint64_t pcb_ia32_fdr;
- uint64_t pcb_ia32_fir;
- uint64_t pcb_ia32_fsr;
-
- uint64_t pcb_onfault; /* for copy faults */
- // struct pmap *pcb_current_pmap;
-};
-
-#ifdef _KERNEL
-
-#define savectx(p) swapctx(p, NULL)
-
-struct trapframe;
-
-void makectx(struct trapframe *, struct pcb *);
-/*void restorectx(struct pcb *) __dead2;*/
-int swapctx(struct pcb *old, struct pcb *new);
-
-void ia32_restorectx(struct pcb *);
-void ia32_savectx(struct pcb *);
-
-#endif
-
-#endif /* _IA64_PCB_H_ */
diff --git a/StdLib/Include/Ipf/machine/pmap.h b/StdLib/Include/Ipf/machine/pmap.h deleted file mode 100644 index 04b78a3e60..0000000000 --- a/StdLib/Include/Ipf/machine/pmap.h +++ /dev/null @@ -1,162 +0,0 @@ -/*-
- * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center and by Chris G. Demetriou.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-/*-
- * Copyright (c) 1991 Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department and William Jolitz of UUNET Technologies 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.
- * 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.
- *
- * Derived from hp300 version by Mike Hibler, this version by William
- * Jolitz uses a recursive map [a pde points to the page directory] to
- * map the page tables using the pagetables themselves. This is done to
- * reduce the impact on kernel virtual memory for lots of sparse address
- * space, and to reduce the cost of memory to each process.
- *
- * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
- * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
- * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp
- * $FreeBSD: src/sys/ia64/include/pmap.h,v 1.25 2005/09/03 23:53:50 marcel Exp $
- */
-
-#ifndef _PMAP_MACHINE_
-#define _PMAP_MACHINE_
-
-#include <sys/lock.h>
-
-paddr_t vtophys(vaddr_t);
-
-struct pv_entry; /* Forward declaration. */
-
-struct pmap {
- TAILQ_ENTRY(pmap) pm_list; /* list of all pmaps */
- TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */
- int pm_count; /* pmap reference count */
- struct simplelock pm_slock; /* lock on pmap */
- u_int32_t pm_rid[5]; /* base RID for pmap */
- int pm_active; /* active flag */
- struct pmap_statistics pm_stats; /* pmap statistics */
- unsigned long pm_cpus; /* mask of CPUs using pmap */
-
-};
-
-typedef struct pmap *pmap_t;
-
-/*
- * For each vm_page_t, there is a list of all currently valid virtual
- * mappings of that page. An entry is a pv_entry_t, the list is pv_pvlist.
- */
-typedef struct pv_entry {
- pmap_t pv_pmap; /* pmap where mapping lies */
- vaddr_t pv_va; /* virtual address for mapping */
- TAILQ_ENTRY(pv_entry) pv_list;
- TAILQ_ENTRY(pv_entry) pv_plist;
-} *pv_entry_t;
-
-/* pvh_attrs */
-#define PGA_MODIFIED 0x01 /* modified */
-#define PGA_REFERENCED 0x02 /* referenced */
-
-
-extern struct pmap kernel_pmap_store;
-
-#define pmap_kernel() (&kernel_pmap_store)
-
-#define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count)
-#define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count)
-
-#define pmap_copy(dp, sp, da, l, sa) /* nothing */
-#define pmap_update(pmap) /* nothing (yet) */
-
-void pmap_bootstrap(void);
-
-#define pmap_is_referenced(pg) \
- (((pg)->mdpage.pvh_attrs & PGA_REFERENCED) != 0)
-#define pmap_is_modified(pg) \
- (((pg)->mdpage.pvh_attrs & PGA_MODIFIED) != 0)
-
-
-#define PMAP_STEAL_MEMORY /* enable pmap_steal_memory() */
-
-/*
- * Alternate mapping hooks for pool pages. Avoids thrashing the TLB.
- */
-#define PMAP_MAP_POOLPAGE(pa) IA64_PHYS_TO_RR7((pa))
-#define PMAP_UNMAP_POOLPAGE(va) IA64_RR_MASK((va))
-
-/*
- * Macros for locking pmap structures.
- *
- * Note that we if we access the kernel pmap in interrupt context, it
- * is only to update statistics. Since stats are updated using atomic
- * operations, locking the kernel pmap is not necessary. Therefore,
- * it is not necessary to block interrupts when locking pmap strucutres.
- */
-#define PMAP_LOCK(pmap) simple_lock(&(pmap)->pm_slock)
-#define PMAP_UNLOCK(pmap) simple_unlock(&(pmap)->pm_slock)
-
-
-#define PMAP_VHPT_LOG2SIZE 16
-
-
-#endif /* _PMAP_MACHINE_ */
diff --git a/StdLib/Include/Ipf/machine/pte.h b/StdLib/Include/Ipf/machine/pte.h deleted file mode 100644 index aa4fe017d7..0000000000 --- a/StdLib/Include/Ipf/machine/pte.h +++ /dev/null @@ -1,110 +0,0 @@ -/* $NetBSD: pte.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2001 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_PTE_H_
-#define _MACHINE_PTE_H_
-
-#define PTE_PRESENT 0x0000000000000001
-#define PTE__RV1_ 0x0000000000000002
-#define PTE_MA_MASK 0x000000000000001C
-#define PTE_MA_WB 0x0000000000000000
-#define PTE_MA_UC 0x0000000000000010
-#define PTE_MA_UCE 0x0000000000000014
-#define PTE_MA_WC 0x0000000000000018
-#define PTE_MA_NATPAGE 0x000000000000001C
-#define PTE_ACCESSED 0x0000000000000020
-#define PTE_DIRTY 0x0000000000000040
-#define PTE_PL_MASK 0x0000000000000180
-#define PTE_PL_KERN 0x0000000000000000
-#define PTE_PL_USER 0x0000000000000180
-#define PTE_AR_MASK 0x0000000000000E00
-
-#define PTE_AR_R 0x0000000000000000
-#define PTE_AR_RX 0x0000000000000200
-#define PTE_AR_RW 0x0000000000000400
-#define PTE_AR_RWX 0x0000000000000600
-#define PTE_AR_R_RW 0x0000000000000800
-#define PTE_AR_RX_RWX 0x0000000000000A00
-#define PTE_AR_RWX_RW 0x0000000000000C00
-#define PTE_AR_X_RX 0x0000000000000E00
-#define PTE_PPN_MASK 0x0003FFFFFFFFF000
-#define PTE__RV2_ 0x000C000000000000
-#define PTE_ED 0x0010000000000000
-#define PTE_IG_MASK 0xFFE0000000000000
-#define PTE_WIRED 0x0020000000000000
-#define PTE_MANAGED 0x0040000000000000
-#define PTE_PROT_MASK 0x0700000000000000
-
-#define ITIR__RV1_ 0x0000000000000003
-#define ITIR_PS_MASK 0x00000000000000FC
-#define ITIR_KEY_MASK 0x00000000FFFFFF00
-#define ITIR__RV2_ 0xFFFFFFFF00000000
-
-#ifndef _LOCORE
-
-typedef uint64_t pt_entry_t;
-
-static __inline pt_entry_t
-pte_atomic_clear(pt_entry_t *ptep, uint64_t val)
-{
- return (atomic_clear_64(ptep, val));
-}
-
-static __inline pt_entry_t
-pte_atomic_set(pt_entry_t *ptep, uint64_t val)
-{
- return (atomic_set_64(ptep, val));
-}
-
-/*
- * A long-format VHPT entry.
- */
-struct ia64_lpte {
- pt_entry_t pte;
- uint64_t itir;
- uint64_t tag; /* includes ti */
- uint64_t chain; /* pa of collision chain */
-};
-
-
-/*
- * Layout of rr[x].
- */
-struct ia64_rr {
- uint64_t rr_ve :1; /* bit 0 */
- uint64_t __rv1__ :1; /* bit 1 */
- uint64_t rr_ps :6; /* bits 2..7 */
- uint64_t rr_rid :24; /* bits 8..31 */
- uint64_t __rv2__ :32; /* bits 32..63 */
-};
-
-#endif /* !LOCORE */
-
-#endif /* !_MACHINE_PTE_H_ */
diff --git a/StdLib/Include/Ipf/machine/ptrace.h b/StdLib/Include/Ipf/machine/ptrace.h deleted file mode 100644 index 1f29a8394c..0000000000 --- a/StdLib/Include/Ipf/machine/ptrace.h +++ /dev/null @@ -1,40 +0,0 @@ -/* $NetBSD: ptrace.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*
- * Copyright (c) 1994 Christopher G. Demetriou
- * 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 Christopher G. Demetriou.
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- */
-
-/*
- * IA64 dependent ptrace definitions.
- */
-#define PT_STEP (PT_FIRSTMACH + 0)
-#define PT_GETREGS (PT_FIRSTMACH + 1)
-#define PT_SETREGS (PT_FIRSTMACH + 2)
-#define PT_GETFPREGS (PT_FIRSTMACH + 3)
-#define PT_SETFPREGS (PT_FIRSTMACH + 4)
diff --git a/StdLib/Include/Ipf/machine/reg.h b/StdLib/Include/Ipf/machine/reg.h deleted file mode 100644 index 4aa811ab33..0000000000 --- a/StdLib/Include/Ipf/machine/reg.h +++ /dev/null @@ -1,53 +0,0 @@ -/* $NetBSD: reg.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2000 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _IA64_REG_H_
-#define _IA64_REG_H_
-
-#include <machine/_regset.h>
-
-struct reg {
- struct _special r_special;
- struct _callee_saved r_preserved;
- struct _caller_saved r_scratch;
-};
-
-struct fpreg {
- struct _callee_saved_fp fpr_preserved;
- struct _caller_saved_fp fpr_scratch;
- struct _high_fp fpr_high;
-};
-
-struct dbreg {
- unsigned long dbr_data[8];
- unsigned long dbr_inst[8];
-};
-
-#endif /* _IA64_REG_H_ */
diff --git a/StdLib/Include/Ipf/machine/sal.h b/StdLib/Include/Ipf/machine/sal.h deleted file mode 100644 index f7b244ceb9..0000000000 --- a/StdLib/Include/Ipf/machine/sal.h +++ /dev/null @@ -1,144 +0,0 @@ -/* $NetBSD: sal.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2001 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_SAL_H_
-#define _MACHINE_SAL_H_
-
-struct sal_system_table {
- char sal_signature[4];
-#define SAL_SIGNATURE "SST_"
- u_int32_t sal_length;
- u_int8_t sal_rev[2];
- u_int16_t sal_entry_count;
- u_int8_t sal_checksum;
- u_int8_t sal_reserved1[7];
- u_int8_t sal_a_version[2];
- u_int8_t sal_b_version[2];
- char sal_oem_id[32];
- char sal_product_id[32];
- u_int8_t sal_reserved2[8];
-};
-
-struct sal_entrypoint_descriptor {
- u_int8_t sale_type; /* == 0 */
- u_int8_t sale_reserved1[7];
- u_int64_t sale_pal_proc;
- u_int64_t sale_sal_proc;
- u_int64_t sale_sal_gp;
- u_int8_t sale_reserved2[16];
-};
-
-struct sal_memory_descriptor {
- u_int8_t sale_type; /* == 1 */
- u_int8_t sale_need_virtual;
- u_int8_t sale_current_attribute;
- u_int8_t sale_access_rights;
- u_int8_t sale_supported_attributes;
- u_int8_t sale_reserved1;
- u_int8_t sale_memory_type[2];
- u_int64_t sale_physical_address;
- u_int32_t sale_length;
- u_int8_t sale_reserved2[12];
-};
-
-struct sal_platform_descriptor {
- u_int8_t sale_type; /* == 2 */
- u_int8_t sale_features;
- u_int8_t sale_reserved[14];
-};
-
-struct sal_tr_descriptor {
- u_int8_t sale_type; /* == 3 */
- u_int8_t sale_register_type;
- u_int8_t sale_register_number;
- u_int8_t sale_reserved1[5];
- u_int64_t sale_virtual_address;
- u_int64_t sale_page_size;
- u_int8_t sale_reserved2[8];
-};
-
-struct sal_ptc_cache_descriptor {
- u_int8_t sale_type; /* == 4 */
- u_int8_t sale_reserved[3];
- u_int32_t sale_domains;
- u_int64_t sale_address;
-};
-
-struct sal_ap_wakeup_descriptor {
- u_int8_t sale_type; /* == 5 */
- u_int8_t sale_mechanism;
- u_int8_t sale_reserved[6];
- u_int64_t sale_vector;
-};
-
-/*
- * SAL Procedure numbers.
- */
-
-#define SAL_SET_VECTORS 0x01000000
-#define SAL_GET_STATE_INFO 0x01000001
-#define SAL_GET_STATE_INFO_SIZE 0x01000002
-#define SAL_CLEAR_STATE_INFO 0x01000003
-#define SAL_MC_RENDEZ 0x01000004
-#define SAL_MC_SET_PARAMS 0x01000005
-#define SAL_REGISTER_PHYSICAL_ADDR 0x01000006
-#define SAL_CACHE_FLUSH 0x01000008
-#define SAL_CACHE_INIT 0x01000009
-#define SAL_PCI_CONFIG_READ 0x01000010
-#define SAL_PCI_CONFIG_WRITE 0x01000011
-#define SAL_FREQ_BASE 0x01000012
-#define SAL_UPDATE_PAL 0x01000020
-
-/* SAL_SET_VECTORS event handler types */
-#define SAL_OS_MCA 0
-#define SAL_OS_INIT 1
-#define SAL_OS_BOOT_RENDEZ 2
-
-/* SAL_GET_STATE_INFO, SAL_GET_STATE_INFO_SIZE types */
-#define SAL_INFO_MCA 0
-#define SAL_INFO_INIT 1
-#define SAL_INFO_CMC 2
-#define SAL_INFO_CPE 3
-#define SAL_INFO_TYPES 4 /* number of types we know about */
-
-struct ia64_sal_result {
- int64_t sal_status;
- u_int64_t sal_result[3];
-};
-
-typedef struct ia64_sal_result sal_entry_t
- (u_int64_t, u_int64_t, u_int64_t, u_int64_t,
- u_int64_t, u_int64_t, u_int64_t, u_int64_t);
-
-extern sal_entry_t *ia64_sal_entry;
-
-extern void ia64_sal_init(void);
-
-#endif /* _MACHINE_SAL_H_ */
diff --git a/StdLib/Include/Ipf/machine/setjmp.h b/StdLib/Include/Ipf/machine/setjmp.h deleted file mode 100644 index 34b54efe65..0000000000 --- a/StdLib/Include/Ipf/machine/setjmp.h +++ /dev/null @@ -1,101 +0,0 @@ -/* $NetBSD: setjmp.h,v 1.2 2006/09/10 21:16:56 cherry Exp $ */
-
-/*-
- * Copyright (c) 2000
- * Intel Corporation.
- * 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 Intel Corporation and
- * its contributors.
- *
- * 4. Neither the name of Intel Corporation or its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION 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 INTEL CORPORATION 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.
- *
- * $FreeBSD: src/sys/ia64/include/setjmp.h,v 1.12 2003/07/26 08:03:43 marcel Exp $
- */
-
-#ifndef _MACHINE_SETJMP_H_
-#define _MACHINE_SETJMP_H_
-
-#include <sys/cdefs.h>
-
-#define JMPBUF_ADDR_OF(buf, item) ((unsigned long)((char *)buf + item))
-
-#define J_UNAT 0
-#define J_NATS 0x8
-#define J_PFS 0x10
-#define J_BSP 0x18
-#define J_RNAT 0x20
-#define J_PREDS 0x28
-#define J_LC 0x30
-#define J_R4 0x38
-#define J_R5 0x40
-#define J_R6 0x48
-#define J_R7 0x50
-#define J_SP 0x58
-#define J_F2 0x60
-#define J_F3 0x70
-#define J_F4 0x80
-#define J_F5 0x90
-#define J_F16 0xa0
-#define J_F17 0xb0
-#define J_F18 0xc0
-#define J_F19 0xd0
-#define J_F20 0xe0
-#define J_F21 0xf0
-#define J_F22 0x100
-#define J_F23 0x110
-#define J_F24 0x120
-#define J_F25 0x130
-#define J_F26 0x140
-#define J_F27 0x150
-#define J_F28 0x160
-#define J_F29 0x170
-#define J_F30 0x180
-#define J_F31 0x190
-#define J_FPSR 0x1a0
-#define J_B0 0x1a8
-#define J_B1 0x1b0
-#define J_B2 0x1b8
-#define J_B3 0x1c0
-#define J_B4 0x1c8
-#define J_B5 0x1d0
-#define J_SIGMASK 0x1d8
-#define J_SIGSET 0x1e0
-
-#define _JBLEN 0x200 /* Size in long XXX: Set to sizeof(mcontext_t)/sizeof(long) */
-
-#ifdef _KERNEL
-#ifdef CTASSERT
-CTASSERT(sizeof(struct _jmp_buf) == 512);
-#endif
-#endif
-
-#endif /* !_MACHINE_SETJMP_H_ */
diff --git a/StdLib/Include/Ipf/machine/signal.h b/StdLib/Include/Ipf/machine/signal.h deleted file mode 100644 index bd9b92d046..0000000000 --- a/StdLib/Include/Ipf/machine/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/**
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/Ipf/machine/smp.h b/StdLib/Include/Ipf/machine/smp.h deleted file mode 100644 index d96346b703..0000000000 --- a/StdLib/Include/Ipf/machine/smp.h +++ /dev/null @@ -1,40 +0,0 @@ -/*
- * $FreeBSD: src/sys/ia64/include/smp.h,v 1.10 2005/08/06 20:28:19 marcel Exp $
- */
-#ifndef _MACHINE_SMP_H_
-#define _MACHINE_SMP_H_
-
-#ifdef _KERNEL
-
-/*
- * Interprocessor interrupts for SMP. The following values are indices
- * into the IPI vector table. The SAL gives us the vector used for AP
- * wake-up. We base the other vectors on that. Keep IPI_AP_WAKEUP at
- * index 0 and IPI_MCA_RENDEZ at index 1. See sal.c for details.
- */
-/* Architecture specific IPIs. */
-#define IPI_AP_WAKEUP 0
-#define IPI_HIGH_FP 1
-#define IPI_MCA_CMCV 2
-#define IPI_MCA_RENDEZ 3
-#define IPI_TEST 4
-/* Machine independent IPIs. */
-#define IPI_AST 5
-#define IPI_RENDEZVOUS 6
-#define IPI_STOP 7
-
-#define IPI_COUNT 8
-
-#ifndef LOCORE
-
-extern int ipi_vector[];
-
-void ipi_all(int ipi);
-void ipi_all_but_self(int ipi);
-void ipi_selected(u_int64_t cpus, int ipi);
-void ipi_self(int ipi);
-void ipi_send(u_int64_t lid, int ipi);
-
-#endif /* !LOCORE */
-#endif /* _KERNEL */
-#endif /* !_MACHINE_SMP_H */
diff --git a/StdLib/Include/Ipf/machine/ssc.h b/StdLib/Include/Ipf/machine/ssc.h deleted file mode 100644 index ed1ae172fc..0000000000 --- a/StdLib/Include/Ipf/machine/ssc.h +++ /dev/null @@ -1,18 +0,0 @@ -/* $NetBSD: ssc.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-#define SSC_CONSOLE_INIT 20
-#define SSC_GETCHAR 21
-#define SSC_PUTCHAR 31
-#define SSC_OPEN 50
-#define SSC_CLOSE 51
-#define SSC_READ 52
-#define SSC_WRITE 53
-#define SSC_GET_COMPLETION 54
-#define SSC_WAIT_COMPLETION 55
-#define SSC_GET_RTC 65
-#define SSC_EXIT 66
-#define SSC_LOAD_SYMBOLS 69
-#define SSC_SAL_SET_VECTORS 120
-
-u_int64_t
-ssc(u_int64_t in0, u_int64_t in1, u_int64_t in2, u_int64_t in3, int which);
diff --git a/StdLib/Include/Ipf/machine/stdarg.h b/StdLib/Include/Ipf/machine/stdarg.h deleted file mode 100644 index 96c1a4128c..0000000000 --- a/StdLib/Include/Ipf/machine/stdarg.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $NetBSD: stdarg.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 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. 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.
- *
- * @(#)stdarg.h 8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _IA64_STDARG_H_
-#define _IA64_STDARG_H_
-
-#include <machine/ansi.h>
-#include <sys/featuretest.h>
-
-typedef _BSD_VA_LIST_ va_list;
-
-#ifdef __lint__
-#define __builtin_next_arg(t) ((t) ? 0 : 0)
-#define __builtin_stdarg_start(a, l) ((a) = (va_list)(void *)&(l))
-#define __builtin_va_arg(a, t) ((a) ? (t) 0 : (t) 0)
-#define __builtin_va_end(a) /* nothing */
-#define __builtin_va_copy(d, s) ((d) = (s))
-#endif
-
-#define va_start(ap, last) __builtin_stdarg_start((ap), (last))
-#define va_arg __builtin_va_arg
-#define va_end(ap) __builtin_va_end(ap)
-#define __va_copy(dest, src) __builtin_va_copy((dest), (src))
-
-#if !defined(_ANSI_SOURCE) && \
- (defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \
- defined(_NETBSD_SOURCE))
-#define va_copy(dest, src) __va_copy((dest), (src))
-#endif
-
-#endif /* !_IA64_STDARG_H_ */
diff --git a/StdLib/Include/Ipf/machine/types.h b/StdLib/Include/Ipf/machine/types.h deleted file mode 100644 index 206c4e4d12..0000000000 --- a/StdLib/Include/Ipf/machine/types.h +++ /dev/null @@ -1,64 +0,0 @@ -/* $NetBSD: types.h,v 1.2 2006/09/10 21:30:14 gdamore Exp $ */
-
-/*-
- * Copyright (c) 1990 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 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-
-/* Handle the long and unsigned long data types which EFI doesn't directly support */
-//typedef INTN LONGN;
-//typedef UINTN ULONGN;
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INTN pmc_evid_t;
-typedef UINT64 pmc_ctr_t;
-typedef INTN register_t;
-
-typedef __volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_OLD_DISKLABEL
-/* XXX: #define __HAVE_CPU_MAXPROC */
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/Ipf/machine/varargs.h b/StdLib/Include/Ipf/machine/varargs.h deleted file mode 100644 index 9158eb5b1f..0000000000 --- a/StdLib/Include/Ipf/machine/varargs.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $NetBSD: varargs.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * 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. 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.
- *
- * @(#)varargs.h 8.2 (Berkeley) 3/22/94
- */
-
-#ifndef _IA64_VARARGS_H_
-#define _IA64_VARARGS_H_
-
-#include <machine/stdarg.h>
-
-#define __va_ellipsis ...
-#define __va_alist_t __builtin_va_alist_t
-#define va_alist __builtin_va_alist
-#define va_dcl __va_alist_t __builtin_va_alist; __va_ellipsis
-
-#undef va_start
-#define va_start(ap) __builtin_varargs_start((ap))
-
-#endif /* !_IA64_VARARGS_H_ */
diff --git a/StdLib/Include/Ipf/machine/vmparam.h b/StdLib/Include/Ipf/machine/vmparam.h deleted file mode 100644 index 116b7cc3f7..0000000000 --- a/StdLib/Include/Ipf/machine/vmparam.h +++ /dev/null @@ -1,132 +0,0 @@ -/* $NetBSD: vmparam.h,v 1.2 2006/07/03 17:01:45 cherry Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * @(#)vmparam.h 5.9 (Berkeley) 5/12/91
- */
-
-#ifndef _VMPARAM_H_
-#define _VMPARAM_H_
-
-#include <sys/tree.h>
-
-#define USRSTACK VM_MAX_ADDRESS /* XXX: Revisit vm address space. */
-
-/*
- * Virtual memory related constants, all in bytes
- */
-#ifndef MAXTSIZ
-#define MAXTSIZ (1<<30) /* max text size (1G) */
-#endif
-#ifndef DFLDSIZ
-#define DFLDSIZ (1<<27) /* initial data size (128M) */
-#endif
-#ifndef MAXDSIZ
-#define MAXDSIZ (1<<30) /* max data size (1G) */
-#endif
-#ifndef DFLSSIZ
-#define DFLSSIZ (1<<21) /* initial stack size (2M) */
-#endif
-#ifndef MAXSSIZ
-#define MAXSSIZ (1<<28) /* max stack size (256M) */
-#endif
-#ifndef SGROWSIZ
-#define SGROWSIZ (128UL*1024) /* amount to grow stack */
-#endif
-
-
-
-/*
- * PTEs for mapping user space into the kernel for phyio operations.
- * 64 pte's are enough to cover 8 disks * MAXBSIZE.
- */
-#ifndef USRIOSIZE
-#define USRIOSIZE 64
-#endif
-
-/*
- * Manipulating region bits of an address.
- */
-#define IA64_RR_BASE(n) (((u_int64_t) (n)) << 61)
-#define IA64_RR_MASK(x) ((x) & ((1L << 61) - 1))
-
-#define IA64_PHYS_TO_RR6(x) ((x) | IA64_RR_BASE(6))
-#define IA64_PHYS_TO_RR7(x) ((x) | IA64_RR_BASE(7))
-
-#define IA64_ID_PAGE_SHIFT 28 /* 256M */
-#define IA64_ID_PAGE_SIZE (1 << IA64_ID_PAGE_SHIFT)
-#define IA64_ID_PAGE_MASK (IA64_ID_PAGE_SIZE-1)
-
-#define IA64_BACKINGSTORE IA64_RR_BASE(4)
-
-#define PAGE_SHIFT 14 /* 16K pages by default. */
-#define PAGE_SIZE (1 << PAGE_SHIFT)
-#define PAGE_MASK (PAGE_SIZE - 1)
-
-/* user/kernel map constants */
-#define VM_MIN_ADDRESS ((vaddr_t)0)
-#define VM_MAX_ADDRESS ((vaddr_t) IA64_RR_BASE(5))
-#define VM_GATEWAY_SIZE PAGE_SIZE
-#define VM_MAXUSER_ADDRESS (VM_MAX_ADDRESS + VM_GATEWAY_SIZE)
-#define VM_MIN_KERNEL_ADDRESS VM_MAXUSER_ADDRESS
-#define VM_MAX_KERNEL_ADDRESS ((vaddr_t) (IA64_RR_BASE(6) - 1))
-
-#define VM_PHYSSEG_MAX 16 /* XXX: */
-#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
-#define VM_PHYSSEG_NOADD /* no more after vm_mem_init */
-
-#define VM_NFREELIST 1 /* XXX: */
-#define VM_FREELIST_DEFAULT 0 /* XXX: */
-
-/* virtual sizes (bytes) for various kernel submaps */
-#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
-
-#ifndef _LOCORE
-/*
- * pmap-specific data store in the vm_page structure.
- */
-#define __HAVE_VM_PAGE_MD
-struct vm_page_md {
- TAILQ_HEAD(,pv_entry) pv_list; /* pv_entry list */
- int pv_list_count;
- struct simplelock pv_slock; /* lock on this head */
- int pvh_attrs; /* page attributes */
-};
-
-#define VM_MDPAGE_INIT(pg) \
-do { \
- TAILQ_INIT(&(pg)->mdpage.pv_list); \
- simple_lock_init(&(pg)->mdpage.pv_slock); \
-} while (/*CONSTCOND*/0)
-#endif /*_LOCORE*/
-
-#endif /* _VMPARAM_H_ */
diff --git a/StdLib/Include/Ipf/machine/wchar_limits.h b/StdLib/Include/Ipf/machine/wchar_limits.h deleted file mode 100644 index 38bdfb8a68..0000000000 --- a/StdLib/Include/Ipf/machine/wchar_limits.h +++ /dev/null @@ -1,42 +0,0 @@ -/* $NetBSD: wchar_limits.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */
-
-/*-
- * Copyright (c) 2004 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _IA64_WCHAR_LIMITS_H_
-#define _IA64_WCHAR_LIMITS_H_
-
-#endif /* !_IA64_WCHAR_LIMITS_H_ */
diff --git a/StdLib/Include/Lua/lauxlib.h b/StdLib/Include/Lua/lauxlib.h deleted file mode 100644 index c21d2455b7..0000000000 --- a/StdLib/Include/Lua/lauxlib.h +++ /dev/null @@ -1,212 +0,0 @@ -/*
-** $Id: lauxlib.h,v 1.120.1.1 2013/04/12 18:48:47 roberto Exp $
-** Auxiliary functions for building Lua libraries
-** See Copyright Notice in lua.h
-*/
-
-
-#ifndef lauxlib_h
-#define lauxlib_h
-
-
-#include <stddef.h>
-#include <stdio.h>
-
-#include <Lua/lua.h>
-
-
-
-/* extra error code for `luaL_load' */
-#define LUA_ERRFILE (LUA_ERRERR+1)
-
-
-typedef struct luaL_Reg {
- const char *name;
- lua_CFunction func;
-} luaL_Reg;
-
-
-LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver);
-#define luaL_checkversion(L) luaL_checkversion_(L, LUA_VERSION_NUM)
-
-LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
-LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
-LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len);
-LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
-LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg,
- size_t *l);
-LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg,
- const char *def, size_t *l);
-LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg);
-LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def);
-
-LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
-LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
- lua_Integer def);
-LUALIB_API lua_Unsigned (luaL_checkunsigned) (lua_State *L, int numArg);
-LUALIB_API lua_Unsigned (luaL_optunsigned) (lua_State *L, int numArg,
- lua_Unsigned def);
-
-LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
-LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
-LUALIB_API void (luaL_checkany) (lua_State *L, int narg);
-
-LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname);
-LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname);
-LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname);
-LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname);
-
-LUALIB_API void (luaL_where) (lua_State *L, int lvl);
-LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...);
-
-LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def,
- const char *const lst[]);
-
-LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname);
-LUALIB_API int (luaL_execresult) (lua_State *L, int stat);
-
-/* pre-defined references */
-#define LUA_NOREF (-2)
-#define LUA_REFNIL (-1)
-
-LUALIB_API int (luaL_ref) (lua_State *L, int t);
-LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref);
-
-LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename,
- const char *mode);
-
-#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL)
-
-LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz,
- const char *name, const char *mode);
-LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);
-
-LUALIB_API lua_State *(luaL_newstate) (void);
-
-LUALIB_API int (luaL_len) (lua_State *L, int idx);
-
-LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p,
- const char *r);
-
-LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup);
-
-LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname);
-
-LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1,
- const char *msg, int level);
-
-LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname,
- lua_CFunction openf, int glb);
-
-/*
-** ===============================================================
-** some useful macros
-** ===============================================================
-*/
-
-
-#define luaL_newlibtable(L,l) \
- lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1)
-
-#define luaL_newlib(L,l) (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0))
-
-#define luaL_argcheck(L, cond,numarg,extramsg) \
- ((void)((cond) || luaL_argerror(L, (numarg), (extramsg))))
-#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL))
-#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL))
-#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n)))
-#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d)))
-#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n)))
-#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d)))
-
-#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
-
-#define luaL_dofile(L, fn) \
- (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
-
-#define luaL_dostring(L, s) \
- (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
-
-#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
-
-#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
-
-#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL)
-
-
-/*
-** {======================================================
-** Generic Buffer manipulation
-** =======================================================
-*/
-
-typedef struct luaL_Buffer {
- char *b; /* buffer address */
- size_t size; /* buffer size */
- size_t n; /* number of characters in buffer */
- lua_State *L;
- char initb[LUAL_BUFFERSIZE]; /* initial buffer */
-} luaL_Buffer;
-
-
-#define luaL_addchar(B,c) \
- ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \
- ((B)->b[(B)->n++] = (c)))
-
-#define luaL_addsize(B,s) ((B)->n += (s))
-
-LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
-LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz);
-LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
-LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s);
-LUALIB_API void (luaL_addvalue) (luaL_Buffer *B);
-LUALIB_API void (luaL_pushresult) (luaL_Buffer *B);
-LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz);
-LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz);
-
-#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE)
-
-/* }====================================================== */
-
-
-
-/*
-** {======================================================
-** File handles for IO library
-** =======================================================
-*/
-
-/*
-** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and
-** initial structure 'luaL_Stream' (it may contain other fields
-** after that initial structure).
-*/
-
-#define LUA_FILEHANDLE "FILE*"
-
-
-typedef struct luaL_Stream {
- FILE *f; /* stream (NULL for incompletely created streams) */
- lua_CFunction closef; /* to close stream (NULL for closed streams) */
-} luaL_Stream;
-
-/* }====================================================== */
-
-
-
-/* compatibility with old module system */
-#if defined(LUA_COMPAT_MODULE)
-
-LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname,
- int sizehint);
-LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
- const luaL_Reg *l, int nup);
-
-#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0))
-
-#endif
-
-
-#endif
-
-
diff --git a/StdLib/Include/Lua/lua.h b/StdLib/Include/Lua/lua.h deleted file mode 100644 index bf3a2e240d..0000000000 --- a/StdLib/Include/Lua/lua.h +++ /dev/null @@ -1,444 +0,0 @@ -/*
-** $Id: lua.h,v 1.285.1.2 2013/11/11 12:09:16 roberto Exp $
-** Lua - A Scripting Language
-** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
-** See Copyright Notice at the end of this file
-*/
-
-
-#ifndef lua_h
-#define lua_h
-
-#include <stdarg.h>
-#include <stddef.h>
-
-
-#include <Lua/luaconf.h>
-
-
-#define LUA_VERSION_MAJOR "5"
-#define LUA_VERSION_MINOR "2"
-#define LUA_VERSION_NUM 502
-#define LUA_VERSION_RELEASE "3"
-
-#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
-#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE
-#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2013 Lua.org, PUC-Rio"
-#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes"
-
-
-/* mark for precompiled code ('<esc>Lua') */
-#define LUA_SIGNATURE "\033Lua"
-
-/* option for multiple returns in 'lua_pcall' and 'lua_call' */
-#define LUA_MULTRET (-1)
-
-
-/*
-** pseudo-indices
-*/
-#define LUA_REGISTRYINDEX LUAI_FIRSTPSEUDOIDX
-#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i))
-
-
-/* thread status */
-#define LUA_OK 0
-#define LUA_YIELD 1
-#define LUA_ERRRUN 2
-#define LUA_ERRSYNTAX 3
-#define LUA_ERRMEM 4
-#define LUA_ERRGCMM 5
-#define LUA_ERRERR 6
-
-
-typedef struct lua_State lua_State;
-
-typedef int (*lua_CFunction) (lua_State *L);
-
-
-/*
-** functions that read/write blocks when loading/dumping Lua chunks
-*/
-typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz);
-
-typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud);
-
-
-/*
-** prototype for memory-allocation functions
-*/
-typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize);
-
-
-/*
-** basic types
-*/
-#define LUA_TNONE (-1)
-
-#define LUA_TNIL 0
-#define LUA_TBOOLEAN 1
-#define LUA_TLIGHTUSERDATA 2
-#define LUA_TNUMBER 3
-#define LUA_TSTRING 4
-#define LUA_TTABLE 5
-#define LUA_TFUNCTION 6
-#define LUA_TUSERDATA 7
-#define LUA_TTHREAD 8
-
-#define LUA_NUMTAGS 9
-
-
-
-/* minimum Lua stack available to a C function */
-#define LUA_MINSTACK 20
-
-
-/* predefined values in the registry */
-#define LUA_RIDX_MAINTHREAD 1
-#define LUA_RIDX_GLOBALS 2
-#define LUA_RIDX_LAST LUA_RIDX_GLOBALS
-
-
-/* type of numbers in Lua */
-typedef LUA_NUMBER lua_Number;
-
-
-/* type for integer functions */
-typedef LUA_INTEGER lua_Integer;
-
-/* unsigned integer type */
-typedef LUA_UNSIGNED lua_Unsigned;
-
-
-
-/*
-** generic extra include file
-*/
-#if defined(LUA_USER_H)
-#include LUA_USER_H
-#endif
-
-
-/*
-** RCS ident string
-*/
-extern const char lua_ident[];
-
-
-/*
-** state manipulation
-*/
-LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
-LUA_API void (lua_close) (lua_State *L);
-LUA_API lua_State *(lua_newthread) (lua_State *L);
-
-LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
-
-
-LUA_API const lua_Number *(lua_version) (lua_State *L);
-
-
-/*
-** basic stack manipulation
-*/
-LUA_API int (lua_absindex) (lua_State *L, int idx);
-LUA_API int (lua_gettop) (lua_State *L);
-LUA_API void (lua_settop) (lua_State *L, int idx);
-LUA_API void (lua_pushvalue) (lua_State *L, int idx);
-LUA_API void (lua_remove) (lua_State *L, int idx);
-LUA_API void (lua_insert) (lua_State *L, int idx);
-LUA_API void (lua_replace) (lua_State *L, int idx);
-LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx);
-LUA_API int (lua_checkstack) (lua_State *L, int sz);
-
-LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n);
-
-
-/*
-** access functions (stack -> C)
-*/
-
-LUA_API int (lua_isnumber) (lua_State *L, int idx);
-LUA_API int (lua_isstring) (lua_State *L, int idx);
-LUA_API int (lua_iscfunction) (lua_State *L, int idx);
-LUA_API int (lua_isuserdata) (lua_State *L, int idx);
-LUA_API int (lua_type) (lua_State *L, int idx);
-LUA_API const char *(lua_typename) (lua_State *L, int tp);
-
-LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum);
-LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum);
-LUA_API lua_Unsigned (lua_tounsignedx) (lua_State *L, int idx, int *isnum);
-LUA_API int (lua_toboolean) (lua_State *L, int idx);
-LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len);
-LUA_API size_t (lua_rawlen) (lua_State *L, int idx);
-LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx);
-LUA_API void *(lua_touserdata) (lua_State *L, int idx);
-LUA_API lua_State *(lua_tothread) (lua_State *L, int idx);
-LUA_API const void *(lua_topointer) (lua_State *L, int idx);
-
-
-/*
-** Comparison and arithmetic functions
-*/
-
-#define LUA_OPADD 0 /* ORDER TM */
-#define LUA_OPSUB 1
-#define LUA_OPMUL 2
-#define LUA_OPDIV 3
-#define LUA_OPMOD 4
-#define LUA_OPPOW 5
-#define LUA_OPUNM 6
-
-LUA_API void (lua_arith) (lua_State *L, int op);
-
-#define LUA_OPEQ 0
-#define LUA_OPLT 1
-#define LUA_OPLE 2
-
-LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2);
-LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op);
-
-
-/*
-** push functions (C -> stack)
-*/
-LUA_API void (lua_pushnil) (lua_State *L);
-LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n);
-LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n);
-LUA_API void (lua_pushunsigned) (lua_State *L, lua_Unsigned n);
-LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t l);
-LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
-LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt,
- va_list argp);
-LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
-LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
-LUA_API void (lua_pushboolean) (lua_State *L, int b);
-LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p);
-LUA_API int (lua_pushthread) (lua_State *L);
-
-
-/*
-** get functions (Lua -> stack)
-*/
-LUA_API void (lua_getglobal) (lua_State *L, const char *var);
-LUA_API void (lua_gettable) (lua_State *L, int idx);
-LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k);
-LUA_API void (lua_rawget) (lua_State *L, int idx);
-LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n);
-LUA_API void (lua_rawgetp) (lua_State *L, int idx, const void *p);
-LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec);
-LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz);
-LUA_API int (lua_getmetatable) (lua_State *L, int objindex);
-LUA_API void (lua_getuservalue) (lua_State *L, int idx);
-
-
-/*
-** set functions (stack -> Lua)
-*/
-LUA_API void (lua_setglobal) (lua_State *L, const char *var);
-LUA_API void (lua_settable) (lua_State *L, int idx);
-LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k);
-LUA_API void (lua_rawset) (lua_State *L, int idx);
-LUA_API void (lua_rawseti) (lua_State *L, int idx, int n);
-LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p);
-LUA_API int (lua_setmetatable) (lua_State *L, int objindex);
-LUA_API void (lua_setuservalue) (lua_State *L, int idx);
-
-
-/*
-** 'load' and 'call' functions (load and run Lua code)
-*/
-LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
- lua_CFunction k);
-#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL)
-
-LUA_API int (lua_getctx) (lua_State *L, int *ctx);
-
-LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
- int ctx, lua_CFunction k);
-#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL)
-
-LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt,
- const char *chunkname,
- const char *mode);
-
-LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data);
-
-
-/*
-** coroutine functions
-*/
-LUA_API int (lua_yieldk) (lua_State *L, int nresults, int ctx,
- lua_CFunction k);
-#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL)
-LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg);
-LUA_API int (lua_status) (lua_State *L);
-
-/*
-** garbage-collection function and options
-*/
-
-#define LUA_GCSTOP 0
-#define LUA_GCRESTART 1
-#define LUA_GCCOLLECT 2
-#define LUA_GCCOUNT 3
-#define LUA_GCCOUNTB 4
-#define LUA_GCSTEP 5
-#define LUA_GCSETPAUSE 6
-#define LUA_GCSETSTEPMUL 7
-#define LUA_GCSETMAJORINC 8
-#define LUA_GCISRUNNING 9
-#define LUA_GCGEN 10
-#define LUA_GCINC 11
-
-LUA_API int (lua_gc) (lua_State *L, int what, int data);
-
-
-/*
-** miscellaneous functions
-*/
-
-LUA_API int (lua_error) (lua_State *L);
-
-LUA_API int (lua_next) (lua_State *L, int idx);
-
-LUA_API void (lua_concat) (lua_State *L, int n);
-LUA_API void (lua_len) (lua_State *L, int idx);
-
-LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud);
-LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud);
-
-
-
-/*
-** ===============================================================
-** some useful macros
-** ===============================================================
-*/
-
-#define lua_tonumber(L,i) lua_tonumberx(L,i,NULL)
-#define lua_tointeger(L,i) lua_tointegerx(L,i,NULL)
-#define lua_tounsigned(L,i) lua_tounsignedx(L,i,NULL)
-
-#define lua_pop(L,n) lua_settop(L, -(n)-1)
-
-#define lua_newtable(L) lua_createtable(L, 0, 0)
-
-#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
-
-#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0)
-
-#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION)
-#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE)
-#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
-#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL)
-#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN)
-#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD)
-#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE)
-#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0)
-
-#define lua_pushliteral(L, s) \
- lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
-
-#define lua_pushglobaltable(L) \
- lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)
-
-#define lua_tostring(L,i) lua_tolstring(L, (i), NULL)
-
-
-
-/*
-** {======================================================================
-** Debug API
-** =======================================================================
-*/
-
-
-/*
-** Event codes
-*/
-#define LUA_HOOKCALL 0
-#define LUA_HOOKRET 1
-#define LUA_HOOKLINE 2
-#define LUA_HOOKCOUNT 3
-#define LUA_HOOKTAILCALL 4
-
-
-/*
-** Event masks
-*/
-#define LUA_MASKCALL (1 << LUA_HOOKCALL)
-#define LUA_MASKRET (1 << LUA_HOOKRET)
-#define LUA_MASKLINE (1 << LUA_HOOKLINE)
-#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT)
-
-typedef struct lua_Debug lua_Debug; /* activation record */
-
-
-/* Functions to be called by the debugger in specific events */
-typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
-
-
-LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar);
-LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar);
-LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n);
-LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n);
-LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n);
-LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n);
-
-LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n);
-LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1,
- int fidx2, int n2);
-
-LUA_API int (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count);
-LUA_API lua_Hook (lua_gethook) (lua_State *L);
-LUA_API int (lua_gethookmask) (lua_State *L);
-LUA_API int (lua_gethookcount) (lua_State *L);
-
-
-struct lua_Debug {
- int event;
- const char *name; /* (n) */
- const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */
- const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */
- const char *source; /* (S) */
- int currentline; /* (l) */
- int linedefined; /* (S) */
- int lastlinedefined; /* (S) */
- unsigned char nups; /* (u) number of upvalues */
- unsigned char nparams;/* (u) number of parameters */
- char isvararg; /* (u) */
- char istailcall; /* (t) */
- char short_src[LUA_IDSIZE]; /* (S) */
- /* private part */
- struct CallInfo *i_ci; /* active function */
-};
-
-/* }====================================================================== */
-
-
-/******************************************************************************
-* Copyright (C) 1994-2013 Lua.org, PUC-Rio.
-*
-* Permission is hereby granted, free of charge, to any person obtaining
-* a copy of this software and associated documentation files (the
-* "Software"), to deal in the Software without restriction, including
-* without limitation the rights to use, copy, modify, merge, publish,
-* distribute, sublicense, and/or sell copies of the Software, and to
-* permit persons to whom the Software is furnished to do so, subject to
-* the following conditions:
-*
-* The above copyright notice and this permission notice shall be
-* included in all copies or substantial portions of the Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-******************************************************************************/
-
-
-#endif
diff --git a/StdLib/Include/Lua/luaconf.h b/StdLib/Include/Lua/luaconf.h deleted file mode 100644 index db154d62a3..0000000000 --- a/StdLib/Include/Lua/luaconf.h +++ /dev/null @@ -1,550 +0,0 @@ -/*
-** $Id: luaconf.h,v 1.176.1.1 2013/04/12 18:48:47 roberto Exp $
-** Configuration file for Lua
-** See Copyright Notice in lua.h
-*/
-
-
-#ifndef lconfig_h
-#define lconfig_h
-
-#include <limits.h>
-#include <stddef.h>
-
-
-/*
-** ==================================================================
-** Search for "@@" to find all configurable definitions.
-** ===================================================================
-*/
-
-#if defined(_DOS_WATCOM) || defined(UEFI_C_SOURCE)
-#undef _WIN32
-#define LUA_ANSI
-#endif
-
-/*
-@@ LUA_ANSI controls the use of non-ansi features.
-** CHANGE it (define it) if you want Lua to avoid the use of any
-** non-ansi feature or library.
-*/
-#if !defined(LUA_ANSI) && defined(__STRICT_ANSI__)
-#define LUA_ANSI
-#endif
-
-
-#if !defined(LUA_ANSI) && defined(_WIN32) && !defined(_WIN32_WCE)
-#define LUA_WIN /* enable goodies for regular Windows platforms */
-#endif
-
-#if defined(LUA_WIN)
-#define LUA_DL_DLL
-#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */
-#endif
-
-#if defined(LUA_USE_LINUX)
-#define LUA_USE_POSIX
-#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
-#define LUA_USE_READLINE /* needs some extra libraries */
-#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */
-#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */
-#define LUA_USE_LONGLONG /* assume support for long long */
-#endif
-
-#if defined(LUA_USE_MACOSX)
-#define LUA_USE_POSIX
-#define LUA_USE_DLOPEN /* does not need -ldl */
-#define LUA_USE_READLINE /* needs an extra library: -lreadline */
-#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */
-#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */
-#define LUA_USE_LONGLONG /* assume support for long long */
-#endif
-
-/*
-@@ LUA_USE_POSIX includes all functionality listed as X/Open System
-@* Interfaces Extension (XSI).
-** CHANGE it (define it) if your system is XSI compatible.
-*/
-#if defined(LUA_USE_POSIX)
-#define LUA_USE_MKSTEMP
-#define LUA_USE_ISATTY
-#define LUA_USE_POPEN
-#define LUA_USE_ULONGJMP
-#define LUA_USE_GMTIME_R
-#endif
-
-
-
-/*
-@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
-@* Lua libraries.
-@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
-@* C libraries.
-** CHANGE them if your machine has a non-conventional directory
-** hierarchy or if you want to install your libraries in
-** non-conventional directories.
-*/
-#if defined(_WIN32) /* { */
-/*
-** In Windows, any exclamation mark ('!') in the path is replaced by the
-** path of the directory of the executable file of the current process.
-*/
-#define LUA_LDIR "!\\lua\\"
-#define LUA_CDIR "!\\"
-#define LUA_PATH_DEFAULT \
- LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \
- LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" ".\\?.lua"
-#define LUA_CPATH_DEFAULT \
- LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll;" ".\\?.dll"
-
-#else /* }{ */
-
-#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/"
-#define LUA_ROOT "/usr/local/"
-#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR
-#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR
-#define LUA_PATH_DEFAULT \
- LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" "./?.lua"
-#define LUA_CPATH_DEFAULT \
- LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
-#endif /* } */
-
-
-/*
-@@ LUA_DIRSEP is the directory separator (for submodules).
-** CHANGE it if your machine does not use "/" as the directory separator
-** and is not Windows. (On Windows Lua automatically uses "\".)
-*/
-#if defined(_WIN32) || defined (_DOS_WATCOM) || defined(_EFI)
-#define LUA_DIRSEP "\\"
-#else
-#define LUA_DIRSEP "/"
-#endif
-
-
-/*
-@@ LUA_ENV is the name of the variable that holds the current
-@@ environment, used to access global names.
-** CHANGE it if you do not like this name.
-*/
-#define LUA_ENV "_ENV"
-
-
-/*
-@@ LUA_API is a mark for all core API functions.
-@@ LUALIB_API is a mark for all auxiliary library functions.
-@@ LUAMOD_API is a mark for all standard library opening functions.
-** CHANGE them if you need to define those functions in some special way.
-** For instance, if you want to create one Windows DLL with the core and
-** the libraries, you may want to use the following definition (define
-** LUA_BUILD_AS_DLL to get it).
-*/
-#if defined(LUA_BUILD_AS_DLL) /* { */
-
-#if defined(LUA_CORE) || defined(LUA_LIB) /* { */
-#define LUA_API __declspec(dllexport)
-#else /* }{ */
-#define LUA_API __declspec(dllimport)
-#endif /* } */
-
-#else /* }{ */
-
-#define LUA_API extern
-
-#endif /* } */
-
-
-/* more often than not the libs go together with the core */
-#define LUALIB_API LUA_API
-#define LUAMOD_API LUALIB_API
-
-
-/*
-@@ LUAI_FUNC is a mark for all extern functions that are not to be
-@* exported to outside modules.
-@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables
-@* that are not to be exported to outside modules (LUAI_DDEF for
-@* definitions and LUAI_DDEC for declarations).
-** CHANGE them if you need to mark them in some special way. Elf/gcc
-** (versions 3.2 and later) mark them as "hidden" to optimize access
-** when Lua is compiled as a shared library. Not all elf targets support
-** this attribute. Unfortunately, gcc does not offer a way to check
-** whether the target offers that support, and those without support
-** give a warning about it. To avoid these warnings, change to the
-** default definition.
-*/
-#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
- defined(__ELF__) /* { */
-#define LUAI_FUNC __attribute__((visibility("hidden"))) extern
-#define LUAI_DDEC LUAI_FUNC
-#define LUAI_DDEF /* empty */
-
-#else /* }{ */
-#define LUAI_FUNC extern
-#define LUAI_DDEC extern
-#define LUAI_DDEF /* empty */
-#endif /* } */
-
-
-
-/*
-@@ LUA_QL describes how error messages quote program elements.
-** CHANGE it if you want a different appearance.
-*/
-#define LUA_QL(x) "'" x "'"
-#define LUA_QS LUA_QL("%s")
-
-
-/*
-@@ LUA_IDSIZE gives the maximum size for the description of the source
-@* of a function in debug information.
-** CHANGE it if you want a different size.
-*/
-#define LUA_IDSIZE 60
-
-
-/*
-@@ luai_writestring/luai_writeline define how 'print' prints its results.
-** They are only used in libraries and the stand-alone program. (The #if
-** avoids including 'stdio.h' everywhere.)
-*/
-#if defined(LUA_LIB) || defined(lua_c)
-#include <stdio.h>
-#define luai_writestring(s,l) fwrite((s), sizeof(char), (l), stdout)
-#define luai_writeline() (luai_writestring("\n", 1), fflush(stdout))
-#endif
-
-/*
-@@ luai_writestringerror defines how to print error messages.
-** (A format string with one argument is enough for Lua...)
-*/
-#define luai_writestringerror(s,p) \
- (fprintf(stderr, (s), (p)), fflush(stderr))
-
-
-/*
-@@ LUAI_MAXSHORTLEN is the maximum length for short strings, that is,
-** strings that are internalized. (Cannot be smaller than reserved words
-** or tags for metamethods, as these strings must be internalized;
-** #("function") = 8, #("__newindex") = 10.)
-*/
-#define LUAI_MAXSHORTLEN 40
-
-
-
-/*
-** {==================================================================
-** Compatibility with previous versions
-** ===================================================================
-*/
-
-/*
-@@ LUA_COMPAT_ALL controls all compatibility options.
-** You can define it to get all options, or change specific options
-** to fit your specific needs.
-*/
-#if defined(LUA_COMPAT_ALL) /* { */
-
-/*
-@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'.
-** You can replace it with 'table.unpack'.
-*/
-#define LUA_COMPAT_UNPACK
-
-/*
-@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'.
-** You can replace it with 'package.searchers'.
-*/
-#define LUA_COMPAT_LOADERS
-
-/*
-@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall.
-** You can call your C function directly (with light C functions).
-*/
-#define lua_cpcall(L,f,u) \
- (lua_pushcfunction(L, (f)), \
- lua_pushlightuserdata(L,(u)), \
- lua_pcall(L,1,0,0))
-
-
-/*
-@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library.
-** You can rewrite 'log10(x)' as 'log(x, 10)'.
-*/
-#define LUA_COMPAT_LOG10
-
-/*
-@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base
-** library. You can rewrite 'loadstring(s)' as 'load(s)'.
-*/
-#define LUA_COMPAT_LOADSTRING
-
-/*
-@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library.
-*/
-#define LUA_COMPAT_MAXN
-
-/*
-@@ The following macros supply trivial compatibility for some
-** changes in the API. The macros themselves document how to
-** change your code to avoid using them.
-*/
-#define lua_strlen(L,i) lua_rawlen(L, (i))
-
-#define lua_objlen(L,i) lua_rawlen(L, (i))
-
-#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ)
-#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT)
-
-/*
-@@ LUA_COMPAT_MODULE controls compatibility with previous
-** module functions 'module' (Lua) and 'luaL_register' (C).
-*/
-#define LUA_COMPAT_MODULE
-
-#endif /* } */
-
-/* }================================================================== */
-
-
-
-/*
-@@ LUAI_BITSINT defines the number of bits in an int.
-** CHANGE here if Lua cannot automatically detect the number of bits of
-** your machine. Probably you do not need to change this.
-*/
-/* avoid overflows in comparison */
-#if INT_MAX-20 < 32760 /* { */
-#define LUAI_BITSINT 16
-#elif INT_MAX > 2147483640L /* }{ */
-/* int has at least 32 bits */
-#define LUAI_BITSINT 32
-#else /* }{ */
-#error "you must define LUA_BITSINT with number of bits in an integer"
-#endif /* } */
-
-
-/*
-@@ LUA_INT32 is an signed integer with exactly 32 bits.
-@@ LUAI_UMEM is an unsigned integer big enough to count the total
-@* memory used by Lua.
-@@ LUAI_MEM is a signed integer big enough to count the total memory
-@* used by Lua.
-** CHANGE here if for some weird reason the default definitions are not
-** good enough for your machine. Probably you do not need to change
-** this.
-*/
-#if LUAI_BITSINT >= 32 /* { */
-#define LUA_INT32 int
-#define LUAI_UMEM size_t
-#define LUAI_MEM ptrdiff_t
-#else /* }{ */
-/* 16-bit ints */
-#define LUA_INT32 long
-#define LUAI_UMEM unsigned long
-#define LUAI_MEM long
-#endif /* } */
-
-
-/*
-@@ LUAI_MAXSTACK limits the size of the Lua stack.
-** CHANGE it if you need a different limit. This limit is arbitrary;
-** its only purpose is to stop Lua to consume unlimited stack
-** space (and to reserve some numbers for pseudo-indices).
-*/
-#if LUAI_BITSINT >= 32
-#define LUAI_MAXSTACK 1000000
-#else
-#define LUAI_MAXSTACK 15000
-#endif
-
-/* reserve some space for error handling */
-#define LUAI_FIRSTPSEUDOIDX (-LUAI_MAXSTACK - 1000)
-
-
-
-
-/*
-@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
-** CHANGE it if it uses too much C-stack space.
-*/
-#define LUAL_BUFFERSIZE BUFSIZ
-
-
-
-
-/*
-** {==================================================================
-@@ LUA_NUMBER is the type of numbers in Lua.
-** CHANGE the following definitions only if you want to build Lua
-** with a number type different from double. You may also need to
-** change lua_number2int & lua_number2integer.
-** ===================================================================
-*/
-
-#define LUA_NUMBER_DOUBLE
-#define LUA_NUMBER double
-
-/*
-@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
-@* over a number.
-*/
-#define LUAI_UACNUMBER double
-
-/*
-@@ LUA_NUMBER_SCAN is the format for reading numbers.
-@@ LUA_NUMBER_FMT is the format for writing numbers.
-@@ lua_number2str converts a number to a string.
-@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion.
-*/
-#define LUA_NUMBER_SCAN "%lf"
-#define LUA_NUMBER_FMT "%.14g"
-#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n))
-#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */
-
-
-/*
-@@ l_mathop allows the addition of an 'l' or 'f' to all math operations
-*/
-#define l_mathop(x) (x)
-
-
-/*
-@@ lua_str2number converts a decimal numeric string to a number.
-@@ lua_strx2number converts an hexadecimal numeric string to a number.
-** In C99, 'strtod' does both conversions. C89, however, has no function
-** to convert floating hexadecimal strings to numbers. For these
-** systems, you can leave 'lua_strx2number' undefined and Lua will
-** provide its own implementation.
-*/
-#define lua_str2number(s,p) strtod((s), (p))
-
-#if defined(LUA_USE_STRTODHEX)
-#define lua_strx2number(s,p) strtod((s), (p))
-#endif
-
-
-/*
-@@ The luai_num* macros define the primitive operations over numbers.
-*/
-
-/* the following operations need the math library */
-#if defined(lobject_c) || defined(lvm_c)
-#include <math.h>
-#define luai_nummod(L,a,b) ((a) - l_mathop(floor)((a)/(b))*(b))
-#define luai_numpow(L,a,b) (l_mathop(pow)(a,b))
-#endif
-
-/* these are quite standard operations */
-#if defined(LUA_CORE)
-#define luai_numadd(L,a,b) ((a)+(b))
-#define luai_numsub(L,a,b) ((a)-(b))
-#define luai_nummul(L,a,b) ((a)*(b))
-#define luai_numdiv(L,a,b) ((a)/(b))
-#define luai_numunm(L,a) (-(a))
-#define luai_numeq(a,b) ((a)==(b))
-#define luai_numlt(L,a,b) ((a)<(b))
-#define luai_numle(L,a,b) ((a)<=(b))
-#define luai_numisnan(L,a) (!luai_numeq((a), (a)))
-#endif
-
-
-
-/*
-@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger.
-** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
-** machines, ptrdiff_t gives a good choice between int or long.)
-*/
-#define LUA_INTEGER ptrdiff_t
-
-/*
-@@ LUA_UNSIGNED is the integral type used by lua_pushunsigned/lua_tounsigned.
-** It must have at least 32 bits.
-*/
-#define LUA_UNSIGNED unsigned LUA_INT32
-
-
-
-/*
-** Some tricks with doubles
-*/
-
-#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) /* { */
-/*
-** The next definitions activate some tricks to speed up the
-** conversion from doubles to integer types, mainly to LUA_UNSIGNED.
-**
-@@ LUA_MSASMTRICK uses Microsoft assembler to avoid clashes with a
-** DirectX idiosyncrasy.
-**
-@@ LUA_IEEE754TRICK uses a trick that should work on any machine
-** using IEEE754 with a 32-bit integer type.
-**
-@@ LUA_IEEELL extends the trick to LUA_INTEGER; should only be
-** defined when LUA_INTEGER is a 32-bit integer.
-**
-@@ LUA_IEEEENDIAN is the endianness of doubles in your machine
-** (0 for little endian, 1 for big endian); if not defined, Lua will
-** check it dynamically for LUA_IEEE754TRICK (but not for LUA_NANTRICK).
-**
-@@ LUA_NANTRICK controls the use of a trick to pack all types into
-** a single double value, using NaN values to represent non-number
-** values. The trick only works on 32-bit machines (ints and pointers
-** are 32-bit values) with numbers represented as IEEE 754-2008 doubles
-** with conventional endianess (12345678 or 87654321), in CPUs that do
-** not produce signaling NaN values (all NaNs are quiet).
-*/
-
-/* Microsoft compiler on a Pentium (32 bit) ? */
-#if defined(LUA_WIN) && defined(_MSC_VER) && defined(_M_IX86) /* { */
-
-#define LUA_MSASMTRICK
-#define LUA_IEEEENDIAN 0
-#define LUA_NANTRICK
-
-
-/* pentium 32 bits? */
-#elif defined(__i386__) || defined(__i386) || defined(__X86__) /* }{ */
-
-#define LUA_IEEE754TRICK
-#define LUA_IEEELL
-#define LUA_IEEEENDIAN 0
-#define LUA_NANTRICK
-
-/* pentium 64 bits? */
-#elif defined(__x86_64) /* }{ */
-
-#define LUA_IEEE754TRICK
-#define LUA_IEEEENDIAN 0
-
-#elif defined(__POWERPC__) || defined(__ppc__) /* }{ */
-
-#define LUA_IEEE754TRICK
-#define LUA_IEEEENDIAN 1
-
-#else /* }{ */
-
-/* assume IEEE754 and a 32-bit integer type */
-#define LUA_IEEE754TRICK
-
-#endif /* } */
-
-#endif /* } */
-
-/* }================================================================== */
-
-
-
-
-/* =================================================================== */
-
-/*
-** Local configuration. You can use this space to add your redefinitions
-** without modifying the main part of the file.
-*/
-
-
-
-#endif
-
diff --git a/StdLib/Include/Lua/lualib.h b/StdLib/Include/Lua/lualib.h deleted file mode 100644 index 5a5ecb2842..0000000000 --- a/StdLib/Include/Lua/lualib.h +++ /dev/null @@ -1,55 +0,0 @@ -/*
-** $Id: lualib.h,v 1.43.1.1 2013/04/12 18:48:47 roberto Exp $
-** Lua standard libraries
-** See Copyright Notice in lua.h
-*/
-
-
-#ifndef lualib_h
-#define lualib_h
-
-#include <Lua/lua.h>
-
-
-
-LUAMOD_API int (luaopen_base) (lua_State *L);
-
-#define LUA_COLIBNAME "coroutine"
-LUAMOD_API int (luaopen_coroutine) (lua_State *L);
-
-#define LUA_TABLIBNAME "table"
-LUAMOD_API int (luaopen_table) (lua_State *L);
-
-#define LUA_IOLIBNAME "io"
-LUAMOD_API int (luaopen_io) (lua_State *L);
-
-#define LUA_OSLIBNAME "os"
-LUAMOD_API int (luaopen_os) (lua_State *L);
-
-#define LUA_STRLIBNAME "string"
-LUAMOD_API int (luaopen_string) (lua_State *L);
-
-#define LUA_BITLIBNAME "bit32"
-LUAMOD_API int (luaopen_bit32) (lua_State *L);
-
-#define LUA_MATHLIBNAME "math"
-LUAMOD_API int (luaopen_math) (lua_State *L);
-
-#define LUA_DBLIBNAME "debug"
-LUAMOD_API int (luaopen_debug) (lua_State *L);
-
-#define LUA_LOADLIBNAME "package"
-LUAMOD_API int (luaopen_package) (lua_State *L);
-
-
-/* open all previous libraries */
-LUALIB_API void (luaL_openlibs) (lua_State *L);
-
-
-
-#if !defined(lua_assert)
-#define lua_assert(x) ((void)0)
-#endif
-
-
-#endif
diff --git a/StdLib/Include/Protocol/EfiSocket.h b/StdLib/Include/Protocol/EfiSocket.h deleted file mode 100644 index 022a6a5f22..0000000000 --- a/StdLib/Include/Protocol/EfiSocket.h +++ /dev/null @@ -1,650 +0,0 @@ -/** @file
- Definitions for the EFI Socket protocol.
-
- Copyright (c) 2011, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#ifndef _EFI_SOCKET_H_
-#define _EFI_SOCKET_H_
-
-#include <errno.h>
-#include <Uefi.h>
-
-#include <netinet/in.h>
-
-#include <sys/poll.h>
-#include <sys/socket.h>
-
-//------------------------------------------------------------------------------
-// Data Types
-//------------------------------------------------------------------------------
-
-/**
-EfiSocketLib (SocketDxe) interface
-**/
-typedef struct _EFI_SOCKET_PROTOCOL EFI_SOCKET_PROTOCOL;
-
-/**
- Constructor/Destructor
-
- @retval EFI_SUCCESS The operation was successful
-
- **/
-typedef
-EFI_STATUS
-(* PFN_ESL_xSTRUCTOR) (
- VOID
- );
-
-//------------------------------------------------------------------------------
-// Data
-//------------------------------------------------------------------------------
-
-extern PFN_ESL_xSTRUCTOR mpfnEslConstructor; ///< Constructor address for EslSocketLib
-extern PFN_ESL_xSTRUCTOR mpfnEslDestructor; ///< Destructor address for EslSocketLib
-
-extern EFI_GUID gEfiSocketProtocolGuid; ///< Socket protocol GUID
-extern EFI_GUID gEfiSocketServiceBindingProtocolGuid; ///< Socket layer service binding protocol GUID
-
-//------------------------------------------------------------------------------
-// Socket API
-//------------------------------------------------------------------------------
-
-/**
- Accept a network connection.
-
- This routine calls the network specific layer to remove the next
- connection from the FIFO.
-
- The ::accept calls this routine to poll for a network
- connection to the socket. When a connection is available
- this routine returns the ::EFI_SOCKET_PROTOCOL structure address
- associated with the new socket and the remote network address
- if requested.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] pSockAddr Address of a buffer to receive the remote
- network address.
-
- @param [in, out] pSockAddrLength Length in bytes of the address buffer.
- On output specifies the length of the
- remote network address.
-
- @param [out] ppSocketProtocol Address of a buffer to receive the
- ::EFI_SOCKET_PROTOCOL instance
- associated with the new socket.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS New connection successfully created
- @retval EFI_NOT_READY No connection is available
-
- **/
-typedef
-EFI_STATUS
-(* PFN_ACCEPT) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN struct sockaddr * pSockAddr,
- IN OUT socklen_t * pSockAddrLength,
- IN EFI_SOCKET_PROTOCOL ** ppSocketProtocol,
- IN int * pErrno
- );
-
-/**
- Bind a name to a socket.
-
- This routine calls the network specific layer to save the network
- address of the local connection point.
-
- The ::bind routine calls this routine to connect a name
- (network address and port) to a socket on the local machine.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] pSockAddr Address of a sockaddr structure that contains the
- connection point on the local machine. An IPv4 address
- of INADDR_ANY specifies that the connection is made to
- all of the network stacks on the platform. Specifying a
- specific IPv4 address restricts the connection to the
- network stack supporting that address. Specifying zero
- for the port causes the network layer to assign a port
- number from the dynamic range. Specifying a specific
- port number causes the network layer to use that port.
-
- @param [in] SockAddrLen Specifies the length in bytes of the sockaddr structure.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully created
-
- **/
-typedef
-EFI_STATUS
-(* PFN_BIND) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN const struct sockaddr * pSockAddr,
- IN socklen_t SockAddrLength,
- OUT int * pErrno
- );
-
-/**
- Determine if the socket is closed
-
- This routine checks the state of the socket to determine if
- the network specific layer has completed the close operation.
-
- The ::close routine polls this routine to determine when the
- close operation is complete. The close operation needs to
- reverse the operations of the ::EslSocketAllocate routine.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS Socket successfully closed
- @retval EFI_NOT_READY Close still in progress
- @retval EFI_ALREADY Close operation already in progress
- @retval Other Failed to close the socket
-
-**/
-typedef
-EFI_STATUS
-(* PFN_CLOSE_POLL) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int * pErrno
- );
-
-/**
- Start the close operation on the socket
-
- This routine calls the network specific layer to initiate the
- close state machine. This routine then calls the network
- specific layer to determine if the close state machine has gone
- to completion. The result from this poll is returned to the
- caller.
-
- The ::close routine calls this routine to start the close
- operation which reverses the operations of the
- ::EslSocketAllocate routine. The close routine then polls
- the ::EslSocketClosePoll routine to determine when the
- socket is closed.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
- @param [in] bCloseNow Boolean to control close behavior
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS Socket successfully closed
- @retval EFI_NOT_READY Close still in progress
- @retval EFI_ALREADY Close operation already in progress
- @retval Other Failed to close the socket
-
-**/
-typedef
-EFI_STATUS
-(* PFN_CLOSE_START) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN BOOLEAN bCloseNow,
- IN int * pErrno
- );
-
-/**
- Connect to a remote system via the network.
-
- This routine calls the network specific layer to establish
- the remote system address and establish the connection to
- the remote system.
-
- The ::connect routine calls this routine to establish a
- connection with the specified remote system. This routine
- is designed to be polled by the connect routine for completion
- of the network connection.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] pSockAddr Network address of the remote system.
-
- @param [in] SockAddrLength Length in bytes of the network address.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS The connection was successfully established.
- @retval EFI_NOT_READY The connection is in progress, call this routine again.
- @retval Others The connection attempt failed.
-
- **/
-typedef
-EFI_STATUS
-(* PFN_CONNECT) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN const struct sockaddr * pSockAddr,
- IN socklen_t SockAddrLength,
- IN int * pErrno
- );
-
-/**
- Get the local address.
-
- This routine calls the network specific layer to get the network
- address of the local host connection point.
-
- The ::getsockname routine calls this routine to obtain the network
- address associated with the local host connection point.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [out] pAddress Network address to receive the local system address
-
- @param [in,out] pAddressLength Length of the local network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Local address successfully returned
-
- **/
-typedef
-EFI_STATUS
-(* PFN_GET_LOCAL) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Get the peer address.
-
- This routine calls the network specific layer to get the remote
- system connection point.
-
- The ::getpeername routine calls this routine to obtain the network
- address of the remote connection point.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [out] pAddress Network address to receive the remote system address
-
- @param [in,out] pAddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Remote address successfully returned
-
- **/
-typedef
-EFI_STATUS
-(* PFN_GET_PEER) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Establish the known port to listen for network connections.
-
- This routine calls into the network protocol layer to establish
- a handler that is called upon connection completion. The handler
- is responsible for inserting the connection into the FIFO.
-
- The ::listen routine indirectly calls this routine to place the
- socket into a state that enables connection attempts. Connections
- are placed in a FIFO that is serviced by the application. The
- application calls the ::accept (::EslSocketAccept) routine to
- remove the next connection from the FIFO and get the associated
- socket and address.
-
- @param [in] pSocketProtocol Address of the socket protocol structure.
-
- @param [in] Backlog Backlog specifies the maximum FIFO depth for
- the connections waiting for the application
- to call accept. Connection attempts received
- while the queue is full are refused.
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully created
- @retval Other - Failed to enable the socket for listen
-
-**/
-typedef
-EFI_STATUS
-(* PFN_LISTEN) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN INT32 Backlog,
- OUT int * pErrno
- );
-
-/**
- Get the socket options
-
- This routine handles the socket level options and passes the
- others to the network specific layer.
-
- The ::getsockopt routine calls this routine to retrieve the
- socket options one at a time by name.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
- @param [in] level Option protocol level
- @param [in] OptionName Name of the option
- @param [out] pOptionValue Buffer to receive the option value
- @param [in,out] pOptionLength Length of the buffer in bytes,
- upon return length of the option value in bytes
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully received
-
- **/
-typedef
-EFI_STATUS
-(* PFN_OPTION_GET) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int level,
- IN int OptionName,
- OUT void * __restrict pOptionValue,
- IN OUT socklen_t * __restrict pOptionLength,
- IN int * pErrno
- );
-
-/**
- Set the socket options
-
- This routine handles the socket level options and passes the
- others to the network specific layer.
-
- The ::setsockopt routine calls this routine to adjust the socket
- options one at a time by name.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
- @param [in] level Option protocol level
- @param [in] OptionName Name of the option
- @param [in] pOptionValue Buffer containing the option value
- @param [in] OptionLength Length of the buffer in bytes
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Option successfully set
-
- **/
-typedef
-EFI_STATUS
-(* PFN_OPTION_SET) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int level,
- IN int OptionName,
- IN CONST void * pOptionValue,
- IN socklen_t OptionLength,
- IN int * pErrno
- );
-
-/**
- Poll a socket for pending activity.
-
- This routine builds a detected event mask which is returned to
- the caller in the buffer provided.
-
- The ::poll routine calls this routine to determine if the socket
- needs to be serviced as a result of connection, error, receive or
- transmit activity.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Events Events of interest for this socket
-
- @param [in] pEvents Address to receive the detected events
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully polled
- @retval EFI_INVALID_PARAMETER - When pEvents is NULL
-
- **/
-typedef
-EFI_STATUS
-(* PFN_POLL) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN short Events,
- IN short * pEvents,
- IN int * pErrno
- );
-
-/**
- Receive data from a network connection.
-
- This routine calls the network specific routine to remove the
- next portion of data from the receive queue and return it to the
- caller.
-
- The ::recvfrom routine calls this routine to determine if any data
- is received from the remote system. Note that the other routines
- ::recv and ::read are layered on top of ::recvfrom.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Flags Message control flags
-
- @param [in] BufferLength Length of the the buffer
-
- @param [in] pBuffer Address of a buffer to receive the data.
-
- @param [in] pDataLength Number of received data bytes in the buffer.
-
- @param [out] pAddress Network address to receive the remote system address
-
- @param [in,out] pAddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully received
-
- **/
-typedef
-EFI_STATUS
-(* PFN_RECEIVE) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int Flags,
- IN size_t BufferLength,
- IN UINT8 * pBuffer,
- OUT size_t * pDataLength,
- OUT struct sockaddr * pAddress,
- IN OUT socklen_t * pAddressLength,
- IN int * pErrno
- );
-
-/**
- Shutdown the socket receive and transmit operations
-
- This routine sets a flag to stop future transmissions and calls
- the network specific layer to cancel the pending receive operation.
-
- The ::shutdown routine calls this routine to stop receive and transmit
- operations on the socket.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] How Which operations to stop
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket operations successfully shutdown
-
- **/
-typedef
-EFI_STATUS
-(* PFN_SHUTDOWN) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int How,
- IN int * pErrno
- );
-
-/**
- Initialize an endpoint for network communication.
-
- This routine initializes the communication endpoint.
-
- The ::socket routine calls this routine indirectly to create
- the communication endpoint.
-
- @param [in] pSocketProtocol Address of the socket protocol structure.
- @param [in] domain Select the family of protocols for the client or server
- application. See the ::socket documentation for values.
- @param [in] type Specifies how to make the network connection.
- See the ::socket documentation for values.
- @param [in] protocol Specifies the lower layer protocol to use.
- See the ::socket documentation for values.
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket successfully created
- @retval EFI_INVALID_PARAMETER - Invalid domain value, errno = EAFNOSUPPORT
- @retval EFI_INVALID_PARAMETER - Invalid type value, errno = EINVAL
- @retval EFI_INVALID_PARAMETER - Invalid protocol value, errno = EINVAL
-
- **/
-typedef
-EFI_STATUS
-(*PFN_SOCKET) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int domain,
- IN int type,
- IN int protocol,
- IN int * pErrno
- );
-
-/**
- Send data using a network connection.
-
- This routine calls the network specific layer to queue the data
- for transmission. Eventually the buffer will reach the head of
- the queue and will get transmitted over the network. For datagram
- sockets there is no guarantee that the data reaches the application
- running on the remote system.
-
- The ::sendto routine calls this routine to send data to the remote
- system. Note that ::send and ::write are layered on top of ::sendto.
-
- @param [in] pSocketProtocol Address of the ::EFI_SOCKET_PROTOCOL structure.
-
- @param [in] Flags Message control flags
-
- @param [in] BufferLength Length of the the buffer
-
- @param [in] pBuffer Address of a buffer containing the data to send
-
- @param [in] pDataLength Address to receive the number of data bytes sent
-
- @param [in] pAddress Network address of the remote system address
-
- @param [in] AddressLength Length of the remote network address structure
-
- @param [out] pErrno Address to receive the errno value upon completion.
-
- @retval EFI_SUCCESS - Socket data successfully queued for transmit
-
- **/
-typedef
-EFI_STATUS
-(* PFN_TRANSMIT) (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int Flags,
- IN size_t BufferLength,
- IN CONST UINT8 * pBuffer,
- OUT size_t * pDataLength,
- IN const struct sockaddr * pAddress,
- IN socklen_t AddressLength,
- IN int * pErrno
- );
-
-//------------------------------------------------------------------------------
-// Socket Protocol
-//------------------------------------------------------------------------------
-
-/**
- Socket protocol declaration
-**/
-typedef struct _EFI_SOCKET_PROTOCOL {
- EFI_HANDLE SocketHandle; ///< Handle for the socket
- PFN_ACCEPT pfnAccept; ///< Accept a network connection
- PFN_BIND pfnBind; ///< Bind a local address to the socket
- PFN_CLOSE_POLL pfnClosePoll; ///< Determine if the socket is closed
- PFN_CLOSE_START pfnCloseStart; ///< Start the close operation
- PFN_CONNECT pfnConnect; ///< Connect to a remote system
- PFN_GET_LOCAL pfnGetLocal; ///< Get local address
- PFN_GET_PEER pfnGetPeer; ///< Get peer address
- PFN_LISTEN pfnListen; ///< Enable connection attempts on known port
- PFN_OPTION_GET pfnOptionGet; ///< Get socket options
- PFN_OPTION_SET pfnOptionSet; ///< Set socket options
- PFN_POLL pfnPoll; ///< Poll for socket activity
- PFN_RECEIVE pfnReceive; ///< Receive data from a socket
- PFN_SHUTDOWN pfnShutdown; ///< Shutdown receive and transmit operations
- PFN_SOCKET pfnSocket; ///< Initialize the socket
- PFN_TRANSMIT pfnTransmit; ///< Transmit data using the socket
-} GCC_EFI_SOCKET_PROTOCOL;
-
-//------------------------------------------------------------------------------
-// Non-blocking routines
-//------------------------------------------------------------------------------
-
-/**
- Non blocking version of ::accept.
-
- @param [in] s Socket file descriptor returned from ::socket.
-
- @param [in] address Address of a buffer to receive the remote network address.
-
- @param [in, out] address_len Address of a buffer containing the Length in bytes
- of the remote network address buffer. Upon return,
- contains the length of the remote network address.
-
- @return This routine returns zero if successful and -1 when an error occurs.
- In the case of an error, ::errno contains more details.
-
- **/
-int
-AcceptNB (
- int s,
- struct sockaddr * address,
- socklen_t * address_len
- );
-
-/**
- Free the socket resources
-
- This releases the socket resources allocated by calling
- EslServiceGetProtocol.
-
- This routine is called from the ::close routine in BsdSocketLib
- to release the socket resources.
-
- @param [in] pSocketProtocol Address of an ::EFI_SOCKET_PROTOCOL
- structure
-
- @return Value for ::errno, zero (0) indicates success.
-
- **/
-int
-EslServiceFreeProtocol (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol
- );
-
-/**
- Connect to the EFI socket library
-
- @param [in] ppSocketProtocol Address to receive the socket protocol address
-
- @return Value for ::errno, zero (0) indicates success.
-
- **/
-int
-EslServiceGetProtocol (
- IN EFI_SOCKET_PROTOCOL ** ppSocketProtocol
- );
-
-//------------------------------------------------------------------------------
-
-#endif // _EFI_SOCKET_H_
diff --git a/StdLib/Include/X64/machine/ansi.h b/StdLib/Include/X64/machine/ansi.h deleted file mode 100644 index e6ff195a82..0000000000 --- a/StdLib/Include/X64/machine/ansi.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- 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:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: ansi.h,v 1.4 2006/10/04 13:51:59 tnozaki Exp
- ansi.h 8.2 (Berkeley) 1/4/94
-**/
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
- * #undef _BSD_SIZE_T_
- * #endif
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) 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 _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_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 struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/X64/machine/asm.h b/StdLib/Include/X64/machine/asm.h deleted file mode 100644 index 109d1e1879..0000000000 --- a/StdLib/Include/X64/machine/asm.h +++ /dev/null @@ -1,146 +0,0 @@ -/* $NetBSD: asm.h,v 1.6 2006/09/05 19:00:42 ad Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- *
- * @(#)asm.h 5.5 (Berkeley) 5/7/91
- */
-
-#ifndef _AMD64_ASM_H_
-#define _AMD64_ASM_H_
-
-#ifdef PIC
-#define PIC_PLT(x) x@PLT
-#define PIC_GOT(x) x@GOTPCREL(%rip)
-#else
-#define PIC_PLT(x) x
-#define PIC_GOT(x) x
-#endif
-
-# define _C_LABEL(x) x
-#define _ASM_LABEL(x) x
-
-#define CVAROFF(x,y) (_C_LABEL(x)+y)(%rip)
-
-#ifdef __STDC__
-# define __CONCAT(x,y) x ## y
-# define __STRING(x) #x
-#else
-# define __CONCAT(x,y) x/**/y
-# define __STRING(x) "x"
-#endif
-
-/* let kernels and others override entrypoint alignment */
-#ifndef _ALIGN_TEXT
-#define _ALIGN_TEXT .align 4
-#endif
-
-#define _ENTRY(x) \
- .text; _ALIGN_TEXT; .globl x; .type x,@function; x:
-
-#ifdef _KERNEL
-/* XXX Can't use __CONCAT() here, as it would be evaluated incorrectly. */
-#ifdef __STDC__
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl X ## name; .type X ## name,@function; X ## name:
-#else
-#define IDTVEC(name) \
- ALIGN_TEXT; .globl X/**/name; .type X/**/name,@function; X/**/name:
-#endif /* __STDC__ */
-#endif /* _KERNEL */
-
-#ifdef __STDC__
-#define CPUVAR(off) %gs:CPU_INFO_ ## off
-#else
-#define CPUVAR(off) %gs:CPU_INFO_/**/off
-#endif
-
-
-#ifdef GPROF
-# define _PROF_PROLOGUE \
- pushq %rbp; leaq (%rsp),%rbp; call PIC_PLT(__mcount); popq %rbp
-#else
-# define _PROF_PROLOGUE
-#endif
-
-#define ENTRY(y) _ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
-#define NENTRY(y) _ENTRY(_C_LABEL(y))
-#define ASENTRY(y) _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
-
-#define ASMSTR .asciz
-
-#define RCSID(x) .text; .asciz x
-
-#define WEAK_ALIAS(alias,sym) \
- .weak alias; \
- alias = sym
-
-/*
- * STRONG_ALIAS: create a strong alias.
- */
-#define STRONG_ALIAS(alias,sym) \
- .globl alias; \
- alias = sym
-
-/* XXXfvdl do not use stabs here */
-#ifdef __STDC__
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg ## ,30,0,0,0 ; \
- .stabs __STRING(_C_LABEL(sym)) ## ,1,0,0,0
-#else
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(sym),1,0,0,0
-#endif /* __STDC__ */
-
-/*
- * Assembley equivalent of spllower(). Label contains the label to jump to
- * if we need to fire off pending interrupts (e.g. _C_LABEL(Xspllower)).
- *
- * On entry %rcx = new SPL.
- */
-#define SPLLOWER(label) \
- movq CPUVAR(SELF), %r9 ; \
- cmpl CPU_INFO_ILEVEL(%r9), %ecx ; \
- jae 99f ; \
- movl CPU_INFO_IUNMASK(%r9,%rcx,4), %edi ; \
- pushfq ; \
- popq %rax ; \
- cli ; \
- testl CPU_INFO_IPENDING(%r9), %edi ; \
- movq %rcx, %rdi ; \
- jnz label ; \
- movl %ecx, CPU_INFO_ILEVEL(%r9) ; \
- pushq %rax ; \
- popfq ; \
-99:
-
-#endif /* !_AMD64_ASM_H_ */
diff --git a/StdLib/Include/X64/machine/atomic.h b/StdLib/Include/X64/machine/atomic.h deleted file mode 100644 index fa5672b4d3..0000000000 --- a/StdLib/Include/X64/machine/atomic.h +++ /dev/null @@ -1,95 +0,0 @@ -/* $NetBSD: atomic.h,v 1.4 2005/12/28 19:09:29 perry Exp $ */
-
-/*
- * Copyright 2002 (c) Wasabi Systems, Inc.
- * All rights reserved.
- *
- * Written by Frank van der Linden for Wasabi Systems, 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 for the NetBSD Project by
- * Wasabi Systems, Inc.
- * 4. The name of Wasabi Systems, Inc. may not be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC
- * 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.
- */
-
-#ifndef _ATOMIC_H
-#define _ATOMIC_H
-
-#ifndef _LOCORE
-
-static __inline u_int64_t
-x86_atomic_testset_u64(volatile u_int64_t *ptr, u_int64_t val) {
- __asm volatile ("xchgq %0,(%2)" :"=r" (val):"0" (val),"r" (ptr));
- return val;
-}
-
-static __inline u_int32_t
-x86_atomic_testset_u32(volatile u_int32_t *ptr, u_int32_t val) {
- __asm volatile ("xchgl %0,(%2)" :"=r" (val):"0" (val),"r" (ptr));
- return val;
-}
-
-
-
-static __inline int32_t
-x86_atomic_testset_i32(volatile int32_t *ptr, int32_t val) {
- __asm volatile ("xchgl %0,(%2)" :"=r" (val):"0" (val),"r" (ptr));
- return val;
-}
-
-
-
-static __inline void
-x86_atomic_setbits_u32(volatile u_int32_t *ptr, u_int32_t bits) {
- __asm volatile("lock ; orl %1,%0" : "=m" (*ptr) : "ir" (bits));
-}
-
-static __inline void
-x86_atomic_clearbits_u32(volatile u_int32_t *ptr, u_int32_t bits) {
- __asm volatile("lock ; andl %1,%0" : "=m" (*ptr) : "ir" (~bits));
-}
-
-
-
-static __inline void
-x86_atomic_setbits_u64(volatile u_int64_t *ptr, u_int64_t bits) {
- __asm volatile("lock ; orq %1,%0" : "=m" (*ptr) : "ir" (~bits));
-}
-
-static __inline void
-x86_atomic_clearbits_u64(volatile u_int64_t *ptr, u_int64_t bits) {
- __asm volatile("lock ; andq %1,%0" : "=m" (*ptr) : "ir" (~bits));
-}
-
-#define x86_atomic_testset_ul x86_atomic_testset_u32
-#define x86_atomic_testset_i x86_atomic_testset_i32
-#define x86_atomic_setbits_l x86_atomic_setbits_u32
-#define x86_atomic_setbits_ul x86_atomic_setbits_u32
-#define x86_atomic_clearbits_l x86_atomic_clearbits_u32
-#define x86_atomic_clearbits_ul x86_atomic_clearbits_u32
-
-#endif
-#endif
diff --git a/StdLib/Include/X64/machine/bswap.h b/StdLib/Include/X64/machine/bswap.h deleted file mode 100644 index 1c8caaad4c..0000000000 --- a/StdLib/Include/X64/machine/bswap.h +++ /dev/null @@ -1,13 +0,0 @@ -/* $NetBSD: bswap.h,v 1.2 2006/01/31 07:49:18 dsl Exp $ */
-
-/* Written by Manuel Bouyer. Public domain */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <machine/byte_swap.h>
-
-#define __BSWAP_RENAME
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/X64/machine/byte_swap.h b/StdLib/Include/X64/machine/byte_swap.h deleted file mode 100644 index dec8a24015..0000000000 --- a/StdLib/Include/X64/machine/byte_swap.h +++ /dev/null @@ -1,71 +0,0 @@ -/* $NetBSD: byte_swap.h,v 1.4 2006/01/30 22:46:35 dsl Exp $ */
-
-/*-
- * Copyright (c) 1998 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-/*
- * Copy of the i386 version. 64 bit versions may be added later.
- */
-
-#ifndef _AMD64_BYTE_SWAP_H_
-#define _AMD64_BYTE_SWAP_H_
-
-#ifdef __GNUC__
-#include <sys/types.h>
-__BEGIN_DECLS
-
-#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
-static __inline uint32_t __byte_swap_u32_variable(uint32_t);
-static __inline uint32_t
-__byte_swap_u32_variable(uint32_t x)
-{
- __asm volatile ( "bswap %1" : "=r" (x) : "0" (x));
- return (x);
-}
-
-#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
-static __inline uint16_t __byte_swap_u16_variable(uint16_t);
-static __inline uint16_t
-__byte_swap_u16_variable(uint16_t x)
-{
- __asm volatile ("rorw $8, %w1" : "=r" (x) : "0" (x));
- return (x);
-}
-
-__END_DECLS
-#endif
-
-#endif /* !_AMD64_BYTE_SWAP_H_ */
diff --git a/StdLib/Include/X64/machine/endian.h b/StdLib/Include/X64/machine/endian.h deleted file mode 100644 index 53de9c6ef4..0000000000 --- a/StdLib/Include/X64/machine/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/X64/machine/endian_machdep.h b/StdLib/Include/X64/machine/endian_machdep.h deleted file mode 100644 index efe81a3ec3..0000000000 --- a/StdLib/Include/X64/machine/endian_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: endian_machdep.h,v 1.4 2006/01/30 21:52:38 dsl Exp $ */
-
-#define _BYTE_ORDER _LITTLE_ENDIAN
diff --git a/StdLib/Include/X64/machine/float.h b/StdLib/Include/X64/machine/float.h deleted file mode 100644 index 620601e169..0000000000 --- a/StdLib/Include/X64/machine/float.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: float.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ */
-
-#include <x86/float.h>
diff --git a/StdLib/Include/X64/machine/fpu.h b/StdLib/Include/X64/machine/fpu.h deleted file mode 100644 index b463062f31..0000000000 --- a/StdLib/Include/X64/machine/fpu.h +++ /dev/null @@ -1,103 +0,0 @@ -/* $NetBSD: fpu.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ */
-
-#ifndef _AMD64_FPU_H_
-#define _AMD64_FPU_H_
-
-/*
- * NetBSD/amd64 only uses the extended save/restore format used
- * by fxsave/fsrestore, to always deal with the SSE registers,
- * which are part of the ABI to pass floating point values.
- * Must be stored in memory on a 16-byte boundary.
- */
-
-struct fxsave64 {
- u_int16_t fx_fcw;
- u_int16_t fx_fsw;
- u_int8_t fx_ftw;
- u_int8_t fx_unused1;
- u_int16_t fx_fop;
- u_int64_t fx_rip;
- u_int64_t fx_rdp;
- u_int32_t fx_mxcsr;
- u_int32_t fx_mxcsr_mask;
- u_int64_t fx_st[8][2]; /* 8 normal FP regs */
- u_int64_t fx_xmm[16][2]; /* 16 SSE2 registers */
- u_int8_t fx_unused3[96];
-} __attribute__((packed));
-
-struct savefpu {
- struct fxsave64 fp_fxsave; /* see above */
- u_int16_t fp_ex_sw; /* saved status from last exception */
- u_int16_t fp_ex_tw; /* saved tag from last exception */
-};
-
-#ifdef _KERNEL
-
-/*
- * This one only used for backward compat coredumping.
- */
-struct oldfsave {
- u_int16_t fs_control;
- u_int16_t fs_unused0;
- u_int16_t fs_status;
- u_int16_t fs_unused1;
- u_int16_t fs_tag;
- u_int16_t fs_unused2;
- u_int32_t fs_ipoff;
- u_int16_t fs_ipsel;
- u_int16_t fs_op;
- u_int32_t fs_opoff;
- u_int16_t fs_opsel;
-} __attribute__ ((packed));
-
-#endif
-
-
-/*
- * The i387 defaults to Intel extended precision mode and round to nearest,
- * with all exceptions masked.
- */
-#define __INITIAL_NPXCW__ 0x037f
-#define __INITIAL_MXCSR__ 0x1f80
-#define __INITIAL_MXCSR_MASK__ 0xffbf
-
-/* NetBSD uses IEEE double precision. */
-#define __NetBSD_NPXCW__ 0x127f
-/* Linux just uses the default control word. */
-#define __Linux_NPXCW__ 0x037f
-
-/*
- * The standard control word from finit is 0x37F, giving:
- * round to nearest
- * 64-bit precision
- * all exceptions masked.
- *
- * Now we want:
- * affine mode (if we decide to support 287's)
- * round to nearest
- * 53-bit precision
- * all exceptions masked.
- *
- * 64-bit precision often gives bad results with high level languages
- * because it makes the results of calculations depend on whether
- * intermediate values are stored in memory or in FPU registers.
- */
-
-#ifdef _KERNEL
-/*
- * XXX
- */
-struct trapframe;
-struct cpu_info;
-
-void fpuinit(struct cpu_info *);
-void fpudrop(void);
-void fpusave(struct lwp *);
-void fpudiscard(struct lwp *);
-void fputrap(struct trapframe *);
-void fpusave_lwp(struct lwp *, int);
-void fpusave_cpu(struct cpu_info *, int);
-
-#endif
-
-#endif /* _AMD64_FPU_H_ */
diff --git a/StdLib/Include/X64/machine/ieee.h b/StdLib/Include/X64/machine/ieee.h deleted file mode 100644 index 6f942256dc..0000000000 --- a/StdLib/Include/X64/machine/ieee.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: ieee.h,v 1.1 2003/04/26 18:39:41 fvdl Exp $ */
-
-#include <x86/ieee.h>
diff --git a/StdLib/Include/X64/machine/int_const.h b/StdLib/Include/X64/machine/int_const.h deleted file mode 100644 index 084796358d..0000000000 --- a/StdLib/Include/X64/machine/int_const.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $NetBSD: int_const.h,v 1.1 2003/04/26 18:39:42 fvdl Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AMD64_INT_CONST_H_
-#define _AMD64_INT_CONST_H_
-
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif /* !_AMD64_INT_CONST_H_ */
diff --git a/StdLib/Include/X64/machine/int_fmtio.h b/StdLib/Include/X64/machine/int_fmtio.h deleted file mode 100644 index 181cc26e84..0000000000 --- a/StdLib/Include/X64/machine/int_fmtio.h +++ /dev/null @@ -1,219 +0,0 @@ -/* $NetBSD: int_fmtio.h,v 1.4 2005/12/11 12:16:25 christos Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AMD64_INT_FMTIO_H_
-#define _AMD64_INT_FMTIO_H_
-
-/*
- * 7.8.1 Macros for format specifiers
- */
-
-/* fprintf macros for signed integers */
-
-#define PRId8 "d" /* int8_t */
-#define PRId16 "d" /* int16_t */
-#define PRId32 "d" /* int32_t */
-#define PRId64 "ld" /* int64_t */
-#define PRIdLEAST8 "d" /* int_least8_t */
-#define PRIdLEAST16 "d" /* int_least16_t */
-#define PRIdLEAST32 "d" /* int_least32_t */
-#define PRIdLEAST64 "ld" /* int_least64_t */
-#define PRIdFAST8 "d" /* int_fast8_t */
-#define PRIdFAST16 "d" /* int_fast16_t */
-#define PRIdFAST32 "d" /* int_fast32_t */
-#define PRIdFAST64 "ld" /* int_fast64_t */
-#define PRIdMAX "ld" /* intmax_t */
-#define PRIdPTR "ld" /* intptr_t */
-
-#define PRIi8 "i" /* int8_t */
-#define PRIi16 "i" /* int16_t */
-#define PRIi32 "i" /* int32_t */
-#define PRIi64 "li" /* int64_t */
-#define PRIiLEAST8 "i" /* int_least8_t */
-#define PRIiLEAST16 "i" /* int_least16_t */
-#define PRIiLEAST32 "i" /* int_least32_t */
-#define PRIiLEAST64 "li" /* int_least64_t */
-#define PRIiFAST8 "i" /* int_fast8_t */
-#define PRIiFAST16 "i" /* int_fast16_t */
-#define PRIiFAST32 "i" /* int_fast32_t */
-#define PRIiFAST64 "li" /* int_fast64_t */
-#define PRIiMAX "li" /* intmax_t */
-#define PRIiPTR "li" /* intptr_t */
-
-/* fprintf macros for unsigned integers */
-
-#define PRIo8 "o" /* uint8_t */
-#define PRIo16 "o" /* uint16_t */
-#define PRIo32 "o" /* uint32_t */
-#define PRIo64 "lo" /* uint64_t */
-#define PRIoLEAST8 "o" /* uint_least8_t */
-#define PRIoLEAST16 "o" /* uint_least16_t */
-#define PRIoLEAST32 "o" /* uint_least32_t */
-#define PRIoLEAST64 "lo" /* uint_least64_t */
-#define PRIoFAST8 "o" /* uint_fast8_t */
-#define PRIoFAST16 "o" /* uint_fast16_t */
-#define PRIoFAST32 "o" /* uint_fast32_t */
-#define PRIoFAST64 "lo" /* uint_fast64_t */
-#define PRIoMAX "lo" /* uintmax_t */
-#define PRIoPTR "lo" /* uintptr_t */
-
-#define PRIu8 "u" /* uint8_t */
-#define PRIu16 "u" /* uint16_t */
-#define PRIu32 "u" /* uint32_t */
-#define PRIu64 "lu" /* uint64_t */
-#define PRIuLEAST8 "u" /* uint_least8_t */
-#define PRIuLEAST16 "u" /* uint_least16_t */
-#define PRIuLEAST32 "u" /* uint_least32_t */
-#define PRIuLEAST64 "lu" /* uint_least64_t */
-#define PRIuFAST8 "u" /* uint_fast8_t */
-#define PRIuFAST16 "u" /* uint_fast16_t */
-#define PRIuFAST32 "u" /* uint_fast32_t */
-#define PRIuFAST64 "lu" /* uint_fast64_t */
-#define PRIuMAX "lu" /* uintmax_t */
-#define PRIuPTR "lu" /* uintptr_t */
-
-#define PRIx8 "x" /* uint8_t */
-#define PRIx16 "x" /* uint16_t */
-#define PRIx32 "x" /* uint32_t */
-#define PRIx64 "lx" /* uint64_t */
-#define PRIxLEAST8 "x" /* uint_least8_t */
-#define PRIxLEAST16 "x" /* uint_least16_t */
-#define PRIxLEAST32 "x" /* uint_least32_t */
-#define PRIxLEAST64 "lx" /* uint_least64_t */
-#define PRIxFAST8 "x" /* uint_fast8_t */
-#define PRIxFAST16 "x" /* uint_fast16_t */
-#define PRIxFAST32 "x" /* uint_fast32_t */
-#define PRIxFAST64 "lx" /* uint_fast64_t */
-#define PRIxMAX "lx" /* uintmax_t */
-#define PRIxPTR "lx" /* uintptr_t */
-
-#define PRIX8 "X" /* uint8_t */
-#define PRIX16 "X" /* uint16_t */
-#define PRIX32 "X" /* uint32_t */
-#define PRIX64 "lX" /* uint64_t */
-#define PRIXLEAST8 "X" /* uint_least8_t */
-#define PRIXLEAST16 "X" /* uint_least16_t */
-#define PRIXLEAST32 "X" /* uint_least32_t */
-#define PRIXLEAST64 "lX" /* uint_least64_t */
-#define PRIXFAST8 "X" /* uint_fast8_t */
-#define PRIXFAST16 "X" /* uint_fast16_t */
-#define PRIXFAST32 "X" /* uint_fast32_t */
-#define PRIXFAST64 "lX" /* uint_fast64_t */
-#define PRIXMAX "lX" /* uintmax_t */
-#define PRIXPTR "lX" /* uintptr_t */
-
-/* fscanf macros for signed integers */
-
-#define SCNd8 "hhd" /* int8_t */
-#define SCNd16 "hd" /* int16_t */
-#define SCNd32 "d" /* int32_t */
-#define SCNd64 "ld" /* int64_t */
-#define SCNdLEAST8 "hhd" /* int_least8_t */
-#define SCNdLEAST16 "hd" /* int_least16_t */
-#define SCNdLEAST32 "d" /* int_least32_t */
-#define SCNdLEAST64 "ld" /* int_least64_t */
-#define SCNdFAST8 "d" /* int_fast8_t */
-#define SCNdFAST16 "d" /* int_fast16_t */
-#define SCNdFAST32 "d" /* int_fast32_t */
-#define SCNdFAST64 "ld" /* int_fast64_t */
-#define SCNdMAX "ld" /* intmax_t */
-#define SCNdPTR "ld" /* intptr_t */
-
-#define SCNi8 "hhi" /* int8_t */
-#define SCNi16 "hi" /* int16_t */
-#define SCNi32 "i" /* int32_t */
-#define SCNi64 "li" /* int64_t */
-#define SCNiLEAST8 "hhi" /* int_least8_t */
-#define SCNiLEAST16 "hi" /* int_least16_t */
-#define SCNiLEAST32 "i" /* int_least32_t */
-#define SCNiLEAST64 "li" /* int_least64_t */
-#define SCNiFAST8 "i" /* int_fast8_t */
-#define SCNiFAST16 "i" /* int_fast16_t */
-#define SCNiFAST32 "i" /* int_fast32_t */
-#define SCNiFAST64 "li" /* int_fast64_t */
-#define SCNiMAX "li" /* intmax_t */
-#define SCNiPTR "li" /* intptr_t */
-
-/* fscanf macros for unsigned integers */
-
-#define SCNo8 "hho" /* uint8_t */
-#define SCNo16 "ho" /* uint16_t */
-#define SCNo32 "o" /* uint32_t */
-#define SCNo64 "lo" /* uint64_t */
-#define SCNoLEAST8 "hho" /* uint_least8_t */
-#define SCNoLEAST16 "ho" /* uint_least16_t */
-#define SCNoLEAST32 "o" /* uint_least32_t */
-#define SCNoLEAST64 "lo" /* uint_least64_t */
-#define SCNoFAST8 "o" /* uint_fast8_t */
-#define SCNoFAST16 "o" /* uint_fast16_t */
-#define SCNoFAST32 "o" /* uint_fast32_t */
-#define SCNoFAST64 "lo" /* uint_fast64_t */
-#define SCNoMAX "lo" /* uintmax_t */
-#define SCNoPTR "lo" /* uintptr_t */
-
-#define SCNu8 "hhu" /* uint8_t */
-#define SCNu16 "hu" /* uint16_t */
-#define SCNu32 "u" /* uint32_t */
-#define SCNu64 "lu" /* uint64_t */
-#define SCNuLEAST8 "hhu" /* uint_least8_t */
-#define SCNuLEAST16 "hu" /* uint_least16_t */
-#define SCNuLEAST32 "u" /* uint_least32_t */
-#define SCNuLEAST64 "lu" /* uint_least64_t */
-#define SCNuFAST8 "u" /* uint_fast8_t */
-#define SCNuFAST16 "u" /* uint_fast16_t */
-#define SCNuFAST32 "u" /* uint_fast32_t */
-#define SCNuFAST64 "lu" /* uint_fast64_t */
-#define SCNuMAX "lu" /* uintmax_t */
-#define SCNuPTR "lu" /* uintptr_t */
-
-#define SCNx8 "hhx" /* uint8_t */
-#define SCNx16 "hx" /* uint16_t */
-#define SCNx32 "x" /* uint32_t */
-#define SCNx64 "lx" /* uint64_t */
-#define SCNxLEAST8 "hhx" /* uint_least8_t */
-#define SCNxLEAST16 "hx" /* uint_least16_t */
-#define SCNxLEAST32 "x" /* uint_least32_t */
-#define SCNxLEAST64 "lx" /* uint_least64_t */
-#define SCNxFAST8 "x" /* uint_fast8_t */
-#define SCNxFAST16 "x" /* uint_fast16_t */
-#define SCNxFAST32 "x" /* uint_fast32_t */
-#define SCNxFAST64 "lx" /* uint_fast64_t */
-#define SCNxMAX "lx" /* uintmax_t */
-#define SCNxPTR "lx" /* uintptr_t */
-
-#endif /* !_AMD64_INT_FMTIO_H_ */
diff --git a/StdLib/Include/X64/machine/int_limits.h b/StdLib/Include/X64/machine/int_limits.h deleted file mode 100644 index 8543760e53..0000000000 --- a/StdLib/Include/X64/machine/int_limits.h +++ /dev/null @@ -1,135 +0,0 @@ -/* $NetBSD: int_limits.h,v 1.3 2005/12/11 12:16:25 christos Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _AMD64_INT_LIMITS_H_
-#define _AMD64_INT_LIMITS_H_
-
-/*
- * 7.18.2 Limits of specified-width integer types
- */
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN (-0x7f-1) /* int8_t */
-#define INT16_MIN (-0x7fff-1) /* int16_t */
-#define INT32_MIN (-0x7fffffff-1) /* int32_t */
-#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xffU /* uint8_t */
-#define UINT16_MAX 0xffffU /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
-#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
-#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
-#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xffU /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffffU /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
-#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
-#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
-#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN (-0x7fffffffffffffffLL-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffffffffffffLL /* intptr_t */
-#define UINTPTR_MAX 0xffffffffffffffffULL /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN (-0x7fffffffffffffffLL-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffffffffffffLL /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN (-0x7fffffffffffffffLL-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffffffffffffLL /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffffffffffULL /* size_t */
-#define SIZE_T_MAX SIZE_MAX
-
-#endif /* !_AMD64_INT_LIMITS_H_ */
diff --git a/StdLib/Include/X64/machine/int_mwgwtypes.h b/StdLib/Include/X64/machine/int_mwgwtypes.h deleted file mode 100644 index 5e28108f8e..0000000000 --- a/StdLib/Include/X64/machine/int_mwgwtypes.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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 NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp
-**/
-#ifndef _AMD64_INT_MWGWTYPES_H_
-#define _AMD64_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_AMD64_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/X64/machine/int_types.h b/StdLib/Include/X64/machine/int_types.h deleted file mode 100644 index 5797db8e7f..0000000000 --- a/StdLib/Include/X64/machine/int_types.h +++ /dev/null @@ -1,73 +0,0 @@ -/** @file
- Machine dependent integer type definitions.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990, 1993
- The Regents of the University of California. All rights reserved.
-
- This code is derived from software contributed to Berkeley by
- Chris Torek.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: int_types.h,v 1.5 2005/12/24 20:06:47 perry Exp
- types.h 7.5 (Berkeley) 3/9/91
-**/
-#ifndef _AMD64_INT_TYPES_H_
-#define _AMD64_INT_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef INT8 __int8_t;
-typedef UINT8 __uint8_t;
-typedef INT16 __int16_t;
-typedef UINT16 __uint16_t;
-typedef INT32 __int32_t;
-typedef UINT32 __uint32_t;
-typedef INT64 __int64_t;
-typedef UINT64 __uint64_t;
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-typedef INTN __intptr_t;
-typedef UINTN __uintptr_t;
-
-#endif /* !_AMD64_INT_TYPES_H_ */
diff --git a/StdLib/Include/X64/machine/limits.h b/StdLib/Include/X64/machine/limits.h deleted file mode 100644 index 193ce366f4..0000000000 --- a/StdLib/Include/X64/machine/limits.h +++ /dev/null @@ -1,40 +0,0 @@ -#include <x86/limits.h>
-
-#define __POINTER_BIT 64
-
-#if defined(__GNUC__)
-#if __GNUC_PREREQ__(4,4)
- #define __LONG_BIT 64
-
- /** minimum value for an object of type long int **/
- #define __LONG_MIN (-9223372036854775807LL - 1LL) // -(2^63 - 2)
-
- /** maximum value for an object of type long int **/
- #define __LONG_MAX (9223372036854775807LL) // 2^63 - 1
-
- /** maximum value for an object of type unsigned long int **/
- #define __ULONG_MAX 0xFFFFFFFFFFFFFFFFULL // 2^64 - 1
-#else
- #define __LONG_BIT 32
- /** minimum value for an object of type long int **/
- #define __LONG_MIN (-2147483647L - 1L) // -(2^31 - 1)
-
- /** maximum value for an object of type long int **/
- #define __LONG_MAX 2147483647L // 2^31 - 1
-
- /** maximum value for an object of type unsigned long int **/
- #define __ULONG_MAX 0xffffffff // 2^32 - 1
-#endif
-
-
-#else /* NOT defined(__GNUC__) */
-#define __LONG_BIT 32
-/** minimum value for an object of type long int **/
-#define __LONG_MIN (-2147483647L - 1L) // -(2^31 - 1)
-
-/** maximum value for an object of type long int **/
-#define __LONG_MAX 2147483647L // 2^31 - 1
-
-/** maximum value for an object of type unsigned long int **/
-#define __ULONG_MAX 0xffffffff // 2^32 - 1
-#endif
diff --git a/StdLib/Include/X64/machine/math.h b/StdLib/Include/X64/machine/math.h deleted file mode 100644 index a53422933c..0000000000 --- a/StdLib/Include/X64/machine/math.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: math.h,v 1.3 2005/12/11 12:16:25 christos Exp $ */
-
-#include <x86/math.h>
diff --git a/StdLib/Include/X64/machine/param.h b/StdLib/Include/X64/machine/param.h deleted file mode 100644 index 8526909024..0000000000 --- a/StdLib/Include/X64/machine/param.h +++ /dev/null @@ -1,105 +0,0 @@ -/** @file
- Machine dependent constants for the Intel64 Architecture(X64).
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * $NetBSD: param.h,v 1.3 2006/08/28 13:43:35 yamt Exp
-**/
-#ifndef _X64_PARAM_H_
-#define _X64_PARAM_H_
-
-#define _MACHINE amd64
-#define MACHINE "amd64"
-#define _MACHINE_ARCH x86_64
-#define MACHINE_ARCH "x86_64"
-#define MID_MACHINE MID_X86_64
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int 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(INT64) - 1)
-#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) 1
-
-#define ALIGNBYTES32 (sizeof(INT32) - 1)
-#define ALIGN32(p) (((UINT64)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
-
-#define PGSHIFT 12 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-#ifndef MAXPHYS
- #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
-#endif
-
-#define SSIZE 1 /* initial stack size/NBPG */
-#define SINCR 1 /* increment of stack/NBPG */
-#define UPAGES 5 /* pages of u-area */
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
-
-#ifndef MSGBUFSIZE
- #define MSGBUFSIZE 4*NBPG /* default message buffer size */
-#endif
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (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 512 /* size of an mbuf */
-
-#ifndef MCLSHIFT
- #define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifndef NMBCLUSTERS
- #ifdef GATEWAY
- #define NMBCLUSTERS 4096 /* map size, max cluster allocation */
- #else
- #define NMBCLUSTERS 2048 /* map size, max cluster allocation */
- #endif
-#endif
-
-#ifndef NFS_RSIZE
- #define NFS_RSIZE 32768
-#endif
-#ifndef NFS_WSIZE
- #define NFS_WSIZE 32768
-#endif
-
-#define x86_round_page(x) ((((EFI_ULONG_T)(x)) + PGOFSET) & ~PGOFSET)
-#define x86_trunc_page(x) ((EFI_ULONG_T)(x) & ~PGOFSET)
-#define x86_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
-#define x86_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
-
-#define btop(x) x86_btop(x)
-#define ptob(x) x86_ptob(x)
-#define round_pdr(x) x86_round_pdr(x)
-
-#define mstohz(ms) ((ms + 0UL) * hz / 1000)
-
-#endif /* _X64_PARAM_H_ */
diff --git a/StdLib/Include/X64/machine/signal.h b/StdLib/Include/X64/machine/signal.h deleted file mode 100644 index 6628eb9e94..0000000000 --- a/StdLib/Include/X64/machine/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/**
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/X64/machine/types.h b/StdLib/Include/X64/machine/types.h deleted file mode 100644 index f14625b4cd..0000000000 --- a/StdLib/Include/X64/machine/types.h +++ /dev/null @@ -1,74 +0,0 @@ -/** @file
- Machine dependent type definitions.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- 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:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: types.h,v 1.14 2006/09/03 20:42:14 perry Exp
- types.h 7.5 (Berkeley) 3/9/91
-**/
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-
-#include <sys/EfiCdefs.h>
-#include <machine/int_types.h>
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INTN register_t;
-typedef INT32 register32_t;
-
-typedef volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-/* The amd64 does not have strict alignment requirements. */
-#define __NO_STRICT_ALIGNMENT
-
-#define __HAVE_DEVICE_REGISTER
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_GENERIC_SOFT_INTERRUPTS
-#define __HAVE_CPU_MAXPROC
-#define __HAVE_TIMECOUNTER
-#define __HAVE_GENERIC_TODR
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/arpa/ftp.h b/StdLib/Include/arpa/ftp.h deleted file mode 100644 index 3cb509daea..0000000000 --- a/StdLib/Include/arpa/ftp.h +++ /dev/null @@ -1,109 +0,0 @@ -/*
- * Copyright (c) 1983, 1989, 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.
- *
- * @(#)ftp.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _ARPA_FTP_H_
-#define _ARPA_FTP_H_
-
-/* Definitions for FTP; see RFC-765. */
-
-/*
- * Reply codes.
- */
-#define PRELIM 1 /* positive preliminary */
-#define COMPLETE 2 /* positive completion */
-#define CONTINUE 3 /* positive intermediate */
-#define TRANSIENT 4 /* transient negative completion */
-#define ERROR 5 /* permanent negative completion */
-
-/*
- * Type codes
- */
-#define TYPE_A 1 /* ASCII */
-#define TYPE_E 2 /* EBCDIC */
-#define TYPE_I 3 /* image */
-#define TYPE_L 4 /* local byte size */
-
-#ifdef FTP_NAMES
-char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" };
-#endif
-
-/*
- * Form codes
- */
-#define FORM_N 1 /* non-print */
-#define FORM_T 2 /* telnet format effectors */
-#define FORM_C 3 /* carriage control (ASA) */
-#ifdef FTP_NAMES
-char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" };
-#endif
-
-/*
- * Structure codes
- */
-#define STRU_F 1 /* file (no record structure) */
-#define STRU_R 2 /* record structure */
-#define STRU_P 3 /* page structure */
-#ifdef FTP_NAMES
-char *strunames[] = {"0", "File", "Record", "Page" };
-#endif
-
-/*
- * Mode types
- */
-#define MODE_S 1 /* stream */
-#define MODE_B 2 /* block */
-#define MODE_C 3 /* compressed */
-#ifdef FTP_NAMES
-char *modenames[] = {"0", "Stream", "Block", "Compressed" };
-#endif
-
-/*
- * Record Tokens
- */
-#define REC_ESC '\377' /* Record-mode Escape */
-#define REC_EOR '\001' /* Record-mode End-of-Record */
-#define REC_EOF '\002' /* Record-mode End-of-File */
-
-/*
- * Block Header
- */
-#define BLK_EOR 0x80 /* Block is End-of-Record */
-#define BLK_EOF 0x40 /* Block is End-of-File */
-#define BLK_ERRORS 0x20 /* Block is suspected of containing errors */
-#define BLK_RESTART 0x10 /* Block is Restart Marker */
-
-#define BLK_BYTECOUNT 2 /* Bytes in this block */
-
-#endif /* !_FTP_H_ */
diff --git a/StdLib/Include/arpa/inet.h b/StdLib/Include/arpa/inet.h deleted file mode 100644 index 888a7654e6..0000000000 --- a/StdLib/Include/arpa/inet.h +++ /dev/null @@ -1,105 +0,0 @@ -/* $NetBSD: inet.h,v 1.21.10.1 2007/05/17 21:25:11 jdc Exp $ */
-
-/*
- * ++Copyright++ 1983, 1993
- * -
- * Copyright (c) 1983, 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.
- * -
- * Portions Copyright (c) 1993 by Digital Equipment Corporation.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies, and that
- * the name of Digital Equipment Corporation not be used in advertising or
- * publicity pertaining to distribution of the document or software without
- * specific, written prior permission.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
- * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, 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.
- * -
- * --Copyright--
- */
-
-/*%
- * @(#)inet.h 8.1 (Berkeley) 6/2/93
- * Id: inet.h,v 1.2.18.1 2005/04/27 05:00:50 sra Exp
- */
-
-#ifndef _ARPA_INET_H_
-#define _ARPA_INET_H_
-
-/* External definitions for functions in inet(3) */
-
-#include <sys/ansi.h>
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-#include <netinet/in.h>
-
-#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
- defined(_NETBSD_SOURCE)
-#ifndef socklen_t
-typedef __socklen_t socklen_t;
-#define socklen_t __socklen_t
-#endif
-#endif /* _POSIX_C_SOURCE >= 200112 || XOPEN_SOURCE >= 520 || _NETBSD_SOURCE */
-
-__BEGIN_DECLS
-in_addr_t inet_addr(const char *);
-in_addr_t inet_lnaof(struct in_addr);
-struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
-in_addr_t inet_netof(struct in_addr);
-in_addr_t inet_network(const char *);
-char *inet_ntoa(struct in_addr);
-#if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \
- defined(_NETBSD_SOURCE)
-const char *inet_ntop(int, const void * __restrict,
- char * __restrict, socklen_t);
-int inet_pton(int, const char * __restrict,
- void * __restrict);
-#endif
-#if defined(_NETBSD_SOURCE)
-int inet_aton(const char *, struct in_addr *);
-char * inet_neta(u_long, char *, size_t);
-char *inet_net_ntop(int, const void *, int, char *, size_t);
-int inet_net_pton(int, const char *, void *, size_t);
-char *inet_cidr_ntop(int, const void *, int, char *, size_t);
-int inet_cidr_pton(int, const char *, void *, int *);
-u_int inet_nsap_addr(const char *, u_char *, int);
-char *inet_nsap_ntoa(int, const u_char *, char *);
-#endif
-__END_DECLS
-
-#endif /* _ARPA_INET_H_ */
diff --git a/StdLib/Include/arpa/nameser.h b/StdLib/Include/arpa/nameser.h deleted file mode 100644 index 8f8a840f5b..0000000000 --- a/StdLib/Include/arpa/nameser.h +++ /dev/null @@ -1,598 +0,0 @@ -/* $NetBSD: nameser.h,v 1.19.4.1 2007/05/17 21:25:12 jdc Exp $ */
-
-/*
- * Copyright (c) 1983, 1989, 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.
- */
-
-/*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996-1999 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, 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.
- */
-
-/*
- * Id: nameser.h,v 1.7.18.1 2005/04/27 05:00:50 sra Exp
- */
-
-#ifndef _ARPA_NAMESER_H_
-#define _ARPA_NAMESER_H_
-
-#define BIND_4_COMPAT
-
-#include <sys/param.h>
-#if (!defined(BSD)) || (BSD < 199306)
-# include <sys/bitypes.h>
-#else
-# include <sys/types.h>
-#endif
-#include <sys/EfiCdefs.h>
-
-/*%
- * Revision information. This is the release date in YYYYMMDD format.
- * It can change every day so the right thing to do with it is use it
- * in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
- * compare for equality; rather, use it to determine whether your libbind.a
- * contains a new enough lib/nameser/ to support the feature you need.
- */
-
-#define __NAMESER 19991006 /*%< New interface version stamp. */
-
-/*
- * Define constants based on RFC0883, RFC1034, RFC 1035
- */
-#define NS_PACKETSZ 512 /*%< default UDP packet size */
-#define NS_MAXDNAME 1025 /*%< maximum domain name */
-#define NS_MAXMSG 65535 /*%< maximum message size */
-#define NS_MAXCDNAME 255 /*%< maximum compressed domain name */
-#define NS_MAXLABEL 63 /*%< maximum length of domain label */
-#define NS_HFIXEDSZ 12 /*%< #/bytes of fixed data in header */
-#define NS_QFIXEDSZ 4 /*%< #/bytes of fixed data in query */
-#define NS_RRFIXEDSZ 10 /*%< #/bytes of fixed data in r record */
-#define NS_INT32SZ 4 /*%< #/bytes of data in a u_int32_t */
-#define NS_INT16SZ 2 /*%< #/bytes of data in a u_int16_t */
-#define NS_INT8SZ 1 /*%< #/bytes of data in a u_int8_t */
-#define NS_INADDRSZ 4 /*%< IPv4 T_A */
-#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
-#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
-#define NS_DEFAULTPORT 53 /*%< For both TCP and UDP. */
-
-/*
- * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
- * in synch with it.
- */
-typedef enum __ns_sect {
- ns_s_qd = 0, /*%< Query: Question. */
- ns_s_zn = 0, /*%< Update: Zone. */
- ns_s_an = 1, /*%< Query: Answer. */
- ns_s_pr = 1, /*%< Update: Prerequisites. */
- ns_s_ns = 2, /*%< Query: Name servers. */
- ns_s_ud = 2, /*%< Update: Update. */
- ns_s_ar = 3, /*%< Query|Update: Additional records. */
- ns_s_max = 4
-} ns_sect;
-
-/*%
- * This is a message handle. It is caller allocated and has no dynamic data.
- * This structure is intended to be opaque to all but ns_parse.c, thus the
- * leading _'s on the member names. Use the accessor functions, not the _'s.
- */
-typedef struct __ns_msg {
- const u_char *_msg, *_eom;
- uint16_t _id, _flags, _counts[ns_s_max];
- const u_char *_sections[ns_s_max];
- ns_sect _sect;
- int _rrnum;
- const u_char *_msg_ptr;
-} ns_msg;
-
-/* Private data structure - do not use from outside library. */
-struct _ns_flagdata { int mask, shift; };
-extern struct _ns_flagdata _ns_flagdata[];
-
-/* Accessor macros - this is part of the public interface. */
-#define ns_msg_getflag(handle, flag) ( \
- ((handle)._flags & _ns_flagdata[flag].mask) \
- >> _ns_flagdata[flag].shift \
- )
-
-#define ns_msg_id(handle) ((handle)._id + 0)
-#define ns_msg_base(handle) ((handle)._msg + 0)
-#define ns_msg_end(handle) ((handle)._eom + 0)
-#define ns_msg_size(handle) ((size_t)((handle)._eom - (handle)._msg))
-#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
-
-/*%
- * This is a parsed record. It is caller allocated and has no dynamic data.
- */
-typedef struct __ns_rr {
- char name[NS_MAXDNAME];
- uint16_t type;
- uint16_t rr_class;
- uint32_t ttl;
- uint16_t rdlength;
- const u_char * rdata;
-} ns_rr;
-
-/* Accessor macros - this is part of the public interface. */
-#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
-#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
-#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
-#define ns_rr_ttl(rr) ((u_long)(rr).ttl + 0)
-#define ns_rr_rdlen(rr) ((size_t)(rr).rdlength + 0)
-#define ns_rr_rdata(rr) ((rr).rdata + 0)
-
-/*%
- * These don't have to be in the same order as in the packet flags word,
- * and they can even overlap in some cases, but they will need to be kept
- * in synch with ns_parse.c:ns_flagdata[].
- */
-typedef enum __ns_flag {
- ns_f_qr, /*%< Question/Response. */
- ns_f_opcode, /*%< Operation code. */
- ns_f_aa, /*%< Authoritative Answer. */
- ns_f_tc, /*%< Truncation occurred. */
- ns_f_rd, /*%< Recursion Desired. */
- ns_f_ra, /*%< Recursion Available. */
- ns_f_z, /*%< MBZ. */
- ns_f_ad, /*%< Authentic Data (DNSSEC). */
- ns_f_cd, /*%< Checking Disabled (DNSSEC). */
- ns_f_rcode, /*%< Response code. */
- ns_f_max
-} ns_flag;
-
-/*%
- * Currently defined opcodes.
- */
-typedef enum __ns_opcode {
- ns_o_query = 0, /*%< Standard query. */
- ns_o_iquery = 1, /*%< Inverse query (deprecated/unsupported). */
- ns_o_status = 2, /*%< Name server status query (unsupported). */
- /* Opcode 3 is undefined/reserved. */
- ns_o_notify = 4, /*%< Zone change notification. */
- ns_o_update = 5, /*%< Zone update message. */
- ns_o_max = 6
-} ns_opcode;
-
-/*%
- * Currently defined response codes.
- */
-typedef enum __ns_rcode {
- ns_r_noerror = 0, /*%< No error occurred. */
- ns_r_formerr = 1, /*%< Format error. */
- ns_r_servfail = 2, /*%< Server failure. */
- ns_r_nxdomain = 3, /*%< Name error. */
- ns_r_notimpl = 4, /*%< Unimplemented. */
- ns_r_refused = 5, /*%< Operation refused. */
- /* these are for BIND_UPDATE */
- ns_r_yxdomain = 6, /*%< Name exists */
- ns_r_yxrrset = 7, /*%< RRset exists */
- ns_r_nxrrset = 8, /*%< RRset does not exist */
- ns_r_notauth = 9, /*%< Not authoritative for zone */
- ns_r_notzone = 10, /*%< Zone of record different from zone section */
- ns_r_max = 11,
- /* The following are EDNS extended rcodes */
- ns_r_badvers = 16,
- /* The following are TSIG errors */
- ns_r_badsig = 16,
- ns_r_badkey = 17,
- ns_r_badtime = 18
-} ns_rcode;
-
-/* BIND_UPDATE */
-typedef enum __ns_update_operation {
- ns_uop_delete = 0,
- ns_uop_add = 1,
- ns_uop_max = 2
-} ns_update_operation;
-
-/*
- * This RR-like structure is particular to UPDATE.
- */
-struct _ns_updrec {
- struct _ns_updrec *r_prev; /* prev record */
- struct _ns_updrec *r_next; /* next record */
- u_int8_t r_section; /* ZONE/PREREQUISITE/UPDATE */
- char * r_dname; /* owner of the RR */
- u_int16_t r_class; /* class number */
- u_int16_t r_type; /* type number */
- u_int32_t r_ttl; /* time to live */
- u_char * r_data; /* rdata fields as text string */
- u_int16_t r_size; /* size of r_data field */
- int r_opcode; /* type of operation */
- /* following fields for private use by the resolver/server routines */
- struct _ns_updrec *r_grpnext; /* next record when grouped */
- struct databuf *r_dp; /* databuf to process */
- struct databuf *r_deldp; /* databuf's deleted/overwritten */
- u_int16_t r_zone; /* zone number on server */
-};
-typedef struct _ns_updrec ns_updrec;
-
-/*%
- * This structure is used for TSIG authenticated messages
- */
-struct ns_tsig_key {
- char name[NS_MAXDNAME], alg[NS_MAXDNAME];
- unsigned char *data;
- int len;
-};
-typedef struct ns_tsig_key ns_tsig_key;
-
-/*%
- * This structure is used for TSIG authenticated TCP messages
- */
-struct ns_tcp_tsig_state {
- int counter;
- struct dst_key *key;
- void *ctx;
- unsigned char sig[NS_PACKETSZ];
- int siglen;
-};
-typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
-
-#define NS_TSIG_FUDGE 300
-#define NS_TSIG_TCP_COUNT 100
-#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
-
-#define NS_TSIG_ERROR_NO_TSIG -10
-#define NS_TSIG_ERROR_NO_SPACE -11
-#define NS_TSIG_ERROR_FORMERR -12
-
-/*%
- * Currently defined type values for resources and queries.
- */
-typedef enum __ns_type {
- ns_t_invalid = 0, /*%< Cookie. */
- ns_t_a = 1, /*%< Host address. */
- ns_t_ns = 2, /*%< Authoritative server. */
- ns_t_md = 3, /*%< Mail destination. */
- ns_t_mf = 4, /*%< Mail forwarder. */
- ns_t_cname = 5, /*%< Canonical name. */
- ns_t_soa = 6, /*%< Start of authority zone. */
- ns_t_mb = 7, /*%< Mailbox domain name. */
- ns_t_mg = 8, /*%< Mail group member. */
- ns_t_mr = 9, /*%< Mail rename name. */
- ns_t_null = 10, /*%< Null resource record. */
- ns_t_wks = 11, /*%< Well known service. */
- ns_t_ptr = 12, /*%< Domain name pointer. */
- ns_t_hinfo = 13, /*%< Host information. */
- ns_t_minfo = 14, /*%< Mailbox information. */
- ns_t_mx = 15, /*%< Mail routing information. */
- ns_t_txt = 16, /*%< Text strings. */
- ns_t_rp = 17, /*%< Responsible person. */
- ns_t_afsdb = 18, /*%< AFS cell database. */
- ns_t_x25 = 19, /*%< X_25 calling address. */
- ns_t_isdn = 20, /*%< ISDN calling address. */
- ns_t_rt = 21, /*%< Router. */
- ns_t_nsap = 22, /*%< NSAP address. */
- ns_t_nsap_ptr = 23, /*%< Reverse NSAP lookup (deprecated). */
- ns_t_sig = 24, /*%< Security signature. */
- ns_t_key = 25, /*%< Security key. */
- ns_t_px = 26, /*%< X.400 mail mapping. */
- ns_t_gpos = 27, /*%< Geographical position (withdrawn). */
- ns_t_aaaa = 28, /*%< Ip6 Address. */
- ns_t_loc = 29, /*%< Location Information. */
- ns_t_nxt = 30, /*%< Next domain (security). */
- ns_t_eid = 31, /*%< Endpoint identifier. */
- ns_t_nimloc = 32, /*%< Nimrod Locator. */
- ns_t_srv = 33, /*%< Server Selection. */
- ns_t_atma = 34, /*%< ATM Address */
- ns_t_naptr = 35, /*%< Naming Authority PoinTeR */
- ns_t_kx = 36, /*%< Key Exchange */
- ns_t_cert = 37, /*%< Certification record */
- ns_t_a6 = 38, /*%< IPv6 address (deprecates AAAA) */
- ns_t_dname = 39, /*%< Non-terminal DNAME (for IPv6) */
- ns_t_sink = 40, /*%< Kitchen sink (experimentatl) */
- ns_t_opt = 41, /*%< EDNS0 option (meta-RR) */
- ns_t_apl = 42, /*%< Address prefix list (RFC3123) */
- ns_t_tkey = 249, /*%< Transaction key */
- ns_t_tsig = 250, /*%< Transaction signature. */
- ns_t_ixfr = 251, /*%< Incremental zone transfer. */
- ns_t_axfr = 252, /*%< Transfer zone of authority. */
- ns_t_mailb = 253, /*%< Transfer mailbox records. */
- ns_t_maila = 254, /*%< Transfer mail agent records. */
- ns_t_any = 255, /*%< Wildcard match. */
- ns_t_zxfr = 256, /*%< BIND-specific, nonstandard. */
- ns_t_max = 65536
-} ns_type;
-
-/* Exclusively a QTYPE? (not also an RTYPE) */
-#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
- (t) == ns_t_mailb || (t) == ns_t_maila)
-/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
-#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
-/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
-#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
-#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
-#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
- (t) == ns_t_zxfr)
-
-/*%
- * Values for class field
- */
-typedef enum __ns_class {
- ns_c_invalid = 0, /*%< Cookie. */
- ns_c_in = 1, /*%< Internet. */
- ns_c_2 = 2, /*%< unallocated/unsupported. */
- ns_c_chaos = 3, /*%< MIT Chaos-net. */
- ns_c_hs = 4, /*%< MIT Hesiod. */
- /* Query class values which do not appear in resource records */
- ns_c_none = 254, /*%< for prereq. sections in update requests */
- ns_c_any = 255, /*%< Wildcard match. */
- ns_c_max = 65536
-} ns_class;
-
-/* DNSSEC constants. */
-
-typedef enum __ns_key_types {
- ns_kt_rsa = 1, /*%< key type RSA/MD5 */
- ns_kt_dh = 2, /*%< Diffie Hellman */
- ns_kt_dsa = 3, /*%< Digital Signature Standard (MANDATORY) */
- ns_kt_private = 254 /*%< Private key type starts with OID */
-} ns_key_types;
-
-typedef enum __ns_cert_types {
- cert_t_pkix = 1, /*%< PKIX (X.509v3) */
- cert_t_spki = 2, /*%< SPKI */
- cert_t_pgp = 3, /*%< PGP */
- cert_t_url = 253, /*%< URL private type */
- cert_t_oid = 254 /*%< OID private type */
-} ns_cert_types;
-
-/* Flags field of the KEY RR rdata. */
-#define NS_KEY_TYPEMASK 0xC000 /*%< Mask for "type" bits */
-#define NS_KEY_TYPE_AUTH_CONF 0x0000 /*%< Key usable for both */
-#define NS_KEY_TYPE_CONF_ONLY 0x8000 /*%< Key usable for confidentiality */
-#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /*%< Key usable for authentication */
-#define NS_KEY_TYPE_NO_KEY 0xC000 /*%< No key usable for either; no key */
-/* The type bits can also be interpreted independently, as single bits: */
-#define NS_KEY_NO_AUTH 0x8000 /*%< Key unusable for authentication */
-#define NS_KEY_NO_CONF 0x4000 /*%< Key unusable for confidentiality */
-#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */
-#define NS_KEY_EXTENDED_FLAGS 0x1000 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED4 0x0800 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED5 0x0400 /*%< reserved - must be zero */
-#define NS_KEY_NAME_TYPE 0x0300 /*%< these bits determine the type */
-#define NS_KEY_NAME_USER 0x0000 /*%< key is assoc. with user */
-#define NS_KEY_NAME_ENTITY 0x0200 /*%< key is assoc. with entity eg host */
-#define NS_KEY_NAME_ZONE 0x0100 /*%< key is zone key */
-#define NS_KEY_NAME_RESERVED 0x0300 /*%< reserved meaning */
-#define NS_KEY_RESERVED8 0x0080 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED9 0x0040 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED10 0x0020 /*%< reserved - must be zero */
-#define NS_KEY_RESERVED11 0x0010 /*%< reserved - must be zero */
-#define NS_KEY_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */
-#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
- NS_KEY_RESERVED4 | \
- NS_KEY_RESERVED5 | \
- NS_KEY_RESERVED8 | \
- NS_KEY_RESERVED9 | \
- NS_KEY_RESERVED10 | \
- NS_KEY_RESERVED11 )
-#define NS_KEY_RESERVED_BITMASK2 0xFFFF /*%< no bits defined here */
-
-/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
-#define NS_ALG_MD5RSA 1 /*%< MD5 with RSA */
-#define NS_ALG_DH 2 /*%< Diffie Hellman KEY */
-#define NS_ALG_DSA 3 /*%< DSA KEY */
-#define NS_ALG_DSS NS_ALG_DSA
-#define NS_ALG_EXPIRE_ONLY 253 /*%< No alg, no security */
-#define NS_ALG_PRIVATE_OID 254 /*%< Key begins with OID giving alg */
-
-/* Protocol values */
-/* value 0 is reserved */
-#define NS_KEY_PROT_TLS 1
-#define NS_KEY_PROT_EMAIL 2
-#define NS_KEY_PROT_DNSSEC 3
-#define NS_KEY_PROT_IPSEC 4
-#define NS_KEY_PROT_ANY 255
-
-/* Signatures */
-#define NS_MD5RSA_MIN_BITS 512 /*%< Size of a mod or exp in bits */
-#define NS_MD5RSA_MAX_BITS 4096
- /* Total of binary mod and exp */
-#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
- /* Max length of text sig block */
-#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
-#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
-#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
-
-#define NS_DSA_SIG_SIZE 41
-#define NS_DSA_MIN_SIZE 213
-#define NS_DSA_MAX_BYTES 405
-
-/* Offsets into SIG record rdata to find various values */
-#define NS_SIG_TYPE 0 /*%< Type flags */
-#define NS_SIG_ALG 2 /*%< Algorithm */
-#define NS_SIG_LABELS 3 /*%< How many labels in name */
-#define NS_SIG_OTTL 4 /*%< Original TTL */
-#define NS_SIG_EXPIR 8 /*%< Expiration time */
-#define NS_SIG_SIGNED 12 /*%< Signature time */
-#define NS_SIG_FOOT 16 /*%< Key footprint */
-#define NS_SIG_SIGNER 18 /*%< Domain name of who signed it */
-
-/* How RR types are represented as bit-flags in NXT records */
-#define NS_NXT_BITS 8
-#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
-#define NS_NXT_MAX 127
-
-/*%
- * EDNS0 extended flags, host order.
- */
-#define NS_OPT_DNSSEC_OK 0x8000U
-
-/*%
- * Inline versions of get/put short/long. Pointer is advanced.
- */
-#define NS_GET16(s, cp) do { \
- const u_char *t_cp = (const u_char *)(cp); \
- (s) = ((uint16_t)t_cp[0] << 8) \
- | ((uint16_t)t_cp[1]) \
- ; \
- (cp) += NS_INT16SZ; \
-} while (/*CONSTCOND*/0)
-
-#define NS_GET32(l, cp) do { \
- const u_char *t_cp = (const u_char *)(cp); \
- (l) = ((uint32_t)t_cp[0] << 24) \
- | ((uint32_t)t_cp[1] << 16) \
- | ((uint32_t)t_cp[2] << 8) \
- | ((uint32_t)t_cp[3]) \
- ; \
- (cp) += NS_INT32SZ; \
-} while (/*CONSTCOND*/0)
-
-#define NS_PUT16(s, cp) do { \
- uint32_t t_s = (uint32_t)(s); \
- u_char *t_cp = (u_char *)(cp); \
- *t_cp++ = (u_char)( t_s >> 8 ); \
- *t_cp = (u_char)( t_s ); \
- (cp) += NS_INT16SZ; \
-} while (/*CONSTCOND*/0)
-
-#define NS_PUT32(l, cp) do { \
- uint32_t t_l = (uint32_t)(l); \
- u_char *t_cp = (u_char *)(cp); \
- *t_cp++ = (u_char)( t_l >> 24 ); \
- *t_cp++ = (u_char)( t_l >> 16 ); \
- *t_cp++ = (u_char)( t_l >> 8 ); \
- *t_cp = (u_char)( t_l ); \
- (cp) += NS_INT32SZ; \
-} while (/*CONSTCOND*/0)
-
-/*%
- * ANSI C identifier hiding for bind's lib/nameser.
- */
-#define ns_get16 __ns_get16
-#define ns_get32 __ns_get32
-#define ns_put16 __ns_put16
-#define ns_put32 __ns_put32
-#define ns_initparse __ns_initparse
-#define ns_skiprr __ns_skiprr
-#define ns_parserr __ns_parserr
-#define ns_sprintrr __ns_sprintrr
-#define ns_sprintrrf __ns_sprintrrf
-#define ns_format_ttl __ns_format_ttl
-#define ns_parse_ttl __ns_parse_ttl
-#define ns_datetosecs __ns_datetosecs
-#define ns_name_ntol __ns_name_ntol
-#define ns_name_ntop __ns_name_ntop
-#define ns_name_pton __ns_name_pton
-#define ns_name_unpack __ns_name_unpack
-#define ns_name_pack __ns_name_pack
-#define ns_name_compress __ns_name_compress
-#define ns_name_uncompress __ns_name_uncompress
-#define ns_name_skip __ns_name_skip
-#define ns_name_rollback __ns_name_rollback
-#define ns_sign __ns_sign
-#define ns_sign2 __ns_sign2
-#define ns_sign_tcp __ns_sign_tcp
-#define ns_sign_tcp2 __ns_sign_tcp2
-#define ns_sign_tcp_init __ns_sign_tcp_init
-#define ns_find_tsig __ns_find_tsig
-#define ns_verify __ns_verify
-#define ns_verify_tcp __ns_verify_tcp
-#define ns_verify_tcp_init __ns_verify_tcp_init
-#define ns_samedomain __ns_samedomain
-#define ns_subdomain __ns_subdomain
-#define ns_makecanon __ns_makecanon
-#define ns_samename __ns_samename
-
-__BEGIN_DECLS
-uint16_t ns_get16(const u_char *);
-uint32_t ns_get32(const u_char *);
-void ns_put16(uint16_t, u_char *);
-void ns_put32(uint32_t, u_char *);
-int ns_initparse(const u_char *, int, ns_msg *);
-int ns_skiprr(const u_char *, const u_char *, ns_sect, int);
-int ns_parserr(ns_msg *, ns_sect, int, ns_rr *);
-int ns_sprintrr(const ns_msg *, const ns_rr *,
- const char *, const char *, char *, size_t);
-int ns_sprintrrf(const u_char *, size_t, const char *,
- ns_class, ns_type, u_long, const u_char *,
- size_t, const char *, const char *,
- char *, size_t);
-int ns_format_ttl(u_long, char *, size_t);
-int ns_parse_ttl(const char *, u_long *);
-uint32_t ns_datetosecs(const char *cp, int *errp);
-int ns_name_ntol(const u_char *, u_char *, size_t);
-int ns_name_ntop(const u_char *, char *, size_t);
-int ns_name_pton(const char *, u_char *, size_t);
-int ns_name_unpack(const u_char *, const u_char *,
- const u_char *, u_char *, size_t);
-int ns_name_pack(const u_char *, u_char *, int,
- const u_char **, const u_char **);
-int ns_name_uncompress(const u_char *, const u_char *,
- const u_char *, char *, size_t);
-int ns_name_compress(const char *, u_char *, size_t,
- const u_char **, const u_char **);
-int ns_name_skip(const u_char **, const u_char *);
-void ns_name_rollback(const u_char *, const u_char **,
- const u_char **);
-int ns_sign(u_char *, int *, int, int, void *,
- const u_char *, int, u_char *, int *, time_t);
-int ns_sign2(u_char *, int *, int, int, void *,
- const u_char *, int, u_char *, int *, time_t,
- u_char **, u_char **);
-int ns_sign_tcp(u_char *, int *, int, int,
- ns_tcp_tsig_state *, int);
-int ns_sign_tcp2(u_char *, int *, int, int,
- ns_tcp_tsig_state *, int,
- u_char **, u_char **);
-int ns_sign_tcp_init(void *, const u_char *, int,
- ns_tcp_tsig_state *);
-u_char *ns_find_tsig(u_char *, u_char *);
-int ns_verify(u_char *, int *, void *,
- const u_char *, int, u_char *, int *,
- time_t *, int);
-int ns_verify_tcp(u_char *, int *, ns_tcp_tsig_state *, int);
-int ns_verify_tcp_init(void *, const u_char *, int,
- ns_tcp_tsig_state *);
-int ns_samedomain(const char *, const char *);
-int ns_subdomain(const char *, const char *);
-int ns_makecanon(const char *, char *, size_t);
-int ns_samename(const char *, const char *);
-__END_DECLS
-
-#ifdef BIND_4_COMPAT
-#include <arpa/nameser_compat.h>
-#endif
-
-#endif /* !_ARPA_NAMESER_H_ */
diff --git a/StdLib/Include/arpa/nameser_compat.h b/StdLib/Include/arpa/nameser_compat.h deleted file mode 100644 index 524b1fd2d4..0000000000 --- a/StdLib/Include/arpa/nameser_compat.h +++ /dev/null @@ -1,236 +0,0 @@ -/* $NetBSD: nameser_compat.h,v 1.1.1.2.10.1 2007/05/17 21:25:12 jdc Exp $ */
-
-/* Copyright (c) 1983, 1989
- * 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.
- */
-
-/*%
- * from nameser.h 8.1 (Berkeley) 6/2/93
- * Id: nameser_compat.h,v 1.5.18.3 2006/05/19 02:36:00 marka Exp
- */
-
-#ifndef _ARPA_NAMESER_COMPAT_
-#define _ARPA_NAMESER_COMPAT_
-
-#define __BIND 19950621 /*%< (DEAD) interface version stamp. */
-
-#ifndef BYTE_ORDER
-#if (BSD >= 199103)
-# include <machine/endian.h>
-#else
-#ifdef __linux
-# include <endian.h>
-#else
-#define LITTLE_ENDIAN 1234 /*%< least-significant byte first (vax, pc) */
-#define BIG_ENDIAN 4321 /*%< most-significant byte first (IBM, net) */
-#define PDP_ENDIAN 3412 /*%< LSB first in word, MSW first in long (pdp) */
-
-#if defined(vax) || defined(ns32000) || defined(sun386) || defined(i386) || \
- defined(MIPSEL) || defined(_MIPSEL) || defined(BIT_ZERO_ON_RIGHT) || \
- defined(__i386__) || defined(__i386) || defined(__amd64__) || \
- defined(__x86_64__) || defined(MIPSEL) || defined(_MIPSEL) || \
- defined(BIT_ZERO_ON_RIGHT) || defined(__alpha__) || defined(__alpha) || \
- (defined(__Lynx__) && defined(__x86__))
-#define BYTE_ORDER LITTLE_ENDIAN
-#endif
-
-#if defined(sel) || defined(pyr) || defined(mc68000) || defined(sparc) || \
- defined(is68k) || defined(tahoe) || defined(ibm032) || defined(ibm370) || \
- defined(MIPSEB) || defined(_MIPSEB) || defined(_IBMR2) || defined(DGUX) ||\
- defined(apollo) || defined(__convex__) || defined(_CRAY) || \
- defined(__hppa) || defined(__hp9000) || \
- defined(__hp9000s300) || defined(__hp9000s700) || \
- defined(__hp3000s900) || defined(__hpux) || defined(MPE) || \
- defined (BIT_ZERO_ON_LEFT) || defined(m68k) || defined(__sparc) || \
- (defined(__Lynx__) && \
- (defined(__68k__) || defined(__sparc__) || defined(__powerpc__)))
-#define BYTE_ORDER BIG_ENDIAN
-#endif
-#endif /* __linux */
-#endif /* BSD */
-#endif /* BYTE_ORDER */
-
-#if !defined(BYTE_ORDER) || \
- (BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN && \
- BYTE_ORDER != PDP_ENDIAN)
- /* you must determine what the correct bit order is for
- * your compiler - the next line is an intentional error
- * which will force your compiles to bomb until you fix
- * the above macros.
- */
- error "Undefined or invalid BYTE_ORDER";
-#endif
-
-/*%
- * Structure for query header. The order of the fields is machine- and
- * compiler-dependent, depending on the byte/bit order and the layout
- * of bit fields. We use bit fields only in int variables, as this
- * is all ANSI requires. This requires a somewhat confusing rearrangement.
- */
-
-typedef struct {
- unsigned id :16; /*%< query identification number */
-#if BYTE_ORDER == BIG_ENDIAN
- /* fields in third byte */
- unsigned qr: 1; /*%< response flag */
- unsigned opcode: 4; /*%< purpose of message */
- unsigned aa: 1; /*%< authoritive answer */
- unsigned tc: 1; /*%< truncated message */
- unsigned rd: 1; /*%< recursion desired */
- /* fields in fourth byte */
- unsigned ra: 1; /*%< recursion available */
- unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */
- unsigned ad: 1; /*%< authentic data from named */
- unsigned cd: 1; /*%< checking disabled by resolver */
- unsigned rcode :4; /*%< response code */
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
- /* fields in third byte */
- unsigned rd :1; /*%< recursion desired */
- unsigned tc :1; /*%< truncated message */
- unsigned aa :1; /*%< authoritive answer */
- unsigned opcode :4; /*%< purpose of message */
- unsigned qr :1; /*%< response flag */
- /* fields in fourth byte */
- unsigned rcode :4; /*%< response code */
- unsigned cd: 1; /*%< checking disabled by resolver */
- unsigned ad: 1; /*%< authentic data from named */
- unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */
- unsigned ra :1; /*%< recursion available */
-#endif
- /* remaining bytes */
- unsigned qdcount :16; /*%< number of question entries */
- unsigned ancount :16; /*%< number of answer entries */
- unsigned nscount :16; /*%< number of authority entries */
- unsigned arcount :16; /*%< number of resource entries */
-} HEADER;
-
-#define PACKETSZ NS_PACKETSZ
-#define MAXDNAME NS_MAXDNAME
-#define MAXCDNAME NS_MAXCDNAME
-#define MAXLABEL NS_MAXLABEL
-#define HFIXEDSZ NS_HFIXEDSZ
-#define QFIXEDSZ NS_QFIXEDSZ
-#define RRFIXEDSZ NS_RRFIXEDSZ
-#define INT32SZ NS_INT32SZ
-#define INT16SZ NS_INT16SZ
-#define INT8SZ NS_INT8SZ
-#define INADDRSZ NS_INADDRSZ
-#define IN6ADDRSZ NS_IN6ADDRSZ
-#define INDIR_MASK NS_CMPRSFLGS
-#define NAMESERVER_PORT NS_DEFAULTPORT
-
-#define S_ZONE ns_s_zn
-#define S_PREREQ ns_s_pr
-#define S_UPDATE ns_s_ud
-#define S_ADDT ns_s_ar
-
-#define QUERY ns_o_query
-#define IQUERY ns_o_iquery
-#define STATUS ns_o_status
-#define NS_NOTIFY_OP ns_o_notify
-#define NS_UPDATE_OP ns_o_update
-
-#define NOERROR ns_r_noerror
-#define FORMERR ns_r_formerr
-#define SERVFAIL ns_r_servfail
-#define NXDOMAIN ns_r_nxdomain
-#define NOTIMP ns_r_notimpl
-#define REFUSED ns_r_refused
-#define YXDOMAIN ns_r_yxdomain
-#define YXRRSET ns_r_yxrrset
-#define NXRRSET ns_r_nxrrset
-#define NOTAUTH ns_r_notauth
-#define NOTZONE ns_r_notzone
-/*#define BADSIG ns_r_badsig*/
-/*#define BADKEY ns_r_badkey*/
-/*#define BADTIME ns_r_badtime*/
-
-
-#define DELETE ns_uop_delete
-#define ADD ns_uop_add
-
-#define T_A ns_t_a
-#define T_NS ns_t_ns
-#define T_MD ns_t_md
-#define T_MF ns_t_mf
-#define T_CNAME ns_t_cname
-#define T_SOA ns_t_soa
-#define T_MB ns_t_mb
-#define T_MG ns_t_mg
-#define T_MR ns_t_mr
-#define T_NULL ns_t_null
-#define T_WKS ns_t_wks
-#define T_PTR ns_t_ptr
-#define T_HINFO ns_t_hinfo
-#define T_MINFO ns_t_minfo
-#define T_MX ns_t_mx
-#define T_TXT ns_t_txt
-#define T_RP ns_t_rp
-#define T_AFSDB ns_t_afsdb
-#define T_X25 ns_t_x25
-#define T_ISDN ns_t_isdn
-#define T_RT ns_t_rt
-#define T_NSAP ns_t_nsap
-#define T_NSAP_PTR ns_t_nsap_ptr
-#define T_SIG ns_t_sig
-#define T_KEY ns_t_key
-#define T_PX ns_t_px
-#define T_GPOS ns_t_gpos
-#define T_AAAA ns_t_aaaa
-#define T_LOC ns_t_loc
-#define T_NXT ns_t_nxt
-#define T_EID ns_t_eid
-#define T_NIMLOC ns_t_nimloc
-#define T_SRV ns_t_srv
-#define T_ATMA ns_t_atma
-#define T_NAPTR ns_t_naptr
-#define T_A6 ns_t_a6
-#define T_TSIG ns_t_tsig
-#define T_IXFR ns_t_ixfr
-#define T_AXFR ns_t_axfr
-#define T_MAILB ns_t_mailb
-#define T_MAILA ns_t_maila
-#define T_ANY ns_t_any
-
-#define C_IN ns_c_in
-#define C_CHAOS ns_c_chaos
-#define C_HS ns_c_hs
-/* BIND_UPDATE */
-#define C_NONE ns_c_none
-#define C_ANY ns_c_any
-
-#define GETSHORT NS_GET16
-#define GETLONG NS_GET32
-#define PUTSHORT NS_PUT16
-#define PUTLONG NS_PUT32
-
-#endif /* _ARPA_NAMESER_COMPAT_ */
diff --git a/StdLib/Include/arpa/telnet.h b/StdLib/Include/arpa/telnet.h deleted file mode 100644 index d7c8ecbd57..0000000000 --- a/StdLib/Include/arpa/telnet.h +++ /dev/null @@ -1,340 +0,0 @@ -/*
- * Copyright (c) 1983, 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.
- *
- * @(#)telnet.h 8.2 (Berkeley) 12/15/93
- */
-
-#ifndef _ARPA_TELNET_H_
-#define _ARPA_TELNET_H_
-
-/*
- * Definitions for the TELNET protocol.
- */
-#define IAC 255 /* interpret as command: */
-#define DONT 254 /* you are not to use option */
-#define DO 253 /* please, you use option */
-#define WONT 252 /* I won't use option */
-#define WILL 251 /* I will use option */
-#define SB 250 /* interpret as subnegotiation */
-#define GA 249 /* you may reverse the line */
-#define EL 248 /* erase the current line */
-#define EC 247 /* erase the current character */
-#define AYT 246 /* are you there */
-#define AO 245 /* abort output--but let prog finish */
-#define IP 244 /* interrupt process--permanently */
-#define BREAK 243 /* break */
-#define DM 242 /* data mark--for connect. cleaning */
-#define NOP 241 /* nop */
-#define SE 240 /* end sub negotiation */
-#define EOR 239 /* end of record (transparent mode) */
-#define ABORT 238 /* Abort process */
-#define SUSP 237 /* Suspend process */
-#define xEOF 236 /* End of file: EOF is already used... */
-
-#define SYNCH 242 /* for telfunc calls */
-
-#ifdef TELCMDS
-char *telcmds[] = {
- "EOF", "SUSP", "ABORT", "EOR",
- "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC",
- "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC",
- 0
-};
-#else
-extern char *telcmds[];
-#endif
-
-#define TELCMD_FIRST xEOF
-#define TELCMD_LAST IAC
-#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \
- (unsigned int)(x) >= TELCMD_FIRST)
-#define TELCMD(x) telcmds[(x)-TELCMD_FIRST]
-
-/* telnet options */
-#define TELOPT_BINARY 0 /* 8-bit data path */
-#define TELOPT_ECHO 1 /* echo */
-#define TELOPT_RCP 2 /* prepare to reconnect */
-#define TELOPT_SGA 3 /* suppress go ahead */
-#define TELOPT_NAMS 4 /* approximate message size */
-#define TELOPT_STATUS 5 /* give status */
-#define TELOPT_TM 6 /* timing mark */
-#define TELOPT_RCTE 7 /* remote controlled transmission and echo */
-#define TELOPT_NAOL 8 /* negotiate about output line width */
-#define TELOPT_NAOP 9 /* negotiate about output page size */
-#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */
-#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */
-#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */
-#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */
-#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */
-#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */
-#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */
-#define TELOPT_XASCII 17 /* extended ascic character set */
-#define TELOPT_LOGOUT 18 /* force logout */
-#define TELOPT_BM 19 /* byte macro */
-#define TELOPT_DET 20 /* data entry terminal */
-#define TELOPT_SUPDUP 21 /* supdup protocol */
-#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */
-#define TELOPT_SNDLOC 23 /* send location */
-#define TELOPT_TTYPE 24 /* terminal type */
-#define TELOPT_EOR 25 /* end or record */
-#define TELOPT_TUID 26 /* TACACS user identification */
-#define TELOPT_OUTMRK 27 /* output marking */
-#define TELOPT_TTYLOC 28 /* terminal location number */
-#define TELOPT_3270REGIME 29 /* 3270 regime */
-#define TELOPT_X3PAD 30 /* X.3 PAD */
-#define TELOPT_NAWS 31 /* window size */
-#define TELOPT_TSPEED 32 /* terminal speed */
-#define TELOPT_LFLOW 33 /* remote flow control */
-#define TELOPT_LINEMODE 34 /* Linemode option */
-#define TELOPT_XDISPLOC 35 /* X Display Location */
-#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */
-#define TELOPT_AUTHENTICATION 37/* Authenticate */
-#define TELOPT_ENCRYPT 38 /* Encryption option */
-#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */
-#define TELOPT_EXOPL 255 /* extended-options-list */
-
-
-#define NTELOPTS (1+TELOPT_NEW_ENVIRON)
-#ifdef TELOPTS
-char *telopts[NTELOPTS+1] = {
- "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME",
- "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP",
- "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS",
- "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
- "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT",
- "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD",
- "TACACS UID", "OUTPUT MARKING", "TTYLOC",
- "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
- "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
- "ENCRYPT", "NEW-ENVIRON",
- 0
-};
-#define TELOPT_FIRST TELOPT_BINARY
-#define TELOPT_LAST TELOPT_NEW_ENVIRON
-#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST)
-#define TELOPT(x) telopts[(x)-TELOPT_FIRST]
-#endif
-
-/* sub-option qualifiers */
-#define TELQUAL_IS 0 /* option is... */
-#define TELQUAL_SEND 1 /* send option */
-#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */
-#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */
-#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */
-
-#define LFLOW_OFF 0 /* Disable remote flow control */
-#define LFLOW_ON 1 /* Enable remote flow control */
-#define LFLOW_RESTART_ANY 2 /* Restart output on any char */
-#define LFLOW_RESTART_XON 3 /* Restart output only on XON */
-
-/*
- * LINEMODE suboptions
- */
-
-#define LM_MODE 1
-#define LM_FORWARDMASK 2
-#define LM_SLC 3
-
-#define MODE_EDIT 0x01
-#define MODE_TRAPSIG 0x02
-#define MODE_ACK 0x04
-#define MODE_SOFT_TAB 0x08
-#define MODE_LIT_ECHO 0x10
-
-#define MODE_MASK 0x1f
-
-/* Not part of protocol, but needed to simplify things... */
-#define MODE_FLOW 0x0100
-#define MODE_ECHO 0x0200
-#define MODE_INBIN 0x0400
-#define MODE_OUTBIN 0x0800
-#define MODE_FORCE 0x1000
-
-#define SLC_SYNCH 1
-#define SLC_BRK 2
-#define SLC_IP 3
-#define SLC_AO 4
-#define SLC_AYT 5
-#define SLC_EOR 6
-#define SLC_ABORT 7
-#define SLC_EOF 8
-#define SLC_SUSP 9
-#define SLC_EC 10
-#define SLC_EL 11
-#define SLC_EW 12
-#define SLC_RP 13
-#define SLC_LNEXT 14
-#define SLC_XON 15
-#define SLC_XOFF 16
-#define SLC_FORW1 17
-#define SLC_FORW2 18
-#define SLC_MCL 19
-#define SLC_MCR 20
-#define SLC_MCWL 21
-#define SLC_MCWR 22
-#define SLC_MCBOL 23
-#define SLC_MCEOL 24
-#define SLC_INSRT 25
-#define SLC_OVER 26
-#define SLC_ECR 27
-#define SLC_EWR 28
-#define SLC_EBOL 29
-#define SLC_EEOL 30
-
-#define NSLC 30
-
-/*
- * For backwards compatability, we define SLC_NAMES to be the
- * list of names if SLC_NAMES is not defined.
- */
-#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \
- "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \
- "LNEXT", "XON", "XOFF", "FORW1", "FORW2", \
- "MCL", "MCR", "MCWL", "MCWR", "MCBOL", \
- "MCEOL", "INSRT", "OVER", "ECR", "EWR", \
- "EBOL", "EEOL", \
- 0
-
-#ifdef SLC_NAMES
-char *slc_names[] = {
- SLC_NAMELIST
-};
-#else
-extern char *slc_names[];
-#define SLC_NAMES SLC_NAMELIST
-#endif
-
-#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC)
-#define SLC_NAME(x) slc_names[x]
-
-#define SLC_NOSUPPORT 0
-#define SLC_CANTCHANGE 1
-#define SLC_VARIABLE 2
-#define SLC_DEFAULT 3
-#define SLC_LEVELBITS 0x03
-
-#define SLC_FUNC 0
-#define SLC_FLAGS 1
-#define SLC_VALUE 2
-
-#define SLC_ACK 0x80
-#define SLC_FLUSHIN 0x40
-#define SLC_FLUSHOUT 0x20
-
-#define OLD_ENV_VAR 1
-#define OLD_ENV_VALUE 0
-#define NEW_ENV_VAR 0
-#define NEW_ENV_VALUE 1
-#define ENV_ESC 2
-#define ENV_USERVAR 3
-
-/*
- * AUTHENTICATION suboptions
- */
-
-/*
- * Who is authenticating who ...
- */
-#define AUTH_WHO_CLIENT 0 /* Client authenticating server */
-#define AUTH_WHO_SERVER 1 /* Server authenticating client */
-#define AUTH_WHO_MASK 1
-
-/*
- * amount of authentication done
- */
-#define AUTH_HOW_ONE_WAY 0
-#define AUTH_HOW_MUTUAL 2
-#define AUTH_HOW_MASK 2
-
-#define AUTHTYPE_NULL 0
-#define AUTHTYPE_KERBEROS_V4 1
-#define AUTHTYPE_KERBEROS_V5 2
-#define AUTHTYPE_SPX 3
-#define AUTHTYPE_MINK 4
-#define AUTHTYPE_CNT 5
-
-#define AUTHTYPE_TEST 99
-
-#ifdef AUTH_NAMES
-char *authtype_names[] = {
- "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK",
- 0
-};
-#else
-extern char *authtype_names[];
-#endif
-
-#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT)
-#define AUTHTYPE_NAME(x) authtype_names[x]
-
-/*
- * ENCRYPTion suboptions
- */
-#define ENCRYPT_IS 0 /* I pick encryption type ... */
-#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */
-#define ENCRYPT_REPLY 2 /* Initial setup response */
-#define ENCRYPT_START 3 /* Am starting to send encrypted */
-#define ENCRYPT_END 4 /* Am ending encrypted */
-#define ENCRYPT_REQSTART 5 /* Request you start encrypting */
-#define ENCRYPT_REQEND 6 /* Request you end encrypting */
-#define ENCRYPT_ENC_KEYID 7
-#define ENCRYPT_DEC_KEYID 8
-#define ENCRYPT_CNT 9
-
-#define ENCTYPE_ANY 0
-#define ENCTYPE_DES_CFB64 1
-#define ENCTYPE_DES_OFB64 2
-#define ENCTYPE_CNT 3
-
-#ifdef ENCRYPT_NAMES
-char *encrypt_names[] = {
- "IS", "SUPPORT", "REPLY", "START", "END",
- "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID",
- 0
-};
-char *enctype_names[] = {
- "ANY", "DES_CFB64", "DES_OFB64",
- 0
-};
-#else
-extern char *encrypt_names[];
-extern char *enctype_names[];
-#endif
-
-
-#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT)
-#define ENCRYPT_NAME(x) encrypt_names[x]
-
-#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT)
-#define ENCTYPE_NAME(x) enctype_names[x]
-
-#endif /* !_TELNET_H_ */
diff --git a/StdLib/Include/assert.h b/StdLib/Include/assert.h deleted file mode 100644 index 26c7037ea6..0000000000 --- a/StdLib/Include/assert.h +++ /dev/null @@ -1,82 +0,0 @@ -/** @file
- Provides a definition of the assert macro used to insert diagnostic messages
- into code.
-
- This header file defines the assert macro and refers to the NDEBUG macro,
- which is NOT defined in this file.
-
- Unlike other header files, assert.h is designed to be included multiple
- times, with potentially different behavior on each inclusion.
-
- If the NDEBUG macro is defined at the point where assert.h
- is included, the assert macro is defined so as to not produce code.
- Otherwise, the assertion is tested and if the assertion is FALSE
- (e.g. evaluates to 0) a diagnostic message of the form<BR>
- "Assertion failed: (EXPR), file FILE, function FUNC, line LINE.\n"<BR>
- is produced.
- A FALSE evaluation will also result in the application being aborted.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#include <sys/EfiCdefs.h>
-
-#undef assert ///< Remove any existing definition for assert.
-
-/** Internal helper function for the assert macro.
- The __assert function prints a diagnostic message then exits the
- currently running application.
-
- This function should NEVER be called directly.
-
- Some pre-processors do not provide the __func__ identifier. When that is
- the case, __func__ will be NULL. This function accounts for this and
- will modify the diagnostic message appropriately.
-
-
- @param[in] file The name of the file containing the assert.
- @param[in] func The name of the function containing the assert.
- @param[in] line The line number the assert is located on.
- @param[in] failedexpr A literal representation of the assert's expression.
-
- @return The __assert function will never return. It aborts the
- current application and returns to the environment that
- the application was launched from.
-**/
-extern void
-__assert(const char *file, const char *func, int line, const char *failedexpr);
-
-/** The assert macro puts diagnostic tests into programs; it expands to a
- void expression.
-
- When it is executed, if expression (which must have a scalar type) is
- FALSE (that is, compares equal to 0), the assert macro writes information
- about the particular call that failed (including the text of the argument,
- the name of the source file, the source line number, and the name of the
- enclosing function - the latter are respectively the values of the
- preprocessing macros __FILE__ and __LINE__ and of the identifier __func__)
- on the standard error stream. It then calls the abort function.
-
- If NDEBUG is not defined, Expression is evaluated. If Expression evaluates to FALSE,
- then __assert is called passing in the source filename, source function, source
- line number, and the Expression.
-
- @param Expression Boolean expression.
-
-@{
-**/
-#ifdef NDEBUG
-#define assert(Expression) /* ignored */
-
-#else
-#define assert(Expression) ((Expression) ? (void)0 :\
- __assert(__FILE__, __func__, __LINE__, #Expression) )
-#endif
-/// @}
-/* END of file assert.h */
diff --git a/StdLib/Include/ctype.h b/StdLib/Include/ctype.h deleted file mode 100644 index d35367f520..0000000000 --- a/StdLib/Include/ctype.h +++ /dev/null @@ -1,241 +0,0 @@ -/** @file
- Single-byte character classification, case conversion macros, and
- function declarations.
-
- The header <ctype.h> declares several functions useful for testing and mapping
- characters. In all cases, the argument is an int, the value of which shall be
- representable as an unsigned char or shall equal the value of the macro EOF.
- If the argument has any other value, the behavior is undefined.
-
- The behavior of these functions is affected by the current locale. The
- default is the "C" locale.
-
- The term "printing character" refers to a member of a locale-specific
- set of characters, each of which occupies at least one printing position on an output
- device; the term control character refers to a member of a locale-specific
- set of characters that are not printing characters.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _CTYPE_H
-#define _CTYPE_H
-#include <sys/EfiCdefs.h>
-#include <sys/_ctype.h>
-
-__BEGIN_DECLS
-// Declarations for the classification Functions
-
-/** The isalnum function tests for any character for which isalpha or isdigit
- is true.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isalnum(int c);
-
-/** The isalpha function tests for any character for which isupper or islower
- is true, or any character that is one of a locale-specific set of
- alphabetic characters for which none of iscntrl, isdigit, ispunct, or
- isspace is true. In the "C" locale, isalpha returns true only for the
- characters for which isupper or islower is true.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isalpha(int c);
-
-/** The isblank function tests that a character is a white-space character that results
- in a number of space (' ') characters being sent to the output device. In the C locale
- this is either ' ' or '\t'.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isblank(int);
-
-/** The iscntrl function tests for any control character.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int iscntrl(int c);
-
-/** The isdigit function tests for any decimal-digit character.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isdigit(int c);
-
-/** The isgraph function tests for any printing character except space (' ').
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isgraph(int c);
-
-/** The islower function tests for any character that is a lowercase letter or
- is one of a locale-specific set of characters for which none of iscntrl,
- isdigit, ispunct, or isspace is true. In the "C" locale, islower returns
- true only for the lowercase letters.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int islower(int c);
-
-/** The isprint function tests for any printing character including space (' ').
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isprint(int c);
-
-/** The ispunct function tests for any printing character that is one of a
- locale-specific set of punctuation characters for which neither isspace nor
- isalnum is true. In the "C" locale, ispunct returns true for every printing
- character for which neither isspace nor isalnum is true.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int ispunct(int c);
-
-/** The isspace function tests for any character that is a standard white-space
- character or is one of a locale-specific set of characters for which
- isalnum is false. The standard white-space characters are the following:
- space (' '), form feed ('\f'), new-line ('\n'), carriage return ('\r'),
- horizontal tab ('\t'), and vertical tab ('\v'). In the "C" locale, isspace
- returns true only for the standard white-space characters.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isspace(int c);
-
-/** The isupper function tests for any character that is an uppercase letter or
- is one of a locale-specific set of characters for which none of iscntrl,
- isdigit, ispunct, or isspace is true. In the "C" locale, isupper returns
- true only for the uppercase letters.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isupper(int c);
-
-/** The isxdigit function tests for any hexadecimal-digit character.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isxdigit(int c);
-
-/** The isascii function tests that a character is one of the 128 7-bit ASCII characters.
- This function is not part of the C standard, but is commonly used.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isascii(int c);
-
-/** Test whether a character is one of the characters used as a separator
- between directory elements in a path.
-
- Characters are '/', '\\'
-
- This non-standard function is unique to this implementation.
-
- @param[in] c The character to be tested.
-
- @return Returns nonzero (true) if and only if the value of the parameter c
- can be classified as specified in the description of the function.
-**/
-int isDirSep(int c);
-
-/** The tolower function converts an uppercase letter to a corresponding
- lowercase letter.
-
- @param[in] c The character to be converted.
-
- @return If the argument is a character for which isupper is true and
- there are one or more corresponding characters, as specified by
- the current locale, for which islower is true, the tolower
- function returns one of the corresponding characters (always the
- same one for any given locale); otherwise, the argument is
- returned unchanged.
-**/
-int tolower(int c);
-
-/** The toupper function converts a lowercase letter to a corresponding
- uppercase letter.
-
- @param[in] c The character to be converted.
-
- @return If the argument is a character for which islower is true and
- there are one or more corresponding characters, as specified by
- the current locale, for which isupper is true, the toupper
- function returns one of the corresponding characters (always the
- same one for any given locale); otherwise, the argument is
- returned unchanged.
-**/
-int toupper(int c);
-
-__END_DECLS
-
-/** Character Classification Macros.
- Undefine individually or define NO_CTYPE_MACROS, before including <ctype.h>,
- in order to use the Function version of the character classification macros.
-@{
-**/
-#ifndef NO_CTYPE_MACROS
- #define isalnum(c) (__isCClass( (int)c, (_CD | _CU | _CL | _XA)))
- #define isalpha(c) (__isCClass( (int)c, (_CU | _CL | _XA)))
- #define iscntrl(c) (__isCClass( (int)c, (_CC)))
- #define isdigit(c) (__isCClass( (int)c, (_CD)))
- #define isgraph(c) (__isCClass( (int)c, (_CG)))
- #define islower(c) (__isCClass( (int)c, (_CL)))
- #define isprint(c) (__isCClass( (int)c, (_CS | _CG)))
- #define ispunct(c) (__isCClass( (int)c, (_CP)))
- #define isspace(c) (__isCClass( (int)c, (_CW)))
- #define isupper(c) (__isCClass( (int)c, (_CU)))
- #define isxdigit(c) (__isCClass( (int)c, (_CD | _CX)))
- #define isDirSep(c) (__isCClass( (int)c, (_C0)))
- #define tolower(c) (__toLower((int)c))
- #define toupper(c) (__toUpper((int)c))
-#endif /* NO_CTYPE_MACROS */
-///@}
-
-#endif /* _CTYPE_H */
diff --git a/StdLib/Include/dirent.h b/StdLib/Include/dirent.h deleted file mode 100644 index d67a9e7bfb..0000000000 --- a/StdLib/Include/dirent.h +++ /dev/null @@ -1,106 +0,0 @@ -/** @file
- Declarations pertaining to directory entries under the UEFI environment.
-
- The information is based upon the EFI_FILE_INFO structure
- in MdePkg/Include/Guid/FileInfo.h.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1989, 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.
-
- NetBSD: dirent.h,v 1.30 2008/01/09 20:55:03 christos Exp
- @(#)dirent.h 8.2 (Berkeley) 7/28/94
-**/
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
-
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-#include <sys/dirent.h>
-
-typedef struct _dirdesc DIR;
-
-/* definitions for library routines operating on directories. */
-#define DIRBLKSIZ 1024
-
-/* structure describing an open directory. */
-struct _dirdesc {
- int dd_fd; /* file descriptor associated with directory */
- long dd_loc; /* offset in current buffer */
- long dd_size; /* amount of data returned by getdents */
- char *dd_buf; /* data buffer */
- int dd_len; /* size of data buffer */
- off_t dd_seek; /* magic cookie returned by getdents */
- void *dd_internal; /* state for seekdir/telldir */
- int dd_flags; /* flags for readdir */
- void *dd_lock; /* lock for concurrent access */
-};
-
-#define dirfd(dirp) ((dirp)->dd_fd)
-
-/* flags for __opendir2() */
-#define DTF_HIDEW 0x0001 /* hide whiteout entries */
-#define DTF_NODUP 0x0002 /* don't return duplicate names */
-#define DTF_REWIND 0x0004 /* rewind after reading union stack */
-#define __DTF_READALL 0x0008 /* everything has been read */
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
- int closedir(DIR *);
- void rewinddir(DIR *);
-
- DIR *opendir(const char *) __RENAME(__opendir30);
- struct dirent *readdir(DIR *) __RENAME(__readdir30);
- int readdir_r(DIR * __restrict, struct dirent * __restrict,
- struct dirent ** __restrict) __RENAME(__readdir_r30);
-
- void seekdir(DIR *, long);
- long telldir(DIR *);
- DIR *__opendir2(const char *, int) __RENAME(__opendir230);
-
- //#ifndef __LIBC12_SOURCE__
- //int scandir(const char *, struct dirent ***,
- // int (*)(const struct dirent *), int (*)(const void *,
- // const void *)) __RENAME(__scandir30);
- //int getdents(int, char *, size_t) __RENAME(__getdents30);
- //#endif
-
- //int alphasort(const void *, const void *);
-__END_DECLS
-
-
-#endif /* _DIRENT_H_ */
diff --git a/StdLib/Include/err.h b/StdLib/Include/err.h deleted file mode 100644 index 6207d18039..0000000000 --- a/StdLib/Include/err.h +++ /dev/null @@ -1,25 +0,0 @@ -/** @file error and warning output messages
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-
-#ifndef _ERR_H_
-#define _ERR_H_
-
-//
-// Error and Warning outputs
-//
-
-void errx (int eval, const char *fmt, ...);
-void err (int eval, const char *fmt, ...);
-void warnx(const char *fmt, ...);
-void warn (const char *fmt, ...);
-
-#endif
\ No newline at end of file diff --git a/StdLib/Include/errno.h b/StdLib/Include/errno.h deleted file mode 100644 index a819d0849c..0000000000 --- a/StdLib/Include/errno.h +++ /dev/null @@ -1,174 +0,0 @@ -/** @file
- The header <errno.h> defines several macros, all relating to the reporting of
- error conditions.
-
- The ISO/IEC 9899 specification requires that these be macros.
-
- The macros expand to integral constant expressions
- with distinct nonzero values, suitable for use in #if preprocessing
- directives; the variable errno which expands to a modifiable lvalue that has type int,
- the value of which is set to a positive error number by several library
- functions; and the variable EFIerrno which is an extension allowing the return status
- of the underlying UEFI functions to be returned.
-
- The value of errno and EFIerrno is zero at program startup. On program startup, errno
- is initialized to zero but is never set to zero by
- any library function. The value of errno may be set to a non-zero value by
- a library function call whether or not there is an error, provided the use
- of errno is not documented in the description of the function in
- the governing standard: ISO/IEC 9899:1990 with Amendment 1 or ISO/IEC 9899:199409.
-
- EFIerrno, like errno, should only be checked if it is known that the preceeding function call
- called a UEFI function. Functions in which UEFI functions are called dependent upon context
- or parameter values should guarantee that EFIerrno is set to zero by default, or to the status
- value returned by any UEFI functions which are called.
-
- All macro definitions in this list must begin with the letter 'E'
- and be followed by a digit or an uppercase letter.
-
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _ERRNO_H
-#define _ERRNO_H
-#include <sys/EfiCdefs.h>
-#include <sys/errno.h>
-
-extern int errno;
-extern RETURN_STATUS EFIerrno;
-
-// Define error number in terms of the ENUM in <sys/errno.h>
-
-#define ERESTART -1 /* restart syscall */
-#define ESUCCESS __ESUCCESS /* No Problems */
-
-#define EMINERRORVAL __EMINERRORVAL /* 1 The lowest valid error value */
-
-#define EPERM __EPERM /* 1 Operation not permitted */
-#define ENOENT __ENOENT /* 2 No such file or directory */
-#define ESRCH __ESRCH /* 3 No such process */
-#define EINTR __EINTR /* 4 Interrupted system call */
-#define EIO __EIO /* 5 Input/output error */
-#define ENXIO __ENXIO /* 6 Device not configured */
-#define E2BIG __E2BIG /* 7 Argument list too long */
-#define ENOEXEC __ENOEXEC /* 8 Exec format error */
-#define EBADF __EBADF /* 9 Bad file descriptor */
-#define ECHILD __ECHILD /* 10 No child processes */
-#define EDEADLK __EDEADLK /* 11 Resource deadlock avoided */
-#define ENOMEM __ENOMEM /* 12 Cannot allocate memory */
-#define EACCES __EACCES /* 13 Permission denied */
-#define EFAULT __EFAULT /* 14 Bad address */
-#define ENOTBLK __ENOTBLK /* 15 Block device required */
-#define EBUSY __EBUSY /* 16 Device busy */
-#define EEXIST __EEXIST /* 17 File exists */
-#define EXDEV __EXDEV /* 18 Cross-device link */
-#define ENODEV __ENODEV /* 19 Operation not supported by device */
-#define ENOTDIR __ENOTDIR /* 20 Not a directory */
-#define EISDIR __EISDIR /* 21 Is a directory */
-#define EINVAL __EINVAL /* 22 Invalid argument */
-#define ENFILE __ENFILE /* 23 Too many open files in system */
-#define EMFILE __EMFILE /* 24 Too many open file descriptors */
-#define ENOTTY __ENOTTY /* 25 Inappropriate ioctl for device */
-#define ETXTBSY __ETXTBSY /* 26 Text file busy */
-#define EFBIG __EFBIG /* 27 File too large */
-#define ENOSPC __ENOSPC /* 28 No space left on device */
-#define ESPIPE __ESPIPE /* 29 Illegal seek */
-#define EROFS __EROFS /* 30 Read-only filesystem */
-#define EMLINK __EMLINK /* 31 Too many links */
-#define EPIPE __EPIPE /* 32 Broken pipe */
-
-/* math software -- these are the only two values required by the C Standard */
-#define EDOM __EDOM /* 33 Numerical argument out of domain */
-#define ERANGE __ERANGE /* 34 Result too large */
-
-/* non-blocking and interrupt i/o */
-#define EAGAIN __EAGAIN /* 35 Resource temporarily unavailable */
-#define EWOULDBLOCK __EWOULDBLOCK /* 35 Operation would block */
-#define EINPROGRESS __EINPROGRESS /* 36 Operation now in progress */
-#define EALREADY __EALREADY /* 37 Operation already in progress */
-
-/* ipc/network software -- argument errors */
-#define ENOTSOCK __ENOTSOCK /* 38 Socket operation on non-socket */
-#define EDESTADDRREQ __EDESTADDRREQ /* 39 Destination address required */
-#define EMSGSIZE __EMSGSIZE /* 40 Message too long */
-#define EPROTOTYPE __EPROTOTYPE /* 41 Protocol wrong type for socket */
-#define ENOPROTOOPT __ENOPROTOOPT /* 42 Protocol not available */
-#define EPROTONOSUPPORT __EPROTONOSUPPORT /* 43 Protocol not supported */
-#define ESOCKTNOSUPPORT __ESOCKTNOSUPPORT /* 44 Socket type not supported */
-#define EOPNOTSUPP __EOPNOTSUPP /* 45 Operation not supported */
-#define ENOTSUP __ENOTSUP /* 45 Operation not supported */
-#define EPFNOSUPPORT __EPFNOSUPPORT /* 46 Protocol family not supported */
-#define EAFNOSUPPORT __EAFNOSUPPORT /* 47 Address family not supported by protocol family */
-#define EADDRINUSE __EADDRINUSE /* 48 Address already in use */
-#define EADDRNOTAVAIL __EADDRNOTAVAIL /* 49 Can't assign requested address */
-
-/* ipc/network software -- operational errors */
-#define ENETDOWN __ENETDOWN /* 50 Network is down */
-#define ENETUNREACH __ENETUNREACH /* 51 Network is unreachable */
-#define ENETRESET __ENETRESET /* 52 Network dropped connection on reset */
-#define ECONNABORTED __ECONNABORTED /* 53 Software caused connection abort */
-#define ECONNRESET __ECONNRESET /* 54 Connection reset by peer */
-#define ENOBUFS __ENOBUFS /* 55 No buffer space available */
-#define EISCONN __EISCONN /* 56 Socket is already connected */
-#define ENOTCONN __ENOTCONN /* 57 Socket is not connected */
-#define ESHUTDOWN __ESHUTDOWN /* 58 Can't send after socket shutdown */
-#define ETOOMANYREFS __ETOOMANYREFS /* 59 Too many references: can't splice */
-#define ETIMEDOUT __ETIMEDOUT /* 60 Operation timed out */
-#define ECONNREFUSED __ECONNREFUSED /* 61 Connection refused */
-#define ELOOP __ELOOP /* 62 Too many levels of symbolic links */
-#define ENAMETOOLONG __ENAMETOOLONG /* 63 File name too long */
-#define EHOSTDOWN __EHOSTDOWN /* 64 Host is down */
-#define EHOSTUNREACH __EHOSTUNREACH /* 65 No route to host */
-
-#define ENOTEMPTY __ENOTEMPTY /* 66 Directory not empty */
-
-/* quotas, etc. */
-#define EPROCLIM __EPROCLIM /* 67 Too many processes */
-#define EUSERS __EUSERS /* 68 Too many users */
-#define EDQUOT __EDQUOT /* 69 Disc quota exceeded */
-
-/* Network File System */
-#define ESTALE __ESTALE /* 70 Stale NFS file handle */
-#define EREMOTE __EREMOTE /* 71 Too many levels of remote in path */
-#define EBADRPC __EBADRPC /* 72 RPC struct is bad */
-#define ERPCMISMATCH __ERPCMISMATCH /* 73 RPC version wrong */
-#define EPROGUNAVAIL __EPROGUNAVAIL /* 74 RPC prog. not avail */
-#define EPROGMISMATCH __EPROGMISMATCH /* 75 Program version wrong */
-#define EPROCUNAVAIL __EPROCUNAVAIL /* 76 Bad procedure for program */
-#define ENOLCK __ENOLCK /* 77 No locks available */
-#define ENOSYS __ENOSYS /* 78 Function not implemented */
-#define EFTYPE __EFTYPE /* 79 Inappropriate file type or format */
-#define EAUTH __EAUTH /* 80 Authentication error */
-#define ENEEDAUTH __ENEEDAUTH /* 81 Need authenticator */
-#define EIDRM __EIDRM /* 82 Identifier removed */
-#define ENOMSG __ENOMSG /* 83 No message of desired type */
-#define EOVERFLOW __EOVERFLOW /* 84 Value too large to be stored in data type */
-#define EILSEQ __EILSEQ /* 85 Illegal byte sequence */
-#define ENOTHING_1 __ENOTHING_1 /* 86 Place Holder */
-#define ECANCELED __ECANCELED /* 87 Operation canceled */
-
-#define EBADMSG __EBADMSG /* 88 Bad message */
-#define ENODATA __ENODATA /* 89 No message available */
-#define ENOSR __ENOSR /* 90 No STREAM resources */
-#define ENOSTR __ENOSTR /* 91 Not a STREAM */
-#define ETIME __ETIME /* 92 STREAM ioctl timeout */
-
-#define ENOATTR __ENOATTR /* 93 Attribute not found */
-
-#define EDOOFUS __EDOOFUS /* 94 Programming error */
-
-#define EMULTIHOP __EMULTIHOP /* 95 Multihop attempted */
-#define ENOLINK __ENOLINK /* 96 Link has been severed */
-#define EPROTO __EPROTO /* 97 Protocol error */
-
-#define EBUFSIZE __EBUFSIZE /* 98 Buffer too small to hold result */
-
-#define EMAXERRORVAL __EMAXERRORVAL /* One more than the highest defined error value. */
-
-#endif /* _ERRNO_H */
diff --git a/StdLib/Include/fcntl.h b/StdLib/Include/fcntl.h deleted file mode 100644 index f5b4474572..0000000000 --- a/StdLib/Include/fcntl.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/fcntl.h>
diff --git a/StdLib/Include/float.h b/StdLib/Include/float.h deleted file mode 100644 index 4a590d052c..0000000000 --- a/StdLib/Include/float.h +++ /dev/null @@ -1,16 +0,0 @@ -/** @file
- Limits and constants for floating-point operations.
-
- Accuracy of the floating-point operations provided by this implementation
- of the Standard C Library has not been determined.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#include <machine/float.h>
diff --git a/StdLib/Include/glob.h b/StdLib/Include/glob.h deleted file mode 100644 index 5842130447..0000000000 --- a/StdLib/Include/glob.h +++ /dev/null @@ -1,109 +0,0 @@ -/* $NetBSD: glob.h,v 1.24 2008/09/13 17:05:07 christos Exp $ */
-
-/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Guido van Rossum.
- *
- * 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.
- *
- * @(#)glob.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _GLOB_H_
-#define _GLOB_H_
-
-#include <sys/cdefs.h>
-#include <sys/featuretest.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef __gl_size_t
-#define __gl_size_t size_t
-#endif
-#ifndef __gl_stat_t
-#define __gl_stat_t struct stat
-#endif
-
-typedef struct {
- __gl_size_t gl_pathc; /* Count of total paths so far. */
- __gl_size_t gl_matchc; /* Count of paths matching pattern. */
- __gl_size_t gl_offs; /* Reserved at beginning of gl_pathv. */
- int gl_flags; /* Copy of flags parameter to glob. */
- char **gl_pathv; /* List of paths matching pattern. */
- /* Copy of errfunc parameter to glob. */
- int (*gl_errfunc)(const char *, int);
-
- /*
- * Alternate filesystem access methods for glob; replacement
- * versions of closedir(3), readdir(3), opendir(3), stat(2)
- * and lstat(2).
- */
- void (*gl_closedir)(void *);
- struct dirent *(*gl_readdir)(void *);
- void *(*gl_opendir)(const char *);
- int (*gl_lstat)(const char *, __gl_stat_t *);
- int (*gl_stat)(const char *, __gl_stat_t *);
-} glob_t;
-
-#define GLOB_APPEND 0x0001 /* Append to output from previous call. */
-#define GLOB_DOOFFS 0x0002 /* Use gl_offs. */
-#define GLOB_ERR 0x0004 /* Return on error. */
-#define GLOB_MARK 0x0008 /* Append / to matching directories. */
-#define GLOB_NOCHECK 0x0010 /* Return pattern itself if nothing matches. */
-#define GLOB_NOSORT 0x0020 /* Don't sort. */
-#define GLOB_NOESCAPE 0x1000 /* Disable backslash escaping. */
-
-#define GLOB_NOSPACE (-1) /* Malloc call failed. */
-#define GLOB_ABORTED (-2) /* Unignored error. */
-#define GLOB_NOMATCH (-3) /* No match, and GLOB_NOCHECK was not set. */
-#define GLOB_NOSYS (-4) /* Implementation does not support function. */
-
-#if defined(_NETBSD_SOURCE) || defined(HAVE_NBTOOL_CONFIG_H)
-#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
-#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
-#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
-#define GLOB_NOMAGIC 0x0200 /* GLOB_NOCHECK without magic chars (csh). */
-#define GLOB_LIMIT 0x0400 /* Limit memory used by matches to ARG_MAX */
-#define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */
-/* GLOB_NOESCAPE 0x1000 above */
-#define GLOB_PERIOD 0x2000 /* Allow metachars to match leading periods. */
-#define GLOB_NO_DOTDIRS 0x4000 /* Make . and .. vanish from wildcards. */
-#define GLOB_QUOTE 0 /* source compatibility */
-
-#define GLOB_ABEND GLOB_ABORTED /* source compatibility */
-#endif
-
-__BEGIN_DECLS
-#ifndef __LIBC12_SOURCE__
-int glob(const char * __restrict, int,
- int (*)(const char *, int), glob_t * __restrict) __RENAME(__glob30);
-void globfree(glob_t *) __RENAME(__globfree30);
-#endif
-__END_DECLS
-
-#endif /* !_GLOB_H_ */
diff --git a/StdLib/Include/ieeefp.h b/StdLib/Include/ieeefp.h deleted file mode 100644 index ee3edf5566..0000000000 --- a/StdLib/Include/ieeefp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* $NetBSD: ieeefp.h,v 1.9 2011/03/27 05:13:15 mrg Exp $ */
-/** @file
-*
-* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
-*
-* This program and the accompanying materials
-* are licensed and made available under the terms and conditions of the BSD License
-* which accompanies this distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
-/*
- * Written by J.T. Conklin, Apr 6, 1995
- * Public domain.
- */
-
-#ifndef _IEEEFP_H_
-#define _IEEEFP_H_
-
-#include <sys/cdefs.h>
-#include <machine/ieeefp.h>
-
-__BEGIN_DECLS
-typedef fp_rnd fp_rnd_t;
-#ifdef _X86_IEEEFP_H_ /* XXX */
-typedef fp_prec fp_prec_t;
-#endif
-typedef fp_except fp_except_t;
-
-fp_rnd_t fpgetround(void);
-fp_rnd_t fpsetround(fp_rnd_t);
-#ifdef _X86_IEEEFP_H_ /* XXX */
-fp_prec_t fpgetprec(void);
-fp_prec_t fpsetprec(fp_prec_t);
-#endif
-fp_except_t fpgetmask(void);
-fp_except_t fpsetmask(fp_except_t);
-fp_except_t fpgetsticky(void);
-fp_except_t fpsetsticky(fp_except_t);
-fp_except_t fpresetsticky(fp_except_t);
-__END_DECLS
-
-#endif /* _IEEEFP_H_ */
diff --git a/StdLib/Include/inttypes.h b/StdLib/Include/inttypes.h deleted file mode 100644 index 51cdb5b879..0000000000 --- a/StdLib/Include/inttypes.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $NetBSD: inttypes.h,v 1.4 2005/04/18 19:47:51 kleink Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-#ifndef _INTTYPES_H_
-#define _INTTYPES_H_
-
-#include <sys/EfiCdefs.h>
-//#include <sys/inttypes.h>
-#include <sys/stdint.h>
-#include <machine/ansi.h>
-
-#ifdef _EFI_WCHAR_T
- typedef _EFI_WCHAR_T wchar_t;
- #undef _EFI_WCHAR_T
- #undef _BSD_WCHAR_T_
-#endif
-
-__BEGIN_DECLS
-intmax_t strtoimax(const char * __restrict,
- char ** __restrict, int);
-uintmax_t strtoumax(const char * __restrict,
- char ** __restrict, int);
-intmax_t wcstoimax(const wchar_t * __restrict,
- wchar_t ** __restrict, int);
-uintmax_t wcstoumax(const wchar_t * __restrict,
- wchar_t ** __restrict, int);
-__END_DECLS
-
-#endif /* !_INTTYPES_H_ */
diff --git a/StdLib/Include/iso646.h b/StdLib/Include/iso646.h deleted file mode 100644 index d9dc860346..0000000000 --- a/StdLib/Include/iso646.h +++ /dev/null @@ -1,32 +0,0 @@ -/** @file
- Provides alternative "spellings" for several C operators.
-
- The header <iso646.h> defines the following eleven macros (on the left) that expand
- to the corresponding tokens (on the right).
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _ISO646_H
-#define _ISO646_H
-#include <sys/EfiCdefs.h>
-
-#define and && ///< Logical AND of two boolean expressions
-#define and_eq &= ///< Bitwise AND with assignment to lval
-#define bitand & ///< Bitwise AND of two scalar expressions
-#define bitor | ///< Bitwise OR of two scalar expressions
-#define compl ~ ///< Binary complement
-#define not ! ///< Logical complement of a boolean expression
-#define not_eq != ///< Not-equal comparison
-#define or || ///< Logical OR of two boolean expressions
-#define or_eq |= ///< Bitwise OR with assignment to lval
-#define xor ^ ///< Exclusive OR
-#define xor_eq ^= ///< Exclusive OR with assignment to lval
-
-#endif /* _ISO646_H */
diff --git a/StdLib/Include/langinfo.h b/StdLib/Include/langinfo.h deleted file mode 100644 index 70a8f1b5a0..0000000000 --- a/StdLib/Include/langinfo.h +++ /dev/null @@ -1,91 +0,0 @@ -/* $NetBSD: langinfo.h,v 1.9 2005/02/03 04:39:32 perry Exp $ */
-
-/*
- * Written by J.T. Conklin <jtc@NetBSD.org>
- * Public domain.
- */
-
-#ifndef _LANGINFO_H_
-#define _LANGINFO_H_
-
-#include <sys/EfiCdefs.h>
-#include <nl_types.h>
-
-#define D_T_FMT ((nl_item)0) /* String for formatting date and
- time */
-#define D_FMT ((nl_item)1) /* Date format string */
-#define T_FMT ((nl_item)2) /* Time format string */
-#define T_FMT_AMPM ((nl_item)3) /* Time format string with 12 hour
- clock */
-#define AM_STR ((nl_item)4) /* Ante Meridiem afix */
-#define PM_STR ((nl_item)5) /* Post Meridiem afix */
-
-#define DAY_1 ((nl_item)6) /* Name of the first day of the week */
-#define DAY_2 ((nl_item)7)
-#define DAY_3 ((nl_item)8)
-#define DAY_4 ((nl_item)9)
-#define DAY_5 ((nl_item)10)
-#define DAY_6 ((nl_item)11)
-#define DAY_7 ((nl_item)12)
-
-#define ABDAY_1 ((nl_item)13) /* Abbrev. name of the first day of
- the week */
-#define ABDAY_2 ((nl_item)14)
-#define ABDAY_3 ((nl_item)15)
-#define ABDAY_4 ((nl_item)16)
-#define ABDAY_5 ((nl_item)17)
-#define ABDAY_6 ((nl_item)18)
-#define ABDAY_7 ((nl_item)19)
-
-#define MON_1 ((nl_item)20) /* Name of the first month */
-#define MON_2 ((nl_item)21)
-#define MON_3 ((nl_item)22)
-#define MON_4 ((nl_item)23)
-#define MON_5 ((nl_item)24)
-#define MON_6 ((nl_item)25)
-#define MON_7 ((nl_item)26)
-#define MON_8 ((nl_item)27)
-#define MON_9 ((nl_item)28)
-#define MON_10 ((nl_item)29)
-#define MON_11 ((nl_item)30)
-#define MON_12 ((nl_item)31)
-
-#define ABMON_1 ((nl_item)32) /* Abbrev. name of the first month */
-#define ABMON_2 ((nl_item)33)
-#define ABMON_3 ((nl_item)34)
-#define ABMON_4 ((nl_item)35)
-#define ABMON_5 ((nl_item)36)
-#define ABMON_6 ((nl_item)37)
-#define ABMON_7 ((nl_item)38)
-#define ABMON_8 ((nl_item)39)
-#define ABMON_9 ((nl_item)40)
-#define ABMON_10 ((nl_item)41)
-#define ABMON_11 ((nl_item)42)
-#define ABMON_12 ((nl_item)43)
-
-#define RADIXCHAR ((nl_item)44) /* Radix character */
-#define THOUSEP ((nl_item)45) /* Separator for thousands */
-#define YESSTR ((nl_item)46) /* Affirmitive response for yes/no
- queries */
-#define YESEXPR ((nl_item)47) /* Affirmitive response for yes/no
- queries */
-#define NOSTR ((nl_item)48) /* Negative response for yes/no
- queries */
-#define NOEXPR ((nl_item)49) /* Negative response for yes/no
- queries */
-#define CRNCYSTR ((nl_item)50) /* Currency symbol */
-
-#define CODESET ((nl_item)51) /* codeset name */
-
-#define ERA ((nl_item)52) /* Era description segments */
-#define ERA_D_FMT ((nl_item)53) /* Era date format string */
-#define ERA_D_T_FMT ((nl_item)54) /* Era date and time format string */
-#define ERA_T_FMT ((nl_item)55) /* Era time format string */
-
-#define ALT_DIGITS ((nl_item)56) /* Alternative symbols for digits */
-
-__BEGIN_DECLS
-char *nl_langinfo(nl_item);
-__END_DECLS
-
-#endif /* _LANGINFO_H_ */
diff --git a/StdLib/Include/libgen.h b/StdLib/Include/libgen.h deleted file mode 100644 index 3ee673832d..0000000000 --- a/StdLib/Include/libgen.h +++ /dev/null @@ -1,14 +0,0 @@ -/** @file
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-char *dirname(char *path);
diff --git a/StdLib/Include/limits.h b/StdLib/Include/limits.h deleted file mode 100644 index 5da4032f02..0000000000 --- a/StdLib/Include/limits.h +++ /dev/null @@ -1,115 +0,0 @@ -/** @file
- The header <limits.h> defines several macros that expand to various limits and
- parameters of the standard integer types.
-
- The values given below are constant expressions suitable for
- use in #if preprocessing directives. Except for CHAR_BIT and
- MB_LEN_MAX, they have the same
- type as would an expression that is an object of the corresponding type
- converted according to the integer promotions.
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _LIMITS_H
-#define _LIMITS_H
-#include <sys/EfiCdefs.h>
-#include <Library/PcdLib.h>
-
-/* Get the architecturally defined limits for this compilation unit. */
-#include <machine/limits.h>
-
-/* Define the values required by the ISO/IEC 9899 Specification. */
-
-/** Maximum number of bytes in a multibyte character, for any supported locale. **/
-#define MB_LEN_MAX 4 /* UTF-8 can require up to 4 bytes */
-
-/** Number of bits comprising the smallest object that is not a bit-field (byte). **/
-#define CHAR_BIT __CHAR_BIT
-
-/** Minimum value for an object of type signed char. **/
-#define SCHAR_MIN __SCHAR_MIN
-
-/** Maximum value for an object of type signed char. **/
-#define SCHAR_MAX __SCHAR_MAX
-
-/** Maximum value for an object of type unsigned char. **/
-#define UCHAR_MAX __UCHAR_MAX
-
-#ifdef __CHAR_UNSIGNED__
- /** Maximum value for an object of type char. **/
- #define CHAR_MAX UCHAR_MAX
- /** Minimum value for an object of type char. **/
- #define CHAR_MIN 0
-#else
- /** Maximum value for an object of type char. **/
- #define CHAR_MAX SCHAR_MAX
- /** Minimum value for an object of type char. **/
- #define CHAR_MIN SCHAR_MIN
-#endif
-
-/** Minimum value for an object of type short int. **/
-#define SHRT_MIN __SHRT_MIN
-
-/** Maximum value for an object of type short int. **/
-#define SHRT_MAX __SHRT_MAX
-
-/** Maximum value for an object of type unsigned short int. **/
-#define USHRT_MAX __USHRT_MAX
-
-/** Minimum value for an object of type int. **/
-#define INT_MIN __INT_MIN
-
-/** Maximum value for an object of type int. **/
-#define INT_MAX __INT_MAX
-
-/** Maximum value for an object of type unsigned int. **/
-#define UINT_MAX __UINT_MAX
-
-/** Minimum value for an object of type long int. **/
-#define LONG_MIN __LONG_MIN
-
-/** Maximum value for an object of type long int. **/
-#define LONG_MAX __LONG_MAX
-
-/** Maximum value for an object of type unsigned long int. **/
-#define ULONG_MAX __ULONG_MAX
-
-/** Minimum value for an object of type long long int. **/
-#define LLONG_MIN __LLONG_MIN
-
-/** Maximum value for an object of type long long int. **/
-#define LLONG_MAX __LLONG_MAX
-
-/** Maximum value for an object of type unsigned long long int. **/
-#define ULLONG_MAX __ULLONG_MAX
-
-/* Object limits used in the Standard Libraries */
-#if (PcdGet32(PcdMaximumAsciiStringLength) > 0)
- /** Maximum length of an arbitrary "narrow-character" string. **/
- #define ASCII_STRING_MAX PcdGet32(PcdMaximumAsciiStringLength)
-#else
- /** Maximum length of an arbitrary "narrow-character" string. **/
- #define ASCII_STRING_MAX 256
-#endif
-
-#if (PcdGet32(PcdMaximumUnicodeStringLength) > 0)
- /** Maximum length of an arbitrary "wide-character" string. **/
- #define UNICODE_STRING_MAX PcdGet32(PcdMaximumUnicodeStringLength)
-#else
- /** Maximum length of an arbitrary "wide-character" string. **/
- #define UNICODE_STRING_MAX 512
-#endif
-
-/* Limits for BSD Compatibility */
-#define NL_TEXTMAX 2048
-
-#include <sys/syslimits.h>
-
-#endif /* _LIMITS_H */
diff --git a/StdLib/Include/locale.h b/StdLib/Include/locale.h deleted file mode 100644 index 93aac0ad40..0000000000 --- a/StdLib/Include/locale.h +++ /dev/null @@ -1,194 +0,0 @@ -/** @file
- Localization functions and macros.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 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. 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.
- *
- * @(#)locale.h 8.1 (Berkeley) 6/2/93
- * $NetBSD: locale.h,v 1.14 2005/02/03 04:39:32 perry Exp
-**/
-
-#ifndef _LOCALE_H_
-#define _LOCALE_H_
-
-/** This is a structure containing members pertaining to the formatting and display of numeric values.
- Each member of this structure is commented with its value in the "C" locale.
-
- The decimal_point member must point to a string with a length greater than zero.
- All other pointer members may point to "" in order to indicate that the value is not available
- in the current locale, or that it is of zero length. Except for grouping and mon_grouping, the
- strings start and end in the initial shift state.
-
- The remaining members, of type char, are non-negative numbers or CHAR_MAX, which indicates that
- the value is not available in the current locale.
-
- Members grouping and mon_grouping point to strings where each element (character) of the string
- indicates the size of the corresponding group of digits and is interpreted as follows:
- - CHAR_MAX No further grouping is to be performed.
- - 0 The previous element is to be repeatedly used for the remainder of the digits.
- - other The ISO specification states: "The integer value is the number of digits that
- compose the current group. The next element is examined to determine the size
- of the next group of digits before the current group." The EDK II implementation
- interprets this to mean that the groups are specified left-to-right.
-
- The *_sep_by_space members are interpreted as follows:
- - 0 No space separates the currency symbol and value.
- - 1 If the currency symbol and sign string are adjacent, a space separates them from the
- value; otherwise, a space separates the currency symbol from the value.
- - 2 If the currency symbol and sign string are adjacent, a space separates them;
- otherwise, a space separates the sign string from the value.
- For int_p_sep_by_space and int_n_sep_by_space, the fourth character of int_curr_symbol is
- used instead of a space.
-
- The values of the *_sign_posn members are interpreted as follows:
- - 0 Parentheses surround the quantity and currency symbol.
- - 1 The sign string precedes the quantity and currency symbol.
- - 2 The sign string succeeds the quantity and currency symbol.
- - 3 The sign string immediately precedes the currency symbol.
- - 4 The sign string immediately succeeds the currency symbol.
-**/
-struct lconv {
- char *decimal_point; /**< "." Non-monetary decimal-point. */
- char *thousands_sep; /**< "" Separates groups of digits before the decimal-point */
- char *grouping; /**< "" A string whose elements (characters) indicate the size
- of each group of digits in formatted nonmonetary quantities. */
- char *int_curr_symbol; /**< "" A 4-character string providing the international currency
- symbol. The first three characters contain the alphabetic
- international currency symbol in accordance with those
- specified in ISO 4217. The fourth character, immediately
- preceding the null character, is the character used to separate
- the international currency symbol from the monetary quantity. */
- char *currency_symbol; /**< "" The local currency symbol for the current locale. */
- char *mon_decimal_point; /**< "" The decimal point used for monetary values. */
- char *mon_thousands_sep; /**< "" The separator for digit groups preceeding the decimal-point. */
- char *mon_grouping; /**< "" A string, like grouping, for monetary values. */
- char *positive_sign; /**< "" A string to indicate a non-negative monetary value. */
- char *negative_sign; /**< "" A string to indicate a negative monetary value. */
- char int_frac_digits; /**< CHAR_MAX The number of digits after the decimal-point for international
- monetary values. */
- char frac_digits; /**< CHAR_MAX The number of digits after the decimal-point for local
- monetary values. */
- char p_cs_precedes; /**< CHAR_MAX Set to 1 or 0 if the currency_symbol respectively precedes or
- succeeds the value for non-negative local monetary values. */
- char p_sep_by_space; /**< CHAR_MAX Value specifying the separation between the currency_symbol,
- the sign string, and the value for non-negative local values. */
- char n_cs_precedes; /**< CHAR_MAX Set to 1 or 0 if the currency_symbol respectively precedes or
- succeeds the value for negative local monetary values. */
- char n_sep_by_space; /**< CHAR_MAX Value specifying the separation between the currency_symbol,
- the sign string, and the value for negative local values. */
- char p_sign_posn; /**< CHAR_MAX Value specifying the positioning of the positive_sign for a
- non-negative local monetary quantity. */
- char n_sign_posn; /**< CHAR_MAX Value specifying the positioning of the negative_sign for a
- negative local monetary quantity. */
- char int_p_cs_precedes; /**< CHAR_MAX Set to 1 or 0 if the currency_symbol respectively precedes or
- succeeds the value for non-negative international monetary values. */
- char int_n_cs_precedes; /**< CHAR_MAX Set to 1 or 0 if the currency_symbol respectively precedes or
- succeeds the value for negative international monetary values. */
- char int_p_sep_by_space; /**< CHAR_MAX Value specifying the separation between the currency_symbol,
- the sign string, and the value for non-negative international values. */
- char int_n_sep_by_space; /**< CHAR_MAX Value specifying the separation between the currency_symbol,
- the sign string, and the value for negative international values. */
- char int_p_sign_posn; /**< CHAR_MAX Value specifying the positioning of the positive_sign for a
- non-negative international monetary quantity. */
- char int_n_sign_posn; /**< CHAR_MAX Value specifying the positioning of the negative_sign for a
- negative international monetary quantity. */
-};
-
-/** @{
- These macros expand to integer expressions suitable for use as the first
- argument (category) to the setlocale() function.
-
- Only the first six macros are required by the C language specification.
- Implementations are free to extend this list, as has been done with LC_MESSAGES,
- with additional macro definitions, beginning with the characters LC_ and
- an uppercase letter.
-**/
-#define LC_ALL 0 ///< The application's entire locale.
-#define LC_COLLATE 1 ///< Affects the behavior of the strcoll and strxfrm functions.
-#define LC_CTYPE 2 ///< Affects the behavior of the character handling, multibyte, and wide character functions.
-#define LC_MONETARY 3 ///< Affects monetary formatting information.
-#define LC_NUMERIC 4 ///< Affects the decimal-point character and non-monetary formatting information.
-#define LC_TIME 5 ///< Affects the behavior of the strftime and wcsftime functions.
-#define LC_MESSAGES 6
-#define _LC_LAST 7 ///< Number of defined macros. Marks end.
-/*@}*/
-
-#include <sys/EfiCdefs.h>
-
-/** @fn char *setlocale(int category, const char *locale)
-
- @brief The setlocale function is used to retrieve or change parts or all of the current locale.
-
- @details If locale is NULL, or the same as the current locale, this function just retrieves the
- values for the specified category in the current locale. Otherwise, the specified category
- in the current locale is set to the corresponding values from the specified locale and a pointer
- to the new values is returned.
-
- @param[in] category The portion of the current locale to be affected by this call.
- The LC_ macros list the supported categories and the meaning of each.
- @param[in] locale A value of "C" for locale specifies the minimal environment for C translation;
- A value of "" specifies the native environment, which is "C" for this
- implementation. If locale is NULL, the current locale is specified.
-
- @return A pointer to the string associated with the specified category for the new locale,
- a pointer to the string associated with the category for the current locale,
- or NULL if category or locale can not be honored. The return value should not be
- modified by the program, but may be overwritten by subsequent calls to either
- setlocale or localeconv.
-**/
-
-/** @fn struct lconv *localeconv(void)
-
- @brief The localeconv function returns a pointer to a lconv structure containing the appropriate
- values for the current locale.
-
- @return A pointer to a filled-in lconv structure. The returned structure should not be
- modified by the program, but may be overwritten by subsequent calls to either
- setlocale or localeconv.
-**/
-
-__BEGIN_DECLS
-#ifdef __SETLOCALE_SOURCE__
- char *setlocale(int category, const char *locale);
- char *__setlocale(int category, const char *locale);
-#else /* !__SETLOCALE_SOURCE__ */
- char *setlocale(int category, const char *locale) __RENAME(__setlocale_mb_len_max_32);
-#endif /* !__SETLOCALE_SOURCE__ */
-struct lconv *localeconv(void);
- char *__setlocale_mb_len_max_32(int category, const char *locale);
-__END_DECLS
-
-#endif /* _LOCALE_H_ */
diff --git a/StdLib/Include/math.h b/StdLib/Include/math.h deleted file mode 100644 index 3041120087..0000000000 --- a/StdLib/Include/math.h +++ /dev/null @@ -1,442 +0,0 @@ -/** @file
- Floating-point Math functions and macros.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
-
- NetBSD: math.h,v 1.44 2006/03/25 16:41:11 xtraeme Exp
- dlibm.h 5.1 93/09/24
-**/
-#ifndef _MATH_H_
-#define _MATH_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-
-/** @{
- @brief These are forward references to unions and macros used internaly
- by the implementation of the math functions and macros.
-**/
-union __float_u {
- unsigned char __dummy[sizeof(float)];
- float __val;
-};
-
-union __double_u {
- unsigned char __dummy[sizeof(double)];
- double __val;
-};
-
-union __long_double_u {
- unsigned char __dummy[sizeof(long double)];
- long double __val;
-};
-
-#include <machine/math.h> /* may use __float_u, __double_u, or __long_double_u */
-
-#ifdef __HAVE_LONG_DOUBLE
-#define __fpmacro_unary_floating(__name, __arg0) \
- /* LINTED */ \
- ((sizeof (__arg0) == sizeof (float)) \
- ? __ ## __name ## f (__arg0) \
- : (sizeof (__arg0) == sizeof (double)) \
- ? __ ## __name ## d (__arg0) \
- : __ ## __name ## l (__arg0))
-#else
-#define __fpmacro_unary_floating(__name, __arg0) \
- /* LINTED */ \
- ((sizeof (__arg0) == sizeof (float)) \
- ? __ ## __name ## f (__arg0) \
- : __ ## __name ## d (__arg0))
-#endif /* __HAVE_LONG_DOUBLE */
-
-extern const union __double_u __infinity;
-extern const union __float_u __infinityf;
-extern const union __long_double_u __infinityl;
-
-/* C99 7.12.3.1 int fpclassify(real-floating x) */
-#define fpclassify(__x) __fpmacro_unary_floating(fpclassify, __x)
-
-/* C99 7.12.3.3 int isinf(real-floating x) */
-#ifdef __isinf
- #define isinf(__x) __isinf(__x)
-#else
- #define isinf(__x) __fpmacro_unary_floating(isinf, __x)
-#endif
-
-/* C99 7.12.3.4 int isnan(real-floating x) */
-#ifdef __isnan
- #define isnan(__x) __isnan(__x)
-#else
- #define isnan(__x) __fpmacro_unary_floating(isnan, __x)
-#endif
-/*@)*/
-
-/*#############################################################
- * ISO C95
- */
-
-/**@{
- Double, float, and long double versions, respectively, of HUGE_VAL.
-*/
-#define HUGE_VAL __infinity.__val
-#define HUGE_VALF __infinityf.__val
-#define HUGE_VALL __infinityl.__val
-/*@)*/
-
-__BEGIN_DECLS
-/*
- * ANSI/POSIX
- */
-/** Compute the principal value of the arc cosine of Arg.
-
- @param[in] Arg The value to compute the arc cosine of.
-
- @return The computed value of the arc cosine of Arg in the interval [0,pi] radians.
- If Arg is not in the interval [-1,+1], errno is set to EDOM.
-**/
-double acos(double Arg);
-
-/** Compute the principal value of the arc sine of Arg.
-
- @param[in] Arg The value to compute the arc sine of.
-
- @return The computed value of the arc sine of Arg in the interval [-pi/2,+pi/2] radians.
- If Arg is not in the interval [-1,+1], errno is set to EDOM.
-**/
-double asin(double Arg);
-
-/** Compute the principal value of the arc tangent of Arg.
-
- @param[in] Arg The value to compute the arc tangent of.
-
- @return The computed value of the arc tangent of Arg in the interval [-pi/2,+pi/2] radians.
-**/
-double atan(double Arg);
-
-/** Compute the value of the arc tangent of (Num / Denom).
- The sign of both arguments is used to determine the quadrant of the return value.
-
- @param[in] Num The numerator of the value to compute the arc tangent of.
- @param[in] Denom The denominator of the value to compute the arc tangent of.
-
- @return The computed value of the arc tangent of (Num / Denom) in the interval [-pi,+pi] radians.
-**/
-double atan2(double Num, double Denom);
-
-/** Compute the value of the cosine of Arg, measured in radians.
-
- @param[in] Arg The value to compute the cosine of.
-
- @return The computed value of the cosine of Arg.
-**/
-double cos(double Arg);
-
-/** Compute the value of the sine of Arg.
-
- @param[in] Arg The value to compute the sine of.
-
- @return The computed value of the sine of Arg.
-**/
-double sin(double Arg);
-
-/** Compute the value of the tangent of Arg.
-
- @param[in] Arg The value to compute the tangent of.
-
- @return The computed value of the tangent of Arg.
-**/
-double tan(double Arg);
-
-
-/** Compute the value of the hyperbolic cosine of Arg.
-
- @param[in] Arg The value to compute the hyperbolic cosine of.
-
- @return The computed value of the hyperbolic cosine of Arg.
- If the magnitude of Arg is too large, errno is set to ERANGE.
-**/
-double cosh(double Arg);
-
-/** Compute the value of the hyperbolic sine of Arg.
-
- @param[in] Arg The value to compute the hyperbolic sine of.
-
- @return The computed value of the hyperbolic sine of Arg.
- If the magnitude of Arg is too large, errno is set to ERANGE.
-**/
-double sinh(double Arg);
-
-/** Compute the value of the hyperbolic tangent of Arg.
-
- @param[in] Arg The value to compute the hyperbolic tangent of.
-
- @return The computed value of the hyperbolic tangent of Arg.
-**/
-double tanh(double Arg);
-
-
-/** Compute the base-e exponential of Arg.
-
- @param[in] Arg The value to compute the base-e exponential of.
-
- @return The computed value of e**Arg.
- If the magnitude of Arg is too large, errno is set to ERANGE.
-**/
-double exp(double Arg);
-
-/** Break a floating-point number into a normalized fraction and an integral power of 2.
-
- @param[in] Value The floating-point value to be broken down.
- @param[out] Exp A pointer to an integer object to receive the integral power of 2 exponent.
-
- @return The frexp function returns a value R, such that Value == R**Exp.
- If Value is zero, both parts of the result are zero.
-**/
-double frexp(double Value, int *Exp);
-
-/** Multiply a floating-point number, Value, by an integral power of 2, Exp.
-
- @param[in] Value The floating-point value to be multiplied.
- @param[out] Exp The integral power of 2 to multiply Value by.
-
- @return The ldexp function returns a value R, such that R = Value x 2**Exp.
- If a range error occurs, errno will be set to ERANGE.
-**/
-double ldexp(double Value, int Exp);
-
-/** Compute the natural logarithm of Arg.
-
- @param[in] Arg The value to compute the natural logarithm of.
-
- @return The log function returns log base-e of Arg. If Arg is negative, errno is set to EDOM.
- Otherwise, errno will be set to ERANGE if a range error occurs.
-**/
-double log(double Arg);
-
-/** Compute the common (base-10) logarithm of Arg.
-
- @param[in] Arg The value to compute the common logarithm of.
-
- @return The log10 function returns log base-10 of Arg. If Arg is negative, errno is set to EDOM.
- Otherwise, errno will be set to ERANGE if Arg is 0.
-**/
-double log10(double Arg);
-
-/** Compute the base-2 logarithm of Arg.
-
- @param[in] Arg The value to compute the base-2 logarithm of.
-
- @return The log function returns log base-2 of Arg. If Arg is negative, errno is set to EDOM.
- Otherwise, errno will be set to ERANGE if Arg is 0.
-**/
-double log2(double Arg);
-
-/** Break Value into integral and fractional parts, each of which has the same type and sign
- as Value. Store the integral part in the object pointed to by Integ and return the
- fractional part.
-
- @param[in] Value The value to compute the arc cosine of.
- @param[out] Integ Pointer to where the integral component is to be stored.
-
- @return The fractional part of Value is returned directly while the integral part is
- returned in the location pointed to by Integ.
-**/
-double modf(double Value, double *Integ);
-
-/** Compute Value raised to the power Exp.
-
- @param[in] Value The value to be raised.
- @param[in] Exp The power Value is to be raised to.
-
- @return The pow function returns Value**Exp. If an error occurs, errno will be set as follows:
- - EDOM: Value is finite and negative and Exp is finite and not an integer.
- - EDOM: Both Value and Exp are zero.
- - EDOM: Value is zero and Exp is less than zero.
-**/
-double pow(double Value, double Exp);
-
-/** Compute the non-negative square root of Arg.
-
- @param[in] Arg The value to compute the square root of.
-
- @return The square root of Arg. If Arg is less than zero, errno is set to EDOM.
-**/
-double sqrt(double Arg);
-
-
-/** Compute the smallest integer value not less than Arg.
-
- @param[in] Arg The value to compute the ceiling of.
-
- @return The ceiling of Arg expressed as a floating-point number.
-**/
-double ceil(double Arg);
-
-/** Compute the absolute value of Arg.
-
- @param[in] Arg The value to compute the absolute value of.
-
- @return The absolute value of Arg.
-**/
-double fabs(double Arg);
-
-/** Compute the largest integer value not greater than Arg.
-
- @param[in] Arg The value to compute the floor of.
-
- @return The largest integer value not greater than Arg, expressed as a floating-point number.
-**/
-double floor(double);
-
-/** Compute the floating-point remainder of A1 / A2.
-
- @param[in] A1 The dividend.
- @param[in] A2 The divisor.
-
- @return The remainder of A1 / A2 with the same sign as A1. If A2 is zero, the fmod function
- returns 0.
-**/
-double fmod(double A1, double A2);
-
-
-int finite(double);
-double expm1(double);
-
-/**@{
- C99, Posix, or NetBSD functions that are not part of the C95 specification.
-**/
-/*
- * Functions callable from C, intended to support IEEE arithmetic.
- */
-double copysign(double, double);
-double scalbn(double, int);
-
-/*
- * Library implementation
- */
-int __fpclassifyf(float);
-int __fpclassifyd(double);
-int __isinff(float);
-int __isinfd(double);
-int __isnanf(float);
-int __isnand(double);
-
-#ifdef __HAVE_LONG_DOUBLE
- int __fpclassifyl(long double);
- int __isinfl(long double);
- int __isnanl(long double);
-#endif /* __HAVE_LONG_DOUBLE */
-/*@}*/
-
-__END_DECLS
-
-/**@{
- Extensions provided by NetBSD but not required by the C95 standard.
-**/
-extern int signgam;
-
-enum fdversion {fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix};
-
-#define _LIB_VERSION_TYPE enum fdversion
-#define _LIB_VERSION _fdlib_version
-
-/** If global variable _LIB_VERSION is not desirable, one may
- * change the following to be a constant by:
- * #define _LIB_VERSION_TYPE const enum version
- * In that case, after one initializes the value _LIB_VERSION (see
- * s_lib_version.c) during compile time, it cannot be modified
- * in the middle of a program
- */
-extern _LIB_VERSION_TYPE _LIB_VERSION;
-
-#define _IEEE_ fdlibm_ieee
-#define _SVID_ fdlibm_svid
-#define _XOPEN_ fdlibm_xopen
-#define _POSIX_ fdlibm_posix
-
-#ifndef __cplusplus
-struct exception {
- int type;
- char *name;
- double arg1;
- double arg2;
- double retval;
-};
-#endif
-
-#define HUGE MAXFLOAT
-
-/** set X_TLOSS = pi*2**52 **/
-#define X_TLOSS 1.41484755040568800000e+16
-
-#define DOMAIN 1
-#define SING 2
-#define OVERFLOW 3
-#define UNDERFLOW 4
-#define TLOSS 5
-#define PLOSS 6
-/*@}*/
-
-/* 7.12#4 INFINITY */
-#ifdef __INFINITY
-#define INFINITY __INFINITY /**< float constant which overflows */
-#else
-#define INFINITY HUGE_VALF /**< positive infinity */
-#endif /* __INFINITY */
-
-/* 7.12#5 NAN: a quiet NaN, if supported */
-#ifdef __HAVE_NANF
-extern const union __float_u __nanf;
-#define NAN __nanf.__val
-#endif /* __HAVE_NANF */
-
-/**@{
- C99 7.12#6 Number classification macros represent mutually exclusive kinds of floating-point
- values.
-**/
-#define FP_INFINITE 0x00
-#define FP_NAN 0x01
-#define FP_NORMAL 0x02
-#define FP_SUBNORMAL 0x03
-#define FP_ZERO 0x04
-/* NetBSD extensions */
-#define _FP_LOMD 0x80 /**< range for machine-specific classes */
-#define _FP_HIMD 0xff
-/*@)*/
-
-/**@{
- * Constants ala XOPEN/SVID.
- */
-#define M_E 2.7182818284590452354 /**< e */
-#define M_LOG2E 1.4426950408889634074 /**< log 2e */
-#define M_LOG10E 0.43429448190325182765 /**< log 10e */
-#define M_LN2 0.69314718055994530942 /**< log e2 */
-#define M_LN10 2.30258509299404568402 /**< log e10 */
-#define M_PI 3.14159265358979323846 /**< pi */
-#define M_PI_2 1.57079632679489661923 /**< pi/2 */
-#define M_PI_4 0.78539816339744830962 /**< pi/4 */
-#define M_1_PI 0.31830988618379067154 /**< 1/pi */
-#define M_2_PI 0.63661977236758134308 /**< 2/pi */
-#define M_2_SQRTPI 1.12837916709551257390 /**< 2/sqrt(pi) */
-#define M_SQRT2 1.41421356237309504880 /**< sqrt(2) */
-#define M_SQRT1_2 0.70710678118654752440 /**< 1/sqrt(2) */
-#define MAXFLOAT ((float)3.40282346638528860e+38)
-/*@}*/
-
-#endif /* _MATH_H_ */
diff --git a/StdLib/Include/net/if.h b/StdLib/Include/net/if.h deleted file mode 100644 index 0b8afa0965..0000000000 --- a/StdLib/Include/net/if.h +++ /dev/null @@ -1,227 +0,0 @@ -/*
- * Copyright (c) 1982, 1986, 1989, 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.
- *
- * @(#)if.h 8.1 (Berkeley) 6/10/93
- * $Id: if.h,v 1.1.1.1 2006/05/30 06:12:41 hhzhou Exp $
- */
-
-#ifndef _NET_IF_H_
-#define _NET_IF_H_
-
-/*
- * <net/if.h> does not depend on <sys/time.h> on most other systems. This
- * helps userland compatability. (struct timeval ifi_lastchange)
- */
-#ifndef KERNEL
-#include <sys/time.h>
-#endif
-
-/*
- * Structure describing information about an interface
- * which may be of interest to management entities.
- */
-struct if_data {
- /* generic interface information */
- u_char ifi_type; /* ethernet, tokenring, etc */
- u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */
- u_char ifi_addrlen; /* media address length */
- u_char ifi_hdrlen; /* media header length */
- u_char ifi_recvquota; /* polling quota for receive intrs */
- u_char ifi_xmitquota; /* polling quota for xmit intrs */
- u_long ifi_mtu; /* maximum transmission unit */
- u_long ifi_metric; /* routing metric (external only) */
- u_long ifi_baudrate; /* linespeed */
- /* volatile statistics */
- u_long ifi_ipackets; /* packets received on interface */
- u_long ifi_ierrors; /* input errors on interface */
- u_long ifi_opackets; /* packets sent on interface */
- u_long ifi_oerrors; /* output errors on interface */
- u_long ifi_collisions; /* collisions on csma interfaces */
- u_long ifi_ibytes; /* total number of octets received */
- u_long ifi_obytes; /* total number of octets sent */
- u_long ifi_imcasts; /* packets received via multicast */
- u_long ifi_omcasts; /* packets sent via multicast */
- u_long ifi_iqdrops; /* dropped on input, this interface */
- u_long ifi_noproto; /* destined for unsupported protocol */
- u_long ifi_recvtiming; /* usec spent receiving when timing */
- u_long ifi_xmittiming; /* usec spent xmitting when timing */
- struct timeval ifi_lastchange; /* time of last administrative change */
-};
-
-#define IFF_UP 0x1 /* interface is up */
-#define IFF_BROADCAST 0x2 /* broadcast address valid */
-#define IFF_DEBUG 0x4 /* turn on debugging */
-#define IFF_LOOPBACK 0x8 /* is a loopback net */
-#define IFF_POINTOPOINT 0x10 /* interface is point-to-point link */
-/*#define IFF_NOTRAILERS 0x20 * obsolete: avoid use of trailers */
-#define IFF_RUNNING 0x40 /* resources allocated */
-#define IFF_NOARP 0x80 /* no address resolution protocol */
-#define IFF_PROMISC 0x100 /* receive all packets */
-#define IFF_ALLMULTI 0x200 /* receive all multicast packets */
-#define IFF_OACTIVE 0x400 /* transmission in progress */
-#define IFF_SIMPLEX 0x800 /* can't hear own transmissions */
-#define IFF_LINK0 0x1000 /* per link layer defined bit */
-#define IFF_LINK1 0x2000 /* per link layer defined bit */
-#define IFF_LINK2 0x4000 /* per link layer defined bit */
-#define IFF_ALTPHYS IFF_LINK2 /* use alternate physical connection */
-#define IFF_MULTICAST 0x8000 /* supports multicast */
-
-/* flags set internally only: */
-#define IFF_CANTCHANGE \
- (IFF_BROADCAST|IFF_POINTOPOINT|IFF_RUNNING|IFF_OACTIVE|\
- IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI)
-
-#define IFQ_MAXLEN 50
-#define IFNET_SLOWHZ 1 /* granularity is 1 second */
-
-/*
- * Message format for use in obtaining information about interfaces
- * from getkerninfo and the routing socket
- */
-struct if_msghdr {
- u_short ifm_msglen; /* to skip over non-understood messages */
- u_char ifm_version; /* future binary compatability */
- u_char ifm_type; /* message type */
- int ifm_addrs; /* like rtm_addrs */
- int ifm_flags; /* value of if_flags */
- u_short ifm_index; /* index for associated ifp */
- struct if_data ifm_data;/* statistics and other data about if */
-};
-
-/*
- * Message format for use in obtaining information about interface addresses
- * from getkerninfo and the routing socket
- */
-struct ifa_msghdr {
- u_short ifam_msglen; /* to skip over non-understood messages */
- u_char ifam_version; /* future binary compatability */
- u_char ifam_type; /* message type */
- int ifam_addrs; /* like rtm_addrs */
- int ifam_flags; /* value of ifa_flags */
- u_short ifam_index; /* index for associated ifp */
- int ifam_metric; /* value of ifa_metric */
-};
-
-/*
- * Message format for use in obtaining information about multicast addresses
- * from the routing socket
- */
-struct ifma_msghdr {
- u_short ifmam_msglen; /* to skip over non-understood messages */
- u_char ifmam_version; /* future binary compatability */
- u_char ifmam_type; /* message type */
- int ifmam_addrs; /* like rtm_addrs */
- int ifmam_flags; /* value of ifa_flags */
- u_short ifmam_index; /* index for associated ifp */
-};
-
-/*
- * Interface request structure used for socket
- * ioctl's. All interface ioctl's must have parameter
- * definitions which begin with ifr_name. The
- * remainder may be interface specific.
- */
-struct ifreq {
-#define IFNAMSIZ 16
- char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- short ifru_flags;
- int ifru_metric;
- int ifru_mtu;
- int ifru_phys;
- int ifru_media;
- caddr_t ifru_data;
- } ifr_ifru;
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_metric ifr_ifru.ifru_metric /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-#define ifr_phys ifr_ifru.ifru_phys /* physical wire */
-#define ifr_media ifr_ifru.ifru_media /* physical media */
-#define ifr_data ifr_ifru.ifru_data /* for use by interface */
-};
-
-#define _SIZEOF_ADDR_IFREQ(ifr) \
- ((ifr).ifr_addr.sa_len > sizeof(struct sockaddr) ? \
- (sizeof(struct ifreq) - sizeof(struct sockaddr) + \
- (ifr).ifr_addr.sa_len) : sizeof(struct ifreq))
-
-struct ifaliasreq {
- char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- struct sockaddr ifra_addr;
- struct sockaddr ifra_broadaddr;
- struct sockaddr ifra_mask;
-};
-
-struct ifmediareq {
- char ifm_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- int ifm_current; /* current media options */
- int ifm_mask; /* don't care mask */
- int ifm_status; /* media status */
- int ifm_active; /* active options */
- int ifm_count; /* # entries in ifm_ulist array */
- int *ifm_ulist; /* media words */
-};
-/*
- * Structure used in SIOCGIFCONF request.
- * Used to retrieve interface configuration
- * for machine (useful for programs which
- * must know all networks accessible).
- */
-struct ifconf {
- int ifc_len; /* size of associated buffer */
- union {
- caddr_t ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */
-};
-
-#ifdef KERNEL
-#ifdef MALLOC_DECLARE
-MALLOC_DECLARE(M_IFADDR);
-MALLOC_DECLARE(M_IFMADDR);
-#endif
-#endif
-
-/* XXX - this should go away soon */
-#ifdef KERNEL
-#include <net/if_var.h>
-#endif
-
-#endif /* !_NET_IF_H_ */
diff --git a/StdLib/Include/net/if_dl.h b/StdLib/Include/net/if_dl.h deleted file mode 100644 index 3a2104d461..0000000000 --- a/StdLib/Include/net/if_dl.h +++ /dev/null @@ -1,86 +0,0 @@ -/*
- * 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.
- *
- * @(#)if_dl.h 8.1 (Berkeley) 6/10/93
- * $Id: if_dl.h,v 1.1.1.1 2006/05/30 06:12:42 hhzhou Exp $
- */
-
-#ifndef _NET_IF_DL_H_
-#define _NET_IF_DL_H_
-
-/*
- * A Link-Level Sockaddr may specify the interface in one of two
- * ways: either by means of a system-provided index number (computed
- * anew and possibly differently on every reboot), or by a human-readable
- * string such as "il0" (for managerial convenience).
- *
- * Census taking actions, such as something akin to SIOCGCONF would return
- * both the index and the human name.
- *
- * High volume transactions (such as giving a link-level ``from'' address
- * in a recvfrom or recvmsg call) may be likely only to provide the indexed
- * form, (which requires fewer copy operations and less space).
- *
- * The form and interpretation of the link-level address is purely a matter
- * of convention between the device driver and its consumers; however, it is
- * expected that all drivers for an interface of a given if_type will agree.
- */
-
-/*
- * Structure of a Link-Level sockaddr:
- */
-struct sockaddr_dl {
- u_char sdl_len; /* Total length of sockaddr */
- u_char sdl_family; /* AF_DLI */
- u_short sdl_index; /* if != 0, system given index for interface */
- u_char sdl_type; /* interface type */
- u_char sdl_nlen; /* interface name length, no trailing 0 reqd. */
- u_char sdl_alen; /* link level address length */
- u_char sdl_slen; /* link layer selector length */
- char sdl_data[12]; /* minimum work area, can be larger;
- contains both if name and ll address */
-};
-
-#define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen))
-
-#ifndef KERNEL
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-void link_addr (const char *, struct sockaddr_dl *);
-char *link_ntoa (const struct sockaddr_dl *);
-__END_DECLS
-
-#endif /* !KERNEL */
-
-#endif
diff --git a/StdLib/Include/net/radix.h b/StdLib/Include/net/radix.h deleted file mode 100644 index 20ad34b6e8..0000000000 --- a/StdLib/Include/net/radix.h +++ /dev/null @@ -1,170 +0,0 @@ -/*
- * Copyright (c) 1988, 1989, 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.
- *
- * @(#)radix.h 8.2 (Berkeley) 10/31/94
- * $Id: radix.h,v 1.1.1.1 2006/05/30 06:12:46 hhzhou Exp $
- */
-
-#ifndef _RADIX_H_
-#define _RADIX_H_
-
-#ifdef MALLOC_DECLARE
-MALLOC_DECLARE(M_RTABLE);
-#endif
-
-/*
- * Radix search tree node layout.
- */
-
-struct radix_node {
- struct radix_mask *rn_mklist; /* list of masks contained in subtree */
- struct radix_node *rn_p; /* parent */
- short rn_b; /* bit offset; -1-index(netmask) */
- char rn_bmask; /* node: mask for bit test*/
- u_char rn_flags; /* enumerated next */
-#define RNF_NORMAL 1 /* leaf contains normal route */
-#define RNF_ROOT 2 /* leaf is root leaf for tree */
-#define RNF_ACTIVE 4 /* This node is alive (for rtfree) */
- union {
- struct { /* leaf only data: */
- caddr_t rn_Key; /* object of search */
- caddr_t rn_Mask; /* netmask, if present */
- struct radix_node *rn_Dupedkey;
- } rn_leaf;
- struct { /* node only data: */
- int rn_Off; /* where to start compare */
- struct radix_node *rn_L;/* progeny */
- struct radix_node *rn_R;/* progeny */
- } rn_node;
- } rn_u;
-#ifdef RN_DEBUG
- int rn_info;
- struct radix_node *rn_twin;
- struct radix_node *rn_ybro;
-#endif
-};
-
-#define rn_dupedkey rn_u.rn_leaf.rn_Dupedkey
-#define rn_key rn_u.rn_leaf.rn_Key
-#define rn_mask rn_u.rn_leaf.rn_Mask
-#define rn_off rn_u.rn_node.rn_Off
-#define rn_l rn_u.rn_node.rn_L
-#define rn_r rn_u.rn_node.rn_R
-
-/*
- * Annotations to tree concerning potential routes applying to subtrees.
- */
-
-struct radix_mask {
- short rm_b; /* bit offset; -1-index(netmask) */
- char rm_unused; /* cf. rn_bmask */
- u_char rm_flags; /* cf. rn_flags */
- struct radix_mask *rm_mklist; /* more masks to try */
- union {
- caddr_t rmu_mask; /* the mask */
- struct radix_node *rmu_leaf; /* for normal routes */
- } rm_rmu;
- int rm_refs; /* # of references to this struct */
-};
-
-#define rm_mask rm_rmu.rmu_mask
-#define rm_leaf rm_rmu.rmu_leaf /* extra field would make 32 bytes */
-
-#define MKGet(m) {\
- if (rn_mkfreelist) {\
- m = rn_mkfreelist; \
- rn_mkfreelist = (m)->rm_mklist; \
- } else \
- R_Malloc(m, struct radix_mask *, sizeof (*(m))); }\
-
-#define MKFree(m) { (m)->rm_mklist = rn_mkfreelist; rn_mkfreelist = (m);}
-
-typedef int walktree_f_t __P((struct radix_node *, void *));
-
-struct radix_node_head {
- struct radix_node *rnh_treetop;
- int rnh_addrsize; /* permit, but not require fixed keys */
- int rnh_pktsize; /* permit, but not require fixed keys */
- struct radix_node *(*rnh_addaddr) /* add based on sockaddr */
- __P((void *v, void *mask,
- struct radix_node_head *head, struct radix_node nodes[]));
- struct radix_node *(*rnh_addpkt) /* add based on packet hdr */
- __P((void *v, void *mask,
- struct radix_node_head *head, struct radix_node nodes[]));
- struct radix_node *(*rnh_deladdr) /* remove based on sockaddr */
- __P((void *v, void *mask, struct radix_node_head *head));
- struct radix_node *(*rnh_delpkt) /* remove based on packet hdr */
- __P((void *v, void *mask, struct radix_node_head *head));
- struct radix_node *(*rnh_matchaddr) /* locate based on sockaddr */
- __P((void *v, struct radix_node_head *head));
- struct radix_node *(*rnh_lookup) /* locate based on sockaddr */
- __P((void *v, void *mask, struct radix_node_head *head));
- struct radix_node *(*rnh_matchpkt) /* locate based on packet hdr */
- __P((void *v, struct radix_node_head *head));
- int (*rnh_walktree) /* traverse tree */
- __P((struct radix_node_head *head, walktree_f_t *f, void *w));
- int (*rnh_walktree_from) /* traverse tree below a */
- __P((struct radix_node_head *head, void *a, void *m,
- walktree_f_t *f, void *w));
- void (*rnh_close) /* do something when the last ref drops */
- __P((struct radix_node *rn, struct radix_node_head *head));
- struct radix_node rnh_nodes[3]; /* empty tree for common case */
-};
-
-#ifndef KERNEL
-#define Bcmp(a, b, n) bcmp(((char *)(a)), ((char *)(b)), (n))
-#define Bcopy(a, b, n) bcopy(((char *)(a)), ((char *)(b)), (unsigned)(n))
-#define Bzero(p, n) bzero((char *)(p), (int)(n));
-#define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n)))
-#define Free(p) free((char *)p);
-#else
-#define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bcopy(a, b, n) bcopy(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n));
-#define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE, M_DONTWAIT))
-#define Free(p) free((caddr_t)p, M_RTABLE);
-#endif /*KERNEL*/
-
-void rn_init __P((void));
-int rn_inithead __P((void **, int));
-int rn_refines __P((void *, void *));
-struct radix_node
- *rn_addmask __P((void *, int, int)),
- *rn_addroute __P((void *, void *, struct radix_node_head *,
- struct radix_node [2])),
- *rn_delete __P((void *, void *, struct radix_node_head *)),
- *rn_lookup __P((void *v_arg, void *m_arg,
- struct radix_node_head *head)),
- *rn_match __P((void *, struct radix_node_head *));
-
-
-#endif /* _RADIX_H_ */
diff --git a/StdLib/Include/net/route.h b/StdLib/Include/net/route.h deleted file mode 100644 index ec5d9eba7e..0000000000 --- a/StdLib/Include/net/route.h +++ /dev/null @@ -1,292 +0,0 @@ -/*
- * Copyright (c) 1980, 1986, 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.
- *
- * @(#)route.h 8.3 (Berkeley) 4/19/94
- * $Id: route.h,v 1.1.1.1 2006/05/30 06:12:46 hhzhou Exp $
- */
-
-#ifndef _NET_ROUTE_H_
-#define _NET_ROUTE_H_
-
-#define __P(protos) protos /* full-blown ANSI C */
-
-
-/*
- * Kernel resident routing tables.
- *
- * The routing tables are initialized when interface addresses
- * are set by making entries for all directly connected interfaces.
- */
-
-/*
- * A route consists of a destination address and a reference
- * to a routing entry. These are often held by protocols
- * in their control blocks, e.g. inpcb.
- */
-struct route {
- struct rtentry *ro_rt;
- struct sockaddr ro_dst;
-};
-
-/*
- * These numbers are used by reliable protocols for determining
- * retransmission behavior and are included in the routing structure.
- */
-struct rt_metrics {
- u_long rmx_locks; /* Kernel must leave these values alone */
- u_long rmx_mtu; /* MTU for this path */
- u_long rmx_hopcount; /* max hops expected */
- u_long rmx_expire; /* lifetime for route, e.g. redirect */
- u_long rmx_recvpipe; /* inbound delay-bandwidth product */
- u_long rmx_sendpipe; /* outbound delay-bandwidth product */
- u_long rmx_ssthresh; /* outbound gateway buffer limit */
- u_long rmx_rtt; /* estimated round trip time */
- u_long rmx_rttvar; /* estimated rtt variance */
- u_long rmx_pksent; /* packets sent using this route */
- u_long rmx_filler[4]; /* will be used for T/TCP later */
-};
-
-/*
- * rmx_rtt and rmx_rttvar are stored as microseconds;
- * RTTTOPRHZ(rtt) converts to a value suitable for use
- * by a protocol slowtimo counter.
- */
-#define RTM_RTTUNIT 1000000 /* units for rtt, rttvar, as units per sec */
-#define RTTTOPRHZ(r) ((r) / (RTM_RTTUNIT / PR_SLOWHZ))
-
-/*
- * XXX kernel function pointer `rt_output' is visible to applications.
- */
-struct mbuf;
-
-/*
- * We distinguish between routes to hosts and routes to networks,
- * preferring the former if available. For each route we infer
- * the interface to use from the gateway address supplied when
- * the route was entered. Routes that forward packets through
- * gateways are marked so that the output routines know to address the
- * gateway rather than the ultimate destination.
- */
-#ifndef RNF_NORMAL
-#include <net/radix.h>
-#endif
-struct rtentry {
- struct radix_node rt_nodes[2]; /* tree glue, and other values */
-#define rt_key(r) ((struct sockaddr *)((r)->rt_nodes->rn_key))
-#define rt_mask(r) ((struct sockaddr *)((r)->rt_nodes->rn_mask))
- struct sockaddr *rt_gateway; /* value */
- short rt_filler; /* was short flags field */
- short rt_refcnt; /* # held references */
- u_long rt_flags; /* up/down?, host/net */
- struct ifnet *rt_ifp; /* the answer: interface to use */
- struct ifaddr *rt_ifa; /* the answer: interface to use */
- struct sockaddr *rt_genmask; /* for generation of cloned routes */
- caddr_t rt_llinfo; /* pointer to link level info cache */
- struct rt_metrics rt_rmx; /* metrics used by rx'ing protocols */
- struct rtentry *rt_gwroute; /* implied entry for gatewayed routes */
- int (*rt_output) __P((struct ifnet *, struct mbuf *,
- struct sockaddr *, struct rtentry *));
- /* output routine for this (rt,if) */
- struct rtentry *rt_parent; /* cloning parent of this route */
- void *rt_filler2; /* more filler */
-};
-
-/*
- * Following structure necessary for 4.3 compatibility;
- * We should eventually move it to a compat file.
- */
-struct ortentry {
- u_long rt_hash; /* to speed lookups */
- struct sockaddr rt_dst; /* key */
- struct sockaddr rt_gateway; /* value */
- short rt_flags; /* up/down?, host/net */
- short rt_refcnt; /* # held references */
- u_long rt_use; /* raw # packets forwarded */
- struct ifnet *rt_ifp; /* the answer: interface to use */
-};
-
-#define rt_use rt_rmx.rmx_pksent
-
-#define RTF_UP 0x1 /* route usable */
-#define RTF_GATEWAY 0x2 /* destination is a gateway */
-#define RTF_HOST 0x4 /* host entry (net otherwise) */
-#define RTF_REJECT 0x8 /* host or net unreachable */
-#define RTF_DYNAMIC 0x10 /* created dynamically (by redirect) */
-#define RTF_MODIFIED 0x20 /* modified dynamically (by redirect) */
-#define RTF_DONE 0x40 /* message confirmed */
-/* 0x80 unused */
-#define RTF_CLONING 0x100 /* generate new routes on use */
-#define RTF_XRESOLVE 0x200 /* external daemon resolves name */
-#define RTF_LLINFO 0x400 /* generated by link layer (e.g. ARP) */
-#define RTF_STATIC 0x800 /* manually added */
-#define RTF_BLACKHOLE 0x1000 /* just discard pkts (during updates) */
-#define RTF_PROTO2 0x4000 /* protocol specific routing flag */
-#define RTF_PROTO1 0x8000 /* protocol specific routing flag */
-
-#define RTF_PRCLONING 0x10000 /* protocol requires cloning */
-#define RTF_WASCLONED 0x20000 /* route generated through cloning */
-#define RTF_PROTO3 0x40000 /* protocol specific routing flag */
-/* 0x80000 unused */
-#define RTF_PINNED 0x100000 /* future use */
-#define RTF_LOCAL 0x200000 /* route represents a local address */
-#define RTF_BROADCAST 0x400000 /* route represents a bcast address */
-#define RTF_MULTICAST 0x800000 /* route represents a mcast address */
- /* 0x1000000 and up unassigned */
-
-/*
- * Routing statistics.
- */
-struct rtstat {
- short rts_badredirect; /* bogus redirect calls */
- short rts_dynamic; /* routes created by redirects */
- short rts_newgateway; /* routes modified by redirects */
- short rts_unreach; /* lookups which failed */
- short rts_wildcard; /* lookups satisfied by a wildcard */
-};
-/*
- * Structures for routing messages.
- */
-struct rt_msghdr {
- u_short rtm_msglen; /* to skip over non-understood messages */
- u_char rtm_version; /* future binary compatibility */
- u_char rtm_type; /* message type */
- u_short rtm_index; /* index for associated ifp */
- int rtm_flags; /* flags, incl. kern & message, e.g. DONE */
- int rtm_addrs; /* bitmask identifying sockaddrs in msg */
- pid_t rtm_pid; /* identify sender */
- int rtm_seq; /* for sender to identify action */
- int rtm_errno; /* why failed */
- int rtm_use; /* from rtentry */
- u_long rtm_inits; /* which metrics we are initializing */
- struct rt_metrics rtm_rmx; /* metrics themselves */
-};
-
-#define RTM_VERSION 5 /* Up the ante and ignore older versions */
-
-#define RTM_ADD 0x1 /* Add Route */
-#define RTM_DELETE 0x2 /* Delete Route */
-#define RTM_CHANGE 0x3 /* Change Metrics or flags */
-#define RTM_GET 0x4 /* Report Metrics */
-#define RTM_LOSING 0x5 /* Kernel Suspects Partitioning */
-#define RTM_REDIRECT 0x6 /* Told to use different route */
-#define RTM_MISS 0x7 /* Lookup failed on this address */
-#define RTM_LOCK 0x8 /* fix specified metrics */
-#define RTM_OLDADD 0x9 /* caused by SIOCADDRT */
-#define RTM_OLDDEL 0xa /* caused by SIOCDELRT */
-#define RTM_RESOLVE 0xb /* req to resolve dst to LL addr */
-#define RTM_NEWADDR 0xc /* address being added to iface */
-#define RTM_DELADDR 0xd /* address being removed from iface */
-#define RTM_IFINFO 0xe /* iface going up/down etc. */
-#define RTM_NEWMADDR 0xf /* mcast group membership being added to if */
-#define RTM_DELMADDR 0x10 /* mcast group membership being deleted */
-
-#define RTV_MTU 0x1 /* init or lock _mtu */
-#define RTV_HOPCOUNT 0x2 /* init or lock _hopcount */
-#define RTV_EXPIRE 0x4 /* init or lock _hopcount */
-#define RTV_RPIPE 0x8 /* init or lock _recvpipe */
-#define RTV_SPIPE 0x10 /* init or lock _sendpipe */
-#define RTV_SSTHRESH 0x20 /* init or lock _ssthresh */
-#define RTV_RTT 0x40 /* init or lock _rtt */
-#define RTV_RTTVAR 0x80 /* init or lock _rttvar */
-
-/*
- * Bitmask values for rtm_addr.
- */
-#define RTA_DST 0x1 /* destination sockaddr present */
-#define RTA_GATEWAY 0x2 /* gateway sockaddr present */
-#define RTA_NETMASK 0x4 /* netmask sockaddr present */
-#define RTA_GENMASK 0x8 /* cloning mask sockaddr present */
-#define RTA_IFP 0x10 /* interface name sockaddr present */
-#define RTA_IFA 0x20 /* interface addr sockaddr present */
-#define RTA_AUTHOR 0x40 /* sockaddr for author of redirect */
-#define RTA_BRD 0x80 /* for NEWADDR, broadcast or p-p dest addr */
-
-/*
- * Index offsets for sockaddr array for alternate internal encoding.
- */
-#define RTAX_DST 0 /* destination sockaddr present */
-#define RTAX_GATEWAY 1 /* gateway sockaddr present */
-#define RTAX_NETMASK 2 /* netmask sockaddr present */
-#define RTAX_GENMASK 3 /* cloning mask sockaddr present */
-#define RTAX_IFP 4 /* interface name sockaddr present */
-#define RTAX_IFA 5 /* interface addr sockaddr present */
-#define RTAX_AUTHOR 6 /* sockaddr for author of redirect */
-#define RTAX_BRD 7 /* for NEWADDR, broadcast or p-p dest addr */
-#define RTAX_MAX 8 /* size of array to allocate */
-
-struct rt_addrinfo {
- int rti_addrs;
- struct sockaddr *rti_info[RTAX_MAX];
-};
-
-struct route_cb {
- int ip_count;
- int ipx_count;
- int ns_count;
- int iso_count;
- int any_count;
-};
-
-#ifdef KERNEL
-#define RTFREE(rt) \
- if ((rt)->rt_refcnt <= 1) \
- rtfree(rt); \
- else \
- (rt)->rt_refcnt--;
-
-extern struct route_cb route_cb;
-extern struct radix_node_head *rt_tables[AF_MAX+1];
-
-struct ifmultiaddr;
-struct proc;
-
-void route_init __P((void));
-void rt_ifmsg __P((struct ifnet *));
-void rt_missmsg __P((int, struct rt_addrinfo *, int, int));
-void rt_newaddrmsg __P((int, struct ifaddr *, int, struct rtentry *));
-void rt_newmaddrmsg __P((int, struct ifmultiaddr *));
-int rt_setgate __P((struct rtentry *,
- struct sockaddr *, struct sockaddr *));
-void rtalloc __P((struct route *));
-void rtalloc_ign __P((struct route *, unsigned long));
-struct rtentry *
- rtalloc1 __P((struct sockaddr *, int, unsigned long));
-void rtfree __P((struct rtentry *));
-int rtinit __P((struct ifaddr *, int, int));
-int rtioctl __P((int, caddr_t, struct proc *));
-void rtredirect __P((struct sockaddr *, struct sockaddr *,
- struct sockaddr *, int, struct sockaddr *, struct rtentry **));
-int rtrequest __P((int, struct sockaddr *,
- struct sockaddr *, struct sockaddr *, int, struct rtentry **));
-#endif
-
-#endif
diff --git a/StdLib/Include/net/servent.h b/StdLib/Include/net/servent.h deleted file mode 100644 index 09931f69d4..0000000000 --- a/StdLib/Include/net/servent.h +++ /dev/null @@ -1,60 +0,0 @@ -/* $NetBSD: servent.h,v 1.3 2008/04/28 20:23:00 martin Exp $ */
-
-/*-
- * Copyright (c) 2004 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Christos Zoulas.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#include <stdio.h>
-
-struct servent_data {
- void *db;
- struct servent serv;
- char **aliases;
- size_t maxaliases;
- int flags;
-#define _SV_STAYOPEN 1
-#define _SV_DB 2
-#define _SV_FIRST 4
- char *line;
- void *dummy;
-};
-
-#if 0
-struct servent *getservent_r(struct servent *, struct servent_data *);
-struct servent *getservbyname_r(const char *, const char *,
- struct servent *, struct servent_data *);
-struct servent *getservbyport_r(int, const char *,
- struct servent *, struct servent_data *);
-void setservent_r(int, struct servent_data *);
-void endservent_r(struct servent_data *);
-#endif // 0
-
-int _servent_open(struct servent_data *);
-void _servent_close(struct servent_data *);
-int _servent_getline(struct servent_data *);
-struct servent *_servent_parseline(struct servent_data *, struct servent *);
diff --git a/StdLib/Include/netatalk/at.h b/StdLib/Include/netatalk/at.h deleted file mode 100644 index 6c2b4f45c8..0000000000 --- a/StdLib/Include/netatalk/at.h +++ /dev/null @@ -1,92 +0,0 @@ -/*
- * Copyright (c) 1990,1991 Regents of The University of Michigan.
- * All Rights Reserved.
- *
- * Permission to use, copy, modify, and distribute this software and
- * its documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appears in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation, and that the name of The University
- * of Michigan not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. This software is supplied as is without expressed or
- * implied warranties of any kind.
- *
- * Research Systems Unix Group
- * The University of Michigan
- * c/o Mike Clark
- * 535 W. William Street
- * Ann Arbor, Michigan
- * +1-313-763-0525
- * netatalk@itd.umich.edu
- */
-
-#ifndef __AT_HEADER__
-#define __AT_HEADER__
-/*
- * Supported protocols
- */
-#define ATPROTO_DDP 0
-#define ATPROTO_AARP 254
-
-/*
- * Ethernet types, for DIX.
- * These should really be in some global header file, but we can't
- * count on them being there, and it's annoying to patch system files.
- */
-#define ETHERTYPE_AT 0x809B /* AppleTalk protocol */
-#define ETHERTYPE_AARP 0x80F3 /* AppleTalk ARP */
-
-#define DDP_MAXSZ 587
-
-/*
- * If ATPORT_FIRST <= Port < ATPORT_RESERVED,
- * Port was created by a privileged process.
- * If ATPORT_RESERVED <= Port < ATPORT_LAST,
- * Port was not necessarily created by a
- * privileged process.
- */
-#define ATPORT_FIRST 1
-#define ATPORT_RESERVED 128
-#define ATPORT_LAST 255
-
-/*
- * AppleTalk address.
- */
-struct at_addr {
- u_short s_net;
- u_char s_node;
-};
-
-#define ATADDR_ANYNET (u_short)0x0000
-#define ATADDR_ANYNODE (u_char)0x00
-#define ATADDR_ANYPORT (u_char)0x00
-#define ATADDR_BCAST (u_char)0xff /* There is no BCAST for NET */
-
-struct netrange {
- u_char nr_phase;
- u_short nr_firstnet;
- u_short nr_lastnet;
-};
-
-/*
- * Socket address, AppleTalk style. We keep magic information in the
- * zero bytes. There are three types, NONE, CONFIG which has the phase
- * and a net range, and IFACE which has the network address of an
- * interface. IFACE may be filled in by the client, and is filled in
- * by the kernel.
- */
-struct sockaddr_at {
- u_char sat_len;
- u_char sat_family;
- u_char sat_port;
- struct at_addr sat_addr;
- union {
- struct netrange r_netrange;
- char r_zero[ 8 ]; /* Hide a struct netrange in here */
- } sat_range;
-};
-
-#define sat_zero sat_range.r_zero
-
-#endif /* !__AT_HEADER__ */
diff --git a/StdLib/Include/netdb.h b/StdLib/Include/netdb.h deleted file mode 100644 index f50c8cea31..0000000000 --- a/StdLib/Include/netdb.h +++ /dev/null @@ -1,270 +0,0 @@ -/** @file
-
- Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1980, 1983, 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. 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.
- * -
- * Portions Copyright (c) 1993 by Digital Equipment Corporation.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies, and that
- * the name of Digital Equipment Corporation not be used in advertising or
- * publicity pertaining to distribution of the document or software without
- * specific, written prior permission.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
- * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, 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.
- * -
- * Portions Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * 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 WIDE Project and
- * its contributors.
- * 4. Neither the name of the project 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 PROJECT 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 PROJECT 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.
- * -
- * @(#)netdb.h 8.1 (Berkeley) 6/2/93
- * netdb.h,v 1.15.18.6 2006/10/02 01:23:09 marka Exp
- * netdb.h,v 1.55.2.1 2007/05/17 21:25:10 jdc Exp
- */
-#ifndef _NETDB_H_
-#define _NETDB_H_
-
-#include <machine/ansi.h>
-#include <machine/endian_machdep.h>
-#include <sys/ansi.h>
-#include <sys/cdefs.h>
-#include <sys/featuretest.h>
-#include <inttypes.h>
-#include <paths.h>
-
-/* Data types */
-#ifndef socklen_t
-typedef __socklen_t socklen_t;
-#define socklen_t __socklen_t
-#endif
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-__BEGIN_DECLS
-extern int h_errno;
-__END_DECLS
-
-/** Structures returned by network data base library. All addresses are
- * supplied in host order, and returned in network order (suitable for
- * use in system calls).
- */
-struct hostent {
- char *h_name; /**< official name of host */
- char **h_aliases; /**< alias list */
- int h_addrtype; /**< host address type */
- int h_length; /**< length of address */
- char **h_addr_list; /**< list of addresses from name server */
-};
-#define h_addr h_addr_list[0] /**< address, for backward compatiblity */
-
-/** Assumption here is that a network number
- * fits in an unsigned long -- probably a poor one.
- */
-struct netent {
- char *n_name; /**< official name of net */
- char **n_aliases; /**< alias list */
- int n_addrtype; /**< net address type */
- uint32_t n_net; /**< network # */
-#if defined(__alpha__) || (defined(__i386__) && defined(_LP64)) || \
- (defined(__sh__) && defined(_LP64) && (_BYTE_ORDER == _LITTLE_ENDIAN))
- int __n_pad0; /* ABI compatibility */
-#endif
-};
-
-struct servent {
- char *s_name; /**< official service name */
- char **s_aliases; /**< alias list */
- int s_port; /**< port # */
- char *s_proto; /**< protocol to use */
-};
-
-struct protoent {
- char *p_name; /**< official protocol name */
- char **p_aliases; /**< alias list */
- int p_proto; /**< protocol # */
-};
-
-/* Note: ai_addrlen used to be a size_t, per RFC 2553.
- * In XNS5.2, and subsequently in POSIX-2001 and
- * draft-ietf-ipngwg-rfc2553bis-02.txt it was changed to a socklen_t.
- * To accommodate for this while preserving binary compatibility with the
- * old interface, we prepend or append 32 bits of padding, depending on
- * the (LP64) architecture's endianness.
- *
- * This should be deleted the next time the libc major number is
- * incremented.
- */
-struct addrinfo {
- int ai_flags; /**< AI_PASSIVE, AI_CANONNAME */
- int ai_family; /**< PF_xxx */
- int ai_socktype; /**< SOCK_xxx */
- int ai_protocol; /**< 0 or IPPROTO_xxx for IPv4 and IPv6 */
- socklen_t ai_addrlen; /**< length of ai_addr */
-#if defined(__alpha__) || (defined(__i386__) && defined(_LP64))
- int __ai_pad0; /* ABI compatibility */
-#endif
- char *ai_canonname; /**< canonical name for hostname */
- struct sockaddr *ai_addr; /**< binary address */
- struct addrinfo *ai_next; /**< next structure in linked list */
-};
-
-/* Error return codes from gethostbyname() and gethostbyaddr()
- * (left in extern int h_errno).
-*/
-
-#define NETDB_INTERNAL -1 /**< see errno */
-#define NETDB_SUCCESS 0 /**< no problem */
-#define NO_ADDRESS NO_DATA /* no address, look for MX record */
-#define HOST_NOT_FOUND 1 /**< Authoritative Answer Host not found */
-#define TRY_AGAIN 2 /**< Non-Authoritive Host not found, or SERVERFAIL */
-#define NO_RECOVERY 3 /**< Non recoverable errors, FORMERR, REFUSED, NOTIMP */
-#define NO_DATA 4 /**< Valid name, no data record of requested type */
-
-/* Error return codes from getaddrinfo() */
-#define EAI_ADDRFAMILY 1 /**< address family for hostname not supported */
-#define EAI_AGAIN 2 /**< temporary failure in name resolution */
-#define EAI_BADFLAGS 3 /**< invalid value for ai_flags */
-#define EAI_FAIL 4 /**< non-recoverable failure in name resolution */
-#define EAI_FAMILY 5 /**< ai_family not supported */
-#define EAI_MEMORY 6 /**< memory allocation failure */
-#define EAI_NODATA 7 /**< no address associated with hostname */
-#define EAI_NONAME 8 /**< hostname nor servname provided, or not known */
-#define EAI_SERVICE 9 /**< servname not supported for ai_socktype */
-#define EAI_SOCKTYPE 10 /**< ai_socktype not supported */
-#define EAI_SYSTEM 11 /**< system error returned in errno */
-#define EAI_BADHINTS 12 /**< invalid value for hints */
-#define EAI_PROTOCOL 13 /**< resolved protocol is unknown */
-#define EAI_OVERFLOW 14 /**< argument buffer overflow */
-#define EAI_MAX 15
-
-/* Flag values for getaddrinfo() */
-#define AI_PASSIVE 0x00000001 /* get address to use bind() */
-#define AI_CANONNAME 0x00000002 /* fill ai_canonname */
-
-#define AI_NUMERICHOST 0x00000004 /* prevent host name resolution */
-#define AI_NUMERICSERV 0x00000008 /* prevent service name resolution */
-/* valid flags for addrinfo (not a standard def, apps should not use it) */
-#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV)
-
-/* Constants for getnameinfo() */
-#define NI_MAXHOST 1025
-#define NI_MAXSERV 32
-
-/* Flag values for getnameinfo() */
-#define NI_NOFQDN 0x00000001
-#define NI_NUMERICHOST 0x00000002
-#define NI_NAMEREQD 0x00000004
-#define NI_NUMERICSERV 0x00000008
-#define NI_DGRAM 0x00000010
-#define NI_NUMERICSCOPE 0x00000040
-
-/** Scope delimit character */
-#define SCOPE_DELIMITER '%'
-
-__BEGIN_DECLS
-void endhostent (void);
-void endnetent (void);
-void endprotoent (void);
-void endservent (void);
-struct hostent *gethostbyaddr (const char *, socklen_t, int);
-struct hostent *gethostbyname (const char *);
-struct hostent *gethostbyname2 (const char *, int);
-struct hostent *gethostent (void);
-struct netent *getnetbyaddr (uint32_t, int);
-struct netent *getnetbyname (const char *);
-struct netent *getnetent (void);
-struct protoent *getprotobyname (const char *);
-struct protoent *getprotobynumber(int);
-struct protoent *getprotoent (void);
-struct servent *getservbyname (const char *, const char *);
-struct servent *getservbyport (int, const char *);
-struct servent *getservent (void);
-void sethostent (int);
-void setnetent (int);
-void setprotoent (int);
-void setservent (int);
-int getaddrinfo ( const char * __restrict, const char * __restrict,
- const struct addrinfo * __restrict,
- struct addrinfo ** __restrict);
-int getnameinfo ( const struct sockaddr * __restrict, socklen_t,
- char * __restrict, socklen_t,
- char * __restrict, socklen_t, int);
-void freeaddrinfo (struct addrinfo *);
-const char *gai_strerror (int);
-void setservent (int);
-
-__END_DECLS
-
-#endif /* !_NETDB_H_ */
diff --git a/StdLib/Include/netinet/in.h b/StdLib/Include/netinet/in.h deleted file mode 100644 index 6f13b02d3a..0000000000 --- a/StdLib/Include/netinet/in.h +++ /dev/null @@ -1,557 +0,0 @@ -/* $NetBSD: in.h,v 1.77 2006/11/13 05:13:41 dyoung Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 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.
- *
- * @(#)in.h 8.3 (Berkeley) 1/3/94
- */
-
-/*
- * Constants and structures defined by the internet system,
- * Per RFC 790, September 1981, and numerous additions.
- */
-
-#ifndef _NETINET_IN_H_
-#define _NETINET_IN_H_
-
-#include <machine/int_types.h>
-
-#ifndef uint8_t
-typedef __uint8_t uint8_t;
-#define uint8_t __uint8_t
-#endif
-
-#ifndef uint32_t
-typedef __uint32_t uint32_t;
-#define uint32_t __uint32_t
-#endif
-
-#include <sys/ansi.h>
-
-#ifndef in_addr_t
-typedef __in_addr_t in_addr_t;
-#define in_addr_t __in_addr_t
-#endif
-
-#ifndef in_port_t
-typedef __in_port_t in_port_t;
-#define in_port_t __in_port_t
-#endif
-
-#ifndef sa_family_t
-typedef __sa_family_t sa_family_t;
-#define sa_family_t __sa_family_t
-#endif
-
-/*
- * Protocols
- */
-#define IPPROTO_IP 0 /* dummy for IP */
-#define IPPROTO_HOPOPTS 0 /* IP6 hop-by-hop options */
-#define IPPROTO_ICMP 1 /* control message protocol */
-#define IPPROTO_IGMP 2 /* group mgmt protocol */
-#define IPPROTO_GGP 3 /* gateway^2 (deprecated) */
-#define IPPROTO_IPV4 4 /* IP header */
-#define IPPROTO_IPIP 4 /* IP inside IP */
-#define IPPROTO_TCP 6 /* tcp */
-#define IPPROTO_EGP 8 /* exterior gateway protocol */
-#define IPPROTO_PUP 12 /* pup */
-#define IPPROTO_UDP 17 /* user datagram protocol */
-#define IPPROTO_IDP 22 /* xns idp */
-#define IPPROTO_TP 29 /* tp-4 w/ class negotiation */
-#define IPPROTO_IPV6 41 /* IP6 header */
-#define IPPROTO_ROUTING 43 /* IP6 routing header */
-#define IPPROTO_FRAGMENT 44 /* IP6 fragmentation header */
-#define IPPROTO_RSVP 46 /* resource reservation */
-#define IPPROTO_GRE 47 /* GRE encaps RFC 1701 */
-#define IPPROTO_ESP 50 /* encap. security payload */
-#define IPPROTO_AH 51 /* authentication header */
-#define IPPROTO_MOBILE 55 /* IP Mobility RFC 2004 */
-#define IPPROTO_IPV6_ICMP 58 /* IPv6 ICMP */
-#define IPPROTO_ICMPV6 58 /* ICMP6 */
-#define IPPROTO_NONE 59 /* IP6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IP6 destination option */
-#define IPPROTO_EON 80 /* ISO cnlp */
-#define IPPROTO_ETHERIP 97 /* Ethernet-in-IP */
-#define IPPROTO_ENCAP 98 /* encapsulation header */
-#define IPPROTO_PIM 103 /* Protocol indep. multicast */
-#define IPPROTO_IPCOMP 108 /* IP Payload Comp. Protocol */
-#define IPPROTO_VRRP 112 /* VRRP RFC 2338 */
-#define IPPROTO_CARP 112 /* Common Address Resolution Protocol */
-#define IPPROTO_RAW 255 /* raw IP packet */
-#define IPPROTO_MAX 256
-
-/* last return value of *_input(), meaning "all job for this pkt is done". */
-#define IPPROTO_DONE 257
-
-/* sysctl placeholder for (FAST_)IPSEC */
-#define CTL_IPPROTO_IPSEC 258
-
-
-/*
- * Local port number conventions:
- *
- * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root),
- * unless a kernel is compiled with IPNOPRIVPORTS defined.
- *
- * When a user does a bind(2) or connect(2) with a port number of zero,
- * a non-conflicting local port address is chosen.
- *
- * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although
- * that is settable by sysctl(3); net.inet.ip.anonportmin and
- * net.inet.ip.anonportmax respectively.
- *
- * A user may set the IPPROTO_IP option IP_PORTRANGE to change this
- * default assignment range.
- *
- * The value IP_PORTRANGE_DEFAULT causes the default behavior.
- *
- * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT,
- * and exists only for FreeBSD compatibility purposes.
- *
- * The value IP_PORTRANGE_LOW changes the range to the "low" are
- * that is (by convention) restricted to privileged processes.
- * This convention is based on "vouchsafe" principles only.
- * It is only secure if you trust the remote host to restrict these ports.
- * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX.
- */
-
-#define IPPORT_RESERVED 1024
-#define IPPORT_ANONMIN 49152
-#define IPPORT_ANONMAX 65535
-#define IPPORT_RESERVEDMIN 600
-#define IPPORT_RESERVEDMAX (IPPORT_RESERVED-1)
-
-/*
- * Internet address (a structure for historical reasons)
- */
-struct in_addr {
- in_addr_t s_addr;
-} __attribute__((__packed__));
-
-/*
- * Definitions of bits in internet address integers.
- * On subnets, the decomposition of addresses to host and net parts
- * is done according to subnet mask, not the masks here.
- *
- * By byte-swapping the constants, we avoid ever having to byte-swap IP
- * addresses inside the kernel. Unfortunately, user-level programs rely
- * on these macros not doing byte-swapping.
- */
-#ifdef _KERNEL
-#define __IPADDR(x) ((uint32_t) htonl((uint32_t)(x)))
-#else
-#define __IPADDR(x) ((uint32_t)(x))
-#endif
-
-#define IN_CLASSA(i) (((uint32_t)(i) & __IPADDR(0x80000000)) == \
- __IPADDR(0x00000000))
-#define IN_CLASSA_NET __IPADDR(0xff000000)
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST __IPADDR(0x00ffffff)
-#define IN_CLASSA_MAX 128
-
-#define IN_CLASSB(i) (((uint32_t)(i) & __IPADDR(0xc0000000)) == \
- __IPADDR(0x80000000))
-#define IN_CLASSB_NET __IPADDR(0xffff0000)
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST __IPADDR(0x0000ffff)
-#define IN_CLASSB_MAX 65536
-
-#define IN_CLASSC(i) (((uint32_t)(i) & __IPADDR(0xe0000000)) == \
- __IPADDR(0xc0000000))
-#define IN_CLASSC_NET __IPADDR(0xffffff00)
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST __IPADDR(0x000000ff)
-
-#define IN_CLASSD(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \
- __IPADDR(0xe0000000))
-/* These ones aren't really net and host fields, but routing needn't know. */
-#define IN_CLASSD_NET __IPADDR(0xf0000000)
-#define IN_CLASSD_NSHIFT 28
-#define IN_CLASSD_HOST __IPADDR(0x0fffffff)
-#define IN_MULTICAST(i) IN_CLASSD(i)
-
-#define IN_EXPERIMENTAL(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \
- __IPADDR(0xf0000000))
-#define IN_BADCLASS(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \
- __IPADDR(0xf0000000))
-
-#define IN_LINKLOCAL(i) (((uint32_t)(i) & __IPADDR(0xffff0000)) == \
- __IPADDR(0xa9fe0000))
-
-#define IN_PRIVATE(i) ((((uint32_t)(i) & __IPADDR(0xff000000)) == \
- __IPADDR(0x0a000000)) || \
- (((uint32_t)(i) & __IPADDR(0xfff00000)) == \
- __IPADDR(0xac100000)) || \
- (((uint32_t)(i) & __IPADDR(0xffff0000)) == \
- __IPADDR(0xc0a80000)))
-
-#define IN_LOCAL_GROUP(i) (((uint32_t)(i) & __IPADDR(0xffffff00)) == \
- __IPADDR(0xe0000000))
-
-#define IN_ANY_LOCAL(i) (IN_LINKLOCAL(i) || IN_LOCAL_GROUP(i))
-
-#define INADDR_ANY __IPADDR(0x00000000)
-#define INADDR_LOOPBACK __IPADDR(0x7f000001)
-#define INADDR_BROADCAST __IPADDR(0xffffffff) /* must be masked */
-#define INADDR_NONE __IPADDR(0xffffffff) /* -1 return */
-
-#define INADDR_UNSPEC_GROUP __IPADDR(0xe0000000) /* 224.0.0.0 */
-#define INADDR_ALLHOSTS_GROUP __IPADDR(0xe0000001) /* 224.0.0.1 */
-#define INADDR_ALLRTRS_GROUP __IPADDR(0xe0000002) /* 224.0.0.2 */
-#define INADDR_CARP_GROUP __IPADDR(0xe0000012) /* 224.0.0.18 */
-#define INADDR_MAX_LOCAL_GROUP __IPADDR(0xe00000ff) /* 224.0.0.255 */
-
-#define IN_LOOPBACKNET 127 /* official! */
-
-/*
- * Socket address, internet style.
- */
-struct sockaddr_in {
- uint8_t sin_len;
- sa_family_t sin_family;
- in_port_t sin_port;
- struct in_addr sin_addr;
- __int8_t sin_zero[8];
-};
-
-#define INET_ADDRSTRLEN 16
-
-/*
- * Structure used to describe IP options.
- * Used to store options internally, to pass them to a process,
- * or to restore options retrieved earlier.
- * The ip_dst is used for the first-hop gateway when using a source route
- * (this gets put into the header proper).
- */
-struct ip_opts {
- struct in_addr ip_dst; /* first hop, 0 w/o src rt */
-#if defined(__cplusplus)
- __int8_t Ip_opts[40]; /* actually variable in size */
-#else
- __int8_t ip_opts[40]; /* actually variable in size */
-#endif
-};
-
-/*
- * Options for use with [gs]etsockopt at the IP level.
- * First word of comment is data type; bool is stored in int.
- */
-#define IP_OPTIONS 1 /* buf/ip_opts; set/get IP options */
-#define IP_HDRINCL 2 /* int; header is included with data */
-#define IP_TOS 3 /* int; IP type of service and preced. */
-#define IP_TTL 4 /* int; IP time to live */
-#define IP_RECVOPTS 5 /* bool; receive all IP opts w/dgram */
-#define IP_RECVRETOPTS 6 /* bool; receive IP opts for response */
-#define IP_RECVDSTADDR 7 /* bool; receive IP dst addr w/dgram */
-#define IP_RETOPTS 8 /* ip_opts; set/get IP options */
-#define IP_MULTICAST_IF 9 /* in_addr; set/get IP multicast i/f */
-#define IP_MULTICAST_TTL 10 /* u_char; set/get IP multicast ttl */
-#define IP_MULTICAST_LOOP 11 /* u_char; set/get IP multicast loopback */
-#define IP_ADD_MEMBERSHIP 12 /* ip_mreq; add an IP group membership */
-#define IP_DROP_MEMBERSHIP 13 /* ip_mreq; drop an IP group membership */
-#define IP_PORTRANGE 19 /* int; range to use for ephemeral port */
-#define IP_RECVIF 20 /* bool; receive reception if w/dgram */
-#define IP_ERRORMTU 21 /* int; get MTU of last xmit = EMSGSIZE */
-#if 1 /*IPSEC*/
-#define IP_IPSEC_POLICY 22 /* struct; get/set security policy */
-#endif
-
-/*
- * Defaults and limits for options
- */
-#define IP_DEFAULT_MULTICAST_TTL 1 /* normally limit m'casts to 1 hop */
-#define IP_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */
-#define IP_MAX_MEMBERSHIPS 20 /* per socket; must fit in one mbuf */
-
-/*
- * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
- */
-struct ip_mreq {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_interface; /* local IP address of interface */
-};
-
-/*
- * Argument for IP_PORTRANGE:
- * - which range to search when port is unspecified at bind() or connect()
- */
-#define IP_PORTRANGE_DEFAULT 0 /* default range */
-#define IP_PORTRANGE_HIGH 1 /* same as DEFAULT (FreeBSD compat) */
-#define IP_PORTRANGE_LOW 2 /* use privileged range */
-
-#if defined(_NETBSD_SOURCE)
-/*
- * Definitions for inet sysctl operations.
- *
- * Third level is protocol number.
- * Fourth level is desired variable within that protocol.
- */
-#define IPPROTO_MAXID (IPPROTO_AH + 1) /* don't list to IPPROTO_MAX */
-
-#define CTL_IPPROTO_NAMES { \
- { "ip", CTLTYPE_NODE }, \
- { "icmp", CTLTYPE_NODE }, \
- { "igmp", CTLTYPE_NODE }, \
- { "ggp", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "tcp", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { "egp", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "pup", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "udp", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "idp", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "ipsec", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "pim", CTLTYPE_NODE }, \
-}
-
-/*
- * Names for IP sysctl objects
- */
-#define IPCTL_FORWARDING 1 /* act as router */
-#define IPCTL_SENDREDIRECTS 2 /* may send redirects when forwarding */
-#define IPCTL_DEFTTL 3 /* default TTL */
-#ifdef notyet
-#define IPCTL_DEFMTU 4 /* default MTU */
-#endif
-#define IPCTL_FORWSRCRT 5 /* forward source-routed packets */
-#define IPCTL_DIRECTEDBCAST 6 /* default broadcast behavior */
-#define IPCTL_ALLOWSRCRT 7 /* allow/drop all source-routed pkts */
-#define IPCTL_SUBNETSARELOCAL 8 /* treat subnets as local addresses */
-#define IPCTL_MTUDISC 9 /* allow path MTU discovery */
-#define IPCTL_ANONPORTMIN 10 /* minimum ephemeral port */
-#define IPCTL_ANONPORTMAX 11 /* maximum ephemeral port */
-#define IPCTL_MTUDISCTIMEOUT 12 /* allow path MTU discovery */
-#define IPCTL_MAXFLOWS 13 /* maximum ip flows allowed */
-#define IPCTL_HOSTZEROBROADCAST 14 /* is host zero a broadcast addr? */
-#define IPCTL_GIF_TTL 15 /* default TTL for gif encap packet */
-#define IPCTL_LOWPORTMIN 16 /* minimum reserved port */
-#define IPCTL_LOWPORTMAX 17 /* maximum reserved port */
-#define IPCTL_MAXFRAGPACKETS 18 /* max packets reassembly queue */
-#define IPCTL_GRE_TTL 19 /* default TTL for gre encap packet */
-#define IPCTL_CHECKINTERFACE 20 /* drop pkts in from 'wrong' iface */
-#define IPCTL_IFQ 21 /* ipintrq node */
-#define IPCTL_RANDOMID 22 /* use random IP ids (if configured) */
-#define IPCTL_LOOPBACKCKSUM 23 /* do IP checksum on loopback */
-#define IPCTL_STATS 24 /* IP statistics */
-#define IPCTL_MAXID 25
-
-#define IPCTL_NAMES { \
- { 0, 0 }, \
- { "forwarding", CTLTYPE_INT }, \
- { "redirect", CTLTYPE_INT }, \
- { "ttl", CTLTYPE_INT }, \
- { "mtu", CTLTYPE_INT }, \
- { "forwsrcrt", CTLTYPE_INT }, \
- { "directed-broadcast", CTLTYPE_INT }, \
- { "allowsrcrt", CTLTYPE_INT }, \
- { "subnetsarelocal", CTLTYPE_INT }, \
- { "mtudisc", CTLTYPE_INT }, \
- { "anonportmin", CTLTYPE_INT }, \
- { "anonportmax", CTLTYPE_INT }, \
- { "mtudisctimeout", CTLTYPE_INT }, \
- { "maxflows", CTLTYPE_INT }, \
- { "hostzerobroadcast", CTLTYPE_INT }, \
- { "gifttl", CTLTYPE_INT }, \
- { "lowportmin", CTLTYPE_INT }, \
- { "lowportmax", CTLTYPE_INT }, \
- { "maxfragpackets", CTLTYPE_INT }, \
- { "grettl", CTLTYPE_INT }, \
- { "checkinterface", CTLTYPE_INT }, \
- { "ifq", CTLTYPE_NODE }, \
- { "random_id", CTLTYPE_INT }, \
- { "do_loopback_cksum", CTLTYPE_INT }, \
- { "stats", CTLTYPE_STRUCT }, \
-}
-#endif /* _NETBSD_SOURCE */
-
-/* INET6 stuff */
-#define __KAME_NETINET_IN_H_INCLUDED_
-#include <netinet6/in6.h>
-#undef __KAME_NETINET_IN_H_INCLUDED_
-
-#ifdef _KERNEL
-/*
- * in_cksum_phdr:
- *
- * Compute significant parts of the IPv4 checksum pseudo-header
- * for use in a delayed TCP/UDP checksum calculation.
- *
- * Args:
- *
- * src Source IP address
- * dst Destination IP address
- * lenproto htons(proto-hdr-len + proto-number)
- */
-static __inline u_int16_t __attribute__((__unused__))
-in_cksum_phdr(u_int32_t src, u_int32_t dst, u_int32_t lenproto)
-{
- u_int32_t sum;
-
- sum = lenproto +
- (u_int16_t)(src >> 16) +
- (u_int16_t)(src /*& 0xffff*/) +
- (u_int16_t)(dst >> 16) +
- (u_int16_t)(dst /*& 0xffff*/);
-
- sum = (u_int16_t)(sum >> 16) + (u_int16_t)(sum /*& 0xffff*/);
-
- if (sum > 0xffff)
- sum -= 0xffff;
-
- return (sum);
-}
-
-/*
- * in_cksum_addword:
- *
- * Add the two 16-bit network-order values, carry, and return.
- */
-static __inline u_int16_t __attribute__((__unused__))
-in_cksum_addword(u_int16_t a, u_int16_t b)
-{
- u_int32_t sum = a + b;
-
- if (sum > 0xffff)
- sum -= 0xffff;
-
- return (sum);
-}
-
-extern struct in_addr zeroin_addr;
-extern u_char ip_protox[];
-
-int in_broadcast(struct in_addr, struct ifnet *);
-int in_canforward(struct in_addr);
-int in_cksum(struct mbuf *, int);
-int in4_cksum(struct mbuf *, u_int8_t, int, int);
-void in_delayed_cksum(struct mbuf *);
-int in_localaddr(struct in_addr);
-void in_socktrim(struct sockaddr_in *);
-
-#define in_hosteq(s,t) ((s).s_addr == (t).s_addr)
-#define in_nullhost(x) ((x).s_addr == INADDR_ANY)
-
-#define satosin(sa) ((struct sockaddr_in *)(sa))
-#define sintosa(sin) ((struct sockaddr *)(sin))
-#define ifatoia(ifa) ((struct in_ifaddr *)(ifa))
-#endif /* _KERNEL */
-
-#endif /* !_NETINET_IN_H_ */
diff --git a/StdLib/Include/netinet/in_systm.h b/StdLib/Include/netinet/in_systm.h deleted file mode 100644 index f86bf65fbc..0000000000 --- a/StdLib/Include/netinet/in_systm.h +++ /dev/null @@ -1,62 +0,0 @@ -/*
- * Copyright (c) 1982, 1986, 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.
- *
- * @(#)in_systm.h 8.1 (Berkeley) 6/10/93
- * $Id: in_systm.h,v 1.1.1.1 2006/05/30 06:12:48 hhzhou Exp $
- */
-
-#ifndef _NETINET_IN_SYSTM_H_
-#define _NETINET_IN_SYSTM_H_
-
-/*
- * Miscellaneous internetwork
- * definitions for kernel.
- */
-
-/*
- * Network types.
- *
- * Internally the system keeps counters in the headers with the bytes
- * swapped so that VAX instructions will work on them. It reverses
- * the bytes before transmission at each protocol level. The n_ types
- * represent the types with the bytes in ``high-ender'' order.
- */
-typedef u_int16_t n_short; /* short as received from the net */
-typedef u_int32_t n_long; /* long as received from the net */
-
-typedef u_int32_t n_time; /* ms since 00:00 GMT, byte rev */
-
-#ifdef KERNEL
-n_time iptime __P((void));
-#endif
-
-#endif
diff --git a/StdLib/Include/netinet/ip.h b/StdLib/Include/netinet/ip.h deleted file mode 100644 index b2de1b9779..0000000000 --- a/StdLib/Include/netinet/ip.h +++ /dev/null @@ -1,197 +0,0 @@ -/*
- * Copyright (c) 1982, 1986, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Portions copyright (c) 1999, 2000
- * Intel Corporation.
- * 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, Intel Corporation, and its contributors.
- *
- * 4. Neither the name of University, Intel Corporation, or their respective
- * 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, INTEL CORPORATION 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,
- * INTEL CORPORATION 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.
- *
- * @(#)ip.h 8.2 (Berkeley) 6/1/94
- * $Id: ip.h,v 1.1.1.1 2006/05/30 06:12:48 hhzhou Exp $
- */
-
-#ifndef _NETINET_IP_H_
-#define _NETINET_IP_H_
-
-#ifndef _ORG_FREEBSD_
-#define _IP_VHL
-#endif
-
-/*
- * Definitions for internet protocol version 4.
- * Per RFC 791, September 1981.
- */
-#define IPVERSION 4
-
-/*
- * Structure of an internet header, naked of options.
- */
-struct ip {
-#ifdef _IP_VHL
- u_char ip_vhl; /* version << 4 | header length >> 2 */
-#else
-#if BYTE_ORDER == LITTLE_ENDIAN
- u_int ip_hl:4, /* header length */
- ip_v:4; /* version */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- u_int ip_v:4, /* version */
- ip_hl:4; /* header length */
-#endif
-#endif /* not _IP_VHL */
- u_char ip_tos; /* type of service */
- u_short ip_len; /* total length */
- u_short ip_id; /* identification */
- u_short ip_off; /* fragment offset field */
-#define IP_RF 0x8000 /* reserved fragment flag */
-#define IP_DF 0x4000 /* dont fragment flag */
-#define IP_MF 0x2000 /* more fragments flag */
-#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
- u_char ip_ttl; /* time to live */
- u_char ip_p; /* protocol */
- u_short ip_sum; /* checksum */
- struct in_addr ip_src,ip_dst; /* source and dest address */
-};
-
-#ifdef _IP_VHL
-#define IP_MAKE_VHL(v, hl) ((v) << 4 | (hl))
-#define IP_VHL_HL(vhl) ((vhl) & 0x0f)
-#define IP_VHL_V(vhl) ((vhl) >> 4)
-#define IP_VHL_BORING 0x45
-#endif
-
-#define IP_MAXPACKET 65535 /* maximum packet size */
-
-/*
- * Definitions for IP type of service (ip_tos)
- */
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_RELIABILITY 0x04
-#define IPTOS_MINCOST 0x02
-
-/*
- * Definitions for IP precedence (also in ip_tos) (hopefully unused)
- */
-#define IPTOS_PREC_NETCONTROL 0xe0
-#define IPTOS_PREC_INTERNETCONTROL 0xc0
-#define IPTOS_PREC_CRITIC_ECP 0xa0
-#define IPTOS_PREC_FLASHOVERRIDE 0x80
-#define IPTOS_PREC_FLASH 0x60
-#define IPTOS_PREC_IMMEDIATE 0x40
-#define IPTOS_PREC_PRIORITY 0x20
-#define IPTOS_PREC_ROUTINE 0x00
-
-/*
- * Definitions for options.
- */
-#define IPOPT_COPIED(o) ((o)&0x80)
-#define IPOPT_CLASS(o) ((o)&0x60)
-#define IPOPT_NUMBER(o) ((o)&0x1f)
-
-#define IPOPT_CONTROL 0x00
-#define IPOPT_RESERVED1 0x20
-#define IPOPT_DEBMEAS 0x40
-#define IPOPT_RESERVED2 0x60
-
-#define IPOPT_EOL 0 /* end of option list */
-#define IPOPT_NOP 1 /* no operation */
-
-#define IPOPT_RR 7 /* record packet route */
-#define IPOPT_TS 68 /* timestamp */
-#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */
-#define IPOPT_LSRR 131 /* loose source route */
-#define IPOPT_SATID 136 /* satnet id */
-#define IPOPT_SSRR 137 /* strict source route */
-#define IPOPT_RA 148 /* router alert */
-
-/*
- * Offsets to fields in options other than EOL and NOP.
- */
-#define IPOPT_OPTVAL 0 /* option ID */
-#define IPOPT_OLEN 1 /* option length */
-#define IPOPT_OFFSET 2 /* offset within option */
-#define IPOPT_MINOFF 4 /* min value of above */
-
-/*
- * Time stamp option structure.
- */
-struct ip_timestamp {
- u_char ipt_code; /* IPOPT_TS */
- u_char ipt_len; /* size of structure (variable) */
- u_char ipt_ptr; /* index of current entry */
-#if BYTE_ORDER == LITTLE_ENDIAN
- u_int ipt_flg:4, /* flags, see below */
- ipt_oflw:4; /* overflow counter */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- u_int ipt_oflw:4, /* overflow counter */
- ipt_flg:4; /* flags, see below */
-#endif
- union ipt_timestamp {
- n_long ipt_time[1];
- struct ipt_ta {
- struct in_addr ipt_addr;
- n_long ipt_time;
- } ipt_ta[1];
- } ipt_timestamp;
-};
-
-/* flag bits for ipt_flg */
-#define IPOPT_TS_TSONLY 0 /* timestamps only */
-#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
-#define IPOPT_TS_PRESPEC 3 /* specified modules only */
-
-/* bits for security (not byte swapped) */
-#define IPOPT_SECUR_UNCLASS 0x0000
-#define IPOPT_SECUR_CONFID 0xf135
-#define IPOPT_SECUR_EFTO 0x789a
-#define IPOPT_SECUR_MMMM 0xbc4d
-#define IPOPT_SECUR_RESTR 0xaf13
-#define IPOPT_SECUR_SECRET 0xd788
-#define IPOPT_SECUR_TOPSECRET 0x6bc5
-
-/*
- * Internet implementation parameters.
- */
-#define MAXTTL 255 /* maximum time to live (seconds) */
-#define IPDEFTTL 64 /* default ttl, from RFC 1340 */
-#define IPFRAGTTL 60 /* time to live for frags, slowhz */
-#define IPTTLDEC 1 /* subtracted when forwarding */
-
-#define IP_MSS 576 /* default maximum segment size */
-
-#endif
diff --git a/StdLib/Include/netinet/tcp.h b/StdLib/Include/netinet/tcp.h deleted file mode 100644 index 31948a6a70..0000000000 --- a/StdLib/Include/netinet/tcp.h +++ /dev/null @@ -1,143 +0,0 @@ -/** @file
- Declarations for TCP.
-
- Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1982, 1986, 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.
- *
- * @(#)tcp.h 8.1 (Berkeley) 6/10/93
- NetBSD: tcp.h,v 1.28 2007/12/25 18:33:47 perry Exp
- */
-#ifndef _NETINET_TCP_H_
-#define _NETINET_TCP_H_
-
-#include <sys/featuretest.h>
-
-typedef u_int32_t tcp_seq;
-
-/* Flag definitions for tcphdr.th_flags */
-#define TH_FIN 0x01
-#define TH_SYN 0x02
-#define TH_RST 0x04
-#define TH_PUSH 0x08
-#define TH_ACK 0x10
-#define TH_URG 0x20
-#define TH_ECE 0x40
-#define TH_CWR 0x80
-
-#pragma pack(1)
-/*
- * TCP header.
- * Per RFC 793, September, 1981.
- * Updated by RFC 3168, September, 2001.
- */
-struct tcphdr {
- u_int16_t th_sport; /* source port */
- u_int16_t th_dport; /* destination port */
- tcp_seq th_seq; /* sequence number */
- tcp_seq th_ack; /* acknowledgement number */
-#if BYTE_ORDER == LITTLE_ENDIAN
- /*LINTED non-portable bitfields*/
- u_int8_t th_x2:4, /* (unused) */
- th_off:4; /* data offset */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- /*LINTED non-portable bitfields*/
- u_int8_t th_off:4, /* data offset */
- th_x2:4; /* (unused) */
-#endif
- u_int8_t th_flags;
- u_int16_t th_win; /* window */
- u_int16_t th_sum; /* checksum */
- u_int16_t th_urp; /* urgent pointer */
-};
-#pragma pack()
-
-#define TCPOPT_EOL 0
-#define TCPOPT_NOP 1
-#define TCPOPT_MAXSEG 2
-#define TCPOLEN_MAXSEG 4
-#define TCPOPT_WINDOW 3
-#define TCPOLEN_WINDOW 3
-#define TCPOPT_SACK_PERMITTED 4 /* Experimental */
-#define TCPOLEN_SACK_PERMITTED 2
-#define TCPOPT_SACK 5 /* Experimental */
-#define TCPOPT_TIMESTAMP 8
-#define TCPOLEN_TIMESTAMP 10
-#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */
-
-#define TCPOPT_TSTAMP_HDR \
- (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
-
-#define TCPOPT_SIGNATURE 19 /* Keyed MD5: RFC 2385 */
-#define TCPOLEN_SIGNATURE 18
-#define TCPOLEN_SIGLEN (TCPOLEN_SIGNATURE+2) /* padding */
-
-#define MAX_TCPOPTLEN 40 /* max # bytes that go in options */
-
-/* Default maximum segment size for TCP.
- * This is defined by RFC 1112 Sec 4.2.2.6.
- */
-#define TCP_MSS 536
-
-#define TCP_MINMSS 216
-
-#define TCP_MAXWIN 65535 /* largest value for (unscaled) window */
-
-#define TCP_MAX_WINSHIFT 14 /* maximum window shift */
-
-#define TCP_MAXBURST 4 /* maximum segments in a burst */
-
-/* User-settable options (used with setsockopt). */
-#define TCP_NODELAY 1 /* don't delay send to coalesce packets */
-#define TCP_MAXSEG 2 /* set maximum segment size */
-#define TCP_KEEPIDLE 3
-
-#ifdef notyet
-#define TCP_NOPUSH 4 /* reserved for FreeBSD compat */
-#endif
-
-#define TCP_KEEPINTVL 5
-#define TCP_KEEPCNT 6
-#define TCP_KEEPINIT 7
-
-#ifdef notyet
-#define TCP_NOOPT 8 /* reserved for FreeBSD compat */
-#endif
-
-#define TCP_MD5SIG 0x10 /* use MD5 digests (RFC2385) */
-#define TCP_CONGCTL 0x20 /* selected congestion control */
-
-#endif /* !_NETINET_TCP_H_ */
diff --git a/StdLib/Include/netinet6/in6.h b/StdLib/Include/netinet6/in6.h deleted file mode 100644 index f9a645aef1..0000000000 --- a/StdLib/Include/netinet6/in6.h +++ /dev/null @@ -1,791 +0,0 @@ -/* $NetBSD: in6.h,v 1.57 2006/10/31 00:29:30 cbiere Exp $ */
-/* $KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $ */
-
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*/
-
-/*
- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * 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 project 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 PROJECT 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 PROJECT 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.
- */
-
-/*
- * Copyright (c) 1982, 1986, 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.
- *
- * @(#)in.h 8.3 (Berkeley) 1/3/94
- */
-
-#ifndef _NETINET6_IN6_H_
-#define _NETINET6_IN6_H_
-
-#ifndef __KAME_NETINET_IN_H_INCLUDED_
-#error "do not include netinet6/in6.h directly, include netinet/in.h. see RFC2553"
-#endif
-
-#include <sys/socket.h>
-
-/*
- * Identification of the network protocol stack
- * for *BSD-current/release: http://www.kame.net/dev/cvsweb.cgi/kame/COVERAGE
- * has the table of implementation/integration differences.
- */
-#define __KAME__
-#define __KAME_VERSION "NetBSD-current"
-
-/*
- * Local port number conventions:
- *
- * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root),
- * unless a kernel is compiled with IPNOPRIVPORTS defined.
- *
- * When a user does a bind(2) or connect(2) with a port number of zero,
- * a non-conflicting local port address is chosen.
- *
- * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although
- * that is settable by sysctl(3); net.inet.ip.anonportmin and
- * net.inet.ip.anonportmax respectively.
- *
- * A user may set the IPPROTO_IP option IP_PORTRANGE to change this
- * default assignment range.
- *
- * The value IP_PORTRANGE_DEFAULT causes the default behavior.
- *
- * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT,
- * and exists only for FreeBSD compatibility purposes.
- *
- * The value IP_PORTRANGE_LOW changes the range to the "low" are
- * that is (by convention) restricted to privileged processes.
- * This convention is based on "vouchsafe" principles only.
- * It is only secure if you trust the remote host to restrict these ports.
- * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX.
- */
-
-#if defined(_NETBSD_SOURCE)
-#define IPV6PORT_RESERVED 1024
-#define IPV6PORT_ANONMIN 49152
-#define IPV6PORT_ANONMAX 65535
-#define IPV6PORT_RESERVEDMIN 600
-#define IPV6PORT_RESERVEDMAX (IPV6PORT_RESERVED-1)
-#endif
-
-/*
- * IPv6 address
- */
-struct in6_addr {
- union {
- __uint8_t __u6_addr8[16];
- __uint16_t __u6_addr16[8];
- uint32_t __u6_addr32[4];
- } __u6_addr; /* 128-bit IP6 address */
-};
-
-#define s6_addr __u6_addr.__u6_addr8
-#ifdef _KERNEL /* XXX nonstandard */
-#define s6_addr8 __u6_addr.__u6_addr8
-#define s6_addr16 __u6_addr.__u6_addr16
-#define s6_addr32 __u6_addr.__u6_addr32
-#endif
-
-#define INET6_ADDRSTRLEN 46
-
-/*
- * Socket address for IPv6
- */
-#if defined(_NETBSD_SOURCE)
-#define SIN6_LEN
-#endif
-struct sockaddr_in6 {
- uint8_t sin6_len; /* length of this struct(socklen_t)*/
- sa_family_t sin6_family; /* AF_INET6 (sa_family_t) */
- in_port_t sin6_port; /* Transport layer port */
- uint32_t sin6_flowinfo; /* IP6 flow information */
- struct in6_addr sin6_addr; /* IP6 address */
- uint32_t sin6_scope_id; /* scope zone index */
-};
-
-/*
- * Local definition for masks
- */
-#ifdef _KERNEL /* XXX nonstandard */
-#define IN6MASK0 {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}}
-#define IN6MASK32 {{{ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}}
-#define IN6MASK64 {{{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}}
-#define IN6MASK96 {{{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }}}
-#define IN6MASK128 {{{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }}}
-#endif
-
-#ifdef _KERNEL
-extern const struct sockaddr_in6 sa6_any;
-
-extern const struct in6_addr in6mask0;
-extern const struct in6_addr in6mask32;
-extern const struct in6_addr in6mask64;
-extern const struct in6_addr in6mask96;
-extern const struct in6_addr in6mask128;
-#endif /* _KERNEL */
-
-/*
- * Macros started with IPV6_ADDR is KAME local
- */
-#ifdef _KERNEL /* XXX nonstandard */
-#if BYTE_ORDER == BIG_ENDIAN
-#define IPV6_ADDR_INT32_ONE 1
-#define IPV6_ADDR_INT32_TWO 2
-#define IPV6_ADDR_INT32_MNL 0xff010000
-#define IPV6_ADDR_INT32_MLL 0xff020000
-#define IPV6_ADDR_INT32_SMP 0x0000ffff
-#define IPV6_ADDR_INT16_ULL 0xfe80
-#define IPV6_ADDR_INT16_USL 0xfec0
-#define IPV6_ADDR_INT16_MLL 0xff02
-#elif BYTE_ORDER == LITTLE_ENDIAN
-#define IPV6_ADDR_INT32_ONE 0x01000000
-#define IPV6_ADDR_INT32_TWO 0x02000000
-#define IPV6_ADDR_INT32_MNL 0x000001ff
-#define IPV6_ADDR_INT32_MLL 0x000002ff
-#define IPV6_ADDR_INT32_SMP 0xffff0000
-#define IPV6_ADDR_INT16_ULL 0x80fe
-#define IPV6_ADDR_INT16_USL 0xc0fe
-#define IPV6_ADDR_INT16_MLL 0x02ff
-#endif
-#endif
-
-/*
- * Definition of some useful macros to handle IP6 addresses
- */
-#define IN6ADDR_ANY_INIT \
- {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}}
-#define IN6ADDR_LOOPBACK_INIT \
- {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}}
-#define IN6ADDR_NODELOCAL_ALLNODES_INIT \
- {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}}
-#define IN6ADDR_LINKLOCAL_ALLNODES_INIT \
- {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}}
-#define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \
- {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }}}
-
-extern const struct in6_addr in6addr_any;
-extern const struct in6_addr in6addr_loopback;
-extern const struct in6_addr in6addr_nodelocal_allnodes;
-extern const struct in6_addr in6addr_linklocal_allnodes;
-extern const struct in6_addr in6addr_linklocal_allrouters;
-
-/*
- * Equality
- * NOTE: Some of kernel programming environment (for example, openbsd/sparc)
- * does not supply memcmp(). For userland memcmp() is preferred as it is
- * in ANSI standard.
- */
-#ifdef _KERNEL
-#define IN6_ARE_ADDR_EQUAL(a, b) \
- (bcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
-#else
-#define IN6_ARE_ADDR_EQUAL(a, b) \
- (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
-#endif
-
-/*
- * Unspecified
- */
-#define IN6_IS_ADDR_UNSPECIFIED(a) \
- ((*(const uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[12]) == 0))
-
-/*
- * Loopback
- */
-#define IN6_IS_ADDR_LOOPBACK(a) \
- ((*(const uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[12]) == ntohl(1)))
-
-/*
- * IPv4 compatible
- */
-#define IN6_IS_ADDR_V4COMPAT(a) \
- ((*(const uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[12]) != 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[12]) != ntohl(1)))
-
-/*
- * Mapped
- */
-#define IN6_IS_ADDR_V4MAPPED(a) \
- ((*(const uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \
- (*(const uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff)))
-
-/*
- * KAME Scope Values
- */
-
-#ifdef _KERNEL /* XXX nonstandard */
-#define IPV6_ADDR_SCOPE_NODELOCAL 0x01
-#define IPV6_ADDR_SCOPE_INTFACELOCAL 0x01
-#define IPV6_ADDR_SCOPE_LINKLOCAL 0x02
-#define IPV6_ADDR_SCOPE_SITELOCAL 0x05
-#define IPV6_ADDR_SCOPE_ORGLOCAL 0x08 /* just used in this file */
-#define IPV6_ADDR_SCOPE_GLOBAL 0x0e
-#else
-#define __IPV6_ADDR_SCOPE_NODELOCAL 0x01
-#define __IPV6_ADDR_SCOPE_LINKLOCAL 0x02
-#define __IPV6_ADDR_SCOPE_SITELOCAL 0x05
-#define __IPV6_ADDR_SCOPE_ORGLOCAL 0x08 /* just used in this file */
-#define __IPV6_ADDR_SCOPE_GLOBAL 0x0e
-#endif
-
-/*
- * Unicast Scope
- * Note that we must check topmost 10 bits only, not 16 bits (see RFC2373).
- */
-#define IN6_IS_ADDR_LINKLOCAL(a) \
- (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80))
-#define IN6_IS_ADDR_SITELOCAL(a) \
- (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0))
-
-/*
- * Multicast
- */
-#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff)
-
-#ifdef _KERNEL /* XXX nonstandard */
-#define IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f)
-#else
-#define __IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f)
-#endif
-
-/*
- * Multicast Scope
- */
-#ifdef _KERNEL /* refers nonstandard items */
-#define IN6_IS_ADDR_MC_NODELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_NODELOCAL))
-#define IN6_IS_ADDR_MC_INTFACELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_INTFACELOCAL))
-#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_LINKLOCAL))
-#define IN6_IS_ADDR_MC_SITELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_SITELOCAL))
-#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_ORGLOCAL))
-#define IN6_IS_ADDR_MC_GLOBAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_GLOBAL))
-#else
-#define IN6_IS_ADDR_MC_NODELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_NODELOCAL))
-#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_LINKLOCAL))
-#define IN6_IS_ADDR_MC_SITELOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_SITELOCAL))
-#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_ORGLOCAL))
-#define IN6_IS_ADDR_MC_GLOBAL(a) \
- (IN6_IS_ADDR_MULTICAST(a) && \
- (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_GLOBAL))
-#endif
-
-#ifdef _KERNEL /* nonstandard */
-/*
- * KAME Scope
- */
-#define IN6_IS_SCOPE_LINKLOCAL(a) \
- ((IN6_IS_ADDR_LINKLOCAL(a)) || \
- (IN6_IS_ADDR_MC_LINKLOCAL(a)))
-
-#define IN6_IS_SCOPE_EMBEDDABLE(__a) \
- (IN6_IS_SCOPE_LINKLOCAL(__a) || IN6_IS_ADDR_MC_INTFACELOCAL(__a))
-
-#define IFA6_IS_DEPRECATED(a) \
- ((a)->ia6_lifetime.ia6t_pltime != ND6_INFINITE_LIFETIME && \
- (u_int32_t)((time_second - (a)->ia6_updatetime)) > \
- (a)->ia6_lifetime.ia6t_pltime)
-#define IFA6_IS_INVALID(a) \
- ((a)->ia6_lifetime.ia6t_vltime != ND6_INFINITE_LIFETIME && \
- (u_int32_t)((time_second - (a)->ia6_updatetime)) > \
- (a)->ia6_lifetime.ia6t_vltime)
-#endif
-
-/*
- * IP6 route structure
- */
-#if defined(_NETBSD_SOURCE)
-struct route_in6 {
- struct rtentry *ro_rt;
- struct sockaddr_in6 ro_dst;
-};
-#endif
-
-/*
- * Options for use with [gs]etsockopt at the IPV6 level.
- * First word of comment is data type; bool is stored in int.
- */
-/* no hdrincl */
-#if 0
-/* These are deprecated non-standard options which are no longer supported. */
-#define IPV6_OPTIONS 1 /* buf/ip6_opts; set/get IP6 options */
-#define IPV6_RECVOPTS 5 /* bool; receive all IP6 opts w/dgram */
-#define IPV6_RECVRETOPTS 6 /* bool; receive IP6 opts for response */
-#define IPV6_RECVDSTADDR 7 /* bool; receive IP6 dst addr w/dgram */
-#define IPV6_RETOPTS 8 /* ip6_opts; set/get IP6 options */
-#endif
-#define IPV6_SOCKOPT_RESERVED1 3 /* reserved for future use */
-#define IPV6_UNICAST_HOPS 4 /* int; IP6 hops */
-#define IPV6_MULTICAST_IF 9 /* u_int; set/get IP6 multicast i/f */
-#define IPV6_MULTICAST_HOPS 10 /* int; set/get IP6 multicast hops */
-#define IPV6_MULTICAST_LOOP 11 /* u_int; set/get IP6 multicast loopback */
-#define IPV6_JOIN_GROUP 12 /* ip6_mreq; join a group membership */
-#define IPV6_LEAVE_GROUP 13 /* ip6_mreq; leave a group membership */
-#define IPV6_PORTRANGE 14 /* int; range to choose for unspec port */
-#if defined(_NETBSD_SOURCE)
-#define ICMP6_FILTER 18 /* icmp6_filter; icmp6 filter */
-#endif
-/* RFC2292 options */
-#ifdef _KERNEL
-#define IPV6_2292PKTINFO 19 /* bool; send/recv if, src/dst addr */
-#define IPV6_2292HOPLIMIT 20 /* bool; hop limit */
-#define IPV6_2292NEXTHOP 21 /* bool; next hop addr */
-#define IPV6_2292HOPOPTS 22 /* bool; hop-by-hop option */
-#define IPV6_2292DSTOPTS 23 /* bool; destinaion option */
-#define IPV6_2292RTHDR 24 /* bool; routing header */
-#define IPV6_2292PKTOPTIONS 25 /* buf/cmsghdr; set/get IPv6 options */
-#endif
-#define IPV6_CHECKSUM 26 /* int; checksum offset for raw socket */
-#define IPV6_V6ONLY 27 /* bool; make AF_INET6 sockets v6 only */
-
-#if 1 /* IPSEC */
-#define IPV6_IPSEC_POLICY 28 /* struct; get/set security policy */
-#endif
-#define IPV6_FAITH 29 /* bool; accept FAITH'ed connections */
-
-/* new socket options introduced in RFC3542 */
-#define IPV6_RTHDRDSTOPTS 35 /* ip6_dest; send dst option before rthdr */
-
-#define IPV6_RECVPKTINFO 36 /* bool; recv if, dst addr */
-#define IPV6_RECVHOPLIMIT 37 /* bool; recv hop limit */
-#define IPV6_RECVRTHDR 38 /* bool; recv routing header */
-#define IPV6_RECVHOPOPTS 39 /* bool; recv hop-by-hop option */
-#define IPV6_RECVDSTOPTS 40 /* bool; recv dst option after rthdr */
-#ifdef _KERNEL
-#define IPV6_RECVRTHDRDSTOPTS 41 /* bool; recv dst option before rthdr */
-#endif
-#define IPV6_USE_MIN_MTU 42 /* bool; send packets at the minimum MTU */
-#define IPV6_RECVPATHMTU 43 /* bool; notify an according MTU */
-#define IPV6_PATHMTU 44 /* mtuinfo; get the current path MTU (sopt),
- 4 bytes int; MTU notification (cmsg) */
-
-/* more new socket options introduced in RFC3542 */
-#define IPV6_PKTINFO 46 /* in6_pktinfo; send if, src addr */
-#define IPV6_HOPLIMIT 47 /* int; send hop limit */
-#define IPV6_NEXTHOP 48 /* sockaddr; next hop addr */
-#define IPV6_HOPOPTS 49 /* ip6_hbh; send hop-by-hop option */
-#define IPV6_DSTOPTS 50 /* ip6_dest; send dst option befor rthdr */
-#define IPV6_RTHDR 51 /* ip6_rthdr; send routing header */
-
-#define IPV6_RECVTCLASS 57 /* bool; recv traffic class values */
-#ifdef _KERNEL
-#define IPV6_OTCLASS 58 /* u_int8_t; send traffic class value */
-#endif
-
-#define IPV6_TCLASS 61 /* int; send traffic class value */
-#define IPV6_DONTFRAG 62 /* bool; disable IPv6 fragmentation */
-/* to define items, should talk with KAME guys first, for *BSD compatibility */
-
-#define IPV6_RTHDR_LOOSE 0 /* this hop need not be a neighbor. XXX old spec */
-#define IPV6_RTHDR_STRICT 1 /* this hop must be a neighbor. XXX old spec */
-#define IPV6_RTHDR_TYPE_0 0 /* IPv6 routing header type 0 */
-
-/*
- * Defaults and limits for options
- */
-#define IPV6_DEFAULT_MULTICAST_HOPS 1 /* normally limit m'casts to 1 hop */
-#define IPV6_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */
-
-/*
- * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.
- */
-struct ipv6_mreq {
- struct in6_addr ipv6mr_multiaddr;
- unsigned int ipv6mr_interface;
-};
-
-/*
- * IPV6_PKTINFO: Packet information(RFC2292 sec 5)
- */
-struct in6_pktinfo {
- struct in6_addr ipi6_addr; /* src/dst IPv6 address */
- unsigned int ipi6_ifindex; /* send/recv interface index */
-};
-
-/*
- * Control structure for IPV6_RECVPATHMTU socket option.
- */
-struct ip6_mtuinfo {
- struct sockaddr_in6 ip6m_addr; /* or sockaddr_storage? */
- uint32_t ip6m_mtu;
-};
-
-/*
- * Argument for IPV6_PORTRANGE:
- * - which range to search when port is unspecified at bind() or connect()
- */
-#define IPV6_PORTRANGE_DEFAULT 0 /* default range */
-#define IPV6_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */
-#define IPV6_PORTRANGE_LOW 2 /* "low" - vouchsafe security */
-
-#if defined(_NETBSD_SOURCE)
-/*
- * Definitions for inet6 sysctl operations.
- *
- * Third level is protocol number.
- * Fourth level is desired variable within that protocol.
- */
-#define IPV6PROTO_MAXID (IPPROTO_PIM + 1) /* don't list to IPV6PROTO_MAX */
-
-#define CTL_IPV6PROTO_NAMES { \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, \
- { "tcp6", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "udp6", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, \
- { "ip6", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, \
- { "ipsec6", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "icmp6", CTLTYPE_NODE }, \
- { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "pim6", CTLTYPE_NODE }, \
-}
-
-/*
- * Names for IP sysctl objects
- */
-#define IPV6CTL_FORWARDING 1 /* act as router */
-#define IPV6CTL_SENDREDIRECTS 2 /* may send redirects when forwarding*/
-#define IPV6CTL_DEFHLIM 3 /* default Hop-Limit */
-#ifdef notyet
-#define IPV6CTL_DEFMTU 4 /* default MTU */
-#endif
-#define IPV6CTL_FORWSRCRT 5 /* forward source-routed dgrams */
-#define IPV6CTL_STATS 6 /* stats */
-#define IPV6CTL_MRTSTATS 7 /* multicast forwarding stats */
-#define IPV6CTL_MRTPROTO 8 /* multicast routing protocol */
-#define IPV6CTL_MAXFRAGPACKETS 9 /* max packets reassembly queue */
-#define IPV6CTL_SOURCECHECK 10 /* verify source route and intf */
-#define IPV6CTL_SOURCECHECK_LOGINT 11 /* minimume logging interval */
-#define IPV6CTL_ACCEPT_RTADV 12
-#define IPV6CTL_KEEPFAITH 13
-#define IPV6CTL_LOG_INTERVAL 14
-#define IPV6CTL_HDRNESTLIMIT 15
-#define IPV6CTL_DAD_COUNT 16
-#define IPV6CTL_AUTO_FLOWLABEL 17
-#define IPV6CTL_DEFMCASTHLIM 18
-#define IPV6CTL_GIF_HLIM 19 /* default HLIM for gif encap packet */
-#define IPV6CTL_KAME_VERSION 20
-#define IPV6CTL_USE_DEPRECATED 21 /* use deprecated addr (RFC2462 5.5.4) */
-#define IPV6CTL_RR_PRUNE 22 /* walk timer for router renumbering */
-/* 23: reserved */
-#define IPV6CTL_V6ONLY 24
-/* 25 to 27: reserved */
-#define IPV6CTL_ANONPORTMIN 28 /* minimum ephemeral port */
-#define IPV6CTL_ANONPORTMAX 29 /* maximum ephemeral port */
-#define IPV6CTL_LOWPORTMIN 30 /* minimum reserved port */
-#define IPV6CTL_LOWPORTMAX 31 /* maximum reserved port */
-/* 32 to 38: reserved */
-#define IPV6CTL_USE_DEFAULTZONE 39 /* use default scope zone */
-/* 40: reserved */
-#define IPV6CTL_MAXFRAGS 41 /* max fragments */
-#define IPV6CTL_IFQ 42 /* ip6intrq node */
-/* New entries should be added here from current IPV6CTL_MAXID value. */
-/* to define items, should talk with KAME guys first, for *BSD compatibility */
-#define IPV6CTL_MAXID 43
-
-#define IPV6CTL_NAMES { \
- { 0, 0 }, \
- { "forwarding", CTLTYPE_INT }, \
- { "redirect", CTLTYPE_INT }, \
- { "hlim", CTLTYPE_INT }, \
- { "mtu", CTLTYPE_INT }, \
- { "forwsrcrt", CTLTYPE_INT }, \
- { "stats", CTLTYPE_STRUCT }, \
- { 0, 0 }, \
- { "mrtproto", CTLTYPE_INT }, \
- { "maxfragpackets", CTLTYPE_INT }, \
- { "sourcecheck", CTLTYPE_INT }, \
- { "sourcecheck_logint", CTLTYPE_INT }, \
- { "accept_rtadv", CTLTYPE_INT }, \
- { "keepfaith", CTLTYPE_INT }, \
- { "log_interval", CTLTYPE_INT }, \
- { "hdrnestlimit", CTLTYPE_INT }, \
- { "dad_count", CTLTYPE_INT }, \
- { "auto_flowlabel", CTLTYPE_INT }, \
- { "defmcasthlim", CTLTYPE_INT }, \
- { "gifhlim", CTLTYPE_INT }, \
- { "kame_version", CTLTYPE_STRING }, \
- { "use_deprecated", CTLTYPE_INT }, \
- { "rr_prune", CTLTYPE_INT }, \
- { 0, 0 }, \
- { "v6only", CTLTYPE_INT }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "anonportmin", CTLTYPE_INT }, \
- { "anonportmax", CTLTYPE_INT }, \
- { "lowportmin", CTLTYPE_INT }, \
- { "lowportmax", CTLTYPE_INT }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { 0, 0 }, \
- { "maxfrags", CTLTYPE_INT }, \
- { "ifq", CTLTYPE_NODE }, \
-}
-
-#endif /* _NETBSD_SOURCE */
-
-#ifdef _KERNEL
-struct cmsghdr;
-
-/*
- * in6_cksum_phdr:
- *
- * Compute significant parts of the IPv6 checksum pseudo-header
- * for use in a delayed TCP/UDP checksum calculation.
- *
- * Args:
- *
- * src Source IPv6 address
- * dst Destination IPv6 address
- * len htonl(proto-hdr-len)
- * nxt htonl(next-proto-number)
- *
- * NOTE: We expect the src and dst addresses to be 16-bit
- * aligned!
- */
-static __inline u_int16_t __attribute__((__unused__))
-in6_cksum_phdr(const struct in6_addr *src, const struct in6_addr *dst,
- u_int32_t len, u_int32_t nxt)
-{
- u_int32_t sum = 0;
- const u_int16_t *w;
-
- /*LINTED*/
- w = (const u_int16_t *) src;
- sum += w[0];
- if (!IN6_IS_SCOPE_LINKLOCAL(src))
- sum += w[1];
- sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5];
- sum += w[6]; sum += w[7];
-
- /*LINTED*/
- w = (const u_int16_t *) dst;
- sum += w[0];
- if (!IN6_IS_SCOPE_LINKLOCAL(dst))
- sum += w[1];
- sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5];
- sum += w[6]; sum += w[7];
-
- sum += (u_int16_t)(len >> 16) + (u_int16_t)(len /*& 0xffff*/);
-
- sum += (u_int16_t)(nxt >> 16) + (u_int16_t)(nxt /*& 0xffff*/);
-
- sum = (u_int16_t)(sum >> 16) + (u_int16_t)(sum /*& 0xffff*/);
-
- if (sum > 0xffff)
- sum -= 0xffff;
-
- return (sum);
-}
-
-struct mbuf;
-struct ifnet;
-int in6_cksum __P((struct mbuf *, u_int8_t, u_int32_t, u_int32_t));
-void in6_delayed_cksum __P((struct mbuf *));
-int in6_localaddr __P((struct in6_addr *));
-int in6_addrscope __P((struct in6_addr *));
-struct in6_ifaddr *in6_ifawithifp __P((struct ifnet *, struct in6_addr *));
-extern void in6_if_up __P((struct ifnet *));
-#ifndef __FreeBSD__
-extern int in6_src_sysctl __P((void *, size_t *, void *, size_t));
-#endif
-extern void addrsel_policy_init __P((void));
-extern u_char ip6_protox[];
-
-#define satosin6(sa) ((struct sockaddr_in6 *)(sa))
-#define sin6tosa(sin6) ((struct sockaddr *)(sin6))
-#define ifatoia6(ifa) ((struct in6_ifaddr *)(ifa))
-#endif /* _KERNEL */
-
-#if defined(_NETBSD_SOURCE)
-
-#include <machine/ansi.h>
-
-#ifdef _EFI_SIZE_T_
-typedef _EFI_SIZE_T_ size_t;
-#define _SIZE_T
-#undef _EFI_SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-struct cmsghdr;
-
-extern int inet6_option_space (int);
-extern int inet6_option_init (void *, struct cmsghdr **, int);
-extern int inet6_option_append (struct cmsghdr *, const uint8_t *,
- int, int);
-extern uint8_t *inet6_option_alloc (struct cmsghdr *, int, int, int);
-extern int inet6_option_next (const struct cmsghdr *, uint8_t **);
-extern int inet6_option_find (const struct cmsghdr *, uint8_t **, int);
-
-extern size_t inet6_rthdr_space (int, int);
-extern struct cmsghdr *inet6_rthdr_init (void *, int);
-extern int inet6_rthdr_add (struct cmsghdr *, const struct in6_addr *,
- unsigned int);
-extern int inet6_rthdr_lasthop (struct cmsghdr *, unsigned int);
-#if 0 /* not implemented yet */
-extern int inet6_rthdr_reverse (const struct cmsghdr *, struct cmsghdr *);
-#endif
-extern int inet6_rthdr_segments (const struct cmsghdr *);
-extern struct in6_addr *inet6_rthdr_getaddr (struct cmsghdr *, int);
-extern int inet6_rthdr_getflags (const struct cmsghdr *, int);
-
-extern int inet6_opt_init (void *, socklen_t);
-extern int inet6_opt_append (void *, socklen_t, int, uint8_t,
- socklen_t, uint8_t, void **);
-extern int inet6_opt_finish (void *, socklen_t, int);
-extern int inet6_opt_set_val (void *, int, void *, socklen_t);
-
-extern int inet6_opt_next (void *, socklen_t, int, uint8_t *,
- socklen_t *, void **);
-extern int inet6_opt_find (void *, socklen_t, int, uint8_t,
- socklen_t *, void **);
-extern int inet6_opt_get_val (void *, int, void *, socklen_t);
-extern socklen_t inet6_rth_space (int, int);
-extern void *inet6_rth_init (void *, socklen_t, int, int);
-extern int inet6_rth_add (void *, const struct in6_addr *);
-extern int inet6_rth_reverse (const void *, void *);
-extern int inet6_rth_segments (const void *);
-extern struct in6_addr *inet6_rth_getaddr (const void *, int);
-__END_DECLS
-#endif /* _NETBSD_SOURCE */
-
-#endif /* !_NETINET6_IN6_H_ */
diff --git a/StdLib/Include/netns/ns.h b/StdLib/Include/netns/ns.h deleted file mode 100644 index 58bac08301..0000000000 --- a/StdLib/Include/netns/ns.h +++ /dev/null @@ -1,157 +0,0 @@ -/*
- * Copyright (c) 1984, 1985, 1986, 1987, 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.
- *
- * @(#)ns.h 8.1 (Berkeley) 6/10/93
- * $Id: ns.h,v 1.1.1.1 2003/11/19 01:48:56 kyu3 Exp $
- */
-
-#ifndef _NETNS_NS_H_
-#define _NETNS_NS_H_
-
-/*
- * Constants and Structures defined by the Xerox Network Software
- * per "Internet Transport Protocols", XSIS 028112, December 1981
- */
-
-/*
- * Protocols
- */
-#define NSPROTO_RI 1 /* Routing Information */
-#define NSPROTO_ECHO 2 /* Echo Protocol */
-#define NSPROTO_ERROR 3 /* Error Protocol */
-#define NSPROTO_PE 4 /* Packet Exchange */
-#define NSPROTO_SPP 5 /* Sequenced Packet */
-#define NSPROTO_RAW 255 /* Placemarker*/
-#define NSPROTO_MAX 256 /* Placemarker*/
-
-
-/*
- * Port/Socket numbers: network standard functions
- */
-
-#define NSPORT_RI 1 /* Routing Information */
-#define NSPORT_ECHO 2 /* Echo */
-#define NSPORT_RE 3 /* Router Error */
-
-/*
- * Ports < NSPORT_RESERVED are reserved for priveleged
- * processes (e.g. root).
- */
-#define NSPORT_RESERVED 3000
-
-/* flags passed to ns_output as last parameter */
-
-#define NS_FORWARDING 0x1 /* most of idp header exists */
-#define NS_ROUTETOIF 0x10 /* same as SO_DONTROUTE */
-#define NS_ALLOWBROADCAST SO_BROADCAST /* can send broadcast packets */
-
-#define NS_MAXHOPS 15
-
-/* flags passed to get/set socket option */
-#define SO_HEADERS_ON_INPUT 1
-#define SO_HEADERS_ON_OUTPUT 2
-#define SO_DEFAULT_HEADERS 3
-#define SO_LAST_HEADER 4
-#define SO_NSIP_ROUTE 5
-#define SO_SEQNO 6
-#define SO_ALL_PACKETS 7
-#define SO_MTU 8
-
-
-/*
- * NS addressing
- */
-union ns_host {
- u_char c_host[6];
- u_short s_host[3];
-};
-
-union ns_net {
- u_char c_net[4];
- u_short s_net[2];
-};
-
-union ns_net_u {
- union ns_net net_e;
- u_long long_e;
-};
-
-struct ns_addr {
- union ns_net x_net;
- union ns_host x_host;
- u_short x_port;
-};
-
-/*
- * Socket address, Xerox style
- */
-struct sockaddr_ns {
- u_char sns_len;
- u_char sns_family;
- struct ns_addr sns_addr;
- char sns_zero[2];
-};
-#define sns_port sns_addr.x_port
-
-#ifdef vax
-#define ns_netof(a) (*(long *) & ((a).x_net)) /* XXX - not needed */
-#endif
-#define ns_neteqnn(a,b) (((a).s_net[0]==(b).s_net[0]) && \
- ((a).s_net[1]==(b).s_net[1]))
-#define ns_neteq(a,b) ns_neteqnn((a).x_net, (b).x_net)
-#define satons_addr(sa) (((struct sockaddr_ns *)&(sa))->sns_addr)
-#define ns_hosteqnh(s,t) ((s).s_host[0] == (t).s_host[0] && \
- (s).s_host[1] == (t).s_host[1] && (s).s_host[2] == (t).s_host[2])
-#define ns_hosteq(s,t) (ns_hosteqnh((s).x_host,(t).x_host))
-#define ns_nullhost(x) (((x).x_host.s_host[0]==0) && \
- ((x).x_host.s_host[1]==0) && ((x).x_host.s_host[2]==0))
-
-#ifdef KERNEL
-extern struct domain nsdomain;
-union ns_host ns_thishost;
-union ns_host ns_zerohost;
-union ns_host ns_broadhost;
-union ns_net ns_zeronet;
-union ns_net ns_broadnet;
-u_short ns_cksum();
-#else
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-extern struct ns_addr ns_addr (const char *);
-extern char *ns_ntoa (struct ns_addr);
-__END_DECLS
-
-#endif
-
-#endif
diff --git a/StdLib/Include/nl_types.h b/StdLib/Include/nl_types.h deleted file mode 100644 index f98111a242..0000000000 --- a/StdLib/Include/nl_types.h +++ /dev/null @@ -1,98 +0,0 @@ -/* $NetBSD: nl_types.h,v 1.11 2005/02/03 04:39:32 perry Exp $ */
-
-/*-
- * Copyright (c) 1996 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by J.T. Conklin.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _NL_TYPES_H_
-#define _NL_TYPES_H_
-#include <sys/EfiCdefs.h>
-
-#ifdef _NLS_PRIVATE
-/*
- * MESSAGE CATALOG FILE FORMAT.
- *
- * The NetBSD message catalog format is similar to the format used by
- * Svr4 systems. The differences are:
- * * fixed byte order (big endian)
- * * fixed data field sizes
- *
- * A message catalog contains four data types: a catalog header, one
- * or more set headers, one or more message headers, and one or more
- * text strings.
- */
-
-#define _NLS_MAGIC 0xff88ff89
-
-struct _nls_cat_hdr {
- int32_t __magic;
- int32_t __nsets;
- int32_t __mem;
- int32_t __msg_hdr_offset;
- int32_t __msg_txt_offset;
-} ;
-
-struct _nls_set_hdr {
- int32_t __setno; /* set number: 0 < x <= NL_SETMAX */
- int32_t __nmsgs; /* number of messages in the set */
- int32_t __index; /* index of first msg_hdr in msg_hdr table */
-} ;
-
-struct _nls_msg_hdr {
- int32_t __msgno; /* msg number: 0 < x <= NL_MSGMAX */
- int32_t __msglen;
- int32_t __offset;
-} ;
-
-#endif
-
-#define NL_SETD 1
-#define NL_CAT_LOCALE 1
-
-typedef struct __nl_cat_d {
- void *__data;
- int __size;
-} *nl_catd;
-
-typedef LONG32 nl_item;
-
-__BEGIN_DECLS
-nl_catd catopen(const char *, int);
-char *catgets(nl_catd, int, int, const char *)
- __attribute__((__format_arg__(4)));
-int catclose(nl_catd);
-__END_DECLS
-
-#endif /* _NL_TYPES_H_ */
diff --git a/StdLib/Include/nsswitch.h b/StdLib/Include/nsswitch.h deleted file mode 100644 index 89e3a3e68b..0000000000 --- a/StdLib/Include/nsswitch.h +++ /dev/null @@ -1,237 +0,0 @@ -/* $NetBSD: nsswitch.h,v 1.20 2008/04/28 20:22:54 martin Exp $ */
-
-/*-
- * Copyright (c) 1997, 1998, 1999, 2004 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Luke Mewburn.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _NSSWITCH_H
-#define _NSSWITCH_H 1
-
-/*
- * Don't use va_list in prototypes. va_list is typedef'd in two places
- * (<machine/varargs.h> and <machine/stdarg.h>), 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 nsswitch.h, so
- * we get _BSD_VA_LIST_ from <machine/ansi.h> and use it.
- */
-#include <machine/ansi.h>
-#include <sys/types.h>
-
-#define NSS_MODULE_INTERFACE_VERSION 0
-
-#ifndef _PATH_NS_CONF
-#define _PATH_NS_CONF "/etc/nsswitch.conf"
-#endif
-
-#define NS_CONTINUE 0
-#define NS_RETURN 1
-
-/*
- * Layout of:
- * uint32_t ns_src.flags
- */
- /* nsswitch.conf status codes and nsdispatch(3) return values */
-#define NS_SUCCESS (1<<0) /* entry was found */
-#define NS_UNAVAIL (1<<1) /* source not responding, or corrupt */
-#define NS_NOTFOUND (1<<2) /* source responded 'no such entry' */
-#define NS_TRYAGAIN (1<<3) /* source busy, may respond to retrys */
-#define NS_STATUSMASK 0x000000ff /* bitmask to get the status flags */
-
- /* internal nsdispatch(3) flags; not settable in nsswitch.conf(5) */
-#define NS_FORCEALL (1<<8) /* force all methods to be invoked; */
-
-/*
- * Currently implemented sources.
- */
-#define NSSRC_FILES "files" /* local files */
-#define NSSRC_DNS "dns" /* DNS; IN for hosts, HS for others */
-#define NSSRC_NIS "nis" /* YP/NIS */
-#define NSSRC_COMPAT "compat" /* passwd,group in YP compat mode */
-
-/*
- * Currently implemented databases.
- */
-#define NSDB_HOSTS "hosts"
-#define NSDB_GROUP "group"
-#define NSDB_GROUP_COMPAT "group_compat"
-#define NSDB_NETGROUP "netgroup"
-#define NSDB_NETWORKS "networks"
-#define NSDB_PASSWD "passwd"
-#define NSDB_PASSWD_COMPAT "passwd_compat"
-#define NSDB_SHELLS "shells"
-
-/*
- * Suggested databases to implement.
- */
-#define NSDB_ALIASES "aliases"
-#define NSDB_AUTH "auth"
-#define NSDB_AUTOMOUNT "automount"
-#define NSDB_BOOTPARAMS "bootparams"
-#define NSDB_ETHERS "ethers"
-#define NSDB_EXPORTS "exports"
-#define NSDB_NETMASKS "netmasks"
-#define NSDB_PHONES "phones"
-#define NSDB_PRINTCAP "printcap"
-#define NSDB_PROTOCOLS "protocols"
-#define NSDB_REMOTE "remote"
-#define NSDB_RPC "rpc"
-#define NSDB_SENDMAILVARS "sendmailvars"
-#define NSDB_SERVICES "services"
-#define NSDB_TERMCAP "termcap"
-#define NSDB_TTYS "ttys"
-
-/*
- * ns_dtab `callback' function signature.
- */
-typedef int (*nss_method)(void *, void *, _BSD_VA_LIST_);
-
-/*
- * ns_dtab - `nsswitch dispatch table'
- * Contains an entry for each source and the appropriate function to call.
- */
-typedef struct {
- const char *src;
- nss_method callback;
- void *cb_data;
-} ns_dtab;
-
-/*
- * Macros to help build an ns_dtab[]
- */
-#define NS_FILES_CB(F,C) { NSSRC_FILES, F, __UNCONST(C) },
-#define NS_COMPAT_CB(F,C) { NSSRC_COMPAT, F, __UNCONST(C) },
-
-#ifdef HESIOD
-# define NS_DNS_CB(F,C) { NSSRC_DNS, F, __UNCONST(C) },
-#else
-# define NS_DNS_CB(F,C)
-#endif
-
-#ifdef YP
-# define NS_NIS_CB(F,C) { NSSRC_NIS, F, __UNCONST(C) },
-#else
-# define NS_NIS_CB(F,C)
-#endif
-#define NS_NULL_CB { NULL, NULL, NULL },
-
-/*
- * ns_src - `nsswitch source'
- * Used by the nsparser routines to store a mapping between a source
- * and its dispatch control flags for a given database.
- */
-typedef struct {
- const char *name;
- uint32_t flags;
-} ns_src;
-
-
-/*
- * Default sourcelists (if nsswitch.conf is missing, corrupt,
- * or the requested database doesn't have an entry)
- */
-extern const ns_src __nsdefaultsrc[];
-extern const ns_src __nsdefaultcompat[];
-extern const ns_src __nsdefaultcompat_forceall[];
-extern const ns_src __nsdefaultfiles[];
-extern const ns_src __nsdefaultfiles_forceall[];
-extern const ns_src __nsdefaultnis[];
-extern const ns_src __nsdefaultnis_forceall[];
-
-
-/*
- * ns_mtab - `nsswitch method table'
- * An nsswitch module provides a mapping from (database name, method name)
- * tuples to the nss_method and associated callback data. Effectively,
- * ns_dtab, but used for dynamically loaded modules.
- */
-typedef struct {
- const char *database;
- const char *name;
- nss_method method;
- void *mdata;
-} ns_mtab;
-
-/*
- * nss_module_register_fn - module registration function
- * called at module load
- * nss_module_unregister_fn - module un-registration function
- * called at module unload
- */
-typedef void (*nss_module_unregister_fn)(ns_mtab *, u_int);
-typedef ns_mtab *(*nss_module_register_fn)(const char *, u_int *,
- nss_module_unregister_fn *);
-
-#ifdef _NS_PRIVATE
-
-/*
- * Private data structures for back-end nsswitch implementation.
- */
-
-/*
- * ns_dbt - `nsswitch database thang'
- * For each database in /etc/nsswitch.conf there is a ns_dbt, with its
- * name and a list of ns_src's containing the source information.
- */
-typedef struct {
- const char *name; /* name of database */
- ns_src *srclist; /* list of sources */
- u_int srclistsize; /* size of srclist */
-} ns_dbt;
-
-/*
- * ns_mod - `nsswitch module'
- */
-typedef struct {
- const char *name; /* module name */
- void *handle; /* handle from dlopen() */
- ns_mtab *mtab; /* method table */
- u_int mtabsize; /* size of mtab */
- /* called to unload module */
- nss_module_unregister_fn unregister;
-} ns_mod;
-
-#endif /* _NS_PRIVATE */
-
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int nsdispatch(void *, const ns_dtab [], const char *,
- const char *, const ns_src [], ...);
-
-#ifdef _NS_PRIVATE
-int _nsdbtaddsrc(ns_dbt *, const ns_src *);
-void _nsdbtdump(const ns_dbt *);
-int _nsdbtput(const ns_dbt *);
-void _nsyyerror(const char *);
-int _nsyylex(void);
-#endif /* _NS_PRIVATE */
-
-__END_DECLS
-
-#endif /* !_NSSWITCH_H */
diff --git a/StdLib/Include/paths.h b/StdLib/Include/paths.h deleted file mode 100644 index 560bd033af..0000000000 --- a/StdLib/Include/paths.h +++ /dev/null @@ -1,93 +0,0 @@ -/** @file
-
- Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1989, 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.
- *
- * @(#)paths.h 8.1 (Berkeley) 6/2/93
- * $NetBSD: paths.h,v 1.30 2004/12/11 06:01:33 christos Exp
- */
-
-#ifndef _PATHS_H_
-#define _PATHS_H_
-
-/* Provide trailing slash, since mostly used for building pathnames.
- * see the __CONCAT() macro from <sys/EfiCdefs.h> for cpp examples.
- */
-#define _PATH_DEV "/dev/"
-#define _PATH_STDLIB "/Efi/StdLib/"
-#define _PATH_ETC _PATH_STDLIB "etc/"
-#define _PATH_TMP _PATH_STDLIB "tmp/"
-#define _PATH_LIB _PATH_STDLIB "lib/"
-#define _PATH_BIN "/Efi/Tools/"
-
-/* DOS style device paths */
-#define _PATH_TTYDEV "tty:"
-#define _PATH_NULLDEV "null:"
-#define _PATH_CONSOLE "console:"
-#define _PATH_CONSTTY "constty:"
-#define _PATH_STDIN "stdin:"
-#define _PATH_STDOUT "stdout:"
-#define _PATH_STDERR "stderr:"
-#define _PATH_SOCKET "socket:"
-
-/* *nix style device paths */
-#define _PATH_DEVTTY _PATH_DEV "tty"
-#define _PATH_DEVNULL _PATH_DEV "null"
-#define _PATH_DEVCONSOLE _PATH_DEV "console"
-#define _PATH_DEVCONSTTY _PATH_DEV "constty"
-#define _PATH_DEVSTDIN _PATH_DEV "stdin"
-#define _PATH_DEVSTDOUT _PATH_DEV "stdout"
-#define _PATH_DEVSTDERR _PATH_DEV "stderr"
-#define _PATH_DEVSOCKET _PATH_DEV "socket"
-
-/* Special files and locations */
-#define _PATH_FSTAB _PATH_ETC "fstab"
-#define _PATH_HOSTNAME _PATH_ETC "hostname"
-#define _PATH_HOSTS _PATH_ETC "hosts"
-#define _PATH_HOSTCONF _PATH_ETC "host.conf"
-#define _PATH_LOCALE _PATH_ETC "Locale"
-#define _PATH_NETCONF _PATH_ETC "host.conf"
-#define _PATH_NETWORKS _PATH_ETC "networks"
-#define _PATH_PROTOCOLS _PATH_ETC "protocols"
-
-/* Resolver configuration file.
- * Normally not present, but may contain the address of the
- * inital name server(s) to query and the domain search list.
- */
-#define _PATH_RESCONF _PATH_ETC "resolv.conf"
-#define _PATH_SERVICES _PATH_ETC "services"
-
-#endif /* !_PATHS_H_ */
diff --git a/StdLib/Include/pwd.h b/StdLib/Include/pwd.h deleted file mode 100644 index afbae1589e..0000000000 --- a/StdLib/Include/pwd.h +++ /dev/null @@ -1,145 +0,0 @@ -/* $NetBSD: pwd.h,v 1.39 2005/05/24 17:36:29 kleink Exp $ */
-
-/*-
- * Copyright (c) 1989, 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. 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.
- *
- * @(#)pwd.h 8.2 (Berkeley) 1/21/94
- */
-
-/*-
- * Portions Copyright(C) 1995, Jason Downs. 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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.
- */
-
-#ifndef _PWD_H_
-#define _PWD_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-#define _PATH_PASSWD "/etc/passwd"
-#define _PATH_MASTERPASSWD "/etc/master.passwd"
-#define _PATH_MASTERPASSWD_LOCK "/etc/ptmp"
-
-#define _PATH_PASSWD_CONF "/etc/passwd.conf"
-#define _PATH_PASSWDCONF _PATH_PASSWD_CONF /* XXX: compat */
-#define _PATH_USERMGMT_CONF "/etc/usermgmt.conf"
-
-#define _PATH_MP_DB "/etc/pwd.db"
-#define _PATH_SMP_DB "/etc/spwd.db"
-
-#define _PATH_PWD_MKDB "/usr/sbin/pwd_mkdb"
-
-#define _PW_KEYBYNAME '1' /* stored by name */
-#define _PW_KEYBYNUM '2' /* stored by entry in the "file" */
-#define _PW_KEYBYUID '3' /* stored by uid */
-
-#define _PASSWORD_EFMT1 '_' /* extended DES encryption format */
-#define _PASSWORD_NONDES '$' /* non-DES encryption formats */
-
-#define _PASSWORD_LEN 128 /* max length, not counting NUL */
-
-#define _PASSWORD_NOUID 0x01 /* flag for no specified uid. */
-#define _PASSWORD_NOGID 0x02 /* flag for no specified gid. */
-#define _PASSWORD_NOCHG 0x04 /* flag for no specified change. */
-#define _PASSWORD_NOEXP 0x08 /* flag for no specified expire. */
-
-#define _PASSWORD_OLDFMT 0x10 /* flag to expect an old style entry */
-#define _PASSWORD_NOWARN 0x20 /* no warnings for bad entries */
-
-#define _PASSWORD_WARNDAYS 14 /* days to warn about expiry */
-#define _PASSWORD_CHGNOW -1 /* special day to force password
- * change at next login */
-
-struct passwd {
- __aconst char *pw_name; /* user name */
- __aconst char *pw_passwd; /* encrypted password */
- uid_t pw_uid; /* user uid */
- gid_t pw_gid; /* user gid */
- time_t pw_change; /* password change time */
- __aconst char *pw_class; /* user login class */
- __aconst char *pw_gecos; /* general information */
- __aconst char *pw_dir; /* home directory */
- __aconst char *pw_shell; /* default shell */
- time_t pw_expire; /* account expiration */
-};
-
-__BEGIN_DECLS
- struct passwd *getpwuid(uid_t);
- struct passwd *getpwnam(const char *);
-
-#if 0 /* Normally declared here but not implemented for UEFI. */
-
- int getpwnam_r( const char *, struct passwd *, char *, size_t,
- struct passwd **);
- int getpwuid_r( uid_t, struct passwd *, char *, size_t,
- struct passwd **);
-
- struct passwd *getpwent(void);
- void setpwent(void);
- void endpwent(void);
-
- int pw_gensalt(char *, size_t, const char *, const char *);
- int pw_scan(char *, struct passwd *, int *);
- int setpassent(int);
- int getpwent_r(struct passwd *, char *, size_t, struct passwd **);
- const char *user_from_uid(uid_t, int);
- int uid_from_user(const char *, uid_t *);
- int pwcache_userdb( int (*)(int), void (*)(void),
- struct passwd * (*)(const char *),
- struct passwd * (*)(uid_t));
-#endif
-__END_DECLS
-
-#endif /* !_PWD_H_ */
diff --git a/StdLib/Include/resolv.h b/StdLib/Include/resolv.h deleted file mode 100644 index d94b3cfb7f..0000000000 --- a/StdLib/Include/resolv.h +++ /dev/null @@ -1,297 +0,0 @@ -/*-
- * Copyright (c) 1983, 1987, 1989, 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.
- */
-
-/*
- * Portions Copyright (c) 1996 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, 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.
- */
-
-/*
- * @(#)resolv.h 8.1 (Berkeley) 6/2/93
- * From Id: resolv.h,v 8.12 1998/04/28 19:36:46 halley Exp $
- * $Id: resolv.h,v 1.1.1.1 2003/11/19 01:48:35 kyu3 Exp $
- */
-
-#ifndef _RESOLV_H_
-#define _RESOLV_H_
-
-#include <arpa/nameser.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/cdefs.h>
-#include <stdio.h>
-#include <paths.h>
-
-#ifndef __P
-#define __P(x) x
-#endif // __P
-
-/*
- * Revision information. This is the release date in YYYYMMDD format.
- * It can change every day so the right thing to do with it is use it
- * in preprocessor commands such as "#if (__RES > 19931104)". Do not
- * compare for equality; rather, use it to determine whether your resolver
- * is new enough to contain a certain feature.
- */
-
-#define __RES 19960801
-
-/*
- * Global defines and variables for resolver stub.
- */
-#define MAXNS 3 /* max # name servers we'll track */
-#define MAXDFLSRCH 3 /* # default domain levels to try */
-#define MAXDNSRCH 6 /* max # domains in search path */
-#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
-
-#define RES_TIMEOUT 5 /* min. seconds between retries */
-#define MAXRESOLVSORT 10 /* number of net to sort on */
-#define RES_MAXNDOTS 15 /* should reflect bit field size */
-
-struct __res_state {
- int retrans; /* retransmition time interval */
- int retry; /* number of times to retransmit */
- u_long options; /* option flags - see below. */
- int nscount; /* number of name servers */
- struct sockaddr_in
- nsaddr_list[MAXNS]; /* address of name server */
-#define nsaddr nsaddr_list[0] /* for backward compatibility */
- u_short id; /* current message id */
- char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
- char defdname[256]; /* default domain (deprecated) */
- u_long pfcode; /* RES_PRF_ flags - see below. */
- unsigned ndots:4; /* threshold for initial abs. query */
- unsigned nsort:4; /* number of elements in sort_list[] */
- char unused[3];
- struct {
- struct in_addr addr;
- u_int32_t mask;
- } sort_list[MAXRESOLVSORT];
- char pad[72]; /* on an i386 this means 512b total */
-};
-
-typedef struct __res_state *res_state;
-
-/*
- * Resolver options (keep these in synch with res_debug.c, please)
- */
-#define RES_INIT 0x00000001 /* address initialized */
-#define RES_DEBUG 0x00000002 /* print debug messages */
-#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/
-#define RES_USEVC 0x00000008 /* use virtual circuit */
-#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */
-#define RES_IGNTC 0x00000020 /* ignore truncation errors */
-#define RES_RECURSE 0x00000040 /* recursion desired */
-#define RES_DEFNAMES 0x00000080 /* use default domain name */
-#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */
-#define RES_DNSRCH 0x00000200 /* search up local domain tree */
-#define RES_INSECURE1 0x00000400 /* type 1 security disabled */
-#define RES_INSECURE2 0x00000800 /* type 2 security disabled */
-#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */
-#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */
-#define RES_NOTLDQUERY 0x00004000 /* Don't query TLD names */
-
-#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
-
-/*
- * Resolver "pfcode" values. Used by dig.
- */
-#define RES_PRF_STATS 0x00000001
-#define RES_PRF_UPDATE 0x00000002
-#define RES_PRF_CLASS 0x00000004
-#define RES_PRF_CMD 0x00000008
-#define RES_PRF_QUES 0x00000010
-#define RES_PRF_ANS 0x00000020
-#define RES_PRF_AUTH 0x00000040
-#define RES_PRF_ADD 0x00000080
-#define RES_PRF_HEAD1 0x00000100
-#define RES_PRF_HEAD2 0x00000200
-#define RES_PRF_TTLID 0x00000400
-#define RES_PRF_HEADX 0x00000800
-#define RES_PRF_QUERY 0x00001000
-#define RES_PRF_REPLY 0x00002000
-#define RES_PRF_INIT 0x00004000
-/* 0x00008000 */
-
-typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error }
- res_sendhookact;
-
-typedef res_sendhookact (*res_send_qhook)__P((struct sockaddr_in * const *ns,
- const u_char **query,
- int *querylen,
- u_char *ans,
- int anssiz,
- int *resplen));
-
-typedef res_sendhookact (*res_send_rhook)__P((const struct sockaddr_in *ns,
- const u_char *query,
- int querylen,
- u_char *ans,
- int anssiz,
- int *resplen));
-
-struct res_sym {
- int number; /* Identifying number, like T_MX */
- char * name; /* Its symbolic name, like "MX" */
- char * humanname; /* Its fun name, like "mail exchanger" */
-};
-
-extern struct __res_state _res;
-extern const struct res_sym __p_class_syms[];
-extern const struct res_sym __p_type_syms[];
-
-/* Private routines shared between libc/net, named, nslookup and others. */
-#define res_hnok __res_hnok
-#define res_ownok __res_ownok
-#define res_mailok __res_mailok
-#define res_dnok __res_dnok
-#define sym_ston __sym_ston
-#define sym_ntos __sym_ntos
-#define sym_ntop __sym_ntop
-#define b64_ntop __b64_ntop
-#define b64_pton __b64_pton
-#define loc_ntoa __loc_ntoa
-#define loc_aton __loc_aton
-#define fp_resstat __fp_resstat
-#define p_query __p_query
-#define dn_skipname __dn_skipname
-#define fp_resstat __fp_resstat
-#define fp_query __fp_query
-#define fp_nquery __fp_nquery
-#define hostalias __hostalias
-#define putlong __putlong
-#define putshort __putshort
-uint16_t _getshort(const u_char *);
-#define p_class __p_class
-#define p_time __p_time
-#define p_type __p_type
-#define p_query __p_query
-#define p_cdnname __p_cdnname
-#define p_section __p_section
-#define p_cdname __p_cdname
-#define p_fqnname __p_fqnname
-#define p_fqname __p_fqname
-#define p_option __p_option
-#define p_secstodate __p_secstodate
-#define dn_count_labels __dn_count_labels
-#define dn_comp __dn_comp
-#define dn_expand __dn_expand
-#define res_init __res_init
-#define res_randomid __res_randomid
-#define res_query __res_query
-#define res_search __res_search
-#define res_querydomain __res_querydomain
-#define res_mkquery __res_mkquery
-#define res_send __res_send
-#define res_isourserver __res_isourserver
-#define res_nameinquery __res_nameinquery
-#define res_queriesmatch __res_queriesmatch
-#define res_close __res_close
-#define res_mkupdate __res_mkupdate
-#define res_mkupdrec __res_mkupdrec
-#define res_freeupdrec __res_freeupdrec
-
-__BEGIN_DECLS
-int res_hnok __P((const char *));
-int res_ownok __P((const char *));
-int res_mailok __P((const char *));
-int res_dnok __P((const char *));
-int sym_ston __P((const struct res_sym *, const char *, int *));
-const char * sym_ntos __P((const struct res_sym *, int, int *));
-const char * sym_ntop __P((const struct res_sym *, int, int *));
-int b64_ntop __P((u_char const *, size_t, char *, size_t));
-int b64_pton __P((char const *, u_char *, size_t));
-int loc_aton __P((const char *, u_char *));
-const char * loc_ntoa __P((const u_char *, char *));
-int dn_skipname __P((const u_char *, const u_char *));
-void fp_resstat __P((struct __res_state *, FILE *));
-void fp_query __P((const u_char *, FILE *));
-void fp_nquery __P((const u_char *, int, FILE *));
-const char * hostalias __P((const char *));
-void putlong __P((u_int32_t, u_char *));
-void putshort __P((u_int16_t, u_char *));
-const char * p_class __P((int));
-const char * p_time __P((u_int32_t));
-const char * p_type __P((int));
-void p_query __P((const u_char *));
-const u_char * p_cdnname __P((const u_char *, const u_char *, int, FILE *));
-const u_char * p_cdname __P((const u_char *, const u_char *, FILE *));
-const u_char * p_fqnname __P((const u_char *, const u_char *,
- int, char *, int));
-const u_char * p_fqname __P((const u_char *, const u_char *, FILE *));
-const char * p_option __P((u_long));
-char * p_secstodate __P((u_long));
-int dn_count_labels __P((const char *));
-int dn_comp __P((const char *, u_char *, int,
- u_char **, u_char **));
-int dn_expand __P((const u_char *, const u_char *, const u_char *,
- char *, int));
-int res_init __P((void));
-u_int res_randomid __P((void));
-int res_query __P((const char *, int, int, u_char *, int));
-int res_search __P((const char *, int, int, u_char *, int));
-int res_querydomain __P((const char *, const char *, int, int,
- u_char *, int));
-int res_mkquery __P((int, const char *, int, int, const u_char *,
- int, const u_char *, u_char *, int));
-int res_send __P((const u_char *, int, u_char *, int));
-int res_isourserver __P((const struct sockaddr_in *));
-int res_nameinquery __P((const char *, int, int,
- const u_char *, const u_char *));
-int res_queriesmatch __P((const u_char *, const u_char *,
- const u_char *, const u_char *));
-void res_close __P((void));
-const char * p_section __P((int, int));
-/* XXX The following depend on the ns_updrec typedef in arpa/nameser.h */
-#ifdef _ARPA_NAMESER_H_
-int res_update __P((ns_updrec *));
-int res_mkupdate __P((ns_updrec *, u_char *, int));
-ns_updrec * res_mkupdrec __P((int, const char *, u_int, u_int, u_long));
-void res_freeupdrec __P((ns_updrec *));
-#endif
-
-__END_DECLS
-
-#endif /* !_RESOLV_H_ */
diff --git a/StdLib/Include/setjmp.h b/StdLib/Include/setjmp.h deleted file mode 100644 index 33ea161799..0000000000 --- a/StdLib/Include/setjmp.h +++ /dev/null @@ -1,65 +0,0 @@ -/** @file
- This file defines the macro setjmp, and declares the function longjmp
- and the type jmp_buf, for bypassing the normal function call and return discipline.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _SETJMP_H
-#define _SETJMP_H
-#include <Library/BaseLib.h>
-#include <sys/EfiCdefs.h>
-
-/** jmp_buf is an array type suitable for holding the information needed to
- restore a calling environment. The environment of a call to the setjmp
- macro consists of information sufficient for a call to the longjmp function
- to return execution to the correct block and invocation of that block, were
- it called recursively. It does not include the state of the floating-point
- status flags, of open files, or of any other component of the abstract
- machine.
-**/
-typedef BASE_LIBRARY_JUMP_BUFFER jmp_buf[1];
-
-/** The setjmp macro saves its calling environment in its jmp_buf argument for
- later use by the longjmp function.
-
- The Standard does not specify whether setjmp is a macro or an identifier
- declared with external linkage. If a macro definition is suppressed in
- order to access an actual function, or a program defines an external
- identifier with the name setjmp, the behavior is undefined by the Standard.
-
- @param[in,out] env A jmp_buf type object into which
- the current environment is stored.
-
- @return If the return is from a direct invocation, the setjmp macro
- returns the value zero. If the return is from a call to the longjmp
- function, the setjmp macro returns a nonzero value based upon the value
- of the second argument to the longjmp function.
-**/
-#define setjmp(env) (INTN)SetJump((env))
-
-/** The longjmp function restores the environment saved by the most recent
- invocation of the setjmp macro in the same invocation of the program with
- the corresponding jmp_buf argument. If there has been no such invocation,
- or if the function containing the invocation of the setjmp macro has
- terminated execution in the interim, or if the invocation of the setjmp
- macro was within the scope of an identifier with variably modified type and
- execution has left that scope in the interim, the behavior is undefined.
-
- @param[in] env The jump buffer containing the environment to be returned to.
- @param[in] val A non-zero value to be returned from setjmp.
-
- @return After longjmp is completed, program execution continues as if the
- corresponding invocation of the setjmp macro had just returned the value
- specified by val. The longjmp function cannot cause the setjmp macro to
- return the value 0; if val is 0, the setjmp macro returns the value 1.
-**/
-extern void longjmp(jmp_buf env, int val);
-
-#endif /* _SETJMP_H */
diff --git a/StdLib/Include/signal.h b/StdLib/Include/signal.h deleted file mode 100644 index 26f8d6b798..0000000000 --- a/StdLib/Include/signal.h +++ /dev/null @@ -1,86 +0,0 @@ -/** @file
- This file declares a type and two functions and defines several
- macros, for handling various signals (conditions that may be reported during
- program execution).
-
- For historical reasons; programs expect signal to be declared
- in <sys/signal.h>. The signal function is documented in <sys/signal.h>.
-
- The signal function is declared in the C Standard as:<BR>
- void (*signal(int sig, void (*func)(int)))(int);
-
- The EDK II implementation of the library or base firmware does not generate
- any of these signals, except as a result of explicit calls to the raise function.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _SIGNAL_H
-#define _SIGNAL_H
-#include <sys/EfiCdefs.h>
-#include <sys/signal.h>
-
-/* The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-
- This, possibly machine specific, type is defined in <machine/signal.h>.
-*/
-
-/** @{
- The following three macros expand to constant expressions with distinct
- values that have type compatible with the second argument to, and the
- return value of, the signal function, and whose values compare unequal to
- the address of any declarable function.
-**/
-#define SIG_IGN ((__sighandler_t *) 0)
-#define SIG_DFL ((__sighandler_t *) 1)
-#define SIG_ERR ((__sighandler_t *) 3)
-/*@}*/
-
-/** @{
- The following macros expand to positive integer constant expressions with
- type int and distinct values that are the signal numbers, each
- corresponding to the specified condition.
- The C95 specification requires these to be macros.
-**/
-#define SIGINT __SigInt ///< receipt of an interactive attention signal
-#define SIGILL __SigIll ///< detection of an invalid function image, such as an invalid instruction
-#define SIGABRT __SigAbrt ///< abnormal termination, such as is initiated by the abort function
-#define SIGFPE __SigFpe ///< an erroneous arithmetic operation, such as zero divide or an operation resulting in overflow
-#define SIGSEGV __SigSegv ///< an invalid access to storage
-#define SIGTERM __SigTerm ///< a termination request sent to the program
-#define SIGBREAK __SigBreak ///< added for Python
-#define SIGALRM __SigAlrm ///< Added for Posix timer functions
-#define SIGVTALRM __SigVtAlrm ///< Added for Posix timer functions
-#define SIGPROF __SigProf ///< Added for Posix timer functions
-#define SIGUSR1 __SigUsr1 ///< Added for Posix timer functions
-#define SIGUSR2 __SigUsr2 ///< Added for Posix timer functions
-#define SIGWINCH __SigWinch ///< Added for Posix timer functions
-#define SIGPIPE __SigPipe ///< Added for Posix timer functions
-#define SIGQUIT __SigQuit ///< Added for Posix timer functions
-#define SIG_LAST __Sig_Last ///< One more than the largest signal number
-/*@}*/
-
-__BEGIN_DECLS
-
-/** Send a signal.
-
- The raise function carries out the actions described for signal,
- in <sys/signal.h>, for the signal sig. If a signal handler is called, the
- raise function does not return until after the signal handler does.
-
- @return The raise function returns zero if successful,
- or nonzero if unsuccessful.
-**/
-int raise(int sig);
-
-__END_DECLS
-
-#endif /* _SIGNAL_H */
diff --git a/StdLib/Include/stdarg.h b/StdLib/Include/stdarg.h deleted file mode 100644 index 9a30e28fbf..0000000000 --- a/StdLib/Include/stdarg.h +++ /dev/null @@ -1,146 +0,0 @@ -/** @file
- This header, <stdarg.h>, declares type va_list and defines macros: va_start, va_arg, va_end;
- for advancing through a list of arguments whose number and types are not known to the
- called function when it is translated.
-
- A function may be called with a variable number of arguments of varying types.
- The rightmost argument plays a special role in the access mechanism, and will
- be designated paramN in this and subsequent descriptions.
-
- The type va_list is a type suitable for holding information needed by the
- macros va_start, va_arg, and va_end. If access to the varying arguments
- is desired, the called function shall declare an object (referred to as ap
- in these descriptions) having type va_list. The object ap may be passed as
- an argument to another function; if the receiving function invokes the va_arg macro
- with parameter ap, the value of ap in the calling function becomes indeterminate
- and must be passed to the va_end macro prior to any further reference to ap.
-
- The va_start and va_arg macros must be implemented as macros, not as actual
- functions. The va_start and va_end macros must be invoked in the
- function accepting a varying number of arguments, if access to the varying
- arguments is desired.
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _STDARG_H
-#define _STDARG_H
-#include <sys/EfiCdefs.h>
-
-/** @{
- The type va_list is a type suitable for holding information needed by the
- macros va_start, va_arg, and va_end.
-
- Depending upon compiler or CPU architecture, different definitions are required.
-**/
-#if defined(__GNUC__)
-typedef __builtin_va_list va_list;
-#else
-#define va_list VA_LIST
-#endif
-/*@}*/
-
-/** @{
- The va_start macro must be invoked before any access to the unnamed arguments.
- The va_start macro initializes ap for subsequent use by va_arg and va_end.
-
- Synopsys: void va_start(va_list ap, paramN);
-
- @param ap An object of type va_list that is to be initialized such
- that subsequent successive invocations of va_arg will
- return the values of the parameters following paramN.
-
- @param paramN The parameter paramN is the identifier of the rightmost
- parameter in the variable parameter list in the function
- definition (the one just before the ,...). If the
- parameter parmN is declared with the register storage
- class, with a function of array type, or with a type that
- is not compatible with the type that results after
- application of the default argument promotions, the
- behavior is undefined.
-**/
-#if defined(__GNUC__)
-#define va_start __builtin_va_start
-#else
-#define va_start VA_START
-#endif
-/*@}*/
-
-/** @{
- The va_arg macro expands to an expression that has the type and value of
- the next argument in the call. The parameter ap shall be the same as the
- va_list ap initialized by va_start. Each invocation of va_arg modifies ap
- so that the values of successive arguments are returned in turn. The
- parameter type is a type name specified such that the type of a pointer to
- an object that has the specified type can be obtained simply by postfixing
- a * to type. If there is no actual next argument, or if type is not
- compatible with the type of the actual next argument (as promoted
- according to the default argument promotions), the behavior is undefined.
-
- Synopsys: type va_arg(va_list ap, type);
-
- @param ap An object of type va_list that was initialized by a prior
- invocation of va_start.
-
- @param type A type name specifying the type of the parameter to be retrieved.
-
- @return The first invocation of the va_arg macro after that of the
- va_start macro returns the value of the argument after that
- specified by paramN. Successive invocations return the values
- of the remaining arguments in succession.
-**/
-#if defined(__GNUC__)
-#define va_arg __builtin_va_arg
-#else
-#define va_arg VA_ARG
-#endif
-/*@}*/
-
-/** @{
- The va_end macro facillitates a normal return from the function whose
- variable argument list was referred to by the expansion of va_start that
- initialized the va_list ap.
-
- Synopsys: void va_end(va_list ap);
-
- The va_end macro may modify ap so that it is no longer usable (without an
- intervening invocation of va_start). If there is no corresponding
- invocation of the va_start macro, or if the va_end macro is not invoked
- before the return, the behavior is undefined.
-
- @param ap An object of type va_list, initialized by a prior
- invocation of va_start, that will no longer be referenced.
-**/
-#if defined(__GNUC__)
-#define va_end __builtin_va_end
-#else
-#define va_end VA_END
-#endif
-/*@}*/
-
-/** @{
- For BSD compatibility.
-**/
-#if defined(__GNUC__)
-#define va_copy __builtin_va_copy
-#else
-#define va_copy(s,d) (s) = (d)
-#endif
-/*@}*/
-
-/** Provide a generic version of the compiler-dependent __va_copy macro.
- Some software, such as Python 2.7.2, relies upon the existence of __va_copy.
- If this macro is not defined, it just assigns one va_list item to another.
- This breaks for compiler environments that define va_list as an array or structure.
-**/
-#ifndef __va_copy
- #define __va_copy va_copy
-#endif
-
-#endif /* _STDARG_H */
diff --git a/StdLib/Include/stdbool.h b/StdLib/Include/stdbool.h deleted file mode 100644 index 32088665c4..0000000000 --- a/StdLib/Include/stdbool.h +++ /dev/null @@ -1,37 +0,0 @@ -/** @file
- Macros to simplify boolean expressions and operations.
-
- This header is not specified by the C95 standard but is included here for
- operational convenience.
-
- The macro bool expands to _Bool, as required by the C99 specification.
- This subsequently expands to BOOLEAN, is a UEFI data type which is automatically
- defined correctly for the target CPU architecture.
-
- The remaining three macros are suitable for use in #if preprocessing
- directives. They are true, which expands to the integer constant 1,
- false, which expands to the integer constant 0, and
- __bool_true_false_are_defined which expands to the integer constant 1.
-
- A program may undefine and perhaps then redefine the
- macros bool, true, and false.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _STDBOOL_H
-#define _STDBOOL_H
-#include <sys/EfiCdefs.h>
-
-#define bool _Bool
-#define true 1
-#define false 0
-#define __bool_true_false_are_defined 1
-
-#endif /* _STDBOOL_H */
diff --git a/StdLib/Include/stddef.h b/StdLib/Include/stddef.h deleted file mode 100644 index ce4483acbf..0000000000 --- a/StdLib/Include/stddef.h +++ /dev/null @@ -1,68 +0,0 @@ -/** @file
- Common "Standard" Definitions.
-
- The files stddef.h and stdlib.h are "catch all" headers for definitions and declarations
- that don't fit well in the other headers. There are two separate header files because
- the contents of <stddef.h> are valid in both freestanding and hosted environment, while the
- header <stdlib.h> contains elements that are only valid in a hosted environment.
-
- This means that the elements in this file may not impose dependencies on headers other than
- <float.h>, <iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, and (of course) <sys/EfiCdefs.h>.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _STDDEF_H
-#define _STDDEF_H
-#include <sys/EfiCdefs.h>
-
-#ifdef _EFI_PTRDIFF_T_
- /** ptrdiff_t is the signed integer type of the result of subtracting two pointers. **/
- typedef _EFI_PTRDIFF_T_ ptrdiff_t;
- #undef _EFI_PTRDIFF_T_
-#endif
-
-#ifdef _EFI_SIZE_T_
- /** size_t is the unsigned integer type of the result of the sizeof operator. **/
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-#ifndef __cplusplus
- #ifdef _EFI_WCHAR_T
- /** wchar_t is an integer type whose range of values can represent distinct
- codes for all members of the largest extended character set specified among
- the supported locales. The null character shall have the code value zero.
- **/
- typedef _EFI_WCHAR_T wchar_t;
- #undef _EFI_WCHAR_T
- #undef _BSD_WCHAR_T_
- #endif
-#endif
-
-/** @def NULL
- A macro that expands to a null pointer constant.<BR>
- NULL is defined in MdePkg/Include/Base.h which is automatically included
- by the EDK II build tools.
-**/
-
-/** The offsetof macro determines the offset of the beginning of a structure
- member from the beginning of the structure.
-
- The macro expands to an integer constant expression that has type size_t,
- the value of which is the offset in bytes, to the structure member (Member),
- from the beginning of its structure (StrucName).
-
- Alliased to OFFSET_OF which is defined in MdePkg/Include/Base.h which is
- automatically included by the EDK II build tools.
-**/
-#define offsetof(StrucName, Member) OFFSET_OF(StrucName, Member)
-
-#endif /* _STDDEF_H */
diff --git a/StdLib/Include/stdint.h b/StdLib/Include/stdint.h deleted file mode 100644 index 04656a1d26..0000000000 --- a/StdLib/Include/stdint.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/stdint.h>
diff --git a/StdLib/Include/stdio.h b/StdLib/Include/stdio.h deleted file mode 100644 index c0a4deb783..0000000000 --- a/StdLib/Include/stdio.h +++ /dev/null @@ -1,1620 +0,0 @@ -/** @file
- Macros, types, and functions for performing I/O.
-
- The following functions are declared in this file:<BR>
-@verbatim
- ################### Operations on files. ####
- int remove (const char *FileName);
- int rename (const char *, const char *);
- FILE *tmpfile (void);
- char *tmpnam (char *);
-
- ################### File access functions. ####
- int fclose (FILE *);
- int fflush (FILE *);
- FILE *fopen (const char * __restrict ,
- const char * __restrict);
- FILE *freopen (const char * __restrict,
- const char * __restrict, FILE * __restrict);
- void setbuf (FILE * __restrict, char * __restrict);
- int setvbuf (FILE * __restrict, char * __restrict,
- int, size_t);
-
- ################### Formatted Input/Output Functions. ####
- int fprintf (FILE * __restrict stream,
- const char * __restrict format, ...);
- int fscanf (FILE * __restrict, const char * __restrict, ...);
- int printf (const char * __restrict, ...);
- int scanf (const char * __restrict, ...);
- int sprintf (char * __restrict, const char * __restrict, ...);
- int sscanf (const char * __restrict,
- const char * __restrict, ...);
- int vfprintf (FILE * __restrict,
- const char * __restrict, va_list);
- int vprintf (const char * __restrict, va_list);
- int vsprintf (char * __restrict,
- const char * __restrict, va_list);
-
- ################### Character Input/Output Functions. ####
- int fgetc (FILE *);
- char *fgets (char * __restrict, int, FILE * __restrict);
- int fputc (int, FILE *);
- int fputs (const char * __restrict, FILE * __restrict);
- int getc (FILE *);
- int getchar (void);
- char *gets (char *);
- int putc (int, FILE *);
- int putchar (int);
- int puts (const char *);
- int ungetc (int, FILE *);
-
- ################### Direct Input/Output Functions. ####
- size_t fread (void * __restrict, size_t, size_t,
- FILE * __restrict);
- size_t fwrite (const void * __restrict, size_t, size_t,
- FILE * __restrict);
-
- ################### File Positioning Functions. ####
- int fgetpos (FILE * __restrict, fpos_t * __restrict);
- int fseek (FILE *, long, int);
- int fsetpos (FILE *, const fpos_t *);
- long ftell (FILE *);
- void rewind (FILE *);
-
- ################### Error-handling Functions. ####
- void clearerr (FILE *);
- int feof (FILE *);
- int ferror (FILE *);
- void perror (const char *);
-
- ################### Functions NOT specified by C95 ####
-
- FILE *fdopen (int, const char *);
- void flockfile (FILE *);
- int ftrylockfile (FILE *);
- void funlockfile (FILE *);
- int getc_unlocked (FILE *);
- int getchar_unlocked(void);
- int putc_unlocked (int, FILE *);
- int putchar_unlocked(int);
- int pclose (FILE *);
- FILE *popen (const char *, const char *);
- int snprintf (char * __restrict, size_t,
- const char * __restrict, ...);
- int vsnprintf (char * __restrict, size_t,
- const char * __restrict, va_list);
- char *mkdtemp (char *);
- int mkstemp (char *);
- char *mktemp (char *);
- char *tempnam (const char *, const char *);
- int fseeko (FILE *, off_t, int);
- char *fgetln (FILE * __restrict, size_t * __restrict);
- char *fparseln (FILE *, size_t *, size_t *, const char[3], int);
- int fpurge (FILE *);
- void setbuffer (FILE *, char *, int);
- int setlinebuf (FILE *);
- int vasprintf (char ** __restrict, const char * __restrict,
- va_list);
- int vscanf (const char * __restrict, va_list);
- int vsscanf (const char * __restrict,
- const char * __restrict, va_list);
-@endverbatim
-
- @note To fit things in six character monocase externals, the stdio
- code uses the prefix `__s' for stdio objects, typically followed
- by a three-character attempt at a mnemonic.
-
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * 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.
- *
- * @(#)stdio.h 8.5 (Berkeley) 4/29/95
- NetBSD: stdio.h,v 1.66.2.3 2007/08/24 20:07:38 liamjfoy Exp
- */
-#ifndef _STDIO_H_
-#define _STDIO_H_
-
-#include <stdarg.h>
-#include <limits.h>
-#include <sys/ansi.h>
-#include <machine/ansi.h>
-
-#ifdef _EFI_SIZE_T_
- /** size_t is the unsigned integer type of the result of the sizeof operator. **/
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-/** @{
- An object type capable of holding all information necessary to specify any
- position within a file.
-
- Each wide-oriented stream has an associated mbstate_t object that stores the
- current parse state of the stream. A successful call to fgetpos stores a
- representation of the value of this mbstate_t object as part of the value
- of the fpos_t object. A later successful call to fsetpos using the same
- stored fpos_t value restores the value of the associated mbstate_t object
- as well as the position within the controlled stream.
-
- This is fairly grotesque, but pure ANSI code must not inspect the
- innards of an fpos_t anyway. The library internally uses off_t,
- which we assume is exactly as big as eight chars.
-**/
-#if (!defined(_ANSI_SOURCE) && !defined(__STRICT_ANSI__)) || defined(_LIBC)
-typedef __off_t fpos_t;
-#else
-typedef struct __sfpos {
- __off_t _pos;
-} fpos_t;
-#endif
-/*@}*/
-
-/* stdio buffers */
-struct __sbuf {
- unsigned char *_base;
- int _size;
-};
-
-/** Structure which holds all the information needed to control a stream or file.
- *
- * The following always hold:<BR>
- *
- * - if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
- * - _lbfsize is -_bf._size, else _lbfsize is 0
- * - if _flags&__SRD, _w is 0
- * - if _flags&__SWR, _r is 0
- *
- * This ensures that the getc and putc macros (or inline functions) never
- * try to write or read from a file that is in `read' or `write' mode.
- * (Moreover, they can, and do, automatically switch from read mode to
- * write mode, and back, on "r+" and "w+" files.)
- *
- * _lbfsize is used only to make the inline line-buffered output stream
- * code as compact as possible.
- *
- * _ub, _up, and _ur are used when ungetc() pushes back more characters
- * than fit in the current _bf, or when ungetc() pushes back a character
- * that does not match the previous one in _bf. When this happens,
- * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
- * _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
- *
- */
-typedef struct __sFILE {
- unsigned char *_p; /**< current position in (some) buffer */
- int _r; /**< read space left for getc() */
- int _w; /**< write space left for putc() */
- unsigned short _flags; /**< flags, below; this FILE is free if 0 */
- short _file; /**< fileno, if Unix descriptor, else -1 */
- struct __sbuf _bf; /**< the buffer (at least 1 byte, if !NULL) */
- int _lbfsize; /**< 0 or -_bf._size, for inline putc */
-
- /* operations */
- void *_cookie; /**< cookie passed to io functions */
- int (*_close)(void *);
- int (*_read) (void *, char *, int);
- fpos_t (*_seek) (void *, fpos_t, int);
- int (*_write)(void *, const char *, int);
-
- /** file extension */
- struct __sbuf _ext;
-
- /** @{
- Separate buffer for long sequences of ungetc().
- **/
- unsigned char *_up; /**< saved _p when _p is doing ungetc data */
- int _ur; /**< saved _r when _r is counting ungetc data */
- /*@}*/
-
- /* tricks to meet minimum requirements even when malloc() fails */
- unsigned char _ubuf[3 * MB_LEN_MAX]; /**< guarantee an ungetc() buffer */
- unsigned char _nbuf[1 * MB_LEN_MAX]; /**< guarantee a getc() buffer */
-
- /** separate buffer for fgetln() when line crosses buffer boundary */
- struct __sbuf _lb; /* buffer for fgetln() */
-
- /* Unix stdio files get aligned to block boundaries on fseek() */
- int _blksize; /**< stat.st_blksize (may be != _bf._size) */
- fpos_t _offset; /**< current lseek offset */
-} FILE;
-
-__BEGIN_DECLS
-extern FILE __sF[];
-__END_DECLS
-
-#define __SLBF 0x0001 /**< line buffered */
-#define __SNBF 0x0002 /**< unbuffered */
-#define __SRD 0x0004 /**< OK to read */
-#define __SWR 0x0008 /**< OK to write */
- /* RD and WR are never simultaneously asserted */
-#define __SRW 0x0010 /**< open for reading & writing */
-#define __SEOF 0x0020 /**< found EOF */
-#define __SERR 0x0040 /**< found error */
-#define __SMBF 0x0080 /**< _buf is from malloc */
-#define __SAPP 0x0100 /**< fdopen()ed in append mode */
-#define __SSTR 0x0200 /**< this is an sprintf/snprintf string */
-#define __SOPT 0x0400 /**< do fseek() optimization */
-#define __SNPT 0x0800 /**< do not do fseek() optimization */
-#define __SOFF 0x1000 /**< set iff _offset is in fact correct */
-#define __SMOD 0x2000 /**< true => fgetln modified _p text */
-#define __SALC 0x4000 /**< allocate string space dynamically */
-
-/* The following three definitions are for ANSI C, which took them
- from System V, which brilliantly took internal interface macros and
- made them official arguments to setvbuf(), without renaming them.
- Hence, these ugly _IOxxx names are *supposed* to appear in user code.
-
- Although numbered as their counterparts above, the implementation
- does not rely on this.
- */
-#define _IOFBF 0 /**< setvbuf should set fully buffered */
-#define _IOLBF 1 /**< setvbuf should set line buffered */
-#define _IONBF 2 /**< setvbuf should set unbuffered */
-
-#define BUFSIZ 1024 /**< size of buffer used by setbuf */
-#define EOF (-1) /**< A constant integer expression indicating end-of-file. */
-
-/** FOPEN_MAX is a minimum maximum, and is the number of streams that
- stdio can provide without attempting to allocate further resources
- (which could fail). Do not use this for anything.
- */
-#define FOPEN_MAX OPEN_MAX /* must be <= OPEN_MAX <sys/syslimits.h> */
-
-/** Size needed for an array of char large enough to hold the longest file name string. */
-#define FILENAME_MAX PATH_MAX /* must be <= PATH_MAX <sys/syslimits.h> */
-
-/** Size needed for an array of char large enough to hold the file name string
- generated by the tmpname() function.
-**/
-#define L_tmpnam PATH_MAX /* must be == PATH_MAX */
-
-#ifndef TMP_MAX
-#define TMP_MAX 308915776 /**< The maximum number of unique file names
- that can be generated by tmpnam(). **/
-#endif
-
-/* Always ensure that these are consistent with <fcntl.h>! */
-#ifndef SEEK_SET
-#define SEEK_SET 0 /**< set file offset to offset */
-#endif
-#ifndef SEEK_CUR
-#define SEEK_CUR 1 /**< set file offset to current plus offset */
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2 /**< set file offset to EOF plus offset */
-#endif
-
-#define stdin (&__sF[0]) /**< FILE reference for the STanDard INput stream. */
-#define stdout (&__sF[1]) /**< FILE reference for the STanDard OUTput stream. */
-#define stderr (&__sF[2]) /**< FILE reference for the STanDard ERRor stream. */
-
-__BEGIN_DECLS
-/* Functions defined in C95 standard. ###################################### */
-
-/* ################ Operations on files. */
-
-/** Remove (delete) a file.
-
- @param[in] FileName The path to the file to be removed.
-
- @retval Zero The operation succeeded.
- @retval Non-zero The operation failed.
-**/
-int remove (const char *FileName);
-
-/** Rename the file named OldName to NewName.
-
- @param[in] OldName The name of the existing file to be renamed.
- @param[in] NewName The new name of the file.
-
- @retval Zero The operation succeeded.
- @retval Non-zero The operation failed. OldName still exists and has been unmodified.
- If OldName does not exist, or a file named NewName already exists,
- rename() will fail are return a non-zero value.
-**/
-int rename (const char *OldName, const char *NewName);
-
-/** Create a guaranteed unique temporary file.
- A binary file is created in the _PATH_TMP directory that is guaranteed to
- have a unique name. The file will be open for update with mode "wb+" and
- its FILE pointer returned upon successfull completion. When the file is
- closed, or when the creating program terminates, the file will be removed.
-
- @retval NULL The temporary file could not be created.
- @retval non-NULL The returned value is a pointer to the FILE object
- associated with the newly created and open temporary file.
-**/
-FILE *tmpfile (void);
-
-/** Generate a string that is a valid file name, in the _PATH_TMP directory, that
- is not the same as the name of an existing file. The function can potentially
- generate up to TMP_MAX different strings.
-
- @param[out] Buffer A pointer to an array of at least L_tmpnam char elements.
- or NULL. If non-NULL, the tmpnam function writes its
- result into that array and returns the argument
- as its value.
-
- @return If no suitable string can be generated a NULL pointer is returned.
- Otherwise, if Buffer is NULL, the result is produced in an internal
- static object and a pointer to that object is returned. If Buffer
- is non-null, the results are written into the array pointed to by
- Buffer and Buffer is returned.
-**/
-char *tmpnam (char *Buffer);
-
-/* ################ File access functions. */
-
-/** Close the open stream, specified by fp, and de-associate it from any file or device.
-
- @param[in] fp Pointer to a stream object, of type FILE, associated with a
- file or device.
-
- @retval Zero The stream was successfully closed.
- @retval Non-zero There was an error closing the stream.
-**/
-int fclose (FILE *fp);
-
-/** Empties any buffers associated with the stream specified by fp.
-
- @param[in] fp Pointer to a stream object, of type FILE, associated with a
- file or device.
-
- @retval Zero The stream's buffers were successfully emptied.
- @retval EOF There was an error writing to the stream.
-**/
-int fflush (FILE *fp);
-
-/** Associates a file, named by Path, with a stream and prepares it for subsequent
- operations.
-
- The parameter Mode points to a string specifying behavior characteristics for
- the opened file. The recognized Mode strings are:
- - r Open text file for reading.
- - w Truncate file to zero length or create text file for writing.
- - a Open or create a text file for writing at end-of-file (append).
- - rb Open binary file for reading.
- - wb Truncate file to zero length or create binary file for writing.
- - ab Open or create a binary file for writing at end-of-file (append).
- - r+ Open text file for update (reading and writing).
- - w+ Truncate file to zero length or create text file for update.
- - a+ Open or create a text file for update, writing at end-of-file.
- - r+b or rb+ Open binary file for update (reading and writing).
- - w+b or wb+ Truncate file to zero length or create binary file for update.
- - a+b or ab+ Open or create a binary file for update, writing at end-of-file.
-
- Opening a file with read mode fails if the file does not exist.
-
- Opening a file with append mode causes all writes to the file to be forced to
- the current end-of-file, regardless of any intervening calls to fseek.
-
- @param[in] Path The path or name of the file or device to open.
- @param[in] Mode The mode in which the file is to be opened.
-
- @return A pointer to a FILE object associated with the opened file is returned
- if the file was opened successfully. Otherwise, NULL is returned.
-**/
-FILE *fopen (const char * __restrict Path, const char * __restrict Mode);
-
-/** Closes the file associated with Ofp then opens the file specified by Path and associates it with
- stream Ofp.
-
- Any errors that occur when closing Ofp are ignored. The file specified by Path is opened with mode Mode
- and associated with stream Ofp instead of producing a new stream object.
-
- If Path is NULL, the mode of the file associated with Ofp is changed to Mode.
-
- @param[in] Path The path or name of the file or device to open.
- @param[in] Mode The mode in which the file is to be opened.
- @param[in] Ofp Pointer to the FILE object to be closed and associated with the new file.
-
- @return If Path was not able to be opened, or the mode changed, NULL is returned;
- otherwise Ofp is returned.
-**/
-FILE *freopen (const char * __restrict Path, const char * __restrict Mode, FILE * __restrict Ofp);
-
-/** Establishes Fully Buffered or Non-buffered mode for a stream, fp, using Buff as the buffer.
-
- The file associated with fp must have been successfully opened with no operations, other than
- possibly an unsuccessful call to setvbuf, performed prior to the call to setbuf.
-
- If Buff is non-NULL, the stream associated with fp is set to Fully Buffered mode using the
- array pointed to by Buff as the buffer. The buffer is assumed to be BUFSIZ char long.
- This is equivalent to calling setvbuf(fp, Buff, _IOFBF, BUFSIZ);
-
- If Buff is NULL, stream fp is set to Non-buffered mode.
- This is equivalent to calling setvbuf(fp, NULL, _IONBF, 0);
-
- @param[in] fp Pointer to the FILE object which will have its buffer set.
- @param[in] Buff The buffer to use for fp, or NULL.
-**/
-void setbuf (FILE * __restrict fp, char * __restrict Buff);
-
-/** Establishes a buffering mode and buffer for use by operations performed on the file associated with fp.
-
- The file associated with fp must have been successfully opened with no operations, other than
- possibly an unsuccessful call to setvbuf, performed prior to the call to setbuf.
-
- Parameter BufMode determines how stream fp will be buffered:
- - _IOFBF causes I/O to be fully buffered.
- - _IOLBF causes I/O to be line buffered.
- - _IONBF causes I/O to be unbuffered.
-
- If Buff is not NULL, it points to an array to be used as an I/O buffer for stream fp. The
- buffer is set to BufSize char in length. Otherwise, an array of BufSize char is allocated
- by the setvbuf function if BufMode is not _IONBF.
-
- It is an error for BufSize to be zero unless BufMode is _IONBF, in which case BufSize is ignored.
-
- @param[in] fp Pointer to the FILE object which will have its buffer set.
- @param[in] Buff The buffer to use for fp, or NULL.
- @param[in] BufMode The buffering mode to use.
- @param[in] BufSize The size of the buffer to use, specified in char.
-
- @retval Zero The buffer and mode were established successfully.
- @retval Non-zero The request can not be honored, or an invalid value for BufMode was given.
-**/
-int setvbuf (FILE * __restrict fp, char * __restrict Buff, int BufMode, size_t BufSize);
-
-/* ################ Formatted Input/Output Functions. */
-
-/** The fprintf function writes output to the stream pointed to by stream,
- under control of the string pointed to by format that specifies how
- subsequent arguments are converted for output. If there are insufficient
- arguments for the format, the behavior is indeterminate. If the format is
- exhausted while arguments remain, the excess arguments are evaluated
- (as always) but are otherwise ignored. The fprintf function returns when
- the end of the format string is encountered.
-
- The format is interpreted as a multibyte character sequence, beginning and ending
- in its initial shift state. The format is composed of zero or more directives:
- ordinary multibyte characters (not %), which are copied unchanged to the
- output stream; and conversion specifications, each of which results in
- fetching zero or more subsequent arguments, converting them, if applicable,
- according to the corresponding conversion specifier, and then writing the
- result to the output stream.
-
- Each conversion specification is introduced by the character %. After
- the %, the following appear in sequence:
- - Zero or more flags (in any order) that modify the meaning of the
- conversion specification.
- - An optional minimum field width. If the converted value has fewer
- characters than the field width, it is padded with spaces (by default)
- on the left (or right, if the left adjustment flag, described later,
- has been given) to the field width. The field width takes the form of
- an asterisk * (described later) or a nonnegative decimal integer.
- - An optional precision that gives the minimum number of digits to appear
- for the d, i, o, u, x, and X conversions, the number of digits to
- appear after the decimal-point character for e, E, f, and F
- conversions, the maximum number of significant digits for the g and G
- conversions, or the maximum number of bytes to be written for s
- conversions. The precision takes the form of a period (.) followed
- either by an asterisk * (described later) or by an optional decimal
- integer; if only the period is specified, the precision is taken as
- zero. If a precision appears with any other conversion specifier, it
- is ignored.
- - An optional length modifier that specifies the size of the argument.
- - A conversion specifier character that specifies the type of conversion
- to be applied.
-
- As noted above, a field width, or precision, or both, may be indicated by
- an asterisk. In this case, an int argument supplies the field width or
- precision. The arguments specifying field width, or precision, or both, shall
- appear (in that order) before the argument (if any) to be converted. A negative
- field width argument is taken as a - flag followed by a positive field width.
- A negative precision argument is interpreted as if the precision were omitted.
-
- The flag characters and their meanings are:
- - The result of the conversion is left-justified within the field.
- (It is right-justified if this flag is not specified.)
- + The result of a signed conversion always begins with a plus or
- minus sign. (It begins with a sign only when a negative value is
- converted if this flag is not specified.)
- space If the first character of a signed conversion is not a sign, or
- if a signed conversion results in no characters, a space is
- prefixed to the result. If the space and + flags both appear, the
- space flag is ignored.
- # The result is converted to an "alternative form".
- - For o conversion, it increases the precision, if and only if necessary,
- to force the first digit of the result to be a zero (if the value
- and precision are both 0, a single 0 is printed).
- - For x (or X) conversion, a nonzero result has 0x (or 0X) prefixed to it.
- - For e, E, f, F, g, and G conversions, the result of converting a
- floating-point number always contains a decimal-point character,
- even if no digits follow it. (Normally, a decimal-point character
- appears in the result of these conversions only if a digit follows
- it.)
- - For g and G conversions, trailing zeros are not removed from
- the result. For other conversions, it is ignored.
- 0 For d, i, o, u, x, X, e, E, f, F, g, and G conversions, leading
- zeros (following any indication of sign or base) are used to pad to
- the field width rather than performing space padding, except when
- converting an infinity or NaN. If the 0 and - flags both appear,
- the 0 flag is ignored. For d, i, o, u, x, and X conversions, if a
- precision is specified, the 0 flag is ignored.
-
- The length modifiers and their meanings are:
- hh Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a signed char or unsigned char argument (the argument
- will have been promoted according to the integer promotions, but
- its value shall be converted to signed char or unsigned char before
- printing); or that a following n conversion specifier applies to a
- pointer to a signed char argument.
- h Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a short int or unsigned short int argument (the argument
- will have been promoted according to the integer promotions, but
- its value shall be converted to short int or unsigned short int
- before printing); or that a following n conversion specifier
- applies to a pointer to a short int argument.
- l (ell) Specifies that a following d, i, o, u, x, or X conversion
- specifier applies to a long int or unsigned long int argument; that
- a following n conversion specifier applies to a pointer to a long
- int argument; that a following c conversion specifier applies to a
- wint_t argument; that a following s conversion specifier applies to
- a pointer to a wchar_t argument; or has no effect on a following e,
- E, f, F, g, or G conversion specifier.
- ll (ell-ell) Specifies that a following d, i, o, u, x, or X conversion
- specifier applies to a long long int or unsigned long long int
- argument; or that a following n conversion specifier applies to a
- pointer to a long long int argument.
- j Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to an intmax_t or uintmax_t argument; or that a following n
- conversion specifier applies to a pointer to an intmax_t argument.
- z Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a size_t or the corresponding signed integer type
- argument; or that a following n conversion specifier applies to a
- pointer to a signed integer type corresponding to size_t argument.
- t Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a ptrdiff_t or the corresponding unsigned integer type
- argument; or that a following n conversion specifier applies to a
- pointer to a ptrdiff_t argument.
- L Specifies that a following e, E, f, F, g, or G conversion specifier
- applies to a long double argument.
-
- If a length modifier appears with any conversion specifier other than as
- specified above, it is ignored.
-
- The conversion specifiers and their meanings are:
- d,i The int argument is converted to signed decimal in the style
- [-]dddd. The precision specifies the minimum number of digits to
- appear; if the value being converted can be represented in fewer
- digits, it is expanded with leading zeros. The default precision
- is 1. The result of converting a zero value with a precision of
- zero is no characters.
- o,u,x,X The unsigned int argument is converted to unsigned octal (o),
- unsigned decimal (u), or unsigned hexadecimal notation (x or X) in
- the style dddd; the letters abcdef are used for x conversion and
- the letters ABCDEF for X conversion. The precision specifies the
- minimum number of digits to appear; if the value being converted
- can be represented in fewer digits, it is expanded with leading
- zeros. The default precision is 1. The result of converting a zero
- value with a precision of zero is no characters.
- f,F A double argument representing a floating-point number is
- converted to decimal notation in the style [-]ddd.ddd, where the
- number of digits after the decimal-point character is equal to the
- precision specification. If the precision is missing, it is taken
- as 6; if the precision is zero and the # flag is not specified, no
- decimal-point character appears. If a decimal-point character
- appears, at least one digit appears before it. The value is rounded
- to the appropriate number of digits.
- A double argument representing an infinity is converted in
- the style [-]inf. A double argument representing a NaN is
- converted in the style [-]nan. The F conversion specifier produces INF,
- INFINITY, or NAN instead of inf, infinity, or nan, respectively.
- e,E A double argument representing a floating-point number is
- converted in the style [-]d.ddd e[+-]dd, where there is one digit
- (which is nonzero if the argument is nonzero) before the
- decimal-point character and the number of digits after it is equal
- to the precision; if the precision is missing, it is taken as 6; if
- the precision is zero and the # flag is not specified, no
- decimal-point character appears. The value is rounded to the
- appropriate number of digits. The E conversion specifier produces a
- number with E instead of e introducing the exponent. The exponent
- always contains at least two digits, and only as many more digits
- as necessary to represent the exponent. If the value is zero, the
- exponent is zero.
- A double argument representing an infinity or NaN is converted
- in the style of an f or F conversion specifier.
- g,G A double argument representing a floating-point number is
- converted in style f or e (or in style F or E in the case of a G
- conversion specifier), depending on the value converted and the
- precision. Let P equal the precision if nonzero, 6 if the precision
- is omitted, or 1 if the precision is zero. Then, if a conversion
- with style E would have an exponent of X:
- - if P > X = -4, the conversion is with style f (or F) and
- precision P - (X + 1).
- - otherwise, the conversion is with style e (or E) and
- precision P - 1.
-
- Finally, unless the # flag is used, any trailing zeros are removed
- from the fractional portion of the result and the decimal-point
- character is removed if there is no fractional portion remaining.
- A double argument representing an infinity or NaN is converted in
- the style of an f or F conversion specifier.
- c If no l length modifier is present, the int argument is
- converted to an unsigned char, and the resulting character is
- written. If an l length modifier is present, the wint_t argument is
- converted as if by an ls conversion specification with no precision
- and an argument that points to the initial element of a two-element
- array of wchar_t, the first element containing the wint_t argument
- to the lc conversion specification and the second a null wide
- character.
- s If no l length modifier is present, the argument is a pointer
- to the initial element of an array of character type. Characters
- from the array are written up to (but not including) the
- terminating null character. If the precision is specified, no more
- than that many bytes are written. If the precision is not specified
- or is greater than the size of the array, the array shall contain a
- null character.
- If an l length modifier is present, the argument shall be a
- pointer to the initial element of an array of wchar_t type. Wide
- characters from the array are converted to multibyte characters
- (each as if by a call to the wcrtomb function, with the conversion
- state described by an mbstate_t object initialized to zero before
- the first wide character is converted) up to and including a
- terminating null wide character. The resulting multibyte characters
- are written up to (but not including) the terminating null
- character (byte). If no precision is specified, the array shall
- contain a null wide character. If a precision is specified, no more
- than that many bytes are written (including shift sequences, if
- any), and the array shall contain a null wide character if, to
- equal the multibyte character sequence length given by the
- precision, the function would need to access a wide character one
- past the end of the array. In no case is a partial multibyte
- character written.
- p The argument shall be a pointer to void. The value of the
- pointer is converted to a sequence of printing characters.
- n The argument shall be a pointer to signed integer into which is
- written the number of characters written to the output stream so
- far by this call to fprintf. No argument is converted, but one is
- consumed. If the conversion specification includes any flags, a
- field width, or a precision, they will be ignored.
- % A % character is written. No argument is converted. The
- complete conversion specification shall be %%.
-
- In no case does a nonexistent or small field width cause truncation of a
- field; if the result of a conversion is wider than the field width, the
- field is expanded to contain the conversion result.
-
- @param[in] stream An open File specifier to which the output is sent.
- @param[in] format A multi-byte character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments.
- @param ... Variable number of parameters as required by format.
-
- @return The fprintf function returns the number of characters
- transmitted, or a negative value if an output or encoding
- error occurred.
-**/
-int fprintf (FILE * __restrict stream, const char * __restrict format, ...);
-
-/** Reads characters from stream, under control of format, storing the converted values
- in variables pointed to by the variable-length parameter list.
-
- The format is interpreted as a multibyte character sequence, beginning and ending
- in its initial shift state. The format is composed of zero or more directives:
- one or more white-space characters, an ordinary multibyte character
- (neither % nor a white-space character), or a conversion specification.
-
- Each conversion specification is introduced by the character %. After
- the %, the following appear in sequence:
- - An optional assignment-suppressing character, *.
- - An optional decimal integer, greater than zero, that specifies the
- maximum field width (in characters).
- - An optional length modifier that specifies the size of the receiving object.
- - A conversion specifier character that specifies the type of conversion
- to be applied.
-
- The fscanf function executes each directive of the format in turn. If a directive fails, as
- detailed below, the function returns. Failures are described as input failures (due to the
- occurrence of an encoding error or the unavailability of input characters), or matching
- failures (due to inappropriate input).
-
- A directive composed of white-space character(s) is executed by reading input up to the
- first non-white-space character (which remains unread), or until no more characters can
- be read.
-
- A directive that is an ordinary multibyte character is executed by reading the next
- characters of the stream. If any of those characters differ from the ones composing the
- directive, the directive fails and the differing and subsequent characters remain unread.
- Similarly, if end-of-file, an encoding error, or a read error prevents a character from being
- read, the directive fails.
-
- The length modifiers and their meanings are:
- - hh Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to signed
- char or unsigned char.
- - h Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to short
- int or unsigned short int.
- - l (ell) Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to
- long int or unsigned long int; that a following a, A, e,
- E, f, F, g, or G conversion specifier applies to an
- argument with type pointer to double; or that a following
- c, s, or [ conversion specifier applies to an argument
- with type pointer to wchar_t.
- - ll (ell-ell) Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to
- long long int or unsigned long long int.
- - j Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to
- intmax_t or uintmax_t.
- - z Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to
- size_t or the corresponding signed integer type.
- - t Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to
- ptrdiff_t or the corresponding unsigned integer type.
- - L Specifies that a following e, E, f, F, g, or G
- conversion specifier applies to an argument with type
- pointer to long double.
-
- If a length modifier appears with any conversion specifier other than as specified above,
- it will be ignored.
-
- The conversion specifiers and their meanings are:
- - d Matches an optionally signed decimal integer, whose format is
- the same as expected for the subject sequence of the strtol
- function with the value 10 for the base argument. The
- corresponding argument shall be a pointer to signed integer.
- - i Matches an optionally signed integer, whose format is the same
- as expected for the subject sequence of the strtol function
- with the value 0 for the base argument. The corresponding
- argument shall be a pointer to signed integer.
- - o Matches an optionally signed octal integer, whose format is the
- same as expected for the subject sequence of the strtoul
- function with the value 8 for the base argument. The
- corresponding argument shall be a pointer to unsigned integer.
- - u Matches an optionally signed decimal integer, whose format is
- the same as expected for the subject sequence of the strtoul
- function with the value 10 for the base argument. The
- corresponding argument shall be a pointer to unsigned integer.
- - x Matches an optionally signed hexadecimal integer, whose format
- is the same as expected for the subject sequence of the strtoul
- function with the value 16 for the base argument. The
- corresponding argument shall be a pointer to unsigned integer.
- - e,f,g Matches an optionally signed floating-point number, infinity,
- or NaN, whose format is the same as expected for the subject
- sequence of the strtod function. The corresponding argument
- shall be a pointer to floating.
- - c Matches a sequence of characters of exactly the number
- specified by the field width (1 if no field width is present
- in the directive). If no l length modifier is present, the
- corresponding argument shall be a pointer to the initial
- element of a character array large enough to accept the
- sequence. No null character is added.<BR><BR>
- If an l length modifier is present, the input shall be a
- sequence of multibyte characters that begins in the initial
- shift state. Each multibyte character in the sequence is
- converted to a wide character as if by a call to the mbrtowc
- function, with the conversion state described by an mbstate_t
- object initialized to zero before the first multibyte character
- is converted. The corresponding argument shall be a pointer to
- the initial element of an array of wchar_t large enough to
- accept the resulting sequence of wide characters. No null wide
- character is added.
- - s Matches a sequence of non-white-space characters.
- If no l length modifier is present, the corresponding argument
- shall be a pointer to the initial element of a character array
- large enough to accept the sequence and a terminating null
- character, which will be added automatically. If an l length
- modifier is present, the input shall be a sequence of multibyte
- characters that begins in the initial shift state. Each
- multibyte character is converted to a wide character as if by a
- call to the mbrtowc function, with the conversion state
- described by an mbstate_t object initialized to zero before the
- first multibyte character is converted. The corresponding
- argument shall be a pointer to the initial element of an array
- of wchar_t large enough to accept the sequence and the
- terminating null wide character, which will be added automatically.
- - [ Matches a nonempty sequence of characters from a set of
- expected characters (the scanset).<BR><BR>
- If no l length modifier is present, the corresponding argument
- shall be a pointer to the initial element of a character array
- large enough to accept the sequence and a terminating null
- character, which will be added automatically. If an l length
- modifier is present, the input shall be a sequence of multibyte
- characters that begins in the initial shift state. Each
- multibyte character is converted to a wide character as if by a
- call to the mbrtowc function, with the conversion state
- described by an mbstate_t object initialized to zero before the
- first multibyte character is converted. The corresponding
- argument shall be a pointer to the initial element of an array
- of wchar_t large enough to accept the sequence and the
- terminating null wide character, which will be added
- automatically.<BR><BR>
- The conversion specifier includes all subsequent characters in
- the format string, up to and including the matching right
- bracket (]). The characters between the brackets (the scanlist)
- compose the scanset, unless the character after the left
- bracket is a circumflex (^), in which case the scanset contains
- all characters that do not appear in the scanlist between the
- circumflex and the right bracket. If the conversion specifier
- begins with [] or [^], the right bracket character is in the
- scanlist and the next following right bracket character is the
- matching right bracket that ends the specification; otherwise
- the first following right bracket character is the one that
- ends the specification. If a - character is in the scanlist and
- is not the first, nor the second where the first character is
- a ^, nor the last character, it will be treated as a regular character.
- - p Matches a set of sequences, which are the same as the set of
- sequences that are produced by the %p conversion of the fprintf
- function. The corresponding argument must be a pointer to a
- pointer to void. The input item is converted to a pointer value.
- If the input item is a value converted earlier during the same
- program execution, the pointer that results will compare equal
- to that value; otherwise the behavior of the %p conversion is
- indeterminate.
- - n No input is consumed. The corresponding argument shall be a
- pointer to signed integer into which is to be written the
- number of characters read from the input stream so far by this
- call to the fscanf function. Execution of a %n directive does
- not increment the assignment count returned at the completion
- of execution of the fscanf function. No argument is converted,
- but one is consumed. If the conversion specification includes
- an assignment suppressing character the conversion specification
- is ignored. If the conversion specification contains a
- field width, the field width will be ignored.
- - % Matches a single % character; no conversion or assignment occurs.
-
- @param[in] stream An open File specifier from which the input is read.
- @param[in] format A multi-byte character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The fscanf function returns EOF if an input failure occurs before
- any conversion. Otherwise the number of input items assigned
- is returned; which can be fewer than provided for, or even zero
- in the event of an early matching failure.
-**/
-int fscanf (FILE * __restrict stream, const char * __restrict format, ...);
-
-/** Formatted print to stdout.
-
- The printf function is equivalent to fprintf with stdout used as the output stream.
-
- @param[in] format A multi-byte character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments. Copied and
- converted characters are sent to the output stream.
- @param ... Variable number of parameters as required by format.
-
- @return The printf function returns the number of characters
- transmitted, or a negative value if an output or encoding
- error occurred.
-**/
-int printf (const char * __restrict format, ...);
-
-/** Formatted input from stdin.
-
- The scanf function is equivalent to fscanf with stdin used as the input stream.
-
- @param[in] format A multi-byte character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param[out] ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The scanf function returns EOF if an input failure occurs before
- any conversion. Otherwise the number of input items assigned
- is returned; which can be fewer than provided for, or even zero
- in the event of an early matching failure.
-**/
-int scanf (const char * __restrict format, ...);
-
-/** Formatted output to a buffer.
-
- The sprintf function is equivalent to fprintf, except that the output is
- written into array Buff instead of to a stream. A null character is written
- at the end of the characters written; it is not counted as part of the
- returned value.
-
- @param[out] Buff A pointer to the array to receive the formatted output.
- @param[in] Format A multi-byte character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments. Copied and
- converted characters are written to the array pointed
- to by Buff.
- @param ... Variable number of parameters as required by format.
-
- @return The sprintf function returns the number of characters written in
- the array, not counting the terminating null character, or a
- negative value if an encoding error occurred.
-**/
-int sprintf (char * __restrict Buff, const char * __restrict Format, ...);
-
-/** Formatted input from a string.
-
- The sscanf function is equivalent to fscanf, except that input is obtained
- from a string rather than from a stream. Reaching the end of the string
- is equivalent to encountering end-of-file for the fscanf function.
-
- @param[in] Buff Pointer to the string from which to obtain input.
- @param[in] Format A multi-byte character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param[out] ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The scanf function returns EOF if an input failure occurs before
- any conversion. Otherwise the number of input items assigned
- is returned; which can be fewer than provided for, or even zero
- in the event of an early matching failure.
-**/
-int sscanf (const char * __restrict Buff, const char * __restrict Format, ...);
-
-/** Print formatted values from an argument list.
-
- The vfprintf function is equivalent to fprintf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start macro.
- The vfprintf function does not invoke the va_end macro.
-
- @param[in] Stream The output stream to receive the formatted output.
- @param[in] Format A multi-byte character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vfprintf function returns the number of characters transmitted,
- or a negative value if an output or encoding error occurred.
-**/
-int vfprintf(FILE * __restrict Stream, const char * __restrict Format, va_list Args);
-
-/** Formatted print, to stdout, from an argument list.
-
- The vprintf function is equivalent to printf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start
- macro (and possibly subsequent va_arg calls). The vprintf function does
- not invoke the va_end macro.
-
- @param[in] Format A multi-byte character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vprintf function returns the number of characters transmitted,
- or a negative value if an output or encoding error occurred.
-**/
-int vprintf (const char * __restrict Format, va_list Args);
-
-/** Formatted print, to a buffer, from an argument list.
-
- The vsprintf function is equivalent to sprintf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start
- macro. The vsprintf function does not invoke the va_end macro.
-
- @param[out] Buff A pointer to the array to receive the formatted output.
- @param[in] Format A multi-byte character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments. Copied and
- converted characters are written to the array pointed
- to by Buff.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vsprintf function returns the number of characters written in
- the array, not counting the terminating null character, or a
- negative value if an encoding error occurred.
-**/
-int vsprintf(char * __restrict Buff, const char * __restrict Format, va_list Args);
-
-/* ################ Character Input/Output Functions. */
-
-/** Get a character from an input Stream.
-
- If the end-of-file indicator for the input stream pointed to by Stream is
- not set, and a next character is present, the fgetc function obtains that
- character as an unsigned char converted to an int and advances the
- associated file position indicator for the stream.
-
- @param[in] Stream An input stream from which to obtain a character.
-
- @return If the end-of-file indicator for the stream is set, or if the
- stream is at end-of-file, the end-of-file indicator for the
- stream is set and the fgetc function returns EOF. Otherwise,
- the fgetc function returns the next character from the input
- stream pointed to by Stream. If a read error occurs, the
- error indicator for the stream is set and the fgetc function
- returns EOF.
-**/
-int fgetc (FILE *Stream);
-
-/** Read a string from an input stream into a buffer.
-
- The fgets function reads at most one less than the number of characters
- specified by Limit from the stream pointed to by Stream into the array
- pointed to by Buff. No additional characters are read after a
- new-line character (which is retained) or after end-of-file. A null
- character is written immediately after the last character read into the array.
-
- @param[out] Buff A pointer to the array to receive the input string.
- @param[in] Limit The maximum number of characters to put into Buff,
- including the terminating null character.
- @param[in] Stream An input stream from which to obtain a character.
-
- @return The fgets function returns Buff if successful. If end-of-file is
- encountered and no characters have been read into the array, the
- contents of the array remain unchanged and a null pointer is
- returned. If a read error occurs during the operation, the array
- contents are indeterminate and a null pointer is returned.
-**/
-char *fgets (char * __restrict Buff, int Limit, FILE * __restrict Stream);
-
-/** Write a character to an output stream.
-
- The fputc function writes the character specified by C (converted to an
- unsigned char) to the output stream pointed to by Stream, at the position
- indicated by the associated file position indicator for the stream
- (if defined), and advances the indicator appropriately. If the file cannot
- support positioning requests, or if the stream was opened with append mode,
- the character is appended to the output stream.
-
- @param[in] C The character to be written to Stream.
- @param[in] Stream The output stream that C is to be written to.
-
- @return The fputc function returns the character written. If a write
- error occurs, the error indicator for the stream is set and
- fputc returns EOF.
-**/
-int fputc (int C, FILE *Stream);
-
-/** Write a string to an output stream.
-
- The fputs function writes String to the stream pointed to by Stream. The
- terminating null character is not written.
-
- @param[in] String The character string to be written to Stream.
- @param[in] Stream The output stream that String is to be written to.
-
- @return The fputs function returns EOF if a write error occurs; otherwise
- it returns a non-negative value.
-**/
-int fputs (const char * __restrict String, FILE * __restrict Stream);
-
-/** Get a character from an input stream.
-
- The getc function is equivalent to fgetc, except that if it is implemented
- as a macro, it may evaluate stream more than once, so the argument should
- never be an expression with side effects.
-
- @param[in] Stream An input stream from which to obtain a character.
-
- @return If the end-of-file indicator for the stream is set, or if the
- stream is at end-of-file, the end-of-file indicator for the
- stream is set and getc returns EOF. Otherwise, getc returns
- the next character from the input stream pointed to by Stream.
- If a read error occurs, the error indicator for the stream is set
- and getc returns EOF.
-**/
-int getc (FILE *);
-
-/** Get a character from stdin.
-
- The getchar function is equivalent to getc with the argument stdin.
-
- @return If the end-of-file indicator for stdin is set, or if stdin
- is at end-of-file, the end-of-file indicator is set and getchar
- returns EOF. Otherwise, getchar returns the next character from
- stdin. If a read error occurs, the error indicator for stdin is
- set and getchar returns EOF.
-**/
-int getchar (void);
-
-/** Read a string from stdin into a buffer.
-
- The gets function reads characters from the input stream pointed to by
- stdin, into the array pointed to by Buff, until end-of-file is encountered
- or a new-line character is read. Any new-line character is discarded, and
- a null character is written immediately after the last character read into
- the array.
-
- @param[out] Buff A pointer to the array to receive the input string.
-
- @return The gets function returns Buff if successful. If end-of-file is
- encountered and no characters have been read into the array, the
- contents of the array remain unchanged and a null pointer is
- returned. If a read error occurs during the operation, the array
- contents are indeterminate and a null pointer is returned.
-**/
-char *gets (char *Buff);
-
-/** Write a character to an output stream.
-
- The putc function is equivalent to fputc, except that if it is implemented
- as a macro, it may evaluate Stream more than once, so that argument should
- never be an expression with side effects.
-
- @param[in] C The character to be written to Stream.
- @param[in] Stream The output stream that C is to be written to.
-
- @return The putc function returns the character written. If a write
- error occurs, the error indicator for the stream is set and
- putc returns EOF.
-**/
-int putc (int C, FILE *Stream);
-
-/** Write a character to stdout.
-
- The putchar function is equivalent to putc with stdout as the Stream argument.
-
- @param[in] C The character to be written to stdout.
-
- @return The putchar function returns the character written. If a write
- error occurs, the error indicator for stdout is set and putchar
- returns EOF.
-**/
-int putchar (int C);
-
-/** Write String to stdout.
-
- The puts function writes the string pointed to by String to the stream
- pointed to by stdout, and appends a new-line character to the output. The
- terminating null character is not written.
-
- @param[in] String A pointer to the character string to write to stdout.
-
- @return The puts function returns EOF if a write error occurs; otherwise
- it returns a non-negative value.
-**/
-int puts (const char *String);
-
-/** Return a character to the input Stream as if it had not been read.
-
- The ungetc function pushes the character specified by C (converted to an
- unsigned char) back onto the input stream pointed to by Stream. Pushed-back
- characters will be returned by subsequent reads on that stream in the
- reverse order of their being pushed. A successful intervening call
- (with the stream pointed to by Stream) to a file positioning function
- (fseek, fsetpos, or rewind) discards any pushed-back characters for the
- stream. The external storage corresponding to the stream is unchanged.
-
- One character of pushback is guaranteed. If the ungetc function is called
- too many times on the same stream without an intervening read or file
- positioning operation on that stream, the operation will fail.
-
- If the value of C equals that of the macro EOF, the operation fails and the
- input stream is unchanged.
-
- A successful call to the ungetc function clears the end-of-file indicator
- for the stream. The value of the file position indicator for the stream
- after reading or discarding all pushed-back characters is the same as it
- was before the characters were pushed back. For a binary stream, its
- file position indicator is decremented by each successful call to the
- ungetc function; if its value was zero before a call, it will remain zero
- after the call.
-
- @param[in] C The character to push back onto the Stream.
- @param[in] Stream The output stream that C is to be pushed back onto.
-
- @return The ungetc function returns the character pushed back,
- or EOF if the operation fails.
-**/
-int ungetc (int C, FILE *Stream);
-
-/* ################ Direct Input/Output Functions. */
-
-/** Read Num elements of size Size from a Stream into a Buffer.
-
- The fread function reads, into the array pointed to by Buffer, up to Num
- elements, whose size is specified by Size, from the stream pointed to by
- Stream. For each object, Size calls are made to the fgetc function and the
- results stored, in the order read, in an array of unsigned char exactly
- overlaying the Buffer object. The file position indicator for the stream
- (if defined) is advanced by the number of characters successfully read. If
- an error occurs, the resulting value of the file position indicator for the
- stream is indeterminate.
-
- @param[out] Buffer Pointer to an object to receive the read data.
- @param[in] Size Size of each element to be read.
- @param[in] Num Number of elements to read.
- @param[in] Stream Input stream to read the data from.
-
- @return The fread function returns the number of elements successfully
- read, which may be less than Num if a read error or end-of-file
- is encountered. If Size or Num is zero, fread returns zero and
- the contents of the array and the state of the stream remain
- unchanged.
-**/
-size_t fread (void * __restrict Buffer,
- size_t Size,
- size_t Num,
- FILE * __restrict Stream
- );
-
-/** Write Num elements of size Size from Buffer to Stream.
-
- The fwrite function writes, from the array pointed to by Buffer, up to Num
- elements whose size is specified by Size, to the stream pointed to by
- Stream. For each object, Size calls are made to the fputc function, taking
- the values (in order) from an array of unsigned char exactly overlaying the
- Buffer object. The file position indicator for the stream (if defined) is
- advanced by the number of characters successfully written. If an error
- occurs, the resulting value of the file position indicator for the stream is
- indeterminate.
-
- @param[out] Buffer Pointer to an object containing the data to be written.
- @param[in] Size Size of each element to be written.
- @param[in] Num Number of elements to write.
- @param[in] Stream Output stream to write the data to.
-
- @return The fwrite function returns the number of elements successfully
- written, which will be less than Num only if a write error is
- encountered. If Size or Num is zero, fwrite returns zero and
- the state of the stream remains unchanged.
-**/
-size_t fwrite (const void * __restrict Buffer,
- size_t Size,
- size_t Num,
- FILE * __restrict Stream
- );
-
-/* ################ File Positioning Functions. */
-
-/** Get a stream's position and parse state.
-
- The fgetpos function stores the current values of the parse state (if any)
- and file position indicator for the stream pointed to by Stream in the
- object pointed to by Pos. The values stored contain unspecified
- information usable by the fsetpos function for repositioning the stream
- to its position at the time of the call to the fgetpos function.
-
- @param[in] Stream Stream to get current position of.
- @param[out] Pos Object to receive the stream's state and position information.
-
- @return If successful, the fgetpos function returns zero; if either
- parameter is NULL, the fgetpos function returns nonzero and
- stores EINVAL in errno.
-**/
-int fgetpos (FILE * __restrict Stream, fpos_t * __restrict Pos);
-
-/** Set the file position for a stream.
-
- The fseek function sets the file position indicator for the stream pointed
- to by Stream. If a read or write error occurs, the error indicator for the
- stream is set and fseek fails.
-
- For a binary stream, the new position, measured in characters from the
- beginning of the file, is obtained by adding Offset to the position
- specified by Whence. The specified position is the beginning of the file if
- Whence is SEEK_SET, the current value of the file position indicator if
- SEEK_CUR, or end-of-file if SEEK_END.
-
- For a text stream, Offset must either be zero or a value returned by an
- earlier successful call to the ftell function, on a stream associated with
- the same file, and Whence must be SEEK_SET.
-
- After determining the new position, a successful call to the fseek function
- undoes any effects of the ungetc function on the stream, clears the
- end-of-file indicator for the stream, and then establishes the new position.
- After a successful fseek call, the next operation on an update stream may
- be either input or output.
-
- @param[in] Stream The I/O stream to set the position of.
- @param[in] Offset The position, interpreted depending upon the value of
- Whence, that the stream is to be positioned to.
- @param[in] Whence A value indicating how Offset is to be interpreted:
- - SEEK_SET indicates Offset is an absolute position.
- - SEEK_END indicates Offset is relative to the end of the file.
- - SEEK_CUR indicates Offset is relative to the current position.
-
-@return The fseek function returns nonzero only for a request that cannot be satisfied.
-**/
-int fseek (FILE *Stream, long Offset, int Whence);
-
-/** Set a stream's position and parse state.
-
- The fsetpos function sets the mbstate_t object (if any) and file position
- indicator for the stream pointed to by Stream according to the value of the
- object pointed to by Pos, which is a value that was obtained from an
- earlier successful call to the fgetpos function on a stream associated with
- the same file. If a read or write error occurs, the error indicator for the
- stream is set and fsetpos fails.
-
- A successful call to the fsetpos function undoes any effects of the ungetc
- function on the stream, clears the end-of-file indicator for the stream,
- and then establishes the new parse state and position. After a successful
- fsetpos call, the next operation on an update stream may be either input or output.
-
- @param[in] Stream Stream to set current position of.
- @param[in] Pos Object containing the state and position information.
-
- @return If successful, the fsetpos function returns zero; on failure, the
- fsetpos function returns nonzero and stores EINVAL, or ESPIPE,
- in errno; depending upon whether the error was because of an invalid
- parameter, or because Stream is not seekable.
-**/
-int fsetpos (FILE *Stream, const fpos_t *Pos);
-
-/** Get Stream's current position.
-
- The ftell function obtains the current value of the file position indicator
- for the stream pointed to by Stream. For a binary stream, the value is the
- number of characters from the beginning of the file. For a text stream, its
- file position indicator contains unspecified information, usable by the
- fseek function for returning the file position indicator for the stream to
- its position at the time of the ftell call; the difference between two such
- return values is not necessarily a meaningful measure of the number of
- characters written or read.
-
- @param[in] Stream Pointer to the FILE object to get the current position of.
-
- @return If successful, the ftell function returns the current value of
- the file position indicator for the stream. On failure, the
- ftell function returns -1L and stores ESPIPE in errno indicating
- that the stream is not seekable.
-**/
-long ftell (FILE *Stream);
-
-/** Restore a Stream's file position to the beginning of the file.
-
- The rewind function sets the file position indicator for the stream pointed
- to by Stream to the beginning of the file and clears the stream's error indicator.
-
- @param[in] Stream Pointer to the stream to be positioned to its beginning.
-**/
-void rewind (FILE *Stream);
-
-/* ################ Error-handling Functions. */
-
-/** Clear a Stream's error and end-of-file indicators.
-
- @param[in] Stream Pointer to the stream to be cleared of errors.
-**/
-void clearerr(FILE *Stream);
-
-/** Test the end-of-file indicator for Stream.
-
- @param[in] Stream Pointer to the FILE object to be tested for EOF.
-
- @return The feof function returns non-zero if, and only if, the end-of-file
- indicator is set for Stream.
-**/
-int feof (FILE *Stream);
-
-/** Test the error indicator for Stream.
-
- @param[in] Stream Pointer to the stream to be tested for error.
-
- @return The ferror function returns non-zero if, and only if, the error
- indicator is set for Stream.
-**/
-int ferror (FILE *Stream);
-
-/** Print an error message to stderr based upon the value of errno and String.
-
- The perror function maps the error number in the integer expression errno
- to an error message. It writes a sequence of characters to the standard
- error stream thus: first (if String is not a null pointer and the character
- pointed to by String is not the null character), the string pointed to by
- String followed by a colon (:) and a space; then an appropriate error
- message string followed by a new-line character. The contents of the error
- message strings are the same as those returned by the strerror function
- with argument errno.
-
- @param[in] String A text string to prefix the output error message with.
-
- @sa strerror in <string.h>
-**/
-void perror (const char *String);
-
-__END_DECLS
-
-/*
- * IEEE Std 1003.1-90
- */
-__BEGIN_DECLS
-FILE *fdopen(int, const char *);
-__END_DECLS
-
-/*
- * IEEE Std 1003.1c-95, also adopted by X/Open CAE Spec Issue 5 Version 2
- */
-__BEGIN_DECLS
-void flockfile (FILE *);
-int ftrylockfile (FILE *);
-void funlockfile (FILE *);
-int getc_unlocked (FILE *);
-int getchar_unlocked(void);
-int putc_unlocked (int, FILE *);
-int putchar_unlocked(int);
-__END_DECLS
-
-/*
- * Functions defined in POSIX 1003.2 and XPG2 or later.
- */
-__BEGIN_DECLS
- int pclose (FILE *);
- FILE *popen (const char *, const char *);
-__END_DECLS
-
-/*
- * Functions defined in ISO XPG4.2, ISO C99, POSIX 1003.1-2001 or later.
- */
-__BEGIN_DECLS
- int snprintf (char * __restrict, size_t, const char * __restrict, ...)
- __attribute__((__format__(__printf__, 3, 4)));
- int vsnprintf(char * __restrict, size_t, const char * __restrict, va_list)
- __attribute__((__format__(__printf__, 3, 0)));
-__END_DECLS
-
-/*
- * Functions defined in XPG4.2.
- */
-__BEGIN_DECLS
- //int getw(FILE *);
- //int putw(int, FILE *);
- char *mkdtemp(char *);
- int mkstemp(char *);
- char *mktemp(char *);
-
- char *tempnam(const char *, const char *);
-__END_DECLS
-
-/*
- * X/Open CAE Specification Issue 5 Version 2
- */
-#ifndef off_t
- typedef __off_t off_t;
- #define off_t __off_t
-#endif /* off_t */
-
-__BEGIN_DECLS
-int fseeko(FILE *, off_t, int);
-off_t ftello(FILE *);
-__END_DECLS
-
-/*
- * Routines that are purely local.
- */
-#define FPARSELN_UNESCESC 0x01
-#define FPARSELN_UNESCCONT 0x02
-#define FPARSELN_UNESCCOMM 0x04
-#define FPARSELN_UNESCREST 0x08
-#define FPARSELN_UNESCALL 0x0f
-
-__BEGIN_DECLS
- //int asprintf(char ** __restrict, const char * __restrict, ...)
- // __attribute__((__format__(__printf__, 2, 3)));
- char *fgetln(FILE * __restrict, size_t * __restrict);
- char *fparseln(FILE *, size_t *, size_t *, const char[3], int);
- int fpurge(FILE *);
- void setbuffer(FILE *, char *, int);
- int setlinebuf(FILE *);
- int vasprintf(char ** __restrict, const char * __restrict,
- va_list)
- __attribute__((__format__(__printf__, 2, 0)));
- int vscanf(const char * __restrict, va_list)
- __attribute__((__format__(__scanf__, 1, 0)));
- //int vfscanf(FILE * __restrict, const char * __restrict,
- // va_list)
- // __attribute__((__format__(__scanf__, 2, 0)));
- int vsscanf(const char * __restrict, const char * __restrict,
- va_list)
- __attribute__((__format__(__scanf__, 2, 0)));
- //const char *fmtcheck(const char *, const char *)
- // __attribute__((__format_arg__(2)));
-__END_DECLS
-
- /*
- * Stdio function-access interface.
- */
-__BEGIN_DECLS
- FILE *funopen(const void *,
- int (*)(void *, char *, int),
- int (*)(void *, const char *, int),
- fpos_t (*)(void *, fpos_t, int),
- int (*)(void *));
-__END_DECLS
- //#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0)
- //#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
-
-/*
- * Functions internal to the implementation.
- */
-__BEGIN_DECLS
-int __srget(FILE *);
-int __swbuf(int, FILE *);
-__END_DECLS
-
-/*
- * The __sfoo macros are here so that we can
- * define function versions in the C library.
- */
-#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
-
-#if defined(__GNUC__) && defined(__STDC__)
- static __inline int __sputc(int _c, FILE *_p) {
- if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
- return (*_p->_p++ = _c);
- else
- return (__swbuf(_c, _p));
- }
-#else
- /*
- * This has been tuned to generate reasonable code on the vax using pcc.
- */
- #define __sputc(c, p) \
- (--(p)->_w < 0 ? \
- (p)->_w >= (p)->_lbfsize ? \
- (*(p)->_p = (unsigned char)(c)), *(p)->_p != '\n' ? \
- (int)*(p)->_p++ : \
- __swbuf('\n', p) : \
- __swbuf((int)(c), p) : \
- (*(p)->_p = (unsigned char)(c), (int)*(p)->_p++))
-#endif
-
-#define __sfeof(p) (((p)->_flags & __SEOF) != 0)
-#define __sferror(p) (((p)->_flags & __SERR) != 0)
-#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
-#define __sfileno(p) ((p)->_file)
-
-#ifndef __lint__
- #define feof(p) __sfeof(p)
- #define ferror(p) __sferror(p)
- #define clearerr(p) __sclearerr(p)
-
- #define getc(fp) __sgetc(fp)
- #define putc(x, fp) __sputc(x, fp)
-#endif /* __lint__ */
-
-#define getchar() getc(stdin)
-#define putchar(x) putc(x, stdout)
-
-#define fileno(p) __sfileno(p)
-
-#define getc_unlocked(fp) __sgetc(fp)
-#define putc_unlocked(x, fp) __sputc(x, fp)
-
-#define getchar_unlocked() getc_unlocked(stdin)
-#define putchar_unlocked(x) putc_unlocked(x, stdout)
-
-#endif /* _STDIO_H_ */
diff --git a/StdLib/Include/stdlib.h b/StdLib/Include/stdlib.h deleted file mode 100644 index 0b9dfd34b0..0000000000 --- a/StdLib/Include/stdlib.h +++ /dev/null @@ -1,951 +0,0 @@ -/** @file
- The header <stdlib.h> declares five types and several functions of general
- utility, and defines several macros.
-
- The files stddef.h and stdlib.h are "catch all" headers for definitions and declarations
- that don't fit well in the other headers. There are two separate header files because
- the contents of <stddef.h> are valid in both freestanding and hosted environment, while the
- header <stdlib.h> contains elements that are only valid in a hosted environment.
-
- The following macros are defined in this file:<BR>
- @verbatim
- EXIT_FAILURE An expression indicating application failure, used as an argument to exit().
- EXIT_SUCCESS An expression indicating application success, used as an argument to exit().
- RAND_MAX The maximum value returned by the rand function.
- MB_CUR_MAX Maximum number of bytes in a multibyte character for the current locale.
- ATEXIT_MAX Maximum number of routines that may be registered by the atexit function.
- @endverbatim
-
- The following types are defined in this file:<BR>
- @verbatim
- size_t Unsigned integer type of the result of the sizeof operator.
- wchar_t The type of a wide character.
- div_t Type of the value returned by the div function.
- ldiv_t Type of the value returned by the ldiv function.
- lldiv_t Type of the value returned by the lldiv function.
- @endverbatim
-
- The following functions are declared in this file:<BR>
- @verbatim
- ################ Communication with the environment
- void abort (void) __noreturn;
- int atexit (void (*)(void));
- void exit (int status) __noreturn;
- void _Exit (int status) __noreturn;
- char *getenv (const char *name);
- int setenv (register const char * name,
- register const char * value, int rewrite);
- int system (const char *string);
-
- ################ Integer arithmetic functions
- int abs (int j);
- long labs (long j);
- long long llabs (long long j);
- div_t div (int numer, int denom);
- ldiv_t ldiv (long numer, long denom);
- lldiv_t lldiv (long long numer, long long denom);
-
- ################ Pseudo-random sequence generation functions
- int rand (void);
- void srand (unsigned seed);
-
- ################ Memory management functions
- void *calloc (size_t Num, size_t Size);
- void free (void *);
- void *malloc (size_t);
- void *realloc (void *Ptr, size_t NewSize);
-
- ################ Searching and Sorting utilities
- void *bsearch (const void *key, const void *base0,
- size_t nmemb, size_t size,
- int (*compar)(const void *, const void *));
- void qsort (void *base, size_t nmemb, size_t size,
- int (*compar)(const void *, const void *));
-
- ################ Multibyte/wide character conversion functions
- int mblen (const char *, size_t);
- int mbtowc (wchar_t * __restrict, const char * __restrict, size_t);
- int wctomb (char *, wchar_t);
-
- ################ Multibyte/wide string conversion functions
- size_t mbstowcs (wchar_t * __restrict dest,
- const char * __restrict src, size_t limit);
- size_t wcstombs (char * __restrict dest,
- const wchar_t * __restrict src, size_t limit);
-
- ################ Miscelaneous functions for *nix compatibility
- char *realpath (char *file_name, char *resolved_name);
- const char *getprogname (void);
- void setprogname (const char *progname);
-
- ############ Integer Numeric conversion functions
- int atoi (const char *nptr);
- long atol (const char *nptr);
- long long atoll (const char *nptr);
- long strtol (const char * __restrict nptr,
- char ** __restrict endptr, int base);
- unsigned long strtoul (const char * __restrict nptr,
- char ** __restrict endptr, int base);
- long long strtoll (const char * __restrict nptr,
- char ** __restrict endptr, int base);
- unsigned long long strtoull (const char * __restrict nptr,
- char ** __restrict endptr, int base);
-
- ######### Floating-point Numeric conversion functions
- double atof (const char *);
- double strtod (const char * __restrict nptr,
- char ** __restrict endptr);
- float strtof (const char * __restrict nptr,
- char ** __restrict endptr);
- long double strtold (const char * __restrict nptr,
- char ** __restrict endptr);
- @endverbatim
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _STDLIB_H
-#define _STDLIB_H
-#include <sys/EfiCdefs.h>
-
-#ifdef _EFI_SIZE_T_
- /** Unsigned integer type of the result of the sizeof operator. **/
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-#ifndef __cplusplus
- #ifdef _EFI_WCHAR_T
- /** Type of a wide (Unicode) character. **/
- typedef _EFI_WCHAR_T wchar_t;
- #undef _EFI_WCHAR_T
- #undef _BSD_WCHAR_T_
- #endif
-#endif
-
-/// A structure type that is the type of the value returned by the div function.
-typedef struct {
- int quot; /**< quotient */
- int rem; /**< remainder */
-} div_t;
-
-/// A structure type that is the type of the value returned by the ldiv function.
-typedef struct {
- long quot;
- long rem;
-} ldiv_t;
-
-/// A structure type that is the type of the value returned by the lldiv function.
-typedef struct {
- long long quot;
- long long rem;
-} lldiv_t;
-
-/** @{
- Expand to integer constant expressions that can be used as the argument to
- the exit function to return unsuccessful or successful termination status,
- respectively, to the host environment.
-**/
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-/*@}*/
-
-/** Expands to an integer constant expression that is the maximum value
- returned by the rand function.
-**/
-#define RAND_MAX 0x7fffffff
-
-/** Expands to a positive integer expression with type size_t that is the
- maximum number of bytes in a multibyte character for the extended character
- set specified by the current locale (category LC_CTYPE), which is never
- greater than MB_LEN_MAX.
-
- Since UEFI only supports the Unicode Base Multilingual Plane (BMP),
- correctly formed characters will only produce 1, 2, or 3-byte UTF-8 characters.
-**/
-#define MB_CUR_MAX 3
-
-/** Maximum number of functions that can be registered by atexit.
-
- The C standard states that the implementation shall support the
- registration of at least 32 functions.
-**/
-#define ATEXIT_MAX 32
-
-__BEGIN_DECLS
-
-/* ################ Communication with the environment ################## */
-
-/** The abort function causes abnormal program termination to occur, unless
- the signal SIGABRT is being caught and the signal handler does not return.
-
- Open streams with unwritten buffered data are not flushed, open
- streams are not closed, and temporary files are not removed by abort.
-
- Unsuccessful termination is returned to the host environment by means of
- the function call, raise(SIGABRT).
-
- @sa signal.h
-**/
-void abort(void) __noreturn;
-
-/** The atexit function registers the function pointed to by func, to be
- called without arguments at normal program termination.
-
- The implementation supports the registration of up to 32 functions.
-
- @param[in] Handler Pointer to the function to register as one of the
- routines to call at application exit time.
-
- @return The atexit function returns zero if the registration succeeds,
- nonzero if it fails.
-**/
-int atexit(void (*Handler)(void));
-
-/** The exit function causes normal program termination to occur. If more than
- one call to the exit function is executed by a program,
- the behavior is undefined.
-
- First, all functions registered by the atexit function are called, in the
- reverse order of their registration, except that a function is called
- after any previously registered functions that had already been called at
- the time it was registered. If, during the call to any such function, a
- call to the longjmp function is made that would terminate the call to the
- registered function, the behavior is undefined.
-
- Next, all open streams with unwritten buffered data are flushed, all open
- streams are closed, and all files created by the tmpfile function
- are removed.
-
- Finally, control is returned to the host environment.
-
- @param[in] status A value to be returned when the application exits.
-
- @return If the value of status is zero, or EXIT_SUCCESS, status is
- returned unchanged. If the value of status is EXIT_FAILURE,
- RETURN_ABORTED is returned. Otherwise, status is returned unchanged.
-**/
-void exit(int status) __noreturn;
-
-/** The _Exit function causes normal program termination to occur and control
- to be returned to the host environment.
-
- No functions registered by the atexit function or signal handlers
- registered by the signal function are called. Open streams with unwritten
- buffered data are not flushed, open streams are not closed, and temporary
- files are not removed by abort.
-
- The status returned to the host environment is determined in the same way
- as for the exit function.
-
- @param[in] status A value to be returned when the application exits.
-
- @return If the value of status is zero, or EXIT_SUCCESS, status is
- returned unchanged. If the value of status is EXIT_FAILURE,
- RETURN_ABORTED is returned. Otherwise, status is returned unchanged.
-**/
-void _Exit(int status) __noreturn;
-
-/** The getenv function searches an environment list, provided by the host
- environment, for a string that matches the string pointed to by name. The
- set of environment names and the method for altering the environment list
- are determined by the underlying UEFI Shell implementation.
-
- @param[in] name Pointer to a string naming the environment variable to retrieve.
-
- @return The getenv function returns a pointer to a string associated with
- the matched list member. The string pointed to shall not be
- modified by the program, but may be overwritten by a subsequent
- call to the getenv function. If the specified name cannot be
- found, a null pointer is returned.
-**/
-char *getenv(const char *name);
-
-/** Add or update a variable in the environment list.
-
- @param[in] name Address of a zero terminated name string.
- @param[in] value Address of a zero terminated value string.
- @param[in] rewrite TRUE allows overwriting existing values.
-
- @retval 0 Returns 0 upon success.
- @retval -1 Returns -1 upon failure, sets errno with more information.
-**/
-int
-setenv (
- register const char * name,
- register const char * value,
- int rewrite
- );
-
-/** If string is a null pointer, the system function determines whether the
- host environment has a command processor. If string is not a null pointer,
- the system function passes the string pointed to by string to that command
- processor to be executed in a manner which the implementation shall
- document; this might then cause the program calling system to behave in a
- non-conforming manner or to terminate.
-
- @param[in] string Pointer to the command string to be executed.
-
- @return If the argument is a null pointer, the system function returns
- nonzero only if a command processor is available. If the argument
- is not a null pointer, and the system function does return, it
- returns an implementation-defined value.
-**/
-int system(const char *string);
-
-
-/* ################ Integer arithmetic functions ######################## */
-
-/** Computes the absolute value of an integer j.
-
- @param[in] j The value to find the absolute value of.
-
- @return The absolute value of j.
-**/
-int abs(int j);
-
-/** Computes the absolute value of a long integer j.
-
- @param[in] j The value to find the absolute value of.
-
- @return The absolute value of j.
-**/
-long labs(long j);
-
-/** Computes the absolute value of a long long integer j.
-
- @param[in] j The value to find the absolute value of.
-
- @return The absolute value of j.
-**/
-long long
- llabs(long long j);
-
-/** Computes numer / denom and numer % denom in a single operation.
-
- @param[in] numer The numerator for the division.
- @param[in] denom The denominator for the division.
-
- @return Returns a structure of type div_t, comprising both the
- quotient and the remainder.
-**/
-div_t div(int numer, int denom);
-
-/** Computes numer / denom and numer % denom in a single operation.
-
- @param[in] numer The numerator for the division.
- @param[in] denom The denominator for the division.
-
- @return Returns a structure of type ldiv_t, comprising both the
- quotient and the remainder.
-**/
-ldiv_t ldiv(long numer, long denom);
-
-/** Computes numer / denom and numer % denom in a single operation.
-
- @param[in] numer The numerator for the division.
- @param[in] denom The denominator for the division.
-
- @return Returns a structure of type lldiv_t, comprising both the
- quotient and the remainder.
-**/
-lldiv_t lldiv(long long numer, long long denom);
-
-/* ############ Integer Numeric conversion functions #################### */
-
-/** The atoi function converts the initial portion of the string pointed to by
- nptr to int representation. Except for the behavior on error, it is
- equivalent to:
- - atoi: (int)strtol(nptr, (char **)NULL, 10)
-
- @param[in] nptr Pointer to the string to be converted.
-
- @return The atoi function returns the converted value.
-**/
-int atoi(const char *nptr);
-
-/** The atol function converts the initial portion of the string pointed to by
- nptr to long int representation. Except for the behavior on error, it is
- equivalent to:
- - atol: strtol(nptr, (char **)NULL, 10)
-
- @param[in] nptr Pointer to the string to be converted.
-
- @return The atol function returns the converted value.
-**/
-long atol(const char *nptr);
-
-/** The atoll function converts the initial portion of the string pointed to by
- nptr to long long int representation. Except for the behavior on error, it
- is equivalent to:
- - atoll: strtoll(nptr, (char **)NULL, 10)
-
- @param[in] nptr Pointer to the string to be converted.
-
- @return The atoll function returns the converted value.
-**/
-long long
- atoll(const char *nptr);
-
-/** The strtol, strtoll, strtoul, and strtoull functions convert the initial
- portion of the string pointed to by nptr to long int, long long int,
- unsigned long int, and unsigned long long int representation, respectively.
- First, they decompose the input string into three parts: an initial,
- possibly empty, sequence of white-space characters (as specified by the
- isspace function), a subject sequence resembling an integer represented in
- some radix determined by the value of base, and a final string of one or
- more unrecognized characters, including the terminating null character of
- the input string. Then, they attempt to convert the subject sequence to an
- integer, and return the result.
-
- If the value of base is zero, the expected form of the subject sequence is
- that of an integer constant, optionally preceded
- by a plus or minus sign, but not including an integer suffix. If the value
- of base is between 2 and 36 (inclusive), the expected form of the subject
- sequence is a sequence of letters and digits representing an integer with
- the radix specified by base, optionally preceded by a plus or minus sign,
- but not including an integer suffix. The letters from a (or A) through z
- (or Z) are ascribed the values 10 through 35; only letters and digits whose
- ascribed values are less than that of base are permitted. If the value of
- base is 16, the characters 0x or 0X may optionally precede the sequence of
- letters and digits, following the sign if present.
-
- The subject sequence is defined as the longest initial subsequence of the
- input string, starting with the first non-white-space character, that is of
- the expected form. The subject sequence contains no characters if the input
- string is empty or consists entirely of white space, or if the first
- non-white-space character is other than a sign or a permissible letter or digit.
-
- If the subject sequence has the expected form and the value of base is
- zero, the sequence of characters starting with the first digit is
- interpreted as an integer constant. If the subject sequence has the
- expected form and the value of base is between 2 and 36, it is used as the
- base for conversion, ascribing to each letter its value as given above. If
- the subject sequence begins with a minus sign, the value resulting from the
- conversion is negated (in the return type). A pointer to the final string
- is stored in the object pointed to by endptr, provided that endptr is
- not a null pointer.
-
- In other than the "C" locale, additional locale-specific subject sequence
- forms may be accepted.
-
- If the subject sequence is empty or does not have the expected form, no
- conversion is performed; the value of nptr is stored in the object pointed
- to by endptr, provided that endptr is not a null pointer.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
- @param[in] base The base, 0 to 36, of the number represented by the input string.
-
- @return The strtol, strtoll, strtoul, and strtoull functions return the
- converted value, if any. If no conversion could be performed, zero
- is returned. If the correct value is outside the range of
- representable values, LONG_MIN, LONG_MAX, LLONG_MIN, LLONG_MAX,
- ULONG_MAX, or ULLONG_MAX is returned (according to the return type
- and sign of the value, if any), and the value of the macro ERANGE
- is stored in errno.
-**/
-long strtol(const char * __restrict nptr, char ** __restrict endptr, int base);
-
-/** The strtoul function converts the initial portion of the string pointed to
- by nptr to unsigned long int representation.
-
- See the description for strtol for more information.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
- @param[in] base The base, 0 to 36, of the number represented by the input string.
-
- @return The strtoul function returns the converted value, if any. If no
- conversion could be performed, zero is returned. If the correct
- value is outside the range of representable values, ULONG_MAX is
- returned and the value of the macro ERANGE is stored in errno.
-**/
-unsigned long
- strtoul(const char * __restrict nptr, char ** __restrict endptr, int base);
-
-/** The strtoll function converts the initial portion of the string pointed to
- by nptr to long long int representation.
-
- See the description for strtol for more information.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
- @param[in] base The base, 0 to 36, of the number represented by the input string.
-
- @return The strtoll function returns the converted value, if any. If no
- conversion could be performed, zero is returned. If the correct
- value is outside the range of representable values, LLONG_MIN or
- LLONG_MAX is returned (according to the sign of the value, if any),
- and the value of the macro ERANGE is stored in errno.
-**/
-long long
- strtoll(const char * __restrict nptr, char ** __restrict endptr, int base);
-
-/** The strtoull function converts the initial portion of the string pointed to
- by nptr to unsigned long long int representation.
-
- See the description for strtol for more information.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
- @param[in] base The base, 0 to 36, of the number represented by the input string.
-
- @return The strtoull function returns the converted value, if any. If no
- conversion could be performed, zero is returned. If the correct
- value is outside the range of representable values, ULLONG_MAX is
- returned and the value of the macro ERANGE is stored in errno.
-**/
-unsigned long long
- strtoull(const char * __restrict nptr, char ** __restrict endptr, int base);
-
-/* ######### Floating-point Numeric conversion functions ################ */
-
-/** Convert the initial part of a string to double representation.
-
- @param[in] nptr Pointer to the string to be converted.
-
- @return The floating-point value representing the string nptr.
-**/
-double atof(const char *nptr);
-
-/** @{
- The strtod, strtof, and strtold functions convert the initial portion of
- the string pointed to by nptr to double, float, and long double
- representation, respectively. First, they decompose the input string into
- three parts: an initial, possibly empty, sequence of white-space characters
- (as specified by the isspace function), a subject sequence resembling a
- floating-point constant or representing an infinity or NaN; and a final
- string of one or more unrecognized characters, including the terminating
- null character of the input string. Then, they attempt to convert the
- subject sequence to a floating-point number, and return the result.
-*/
-
-/** Convert a string to a double and point to the character after the last converted.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
-
- @return A floating-point value representing the string nptr.
- A pointer to the final string is stored in the object pointed to
- by endptr, provided that endptr is not a null pointer.
- If the subject sequence is empty or does not have the expected
- form, no conversion is performed; the value of nptr is stored in
- the object pointed to by endptr, provided that endptr is not a null pointer.
-**/
-double strtod(const char * __restrict nptr, char ** __restrict endptr);
-
-/** Convert a string to a float and point to the character after the last converted.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
-
- @return A floating-point value representing the string nptr.
- A pointer to the final string is stored in the object pointed to
- by endptr, provided that endptr is not a null pointer.
- If the subject sequence is empty or does not have the expected
- form, no conversion is performed; the value of nptr is stored in
- the object pointed to by endptr, provided that endptr is not a null pointer.
-**/
-float strtof(const char * __restrict nptr, char ** __restrict endptr);
-
-/** Convert a string to a long double and point to the character after the last converted.
-
- @param[in] nptr Pointer to the string to be converted.
- @param[out] endptr If not NULL, points to an object to receive a pointer to the final string.
-
- @return A floating-point value representing the string nptr.
- A pointer to the final string is stored in the object pointed to
- by endptr, provided that endptr is not a null pointer.
- If the subject sequence is empty or does not have the expected
- form, no conversion is performed; the value of nptr is stored in
- the object pointed to by endptr, provided that endptr is not a null pointer.
-**/
-long double
- strtold(const char * __restrict nptr, char ** __restrict endptr);
-/*@}*/
-
-/* ################ Pseudo-random sequence generation functions ######### */
-
-/** The rand function computes a sequence of pseudo-random integers in the
- range 0 to RAND_MAX.
-
- @return The rand function returns a pseudo-random integer.
-**/
-int rand(void);
-
-/** The srand function uses the argument as a seed for a new sequence of
- pseudo-random numbers to be returned by subsequent calls to rand.
-
- If srand is then called with the same seed value, the sequence of
- pseudo-random numbers shall be repeated. If rand is called before any calls
- to srand have been made, the same sequence shall be generated as when srand
- is first called with a seed value of 1.
-
- @param[in] seed The value used to "seed" the random number generator with.
-**/
-void srand(unsigned seed);
-
-/* ################ Memory management functions ######################### */
-
-/** The calloc function allocates space for an array of Num objects, each of
- whose size is Size. The space is initialized to all bits zero.
-
- @param[in] Num The number of objects to allocate space for.
- @param[in] Size The size, in bytes, of each object.
-
- @return NULL is returned if the space could not be allocated and errno
- contains the cause. Otherwise, a pointer to an 8-byte aligned
- region of the requested size is returned.
-**/
-void *calloc(size_t Num, size_t Size);
-
-/** The free function causes the space pointed to by Ptr to be deallocated,
- that is, made available for further allocation.
-
- If Ptr is a null pointer, no action occurs. Otherwise, if the argument
- does not match a pointer earlier returned by the calloc, malloc, or realloc
- function, or if the space has been deallocated by a call to free or
- realloc, the behavior is undefined.
-
- @param Ptr Pointer to a previously allocated region of memory to be freed.
-**/
-void free(void *Ptr);
-
-/** The malloc function allocates space for an object whose size is specified
- by size and whose value is indeterminate.
-
- This implementation uses the UEFI memory allocation boot services to get a
- region of memory that is 8-byte aligned and of the specified size. The
- region is allocated with type EfiLoaderData.
-
- @param Size Size, in bytes, of the region to allocate.
-
- @return NULL is returned if the space could not be allocated and errno
- contains the cause. Otherwise, a pointer to an 8-byte aligned
- region of the requested size is returned.<BR>
- If NULL is returned, errno may contain:
- - EINVAL: Requested Size is zero.
- - ENOMEM: Memory could not be allocated.
-**/
-void *malloc(size_t Size);
-
-/** The realloc function changes the size of the object pointed to by Ptr to
- the size specified by NewSize.
-
- The contents of the object are unchanged up to the lesser of the new and
- old sizes. If the new size is larger, the value of the newly allocated
- portion of the object is indeterminate.
-
- If Ptr is a null pointer, the realloc function behaves like the malloc
- function for the specified size.
-
- If Ptr does not match a pointer earlier returned by the calloc, malloc, or
- realloc function, or if the space has been deallocated by a call to the free
- or realloc function, the behavior is undefined.
-
- If the space cannot be allocated, the object pointed to by Ptr is unchanged.
-
- If NewSize is zero and Ptr is not a null pointer, the object it points to
- is freed.
-
- This implementation uses the UEFI memory allocation boot services to get a
- region of memory that is 8-byte aligned and of the specified size. The
- region is allocated with type EfiLoaderData.
-
- @param Ptr Pointer to a previously allocated region of memory to be resized.
- @param NewSize Size, in bytes, of the new object to allocate space for.
-
- @return NULL is returned if the space could not be allocated and errno
- contains the cause. Otherwise, a pointer to an 8-byte aligned
- region of the requested size is returned. If NewSize is zero,
- NULL is returned and errno will be unchanged.
-**/
-void *realloc(void *Ptr, size_t NewSize);
-
-/* ################ Searching and Sorting utilities ##################### */
-
-/** The bsearch function searches an array of Nmemb objects, the initial
- element of which is pointed to by Base, for an element that matches the
- object pointed to by Key. The size of each element of the array is
- specified by Size.
-
- The comparison function pointed to by Compar is called with two arguments
- that point to the Key object and to an array element, in that order. The
- function returns an integer less than, equal to, or greater than zero if
- the Key object is considered, respectively, to be less than, to match, or
- to be greater than the array element. The array consists of: all the
- elements that compare less than, all the elements that compare equal to,
- and all the elements that compare greater than the key object,
- in that order.
-
- @param[in] Key Pointer to the object to search for.
- @param[in] Base Pointer to the first element of an array to search.
- @param[in] Nmemb Number of objects in the search array.
- @param[in] Size The size of each object in the search array.
- @param[in] Compar Pointer to the function used to compare two objects.
-
- @return The bsearch function returns a pointer to a matching element of the
- array, or a null pointer if no match is found. If two elements
- compare as equal, which element is matched is unspecified.
-**/
-void *bsearch( const void *Key, const void *Base,
- size_t Nmemb, size_t Size,
- int (*Compar)(const void *, const void *)
- );
-
-/** The qsort function sorts an array of Nmemb objects, the initial element of
- which is pointed to by Base. The size of each object is specified by Size.
-
- The contents of the array are sorted into ascending order according to a
- comparison function pointed to by Compar, which is called with two
- arguments that point to the objects being compared. The function shall
- return an integer less than, equal to, or greater than zero if the first
- argument is considered to be respectively less than, equal to, or greater
- than the second.
-
- If two elements compare as equal, their order in the resulting sorted array
- is unspecified.
-
- @param[in,out] Base Pointer to the first element of an array to sort.
- @param[in] Nmemb Number of objects in the array.
- @param[in] Size The size of each object in the array.
- @param[in] Compar Pointer to the function used to compare two objects.
-**/
-void qsort( void *base, size_t nmemb, size_t size,
- int (*compar)(const void *, const void *));
-
-/* ################ Multibyte/wide character conversion functions ####### */
-
-/** Determine the number of bytes comprising a multibyte character.
-
- If S is not a null pointer, the mblen function determines the number of bytes
- contained in the multibyte character pointed to by S. Except that the
- conversion state of the mbtowc function is not affected, it is equivalent to
- mbtowc((wchar_t *)0, S, N);
-
- @param[in] S NULL to query whether multibyte characters have
- state-dependent encodings. Otherwise, points to a
- multibyte character.
- @param[in] N The maximum number of bytes in a multibyte character.
-
- @return If S is a null pointer, the mblen function returns a nonzero or
- zero value, if multibyte character encodings, respectively, do
- or do not have state-dependent encodings. If S is not a null
- pointer, the mblen function either returns 0 (if S points to the
- null character), or returns the number of bytes that are contained
- in the multibyte character (if the next N or fewer bytes form a
- valid multibyte character), or returns -1 (if they do not form a
- valid multibyte character).
-**/
-int mblen(const char *S, size_t N);
-
-/** Convert a multibyte character into a wide character.
-
- If S is not a null pointer, the mbtowc function inspects at most N bytes
- beginning with the byte pointed to by S to determine the number of bytes
- needed to complete the next multibyte character (including any shift
- sequences). If the function determines that the next multibyte character
- is complete and valid, it determines the value of the corresponding wide
- character and then, if Pwc is not a null pointer, stores that value in
- the object pointed to by Pwc. If the corresponding wide character is the
- null wide character, the function is left in the initial conversion state.
-
- @param[out] Pwc Pointer to a wide-character object to receive the converted character.
- @param[in] S Pointer to a multibyte character to convert.
- @param[in] N Maximum number of bytes in a multibyte character.
-
- @return If S is a null pointer, the mbtowc function returns a nonzero or
- zero value, if multibyte character encodings, respectively, do
- or do not have state-dependent encodings. If S is not a null
- pointer, the mbtowc function either returns 0 (if S points to
- the null character), or returns the number of bytes that are
- contained in the converted multibyte character (if the next N or
- fewer bytes form a valid multibyte character), or returns -1
- (if they do not form a valid multibyte character).
-
- In no case will the value returned be greater than N or the value
- of the MB_CUR_MAX macro.
-**/
-int mbtowc(wchar_t * __restrict Pwc, const char * __restrict S, size_t N);
-
-/** Convert a wide character into a multibyte character.
-
- The wctomb function determines the number of bytes needed to represent the
- multibyte character corresponding to the wide character given by WC
- (including any shift sequences), and stores the multibyte character
- representation in the array whose first element is pointed to by S (if S is
- not a null pointer). At most MB_CUR_MAX characters are stored. If WC is a
- null wide character, a null byte is stored, preceded by any shift sequence
- needed to restore the initial shift state, and the function is left in the
- initial conversion state.
-
- @param[out] S Pointer to the object to receive the converted multibyte character.
- @param[in] WC Wide character to be converted.
-
- @return If S is a null pointer, the wctomb function returns a nonzero or
- zero value, if multibyte character encodings, respectively, do or
- do not have state-dependent encodings. If S is not a null pointer,
- the wctomb function returns -1 if the value of WC does not
- correspond to a valid multibyte character, or returns the number
- of bytes that are contained in the multibyte character
- corresponding to the value of WC.
-
- In no case will the value returned be greater than the value of
- the MB_CUR_MAX macro.
-**/
-int wctomb(char *S, wchar_t WC);
-
-/* ################ Multibyte/wide string conversion functions ########## */
-
-/** Convert a multibyte character string into a wide-character string.
-
- The mbstowcs function converts a sequence of multibyte characters that
- begins in the initial shift state from the array pointed to by Src into
- a sequence of corresponding wide characters and stores not more than limit
- wide characters into the array pointed to by Dest. No multibyte
- characters that follow a null character (which is converted into a null
- wide character) will be examined or converted. Each multibyte character
- is converted as if by a call to the mbtowc function, except that the
- conversion state of the mbtowc function is not affected.
-
- No more than Limit elements will be modified in the array pointed to by Dest.
- If copying takes place between objects that overlap,
- the behavior is undefined.
-
- @param[out] Dest Pointer to the array to receive the converted string.
- @param[in] Src Pointer to the string to be converted.
- @param[in] Limit Maximum number of elements to be written to Dest.
-
- @return If an invalid multibyte character is encountered, the mbstowcs
- function returns (size_t)(-1). Otherwise, the mbstowcs function
- returns the number of array elements modified, not including a
- terminating null wide character, if any.
-**/
-size_t mbstowcs(wchar_t * __restrict Dest, const char * __restrict Src, size_t Limit);
-
-/** Convert a wide-character string into a multibyte character string.
-
- The wcstombs function converts a sequence of wide characters from the
- array pointed to by Src into a sequence of corresponding multibyte
- characters that begins in the initial shift state, and stores these
- multibyte characters into the array pointed to by Dest, stopping if a
- multibyte character would exceed the limit of Limit total bytes or if a
- null character is stored. Each wide character is converted as if by
- a call to the wctomb function, except that the conversion state of
- the wctomb function is not affected.
-
- No more than Limit bytes will be modified in the array pointed to by Dest.
- If copying takes place between objects that overlap,
- the behavior is undefined.
-
- @param[out] Dest Pointer to the array to receive the converted string.
- @param[in] Src Pointer to the string to be converted.
- @param[in] Limit Maximum number of bytes to be written to Dest.
-
- @return If a wide character is encountered that does not correspond to a
- valid multibyte character, the wcstombs function returns
- (size_t)(-1). Otherwise, the wcstombs function returns the number
- of bytes modified, not including a terminating null character,
- if any.
-**/
-size_t wcstombs(char * __restrict Dest, const wchar_t * __restrict Src, size_t Limit);
-
-/* ############## Miscelaneous functions for *nix compatibility ########## */
-
-/** The realpath() function shall derive, from the pathname pointed to by
- file_name, an absolute pathname that names the same file, whose resolution
- does not involve '.', '..', or symbolic links. The generated pathname shall
- be stored as a null-terminated string, up to a maximum of {PATH_MAX} bytes,
- in the buffer pointed to by resolved_name.
-
- If resolved_name is a null pointer, the behavior of realpath() is
- implementation-defined.
-
- @param[in] file_name The filename to convert.
- @param[in,out] resolved_name The resultant name.
-
- @retval NULL An error occured.
- @retval resolved_name.
-**/
-char * realpath(char *file_name, char *resolved_name);
-
-/** The getprogname() function returns the name of the program. If the name
- has not been set yet, it will return NULL.
-
- @return The getprogname function returns NULL if the program's name has not
- been set, otherwise it returns the name of the program.
-**/
-const char * getprogname(void);
-
-/** The setprogname() function sets the name of the program.
-
- @param[in] progname The name of the program. This memory must be retained
- by the caller until no calls to "getprogname" will be
- called.
-**/
-void setprogname(const char *progname);
-
-/* ############### Functions specific to this implementation ############# */
-
-/* Determine the number of bytes needed to represent a Wide character
- as a MBCS character.
-
- A single wide character may convert into a one, two, three, or four byte
- narrow (MBCS or UTF-8) character. The number of MBCS bytes can be determined
- as follows.
-
- If WCS char < 0x00000080 One Byte
- Else if WCS char < 0x0000D800 Two Bytes
- Else Three Bytes
-
- Since UEFI only supports the Unicode Base Multilingual Plane (BMP),
- Four-byte characters are not supported.
-
- @param[in] InCh Wide character to test.
-
- @retval -1 Improperly formed character
- @retval 0 InCh is 0x0000
- @retval >0 Number of bytes needed for the MBCS character
-*/
-int
-EFIAPI
-OneWcToMcLen(const wchar_t InCh);
-
-/* Determine the number of bytes needed to represent a Wide character string
- as a MBCS string of given maximum length. Will optionally return the number
- of wide characters that would be consumed.
-
- @param[in] Src Pointer to a wide character string.
- @param[in] Limit Maximum number of bytes the converted string may occupy.
- @param[out] NumChar Pointer to where to store the number of wide characters, or NULL.
-
- @return The number of bytes required to convert Src to MBCS,
- not including the terminating NUL. If NumChar is not NULL, the number
- of characters represented by the return value will be written to
- where it points.
-**/
-size_t
-EFIAPI
-EstimateWtoM(const wchar_t * Src, size_t Limit, size_t *NumChar);
-
-/** Determine the number of characters in a MBCS string.
-
- @param[in] Src The string to examine
-
- @return The number of characters represented by the MBCS string.
-**/
-size_t
-EFIAPI
-CountMbcsChars(const char *Src);
-
-__END_DECLS
-
-#endif /* _STDLIB_H */
diff --git a/StdLib/Include/string.h b/StdLib/Include/string.h deleted file mode 100644 index 0c809441e8..0000000000 --- a/StdLib/Include/string.h +++ /dev/null @@ -1,493 +0,0 @@ -/** @file
- The header <string.h> declares one type and several functions, and defines
- one macro useful for manipulating arrays of character type and other objects
- treated as arrays of character type. Various methods are used for
- determining the lengths of the arrays, but in all cases a char * or void *
- argument points to the initial (lowest addressed) character of the array. If
- an array is accessed beyond the end of an object, the behavior is undefined.
-
- Where an argument declared as size_t n specifies the length of the array for
- a function, n can have the value zero on a call to that function. Unless
- explicitly stated otherwise in the description of those functions, pointer
- arguments on such a call must still have valid values.
-
- For all functions declared in this header, each character shall be
- interpreted as if it had the type unsigned char (and therefore every possible
- object representation is valid and has a different value).
-
- The following macros are defined in this file:<BR>
- @verbatim
- NULL
- bcopy(a,b,c) ( memcpy((void *)b, (const void *)a, (size_t)c))
- bcmp(a,b,c) ( memcmp((void *)a, (void *)b, (size_t)c))
- @endverbatim
-
- The following types are defined in this file:<BR>
- @verbatim
- size_t Unsigned integer type of the result of the sizeof operator.
- @endverbatim
-
- The following functions are declared in this file:<BR>
- @verbatim
- ################ Copying Functions
- void *memcpy (void * __restrict s1, const void * __restrict s2, size_t n);
- void *memmove (void *s1, const void *s2, size_t n);
- char *strcpy (char * __restrict s1, const char * __restrict s2);
- char *strncpy (char * __restrict s1, const char * __restrict s2, size_t n);
- int strncpyX (char * __restrict s1, const char * __restrict s2, size_t n);
-
- ################ Concatenation Functions
- char *strcat (char * __restrict s1, const char * __restrict s2);
- char *strncat (char * __restrict s1, const char * __restrict s2, size_t n);
- int strncatX (char * __restrict s1, const char * __restrict s2, size_t n);
-
- ################ Comparison Functions
- int memcmp (const void *s1, const void *s2, size_t n);
- int strcmp (const char *s1, const char *s2);
- int strcoll (const char *s1, const char *s2);
- int strncmp (const char *s1, const char *s2, size_t n);
- size_t strxfrm (char * __restrict s1, const char * __restrict s2, size_t n);
-
- ################ Search Functions
- void *memchr (const void *s, int c, size_t n);
- char *strchr (const char *s, int c);
- size_t strcspn (const char *s1, const char *s2);
- char *strpbrk (const char *s1, const char *s2);
- char *strrchr (const char *s, int c);
- size_t strspn (const char *s1 , const char *s2);
- char *strstr (const char *s1 , const char *s2);
- char *strtok (char * __restrict s1, const char * __restrict s2);
-
- ################ Miscellaneous Functions
- void *memset (void *s, int c, size_t n);
- char *strerror (int num);
- size_t strlen (const char *);
-
- ################ BSD Compatibility Functions
- char *strdup (const char *);
- int strerror_r (int, char *, size_t);
- int strcasecmp (const char *s1, const char *s2);
- void *memccpy (void *, const void *, int, size_t);
- int strncasecmp (const char *s1, const char *s2, size_t n);
- size_t strlcpy (char *destination, const char *source, size_t size);
- size_t strlcat (char *destination, const char *source, size_t size);
- char *strsep (register char **stringp, register const char *delim);
- @endverbatim
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _STRING_H
-#define _STRING_H
-#include <sys/EfiCdefs.h>
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-__BEGIN_DECLS
-
-/* ################ Copying Functions ################################# */
-
-/** The memcpy function copies N characters from the object pointed to by Src
- into the object pointed to by Dest. If copying takes place between objects
- that overlap, the behavior is undefined.
-
- @param[out] Dest Pointer to the destination of the copy operation.
- @param[in] Src Pointer to the Source data to be copied.
- @param[in] N Number of characters (bytes) to be copied.
-
- @return The memcpy function returns the value of Dest.
-**/
-void *memcpy(void * __restrict Dest, const void * __restrict Src, size_t N);
-
-/** The memmove function copies N characters from the object pointed to by Src
- into the object pointed to by Dest. Copying takes place as if the N
- characters from the object pointed to by Src are first copied into a
- temporary array of N characters that does not overlap the objects pointed
- to by Dest and Src, and then the N characters from the temporary array are
- copied into the object pointed to by Dest.
-
- @param[out] Dest Pointer to the destination of the copy operation.
- @param[in] Src Pointer to the Source data to be copied.
- @param[in] N Number of characters (bytes) to be copied.
-
- @return The memmove function returns the value of Dest.
-**/
-void *memmove(void *Dest, const void *Src, size_t N);
-
-/** The strcpy function copies the string pointed to by Src (including the
- terminating null character) into the array pointed to by Dest. If copying
- takes place between objects that overlap, the behavior is undefined.
-
- @param[out] Dest Pointer to the destination of the copy operation.
- @param[in] Src Pointer to the Source data to be copied.
-
- @return The strcpy function returns the value of Dest.
-**/
-char *strcpy(char * __restrict Dest, const char * __restrict Src);
-
-/** The strncpy function copies not more than N characters (characters that
- follow a null character are not copied) from the array pointed to by Src to
- the array pointed to by Dest. If copying takes place between objects that
- overlap, the behavior is undefined.
-
- If the array pointed to by Src is a string that is shorter than N
- characters, null characters are appended to the copy in the array pointed
- to by Dest, until N characters in all have been written.
-
- @param[out] Dest Pointer to the destination of the copy operation.
- @param[in] Src Pointer to the Source data to be copied.
- @param[in] N Number of characters (bytes) to be copied.
-
- @return The strncpy function returns the value of Dest.
-**/
-char *strncpy(char * __restrict Dest, const char * __restrict Src, size_t N);
-
-/** The strncpyX function copies not more than N-1 characters (characters that
- follow a null character are not copied) from the array pointed to by Src to
- the array pointed to by Dest. Array Dest is guaranteed to be NULL terminated.
- If copying takes place between objects that overlap,
- the behavior is undefined.
-
- strncpyX exists because normal strncpy does not indicate if the copy was
- terminated because of exhausting the buffer or reaching the end of Src.
-
- @param[out] Dest Pointer to the destination of the copy operation.
- @param[in] Src Pointer to the Source data to be copied.
- @param[in] N Number of characters (bytes) to be copied.
-
- @return The strncpyX function returns 0 if the copy operation was
- terminated because it reached the end of Dest. Otherwise,
- a non-zero value is returned indicating how many characters
- remain in Dest.
-**/
-int strncpyX(char * __restrict Dest, const char * __restrict Src, size_t N);
-
-/* ################ Concatenation Functions ########################### */
-
-/** The strcat function appends a copy of the string pointed to by Src
- (including the terminating null character) to the end of the string pointed
- to by Dest. The initial character of Src overwrites the null character at the
- end of Dest. If copying takes place between objects that overlap, the
- behavior is undefined.
-
- @param[out] Dest Pointer to the destination of the concatenation operation.
- @param[in] Src Pointer to the Source data to be concatenated.
-
- @return The strcat function returns the value of Dest.
-**/
-char *strcat(char * __restrict Dest, const char * __restrict Src);
-
-/** The strncat function appends not more than N characters (a null character
- and characters that follow it are not appended) from the array pointed to
- by Src to the end of the string pointed to by Dest. The initial character of
- Src overwrites the null character at the end of Dest. A terminating null
- character is always appended to the result. If copying takes place
- between objects that overlap, the behavior is undefined.
-
- @param[out] Dest Pointer to the destination of the concatenation operation.
- @param[in] Src Pointer to the Source data to be concatenated.
- @param[in] N Max Number of characters (bytes) to be concatenated.
-
- @return The strncat function returns the value of Dest.
-**/
-char *strncat(char * __restrict Dest, const char * __restrict Src, size_t N);
-
-/** The strncatX function appends not more than N characters (a null character
- and characters that follow it are not appended) from the array pointed to
- by Src to the end of the string pointed to by Dest. The initial character of
- Src overwrites the null character at the end of Dest. The result is always
- terminated with a null character. If copying takes place between objects
- that overlap, the behavior is undefined.
-
- strncatX exists because normal strncat does not indicate if the operation
- was terminated because of exhausting N or reaching the end of Src.
-
- @param[out] Dest Pointer to the destination of the concatenation operation.
- @param[in] Src Pointer to the Source data to be concatenated.
- @param[in] N Max Number of characters (bytes) to be concatenated.
-
- @return The strncatX function returns 0 if the operation was terminated
- because it reached the end of Dest. Otherwise, a non-zero value is
- returned indicating how many characters remain in Dest.
-**/
-int strncatX(char * __restrict s1, const char * __restrict s2, size_t n);
-
-/* ################ Comparison Functions ############################## */
-
-/** The memcmp function compares the first N characters of the object pointed
- to by S1 to the first N characters of the object pointed to by S2.
-
- @param[out] S1 Pointer to the first object to be compared.
- @param[in] S2 Pointer to the object to be compared to S1.
- @param[in] N Max Number of characters (bytes) to be compared.
-
- @return The memcmp function returns an integer greater than, equal to, or
- less than zero, accordingly as the object pointed to by S1 is
- greater than, equal to, or less than the object pointed to by S2.
-**/
-int memcmp(const void *S1, const void *S2, size_t N);
-
-/** The strcmp function compares the string pointed to by S1 to the string
- pointed to by S2.
-
- @param[out] S1 Pointer to the first string to be compared.
- @param[in] S2 Pointer to the string to be compared to S1.
-
- @return The strcmp function returns an integer greater than, equal to, or
- less than zero, accordingly as the string pointed to by S1 is
- greater than, equal to, or less than the string pointed to by S2.
-**/
-int strcmp(const char *S1, const char *S2);
-
-/** The strcoll function compares the string pointed to by S1 to the string
- pointed to by S2, both interpreted as appropriate to the LC_COLLATE
- category of the current locale.
-
- @param[out] S1 Pointer to the first string to be compared.
- @param[in] S2 Pointer to the string to be compared to S1.
-
- @return The strcoll function returns an integer greater than, equal to,
- or less than zero, accordingly as the string pointed to by S1 is
- greater than, equal to, or less than the string pointed to by S2
- when both are interpreted as appropriate to the current locale.
-**/
-int strcoll(const char *S1, const char *S2);
-
-/** The strncmp function compares not more than N characters (characters that
- follow a null character are not compared) from the array pointed to by S1
- to the array pointed to by S2.
-
- @param[out] S1 Pointer to the first object to be compared.
- @param[in] S2 Pointer to the object to be compared to S1.
- @param[in] N Max Number of characters (bytes) to be compared.
-
- @return The strncmp function returns an integer greater than, equal to,
- or less than zero, accordingly as the possibly null-terminated
- array pointed to by S1 is greater than, equal to, or less than
- the possibly null-terminated array pointed to by S2.
-**/
-int strncmp(const char *S1, const char *S2, size_t N);
-
-/** The strxfrm function transforms the string pointed to by Src and places the
- resulting string into the array pointed to by Dest. The transformation is
- such that if the strcmp function is applied to two transformed strings, it
- returns a value greater than, equal to, or less than zero, corresponding to
- the result of the strcoll function applied to the same two original
- strings. No more than N characters are placed into the resulting array
- pointed to by Dest, including the terminating null character. If N is zero,
- Dest is permitted to be a null pointer. If copying takes place between
- objects that overlap, the behavior is undefined.
-
- @param[out] Dest Pointer to the object to receive the transformed string.
- @param[in] Src Pointer to the string to be transformed.
- @param[in] N Max Number of characters (bytes) to be transformed.
-
- @return The strxfrm function returns the length of the transformed string
- (not including the terminating null character). If the value
- returned is N or more, the contents of the array pointed to by Dest
- are indeterminate.
-**/
-size_t strxfrm(char * __restrict Dest, const char * __restrict Src, size_t N);
-
-/* ################ Search Functions ################################## */
-
-/** The memchr function locates the first occurrence of C (converted to an
- unsigned char) in the initial N characters (each interpreted as
- unsigned char) of the object pointed to by S.
-
- @param[in] S Pointer to the object to be searched.
- @param[in] C The character value to search for.
- @param[in] N Max Number of characters (bytes) to be searched.
-
- @return The memchr function returns a pointer to the located character,
- or a null pointer if the character does not occur in the object.
-**/
-void *memchr(const void *S, int C, size_t N);
-
-/** The strchr function locates the first occurrence of C (converted to a char)
- in the string pointed to by S. The terminating null character is considered
- to be part of the string.
-
- @param[in] S Pointer to the object to be searched.
- @param[in] C The character value to search for.
-
- @return The strchr function returns a pointer to the located character,
- or a null pointer if the character does not occur in the string.
-**/
-char *strchr(const char *S, int C);
-
-/** The strcspn function computes the length of the maximum initial segment of
- the string pointed to by S1 which consists entirely of characters NOT from
- the string pointed to by S2.
-
- @param[in] S1 Pointer to the object to be searched.
- @param[in] S2 Pointer to the list of characters to search for.
-
- @return The strcspn function returns the length of the segment.
-**/
-size_t strcspn(const char *S1, const char *S2);
-
-/** The strpbrk function locates the first occurrence in the string pointed to
- by S1 of any character from the string pointed to by S2.
-
- @param[in] S1 Pointer to the object to be searched.
- @param[in] S2 Pointer to the list of characters to search for.
-
- @return The strpbrk function returns a pointer to the character, or a
- null pointer if no character from S2 occurs in S1.
-**/
-char *strpbrk(const char *S1, const char *S2);
-
-/** The strrchr function locates the last occurrence of C (converted to a char)
- in the string pointed to by S. The terminating null character is considered
- to be part of the string.
-
- @param[in] S Pointer to the object to be searched.
- @param[in] C The character value to search for.
-
- @return The strrchr function returns a pointer to the character, or a
- null pointer if C does not occur in the string.
-**/
-char *strrchr(const char *S, int C);
-
-/** The strspn function computes the length of the maximum initial segment of
- the string pointed to by S1 which consists entirely of characters from the
- string pointed to by S2.
-
- @param[in] S1 Pointer to the object to be searched.
- @param[in] S2 Pointer to the list of characters to search for.
-
- @return The strspn function returns the length of the segment.
-**/
-size_t strspn(const char *S1 , const char *S2);
-
-/** The strstr function locates the first occurrence in the string pointed to
- by S1 of the sequence of characters (excluding the terminating null
- character) in the string pointed to by S2.
-
- @param[in] S1 Pointer to the object to be searched.
- @param[in] S2 Pointer to the sequence of characters to search for.
-
- @return The strstr function returns a pointer to the located string, or a
- null pointer if the string is not found. If S2 points to a string
- with zero length, the function returns S1.
-**/
-char *strstr(const char *S1 , const char *S2);
-
-/** Break a string into a sequence of tokens.
-
- A sequence of calls to the strtok function breaks the string pointed to by
- S1 into a sequence of tokens, each of which is delimited by a character
- from the string pointed to by S2. The first call in the sequence has a
- non-null first argument; subsequent calls in the sequence have a null first
- argument. The separator string pointed to by S2 may be different from call
- to call.
-
- The first call in the sequence searches the string pointed to by S1 for the
- first character that is not contained in the current separator string
- pointed to by S2. If no such character is found, then there are no tokens
- in the string pointed to by S1 and the strtok function returns a null
- pointer. If such a character is found, it is the start of the first token.
-
- The strtok function then searches from there for a character that is
- contained in the current separator string. If no such character is found,
- the current token extends to the end of the string pointed to by S1, and
- subsequent searches for a token will return a null pointer. If such a
- character is found, it is overwritten by a null character, which terminates
- the current token. The strtok function saves a pointer to the following
- character, from which the next search for a token will start.
-
- Each subsequent call, with a null pointer as the value of the first
- argument, starts searching from the saved pointer and behaves as
- described above.
-
- @param[in] S1 Pointer to the string to be tokenized.
- @param[in] S2 Pointer to a list of separator characters.
-
- @return The strtok function returns a pointer to the first character of a
- token, or a null pointer if there is no token.
-**/
-char *strtok(char * __restrict S1, const char * __restrict S2);
-
-/* ################ Miscellaneous Functions ########################### */
-
-/** The memset function copies the value of C (converted to an unsigned char)
- into each of the first N characters of the object pointed to by S.
-
- @param[out] S Pointer to the first element of the object to be set.
- @param[in] C Value to store in each element of S.
- @param[in] N Number of elements in S to be set.
-
- @return The memset function returns the value of S.
-**/
-void *memset(void *S, int C, size_t N);
-
-/** The strerror function maps the number in Num to a message string.
- Typically, the values for Num come from errno, but strerror shall map
- any value of type int to a message.
-
- @param[in] Num A value to be converted to a message.
-
- @return The strerror function returns a pointer to the string, the
- contents of which are locale specific. The array pointed to
- must not be modified by the program, but may be overwritten by
- a subsequent call to the strerror function.
-**/
-char *strerror(int Num);
-
-/** The strlen function computes the length of the string pointed to by S.
-
- @param[in] S Pointer to the string to determine the length of.
-
- @return The strlen function returns the number of characters that
- precede the terminating null character.
-**/
-size_t strlen(const char *S);
-
-
-/* ################ BSD Compatibility Functions ####################### */
-
-char *strdup (const char *);
-int strerror_r(int, char *, size_t);
-int strcasecmp(const char *s1, const char *s2);
-void *memccpy (void *, const void *, int, size_t);
-int strncasecmp(const char *s1, const char *s2, size_t n);
-size_t strlcpy(char *destination, const char *source, size_t size);
-size_t strlcat(char *destination, const char *source, size_t size);
-
-// bcopy is is a void function with the src/dest arguments reversed, being used in socket lib
-#define bcopy(a,b,c) ( memcpy((void *)b, (const void *)a, (size_t)c))
-
-// bcmp is same as memcmp, returns 0 for successful compare, non-zero otherwise
-#define bcmp(a,b,c) ( memcmp((void *)a, (void *)b, (size_t)c))
-
-/*
- * Get next token from string *stringp, where tokens are possibly-empty
- * strings separated by characters from delim.
- *
- * Writes NULs into the string at *stringp to end tokens.
- * delim need not remain constant from call to call.
- * On return, *stringp points past the last NUL written (if there might
- * be further tokens), or is NULL (if there are definitely no more tokens).
- *
- * If *stringp is NULL, strsep returns NULL.
- */
-char *
-strsep(
- register char **stringp,
- register const char *delim
- );
-
-__END_DECLS
-
-#endif /* _STRING_H */
diff --git a/StdLib/Include/stringlist.h b/StdLib/Include/stringlist.h deleted file mode 100644 index d0d9239355..0000000000 --- a/StdLib/Include/stringlist.h +++ /dev/null @@ -1,65 +0,0 @@ -/** @file contains all the stringlist types and functions.
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-
-
- * Copyright (c) 1994 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Christos Zoulas.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- $NetBSD: stringlist.h,v 1.7 2008/04/28 20:22:54 martin Exp $
-**/
-
-#ifndef _STRINGLIST_H
-#define _STRINGLIST_H
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/*
- * Simple string list
- */
-typedef struct _stringlist {
- char **sl_str;
- size_t sl_max;
- size_t sl_cur;
-} StringList;
-
-__BEGIN_DECLS
-StringList *sl_init(void);
-int sl_add(StringList *, char *);
-void sl_free(StringList *, int);
-char *sl_find(StringList *, const char *);
-int sl_delete(StringList *, const char *, int);
-__END_DECLS
-
-#endif /* _STRINGLIST_H */
diff --git a/StdLib/Include/strings.h b/StdLib/Include/strings.h deleted file mode 100644 index 139bd4a1dc..0000000000 --- a/StdLib/Include/strings.h +++ /dev/null @@ -1,56 +0,0 @@ -/** @file
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1998 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- 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.
-
- THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- NetBSD: strings.h,v 1.13 2008/04/28 20:22:54 martin Exp
- */
-#ifndef _STRINGS_H_
-#define _STRINGS_H_
-
-#include <machine/ansi.h>
-#include <sys/featuretest.h>
-
-__BEGIN_DECLS
-void bzero(void *, size_t);
-int ffs(int);
-__END_DECLS
-
-#define index(x,y) strchr((x), (y))
-#define rindex(x,y) strrchr((x), (y))
-
-#include <string.h>
-
-#endif /* !defined(_STRINGS_H_) */
diff --git a/StdLib/Include/sys/EfiCdefs.h b/StdLib/Include/sys/EfiCdefs.h deleted file mode 100644 index 2fa7ba6ae5..0000000000 --- a/StdLib/Include/sys/EfiCdefs.h +++ /dev/null @@ -1,376 +0,0 @@ -/** @file
- Common declarations and definitions for Standard C Library headers.
-
- This header consolidates definitions and declarations for compiler specific
- features in one place in order to assist in making the remainder of the
- library as compiler independent as possible.
-
- Certain macro and type definitions are required to be provided by several
- different headers. In order to avoid having multiple definitions, and the
- attendant risk of having the definitions get out of sync, they are defined in
- this header.
-
- Note that MdePkg/Include/Base.h is automatically included and will bring
- processor architecture specific definitions along with it.
-
- Throughout the library, the following macros are used instead of keywords so
- that the library can be easily tuned for different compilers.
- __inline Defined to the appropriate keyword or not defined.
- __func__ Defined to __FUNC__, __FUNCTION__, or NULL as appropriate.
- __restrict Defined to nothing for VC++ or to restrict for GCC and C99 compliant compilers.
-
- This file and its contents are inspired by the <sys/cdefs.h> files in Berkeley
- Unix. They have been re-implemented to be specific to the EFI environment.
-
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 1991, 1993
- The Regents of the University of California. All rights reserved.
-
- Portions of this code are derived from software contributed to Berkeley by
- Berkeley Software Design, 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. 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.
-**/
-#ifndef _EFI_CDEFS_H
-#define _EFI_CDEFS_H
-
-/*
-* Macro to test if we're using a GNU C compiler of a specific vintage
-* or later, for e.g. features that appeared in a particular version
-* of GNU C. Usage:
-*
-* #if __GNUC_PREREQ__(major, minor)
-* ...cool feature...
-* #else
-* ...delete feature...
-* #endif
-*/
-#ifdef __GNUC__
-#define __GNUC_PREREQ__(x, y) \
-((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || \
- (__GNUC__ > (x)))
-
-#define DONT_USE_STRONG_WEAK_ALIAS 1
-
-#else
-#define __GNUC_PREREQ__(x, y) 0
-#endif
-
-#include <sys/featuretest.h>
-//#include <machine/_EfiCdefs.h>
-#ifdef __PE32__
-#include <sys/_EfiCdefs_PE32.h>
-#else
-#include <sys/cdefs_aout.h>
-#endif
-
-/* NULL is defined by the automatic inclusion of Base.h by the build tools. */
-
-#ifdef __GNUC__
- #define _EFI_SIZE_T_ __SIZE_TYPE__ /* sizeof() */
- #define _EFI_WCHAR_T __WCHAR_TYPE__
- #define _EFI_WINT_T __WINT_TYPE__
- //#define _EFI_WINT_MIN (0)
- //#define _EFI_WINT_MAX (0xFFFF)
- #define _EFI_PTRDIFF_T_ __PTRDIFF_TYPE__ /* ptr1 - ptr2 --- Must be same size as size_t */
-
-#else
-#define _EFI_SIZE_T_ UINTN /* sizeof() */
-#define _EFI_WCHAR_T UINT16
-#define _EFI_WINT_T INT32
- //#define _EFI_WINT_MIN (-2147483647) /* wint_t */
- //#define _EFI_WINT_MAX ( 2147483647) /* wint_t */
- #define _EFI_PTRDIFF_T_ INTN /* ptr1 - ptr2 --- Must be same size as size_t */
-#endif /* __GNUC__ */
-
-#define _EFI_CLOCK_T UINT64
-#define _EFI_TIME_T INT32
-
-#if defined(__cplusplus)
-#define __BEGIN_DECLS extern "C" {
-#define __END_DECLS }
-#define __static_cast(x,y) static_cast<x>(y)
-#else
-#define __BEGIN_DECLS
-#define __END_DECLS
-#define __static_cast(x,y) (x)y
-#endif
-
- /*
- * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
- * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
- * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
- * in between its arguments. __CONCAT can also concatenate double-quoted
- * strings produced by the __STRING macro, but this only works with ANSI C.
- */
-
-#define ___STRING(x) __STRING(x)
-#define ___CONCAT(x,y) __CONCAT(x,y)
-#define __CONCAT(x,y) x ## y
-#define __STRING(x) #x
-
-#define __const CONST
-#define __signed signed
-#define __volatile volatile
-
-#if __STDC__ || defined(__cplusplus)
- #if defined(__cplusplus)
- #define __inline inline /* convert to C++ keyword */
- #else
- #if defined(_MSC_VER) || (!defined(__GNUC__) && !defined(__lint__))
- #define __inline /* delete C99 keyword */
- #endif /* !__GNUC__ && !__lint__ */
- #endif /* !__cplusplus */
-#endif /* !(__STDC__ || __cplusplus) */
-
-/* Used in NetBSD for internal auditing of the source tree. */
-#define __aconst
-
- /*
- * The following macro is used to remove const cast-away warnings
- * from gcc -Wcast-qual; it should be used with caution because it
- * can hide valid errors; in particular most valid uses are in
- * situations where the API requires it, not to cast away string
- * constants. We don't use *intptr_t on purpose here and we are
- * explicit about unsigned long so that we don't have additional
- * dependencies.
- */
-#define __UNCONST(a) ((void *)(a))
-//#define __UNCONST(a) ((void *)(PHYSICAL_ADDRESS)(const void *)(a))
-
- /*
- * The following macro is used to remove the volatile cast-away warnings
- * from gcc -Wcast-qual; as above it should be used with caution
- * because it can hide valid errors or warnings. Valid uses include
- * making it possible to pass a volatile pointer to memset().
- * For the same reasons as above, we use unsigned long and not intptr_t.
- */
-#define __UNVOLATILE(a) ((void *)(PHYSICAL_ADDRESS)(volatile void *)(a))
-
- /*
- * GCC2 provides __extension__ to suppress warnings for various GNU C
- * language extensions under "-ansi -pedantic".
- */
-#if !__GNUC_PREREQ__(2, 0)
-#define __extension__ /* delete __extension__ if non-gcc or gcc1 */
-#endif
-
- /*
- * GCC1 and some versions of GCC2 declare dead (non-returning) and
- * pure (no side effects) functions using "volatile" and "const";
- * unfortunately, these then cause warnings under "-ansi -pedantic".
- * GCC2 uses a new, peculiar __attribute__((attrs)) style. All of
- * these work for GNU C++ (modulo a slight glitch in the C++ grammar
- * in the distribution version of 2.5.5).
- */
-#if !__GNUC_PREREQ__(2, 5)
-#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-#define __dead __volatile
-#define __pure __const
-#endif
-#endif
-
- /* Delete pseudo-keywords wherever they are not available or needed. */
-#ifndef __dead
-#define __dead
-#define __pure
-#endif
-
-#if __GNUC_PREREQ__(2, 7)
-#define __unused __attribute__((__unused__))
-#define __noreturn __attribute__((__noreturn__))
-#else
-#define __unused /* delete */
-#define __noreturn /* delete */
-#endif
-
-#if __GNUC_PREREQ__(3, 1)
-#define __used __attribute__((__used__))
-#else
-#define __used __unused
-#endif
-
-#if __GNUC_PREREQ__(2, 7)
-#define __packed __attribute__((__packed__))
-#define __aligned(x) __attribute__((__aligned__(x)))
-#define __section(x) __attribute__((__section__(x)))
-#elif defined(__lint__)
-#define __packed /* delete */
-#define __aligned(x) /* delete */
-#define __section(x) /* delete */
-#else
-#define __packed error: no __packed for this compiler
-#define __aligned(x) error: no __aligned for this compiler
-#define __section(x) error: no __section for this compiler
-#endif
-
-/*
-* C99 defines the restrict type qualifier keyword, which was made available
-* in GCC 2.92.
-*/
-#if __STDC_VERSION__ >= 199901L
- #define __restrict restrict
-#else
- #if defined(_MSC_VER) || !__GNUC_PREREQ__(2, 92)
- #define __restrict /* delete __restrict when not supported */
- #endif
-#endif
-
-/*
-* C99 defines __func__ predefined identifier, which was made available
-* in GCC 2.95.
-*/
-#if !(__STDC_VERSION__ >= 199901L)
- #if defined(_MSC_VER)
- #define __func__ __FUNCTION__ /* Use the MS-specific predefined macro */
- #elif __GNUC_PREREQ__(2, 6)
- #define __func__ __PRETTY_FUNCTION__
- #elif __GNUC_PREREQ__(2, 4)
- #define __func__ __FUNCTION__
- #else
- #define __func__ ""
- #endif
-#endif /* !(__STDC_VERSION__ >= 199901L) */
-
-#define __RENAME(x)
-
- /*
- * A barrier to stop the optimizer from moving code or assume live
- * register values. This is gcc specific, the version is more or less
- * arbitrary, might work with older compilers.
- */
-#if __GNUC_PREREQ__(2, 95)
-#define __insn_barrier() __asm __volatile("":::"memory")
-#else
-#define __insn_barrier() /* */
-#endif
-
- /*
- * GNU C version 2.96 adds explicit branch prediction so that
- * the CPU back-end can hint the processor and also so that
- * code blocks can be reordered such that the predicted path
- * sees a more linear flow, thus improving cache behavior, etc.
- *
- * The following two macros provide us with a way to use this
- * compiler feature. Use __predict_true() if you expect the expression
- * to evaluate to true, and __predict_false() if you expect the
- * expression to evaluate to false.
- *
- * A few notes about usage:
- *
- * * Generally, __predict_false() error condition checks (unless
- * you have some _strong_ reason to do otherwise, in which case
- * document it), and/or __predict_true() `no-error' condition
- * checks, assuming you want to optimize for the no-error case.
- *
- * * Other than that, if you don't know the likelihood of a test
- * succeeding from empirical or other `hard' evidence, don't
- * make predictions.
- *
- * * These are meant to be used in places that are run `a lot'.
- * It is wasteful to make predictions in code that is run
- * seldomly (e.g. at subsystem initialization time) as the
- * basic block reordering that this affects can often generate
- * larger code.
- */
-#if __GNUC_PREREQ__(2, 96)
-#define __predict_true(exp) __builtin_expect((exp) != 0, 1)
-#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
-#else
-#define __predict_true(exp) (exp)
-#define __predict_false(exp) (exp)
-#endif
-
-/* find least significant bit that is set */
-#define __LOWEST_SET_BIT(__mask) ((((__mask) - 1) & (__mask)) ^ (__mask))
-
-#define __SHIFTOUT(__x, __mask) (((__x) & (__mask)) / __LOWEST_SET_BIT(__mask))
-#define __SHIFTIN(__x, __mask) ((__x) * __LOWEST_SET_BIT(__mask))
-#define __SHIFTOUT_MASK(__mask) __SHIFTOUT((__mask), (__mask))
-
-#if defined(_MSC_VER) /* Handle Microsoft VC++ compiler specifics. */
-
- /* VC++, by default, defines wchar_t as an intrinsic type, equivalent to
- unsigned short. This conflicts which Standard C Library
- implementations which try to define wchar_t.
- Make sure that this behavior has been turned off by using
- /Zc:wchar_t- on the command line.
- */
- #ifdef _NATIVE_WCHAR_T_DEFINED
- #error You must specify /Zc:wchar_t- to the compiler to turn off intrinsic wchar_t.
- #endif
-
- /* Get rid of pre-defined macros that are misleading in this environment. */
- #undef _WIN32
- #undef _WIN64
-
- // Keep compiler quiet about casting from smaller to larger types
- #pragma warning ( disable : 4306 )
-
- #define __STDC__ 1
- #define __STDC_VERSION__ 199409L
- #define __STDC_HOSTED__ 1
-
-#endif /* defined(_MSC_VER) */
-extern int _fltused; // VC++ requires this if you use floating point. KEEP for all compilers.
-
-#define _Bool BOOLEAN
-#define _DIAGASSERT(e)
-
-// Types used to replace long so that it will have constant length regardless of compiler.
-typedef INT32 LONG32;
-typedef UINT32 ULONG32;
-typedef INT64 LONG64;
-typedef UINT64 ULONG64;
-
-typedef INTN EFI_LONG_T;
-typedef UINTN EFI_ULONG_T;
-
-/* These types reflect the compiler's size for long */
-#if defined(__GNUC__)
- #if __GNUC_PREREQ__(4,4)
- /* GCC 4.4 or later */
- typedef INTN LONGN;
- typedef UINTN ULONGN;
- #else
- /* minGW gcc variant */
- typedef INT32 LONGN;
- typedef UINT32 ULONGN;
- #endif /* __GNUC_PREREQ__(4,4) */
-#else /* NOT GCC */
- /* Microsoft or Intel compilers */
- typedef INT32 LONGN;
- typedef UINT32 ULONGN;
-#endif /* defined(__GNUC__) */
-
-#endif /* _EFI_CDEFS_H */
diff --git a/StdLib/Include/sys/EfiSysCall.h b/StdLib/Include/sys/EfiSysCall.h deleted file mode 100644 index 6f4742875e..0000000000 --- a/StdLib/Include/sys/EfiSysCall.h +++ /dev/null @@ -1,350 +0,0 @@ -/** @file
- Function declarations for UEFI "system calls".
-
- The following macros are defined in this file:<BR>
-@verbatim
- STDIN_FILENO 0 standard input file descriptor
- STDOUT_FILENO 1 standard output file descriptor
- STDERR_FILENO 2 standard error file descriptor
- SEEK_SET 0 set file offset to offset
- SEEK_CUR 1 set file offset to current plus offset
- SEEK_END 2 set file offset to EOF plus offset
- VALID_OPEN 1
- VALID_CLOSED 0
- VALID_DONT_CARE -1
-@endverbatim
-
- The following types are defined in this file:<BR>
-@verbatim
- struct stat; Structure declared in <sys/stat.h>
-@endverbatim
-
- The following functions are declared in this file:<BR>
-@verbatim
- ############### System Calls used in stdio.
- int close (int fd);
- ssize_t read (int fd, void *buf, size_t n);
- ssize_t write (int fd, const void *buf, size_t n);
- int unlink (const char *name);
- int dup2 (int, int);
- int rmdir (const char *);
- int isatty (int);
-
- ############### System Calls which are also declared in sys/fcntl.h.
- int open (const char *name, int oflags, int mode);
- int creat (const char *, mode_t);
- int fcntl (int, int, ...);
-
- ############### System Calls which are also declared in stat.h.
- int mkdir (const char *, mode_t);
- int fstat (int, struct stat *);
- int lstat (const char *, struct stat *);
- int stat (const char *, void *);
- int chmod (const char *, mode_t);
-
- ############### System Calls which are also declared in sys/types.h.
- off_t lseek (int, off_t, int);
- int truncate (const char *, off_t);
- int ftruncate (int, off_t); // IEEE Std 1003.1b-93
-
- ############### EFI-specific Functions.
- int DeleteOnClose (int fd); Mark an open file to be deleted when closed.
- int FindFreeFD (int MinFd);
- BOOLEAN ValidateFD (int fd, int IsOpen);
-@endverbatim
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _EFI_SYS_CALL_H
-#define _EFI_SYS_CALL_H
-
-#include <sys/EfiCdefs.h>
-#include <sys/types.h>
-
-struct stat; /* Structure declared in <sys/stat.h> */
-
-#define STDIN_FILENO 0 /**< standard input file descriptor */
-#define STDOUT_FILENO 1 /**< standard output file descriptor */
-#define STDERR_FILENO 2 /**< standard error file descriptor */
-
-/* whence values for lseek(2)
- Always ensure that these are consistent with <stdio.h> and <unistd.h>!
-*/
-#ifndef SEEK_SET
- #define SEEK_SET 0 /**< set file offset to offset */
-#endif
-#ifndef SEEK_CUR
- #define SEEK_CUR 1 /**< set file offset to current plus offset */
-#endif
-#ifndef SEEK_END
- #define SEEK_END 2 /**< set file offset to EOF plus offset */
-#endif
-
-// Parameters for the ValidateFD function.
-#define VALID_OPEN 1
-#define VALID_CLOSED 0
-#define VALID_DONT_CARE -1
-
-__BEGIN_DECLS
-/* EFI versions of BSD system calls used in stdio */
-
- /** Close a file or device.
-
- @param[in] fd File Descriptor for the file or device to close.
-
- @retval 0 Successful completion.
- @retval -1 An error occurred, identified by errno.
- - EBADF fd is not a valid File Descriptor.
- - EINTR The function was interrupted by a signal.
- - EIO An I/O error occurred.
- **/
- int close (int fd);
-
- /** Read from a file or device.
-
- @param[in] fd File Descriptor for the file or device to read.
- @param[in] buf Buffer to read data into.
- @param[in] N Maximum number of bytes to read.
-
- @return On successful completion, read returns a non-negative integer
- indicating the number of bytes actually read. Otherwise, it
- returns -1 and sets errno as follows:
- - EAGAIN
- - EWOULDBLOCK
- - EBADF
- - EBADMSG
- - EINTR
- - EINVAL
- - EIO
- - EISDIR
- - EOVERFLOW
- - ECONNRESET
- - ENOTCONN
- - ETIMEDOUT
- - ENOBUFS
- - ENOMEM
- - ENXIO
- **/
- ssize_t read (int fd, void *buf, size_t n);
-
- /** Write to a file or device.
-
- @param[in] fd File Descriptor for the file or device to write.
- @param[in] buf Buffer to write data from.
- @param[in] N Maximum number of bytes to write.
-
- @return On successful completion, write returns a non-negative integer
- indicating the number of bytes actually written. Otherwise, it
- returns -1 and sets errno as follows:
- - EAGAIN
- - EWOULDBLOCK
- - EBADF
- - EFBIG
- - EINTR
- - EINVAL
- - EIO
- - ENOSPC
- - EPIPE
- - ERANGE
- - ECONNRESET
- - ENOBUFS
- - ENXIO
- - ENETDOWN
- - ENETUNREACH
- **/
- ssize_t write (int fd, const void *buf, size_t n);
-
- /** Unlink (delete) a file.
-
- @param[in] name The name of the file to be deleted.
-
- @retval 0 Successful completion.
- @retval -1 Unable to perform operation, errno contains further
- information. The file name is unchanged.
- **/
- int unlink (const char *name);
-
- /** Make file descriptor Fd2 a duplicate of file descriptor Fd1.
-
- @param[in] Fd1 File descriptor to be duplicated
- @param[in] Fd2 File descriptor to become a duplicate of Fd1.
-
- @retval 0 Successful completion.
- @retval -1 Unable to perform operation, errno contains further
- information.
- **/
- int dup2 (int Fd1, int Fd2);
-
- /** Remove a directory.
-
- @param[in] Path Path to the directory to be deleted.
-
- @retval 0 Successful completion.
- @retval -1 Unable to perform operation, errno contains further
- information. The named directory remains unchanged.
- **/
- int rmdir (const char *Path);
-
- /** Determine if fd refers to an interactive terminal device.
-
- @param[in] fd The file descriptor to be tested.
-
- @retval 0 The file descriptor, fd, is not for a terminal. errno is set
- indicating the cause for failure.
- - EBADF fd is not a valid open file descriptor.
- - ENOTTY fd does not refer to a terminal.
- @retval 1 The file descriptor, fd, is for a terminal.
- **/
- int isatty (int fd);
-
-/* These system calls are also declared in sys/fcntl.h */
-#ifndef __FCNTL_SYSCALLS_DECLARED
- #define __FCNTL_SYSCALLS_DECLARED
-
- /** Open or create a file named by name.
-
- The file name may be one of:
- - An absolute path beginning with '/'.
- - A relative path beginning with "." or ".." or a directory name
- - A file name
- - A mapped path which begins with a name followed by a colon, ':'.
-
- Mapped paths are use to refer to specific mass storage volumes or devices.
- In a Shell-hosted environment, the map command will list valid map names
- for both file system and block devices. Mapped paths can also refer to
- devices such as the UEFI console. Supported UEFI console mapped paths are:
- - stdin: Standard Input (from the System Table)
- - stdout: Standard Output (from the System Table)
- - stderr: Standard Error Output (from the System Table)
-
- @param[in] name Name of file to open.
- @param[in] oflags Flags as defined in fcntl.h.
- @param[in] mode Access mode to use if creating the file.
-
- @return Returns -1 on failure, otherwise the file descriptor for the open file.
- **/
- int open (const char *name, int oflags, int mode);
-
- /** Create a new file or rewrite an existing one.
-
- The creat() function behaves as if it is implemented as follows:
-
- int creat(const char *path, mode_t mode)
- {
- return open(path, O_WRONLY|O_CREAT|O_TRUNC, mode);
- }
-
- @param[in] Path The name of the file to create.
- @param[in] Mode Access mode (permissions) for the new file.
-
- @return Returns -1 on failure, otherwise the file descriptor for the open file.
- **/
- int creat (const char *Path, mode_t Mode);
-
- /** File control
-
- This function performs the operations described below and defined in <fcntl.h>.
-
- - F_DUPFD: Return the lowest numbered file descriptor available that is >= the third argument.
- The new file descriptor refers to the same open file as Fd.
-
- - F_SETFD: Set the file descriptor flags to the value specified by the third argument.
- - F_GETFD: Get the file descriptor flags associated with Fd.
- - F_SETFL: Set the file status flags based upon the value of the third argument.
- - F_GETFL: Get the file status flags and access modes for file Fd.
-
- @param[in] Fd File descriptor associated with the file to be controlled.
- @param[in] Cmd Command to execute.
- @param[in] ... Additional arguments, as needed by Cmd.
-
- @return A -1 is returned to indicate failure, otherwise the value
- returned is positive and depends upon Cmd as follows:
- - F_DUPFD: A new file descriptor.
- - F_SETFD: files previous file descriptor flags.
- - F_GETFD: The files file descriptor flags.
- - F_SETFL: The old status flags and access mode of the file.
- - F_GETFL: The status flags and access mode of the file.
- **/
- int fcntl (int Fd, int Cmd, ...);
-#endif // __FCNTL_SYSCALLS_DECLARED
-
-/* These system calls are also declared in stat.h */
-#ifndef __STAT_SYSCALLS_DECLARED
- #define __STAT_SYSCALLS_DECLARED
-
- int mkdir (const char *, mode_t);
- int fstat (int, struct stat *);
- int lstat (const char *, struct stat *);
- int stat (const char *, struct stat *);
- int chmod (const char *, mode_t);
- mode_t umask (mode_t cmask);
-
-#endif // __STAT_SYSCALLS_DECLARED
-
-// These are also declared in sys/types.h
-#ifndef __OFF_T_SYSCALLS_DECLARED
- #define __OFF_T_SYSCALLS_DECLARED
- off_t lseek (int, off_t, int);
- int truncate (const char *, off_t);
- int ftruncate (int, off_t); // IEEE Std 1003.1b-93
-#endif /* __OFF_T_SYSCALLS_DECLARED */
-
-/* EFI-specific Functions. */
-
- /** Mark an open file to be deleted when it is closed.
-
- @param[in] fd File descriptor for the open file.
-
- @retval 0 The flag was set successfully.
- @retval -1 An invalid fd was specified.
- **/
- int DeleteOnClose(int fd);
-
- /** Find and reserve a free File Descriptor.
-
- Returns the first free File Descriptor greater than or equal to the,
- already validated, fd specified by Minfd.
-
- @return Returns -1 if there are no free FDs. Otherwise returns the
- found fd.
- */
- int FindFreeFD (int MinFd);
-
- /** Validate that fd refers to a valid file descriptor.
- IsOpen is interpreted as follows:
- - Positive fd must be OPEN
- - Zero fd must be CLOSED
- - Negative fd may be OPEN or CLOSED
-
- @retval TRUE fd is VALID
- @retval FALSE fd is INVALID
- */
- BOOLEAN ValidateFD (int fd, int IsOpen);
-
-
-/* These system calls don't YET have EFI implementations. */
- int reboot (int, char *);
-__END_DECLS
-
-/* The console output stream, stdout, supports cursor positioning via the
- lseek() function call. The following entities facilitate packing the
- X and Y coordinates into the offset parameter of the lseek call.
-*/
-typedef struct {
- UINT32 Column;
- UINT32 Row;
-} CURSOR_XY;
-
-typedef union {
- UINT64 Offset;
- CURSOR_XY XYpos;
-} XY_OFFSET;
-
-#endif /* _EFI_SYS_CALL_H */
diff --git a/StdLib/Include/sys/_ctype.h b/StdLib/Include/sys/_ctype.h deleted file mode 100644 index cb06ec09dd..0000000000 --- a/StdLib/Include/sys/_ctype.h +++ /dev/null @@ -1,68 +0,0 @@ -/** @file
- Implementation specific support for Single-byte character classification and
- case conversion macros and function declarations.
-
- This file is intended to only be included by <ctype.h>.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _CTYPE_H
-#error This file, <sys/_ctype.h>, may only be included by <ctype.h>.
-#endif
-
-__BEGIN_DECLS
-extern const UINT16 *_cClass; ///< Locale independent pointer to Character Classification Table.
-extern const UINT8 *_uConvT; ///< Locale independent pointer to Lowercase to Uppercase Conversion Table.
-extern const UINT8 *_lConvT; ///< Locale independent pointer to Uppercase to Lowercase Conversion Table.
-
-extern int __isCClass( int _c, unsigned int mask); ///< Internal character classification function.
-__END_DECLS
-
-
-/** @{
-Character Class bit masks.
-**/
-#define _CC 0x0001U ///< Control Characters
-#define _CW 0x0002U ///< White Space
-#define _CP 0x0004U ///< Punctuation
-#define _CD 0x0008U ///< Digits [0-9]
-#define _CU 0x0010U ///< Uppercase Letter [A-Z]
-#define _CL 0x0020U ///< Lowercase Letter [a-z]
-#define _CX 0x0040U ///< Hexadecimal Digits [A-Fa-f]
-#define _C0 0x0080U ///< Path Separator Characters, '/' and '\\'
-#define _CS 0x0100U ///< Space Characters, ' ' in C locale
-#define _CG 0x0200U ///< Graphic Characters
-#define _CB 0x0400U ///< Blank Characters, ' ' and '\t' in C locale
-#define _C4 0x0800U
-#define _XA 0x1000U ///< eXtra Alpha characters not in _CU or _CL
-#define _C6 0x2000U
-#define _C7 0x4000U
-#define _C8 0x8000U
-/// @}
-
-#ifndef NO_CTYPE_MACROS
- #define __isCClass( _c, mask) (((_c) < 0 || (_c) > 127) ? 0 : (_cClass[(_c)] & (mask)))
- #define __toLower( _c) ((__isCClass( ((int)_c), (_CU))) ? _lConvT[(_c)] : (_c))
- #define __toUpper( _c) ((__isCClass( ((int)_c), (_CL))) ? _uConvT[(_c)] : (_c))
-#endif /* NO_CTYPE_MACROS */
-
-/* Macros used by implementation functions */
-#define __isHexLetter(_c) (__isCClass( (int)c, (_CX)))
-
-#ifdef _CTYPE_PRIVATE
- #define _CTYPE_NUM_CHARS (256)
-
- #define _CTYPE_ID "BSDCTYPE"
- #define _CTYPE_REV 2
-
- extern const UINT16 _C_CharClassTable[];
- extern const UINT8 _C_ToUpperTable[];
- extern const UINT8 _C_ToLowerTable[];
-#endif
diff --git a/StdLib/Include/sys/_posix.h b/StdLib/Include/sys/_posix.h deleted file mode 100644 index 706cf7edb4..0000000000 --- a/StdLib/Include/sys/_posix.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef _SYS__POSIX_H_
-#define _SYS__POSIX_H_
-
-/*-
- * Copyright (c) 1998 HD Associates, Inc.
- * All rights reserved.
- * contact: dufault@hda.com
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $Id: _posix.h,v 1.1.1.1 2006/05/30 06:13:04 hhzhou Exp $
- */
-
-/*
- * This is a stand alone header file to set up for feature specification
- * defined to take place before the inclusion of any standard header.
- * It should only handle pre-processor defines.
- *
- * See section B.2.7 of 1003.1b-1993
- *
- */
-
-#ifdef KERNEL
-
-#if !defined(ACTUALLY_LKM_NOT_KERNEL) && !defined(KLD_MODULE)
-#include "opt_posix.h"
-#endif
-
-/* Only kern_mib.c uses _POSIX_VERSION. Introduce a kernel
- * one to avoid other pieces of the kernel getting dependant
- * on that.
- * XXX Complain if you think this dumb.
- */
-
-/* Make P1003 structures visible for the kernel if
- * the P1003_1B option is in effect.
- */
-#ifdef P1003_1B
-#define _P1003_1B_VISIBLE
-#ifndef _KPOSIX_VERSION
-#define _KPOSIX_VERSION 199309L
-#endif
-#endif
-
-#ifndef _KPOSIX_VERSION
-#define _KPOSIX_VERSION 199009L
-#endif
-
-#define _P1003_1B_VISIBLE_HISTORICALLY
-
-#else
-
-/* Default to existing user space version.
- */
-#ifndef _POSIX_VERSION
-#define _POSIX_VERSION 199009L
-#endif
-
-/* Test for visibility of P1003.1B features:
- * If _POSIX_SOURCE and POSIX_C_SOURCE are completely undefined
- * they show up.
- *
- * If they specify a version including P1003.1B then they show up.
- *
- * (Two macros are added to permit hiding new extensions while
- * keeping historic BSD features - that is not done now)
- *
- */
-
-#if (!defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)) || \
- (_POSIX_VERSION >= 199309L && defined(_POSIX_C_SOURCE) && \
- _POSIX_C_SOURCE >= 199309L)
-#define _P1003_1B_VISIBLE
-#define _P1003_1B_VISIBLE_HISTORICALLY
-#endif
-
-#endif /* not KERNEL */
-#endif /* _SYS__POSIX_H_ */
diff --git a/StdLib/Include/sys/ansi.h b/StdLib/Include/sys/ansi.h deleted file mode 100644 index f8489fa2e5..0000000000 --- a/StdLib/Include/sys/ansi.h +++ /dev/null @@ -1,63 +0,0 @@ -/** @file
- ANSI type definitions.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990, 1993
- The Regents of the University of California. All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Jun-ichiro itojun Hagino and by Klaus Klein.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: ansi.h,v 1.11 2005/12/11 12:25:20 christos Exp
-**/
-#ifndef _SYS_ANSI_H_
-#define _SYS_ANSI_H_
-
-#include <machine/int_types.h>
-
-typedef INT8 * __caddr_t; ///< core address
-typedef __uint32_t __gid_t; ///< group id
-typedef __uint32_t __in_addr_t; ///< IP(v4) address
-typedef __uint16_t __in_port_t; ///< "Internet" port number
-typedef __uint32_t __mode_t; ///< file permissions
-typedef __int64_t __off_t; ///< file offset
-typedef __int32_t __pid_t; ///< process id
-typedef __uint8_t __sa_family_t; ///< socket address family
-typedef UINT32 __socklen_t; ///< socket-related datum length
-typedef __uint32_t __uid_t; ///< user id
-typedef __uint64_t __fsblkcnt_t; ///< fs block count (statvfs)
-typedef __uint64_t __fsfilcnt_t; ///< fs file count
-
-#endif /* !_SYS_ANSI_H_ */
diff --git a/StdLib/Include/sys/bswap.h b/StdLib/Include/sys/bswap.h deleted file mode 100644 index a9284eb81d..0000000000 --- a/StdLib/Include/sys/bswap.h +++ /dev/null @@ -1,77 +0,0 @@ -/* $NetBSD: bswap.h,v 1.12 2006/05/22 16:28:27 drochner Exp $ */
-
-/* Written by Manuel Bouyer. Public domain */
-
-#ifndef _SYS_BSWAP_H_
-#define _SYS_BSWAP_H_
-
-#ifndef _LOCORE
-#include <sys/EfiCdefs.h>
-#include <sys/types.h>
-
-#include <machine/bswap.h>
-
-__BEGIN_DECLS
-/* Always declare the functions in case their address is taken (etc) */
-#if !defined(__BSWAP_RENAME)
-uint16_t bswap16(uint16_t) __attribute__((__const__));
-uint32_t bswap32(uint32_t) __attribute__((__const__));
-#else
-uint16_t bswap16(uint16_t) __RENAME(__bswap16) __attribute__((__const__));
-uint32_t bswap32(uint32_t) __RENAME(__bswap32) __attribute__((__const__));
-#endif
-uint64_t bswap64(uint64_t) __attribute__((__const__));
-__END_DECLS
-
-#if defined(__GNUC__) && defined(__OPTIMIZE__)
-
-/* machine/byte_swap.h might have defined inline versions */
-#ifndef __BYTE_SWAP_U64_VARIABLE
-#define __BYTE_SWAP_U64_VARIABLE bswap64
-#endif
-
-#ifndef __BYTE_SWAP_U32_VARIABLE
-#define __BYTE_SWAP_U32_VARIABLE bswap32
-#endif
-
-#ifndef __BYTE_SWAP_U16_VARIABLE
-#define __BYTE_SWAP_U16_VARIABLE bswap16
-#endif
-
-#define __byte_swap_u64_constant(x) \
- ((uint64_t) \
- ((((x) & 0xff00000000000000ull) >> 56) | \
- (((x) & 0x00ff000000000000ull) >> 40) | \
- (((x) & 0x0000ff0000000000ull) >> 24) | \
- (((x) & 0x000000ff00000000ull) >> 8) | \
- (((x) & 0x00000000ff000000ull) << 8) | \
- (((x) & 0x0000000000ff0000ull) << 24) | \
- (((x) & 0x000000000000ff00ull) << 40) | \
- (((x) & 0x00000000000000ffull) << 56)))
-
-#define __byte_swap_u32_constant(x) \
- ((((x) & 0xff000000) >> 24) | \
- (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | \
- (((x) & 0x000000ff) << 24))
-
-#define __byte_swap_u16_constant(x) \
- ((((x) & 0xff00) >> 8) | \
- (((x) & 0x00ff) << 8))
-
-#define bswap64(x) \
- (__builtin_constant_p((x)) ? \
- __byte_swap_u64_constant(x) : __BYTE_SWAP_U64_VARIABLE(x))
-
-#define bswap32(x) \
- (__builtin_constant_p((x)) ? \
- __byte_swap_u32_constant(x) : __BYTE_SWAP_U32_VARIABLE(x))
-
-#define bswap16(x) \
- (__builtin_constant_p((x)) ? \
- __byte_swap_u16_constant(x) : __BYTE_SWAP_U16_VARIABLE(x))
-
-#endif /* __GNUC__ && __OPTIMIZE__ */
-#endif /* !_LOCORE */
-
-#endif /* !_SYS_BSWAP_H_ */
diff --git a/StdLib/Include/sys/callout.h b/StdLib/Include/sys/callout.h deleted file mode 100644 index b3768199fa..0000000000 --- a/StdLib/Include/sys/callout.h +++ /dev/null @@ -1,131 +0,0 @@ -/* $NetBSD: callout.h,v 1.22 2005/12/11 12:25:20 christos Exp $ */
-
-/*-
- * Copyright (c) 2000, 2003 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-/*
- * Copyright (c) 2000-2001 Artur Grabowski <art@openbsd.org>
- * 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. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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.
- */
-
-#ifndef _SYS_CALLOUT_H_
-#define _SYS_CALLOUT_H_
-
-/*
- * The following funkyness is to appease gcc3's strict aliasing.
- */
-struct callout;
-struct callout_circq {
- /* next element */
- union {
- struct callout *elem;
- struct callout_circq *list;
- } cq_next;
- /* previous element */
- union {
- struct callout *elem;
- struct callout_circq *list;
- } cq_prev;
-};
-#define cq_next_e cq_next.elem
-#define cq_prev_e cq_prev.elem
-#define cq_next_l cq_next.list
-#define cq_prev_l cq_prev.list
-
-struct callout {
- struct callout_circq c_list; /* linkage on queue */
- void (*c_func)(void *); /* function to call */
- void *c_arg; /* function argument */
- int c_time; /* when callout fires */
- int c_flags; /* state of this entry */
-};
-
-#define CALLOUT_PENDING 0x0002 /* callout is on the queue */
-#define CALLOUT_FIRED 0x0004 /* callout has fired */
-#define CALLOUT_INVOKING 0x0008 /* callout function is being invoked */
-
-#define CALLOUT_INITIALIZER_SETFUNC(func, arg) \
- { {{NULL}, {NULL}}, func, arg, 0, 0 }
-
-#define CALLOUT_INITIALIZER CALLOUT_INITIALIZER_SETFUNC(NULL, NULL)
-
-#ifdef _KERNEL
-void callout_startup(void);
-void callout_init(struct callout *);
-void callout_setfunc(struct callout *, void (*)(void *), void *);
-void callout_reset(struct callout *, int, void (*)(void *), void *);
-void callout_schedule(struct callout *, int);
-void callout_stop(struct callout *);
-int callout_hardclock(void);
-
-#define callout_setfunc(c, f, a) \
-do { \
- (c)->c_func = (f); \
- (c)->c_arg = (a); \
-} while (/*CONSTCOND*/0)
-
-#define callout_pending(c) ((c)->c_flags & CALLOUT_PENDING)
-#define callout_expired(c) ((c)->c_flags & CALLOUT_FIRED)
-#define callout_active(c) ((c)->c_flags & (CALLOUT_PENDING|CALLOUT_FIRED))
-#define callout_invoking(c) ((c)->c_flags & CALLOUT_INVOKING)
-#define callout_ack(c) ((c)->c_flags &= ~CALLOUT_INVOKING)
-#endif /* _KERNEL */
-
-#endif /* !_SYS_CALLOUT_H_ */
diff --git a/StdLib/Include/sys/cdefs.h b/StdLib/Include/sys/cdefs.h deleted file mode 100644 index c6e3d7b120..0000000000 --- a/StdLib/Include/sys/cdefs.h +++ /dev/null @@ -1,15 +0,0 @@ -/** @file
- Wrapper to allow existing references to <sys/cdefs.h>,
- in code being ported, to work.
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-
-#include <sys/EfiCdefs.h>
diff --git a/StdLib/Include/sys/cdefs_aout.h b/StdLib/Include/sys/cdefs_aout.h deleted file mode 100644 index 2eb0a90266..0000000000 --- a/StdLib/Include/sys/cdefs_aout.h +++ /dev/null @@ -1,136 +0,0 @@ -/* $NetBSD: cdefs_aout.h,v 1.20 2006/05/18 17:55:38 christos Exp $ */
-
-/*
- * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
- * Public domain.
- */
-
-#ifndef _SYS_CDEFS_AOUT_H_
-#define _SYS_CDEFS_AOUT_H_
-
-#define _C_LABEL(x) __CONCAT(_,x)
-#define _C_LABEL_STRING(x) "_"x
-
-#define ___RENAME(x)
-
-#define __indr_reference(sym,alias) /* nada, since we do weak refs */
-
-#ifdef __GNUC__
-#if __STDC__
- #ifndef DONT_USE_STRONG_WEAK_ALIAS
- #define __strong_alias(alias,sym) \
- __asm(".global " _C_LABEL_STRING(#alias) "\n" \
- _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));
- #define __weak_alias(alias,sym) \
- __asm(".weak " _C_LABEL_STRING(#alias) "\n" \
- _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));
-
- /* Do not use __weak_extern, use __weak_reference instead */
- #define __weak_extern(sym) \
- __asm(".weak " _C_LABEL_STRING(#sym));
-
- #if __GNUC_PREREQ__(4, 0)
- #define __weak_reference(sym) __attribute__((__weakref__))
- #else
- #define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym))
- #endif
-
- #define __warn_references(sym,msg) \
- __asm(".stabs \"" msg "\",30,0,0,0"); \
- __asm(".stabs \"_" #sym "\",1,0,0,0");
- #else
- #define __strong_alias(alias,sym) /* NOTHING */
- #define __weak_alias(alias,sym) /* NOTHING */
- #define __weak_extern(sym) /* NOTHING */
- #define __weak_reference(sym) /* NOTHING */
-
- #if defined(__CC_ARM) || defined(__APPLE__)
- #define __warn_references(sym,msg)
- #else
- #define __warn_references(sym,msg) \
- __asm(".stabs \"" msg "\",30,0,0,0"); \
- __asm(".stabs \"_" #sym "\",1,0,0,0");
- #endif
- #endif
-#else /* __STDC__ */
- #define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)
- #define ___weak_alias(alias,sym) \
- __asm(".weak alias\nalias = sym");
- /* Do not use __weak_extern, use __weak_reference instead */
- #define __weak_extern(sym) ___weak_extern(_/**/sym)
- #define ___weak_extern(sym) \
- __asm(".weak sym");
-
- #if __GNUC_PREREQ__(4, 0)
- #define __weak_reference(sym) __attribute__((__weakref__))
- #else
- #define ___weak_reference(sym) ; __asm(".weak sym");
- #define __weak_reference(sym) ___weak_reference(_/**/sym)
- #endif
-
- #define __warn_references(sym,msg) \
- __asm(".stabs msg,30,0,0,0"); \
- __asm(".stabs \"_/**/sym\",1,0,0,0");
-#endif /* __STDC__ */
-#else /* __GNUC__ */
- #define __warn_references(sym,msg)
-#endif /* __GNUC__ */
-
-#if defined(__sh__) /* XXX SH COFF */
-#undef __indr_reference(sym,alias)
-#undef __warn_references(sym,msg)
-#define __warn_references(sym,msg)
-#endif
-
-#define __IDSTRING(_n,_s) \
- __asm(".data ; .asciz \"" _s "\" ; .text")
-
-#undef __KERNEL_RCSID
-
-//#define __RCSID(_s) __IDSTRING(rcsid,_s)
-#define __RCSID(_s)
-#define __SCCSID(_s)
-#define __SCCSID2(_s)
-#if 0 /* XXX userland __COPYRIGHTs have \ns in them */
-#define __COPYRIGHT(_s) __IDSTRING(copyright,_s)
-#else
-#define __COPYRIGHT(_s) \
- static const char copyright[] __attribute__((__unused__)) = _s
-#endif
-
-#if defined(USE_KERNEL_RCSIDS) || !defined(_KERNEL)
-#define __KERNEL_RCSID(_n,_s) __IDSTRING(__CONCAT(rcsid,_n),_s)
-#else
-#define __KERNEL_RCSID(_n,_s)
-#endif
-#define __KERNEL_SCCSID(_n,_s)
-#define __KERNEL_COPYRIGHT(_n, _s) __IDSTRING(__CONCAT(copyright,_n),_s)
-
-#ifndef __lint__
-#define __link_set_make_entry(set, sym, type) \
- static void const * const \
- __link_set_##set##_sym_##sym __used = &sym; \
- __asm(".stabs \"___link_set_" #set "\", " #type ", 0, 0, _" #sym)
-#else
-#define __link_set_make_entry(set, sym, type) \
- extern void const * const __link_set_##set##_sym_##sym
-#endif /* __lint__ */
-
-#define __link_set_add_text(set, sym) __link_set_make_entry(set, sym, 23)
-#define __link_set_add_rodata(set, sym) __link_set_make_entry(set, sym, 23)
-#define __link_set_add_data(set, sym) __link_set_make_entry(set, sym, 25)
-#define __link_set_add_bss(set, sym) __link_set_make_entry(set, sym, 27)
-
-#define __link_set_decl(set, ptype) \
-extern struct { \
- int __ls_length; \
- ptype *__ls_items[1]; \
-} __link_set_##set
-
-#define __link_set_start(set) (&(__link_set_##set).__ls_items[0])
-#define __link_set_end(set) \
- (&(__link_set_##set).__ls_items[(__link_set_##set).__ls_length])
-
-#define __link_set_count(set) ((__link_set_##set).__ls_length)
-
-#endif /* !_SYS_CDEFS_AOUT_H_ */
diff --git a/StdLib/Include/sys/dirent.h b/StdLib/Include/sys/dirent.h deleted file mode 100644 index 2c171de5b7..0000000000 --- a/StdLib/Include/sys/dirent.h +++ /dev/null @@ -1,144 +0,0 @@ -/** @file
- Declarations pertaining to directory entries under the UEFI environment.
-
- The information is based upon the EFI_FILE_INFO structure
- in MdePkg/Include/Guid/FileInfo.h.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1989, 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.
-
- @(#)dirent.h 8.3 (Berkeley) 8/10/94
- NetBSD: dirent.h,v 1.23 2005/12/26 18:41:36 perry Exp
-**/
-#ifndef _SYS_DIRENT_H_
-#define _SYS_DIRENT_H_
-
-#include <Uefi.h>
-
-#include <sys/featuretest.h>
-#include <time.h>
-#include <sys/time.h>
-
-#define MAXNAMLEN 511
-
-/*
- * The dirent structure defines the format of directory entries returned by
- * read(fd, ...) when fd refers to a directory.
- *
- * All names are wide characters and are guaranteed to be null terminated.
- * The maximum length of a name in a directory is MAXNAMLEN.
- *
- * This structure is identical to the EFI_FILE_INFO structure. A new
- * structure is declared because one must be able to refer to it
- * as struct dirent.
- */
-struct dirent {
- UINT64 Size; // (d_reclen) Size of this dirent structure instance,
- // including the Null-terminated FileName string.
- UINT64 FileSize; // The size of the file in bytes.
- UINT64 PhysicalSize; // The amount of physical space the file consumes
- // on the file system volume.
- EFI_TIME CreateTime; // The time the file was created.
- EFI_TIME LastAccessTime; // The time when the file was last accessed.
- EFI_TIME ModificationTime; // The time when the file's contents were last modified.
- UINT64 Attribute; // (d_type) The attribute bits for the file. See below.
- CHAR16 FileName[1]; // (d_name) The Null-terminated name of the file.
-};
-
-/* For compatibility */
-#define d_name FileName
-#define d_type Attribute
-#define d_reclen Size
-
-
-/*
- * File Attributes
- */
-#define DT_UNKNOWN 0
-#define DT_READ_ONLY 0x0000000000000001
-#define DT_HIDDEN 0x0000000000000002
-#define DT_SYSTEM 0x0000000000000004
-#define DT_RESERVED 0x0000000000000008
-#define DT_DIRECTORY 0x0000000000000010
-#define DT_ARCHIVE 0x0000000000000020
-#define DT_CHR 0x0000000000010000 // File attaches to a character device
-#define DT_BLK 0x0000000000020000 // File attaches to a block device
-#define DT_SOCKET 0x0000000000030000 // File attaches to a socket
-#define DT_VALID_ATTR 0x0000000000030037 // Mask for valid attribute bits
-
-/*
- * The _DIRENT_ALIGN macro returns the alignment of struct dirent.
- * struct dirent uses 8.
- */
-#define _DIRENT_ALIGN(dp) (sizeof((dp)->Size) - 1)
-
-/*
- * The _DIRENT_NAMEOFF macro returns the offset of the d_name field in
- * struct dirent
- */
-#define _DIRENT_NAMEOFF(dp) \
- ((char *)(void *)&(dp)->FileName - (char *)(void *)dp)
-
-/*
- * The _DIRENT_RECLEN macro gives the minimum record length which will hold
- * a name of size "namlen". This requires the amount of space in struct dirent
- * without the d_name field, plus enough space for the name with a terminating
- * null byte (namlen+1), rounded up to a the appropriate byte boundary.
- */
-#define _DIRENT_RECLEN(dp, namlen) \
- ((_DIRENT_NAMEOFF(dp) + (namlen) + 1 + _DIRENT_ALIGN(dp)) & \
- ~_DIRENT_ALIGN(dp))
-
-#define _DIRENT_NAMELEN(dp) \
- ((dp)->Size - _DIRENT_NAMEOFF(dp) - 1)
-
-/*
- * The _DIRENT_SIZE macro returns the minimum record length required for
- * name name stored in the current record.
- */
-#define _DIRENT_SIZE(dp) _DIRENT_RECLEN(dp, _DIRENT_NAMELEN(dp))
-
-/*
- * The _DIRENT_NEXT macro advances to the next dirent record.
- */
-#define _DIRENT_NEXT(dp) ((void *)((char *)(void *)(dp) + (dp)->Size))
-
-/*
- * The _DIRENT_MINSIZE returns the size of an empty (invalid) record.
- */
-#define _DIRENT_MINSIZE(dp) _DIRENT_RECLEN(dp, 0)
-
-#endif /* !_SYS_DIRENT_H_ */
diff --git a/StdLib/Include/sys/endian.h b/StdLib/Include/sys/endian.h deleted file mode 100644 index dfe013fa40..0000000000 --- a/StdLib/Include/sys/endian.h +++ /dev/null @@ -1,309 +0,0 @@ -/** @file
- Byte order related definitions and declarations.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- 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:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: endian.h,v 1.24 2006/05/05 15:08:11 christos Exp
- endian.h 8.1 (Berkeley) 6/11/93
-**/
-#ifndef _SYS_ENDIAN_H_
-#define _SYS_ENDIAN_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * Definitions for byte order, according to byte significance from low
- * address to high.
- */
-#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
-#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
-#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */
-
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#ifndef _LOCORE
-
-/* C-family endian-ness definitions */
-
-#include <sys/ansi.h>
-#include <sys/types.h>
-
-#ifndef in_addr_t
-typedef __in_addr_t in_addr_t;
-#define in_addr_t __in_addr_t
-#endif
-
-#ifndef in_port_t
-typedef __in_port_t in_port_t;
-#define in_port_t __in_port_t
-#endif
-
-__BEGIN_DECLS
-uint32_t htonl(uint32_t) __attribute__((__const__));
-uint16_t htons(uint16_t) __attribute__((__const__));
-uint32_t ntohl(uint32_t) __attribute__((__const__));
-uint16_t ntohs(uint16_t) __attribute__((__const__));
-__END_DECLS
-
-#endif /* !_LOCORE */
-#endif /* _XOPEN_SOURCE || _NETBSD_SOURCE */
-
-
-#include <machine/endian_machdep.h>
-
-/*
- * Define the order of 32-bit words in 64-bit words.
- */
-#if _BYTE_ORDER == _LITTLE_ENDIAN
-#define _QUAD_HIGHWORD 1
-#define _QUAD_LOWWORD 0
-#endif
-
-#if _BYTE_ORDER == _BIG_ENDIAN
-#define _QUAD_HIGHWORD 0
-#define _QUAD_LOWWORD 1
-#endif
-
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-/*
- * Traditional names for byteorder. These are defined as the numeric
- * sequences so that third party code can "#define XXX_ENDIAN" and not
- * cause errors.
- */
-#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
-#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
-#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */
-#define BYTE_ORDER _BYTE_ORDER
-
-#ifndef _LOCORE
-
-#include <machine/bswap.h>
-
-/*
- * Macros for network/external number representation conversion.
- */
-#if BYTE_ORDER == BIG_ENDIAN && !defined(__lint__)
-#define ntohl(x) (x)
-#define ntohs(x) (x)
-#define htonl(x) (x)
-#define htons(x) (x)
-
-#define NTOHL(x) (void) (x)
-#define NTOHS(x) (void) (x)
-#define HTONL(x) (void) (x)
-#define HTONS(x) (void) (x)
-
-#else /* LITTLE_ENDIAN || !defined(__lint__) */
-
-#define ntohl(x) bswap32((uint32_t)(x))
-#define ntohs(x) bswap16((uint16_t)(x))
-#define htonl(x) bswap32((uint32_t)(x))
-#define htons(x) bswap16((uint16_t)(x))
-
-#define NTOHL(x) (x) = ntohl((uint32_t)(x))
-#define NTOHS(x) (x) = ntohs((uint16_t)(x))
-#define HTONL(x) (x) = htonl((uint32_t)(x))
-#define HTONS(x) (x) = htons((uint16_t)(x))
-#endif /* LITTLE_ENDIAN || !defined(__lint__) */
-
-/*
- * Macros to convert to a specific endianness.
- */
-
-#if BYTE_ORDER == BIG_ENDIAN
-
-#define htobe16(x) (x)
-#define htobe32(x) (x)
-#define htobe64(x) (x)
-#define htole16(x) bswap16((uint16_t)(x))
-#define htole32(x) bswap32((uint32_t)(x))
-#define htole64(x) bswap64((uint64_t)(x))
-
-#define HTOBE16(x) (void) (x)
-#define HTOBE32(x) (void) (x)
-#define HTOBE64(x) (void) (x)
-#define HTOLE16(x) (x) = bswap16((uint16_t)(x))
-#define HTOLE32(x) (x) = bswap32((uint32_t)(x))
-#define HTOLE64(x) (x) = bswap64((uint64_t)(x))
-
-#else /* LITTLE_ENDIAN */
-
-#define htobe16(x) bswap16((uint16_t)(x))
-#define htobe32(x) bswap32((uint32_t)(x))
-#define htobe64(x) bswap64((uint64_t)(x))
-#define htole16(x) (x)
-#define htole32(x) (x)
-#define htole64(x) (x)
-
-#define HTOBE16(x) (x) = bswap16((uint16_t)(x))
-#define HTOBE32(x) (x) = bswap32((uint32_t)(x))
-#define HTOBE64(x) (x) = bswap64((uint64_t)(x))
-#define HTOLE16(x) (void) (x)
-#define HTOLE32(x) (void) (x)
-#define HTOLE64(x) (void) (x)
-
-#endif /* LITTLE_ENDIAN */
-
-#define be16toh(x) htobe16(x)
-#define be32toh(x) htobe32(x)
-#define be64toh(x) htobe64(x)
-#define le16toh(x) htole16(x)
-#define le32toh(x) htole32(x)
-#define le64toh(x) htole64(x)
-
-#define BE16TOH(x) HTOBE16(x)
-#define BE32TOH(x) HTOBE32(x)
-#define BE64TOH(x) HTOBE64(x)
-#define LE16TOH(x) HTOLE16(x)
-#define LE32TOH(x) HTOLE32(x)
-#define LE64TOH(x) HTOLE64(x)
-
-/*
- * Routines to encode/decode big- and little-endian multi-octet values
- * to/from an octet stream.
- */
-
-static __inline void __unused
-be16enc(void *buf, uint16_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- p[0] = (uint8_t)(((unsigned)u >> 8) & 0xff);
- p[1] = (uint8_t)(u & 0xff);
-}
-
-static __inline void __unused
-le16enc(void *buf, uint16_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- p[0] = (uint8_t)(u & 0xff);
- p[1] = (uint8_t)(((unsigned)u >> 8) & 0xff);
-}
-
-static __inline uint16_t __unused
-be16dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return ((p[0] << 8) | p[1]);
-}
-
-static __inline uint16_t __unused
-le16dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return ((p[1] << 8) | p[0]);
-}
-
-static __inline void __unused
-be32enc(void *buf, uint32_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- p[0] = (uint8_t)((u >> 24) & 0xff);
- p[1] = (uint8_t)((u >> 16) & 0xff);
- p[2] = (uint8_t)((u >> 8) & 0xff);
- p[3] = (uint8_t)(u & 0xff);
-}
-
-static __inline void __unused
-le32enc(void *buf, uint32_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- p[0] = (uint8_t)(u & 0xff);
- p[1] = (uint8_t)((u >> 8) & 0xff);
- p[2] = (uint8_t)((u >> 16) & 0xff);
- p[3] = (uint8_t)((u >> 24) & 0xff);
-}
-
-static __inline uint32_t __unused
-be32dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
-}
-
-static __inline uint32_t __unused
-le32dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return ((p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]);
-}
-
-static __inline void __unused
-be64enc(void *buf, uint64_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- be32enc(p, (uint32_t)(u >> 32));
- be32enc(p + 4, (uint32_t)(u & 0xffffffffULL));
-}
-
-static __inline void __unused
-le64enc(void *buf, uint64_t u)
-{
- uint8_t *p = (uint8_t *)buf;
-
- le32enc(p, (uint32_t)(u & 0xffffffffULL));
- le32enc(p + 4, (uint32_t)(u >> 32));
-}
-
-static __inline uint64_t __unused
-be64dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4));
-}
-
-static __inline uint64_t __unused
-le64dec(const void *buf)
-{
- const uint8_t *p = (const uint8_t *)buf;
-
- return (le32dec(p) | ((uint64_t)le32dec(p + 4) << 32));
-}
-
-#endif /* !_LOCORE */
-#endif /* _XOPEN_SOURCE || _NETBSD_SOURCE */
-#endif /* !_SYS_ENDIAN_H_ */
diff --git a/StdLib/Include/sys/errno.h b/StdLib/Include/sys/errno.h deleted file mode 100644 index 50c5af6630..0000000000 --- a/StdLib/Include/sys/errno.h +++ /dev/null @@ -1,152 +0,0 @@ -/** @file
- The header <sys/errno.h> defines several values, all relating to the reporting of
- error conditions.
-
- The enum members expand to integral constant expressions
- with distinct nonzero values, suitable for use in #if preprocessing
- directives. These default values are specified as an enum in order to ease
- the maintenance of the values.
-
- Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifdef _ERRNO_H // May only be included from <errno.h>
-#ifndef _SYS_ERRNO_H
-#define _SYS_ERRNO_H
-
-/* Define the error numbers, sequentially, beginning at 1. */
-enum {
- __ESUCCESS = 0, /* 0 For those rare times one needs to say all is OK */
- __EMINERRORVAL = 1, /* The lowest valid error value */
- __EPERM = __EMINERRORVAL, /* 1 Operation not permitted */
- __ENOENT, /* 2 No such file or directory */
- __ESRCH, /* 3 No such process */
- __EINTR, /* 4 Interrupted system call */
- __EIO, /* 5 Input/output error */
- __ENXIO, /* 6 Device not configured */
- __E2BIG, /* 7 Argument list too long */
- __ENOEXEC, /* 8 Exec format error */
- __EBADF, /* 9 Bad file descriptor */
- __ECHILD, /* 10 No child processes */
- __EDEADLK, /* 11 Resource deadlock avoided */
- __ENOMEM, /* 12 Cannot allocate memory */
- __EACCES, /* 13 Permission denied */
- __EFAULT, /* 14 Bad address */
- __ENOTBLK, /* 15 Block device required */
- __EBUSY, /* 16 Device busy */
- __EEXIST, /* 17 File exists */
- __EXDEV, /* 18 Cross-device link */
- __ENODEV, /* 19 Operation not supported by device */
- __ENOTDIR, /* 20 Not a directory */
- __EISDIR, /* 21 Is a directory */
- __EINVAL, /* 22 Invalid argument */
- __ENFILE, /* 23 Too many open files in system */
- __EMFILE, /* 24 Too many open file descriptors */
- __ENOTTY, /* 25 Inappropriate ioctl for device */
- __ETXTBSY, /* 26 Text file busy */
- __EFBIG, /* 27 File too large */
- __ENOSPC, /* 28 No space left on device */
- __ESPIPE, /* 29 Illegal seek */
- __EROFS, /* 30 Read-only filesystem */
- __EMLINK, /* 31 Too many links */
- __EPIPE, /* 32 Broken pipe */
-
- /* math software -- these are the only two values required by the C Standard */
- __EDOM, /* 33 Numerical argument out of domain */
- __ERANGE, /* 34 Result too large */
-
- /* non-blocking and interrupt i/o */
- __EAGAIN, /* 35 Resource temporarily unavailable */
- __EWOULDBLOCK = __EAGAIN, /* 35 Operation would block */
- __EINPROGRESS, /* 36 Operation now in progress */
- __EALREADY, /* 37 Operation already in progress */
-
- /* ipc/network software -- argument errors */
- __ENOTSOCK, /* 38 Socket operation on non-socket */
- __EDESTADDRREQ, /* 39 Destination address required */
- __EMSGSIZE, /* 40 Message too long */
- __EPROTOTYPE, /* 41 Protocol wrong type for socket */
- __ENOPROTOOPT, /* 42 Protocol not available */
- __EPROTONOSUPPORT, /* 43 Protocol not supported */
- __ESOCKTNOSUPPORT, /* 44 Socket type not supported */
- __EOPNOTSUPP, /* 45 Operation not supported */
- __ENOTSUP = __EOPNOTSUPP, /* 45 Operation not supported */
- __EPFNOSUPPORT, /* 46 Protocol family not supported */
- __EAFNOSUPPORT, /* 47 Address family not supported by protocol family */
- __EADDRINUSE, /* 48 Address already in use */
- __EADDRNOTAVAIL, /* 49 Can't assign requested address */
-
- /* ipc/network software -- operational errors */
- __ENETDOWN, /* 50 Network is down */
- __ENETUNREACH, /* 51 Network is unreachable */
- __ENETRESET, /* 52 Network dropped connection on reset */
- __ECONNABORTED, /* 53 Software caused connection abort */
- __ECONNRESET, /* 54 Connection reset by peer */
- __ENOBUFS, /* 55 No buffer space available */
- __EISCONN, /* 56 Socket is already connected */
- __ENOTCONN, /* 57 Socket is not connected */
- __ESHUTDOWN, /* 58 Can't send after socket shutdown */
- __ETOOMANYREFS, /* 59 Too many references: can't splice */
- __ETIMEDOUT, /* 60 Operation timed out */
- __ECONNREFUSED, /* 61 Connection refused */
- __ELOOP, /* 62 Too many levels of symbolic links */
- __ENAMETOOLONG, /* 63 File name too long */
- __EHOSTDOWN, /* 64 Host is down */
- __EHOSTUNREACH, /* 65 No route to host */
-
- __ENOTEMPTY, /* 66 Directory not empty */
-
- /* quotas, etc. */
- __EPROCLIM, /* 67 Too many processes */
- __EUSERS, /* 68 Too many users */
- __EDQUOT, /* 69 Disc quota exceeded */
-
- /* Network File System */
- __ESTALE, /* 70 Stale NFS file handle */
- __EREMOTE, /* 71 Too many levels of remote in path */
- __EBADRPC, /* 72 RPC struct is bad */
- __ERPCMISMATCH, /* 73 RPC version wrong */
- __EPROGUNAVAIL, /* 74 RPC prog. not avail */
- __EPROGMISMATCH, /* 75 Program version wrong */
- __EPROCUNAVAIL, /* 76 Bad procedure for program */
- __ENOLCK, /* 77 No locks available */
- __ENOSYS, /* 78 Function not implemented */
- __EFTYPE, /* 79 Inappropriate file type or format */
- __EAUTH, /* 80 Authentication error */
- __ENEEDAUTH, /* 81 Need authenticator */
- __EIDRM, /* 82 Identifier removed */
- __ENOMSG, /* 83 No message of desired type */
- __EOVERFLOW, /* 84 Value too large to be stored in data type */
- __EILSEQ, /* 85 Illegal byte sequence */
- __ENOTHING_1, /* 86 Place Holder */
- __ECANCELED, /* 87 Operation canceled */
-
- __EBADMSG, /* 88 Bad message */
- __ENODATA, /* 89 No message available */
- __ENOSR, /* 90 No STREAM resources */
- __ENOSTR, /* 91 Not a STREAM */
- __ETIME, /* 92 STREAM ioctl timeout */
-
- __ENOATTR, /* 93 Attribute not found */
-
- __EDOOFUS, /* 94 Programming error */
-
- __EMULTIHOP, /* 95 Multihop attempted */
- __ENOLINK, /* 96 Link has been severed */
- __EPROTO, /* 97 Protocol error */
-
- __EBUFSIZE, /* 98 Buffer too small to hold result */
-
- __EMAXERRORVAL /* One more than the highest defined error value. */
-};
-
-#endif /* _SYS_ERRNO_H */
-#else /* not defined _ERRNO_H */
-#error <sys/errno.h> must only be included by <errno.h>.
-#endif /* _ERRNO_H */
diff --git a/StdLib/Include/sys/fcntl.h b/StdLib/Include/sys/fcntl.h deleted file mode 100644 index dba4d2471e..0000000000 --- a/StdLib/Include/sys/fcntl.h +++ /dev/null @@ -1,200 +0,0 @@ -/** @file
- This file includes the definitions for open and fcntl described by POSIX
- for <fcntl.h>; it also includes related kernel definitions.
-
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made
- available under the terms and conditions of the BSD License which
- accompanies this distribution. The full text of the license may be found
- at http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1983, 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. 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.
-
- fcntl.h 8.3 (Berkeley) 1/21/94
- NetBSD: fcntl.h,v 1.34 2006/10/05 14:48:33 chs Exp
- */
-#ifndef _SYS_FCNTL_H_
-#define _SYS_FCNTL_H_
-
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-#include <sys/stat.h>
-
-/** @{
- File status flags used by open(2), fcntl(2).
- They are also used (indirectly) in the kernel file structure f_flags,
- which is a superset of the open/fcntl flags.
- Open/fcntl flags begin with O_; kernel-internal flags begin with F.
-**/
-/* open-only flags */
-#define O_RDONLY 0x00000000 ///< open for reading only
-#define O_WRONLY 0x00000001 ///< open for writing only
-#define O_RDWR 0x00000002 ///< open for reading and writing
-#define O_ACCMODE 0x00000003 ///< mask for above modes
-
-#define O_NONBLOCK 0x00000004 ///< no delay
-#define O_APPEND 0x00000008 ///< set append mode
-#define O_CREAT 0x00000200 ///< create if nonexistent
-#define O_TRUNC 0x00000400 ///< truncate to zero length
-#define O_EXCL 0x00000800 ///< Grant EXCLusive access, or error if already exists and O_CREAT
-
-#define O_DIRECTORY 0x00001000 ///< error if path is not a directory
-#define O_NOCTTY 0x00002000 ///< Don't make this the controlling TTY
-#define O_TTY_INIT 0x00004000 ///< Initialize TTY to "sane" values on open
-
-/* UEFI-specific open-only flags. */
-#define O_HIDDEN 0x00010000 ///< Hidden file attribute
-#define O_SYSTEM 0x00020000 ///< System file attribute
-#define O_ARCHIVE 0x00040000 ///< Archive file attribute
-/// @}
-
-#define O_SETMASK 0x0000000F ///< Flags modifiable by F_SETFD (fcntl)
-
-/*
- * Constants used for fcntl(2)
- */
-
-/** @{ command values used for fcntl(2). **/
-#define F_DUPFD 0 ///< duplicate file descriptor
-#define F_GETFD 1 ///< get file descriptor flags
-#define F_SETFD 2 ///< set file descriptor flags
-#define F_GETFL 3 ///< get file status flags
-#define F_SETFL 4 ///< set file status flags
-#define F_GETOWN 5 ///< get SIGIO/SIGURG proc/pgrp
-#define F_SETOWN 6 ///< set SIGIO/SIGURG proc/pgrp
-#define F_GETLK 7 ///< get record locking information
-#define F_SETLK 8 ///< set record locking information
-#define F_SETLKW 9 ///< F_SETLK; wait if blocked
-#define F_CLOSEM 10 ///< close all fds >= to the one given
-#define F_MAXFD 11 ///< return the max open fd
-/// @}
-
-/** file descriptor flags (F_GETFD, F_SETFD). **/
-#define FD_CLOEXEC 1 ///< close-on-exec flag
-
-/** @{ record locking flags (F_GETLK, F_SETLK, F_SETLKW). **/
-#define F_RDLCK 1 ///< shared or read lock
-#define F_UNLCK 2 ///< unlock
-#define F_WRLCK 3 ///< exclusive or write lock
-/// @}
-
-/** @{ Constants for fcntl's passed to the underlying fs - like ioctl's. **/
-#define F_PARAM_MASK 0xfff
-#define F_PARAM_LEN(x) (((x) >> 16) & F_PARAM_MASK)
-#define F_PARAM_MAX 4095
-#define F_FSCTL (int)0x80000000 ///< This fcntl goes to the fs
-#define F_FSVOID (int)0x40000000 ///< no parameters
-#define F_FSOUT (int)0x20000000 ///< copy out parameter
-#define F_FSIN (int)0x10000000 ///< copy in parameter
-#define F_FSINOUT (F_FSIN | F_FSOUT)
-#define F_FSDIRMASK (int)0x70000000 ///< mask for IN/OUT/VOID
-#define F_FSPRIV (int)0x00008000 ///< command is fs-specific
-/// @}
-
-/* Always ensure that these are consistent with <stdio.h> and <unistd.h>! */
-#ifndef SEEK_SET
- #define SEEK_SET 0 /* set file offset to offset */
-#endif
-#ifndef SEEK_CUR
- #define SEEK_CUR 1 /* set file offset to current plus offset */
-#endif
-#ifndef SEEK_END
- #define SEEK_END 2 /* set file offset to EOF plus offset */
-#endif
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-#ifndef __FCNTL_SYSCALLS_DECLARED
- #define __FCNTL_SYSCALLS_DECLARED
-
- /** The open() function establishes the connection between a file and a file
- descriptor. It creates an open file description that refers to a file
- and a file descriptor that refers to that open file description. The file
- descriptor is used by other I/O functions to refer to that file.
-
- The open() function returns a file descriptor for the named file that is
- the lowest file descriptor not currently open for that process. The open
- file description is new, and therefore the file descriptor shall not
- share it with any other process in the system.
-
- The file offset used to mark the current position within the file is set
- to the beginning of the file.
-
- The file status flags and file access modes of the open file description
- are set according to the value of oflags.
-
- Values for oflags are constructed by a bitwise-inclusive OR of flags from
- the following list, defined in <fcntl.h>. Applications shall specify
- exactly one of { O_RDONLY, O_RDWR, O_WRONLY } in the value of oflags.
- Any combination of { O_NONBLOCK, O_APPEND, O_CREAT, O_TRUNC, O_EXCL } may
- also be specified in oflags.
-
- Values for mode specify the access permissions for newly created files.
-
- @param[in] Path The path argument points to a pathname naming the
- object to be opened.
- @param[in] oflags File status flags and file access modes of the
- open file description.
- @param[in] mode File access permission bits as defined in
- <sys/stat.h>.
-
- @return Upon successful completion, open() opens the file and returns
- a non-negative integer representing the lowest numbered
- unused file descriptor. Otherwise, open returns -1 and sets
- errno to indicate the error. If a negative value is
- returned, no files are created or modified.
-
- @retval EMFILE No file descriptors available -- Max number already open.
- @retval EINVAL Bad value specified for oflags or mode.
- @retval ENOMEM Failure allocating memory for internal buffers.
- @retval EEXIST File exists and open attempted with (O_EXCL | O_CREAT) set.
- @retval EIO UEFI failure. Check value in EFIerrno.
- **/
- int open(const char *Path, int oflags, int mode);
-
- /**
- **/
- int creat(const char *, mode_t);
-
- /**
- **/
- int fcntl(int, int, ...);
-#endif // __FCNTL_SYSCALLS_DECLARED
-__END_DECLS
-
-#endif /* !_SYS_FCNTL_H_ */
diff --git a/StdLib/Include/sys/fd_set.h b/StdLib/Include/sys/fd_set.h deleted file mode 100644 index acbfbf0c9a..0000000000 --- a/StdLib/Include/sys/fd_set.h +++ /dev/null @@ -1,107 +0,0 @@ -/* $NetBSD: fd_set.h,v 1.2 2005/12/11 12:25:20 christos Exp $ */
-
-/*-
- * Copyright (c) 1992, 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.
- *
- * from: @(#)types.h 8.4 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_FD_SET_H_
-#define _SYS_FD_SET_H_
-
-#include <sys/EfiCdefs.h>
-#include <machine/int_types.h>
-
-/*
- * Implementation dependent defines, hidden from user space. X/Open does not
- * specify them.
- */
-#define __NBBY 8 /* number of bits in a byte */
-typedef __int32_t __fd_mask;
-
-/* bits per mask */
-#define __NFDBITS ((unsigned int)sizeof(__fd_mask) * __NBBY)
-
-#define __howmany(x, y) (((x) + ((y) - 1)) / (y))
-
-/*
- * Select uses bit masks of file descriptors in longs. These macros
- * manipulate such bit fields (the filesystem macros use chars).
- * FD_SETSIZE may be defined by the user, but the default here should
- * be enough for most uses.
- */
-#ifndef FD_SETSIZE
-#define FD_SETSIZE 256
-#endif
-
-typedef struct fd_set {
- __fd_mask fds_bits[__howmany(FD_SETSIZE, __NFDBITS)];
-} fd_set;
-
-#define FD_SET(n, p) \
- ((p)->fds_bits[(n)/__NFDBITS] |= (1 << ((n) % __NFDBITS)))
-#define FD_CLR(n, p) \
- ((p)->fds_bits[(n)/__NFDBITS] &= ~(1 << ((n) % __NFDBITS)))
-#define FD_ISSET(n, p) \
- ((p)->fds_bits[(n)/__NFDBITS] & (1 << ((n) % __NFDBITS)))
-#if __GNUC_PREREQ__(2, 95)
-#define FD_ZERO(p) (void)__builtin_memset((p), 0, sizeof(*(p)))
-#else
-#define FD_ZERO(p) do { \
- fd_set *__fds = (p); \
- unsigned int __i; \
- for (__i = 0; __i < __howmany(FD_SETSIZE, __NFDBITS); __i++) \
- __fds->fds_bits[__i] = 0; \
- } while (/* CONSTCOND */ 0)
-#endif /* GCC 2.95 */
-
-/*
- * Expose our internals if we are not required to hide them.
- */
-#if defined(_NETBSD_SOURCE)
-
-#define fd_mask __fd_mask
-#define NFDBITS __NFDBITS
-#ifndef howmany
-#define howmany(a, b) __howmany(a, b)
-#endif
-
-#if __GNUC_PREREQ__(2, 95)
-#define FD_COPY(f, t) (void)__builtin_memcpy((t), (f), sizeof(*(f)))
-#else
-#define FD_COPY(f, t) do { \
- fd_set *__f = (f), *__t = (t); \
- unsigned int __i; \
- for (__i = 0; __i < __howmany(FD_SETSIZE, __NFDBITS); __i++) \
- __t->fds_bits[__i] = __f->fds_bits[__i]; \
- } while (/* CONSTCOND */ 0)
-#endif /* GCC 2.95 */
-
-#endif /* _NETBSD_SOURCE */
-
-#endif /* _SYS_FD_SET_H_ */
diff --git a/StdLib/Include/sys/featuretest.h b/StdLib/Include/sys/featuretest.h deleted file mode 100644 index f36396af17..0000000000 --- a/StdLib/Include/sys/featuretest.h +++ /dev/null @@ -1,73 +0,0 @@ -/* $NetBSD: featuretest.h,v 1.8 2005/12/11 12:25:20 christos Exp $ */
-
-/*
- * Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
- * Public domain.
- *
- * NOTE: Do not protect this header against multiple inclusion. Doing
- * so can have subtle side-effects due to header file inclusion order
- * and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
- * protect each CPP macro that we want to supply.
- */
-
-/*
- * Feature-test macros are defined by several standards, and allow an
- * application to specify what symbols they want the system headers to
- * expose, and hence what standard they want them to conform to.
- * There are two classes of feature-test macros. The first class
- * specify complete standards, and if one of these is defined, header
- * files will try to conform to the relevant standard. They are:
- *
- * ANSI macros:
- * _ANSI_SOURCE ANSI C89
- *
- * POSIX macros:
- * _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
- * _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
- * _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
- * _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
- * _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
- * _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
- *
- * X/Open macros:
- * _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
- * _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
- * _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
- * _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
- * _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
- *
- * NetBSD macros:
- * _NETBSD_SOURCE == 1 Make all NetBSD features available.
- *
- * If more than one of these "major" feature-test macros is defined,
- * then the set of facilities provided (and namespace used) is the
- * union of that specified by the relevant standards, and in case of
- * conflict, the earlier standard in the above list has precedence (so
- * if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
- * of rename() that's used is the POSIX one). If none of the "major"
- * feature-test macros is defined, _NETBSD_SOURCE is assumed.
- *
- * There are also "minor" feature-test macros, which enable extra
- * functionality in addition to some base standard. They should be
- * defined along with one of the "major" macros. The "minor" macros
- * are:
- *
- * _REENTRANT
- * _ISOC99_SOURCE
- * _LARGEFILE_SOURCE Large File Support
- * <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
- */
-
-#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
-#define _POSIX_C_SOURCE 1L
-#endif
-
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_XOPEN_SOURCE) && !defined(_NETBSD_SOURCE)
-#define _NETBSD_SOURCE 1
-#endif
-
-#if ((_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500) && \
- !defined(_REENTRANT)
-#define _REENTRANT
-#endif
diff --git a/StdLib/Include/sys/file.h b/StdLib/Include/sys/file.h deleted file mode 100644 index cce35f1637..0000000000 --- a/StdLib/Include/sys/file.h +++ /dev/null @@ -1,102 +0,0 @@ -/*
- * Copyright (c) 1982, 1986, 1989, 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.
- *
- * @(#)file.h 8.3 (Berkeley) 1/9/95
- * $Id: file.h,v 1.1.1.1 2006/05/30 06:12:53 hhzhou Exp $
- */
-
-#ifndef _SYS_FILE_H_
-#define _SYS_FILE_H_
-
-#ifndef KERNEL
-#include <sys/fcntl.h>
-#include <sys/unistd.h>
-#endif
-
-#ifdef KERNEL
-#include <sys/queue.h>
-
-struct proc;
-struct uio;
-
-/*
- * Kernel descriptor table.
- * One entry for each open kernel vnode and socket.
- */
-struct file {
- LIST_ENTRY(file) f_list;/* list of active files */
- short f_flag; /* see fcntl.h */
-#define DTYPE_VNODE 1 /* file */
-#define DTYPE_SOCKET 2 /* communications endpoint */
-#define DTYPE_PIPE 3 /* pipe */
-#define DTYPE_FIFO 4 /* fifo (named pipe) */
- short f_type; /* descriptor type */
- short f_count; /* reference count */
- short f_msgcount; /* references from message queue */
- struct ucred *f_cred; /* credentials associated with descriptor */
- struct fileops {
- int (*fo_read) __P((struct file *fp, struct uio *uio,
- struct ucred *cred, int flags));
- int (*fo_write) __P((struct file *fp, struct uio *uio,
- struct ucred *cred, int flags));
-#define FOF_OFFSET 1
- int (*fo_ioctl) __P((struct file *fp, u_long com,
- caddr_t data, struct proc *p));
- int (*fo_poll) __P((struct file *fp, int events,
- struct ucred *cred, struct proc *p));
- int (*fo_close) __P((struct file *fp, struct proc *p));
- } *f_ops;
- int f_seqcount; /*
- * count of sequential accesses -- cleared
- * by most seek operations.
- */
- off_t f_nextread; /*
- * offset of next expected read
- */
- off_t f_offset;
- caddr_t f_data; /* vnode or socket */
-};
-
-#ifdef MALLOC_DECLARE
-MALLOC_DECLARE(M_FILE);
-#endif
-
-LIST_HEAD(filelist, file);
-extern struct filelist filehead; /* head of list of open files */
-extern struct fileops vnops;
-extern int maxfiles; /* kernel limit on number of open files */
-extern int maxfilesperproc; /* per process limit on number of open files */
-extern int nfiles; /* actual number of open files */
-
-#endif /* KERNEL */
-
-#endif /* !SYS_FILE_H */
diff --git a/StdLib/Include/sys/filio.h b/StdLib/Include/sys/filio.h deleted file mode 100644 index e514c267a7..0000000000 --- a/StdLib/Include/sys/filio.h +++ /dev/null @@ -1,61 +0,0 @@ -/** @file
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- * 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. 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.
- *
- * @(#)filio.h 8.1 (Berkeley) 3/28/94
- NetBSD: filio.h,v 1.10 2005/12/11 12:25:20 christos Exp
- */
-
-#ifndef _SYS_FILIO_H_
-#define _SYS_FILIO_H_
-
-#include <sys/ioccom.h>
-
-typedef const struct timeval* ptimeval_t;
-
-/* File-descriptor ioctl's. */
-
-#define FIODLEX _IO ('f', 1) /* set Delete-on-Close */
-#define FIONDLEX _IO ('f', 2) /* clear Delete-on-Close */
-#define FIOSETIME _IOW ('f', 127, ptimeval_t) /* Set access and modification times */
-
-#endif /* !_SYS_FILIO_H_ */
diff --git a/StdLib/Include/sys/float_ieee754.h b/StdLib/Include/sys/float_ieee754.h deleted file mode 100644 index ab2f54c615..0000000000 --- a/StdLib/Include/sys/float_ieee754.h +++ /dev/null @@ -1,105 +0,0 @@ -/** @file
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1992, 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.
- *
- * @(#)float.h 8.1 (Berkeley) 6/10/93
- NetBSD: float_ieee754.h,v 1.8 2005/12/11 12:25:20 christos Exp
-
- * NOTICE: This is not a standalone file. To use it, #include it in
- * your port's float.h header.
-**/
-
-#ifndef _SYS_FLOAT_IEEE754_H_
-#define _SYS_FLOAT_IEEE754_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-
-#ifndef FLT_ROUNDS
-__BEGIN_DECLS
-extern int __flt_rounds(void);
-__END_DECLS
-#define FLT_ROUNDS __flt_rounds()
-#endif
-
-#ifndef FLT_EVAL_METHOD
-#if __GNUC_PREREQ__(3, 3)
-#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-#endif /* GCC >= 3.3 */
-#endif /* defined(FLT_EVAL_METHOD) */
-
-#define FLT_RADIX 2 /* b */
-
-#define FLT_MANT_DIG 24 /* p */
-#define FLT_EPSILON 1.19209290E-7F /* b**(1-p) */
-#define FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */
-#define FLT_MIN_EXP (-125) /* emin */
-#define FLT_MIN 1.17549435E-38F /* b**(emin-1) */
-#define FLT_MIN_10_EXP (-37) /* ceil(log10(b**(emin-1))) */
-#define FLT_MAX_EXP 128 /* emax */
-//#define FLT_MAX 3.40282347e+38F /* (1-b**(-p))*b**emax */
-#define FLT_MAX 3.402823e+38F /* (1-b**(-p))*b**emax */
-#define FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */
-
-#define DBL_MANT_DIG 53
-#define DBL_EPSILON 2.2204460492503131E-16
-#define DBL_DIG 15
-#define DBL_MIN_EXP (-1021)
-#define DBL_MIN 2.2250738585072014E-308
-#define DBL_MIN_10_EXP (-307)
-#define DBL_MAX_EXP 1024
-#define DBL_MAX 1.7976931348623157E+308
-#define DBL_MAX_10_EXP 308
-
-/*
- * If no extended-precision type is defined by the machine-dependent
- * header including this, default to `long double' being double-precision.
- */
-#ifndef LDBL_MANT_DIG
- #define LDBL_MANT_DIG DBL_MANT_DIG
- #define LDBL_EPSILON DBL_EPSILON
- #define LDBL_DIG DBL_DIG
- #define LDBL_MIN_EXP DBL_MIN_EXP
- #define LDBL_MIN DBL_MIN
- #define LDBL_MIN_10_EXP DBL_MIN_10_EXP
- #define LDBL_MAX_EXP DBL_MAX_EXP
- #define LDBL_MAX DBL_MAX
- #define LDBL_MAX_10_EXP DBL_MAX_10_EXP
-
- #define DECIMAL_DIG 17 /* ceil((1+p*log10(b))-(b==10) */
-#endif /* LDBL_MANT_DIG */
-
-#endif /* _SYS_FLOAT_IEEE754_H_ */
diff --git a/StdLib/Include/sys/ieee754.h b/StdLib/Include/sys/ieee754.h deleted file mode 100644 index 740b58eb55..0000000000 --- a/StdLib/Include/sys/ieee754.h +++ /dev/null @@ -1,152 +0,0 @@ -/* $NetBSD: ieee754.h,v 1.6.24.1 2007/05/07 19:49:10 pavel Exp $ */
-
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * 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, Lawrence Berkeley Laboratory.
- *
- * 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.
- *
- * @(#)ieee.h 8.1 (Berkeley) 6/11/93
- */
-#ifndef _SYS_IEEE754_H_
-#define _SYS_IEEE754_H_
-
-/*
- * NOTICE: This is not a standalone file. To use it, #include it in
- * your port's ieee.h header.
- */
-
-#include <machine/endian.h>
-
-/*
- * <sys/ieee754.h> defines the layout of IEEE 754 floating point types.
- * Only single-precision and double-precision types are defined here;
- * extended types, if available, are defined in the machine-dependent
- * header.
- */
-
-/*
- * Define the number of bits in each fraction and exponent.
- *
- * k k+1
- * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented
- *
- * (-exp_bias+1)
- * as fractions that look like 0.fffff x 2 . This means that
- *
- * -126
- * the number 0.10000 x 2 , for instance, is the same as the normalized
- *
- * -127 -128
- * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero
- *
- * -129
- * in the fraction; to represent 2 , we need two, and so on. This
- *
- * (-exp_bias-fracbits+1)
- * implies that the smallest denormalized number is 2
- *
- * for whichever format we are talking about: for single precision, for
- *
- * -126 -149
- * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and
- *
- * -149 == -127 - 23 + 1.
- */
-#define SNG_EXPBITS 8
-#define SNG_FRACBITS 23
-
-struct ieee_single {
-#if _BYTE_ORDER == _BIG_ENDIAN
- u_int sng_sign:1;
- u_int sng_exp:SNG_EXPBITS;
- u_int sng_frac:SNG_FRACBITS;
-#else
- u_int sng_frac:SNG_FRACBITS;
- u_int sng_exp:SNG_EXPBITS;
- u_int sng_sign:1;
-#endif
-};
-
-#define DBL_EXPBITS 11
-#define DBL_FRACHBITS 20
-#define DBL_FRACLBITS 32
-#define DBL_FRACBITS (DBL_FRACHBITS + DBL_FRACLBITS)
-
-struct ieee_double {
-#if _BYTE_ORDER == _BIG_ENDIAN
- u_int dbl_sign:1;
- u_int dbl_exp:DBL_EXPBITS;
- u_int dbl_frach:DBL_FRACHBITS;
- u_int dbl_fracl:DBL_FRACLBITS;
-#else
- u_int dbl_fracl:DBL_FRACLBITS;
- u_int dbl_frach:DBL_FRACHBITS;
- u_int dbl_exp:DBL_EXPBITS;
- u_int dbl_sign:1;
-#endif
-};
-
-/*
- * Floats whose exponent is in [1..INFNAN) (of whatever type) are
- * `normal'. Floats whose exponent is INFNAN are either Inf or NaN.
- * Floats whose exponent is zero are either zero (iff all fraction
- * bits are zero) or subnormal values.
- *
- * At least one `signalling NaN' and one `quiet NaN' value must be
- * implemented. It is left to the architecture to specify how to
- * distinguish between these.
- */
-#define SNG_EXP_INFNAN 255
-#define DBL_EXP_INFNAN 2047
-
-/*
- * Exponent biases.
- */
-#define SNG_EXP_BIAS 127
-#define DBL_EXP_BIAS 1023
-
-/*
- * Convenience data structures.
- */
-union ieee_single_u {
- float sngu_f;
- struct ieee_single sngu_sng;
-};
-
-union ieee_double_u {
- double dblu_d;
- struct ieee_double dblu_dbl;
-};
-#endif /* _SYS_IEEE754_H_ */
diff --git a/StdLib/Include/sys/inttypes.h b/StdLib/Include/sys/inttypes.h deleted file mode 100644 index 5dc3565f3d..0000000000 --- a/StdLib/Include/sys/inttypes.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $NetBSD: inttypes.h,v 1.4 2001/04/28 15:41:30 kleink Exp $ */
-
-/*-
- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus J. Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _SYS_INTTYPES_H_
-#define _SYS_INTTYPES_H_
-
-/*
- * 7.8 Format conversion of integer types
- */
-
-#include <sys/stdint.h>
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-#include <machine/int_fmtio.h>
-#endif
-
-#endif /* !_SYS_INTTYPES_H_ */
diff --git a/StdLib/Include/sys/ioccom.h b/StdLib/Include/sys/ioccom.h deleted file mode 100644 index 852a082b28..0000000000 --- a/StdLib/Include/sys/ioccom.h +++ /dev/null @@ -1,68 +0,0 @@ -/* $NetBSD: ioccom.h,v 1.8 2005/12/11 12:25:20 christos Exp $ */
-
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- * 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.
- *
- * @(#)ioccom.h 8.3 (Berkeley) 1/9/95
- */
-#ifndef _SYS_IOCCOM_H_
-#define _SYS_IOCCOM_H_
-
-/*
- * Ioctl's have the command encoded in the lower word, and the size of
- * any in or out parameters in the upper word. The high 3 bits of the
- * upper word are used to encode the in/out status of the parameter.
- */
-#define IOCPARM_MASK 0x1fff /* parameter length, at most 13 bits */
-
-#define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
-#define IOCBASECMD(x) ((x) & ~(IOCPARM_MASK << 16))
-#define IOCGROUP(x) (((x) >> 8) & 0xff)
-
-#define IOCPARM_MAX NBPG /* max size of ioctl args, mult. of NBPG */
- /* no parameters */
-#define IOC_VOID (unsigned long)0x20000000
- /* copy parameters out */
-#define IOC_OUT (unsigned long)0x40000000
- /* copy parameters in */
-#define IOC_IN (unsigned long)0x80000000
- /* copy parameters in and out */
-#define IOC_INOUT (IOC_IN|IOC_OUT)
- /* mask for IN/OUT/VOID */
-#define IOC_DIRMASK (unsigned long)0xe0000000
-
-#define _IOC(inout,group,num,len) (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
-
-#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)
-#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t))
-#define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t))
-
-/* this should be _IORW, but stdio got there first */
-#define _IOWR(g,n,t) _IOC(IOC_INOUT, (g), (n), sizeof(t))
-
-#endif /* !_SYS_IOCCOM_H_ */
diff --git a/StdLib/Include/sys/ioctl.h b/StdLib/Include/sys/ioctl.h deleted file mode 100644 index 2378fd2c84..0000000000 --- a/StdLib/Include/sys/ioctl.h +++ /dev/null @@ -1,101 +0,0 @@ -/** @file
- Device Control, ioctl, definitions and declarations.
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- * 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. 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.
-
- NetBSD: ioctl.h,v 1.34 2005/12/11 12:25:20 christos Exp
- ioctl.h 8.6 (Berkeley) 3/28/94
-**/
-#ifndef _SYS_IOCTL_H_
-#define _SYS_IOCTL_H_
-
-
-//#include <sys/ttycom.h>
-
-/*
- * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ
- * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented
- * nonwithstanding).
- */
-struct ttysize {
- unsigned short ts_lines;
- unsigned short ts_cols;
- unsigned short ts_xxx;
- unsigned short ts_yyy;
-};
-//#define TIOCGSIZE TIOCGWINSZ
-//#define TIOCSSIZE TIOCSWINSZ
-
-//#include <sys/ioccom.h>
-
-//#include <sys/dkio.h>
-//#include <sys/filio.h>
-//#include <sys/sockio.h>
-
-/*
- * Passthrough ioctl commands. These are passed through to devices
- * as they are, it is expected that the device (an LKM, for example),
- * will know how to deal with them. One for each emulation, so that
- * no namespace clashes will occur between them, for devices that
- * may be dealing with specific ioctls for multiple emulations.
- */
-
-struct ioctl_pt {
- unsigned long com;
- void *data;
-};
-
-#define PTIOCNETBSD _IOW('Z', 0, struct ioctl_pt)
-#define PTIOCSUNOS _IOW('Z', 1, struct ioctl_pt)
-#define PTIOCSVR4 _IOW('Z', 2, struct ioctl_pt)
-#define PTIOCLINUX _IOW('Z', 3, struct ioctl_pt)
-#define PTIOCFREEBSD _IOW('Z', 4, struct ioctl_pt)
-#define PTIOCOSF1 _IOW('Z', 5, struct ioctl_pt)
-#define PTIOCULTRIX _IOW('Z', 6, struct ioctl_pt)
-#define PTIOCWIN32 _IOW('Z', 7, struct ioctl_pt)
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-int ioctl(int, unsigned long, ...);
-__END_DECLS
-#endif /* !_SYS_IOCTL_H_ */
diff --git a/StdLib/Include/sys/localedef.h b/StdLib/Include/sys/localedef.h deleted file mode 100644 index 63ea8a2307..0000000000 --- a/StdLib/Include/sys/localedef.h +++ /dev/null @@ -1,100 +0,0 @@ -/* $NetBSD: localedef.h,v 1.7 2005/11/29 03:12:16 christos Exp $ */
-
-/*
- * Copyright (c) 1994 Winning Strategies, Inc.
- * 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 Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- */
-
-#ifndef _SYS_LOCALEDEF_H_
-#define _SYS_LOCALEDEF_H_
-
-typedef struct {
- const char *yesexpr;
- const char *noexpr;
- const char *yesstr;
- const char *nostr;
-} _MessagesLocale;
-
-extern const _MessagesLocale *_CurrentMessagesLocale;
-extern const _MessagesLocale _DefaultMessagesLocale;
-
-
-typedef struct {
- const char *int_curr_symbol;
- const char *currency_symbol;
- const char *mon_decimal_point;
- const char *mon_thousands_sep;
- const char *mon_grouping;
- const char *positive_sign;
- const char *negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
- char int_p_cs_precedes;
- char int_n_cs_precedes;
- char int_p_sep_by_space;
- char int_n_sep_by_space;
- char int_p_sign_posn;
- char int_n_sign_posn;
-} _MonetaryLocale;
-
-extern const _MonetaryLocale *_CurrentMonetaryLocale;
-extern const _MonetaryLocale _DefaultMonetaryLocale;
-
-
-typedef struct {
- const char *decimal_point;
- const char *thousands_sep;
- const char *grouping;
-} _NumericLocale;
-
-extern const _NumericLocale *_CurrentNumericLocale;
-extern const _NumericLocale _DefaultNumericLocale;
-
-
-typedef struct {
- const char *abday[7];
- const char *day[7];
- const char *abmon[12];
- const char *mon[12];
- const char *am_pm[2];
- const char *d_t_fmt;
- const char *d_fmt;
- const char *t_fmt;
- const char *t_fmt_ampm;
-} _TimeLocale;
-
-extern const _TimeLocale *_CurrentTimeLocale;
-extern const _TimeLocale _DefaultTimeLocale;
-
-#endif /* !_SYS_LOCALEDEF_H_ */
diff --git a/StdLib/Include/sys/param.h b/StdLib/Include/sys/param.h deleted file mode 100644 index 19de391a9f..0000000000 --- a/StdLib/Include/sys/param.h +++ /dev/null @@ -1,321 +0,0 @@ -/* $NetBSD: param.h,v 1.244.2.9.2.2 2008/10/05 08:44:03 bouyer Exp $ */
-
-/*-
- * Copyright (c) 1982, 1986, 1989, 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. 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.3 (Berkeley) 4/4/95
- */
-
-#ifndef _SYS_PARAM_H_
-#define _SYS_PARAM_H_
-
-/*
- * Historic BSD #defines -- probably will remain untouched for all time.
- */
-#define BSD 199506 /* System version (year & month). */
-#define BSD4_3 1
-#define BSD4_4 1
-
-/*
- * #define __NetBSD_Version__ MMmmrrpp00
- *
- * M = major version
- * m = minor version; a minor number of 99 indicates current.
- * r = 0 (*)
- * p = patchlevel
- *
- * When new releases are made, src/gnu/usr.bin/groff/tmac/mdoc.local
- * needs to be updated and the changes sent back to the groff maintainers.
- *
- * (*) Up to 2.0I "release" used to be "",A-Z,Z[A-Z] but numeric
- * e.g. NetBSD-1.2D = 102040000 ('D' == 4)
- * NetBSD-2.0H (200080000) was changed on 20041001 to:
- * 2.99.9 (299000900)
- */
-
-#define __NetBSD_Version__ 400000003 /* NetBSD 4.0.1 */
-
-#define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
- (m) * 1000000) + (p) * 100) <= __NetBSD_Version__)
-
-/*
- * Historical NetBSD #define
- *
- * NetBSD 1.4 was the last release for which this value was incremented.
- * The value is now permanently fixed at 199905. It will never be
- * changed again.
- *
- * New code must use __NetBSD_Version__ instead, and should not even
- * count on NetBSD being defined.
- *
- */
-
-#define NetBSD 199905 /* NetBSD version (year & month). */
-
-#ifndef _LOCORE
-//#include <sys/inttypes.h>
-#include <sys/types.h>
-#endif
-
-/*
- * Machine-independent constants (some used in following include files).
- * Redefined constants are from POSIX 1003.1 limits file.
- *
- * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
- * MAXLOGNAME should be >= UT_NAMESIZE (see <utmp.h>)
- */
-#include <sys/syslimits.h>
-
-#define MAXCOMLEN 16 /* max command name remembered */
-#define MAXINTERP PATH_MAX /* max interpreter file name length */
-/* DEPRECATED: use LOGIN_NAME_MAX instead. */
-#define MAXLOGNAME (LOGIN_NAME_MAX - 1) /* max login name length */
-#define NCARGS ARG_MAX /* max bytes for an exec function */
-#define NGROUPS NGROUPS_MAX /* max number groups */
-#define NOGROUP 65535 /* marker for empty group set member */
-#define MAXHOSTNAMELEN 256 /* max hostname size */
-
-#ifndef NOFILE
-#define NOFILE OPEN_MAX /* max open files per process */
-#endif
-#ifndef MAXUPRC /* max simultaneous processes */
-#define MAXUPRC CHILD_MAX /* POSIX 1003.1-compliant default */
-#else
-#if (MAXUPRC - 0) < CHILD_MAX
-#error MAXUPRC less than CHILD_MAX. See options(4) for details.
-#endif /* (MAXUPRC - 0) < CHILD_MAX */
-#endif /* !defined(MAXUPRC) */
-
-/* Signals. */
-#include <sys/signal.h>
-
-/* Machine type dependent parameters. */
-#include <machine/param.h>
-#include <machine/limits.h>
-
-/* pages ("clicks") to disk blocks */
-#define ctod(x) ((x) << (PGSHIFT - DEV_BSHIFT))
-#define dtoc(x) ((x) >> (PGSHIFT - DEV_BSHIFT))
-
-/* bytes to pages */
-#define ctob(x) ((x) << PGSHIFT)
-#define btoc(x) (((x) + PGOFSET) >> PGSHIFT)
-
-/* bytes to disk blocks */
-#define dbtob(x) ((x) << DEV_BSHIFT)
-#define btodb(x) ((x) >> DEV_BSHIFT)
-
-/*
- * Stack macros. On most architectures, the stack grows down,
- * towards lower addresses; it is the rare architecture where
- * it grows up, towards higher addresses.
- *
- * STACK_GROW and STACK_SHRINK adjust a stack pointer by some
- * size, no questions asked. STACK_ALIGN aligns a stack pointer.
- *
- * STACK_ALLOC returns a pointer to allocated stack space of
- * some size; given such a pointer and a size, STACK_MAX gives
- * the maximum (in the "maxsaddr" sense) stack address of the
- * allocated memory.
- */
-#if defined(_KERNEL) || defined(__EXPOSE_STACK)
-#ifdef __MACHINE_STACK_GROWS_UP
-#define STACK_GROW(sp, _size) (((caddr_t)(sp)) + (_size))
-#define STACK_SHRINK(sp, _size) (((caddr_t)(sp)) - (_size))
-#define STACK_ALIGN(sp, bytes) \
- ((caddr_t)((((unsigned long)(sp)) + (bytes)) & ~(bytes)))
-#define STACK_ALLOC(sp, _size) ((caddr_t)(sp))
-#define STACK_MAX(p, _size) (((caddr_t)(p)) + (_size))
-#else
-#define STACK_GROW(sp, _size) (((caddr_t)(sp)) - (_size))
-#define STACK_SHRINK(sp, _size) (((caddr_t)(sp)) + (_size))
-#define STACK_ALIGN(sp, bytes) \
- ((caddr_t)(((unsigned long)(sp)) & ~(bytes)))
-#define STACK_ALLOC(sp, _size) (((caddr_t)(sp)) - (_size))
-#define STACK_MAX(p, _size) ((caddr_t)(p))
-#endif
-#endif /* defined(_KERNEL) || defined(__EXPOSE_STACK) */
-
-/*
- * Priorities. Note that with 32 run queues, differences less than 4 are
- * insignificant.
- */
-#define PSWP 0
-#define PVM 4
-#define PINOD 8
-#define PRIBIO 16
-#define PVFS 20
-#define PZERO 22 /* No longer magic, shouldn't be here. XXX */
-#define PSOCK 24
-#define PWAIT 32
-#define PLOCK 36
-#define PPAUSE 40
-#define PUSER 50
-#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */
-
-#define PRIMASK 0x0ff
-#define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */
-#define PNORELOCK 0x200 /* OR'd with pri for cond_wait() to not relock
- the interlock */
-#define PNOEXITERR 0x400 /* OR'd with pri for tsleep to not exit
- with an error code when LWPs are exiting */
-#define NBPW sizeof(int) /* number of bytes per word (integer) */
-
-#define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */
-#define NODEV (dev_t)(-1) /* non-existent device */
-
-#define CBLOCK 64 /* Clist block size, must be a power of 2. */
-#define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */
- /* Data chars/clist. */
-#define CBSIZE (CBLOCK - (int)sizeof(struct cblock *) - CBQSIZE)
-#define CROUND (CBLOCK - 1) /* Clist rounding. */
-
-/*
- * File system parameters and macros.
- *
- * The file system is made out of blocks of at most MAXBSIZE units, with
- * smaller units (fragments) only in the last direct block. MAXBSIZE
- * primarily determines the size of buffers in the buffer pool. It may be
- * made larger without any effect on existing file systems; however making
- * it smaller may make some file systems unmountable.
- */
-#ifndef MAXBSIZE /* XXX */
-#define MAXBSIZE MAXPHYS
-#endif
-#define MAXFRAG 8
-
-/*
- * MAXPATHLEN defines the longest permissible path length after expanding
- * symbolic links. It is used to allocate a temporary buffer from the buffer
- * pool in which to do the name expansion, hence should be a power of two,
- * and must be less than or equal to MAXBSIZE. MAXSYMLINKS defines the
- * maximum number of symbolic links that may be expanded in a path name.
- * It should be set high enough to allow all legitimate uses, but halt
- * infinite loops reasonably quickly.
- */
-#define MAXPATHLEN PATH_MAX
-#define MAXSYMLINKS 32
-
-/* Bit map related macros. */
-#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
-#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
-#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-
-/* Macros for counting and rounding. */
-#ifndef howmany
-#define howmany(x, y) (((x)+((y)-1))/(y))
-#endif
-#define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
-#define rounddown(x,y) (((x)/(y))*(y))
-#define powerof2(x) ((((x)-1)&(x))==0)
-
-///* Macros for min/max. */
-//#define MIN(a,b) (((a)<(b))?(a):(b))
-//#define MAX(a,b) (((a)>(b))?(a):(b))
-
-/*
- * Constants for setting the parameters of the kernel memory allocator.
- *
- * 2 ** MINBUCKET is the smallest unit of memory that will be
- * allocated. It must be at least large enough to hold a pointer.
- *
- * Units of memory less or equal to MAXALLOCSAVE will permanently
- * allocate physical memory; requests for these size pieces of
- * memory are quite fast. Allocations greater than MAXALLOCSAVE must
- * always allocate and free physical memory; requests for these
- * size allocations should be done infrequently as they will be slow.
- *
- * Constraints: NBPG <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
- * MAXALLOCSAVE must be a power of two.
- */
-#ifdef _LP64
-#define MINBUCKET 5 /* 5 => min allocation of 32 bytes */
-#else
-#define MINBUCKET 4 /* 4 => min allocation of 16 bytes */
-#endif
-#define MAXALLOCSAVE (2 * NBPG)
-
-/*
- * Scale factor for scaled integers used to count %cpu time and load avgs.
- *
- * The number of CPU `tick's that map to a unique `%age' can be expressed
- * by the formula (1 / (2 ^ (FSHIFT - 11))). The maximum load average that
- * can be calculated (assuming 32 bits) can be closely approximated using
- * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
- *
- * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
- * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
- */
-#define FSHIFT 11 /* bits to right of fixed binary point */
-#define FSCALE (1<<FSHIFT)
-
-/*
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time. You probably shouldn't change this;
- * it is used in subtle ways (fractions and multiples of it are, that is, like
- * half of a ``long time'', almost a long time, etc.)
- * It is related to human patience and other factors which don't really
- * change over time.
- */
-#define MAXSLP 20
-
-/*
- * Defaults for Unified Buffer Cache parameters.
- * These may be overridden in <machine/param.h>.
- */
-
-#ifndef UBC_WINSHIFT
-#define UBC_WINSHIFT 13
-#endif
-#ifndef UBC_NWINS
-#define UBC_NWINS 1024
-#endif
-
-#ifdef _KERNEL
-/*
- * macro to convert from milliseconds to hz without integer overflow
- * Default version using only 32bits arithmetics.
- * 64bit port can define 64bit version in their <machine/param.h>
- * 0x20000 is safe for hz < 20000
- */
-#ifndef mstohz
-#define mstohz(ms) \
- (__predict_false((ms) >= 0x20000) ? \
- ((ms +0u) / 1000u) * hz : \
- ((ms +0u) * hz) / 1000u)
-#endif
-#endif /* _KERNEL */
-
-#endif /* !_SYS_PARAM_H_ */
diff --git a/StdLib/Include/sys/poll.h b/StdLib/Include/sys/poll.h deleted file mode 100644 index ead648d490..0000000000 --- a/StdLib/Include/sys/poll.h +++ /dev/null @@ -1,91 +0,0 @@ -/** @file
- Definitions in support of the poll() function.
-
- * Copyright (c) 1998 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- NetBSD: poll.h,v 1.11 2005/12/11 12:25:20 christos Exp
-**/
-#ifndef _SYS_POLL_H_
-#define _SYS_POLL_H_
-
-#include <sys/featuretest.h>
-#include <sys/EfiCdefs.h>
-
-typedef unsigned int nfds_t;
-
-struct pollfd {
- int fd; /* file descriptor */
- short events; /* events to look for */
- short revents; /* events returned */
-};
-
-/*
- * Testable events (may be specified in events field).
- */
-#define POLLIN 0x0001
-#define POLLPRI 0x0002
-#define POLLOUT 0x0004
-#define POLLRDNORM 0x0040
-#define POLLWRNORM POLLOUT
-#define POLLRDBAND 0x0080
-#define POLLWRBAND 0x0100
-
-/*
- * Non-testable events (ignored in events field, valid in return only).
- */
-#define POLLERR 0x0008
-#define POLLHUP 0x0010
-#define POLLNVAL 0x0020 // Invalid parameter in POLL call
-#define POLL_RETONLY (POLLERR | POLLHUP | POLLNVAL)
-
-/*
- * Infinite timeout value.
- */
-#define INFTIM -1
-
-__BEGIN_DECLS
-int poll(struct pollfd *, nfds_t, int);
-__END_DECLS
-
-#endif /* !_SYS_POLL_H_ */
diff --git a/StdLib/Include/sys/pool.h b/StdLib/Include/sys/pool.h deleted file mode 100644 index 43c080a227..0000000000 --- a/StdLib/Include/sys/pool.h +++ /dev/null @@ -1,311 +0,0 @@ -/* $NetBSD: pool.h,v 1.54 2006/08/20 09:35:25 yamt Exp $ */
-
-/*-
- * Copyright (c) 1997, 1998, 1999, 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Paul Kranenburg; by Jason R. Thorpe of the Numerical Aerospace
- * Simulation Facility, NASA Ames Research Center.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _SYS_POOL_H_
-#define _SYS_POOL_H_
-
-#ifdef _KERNEL
-#define __POOL_EXPOSE
-#endif
-
-#if defined(_KERNEL_OPT)
-#include "opt_pool.h"
-#endif
-
-#ifdef __POOL_EXPOSE
-#include <sys/lock.h>
-#include <sys/queue.h>
-#include <sys/time.h>
-#include <sys/tree.h>
-#if defined(_KERNEL)
-#include <sys/callback.h>
-#endif /* defined(_KERNEL) */
-#endif
-
-#define PCG_NOBJECTS 16
-
-#define POOL_PADDR_INVALID ((paddr_t) -1)
-
-#ifdef __POOL_EXPOSE
-/* The pool cache group. */
-struct pool_cache_group {
- LIST_ENTRY(pool_cache_group)
- pcg_list; /* link in the pool cache's group list */
- u_int pcg_avail; /* # available objects */
- /* pointers to the objects */
- struct {
- void *pcgo_va; /* cache object virtual address */
- paddr_t pcgo_pa;/* cache object physical address */
- } pcg_objects[PCG_NOBJECTS];
-};
-
-LIST_HEAD(pool_cache_grouplist,pool_cache_group);
-struct pool_cache {
- LIST_ENTRY(pool_cache)
- pc_poollist; /* entry on pool's group list */
- struct pool_cache_grouplist
- pc_emptygroups; /* list of empty cache groups */
- struct pool_cache_grouplist
- pc_fullgroups; /* list of full cache groups */
- struct pool_cache_grouplist
- pc_partgroups; /* list of partial cache groups */
- struct pool *pc_pool; /* parent pool */
- struct simplelock pc_slock; /* mutex */
-
- int (*pc_ctor)(void *, void *, int);
- void (*pc_dtor)(void *, void *);
- void *pc_arg;
-
- /* Statistics. */
- unsigned long pc_hits; /* cache hits */
- unsigned long pc_misses; /* cache misses */
-
- unsigned long pc_ngroups; /* # cache groups */
-
- unsigned long pc_nitems; /* # objects currently in cache */
-};
-
-struct pool_allocator {
- void *(*pa_alloc)(struct pool *, int);
- void (*pa_free)(struct pool *, void *);
- unsigned int pa_pagesz;
-
- /* The following fields are for internal use only. */
- struct simplelock pa_slock;
- TAILQ_HEAD(, pool) pa_list; /* list of pools using this allocator */
- int pa_flags;
-#define PA_INITIALIZED 0x01
- int pa_pagemask;
- int pa_pageshift;
- struct vm_map *pa_backingmap;
-#if defined(_KERNEL)
- struct vm_map **pa_backingmapptr;
- SLIST_ENTRY(pool_allocator) pa_q;
-#endif /* defined(_KERNEL) */
-};
-
-LIST_HEAD(pool_pagelist,pool_item_header);
-
-struct pool {
- LIST_ENTRY(pool)
- pr_poollist;
- struct pool_pagelist
- pr_emptypages; /* Empty pages */
- struct pool_pagelist
- pr_fullpages; /* Full pages */
- struct pool_pagelist
- pr_partpages; /* Partially-allocated pages */
- struct pool_item_header *pr_curpage;
- struct pool *pr_phpool; /* Pool item header pool */
- LIST_HEAD(,pool_cache)
- pr_cachelist; /* Caches for this pool */
- unsigned int pr_size; /* Size of item */
- unsigned int pr_align; /* Requested alignment, must be 2^n */
- unsigned int pr_itemoffset; /* Align this offset in item */
- unsigned int pr_minitems; /* minimum # of items to keep */
- unsigned int pr_minpages; /* same in page units */
- unsigned int pr_maxpages; /* maximum # of pages to keep */
- unsigned int pr_npages; /* # of pages allocated */
- unsigned int pr_itemsperpage;/* # items that fit in a page */
- unsigned int pr_slack; /* unused space in a page */
- unsigned int pr_nitems; /* number of available items in pool */
- unsigned int pr_nout; /* # items currently allocated */
- unsigned int pr_hardlimit; /* hard limit to number of allocated
- items */
- struct pool_allocator *pr_alloc;/* back-end allocator */
- TAILQ_ENTRY(pool) pr_alloc_list;/* link on allocator's pool list */
-
- /* Drain hook. */
- void (*pr_drain_hook)(void *, int);
- void *pr_drain_hook_arg;
-
- const char *pr_wchan; /* tsleep(9) identifier */
- unsigned int pr_flags; /* r/w flags */
- unsigned int pr_roflags; /* r/o flags */
-#define PR_NOWAIT 0x00 /* for symmetry */
-#define PR_WAITOK 0x02
-#define PR_WANTED 0x04
-#define PR_PHINPAGE 0x40
-#define PR_LOGGING 0x80
-#define PR_LIMITFAIL 0x100 /* even if waiting, fail if we hit limit */
-#define PR_RECURSIVE 0x200 /* pool contains pools, for vmstat(8) */
-#define PR_NOTOUCH 0x400 /* don't use free items to keep internal state*/
-#define PR_NOALIGN 0x800 /* don't assume backend alignment */
-
- /*
- * `pr_slock' protects the pool's data structures when removing
- * items from or returning items to the pool, or when reading
- * or updating read/write fields in the pool descriptor.
- *
- * We assume back-end page allocators provide their own locking
- * scheme. They will be called with the pool descriptor _unlocked_,
- * since the page allocators may block.
- */
- struct simplelock pr_slock;
-
- SPLAY_HEAD(phtree, pool_item_header) pr_phtree;
-
- int pr_maxcolor; /* Cache colouring */
- int pr_curcolor;
- int pr_phoffset; /* Offset in page of page header */
-
- /*
- * Warning message to be issued, and a per-time-delta rate cap,
- * if the hard limit is reached.
- */
- const char *pr_hardlimit_warning;
- struct timeval pr_hardlimit_ratecap;
- struct timeval pr_hardlimit_warning_last;
-
- /*
- * Instrumentation
- */
- unsigned long pr_nget; /* # of successful requests */
- unsigned long pr_nfail; /* # of unsuccessful requests */
- unsigned long pr_nput; /* # of releases */
- unsigned long pr_npagealloc; /* # of pages allocated */
- unsigned long pr_npagefree; /* # of pages released */
- unsigned int pr_hiwat; /* max # of pages in pool */
- unsigned long pr_nidle; /* # of idle pages */
-
- /*
- * Diagnostic aides.
- */
- struct pool_log *pr_log;
- int pr_curlogentry;
- int pr_logsize;
-
- const char *pr_entered_file; /* reentrancy check */
- long pr_entered_line;
-
-#if defined(_KERNEL)
- struct callback_entry pr_reclaimerentry;
-#endif
-};
-#endif /* __POOL_EXPOSE */
-
-#ifdef _KERNEL
-/*
- * pool_allocator_kmem is the default that all pools get unless
- * otherwise specified. pool_allocator_nointr is provided for
- * pools that know they will never be accessed in interrupt
- * context.
- */
-extern struct pool_allocator pool_allocator_kmem;
-extern struct pool_allocator pool_allocator_nointr;
-#ifdef POOL_SUBPAGE
-/* The above are subpage allocators in this case. */
-extern struct pool_allocator pool_allocator_kmem_fullpage;
-extern struct pool_allocator pool_allocator_nointr_fullpage;
-#endif
-
-struct link_pool_init { /* same as args to pool_init() */
- struct pool *pp;
- size_t size;
- u_int align;
- u_int align_offset;
- int flags;
- const char *wchan;
- struct pool_allocator *palloc;
-};
-#define POOL_INIT(pp, size, align, align_offset, flags, wchan, palloc) \
-struct pool pp; \
-static const struct link_pool_init _link_ ## pp[1] = { \
- { &pp, size, align, align_offset, flags, wchan, palloc } \
-}; \
-__link_set_add_rodata(pools, _link_ ## pp)
-
-void pool_subsystem_init(void);
-
-void pool_init(struct pool *, size_t, u_int, u_int,
- int, const char *, struct pool_allocator *);
-void pool_destroy(struct pool *);
-
-void pool_set_drain_hook(struct pool *,
- void (*)(void *, int), void *);
-
-void *pool_get(struct pool *, int);
-void pool_put(struct pool *, void *);
-int pool_reclaim(struct pool *);
-
-#ifdef POOL_DIAGNOSTIC
-/*
- * These versions do reentrancy checking.
- */
-void *_pool_get(struct pool *, int, const char *, long);
-void _pool_put(struct pool *, void *, const char *, long);
-int _pool_reclaim(struct pool *, const char *, long);
-#define pool_get(h, f) _pool_get((h), (f), __FILE__, __LINE__)
-#define pool_put(h, v) _pool_put((h), (v), __FILE__, __LINE__)
-#define pool_reclaim(h) _pool_reclaim((h), __FILE__, __LINE__)
-#endif /* POOL_DIAGNOSTIC */
-
-int pool_prime(struct pool *, int);
-void pool_setlowat(struct pool *, int);
-void pool_sethiwat(struct pool *, int);
-void pool_sethardlimit(struct pool *, int, const char *, int);
-void pool_drain(void *);
-
-/*
- * Debugging and diagnostic aides.
- */
-void pool_print(struct pool *, const char *);
-void pool_printit(struct pool *, const char *,
- void (*)(const char *, ...));
-void pool_printall(const char *, void (*)(const char *, ...));
-int pool_chk(struct pool *, const char *);
-
-/*
- * Pool cache routines.
- */
-void pool_cache_init(struct pool_cache *, struct pool *,
- int (*)(void *, void *, int),
- void (*)(void *, void *),
- void *);
-void pool_cache_destroy(struct pool_cache *);
-void *pool_cache_get_paddr(struct pool_cache *, int, paddr_t *);
-#define pool_cache_get(pc, f) pool_cache_get_paddr((pc), (f), NULL)
-void pool_cache_put_paddr(struct pool_cache *, void *, paddr_t);
-#define pool_cache_put(pc, o) pool_cache_put_paddr((pc), (o), \
- POOL_PADDR_INVALID)
-void pool_cache_destruct_object(struct pool_cache *, void *);
-void pool_cache_invalidate(struct pool_cache *);
-#endif /* _KERNEL */
-
-#endif /* _SYS_POOL_H_ */
diff --git a/StdLib/Include/sys/resource.h b/StdLib/Include/sys/resource.h deleted file mode 100644 index c54c816cd6..0000000000 --- a/StdLib/Include/sys/resource.h +++ /dev/null @@ -1,143 +0,0 @@ -/* $NetBSD: resource.h,v 1.29 2006/07/23 22:06:14 ad Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 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.
- *
- * @(#)resource.h 8.4 (Berkeley) 1/9/95
- */
-
-#ifndef _SYS_RESOURCE_H_
-#define _SYS_RESOURCE_H_
-
-#include <sys/featuretest.h>
-#include <sys/time.h>
-
-/*
- * Process priority specifications to get/setpriority.
- */
-#define PRIO_MIN -20
-#define PRIO_MAX 20
-
-#define PRIO_PROCESS 0
-#define PRIO_PGRP 1
-#define PRIO_USER 2
-
-/*
- * Resource utilization information.
- */
-
-#define RUSAGE_SELF 0
-#define RUSAGE_CHILDREN -1
-
-struct rusage {
- struct timeval ru_utime; /* user time used */
- struct timeval ru_stime; /* system time used */
- long ru_maxrss; /* max resident set size */
-#ifdef _KERNEL
-#define ru_first ru_ixrss
-#endif
- long ru_ixrss; /* integral shared memory size */
- long ru_idrss; /* integral unshared data " */
- long ru_isrss; /* integral unshared stack " */
- long ru_minflt; /* page reclaims */
- long ru_majflt; /* page faults */
- long ru_nswap; /* swaps */
- long ru_inblock; /* block input operations */
- long ru_oublock; /* block output operations */
- long ru_msgsnd; /* messages sent */
- long ru_msgrcv; /* messages received */
- long ru_nsignals; /* signals received */
- long ru_nvcsw; /* voluntary context switches */
- long ru_nivcsw; /* involuntary " */
-#ifdef _KERNEL
-#define ru_last ru_nivcsw
-#endif
-};
-
-/*
- * Resource limits
- */
-#define RLIMIT_CPU 0 /* cpu time in milliseconds */
-#define RLIMIT_FSIZE 1 /* maximum file size */
-#define RLIMIT_DATA 2 /* data size */
-#define RLIMIT_STACK 3 /* stack size */
-#define RLIMIT_CORE 4 /* core file size */
-#define RLIMIT_RSS 5 /* resident set size */
-#define RLIMIT_MEMLOCK 6 /* locked-in-memory address space */
-#define RLIMIT_NPROC 7 /* number of processes */
-#define RLIMIT_NOFILE 8 /* number of open files */
-#define RLIMIT_SBSIZE 9 /* maximum size of all socket buffers */
-
-#if defined(_NETBSD_SOURCE)
-#define RLIM_NLIMITS 10 /* number of resource limits */
-#endif
-
-#define RLIM_INFINITY (~((u_quad_t)1 << 63)) /* no limit */
-#define RLIM_SAVED_MAX RLIM_INFINITY /* unrepresentable hard limit */
-#define RLIM_SAVED_CUR RLIM_INFINITY /* unrepresentable soft limit */
-
-#if defined(_KERNEL)
-/* 4.3BSD compatibility rlimit argument structure. */
-struct orlimit {
- int32_t rlim_cur; /* current (soft) limit */
- int32_t rlim_max; /* maximum value for rlim_cur */
-};
-#endif
-
-struct rlimit {
- rlim_t rlim_cur; /* current (soft) limit */
- rlim_t rlim_max; /* maximum value for rlim_cur */
-};
-
-#if defined(_NETBSD_SOURCE)
-/* Load average structure. */
-struct loadavg {
- fixpt_t ldavg[3];
- long fscale;
-};
-#endif
-
-#ifdef _KERNEL
-extern struct loadavg averunnable;
-struct pcred;
-int dosetrlimit(struct lwp *, struct proc *, int, struct rlimit *);
-int donice(struct lwp *, struct proc *, int);
-
-#else
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-int getpriority(int, id_t);
-int getrlimit(int, struct rlimit *);
-int getrusage(int, struct rusage *);
-int setpriority(int, id_t, int);
-int setrlimit(int, const struct rlimit *);
-__END_DECLS
-
-#endif /* _KERNEL */
-#endif /* !_SYS_RESOURCE_H_ */
diff --git a/StdLib/Include/sys/select.h b/StdLib/Include/sys/select.h deleted file mode 100644 index 5166a0552f..0000000000 --- a/StdLib/Include/sys/select.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $NetBSD: select.h,v 1.27 2006/02/16 20:17:20 perry Exp $ */
-
-/*-
- * Copyright (c) 1992, 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.
- *
- * @(#)select.h 8.2 (Berkeley) 1/4/94
- */
-
-#ifndef _SYS_SELECT_H_
-#define _SYS_SELECT_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/fd_set.h>
-
-#include <sys/sigtypes.h>
-#include <sys/time.h>
-#include <time.h>
-
-__BEGIN_DECLS
-int pselect(int, fd_set * __restrict, fd_set * __restrict,
- fd_set * __restrict, const struct timespec * __restrict,
- const sigset_t * __restrict);
-int select(int, fd_set * __restrict, fd_set * __restrict,
- fd_set * __restrict, struct timeval * __restrict);
-__END_DECLS
-
-#endif /* !_SYS_SELECT_H_ */
diff --git a/StdLib/Include/sys/signal.h b/StdLib/Include/sys/signal.h deleted file mode 100644 index e93b2aba37..0000000000 --- a/StdLib/Include/sys/signal.h +++ /dev/null @@ -1,68 +0,0 @@ -/** @file
-
- Implementation and Platform specific portion of <signal.h>.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _SYS_SIGNAL_H
-#define _SYS_SIGNAL_H
-#include <sys/EfiCdefs.h>
-#include <machine/signal.h>
-
-/** The actual (default) signal numbers are assigned using an anonymous enum
- so that the compiler can do the work of assigning values. This helps
- ensure that the developer should never have to renumber the signals or
- figure out what number to assign to a new signal.
-
- Properly constructed programs will NEVER depend upon signal numbers being
- in a particular order or having a particular value. All that is guaranteed
- is that each signal number is distinct, positive, and non-zero.
-**/
-enum {
- __SigInt = 1,
- __SigIll,
- __SigAbrt,
- __SigFpe,
- __SigSegv,
- __SigTerm,
- __SigBreak,
- __SigAlrm,
- __SigVtAlrm,
- __SigProf,
- __SigUsr1,
- __SigUsr2,
- __SigWinch,
- __SigPipe,
- __SigQuit,
- __Sig_Last
-};
-
-/** The type of a signal handler function. **/
-typedef void __sighandler_t(int);
-
-__BEGIN_DECLS
-/** The signal function associates a "signal handler" with a signal number.
-
- For historical reasons; programs expect signal to be declared
- in <sys/signal.h>.
-
- @param[in] sig Signal number that function is to be associated with.
- @param[in] function The "handler" function to be associated with signal sig.
-
- @return If the request can be honored, the signal function returns the
- value of func for the most recent successful call to signal for
- the specified signal sig. Otherwise, a value of SIG_ERR is
- returned and a positive value is stored in errno.
- */
-__sighandler_t *signal(int sig, __sighandler_t *func);
-
-__END_DECLS
-
-#endif /* _SYS_SIGNAL_H */
diff --git a/StdLib/Include/sys/sigtypes.h b/StdLib/Include/sys/sigtypes.h deleted file mode 100644 index c640296f49..0000000000 --- a/StdLib/Include/sys/sigtypes.h +++ /dev/null @@ -1,123 +0,0 @@ -/* $NetBSD: sigtypes.h,v 1.8 2005/12/11 12:25:21 christos Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 1989, 1991, 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. 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.
- *
- * @(#)signal.h 8.4 (Berkeley) 5/4/95
- */
-
-#ifndef _SYS_SIGTYPES_H_
-#define _SYS_SIGTYPES_H_
-
-/*
- * This header file defines various signal-related types. We also keep
- * the macros to manipulate sigset_t here, to encapsulate knowledge of
- * its internals.
- */
-
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-#include <machine/ansi.h>
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
- defined(_NETBSD_SOURCE)
-
-typedef struct {
- __uint32_t __bits[4];
-} sigset_t;
-
-/*
- * Macro for manipulating signal masks.
- */
-#define __sigmask(n) (1 << (((unsigned int)(n) - 1) & 31))
-#define __sigword(n) (((unsigned int)(n) - 1) >> 5)
-#define __sigaddset(s, n) ((s)->__bits[__sigword(n)] |= __sigmask(n))
-#define __sigdelset(s, n) ((s)->__bits[__sigword(n)] &= ~__sigmask(n))
-#define __sigismember(s, n) (((s)->__bits[__sigword(n)] & __sigmask(n)) != 0)
-#define __sigemptyset(s) ((s)->__bits[0] = 0x00000000, \
- (s)->__bits[1] = 0x00000000, \
- (s)->__bits[2] = 0x00000000, \
- (s)->__bits[3] = 0x00000000)
-#define __sigsetequal(s1,s2) ((s1)->__bits[0] == (s2)->__bits[0] && \
- (s1)->__bits[1] == (s2)->__bits[1] && \
- (s1)->__bits[2] == (s2)->__bits[2] && \
- (s1)->__bits[3] == (s2)->__bits[3])
-#define __sigfillset(s) ((s)->__bits[0] = 0xffffffff, \
- (s)->__bits[1] = 0xffffffff, \
- (s)->__bits[2] = 0xffffffff, \
- (s)->__bits[3] = 0xffffffff)
-#define __sigplusset(s, t) \
- do { \
- (t)->__bits[0] |= (s)->__bits[0]; \
- (t)->__bits[1] |= (s)->__bits[1]; \
- (t)->__bits[2] |= (s)->__bits[2]; \
- (t)->__bits[3] |= (s)->__bits[3]; \
- } while (/* CONSTCOND */ 0)
-#define __sigminusset(s, t) \
- do { \
- (t)->__bits[0] &= ~(s)->__bits[0]; \
- (t)->__bits[1] &= ~(s)->__bits[1]; \
- (t)->__bits[2] &= ~(s)->__bits[2]; \
- (t)->__bits[3] &= ~(s)->__bits[3]; \
- } while (/* CONSTCOND */ 0)
-#define __sigandset(s, t) \
- do { \
- (t)->__bits[0] &= (s)->__bits[0]; \
- (t)->__bits[1] &= (s)->__bits[1]; \
- (t)->__bits[2] &= (s)->__bits[2]; \
- (t)->__bits[3] &= (s)->__bits[3]; \
- } while (/* CONSTCOND */ 0)
-
-#if (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \
- (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
-typedef struct
-#if defined(_NETBSD_SOURCE)
- sigaltstack
-#endif /* _NETBSD_SOURCE */
- {
- void *ss_sp; /* signal stack base */
- size_t ss_size; /* signal stack length */
- int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */
-} stack_t;
-
-#endif /* _XOPEN_SOURCE_EXTENDED || XOPEN_SOURCE >= 500 || _NETBSD_SOURCE */
-
-#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || ... */
-
-#endif /* !_SYS_SIGTYPES_H_ */
diff --git a/StdLib/Include/sys/socket.h b/StdLib/Include/sys/socket.h deleted file mode 100644 index 11434ed641..0000000000 --- a/StdLib/Include/sys/socket.h +++ /dev/null @@ -1,571 +0,0 @@ -/* $NetBSD: socket.h,v 1.82 2006/06/27 03:49:08 mrg Exp $ */
-
-/*
- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * 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 project 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 PROJECT 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 PROJECT 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.
- */
-
-/*
- * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994
- * 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.
- *
- * @(#)socket.h 8.6 (Berkeley) 5/3/95
- */
-
-#ifndef _SYS_SOCKET_H_
-#define _SYS_SOCKET_H_
-
-#include <sys/featuretest.h>
-
-/*
- * Definitions related to sockets: types, address families, options.
- */
-
-/*
- * Data types.
- */
-#include <sys/ansi.h>
-
-#ifndef sa_family_t
-typedef __sa_family_t sa_family_t;
-#define sa_family_t __sa_family_t
-#endif
-
-#ifndef socklen_t
-typedef __socklen_t socklen_t;
-#define socklen_t __socklen_t
-#endif
-
-#include <machine/ansi.h>
-
-#ifdef _EFI_SIZE_T_
-typedef _EFI_SIZE_T_ size_t;
-#undef _EFI_SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-
-#ifdef _BSD_SSIZE_T_
-typedef _BSD_SSIZE_T_ ssize_t;
-#undef _BSD_SSIZE_T_
-#endif
-
-#include <sys/uio.h>
-
-/*
- * Socket types.
- */
-#define SOCK_STREAM 1 /* stream socket */
-#define SOCK_DGRAM 2 /* datagram socket */
-#define SOCK_RAW 3 /* raw-protocol interface */
-#define SOCK_RDM 4 /* reliably-delivered message */
-#define SOCK_SEQPACKET 5 /* sequenced packet stream */
-
-/*
- * Option flags per-socket.
- */
-#define SO_DEBUG 0x0001 /* turn on debugging info recording */
-#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
-#define SO_REUSEADDR 0x0004 /* allow local address reuse */
-#define SO_KEEPALIVE 0x0008 /* keep connections alive */
-#define SO_DONTROUTE 0x0010 /* just use interface addresses */
-#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */
-#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */
-#define SO_LINGER 0x0080 /* linger on close if data present */
-#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */
-#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */
-#define SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */
-
-
-/*
- * Additional options, not kept in so_options.
- */
-#define SO_SNDBUF 0x1001 /* send buffer size */
-#define SO_RCVBUF 0x1002 /* receive buffer size */
-#define SO_SNDLOWAT 0x1003 /* send low-water mark */
-#define SO_RCVLOWAT 0x1004 /* receive low-water mark */
-#define SO_SNDTIMEO 0x1005 /* send timeout */
-#define SO_RCVTIMEO 0x1006 /* receive timeout */
-#define SO_ERROR 0x1007 /* get error status and clear */
-#define SO_TYPE 0x1008 /* get socket type */
-#define SO_OVERFLOWED 0x1009 /* datagrams: return packets dropped */
-
-/*
- * Structure used for manipulating linger option.
- */
-struct linger {
- int l_onoff; /* option on/off */
- int l_linger; /* linger time in seconds */
-};
-
-/*
- * Level number for (get/set)sockopt() to apply to socket itself.
- */
-#define SOL_SOCKET 0xffff /* options for socket level */
-
-/*
- * Address families.
- */
-#define AF_UNSPEC 0 /* unspecified */
-#define AF_LOCAL 1 /* local to host (pipes, portals) */
-#define AF_UNIX AF_LOCAL /* backward compatibility */
-#define AF_INET 2 /* internetwork: UDP, TCP, etc. */
-#define AF_IMPLINK 3 /* arpanet imp addresses */
-#define AF_PUP 4 /* pup protocols: e.g. BSP */
-#define AF_CHAOS 5 /* mit CHAOS protocols */
-#define AF_NS 6 /* XEROX NS protocols */
-#define AF_ISO 7 /* ISO protocols */
-#define AF_OSI AF_ISO
-#define AF_ECMA 8 /* european computer manufacturers */
-#define AF_DATAKIT 9 /* datakit protocols */
-#define AF_CCITT 10 /* CCITT protocols, X.25 etc */
-#define AF_SNA 11 /* IBM SNA */
-#define AF_DECnet 12 /* DECnet */
-#define AF_DLI 13 /* DEC Direct data link interface */
-#define AF_LAT 14 /* LAT */
-#define AF_HYLINK 15 /* NSC Hyperchannel */
-#define AF_APPLETALK 16 /* Apple Talk */
-#define AF_ROUTE 17 /* Internal Routing Protocol */
-#define AF_LINK 18 /* Link layer interface */
-#if defined(_NETBSD_SOURCE)
-#define pseudo_AF_XTP 19 /* eXpress Transfer Protocol (no AF) */
-#endif
-#define AF_COIP 20 /* connection-oriented IP, aka ST II */
-#define AF_CNT 21 /* Computer Network Technology */
-#if defined(_NETBSD_SOURCE)
-#define pseudo_AF_RTIP 22 /* Help Identify RTIP packets */
-#endif
-#define AF_IPX 23 /* Novell Internet Protocol */
-#define AF_INET6 24 /* IP version 6 */
-#if defined(_NETBSD_SOURCE)
-#define pseudo_AF_PIP 25 /* Help Identify PIP packets */
-#endif
-#define AF_ISDN 26 /* Integrated Services Digital Network*/
-#define AF_E164 AF_ISDN /* CCITT E.164 recommendation */
-#define AF_NATM 27 /* native ATM access */
-#define AF_ARP 28 /* (rev.) addr. res. prot. (RFC 826) */
-#if defined(_NETBSD_SOURCE)
-#define pseudo_AF_KEY 29 /* Internal key management protocol */
-#define pseudo_AF_HDRCMPLT 30 /* Used by BPF to not rewrite hdrs
- in interface output routine */
-#endif
-#define AF_BLUETOOTH 31
-
-#define AF_MAX 32
-
-/*
- * Structure used by kernel to store most
- * addresses.
- */
-struct sockaddr {
- __uint8_t sa_len; /* total length */
- sa_family_t sa_family; /* address family */
- char sa_data[14]; /* actually longer; address value */
-};
-
-#if defined(_KERNEL)
-/*
- * Structure used by kernel to pass protocol
- * information in raw sockets.
- */
-struct sockproto {
- u_short sp_family; /* address family */
- u_short sp_protocol; /* protocol */
-};
-#endif /* _KERNEL */
-
-#if 1
-/*
- * RFC 2553: protocol-independent placeholder for socket addresses
- */
-#define _SS_MAXSIZE 128
-#define _SS_ALIGNSIZE (sizeof(__int64_t))
-#define _SS_PAD1SIZE (_SS_ALIGNSIZE - 2)
-#define _SS_PAD2SIZE (_SS_MAXSIZE - 2 - \
- _SS_PAD1SIZE - _SS_ALIGNSIZE)
-
-#if (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
-struct sockaddr_storage {
- __uint8_t ss_len; /* address length */
- sa_family_t ss_family; /* address family */
- char __ss_pad1[_SS_PAD1SIZE];
- __int64_t __ss_align;/* force desired structure storage alignment */
- char __ss_pad2[_SS_PAD2SIZE];
-};
-#endif /* _XOPEN_SOURCE >= 500 || _NETBSD_SOURCE */
-#endif /* 1 */
-
-/*
- * Protocol families, same as address families for now.
- */
-#define PF_UNSPEC AF_UNSPEC
-#define PF_LOCAL AF_LOCAL
-#define PF_UNIX PF_LOCAL /* backward compatibility */
-#define PF_INET AF_INET
-#define PF_IMPLINK AF_IMPLINK
-#define PF_PUP AF_PUP
-#define PF_CHAOS AF_CHAOS
-#define PF_NS AF_NS
-#define PF_ISO AF_ISO
-#define PF_OSI AF_ISO
-#define PF_ECMA AF_ECMA
-#define PF_DATAKIT AF_DATAKIT
-#define PF_CCITT AF_CCITT
-#define PF_SNA AF_SNA
-#define PF_DECnet AF_DECnet
-#define PF_DLI AF_DLI
-#define PF_LAT AF_LAT
-#define PF_HYLINK AF_HYLINK
-#define PF_APPLETALK AF_APPLETALK
-#define PF_ROUTE AF_ROUTE
-#define PF_LINK AF_LINK
-#if defined(_NETBSD_SOURCE)
-#define PF_XTP pseudo_AF_XTP /* really just proto family, no AF */
-#endif
-#define PF_COIP AF_COIP
-#define PF_CNT AF_CNT
-#define PF_INET6 AF_INET6
-#define PF_IPX AF_IPX /* same format as AF_NS */
-#if defined(_NETBSD_SOURCE)
-#define PF_RTIP pseudo_AF_RTIP /* same format as AF_INET */
-#define PF_PIP pseudo_AF_PIP
-#endif
-#define PF_ISDN AF_ISDN /* same as E164 */
-#define PF_E164 AF_E164
-#define PF_NATM AF_NATM
-#define PF_ARP AF_ARP
-#if defined(_NETBSD_SOURCE)
-#define PF_KEY pseudo_AF_KEY /* like PF_ROUTE, only for key mgmt */
-#endif
-#define PF_BLUETOOTH AF_BLUETOOTH
-
-#define PF_MAX AF_MAX
-
-#if defined(_NETBSD_SOURCE)
-
-#ifndef gid_t
-typedef __gid_t gid_t; /* group id */
-#define gid_t __gid_t
-#endif
-
-#ifndef uid_t
-typedef __uid_t uid_t; /* user id */
-#define uid_t __uid_t
-#endif
-
-/*
- * Socket credentials.
- */
-struct sockcred {
- uid_t sc_uid; /* real user id */
- uid_t sc_euid; /* effective user id */
- gid_t sc_gid; /* real group id */
- gid_t sc_egid; /* effective group id */
- int sc_ngroups; /* number of supplemental groups */
- gid_t sc_groups[1]; /* variable length */
-};
-
-/*
- * Compute size of a sockcred structure with groups.
- */
-#define SOCKCREDSIZE(ngrps) \
- (sizeof(struct sockcred) + (sizeof(gid_t) * ((ngrps) - 1)))
-#endif /* _NETBSD_SOURCE */
-
-
-#if defined(_NETBSD_SOURCE)
-/*
- * Definitions for network related sysctl, CTL_NET.
- *
- * Second level is protocol family.
- * Third level is protocol number.
- *
- * Further levels are defined by the individual families below.
- */
-#define NET_MAXID AF_MAX
-
-#define CTL_NET_NAMES { \
- { 0, 0 }, \
- { "local", CTLTYPE_NODE }, \
- { "inet", CTLTYPE_NODE }, \
- { "implink", CTLTYPE_NODE }, \
- { "pup", CTLTYPE_NODE }, \
- { "chaos", CTLTYPE_NODE }, \
- { "xerox_ns", CTLTYPE_NODE }, \
- { "iso", CTLTYPE_NODE }, \
- { "emca", CTLTYPE_NODE }, \
- { "datakit", CTLTYPE_NODE }, \
- { "ccitt", CTLTYPE_NODE }, \
- { "ibm_sna", CTLTYPE_NODE }, \
- { "decnet", CTLTYPE_NODE }, \
- { "dec_dli", CTLTYPE_NODE }, \
- { "lat", CTLTYPE_NODE }, \
- { "hylink", CTLTYPE_NODE }, \
- { "appletalk", CTLTYPE_NODE }, \
- { "route", CTLTYPE_NODE }, \
- { "link_layer", CTLTYPE_NODE }, \
- { "xtp", CTLTYPE_NODE }, \
- { "coip", CTLTYPE_NODE }, \
- { "cnt", CTLTYPE_NODE }, \
- { "rtip", CTLTYPE_NODE }, \
- { "ipx", CTLTYPE_NODE }, \
- { "inet6", CTLTYPE_NODE }, \
- { "pip", CTLTYPE_NODE }, \
- { "isdn", CTLTYPE_NODE }, \
- { "natm", CTLTYPE_NODE }, \
- { "arp", CTLTYPE_NODE }, \
- { "key", CTLTYPE_NODE }, \
-}
-
-struct kinfo_pcb {
- __uint64_t ki_pcbaddr; /* PTR: pcb addr */
- __uint64_t ki_ppcbaddr; /* PTR: ppcb addr */
- __uint64_t ki_sockaddr; /* PTR: socket addr */
-
- __uint32_t ki_family; /* INT: protocol family */
- __uint32_t ki_type; /* INT: socket type */
- __uint32_t ki_protocol; /* INT: protocol */
- __uint32_t ki_pflags; /* INT: generic protocol flags */
-
- __uint32_t ki_sostate; /* INT: socket state */
- __uint32_t ki_prstate; /* INT: protocol state */
- __int32_t ki_tstate; /* INT: tcp state */
- __uint32_t ki_tflags; /* INT: tcp flags */
-
- __uint64_t ki_rcvq; /* U_LONG: receive queue len */
- __uint64_t ki_sndq; /* U_LONG: send queue len */
-
- union {
- struct sockaddr _kis_src; /* STRUCT: local address */
- char _kis_pad[256 + 8]; /* pad to max addr length */
- } ki_s;
- union {
- struct sockaddr _kid_dst; /* STRUCT: remote address */
- char _kid_pad[256 + 8]; /* pad to max addr length */
- } ki_d;
-
- __uint64_t ki_inode; /* INO_T: fake inode number */
- __uint64_t ki_vnode; /* PTR: if associated with file */
- __uint64_t ki_conn; /* PTR: control block of peer */
- __uint64_t ki_refs; /* PTR: referencing socket */
- __uint64_t ki_nextref; /* PTR: link in refs list */
-};
-
-#define ki_src ki_s._kis_src
-#define ki_dst ki_d._kid_dst
-
-#define PCB_SLOP 20
-#define PCB_ALL 0
-
-#endif /* _NETBSD_SOURCE */
-
-#if defined(_NETBSD_SOURCE)
-/*
- * PF_ROUTE - Routing table
- *
- * Three additional levels are defined:
- * Fourth: address family, 0 is wildcard
- * Fifth: type of info, defined below
- * Sixth: flag(s) to mask with for NET_RT_FLAGS
- */
-#define NET_RT_DUMP 1 /* dump; may limit to a.f. */
-#define NET_RT_FLAGS 2 /* by flags, e.g. RESOLVING */
-#define NET_RT_OIFLIST 3 /* old NET_RT_IFLIST (pre 1.5) */
-#define NET_RT_IFLIST 4 /* survey interface list */
-#define NET_RT_MAXID 5
-
-#define CTL_NET_RT_NAMES { \
- { 0, 0 }, \
- { "dump", CTLTYPE_STRUCT }, \
- { "flags", CTLTYPE_STRUCT }, \
- { 0, 0 }, \
- { "iflist", CTLTYPE_STRUCT }, \
-}
-#endif /* _NETBSD_SOURCE */
-
-/*
- * Maximum queue length specifiable by listen(2).
- */
-#ifndef SOMAXCONN
-#define SOMAXCONN 128
-#endif
-
-/*
- * Message header for recvmsg and sendmsg calls.
- * Used value-result for recvmsg, value only for sendmsg.
- */
-struct msghdr {
- void *msg_name; /* optional address */
- socklen_t msg_namelen; /* size of address */
- struct iovec *msg_iov; /* scatter/gather array */
- int msg_iovlen; /* # elements in msg_iov */
- void *msg_control; /* ancillary data, see below */
- socklen_t msg_controllen; /* ancillary data buffer len */
- int msg_flags; /* flags on received message */
-};
-
-#define MSG_OOB 0x0001 /* process out-of-band data */
-#define MSG_PEEK 0x0002 /* peek at incoming message */
-#define MSG_DONTROUTE 0x0004 /* send without using routing tables */
-#define MSG_EOR 0x0008 /* data completes record */
-#define MSG_TRUNC 0x0010 /* data discarded before delivery */
-#define MSG_CTRUNC 0x0020 /* control data lost before delivery */
-#define MSG_WAITALL 0x0040 /* wait for full request or error */
-#define MSG_DONTWAIT 0x0080 /* this message should be nonblocking */
-#define MSG_BCAST 0x0100 /* this message was rcvd using link-level brdcst */
-#define MSG_MCAST 0x0200 /* this message was rcvd using link-level mcast */
-#define MSG_NOSIGNAL 0x0400 /* do not generate SIGPIPE on EOF */
-
-/*
- * Header for ancillary data objects in msg_control buffer.
- * Used for additional information with/about a datagram
- * not expressible by flags. The format is a sequence
- * of message elements headed by cmsghdr structures.
- */
-struct cmsghdr {
- socklen_t cmsg_len; /* data byte count, including hdr */
- int cmsg_level; /* originating protocol */
- int cmsg_type; /* protocol-specific type */
-/* followed by u_char cmsg_data[]; */
-};
-
-/* given pointer to struct cmsghdr, return pointer to data */
-#define CMSG_DATA(cmsg) \
- ((u_char *)(void *)(cmsg) + __CMSG_ALIGN(sizeof(struct cmsghdr)))
-#define CCMSG_DATA(cmsg) \
- ((const u_char *)(const void *)(cmsg) + \
- __CMSG_ALIGN(sizeof(struct cmsghdr)))
-
-/*
- * Alignment requirement for CMSG struct manipulation.
- * This basically behaves the same as ALIGN() ARCH/include/param.h.
- * We declare it separately for two reasons:
- * (1) avoid dependency between machine/param.h, and (2) to sync with kernel's
- * idea of ALIGNBYTES at runtime.
- * without (2), we can't guarantee binary compatibility in case of future
- * changes in ALIGNBYTES.
- */
-#define __CMSG_ALIGN(n) (((n) + __cmsg_alignbytes()) & ~__cmsg_alignbytes())
-#ifdef _KERNEL
-#define CMSG_ALIGN(n) __CMSG_ALIGN(n)
-#endif
-
-/* given pointer to struct cmsghdr, return pointer to next cmsghdr */
-#define CMSG_NXTHDR(mhdr, cmsg) \
- (((__caddr_t)(cmsg) + __CMSG_ALIGN((cmsg)->cmsg_len) + \
- __CMSG_ALIGN(sizeof(struct cmsghdr)) > \
- (((__caddr_t)(mhdr)->msg_control) + (mhdr)->msg_controllen)) ? \
- (struct cmsghdr *)0 : \
- (struct cmsghdr *)((__caddr_t)(cmsg) + \
- __CMSG_ALIGN((cmsg)->cmsg_len)))
-
-/*
- * RFC 2292 requires to check msg_controllen, in case that the kernel returns
- * an empty list for some reasons.
- */
-#define CMSG_FIRSTHDR(mhdr) \
- ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
- (struct cmsghdr *)(mhdr)->msg_control : \
- (struct cmsghdr *)0)
-
-#define CMSG_SPACE(l) (__CMSG_ALIGN(sizeof(struct cmsghdr)) + __CMSG_ALIGN(l))
-#define CMSG_LEN(l) (__CMSG_ALIGN(sizeof(struct cmsghdr)) + (l))
-
-/* "Socket"-level control message types: */
-#define SCM_RIGHTS 0x01 /* access rights (array of int) */
-#if defined(_NETBSD_SOURCE)
-#define SCM_TIMESTAMP 0x02 /* timestamp (struct timeval) */
-#define SCM_CREDS 0x04 /* credentials (struct sockcred) */
-#endif
-
-/*
- * Types of socket shutdown(2).
- */
-#define SHUT_RD 0 /* Disallow further receives. */
-#define SHUT_WR 1 /* Disallow further sends. */
-#define SHUT_RDWR 2 /* Disallow further sends/receives. */
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-int __cmsg_alignbytes(void);
-__END_DECLS
-
-#ifndef _KERNEL
-
-__BEGIN_DECLS
-int accept(int, struct sockaddr * __restrict, socklen_t * __restrict);
-int bind(int, const struct sockaddr *, socklen_t);
-int connect(int, const struct sockaddr *, socklen_t);
-int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict);
-int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict);
-int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict);
-int listen(int, int);
-ssize_t recv(int, void *, size_t, int);
-ssize_t recvfrom(int, void * __restrict, size_t, int,
- struct sockaddr * __restrict, socklen_t * __restrict);
-ssize_t recvmsg(int, struct msghdr *, int);
-ssize_t send(int, const void *, size_t, int);
-ssize_t sendto(int, const void *,
- size_t, int, const struct sockaddr *, socklen_t);
-ssize_t sendmsg(int, const struct msghdr *, int);
-int setsockopt(int, int, int, const void *, socklen_t);
-int shutdown(int, int);
-int sockatmark(int);
-int socket(int, int, int)
-#if !defined(__LIBC12_SOURCE__) && !defined(_STANDALONE)
-__RENAME(__socket30)
-#endif
- ;
-int socketpair(int, int, int, int *);
-__END_DECLS
-#endif /* !_KERNEL */
-
-#endif /* !_SYS_SOCKET_H_ */
diff --git a/StdLib/Include/sys/sockio.h b/StdLib/Include/sys/sockio.h deleted file mode 100644 index 5711ed2014..0000000000 --- a/StdLib/Include/sys/sockio.h +++ /dev/null @@ -1,100 +0,0 @@ -/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- * The Regents of the University of California. All rights reserved.
- *
- * Portions copyright (c) 1999, 2000
- * Intel Corporation.
- * 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, Intel Corporation, and its contributors.
- *
- * 4. Neither the name of University, Intel Corporation, or their respective
- * 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, INTEL CORPORATION 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,
- * INTEL CORPORATION 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.
- *
- * @(#)sockio.h 8.1 (Berkeley) 3/28/94
- * $Id: sockio.h,v 1.1.1.1 2006/05/30 06:12:59 hhzhou Exp $
- */
-
-#ifndef _SYS_SOCKIO_H_
-#define _SYS_SOCKIO_H_
-
-#include <sys/ioccom.h>
-
-/* Socket ioctl's. */
-#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */
-#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */
-#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */
-#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */
-#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */
-#define SIOCSPGRP _IOW('s', 8, int) /* set process group */
-#define SIOCGPGRP _IOR('s', 9, int) /* get process group */
-#ifndef _ORG_FREEBSD_
-#define SIOCUPCALL _IOW('s', 10, struct upcall_req)/* register upcall req */
-#endif
-
-#define SIOCADDRT _IOW('r', 10, struct ortentry) /* add route */
-#define SIOCDELRT _IOW('r', 11, struct ortentry) /* delete route */
-#define SIOCGETVIFCNT _IOWR('r', 15, struct sioc_vif_req)/* get vif pkt cnt */
-#define SIOCGETSGCNT _IOWR('r', 16, struct sioc_sg_req) /* get s,g pkt cnt */
-
-#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */
-#define OSIOCGIFADDR _IOWR('i', 13, struct ifreq) /* get ifnet address */
-#define SIOCGIFADDR _IOWR('i', 33, struct ifreq) /* get ifnet address */
-#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */
-#define OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) /* get p-p address */
-#define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) /* get p-p address */
-#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */
-#define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) /* get ifnet flags */
-#define OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) /* get broadcast addr */
-#define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) /* get broadcast addr */
-#define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */
-#define OSIOCGIFCONF _IOWR('i', 20, struct ifconf) /* get ifnet list */
-#define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */
-#define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) /* get net addr mask */
-#define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */
-#define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */
-#define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) /* get IF metric */
-#define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) /* set IF metric */
-#define SIOCDIFADDR _IOW('i', 25, struct ifreq) /* delete IF addr */
-#define SIOCAIFADDR _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */
-
-#define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */
-#define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */
-#define SIOCGIFMTU _IOWR('i', 51, struct ifreq) /* get IF mtu */
-#define SIOCSIFMTU _IOW('i', 52, struct ifreq) /* set IF mtu */
-#define SIOCGIFPHYS _IOWR('i', 53, struct ifreq) /* get IF wire */
-#define SIOCSIFPHYS _IOW('i', 54, struct ifreq) /* set IF wire */
-#define SIOCSIFMEDIA _IOWR('i', 55, struct ifreq) /* set net media */
-#define SIOCGIFMEDIA _IOWR('i', 56, struct ifmediareq) /* get net media */
-#define SIOCSIFGENERIC _IOW('i', 57, struct ifreq) /* generic IF set op */
-#define SIOCGIFGENERIC _IOWR('i', 58, struct ifreq) /* generic IF get op */
-
-#endif /* !_SYS_SOCKIO_H_ */
diff --git a/StdLib/Include/sys/stat.h b/StdLib/Include/sys/stat.h deleted file mode 100644 index 83fc58025a..0000000000 --- a/StdLib/Include/sys/stat.h +++ /dev/null @@ -1,217 +0,0 @@ -/** @file
-
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made
- available under the terms and conditions of the BSD License that
- accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1982, 1986, 1989, 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. 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.
-
- stat.h 8.12 (Berkeley) 8/17/94
- NetBSD: stat.h,v 1.54 2006/02/24 22:01:30 thorpej Exp
- */
-#ifndef _SYS_STAT_H_
-#define _SYS_STAT_H_
-
-#include <sys/featuretest.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-struct stat {
- off_t st_size; ///< file size, in bytes
- off_t st_physsize; ///< physical space the file consumes
- off_t st_curpos; ///< current position within the file, or XY coord. for Console
- dtime_t st_birthtime; ///< time of creation
- dtime_t st_atime; ///< time of last access
- dtime_t st_mtime; ///< time of last data modification
- mode_t st_mode; ///< file attributes
-
- blksize_t st_blksize; ///< optimal blocksize for I/O
- uint32_t st_spare[1];
-};
-
-#define S_ISUID 0004000 ///< set user id on execution
-#define S_ISGID 0002000 ///< set group id on execution
-#define S_ISTXT 0001000 ///< sticky bit
-
-#define S_IRWXU 0000700 ///< RWX mask for owner
-#define S_IRUSR 0000400 ///< R for owner
-#define S_IWUSR 0000200 ///< W for owner
-#define S_IXUSR 0000100 ///< X for owner
-
-#define S_IREAD S_IRUSR
-#define S_IWRITE S_IWUSR
-#define S_IEXEC S_IXUSR
-
-#define S_IRWXG 0000070 ///< RWX mask for group
-#define S_IRGRP 0000040 ///< R for group
-#define S_IWGRP 0000020 ///< W for group
-#define S_IXGRP 0000010 ///< X for group
-
-#define S_IRWXO 0000007 ///< RWX mask for other
-#define S_IROTH 0000004 ///< R for other
-#define S_IWOTH 0000002 ///< W for other
-#define S_IXOTH 0000001 ///< X for other
-
-/* The Octal access modes, above, fall into the Hex mask 0x00000FFF.
- Traditionally, the remainder of the flags are specified in Octal
- but they are expressed in Hex here for modern clarity.
-
- The basic file types, specified within 0x0000F000, are mutually exclusive.
-*/
-#define _S_IFMT 0x000FF000 ///< type-of-file mask
-#define _S_IFIFO 0x00001000 ///< named pipe (fifo)
-#define _S_IFCHR 0x00002000 ///< character special device
-#define _S_IFDIR 0x00004000 ///< directory
-#define _S_IFBLK 0x00006000 ///< block special device
-#define _S_IFREG 0x00008000 ///< regular
-#define _S_IFSOCK 0x0000C000 ///< socket
-#define _S_ITTY 0x00010000 ///< File connects to a TTY device
-#define _S_IWTTY 0x00020000 ///< TTY sends and receives Wide characters
-#define _S_ICONSOLE 0x00030000 ///< UEFI Console Device
-
-/* UEFI specific (FAT file system) File attributes.
- Specified in Hexadecimal instead of Octal.
- These bits correspond to the xx portion of _S_IFMT
-*/
-#define S_IREADONLY 0x00100000 // Read Only File
-#define S_IHIDDEN 0x00200000 // Hidden File
-#define S_ISYSTEM 0x00400000 // System File
-#define S_IDIRECTORY 0x01000000 // Directory
-#define S_IARCHIVE 0x02000000 // Archive Bit
-#define S_IROFS 0x08000000 ///< Read Only File System
-
-#define S_EFIONLY 0xFFF00000 ///< Flags only used by the EFI system calls.
-
-#define S_EFISHIFT 20 // LS bit of the UEFI attributes
-
-#define S_IFMT _S_IFMT
-#define S_IFIFO _S_IFIFO
-#define S_IFCHR _S_IFCHR
-#define S_IFDIR _S_IFDIR
-#define S_IFBLK _S_IFBLK
-#define S_IFREG _S_IFREG
-#define S_IFSOCK _S_IFSOCK
-#define S_ITTY _S_ITTY
-#define S_IWTTY _S_IWTTY
-#define S_ICONSOLE _S_ICONSOLE
-
-#define S_ISFIFO(m) ((m & _S_IFMT) == _S_IFIFO) ///< fifo
-#define S_ISCHR(m) ((m & _S_IFMT) == _S_IFCHR) ///< char special
-#define S_ISDIR(m) ((m & _S_IFMT) == _S_IFDIR) ///< directory
-#define S_ISBLK(m) ((m & _S_IFMT) == _S_IFBLK) ///< block special
-#define S_ISREG(m) ((m & _S_IFMT) == _S_IFREG) ///< regular file
-#define S_ISSOCK(m) ((m & _S_IFMT) == _S_IFSOCK) ///< socket
-
-
-/* The following three macros have been changed to reflect
- access permissions that better reflect the UEFI FAT file system.
- UEFI only supports Read or Read+Write instead of the *nix
- rwx paradigm. Thus, using 0777 is the closest analog.
-*/
-#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ///< 0777
-#define ALLPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ///< 0777
-#define DEFFILEMODE (S_IRWXU|S_IRWXG|S_IRWXO) ///< 0777
-
-#define READ_PERMS (S_IRUSR | S_IRGRP | S_IROTH) ///< 0444
-#define WRITE_PERMS (S_IWUSR | S_IWGRP | S_IWOTH) ///< 0222
-#define EXEC_PERMS (S_IXUSR | S_IXGRP | S_IXOTH) ///< 0111
-
-#define S_BLKSIZE 512 ///< block size used in the stat struct
-
-/*
- * Definitions of flags stored in file flags word.
- *
- * Super-user and owner changeable flags.
- */
-#define UF_SETTABLE 0x0000ffff ///< mask of owner changeable flags
-#define UF_NODUMP 0x00000001 ///< do not dump file
-#define UF_IMMUTABLE 0x00000002 ///< file may not be changed
-#define UF_APPEND 0x00000004 ///< writes to file may only append
-/* UF_NOUNLINK 0x00000010 [NOT IMPLEMENTED] */
-/*
- * Super-user changeable flags.
- */
-#define SF_SETTABLE 0xffff0000 ///< mask of superuser changeable flags
-#define SF_ARCHIVED 0x00010000 ///< file is archived
-#define SF_IMMUTABLE 0x00020000 ///< file may not be changed
-#define SF_APPEND 0x00040000 ///< writes to file may only append
-/* SF_NOUNLINK 0x00100000 [NOT IMPLEMENTED] */
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-#ifndef __STAT_SYSCALLS_DECLARED
- #define __STAT_SYSCALLS_DECLARED
-
- /**
- **/
- mode_t umask (mode_t);
-
- /**
- **/
- int mkdir (const char *, mode_t);
-
- /**
- **/
- int fstat (int, struct stat *);
-
- /**
- **/
- int lstat (const char *, struct stat *);
-
-/** Obtains information about the file pointed to by path.
-
- Opens the file pointed to by path, calls _EFI_FileInfo with the file's handle,
- then closes the file.
-
- @param[in] path Path to the file to obtain information about.
- @param[out] statbuf Buffer in which the file status is put.
-
- @retval 0 Successful Completion.
- @retval -1 An error has occurred and errno has been set to
- identify the error.
-**/
- int stat (const char *, struct stat *);
-
- /**
- **/
- int chmod (const char *, mode_t);
-#endif // __STAT_SYSCALLS_DECLARED
-__END_DECLS
-
-#endif /* !_SYS_STAT_H_ */
diff --git a/StdLib/Include/sys/stdint.h b/StdLib/Include/sys/stdint.h deleted file mode 100644 index 7989fe0156..0000000000 --- a/StdLib/Include/sys/stdint.h +++ /dev/null @@ -1,107 +0,0 @@ -/* $NetBSD: stdint.h,v 1.5 2005/12/11 12:25:21 christos Exp $ */
-
-/*-
- * Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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 NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-#ifndef _SYS_STDINT_H_
-#define _SYS_STDINT_H_
-
-#include <sys/EfiCdefs.h>
-#include <machine/int_types.h>
-
-#ifndef int8_t
-typedef __int8_t int8_t;
-#define int8_t __int8_t
-#endif
-
-#ifndef uint8_t
-typedef __uint8_t uint8_t;
-#define uint8_t __uint8_t
-#endif
-
-#ifndef int16_t
-typedef __int16_t int16_t;
-#define int16_t __int16_t
-#endif
-
-#ifndef uint16_t
-typedef __uint16_t uint16_t;
-#define uint16_t __uint16_t
-#endif
-
-#ifndef int32_t
-typedef __int32_t int32_t;
-#define int32_t __int32_t
-#endif
-
-#ifndef uint32_t
-typedef __uint32_t uint32_t;
-#define uint32_t __uint32_t
-#endif
-
-#ifndef int64_t
-typedef __int64_t int64_t;
-#define int64_t __int64_t
-#endif
-
-#ifndef uint64_t
-typedef __uint64_t uint64_t;
-#define uint64_t __uint64_t
-#endif
-
-#ifndef intptr_t
-typedef __intptr_t intptr_t;
-#define intptr_t __intptr_t
-#endif
-
-#ifndef uintptr_t
-typedef __uintptr_t uintptr_t;
-#define uintptr_t __uintptr_t
-#endif
-
-#include <machine/int_mwgwtypes.h>
-
-#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
-#include <machine/int_limits.h>
-#endif
-
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
-#include <machine/int_const.h>
-#endif
-
-//#include <machine/wchar_limits.h>
-
-#endif /* !_SYS_STDINT_H_ */
diff --git a/StdLib/Include/sys/sysctl.h b/StdLib/Include/sys/sysctl.h deleted file mode 100644 index 2382900bae..0000000000 --- a/StdLib/Include/sys/sysctl.h +++ /dev/null @@ -1,505 +0,0 @@ -/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Mike Karels at Berkeley Software Design, Inc.
- *
- * Portions copyright (c) 1999, 2000
- * Intel Corporation.
- * 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, Intel Corporation, and its contributors.
- *
- * 4. Neither the name of University, Intel Corporation, or their respective
- * 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, INTEL CORPORATION 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,
- * INTEL CORPORATION 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.
- *
- * @(#)sysctl.h 8.1 (Berkeley) 6/2/93
- * $Id: sysctl.h,v 1.1.1.1 2006/05/30 06:13:00 hhzhou Exp $
- */
-
-#ifndef _SYS_SYSCTL_H_
-#define _SYS_SYSCTL_H_
-
-#include <sys/_posix.h>
-
-/*
- * Definitions for sysctl call. The sysctl call uses a hierarchical name
- * for objects that can be examined or modified. The name is expressed as
- * a sequence of integers. Like a file path name, the meaning of each
- * component depends on its place in the hierarchy. The top-level and kern
- * identifiers are defined here, and other identifiers are defined in the
- * respective subsystem header files.
- */
-
-#define CTL_MAXNAME 12 /* largest number of components supported */
-
-/*
- * Each subsystem defined by sysctl defines a list of variables
- * for that subsystem. Each name is either a node with further
- * levels defined below it, or it is a leaf of some particular
- * type given below. Each sysctl level defines a set of name/type
- * pairs to be used by sysctl(1) in manipulating the subsystem.
- */
-struct ctlname {
- char *ctl_name; /* subsystem name */
- int ctl_type; /* type of name */
-};
-
-#define CTLTYPE 0xf /* Mask for the type */
-#define CTLTYPE_NODE 1 /* name is a node */
-#define CTLTYPE_INT 2 /* name describes an integer */
-#define CTLTYPE_STRING 3 /* name describes a string */
-#define CTLTYPE_QUAD 4 /* name describes a 64-bit number */
-#define CTLTYPE_OPAQUE 5 /* name describes a structure */
-#define CTLTYPE_STRUCT CTLTYPE_OPAQUE /* name describes a structure */
-
-#define CTLFLAG_RD 0x80000000 /* Allow reads of variable */
-#define CTLFLAG_WR 0x40000000 /* Allow writes to the variable */
-#define CTLFLAG_RW (CTLFLAG_RD|CTLFLAG_WR)
-#define CTLFLAG_NOLOCK 0x20000000 /* XXX Don't Lock */
-#define CTLFLAG_ANYBODY 0x10000000 /* All users can set this var */
-#define CTLFLAG_SECURE 0x08000000 /* Permit set only if securelevel<=0 */
-
-/*
- * USE THIS instead of a hardwired number from the categories below
- * to get dynamically assigned sysctl entries using the linker-set
- * technology. This is the way nearly all new sysctl variables should
- * be implemented.
- * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, "");
- */
-#define OID_AUTO (-1)
-
-#ifdef KERNEL
-#define SYSCTL_HANDLER_ARGS (struct sysctl_oid *oidp, void *arg1, int arg2, \
- struct sysctl_req *req)
-
-/*
- * This describes the access space for a sysctl request. This is needed
- * so that we can use the interface from the kernel or from user-space.
- */
-struct sysctl_req {
- struct proc *p;
- int lock;
- void *oldptr;
- size_t oldlen;
- size_t oldidx;
- int (*oldfunc)(struct sysctl_req *, const void *, size_t);
- void *newptr;
- size_t newlen;
- size_t newidx;
- int (*newfunc)(struct sysctl_req *, void *, size_t);
-};
-
-#ifndef _ORG_FREEBSD_
-#include <sys/ioccom.h>
-/*
- * Pseudo sysctl call through ioctl(2) interface
- */
-#define IOCSYSCTL _IOWR('X', 0, struct sysctl_req)
-
-struct pseudo_sysctl {
- int *name;
- u_int namelen;
- struct sysctl_req req;
-};
-
-#endif
-
-/*
- * This describes one "oid" in the MIB tree. Potentially more nodes can
- * be hidden behind it, expanded by the handler.
- */
-struct sysctl_oid {
- int oid_number;
- int oid_kind;
- void *oid_arg1;
- int oid_arg2;
- const char *oid_name;
- int (*oid_handler) SYSCTL_HANDLER_ARGS;
- const char *oid_fmt;
-};
-
-#define SYSCTL_IN(r, p, l) (r->newfunc)(r, p, l)
-#define SYSCTL_OUT(r, p, l) (r->oldfunc)(r, p, l)
-
-int sysctl_handle_int SYSCTL_HANDLER_ARGS;
-int sysctl_handle_long SYSCTL_HANDLER_ARGS;
-int sysctl_handle_intptr SYSCTL_HANDLER_ARGS;
-int sysctl_handle_string SYSCTL_HANDLER_ARGS;
-int sysctl_handle_opaque SYSCTL_HANDLER_ARGS;
-
-#ifdef _ORG_FREEBSD_
-/* This constructs a "raw" MIB oid. */
-#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
- static struct sysctl_oid sysctl__##parent##_##name = { \
- nbr, kind, a1, a2, #name, handler, fmt }; \
- DATA_SET(sysctl_##parent, sysctl__##parent##_##name)
-
-/* This constructs a node from which other oids can hang. */
-#define SYSCTL_NODE(parent, nbr, name, access, handler, descr) \
- extern struct linker_set sysctl_##parent##_##name; \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_NODE|access, \
- (void*)&sysctl_##parent##_##name, 0, handler, "N", descr); \
- DATA_SET(sysctl_##parent##_##name, sysctl__##parent##_##name)
-#else
-#define SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr)
-#define SYSCTL_NODE(parent, nbr, name, access, handler, descr)
-#endif
-
-/* Oid for a string. len can be 0 to indicate '\0' termination. */
-#define SYSCTL_STRING(parent, nbr, name, access, arg, len, descr) \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_STRING|access, \
- arg, len, sysctl_handle_string, "A", descr)
-
-/* Oid for an int. If ptr is NULL, val is returned. */
-#define SYSCTL_INT(parent, nbr, name, access, ptr, val, descr) \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \
- ptr, val, sysctl_handle_int, "I", descr)
-
-/* Oid for a long. The pointer must be non NULL. */
-#define SYSCTL_LONG(parent, nbr, name, access, ptr, descr) \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|access, \
- ptr, 0, sysctl_handle_long, "L", descr)
-
-/* Oid for an opaque object. Specified by a pointer and a length. */
-#define SYSCTL_OPAQUE(parent, nbr, name, access, ptr, len, fmt, descr) \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_OPAQUE|access, \
- ptr, len, sysctl_handle_opaque, fmt, descr)
-
-/* Oid for a struct. Specified by a pointer and a type. */
-#define SYSCTL_STRUCT(parent, nbr, name, access, ptr, type, descr) \
- SYSCTL_OID(parent, nbr, name, CTLTYPE_OPAQUE|access, \
- ptr, sizeof(struct type), sysctl_handle_opaque, \
- "S," #type, descr)
-
-/* Oid for a procedure. Specified by a pointer and an arg. */
-#define SYSCTL_PROC(parent, nbr, name, access, ptr, arg, handler, fmt, descr) \
- SYSCTL_OID(parent, nbr, name, access, \
- ptr, arg, handler, fmt, descr)
-#endif /* KERNEL */
-
-/*
- * Top-level identifiers
- */
-#define CTL_UNSPEC 0 /* unused */
-#define CTL_KERN 1 /* "high kernel": proc, limits */
-#define CTL_VM 2 /* virtual memory */
-#define CTL_VFS 3 /* file system, mount type is next */
-#define CTL_NET 4 /* network, see socket.h */
-#define CTL_DEBUG 5 /* debugging parameters */
-#define CTL_HW 6 /* generic cpu/io */
-#define CTL_MACHDEP 7 /* machine dependent */
-#define CTL_USER 8 /* user-level */
-#define CTL_P1003_1B 9 /* POSIX 1003.1B */
-#define CTL_MAXID 10 /* number of valid top-level ids */
-
-#define CTL_NAMES { \
- { 0, 0 }, \
- { "kern", CTLTYPE_NODE }, \
- { "vm", CTLTYPE_NODE }, \
- { "vfs", CTLTYPE_NODE }, \
- { "net", CTLTYPE_NODE }, \
- { "debug", CTLTYPE_NODE }, \
- { "hw", CTLTYPE_NODE }, \
- { "machdep", CTLTYPE_NODE }, \
- { "user", CTLTYPE_NODE }, \
- { "p1003_1b", CTLTYPE_NODE }, \
-}
-
-/*
- * CTL_KERN identifiers
- */
-#define KERN_OSTYPE 1 /* string: system version */
-#define KERN_OSRELEASE 2 /* string: system release */
-#define KERN_OSREV 3 /* int: system revision */
-#define KERN_VERSION 4 /* string: compile time info */
-#define KERN_MAXVNODES 5 /* int: max vnodes */
-#define KERN_MAXPROC 6 /* int: max processes */
-#define KERN_MAXFILES 7 /* int: max open files */
-#define KERN_ARGMAX 8 /* int: max arguments to exec */
-#define KERN_SECURELVL 9 /* int: system security level */
-#define KERN_HOSTNAME 10 /* string: hostname */
-#define KERN_HOSTID 11 /* int: host identifier */
-#define KERN_CLOCKRATE 12 /* struct: struct clockrate */
-#define KERN_VNODE 13 /* struct: vnode structures */
-#define KERN_PROC 14 /* struct: process entries */
-#define KERN_FILE 15 /* struct: file entries */
-#define KERN_PROF 16 /* node: kernel profiling info */
-#define KERN_POSIX1 17 /* int: POSIX.1 version */
-#define KERN_NGROUPS 18 /* int: # of supplemental group ids */
-#define KERN_JOB_CONTROL 19 /* int: is job control available */
-#define KERN_SAVED_IDS 20 /* int: saved set-user/group-ID */
-#define KERN_BOOTTIME 21 /* struct: time kernel was booted */
-#define KERN_NISDOMAINNAME 22 /* string: YP domain name */
-#define KERN_UPDATEINTERVAL 23 /* int: update process sleep time */
-#define KERN_OSRELDATE 24 /* int: OS release date */
-#define KERN_NTP_PLL 25 /* node: NTP PLL control */
-#define KERN_BOOTFILE 26 /* string: name of booted kernel */
-#define KERN_MAXFILESPERPROC 27 /* int: max open files per proc */
-#define KERN_MAXPROCPERUID 28 /* int: max processes per uid */
-#define KERN_DUMPDEV 29 /* dev_t: device to dump on */
-#define KERN_IPC 30 /* node: anything related to IPC */
-#define KERN_DUMMY 31 /* unused */
-#define KERN_PS_STRINGS 32 /* int: address of PS_STRINGS */
-#define KERN_USRSTACK 33 /* int: address of USRSTACK */
-#define KERN_LOGSIGEXIT 34 /* int: do we log sigexit procs? */
-#define KERN_MAXID 35 /* number of valid kern ids */
-
-#define CTL_KERN_NAMES { \
- { 0, 0 }, \
- { "ostype", CTLTYPE_STRING }, \
- { "osrelease", CTLTYPE_STRING }, \
- { "osrevision", CTLTYPE_INT }, \
- { "version", CTLTYPE_STRING }, \
- { "maxvnodes", CTLTYPE_INT }, \
- { "maxproc", CTLTYPE_INT }, \
- { "maxfiles", CTLTYPE_INT }, \
- { "argmax", CTLTYPE_INT }, \
- { "securelevel", CTLTYPE_INT }, \
- { "hostname", CTLTYPE_STRING }, \
- { "hostid", CTLTYPE_INT }, \
- { "clockrate", CTLTYPE_STRUCT }, \
- { "vnode", CTLTYPE_STRUCT }, \
- { "proc", CTLTYPE_STRUCT }, \
- { "file", CTLTYPE_STRUCT }, \
- { "profiling", CTLTYPE_NODE }, \
- { "posix1version", CTLTYPE_INT }, \
- { "ngroups", CTLTYPE_INT }, \
- { "job_control", CTLTYPE_INT }, \
- { "saved_ids", CTLTYPE_INT }, \
- { "boottime", CTLTYPE_STRUCT }, \
- { "nisdomainname", CTLTYPE_STRING }, \
- { "update", CTLTYPE_INT }, \
- { "osreldate", CTLTYPE_INT }, \
- { "ntp_pll", CTLTYPE_NODE }, \
- { "bootfile", CTLTYPE_STRING }, \
- { "maxfilesperproc", CTLTYPE_INT }, \
- { "maxprocperuid", CTLTYPE_INT }, \
- { "dumpdev", CTLTYPE_STRUCT }, /* we lie; don't print as int */ \
- { "ipc", CTLTYPE_NODE }, \
- { "dummy", CTLTYPE_INT }, \
- { "ps_strings", CTLTYPE_INT }, \
- { "usrstack", CTLTYPE_INT }, \
- { "logsigexit", CTLTYPE_INT }, \
-}
-
-/*
- * CTL_VFS identifiers
- */
-#define CTL_VFS_NAMES { \
- { "vfsconf", CTLTYPE_STRUCT }, \
-}
-
-/*
- * KERN_PROC subtypes
- */
-#define KERN_PROC_ALL 0 /* everything */
-#define KERN_PROC_PID 1 /* by process id */
-#define KERN_PROC_PGRP 2 /* by process group id */
-#define KERN_PROC_SESSION 3 /* by session of pid */
-#define KERN_PROC_TTY 4 /* by controlling tty */
-#define KERN_PROC_UID 5 /* by effective uid */
-#define KERN_PROC_RUID 6 /* by real uid */
-
-/*
- * KERN_IPC identifiers
- */
-#define KIPC_MAXSOCKBUF 1 /* int: max size of a socket buffer */
-#define KIPC_SOCKBUF_WASTE 2 /* int: wastage factor in sockbuf */
-#define KIPC_SOMAXCONN 3 /* int: max length of connection q */
-#define KIPC_MAX_LINKHDR 4 /* int: max length of link header */
-#define KIPC_MAX_PROTOHDR 5 /* int: max length of network header */
-#define KIPC_MAX_HDR 6 /* int: max total length of headers */
-#define KIPC_MAX_DATALEN 7 /* int: max length of data? */
-#define KIPC_MBSTAT 8 /* struct: mbuf usage statistics */
-#define KIPC_NMBCLUSTERS 9 /* int: maximum mbuf clusters */
-
-/*
- * CTL_HW identifiers
- */
-#define HW_MACHINE 1 /* string: machine class */
-#define HW_MODEL 2 /* string: specific machine model */
-#define HW_NCPU 3 /* int: number of cpus */
-#define HW_BYTEORDER 4 /* int: machine byte order */
-#define HW_PHYSMEM 5 /* int: total memory */
-#define HW_USERMEM 6 /* int: non-kernel memory */
-#define HW_PAGESIZE 7 /* int: software page size */
-#define HW_DISKNAMES 8 /* strings: disk drive names */
-#define HW_DISKSTATS 9 /* struct: diskstats[] */
-#define HW_FLOATINGPT 10 /* int: has HW floating point? */
-#define HW_MACHINE_ARCH 11 /* string: machine architecture */
-#define HW_MAXID 12 /* number of valid hw ids */
-
-#define CTL_HW_NAMES { \
- { 0, 0 }, \
- { "machine", CTLTYPE_STRING }, \
- { "model", CTLTYPE_STRING }, \
- { "ncpu", CTLTYPE_INT }, \
- { "byteorder", CTLTYPE_INT }, \
- { "physmem", CTLTYPE_INT }, \
- { "usermem", CTLTYPE_INT }, \
- { "pagesize", CTLTYPE_INT }, \
- { "disknames", CTLTYPE_STRUCT }, \
- { "diskstats", CTLTYPE_STRUCT }, \
- { "floatingpoint", CTLTYPE_INT }, \
-}
-
-/*
- * CTL_USER definitions
- */
-#define USER_CS_PATH 1 /* string: _CS_PATH */
-#define USER_BC_BASE_MAX 2 /* int: BC_BASE_MAX */
-#define USER_BC_DIM_MAX 3 /* int: BC_DIM_MAX */
-#define USER_BC_SCALE_MAX 4 /* int: BC_SCALE_MAX */
-#define USER_BC_STRING_MAX 5 /* int: BC_STRING_MAX */
-#define USER_COLL_WEIGHTS_MAX 6 /* int: COLL_WEIGHTS_MAX */
-#define USER_EXPR_NEST_MAX 7 /* int: EXPR_NEST_MAX */
-#define USER_LINE_MAX 8 /* int: LINE_MAX */
-#define USER_RE_DUP_MAX 9 /* int: RE_DUP_MAX */
-#define USER_POSIX2_VERSION 10 /* int: POSIX2_VERSION */
-#define USER_POSIX2_C_BIND 11 /* int: POSIX2_C_BIND */
-#define USER_POSIX2_C_DEV 12 /* int: POSIX2_C_DEV */
-#define USER_POSIX2_CHAR_TERM 13 /* int: POSIX2_CHAR_TERM */
-#define USER_POSIX2_FORT_DEV 14 /* int: POSIX2_FORT_DEV */
-#define USER_POSIX2_FORT_RUN 15 /* int: POSIX2_FORT_RUN */
-#define USER_POSIX2_LOCALEDEF 16 /* int: POSIX2_LOCALEDEF */
-#define USER_POSIX2_SW_DEV 17 /* int: POSIX2_SW_DEV */
-#define USER_POSIX2_UPE 18 /* int: POSIX2_UPE */
-#define USER_STREAM_MAX 19 /* int: POSIX2_STREAM_MAX */
-#define USER_TZNAME_MAX 20 /* int: POSIX2_TZNAME_MAX */
-#define USER_MAXID 21 /* number of valid user ids */
-
-#define CTL_USER_NAMES { \
- { 0, 0 }, \
- { "cs_path", CTLTYPE_STRING }, \
- { "bc_base_max", CTLTYPE_INT }, \
- { "bc_dim_max", CTLTYPE_INT }, \
- { "bc_scale_max", CTLTYPE_INT }, \
- { "bc_string_max", CTLTYPE_INT }, \
- { "coll_weights_max", CTLTYPE_INT }, \
- { "expr_nest_max", CTLTYPE_INT }, \
- { "line_max", CTLTYPE_INT }, \
- { "re_dup_max", CTLTYPE_INT }, \
- { "posix2_version", CTLTYPE_INT }, \
- { "posix2_c_bind", CTLTYPE_INT }, \
- { "posix2_c_dev", CTLTYPE_INT }, \
- { "posix2_char_term", CTLTYPE_INT }, \
- { "posix2_fort_dev", CTLTYPE_INT }, \
- { "posix2_fort_run", CTLTYPE_INT }, \
- { "posix2_localedef", CTLTYPE_INT }, \
- { "posix2_sw_dev", CTLTYPE_INT }, \
- { "posix2_upe", CTLTYPE_INT }, \
- { "stream_max", CTLTYPE_INT }, \
- { "tzname_max", CTLTYPE_INT }, \
-}
-
-#define CTL_P1003_1B_ASYNCHRONOUS_IO 1 /* boolean */
-#define CTL_P1003_1B_MAPPED_FILES 2 /* boolean */
-#define CTL_P1003_1B_MEMLOCK 3 /* boolean */
-#define CTL_P1003_1B_MEMLOCK_RANGE 4 /* boolean */
-#define CTL_P1003_1B_MEMORY_PROTECTION 5 /* boolean */
-#define CTL_P1003_1B_MESSAGE_PASSING 6 /* boolean */
-#define CTL_P1003_1B_PRIORITIZED_IO 7 /* boolean */
-#define CTL_P1003_1B_PRIORITY_SCHEDULING 8 /* boolean */
-#define CTL_P1003_1B_REALTIME_SIGNALS 9 /* boolean */
-#define CTL_P1003_1B_SEMAPHORES 10 /* boolean */
-#define CTL_P1003_1B_FSYNC 11 /* boolean */
-#define CTL_P1003_1B_SHARED_MEMORY_OBJECTS 12 /* boolean */
-#define CTL_P1003_1B_SYNCHRONIZED_IO 13 /* boolean */
-#define CTL_P1003_1B_TIMERS 14 /* boolean */
-#define CTL_P1003_1B_AIO_LISTIO_MAX 15 /* int */
-#define CTL_P1003_1B_AIO_MAX 16 /* int */
-#define CTL_P1003_1B_AIO_PRIO_DELTA_MAX 17 /* int */
-#define CTL_P1003_1B_DELAYTIMER_MAX 18 /* int */
-#define CTL_P1003_1B_MQ_OPEN_MAX 19 /* int */
-#define CTL_P1003_1B_PAGESIZE 20 /* int */
-#define CTL_P1003_1B_RTSIG_MAX 21 /* int */
-#define CTL_P1003_1B_SEM_NSEMS_MAX 22 /* int */
-#define CTL_P1003_1B_SEM_VALUE_MAX 23 /* int */
-#define CTL_P1003_1B_SIGQUEUE_MAX 24 /* int */
-#define CTL_P1003_1B_TIMER_MAX 25 /* int */
-
-#define CTL_P1003_1B_MAXID 26
-
-#define CTL_P1003_1B_NAMES { \
- { 0, 0 }, \
- { "asynchronous_io", CTLTYPE_INT }, \
- { "mapped_files", CTLTYPE_INT }, \
- { "memlock", CTLTYPE_INT }, \
- { "memlock_range", CTLTYPE_INT }, \
- { "memory_protection", CTLTYPE_INT }, \
- { "message_passing", CTLTYPE_INT }, \
- { "prioritized_io", CTLTYPE_INT }, \
- { "priority_scheduling", CTLTYPE_INT }, \
- { "realtime_signals", CTLTYPE_INT }, \
- { "semaphores", CTLTYPE_INT }, \
- { "fsync", CTLTYPE_INT }, \
- { "shared_memory_objects", CTLTYPE_INT }, \
- { "synchronized_io", CTLTYPE_INT }, \
- { "timers", CTLTYPE_INT }, \
- { "aio_listio_max", CTLTYPE_INT }, \
- { "aio_max", CTLTYPE_INT }, \
- { "aio_prio_delta_max", CTLTYPE_INT }, \
- { "delaytimer_max", CTLTYPE_INT }, \
- { "mq_open_max", CTLTYPE_INT }, \
- { "pagesize", CTLTYPE_INT }, \
- { "rtsig_max", CTLTYPE_INT }, \
- { "nsems_max", CTLTYPE_INT }, \
- { "sem_value_max", CTLTYPE_INT }, \
- { "sigqueue_max", CTLTYPE_INT }, \
- { "timer_max", CTLTYPE_INT }, \
-}
-
-#ifdef KERNEL
-
-extern char machine[];
-extern char osrelease[];
-extern char ostype[];
-
-int kernel_sysctl(struct proc *p, int *name, u_int namelen, void *old,
- size_t *oldlenp, void *new, size_t newlen,
- size_t *retval);
-void sysctl_order_all(void);
-int userland_sysctl(struct proc *p, int *name, u_int namelen, void *old,
- size_t *oldlenp, int inkernel, void *new, size_t newlen,
- size_t *retval);
-
-#else /* !KERNEL */
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-int sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-int sysctlbyname __P((const char *, void *, size_t *, void *, size_t));
-__END_DECLS
-#endif /* KERNEL */
-
-#endif /* !_SYS_SYSCTL_H_ */
diff --git a/StdLib/Include/sys/syslimits.h b/StdLib/Include/sys/syslimits.h deleted file mode 100644 index 9515e8f570..0000000000 --- a/StdLib/Include/sys/syslimits.h +++ /dev/null @@ -1,67 +0,0 @@ -/** @file
- Platform specific values for <limits.h>.
-
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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. 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.
- *
- * syslimits.h 8.1 (Berkeley) 6/2/93
- * NetBSD: syslimits.h,v 1.23 2005/12/11 12:25:21 christos Exp
-**/
-
-#ifndef _SYS_SYSLIMITS_H_
-#define _SYS_SYSLIMITS_H_
-
-#include <sys/featuretest.h>
-
-#define ARG_MAX (2 * 1024) ///< Maximum bytes for an exec function.
-#define ARGC_MAX (64) ///< Maximum value for argc.
-
-#define MAX_INPUT 255 ///< Maximum bytes in terminal input.
-#define MAX_OUTPUT 255 ///< Maximum bytes in terminal output.
-#define NAME_MAX 255 ///< Maximum bytes in a file name.
-#ifndef OPEN_MAX
- #define OPEN_MAX 20 ///< Maximum open files per process.
-#endif
-#define PATH_MAX 1024 ///< Maximum bytes in pathname.
-#define PIPE_BUF 512 ///< Maximum bytes for atomic pipe writes.
-
-#ifndef CHILD_MAX
- #define CHILD_MAX 128 ///< Maximum simultaneous processes.
-#endif
-
-#define LOGIN_NAME_MAX 17 ///< Maximum login name length including the NUL.
-
-#endif /* !_SYS_SYSLIMITS_H_ */
diff --git a/StdLib/Include/sys/termios.h b/StdLib/Include/sys/termios.h deleted file mode 100644 index 671a5c06c0..0000000000 --- a/StdLib/Include/sys/termios.h +++ /dev/null @@ -1,428 +0,0 @@ -/** @file
- Macros and declarations for terminal oriented ioctls and
- I/O discipline.
-
- Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1988, 1989, 1993, 1994
- * 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.
- *
- * @(#)termios.h 8.3 (Berkeley) 3/28/94
- NetBSD: termios.h,v 1.29 2005/12/11 12:25:21 christos Exp
-**/
-#ifndef _SYS_TERMIOS_H_
-#define _SYS_TERMIOS_H_
-
-#include <sys/ansi.h>
-#include <sys/featuretest.h>
-
-/* Special Control Characters
- *
- * Index into c_cc[] character array.
- */
-typedef enum {
-/* Name Enabled by */
- VTABLEN, /* OXTABS - Length between TAB stops. */
- VEOF, /* ICANON */
- VEOL, /* ICANON */
- VERASE, /* ICANON */
- VKILL, /* ICANON */
- VINTR, /* ISIG */
- VQUIT, /* ISIG */
- VMIN, /* !ICANON */
- VTIME, /* !ICANON */
-
- /* Extensions from BSD and POSIX -- Not yet implemented for UEFI */
- VWERASE, /* IEXTEN, ICANON -- Erase the WORD to the left of the cursor */
- VREPRINT, /* IEXTEN, ICANON -- Re-draw the current line (input buffer) */
- VLNEXT, /* IEXTEN, ICANON -- Input the next character literally */
- VDISCARD, /* IEXTEN -- Toggle. Discards output display until toggled. */
-
- /* NCCS must always be the last member of this enum. */
- NCCS /* Number of control characters in c_cc[] */
-} CCC_INDEX;
-
-#define _POSIX_VDISABLE ((unsigned char)'\377')
-
-#define CCEQ(val, c) (c == val ? val != _POSIX_VDISABLE : 0)
-
-/*
- * Input flags - software input processing
- c_iflag
-*/
-#define INLCR 0x0001 /* map NL into CR */
-#define IGNCR 0x0002 /* ignore CR */
-#define ICRNL 0x0004 /* map CR to NL (ala CRMOD) */
-#define IGNSPEC 0x0008 /* Ignore function, control, and other non-printing special keys. */
-#ifdef HAVE_DA_SERIAL
- #define ISTRIP 0x0010 /* strip 8th bit off chars */
- #define IGNBRK 0x0020 /* ignore BREAK condition */
- #define BRKINT 0x0040 /* map BREAK to SIGINTR */
- #define IRESRV1 0x0080
- #define IGNPAR 0x0100 /* ignore (discard) parity errors */
- #define PARMRK 0x0200 /* mark parity and framing errors */
- #define INPCK 0x0400 /* enable checking of parity errors */
- #define IXON 0x0800 /* enable output flow control */
- #define IXOFF 0x1000 /* enable input flow control */
- #define IXANY 0x2000 /* any char will restart after stop */
-#endif /* HAVE_DA_SERIAL */
-
-/*
- * Output flags - software output processing
- c_oflag
- */
-#define OPOST 0x0001 /* enable following output processing */
-#define ONLCR 0x0002 /* map NL to CR-NL (ala CRMOD) */
-#define OXTABS 0x0004 /* expand tabs to spaces */
-#define ONOEOT 0x0008 /* discard EOT's (^D) on output */
-#define OCRNL 0x0010 /* map CR to NL */
-#define ONOCR 0x0020 /* discard CR's when on column 0 */
-#define ONLRET 0x0040 /* move to column 0 on CR */
-#define OCTRL 0x0080 /* Map control characters to the sequence ^C */
-
-/*
- * Control flags - hardware control of terminal
- c_cflag
- */
-#ifdef HAVE_DA_SERIAL
- #define CIGNORE 0x0001 /* ignore control flags */
- #define CSIZE 0x0300 /* character size mask */
- #define CS5 0x0000 /* 5 bits (pseudo) */
- #define CS6 0x0100 /* 6 bits */
- #define CS7 0x0200 /* 7 bits */
- #define CS8 0x0300 /* 8 bits */
- #define CSTOPB 0x0400 /* send 2 stop bits, else 1 */
- #define CREAD 0x0800 /* enable receiver */
- #define PARENB 0x1000 /* parity enable */
- #define PARODD 0x2000 /* odd parity, else even */
- #define HUPCL 0x4000 /* hang up on last close */
- #define CLOCAL 0x8000 /* ignore modem status lines */
-#endif
-
-
-/*
- * "Local" flags - dumping ground for other state
- *
- * Warning: some flags in this structure begin with
- * the letter "I" and look like they belong in the
- * input flag.
- */
-#define ECHO 0x0001 /* enable echoing */
-#define ECHOE 0x0002 /* visually erase chars */
-#define ECHOK 0x0004 /* echo NL after line kill */
-#define ECHONL 0x0008 /* echo NL even if ECHO is off */
-#define ISIG 0x0010 /* enable signals INTR, QUIT, [D]SUSP */
-#define ICANON 0x0020 /* canonicalize input lines */
-#define IEXTEN 0x0040 /* enable Extensions */
-#define SKIP_1 0x0100 /* Currently unused */
-#define TOSTOP 0x0200 /* stop background jobs on output */
-#define PENDIN 0x0400 /* re-echo input buffer at next read */
-#define NOFLSH 0x0800 /* don't flush output on signal */
-#define FLUSHO 0x1000 /* output being flushed (state) */
-
-typedef INT8 cc_t;
-typedef UINT16 tcflag_t;
-typedef UINT32 speed_t;
-
-struct termios {
- INT32 c_ispeed; /* input speed - Use a signed type instead of speed_t */
- INT32 c_ospeed; /* output speed - to ease integer promotion when used. */
- tcflag_t c_iflag; /* input flags */
- tcflag_t c_oflag; /* output flags */
- tcflag_t c_cflag; /* control flags */
- tcflag_t c_lflag; /* local flags */
- cc_t c_cc[NCCS]; /* control chars */
-};
-
-/*
- * Commands passed to tcsetattr() for setting the termios structure.
- */
-#define TCSANOW 0 /* make change immediate */
-#define TCSADRAIN 1 /* drain output, then change */
-#define TCSAFLUSH 2 /* drain output, flush input */
-#define TCSASOFT 0x10 /* flag - don't alter h.w. state */
-
-/*
- * Standard speeds
- */
-#define B0 0
-#define B50 50
-#define B75 75
-#define B110 110
-#define B134 134
-#define B150 150
-#define B200 200
-#define B300 300
-#define B600 600
-#define B1200 1200
-#define B1800 1800
-#define B2400 2400
-#define B4800 4800
-#define B9600 9600
-#define B19200 19200
-#define B38400 38400
-
-// Extended speed definitions
-#define B7200 7200
-#define B14400 14400
-#define B28800 28800
-#define B57600 57600
-#define B76800 76800
-#define B115200 115200
-#define B230400 230400
-#define B460800 460800
-#define B921600 921600
-
-#define TCIFLUSH 1
-#define TCOFLUSH 2
-#define TCIOFLUSH 3
-#define TCOOFF 1
-#define TCOON 2
-#define TCIOFF 3
-#define TCION 4
-
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-
-/** Get input baud rate.
-
- Extracts the input baud rate from the termios structure pointed to by the
- pTermios argument.
-
- @param[in] pTermios A pointer to the termios structure from which to extract
- the input baud rate.
-
- @return The value of the input speed is returned exactly as it is contained
- in the termios structure, without interpretation.
-**/
-speed_t cfgetispeed (const struct termios *);
-
-/** Get output baud rate.
-
- Extracts the output baud rate from the termios structure pointed to by the
- pTermios argument.
-
- @param[in] pTermios A pointer to the termios structure from which to extract
- the output baud rate.
-
- @return The value of the output speed is returned exactly as it is contained
- in the termios structure, without interpretation.
-**/
-speed_t cfgetospeed (const struct termios *);
-
-/** Set input baud rate.
-
- Replaces the input baud rate, in the termios structure pointed to by the
- pTermios argument, with the value of NewSpeed.
-
- @param[out] pTermios A pointer to the termios structure into which to set
- the input baud rate.
- @param[in] NewSpeed The new input baud rate.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EINVAL - The value of NewSpeed is outside the range of
- possible speed values as specified in <sys/termios.h>.
-**/
-int cfsetispeed (struct termios *, speed_t);
-
-/** Set output baud rate.
-
- Replaces the output baud rate, in the termios structure pointed to by the
- pTermios argument, with the value of NewSpeed.
-
- @param[out] pTermios A pointer to the termios structure into which to set
- the output baud rate.
- @param[in] NewSpeed The new output baud rate.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EINVAL - The value of NewSpeed is outside the range of
- possible speed values as specified in <sys/termios.h>.
-**/
-int cfsetospeed (struct termios *, speed_t);
-
-/** Get the parameters associated with an interactive IO device.
-
- Get the parameters associated with the device referred to by
- fd and store them into the termios structure referenced by pTermios.
-
- @param[in] fd The file descriptor for an open interactive IO device.
- @param[out] pTermios A pointer to a termios structure into which to store
- attributes of the interactive IO device.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EBADF - The fd argument is not a valid file descriptor.
- * ENOTTY - The file associated with fd is not an interactive IO device.
-**/
-int tcgetattr (int, struct termios *);
-
-/** Set the parameters associated with an interactive IO device.
-
- Set the parameters associated with the device referred to by
- fd to the values in the termios structure referenced by pTermios.
-
- Behavior is modified by the value of the OptAct parameter:
- * TCSANOW: The change shall occur immediately.
- * TCSADRAIN: The change shall occur after all output written to fd is
- transmitted. This action should be used when changing parameters which
- affect output.
- * TCSAFLUSH: The change shall occur after all output written to fd is
- transmitted, and all input so far received but not read shall be
- discarded before the change is made.
-
- @param[in] fd The file descriptor for an open interactive IO device.
- @param[in] OptAct Currently has no effect.
- @param[in] pTermios A pointer to a termios structure into which to retrieve
- attributes to set in the interactive IO device.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EBADF - The fd argument is not a valid file descriptor.
- * ENOTTY - The file associated with fd is not an interactive IO device.
-**/
-int tcsetattr (int, int, const struct termios *);
-
-/** Transmit pending output.
-
-
- @param[in] fd The file descriptor for an open interactive IO device.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EBADF - The fd argument is not a valid file descriptor.
- * ENOTTY - The file associated with fd is not an interactive IO device.
- * EINTR - A signal interrupted tcdrain().
- * ENOTSUP - This function is not supported.
-**/
-int tcdrain (int);
-
-/** Suspend or restart the transmission or reception of data.
-
- This function will suspend or resume transmission or reception of data on
- the file referred to by fd, depending on the value of Action.
-
- @param[in] fd The file descriptor of an open interactive IO device (terminal).
- @param[in] Action The action to be performed:
- * TCOOFF - Suspend output.
- * TCOON - Resume suspended output.
- * TCIOFF - If fd refers to an IIO device, transmit a
- STOP character, which is intended to cause the
- terminal device to stop transmitting data.
- * TCION - If fd refers to an IIO device, transmit a
- START character, which is intended to cause the
- terminal device to start transmitting data.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EBADF - The fd argument is not a valid file descriptor.
- * ENOTTY - The file associated with fd is not an interactive IO device.
- * EINVAL - The Action argument is not a supported value.
- * ENOTSUP - This function is not supported.
-**/
-int tcflow (int, int);
-
-/** Discard non-transmitted output data, non-read input data, or both.
-
-
- @param[in] fd The file descriptor for an open interactive IO device.
- @param[in] QueueSelector The IO queue to be affected:
- * TCIFLUSH - If fd refers to a device open for input, flush
- pending input. Otherwise error EINVAL.
- * TCOFLUSH - If fd refers to a device open for output,
- flush pending output. Otherwise error EINVAL.
- * TCIOFLUSH - If fd refers to a device open for both
- input and output, flush pending input and output.
- Otherwise error EINVAL.
-
- @retval 0 The operation completed successfully.
- @retval -1 An error occured and errno is set to indicate the error.
- * EBADF - The fd argument is not a valid file descriptor.
- * ENOTTY - The file associated with fd is not an interactive IO device.
- * EINVAL - The QueueSelector argument is not a supported value.
- * ENOTSUP - This function is not supported.
-**/
-int tcflush (int, int);
-
-//int tcsendbreak (int, int);
-//pid_t tcgetsid (int);
-
-//void cfmakeraw (struct termios *);
-//int cfsetspeed (struct termios *, speed_t);
-__END_DECLS
-
-/* Input values for UEFI Keyboard Scan Codes.
-
- The UEFI Keyboard Scan Codes are mapped into the upper range of the Unicode
- Private Use Area so that the characters can be inserted into the input stream
- and treated the same as any other character.
-
- These values are only used for input. If these codes are output to the
- console, or another interactive I/O device, the behavior will depend upon
- the current locale and UEFI character set loaded.
-*/
-typedef enum {
- TtySpecKeyMin = 0xF7F0,
- /* This area is reserved for use by internal I/O software.
- At least 4 values must exist between TtySpecKeyMin and TtyFunKeyMin.
- */
- TtyFunKeyMin = 0xF7FA,
- TtyKeyEject = 0xF7FA,
- TtyRecovery, TtyToggleDisplay, TtyHibernate,
- TtySuspend, TtyBrightnessDown, TtyBrightnessUp,
- TtyVolumeDown = 0xF87F,
- TtyVolumeUp, TtyMute,
- TtyF24 = 0xF88D,
- TtyF23, TtyF22, TtyF21, TtyF20,
- TtyF19, TtyF18, TtyF17, TtyF16,
- TtyF15, TtyF14, TtyF13,
- TtyEscape = 0xF8E9,
- TtyF12, TtyF11, TtyF10, TtyF9,
- TtyF8, TtyF7, TtyF6, TtyF5,
- TtyF4, TtyF3, TtyF2, TtyF1,
- TtyPageDown, TtyPageUp, TtyDelete, TtyInsert,
- TtyEnd, TtyHome, TtyLeftArrow, TtyRightArrow,
- TtyDownArrow,
- TtyUpArrow = 0xF8FF,
- TtyFunKeyMax = 0xF900
-} TtyFunKey;
-
-// Non-UEFI character definitions
-#define CHAR_EOT 0x0004 /* End of Text (EOT) character -- Unix End-of-File character */
-#define CHAR_SUB 0x001a /* MSDOS End-of-File character */
-#define CHAR_ESC 0x001b /* Escape (ESC) character */
-
-#endif /* !_SYS_TERMIOS_H_ */
diff --git a/StdLib/Include/sys/time.h b/StdLib/Include/sys/time.h deleted file mode 100644 index 2b05b116b7..0000000000 --- a/StdLib/Include/sys/time.h +++ /dev/null @@ -1,200 +0,0 @@ -/** @file
- System-specific declarations and macros related to time.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1982, 1986, 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.
-
- time.h 8.5 (Berkeley) 5/4/95
- NetBSD: time.h,v 1.56 2006/06/18 21:09:24 uwe Exp
- */
-#ifndef _SYS_TIME_H_
-#define _SYS_TIME_H_
-
-#include <Uefi.h>
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-/*
- * Traditional *nix structure returned by gettimeofday(2) system call,
- * and used in other calls.
- */
-struct timeval {
- LONG32 tv_sec; /* seconds */
- LONG32 tv_usec; /* and microseconds */
-};
-
-/*
- * Structure defined by POSIX.1b to be like a timeval.
- * This works within EFI since the times really are time_t.
- */
-struct timespec {
- time_t tv_sec; /* seconds */
- LONG32 tv_nsec; /* and nanoseconds */
-};
-
-#define TIMEVAL_TO_TIMESPEC(tv, ts) do { \
- (ts)->tv_sec = (tv)->tv_sec; \
- (ts)->tv_nsec = (tv)->tv_usec * 1000; \
-} while (/*CONSTCOND*/0)
-
-#define TIMESPEC_TO_TIMEVAL(tv, ts) do { \
- (tv)->tv_sec = (ts)->tv_sec; \
- (tv)->tv_usec = (ts)->tv_nsec / 1000; \
-} while (/*CONSTCOND*/0)
-
-/* Operations on timevals. */
-#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
-#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
-
-#define timercmp(tvp, uvp, cmp) \
- (((tvp)->tv_sec == (uvp)->tv_sec) ? \
- ((tvp)->tv_usec cmp (uvp)->tv_usec) : \
- ((tvp)->tv_sec cmp (uvp)->tv_sec))
-
-#define timeradd(tvp, uvp, vvp) \
- do { \
- (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
- (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
- if ((vvp)->tv_usec >= 1000000) { \
- (vvp)->tv_sec++; \
- (vvp)->tv_usec -= 1000000; \
- } \
- } while (/* CONSTCOND */ 0)
-
-#define timersub(tvp, uvp, vvp) \
- do { \
- (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
- (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
- if ((vvp)->tv_usec < 0) { \
- (vvp)->tv_sec--; \
- (vvp)->tv_usec += 1000000; \
- } \
- } while (/* CONSTCOND */ 0)
-
-/* Operations on timespecs. */
-#define timespecclear(tsp) (tsp)->tv_sec = (tsp)->tv_nsec = 0
-#define timespecisset(tsp) ((tsp)->tv_sec || (tsp)->tv_nsec)
-
-#define timespeccmp(tsp, usp, cmp) \
- (((tsp)->tv_sec == (usp)->tv_sec) ? \
- ((tsp)->tv_nsec cmp (usp)->tv_nsec) : \
- ((tsp)->tv_sec cmp (usp)->tv_sec))
-
-#define timespecadd(tsp, usp, vsp) \
- do { \
- (vsp)->tv_sec = (tsp)->tv_sec + (usp)->tv_sec; \
- (vsp)->tv_nsec = (tsp)->tv_nsec + (usp)->tv_nsec; \
- if ((vsp)->tv_nsec >= 1000000000L) { \
- (vsp)->tv_sec++; \
- (vsp)->tv_nsec -= 1000000000L; \
- } \
- } while (/* CONSTCOND */ 0)
-
-#define timespecsub(tsp, usp, vsp) \
- do { \
- (vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec; \
- (vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec; \
- if ((vsp)->tv_nsec < 0) { \
- (vsp)->tv_sec--; \
- (vsp)->tv_nsec += 1000000000L; \
- } \
- } while (/* CONSTCOND */ 0)
-
-/*
- * Names of the interval timers, and structure
- * defining a timer setting.
- */
-#define ITIMER_REAL 0
-#define ITIMER_VIRTUAL 1
-#define ITIMER_PROF 2
-
-struct itimerval {
- struct timeval it_interval; /* timer interval */
- struct timeval it_value; /* current value */
-};
-
-/*
- * Structure defined by POSIX.1b to be like a itimerval, but with
- * timespecs. Used in the timer_*() system calls.
- */
-struct itimerspec {
- struct timespec it_interval;
- struct timespec it_value;
-};
-
-#define CLOCK_REALTIME 0
-#define CLOCK_VIRTUAL 1
-#define CLOCK_PROF 2
-#define CLOCK_MONOTONIC 3
-
-#define TIMER_RELTIME 0x0 /* relative timer */
-#define TIMER_ABSTIME 0x1 /* absolute timer */
-
-#if 0
- #if (_POSIX_C_SOURCE - 0) >= 200112L || \
- (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \
- (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
- #include <sys/select.h>
- #endif
-#endif /* if 0 */
-
-#include <sys/EfiCdefs.h>
-#include <time.h>
-
-/* Functions useful for dealing with EFI */
-__BEGIN_DECLS
-
-/* Convert an EFI_TIME structure into a time_t value. */
-time_t Efi2Time( EFI_TIME *EfiBDtime);
-
-/* Convert a time_t value into an EFI_TIME structure.
- It is the caller's responsibility to free the returned structure.
-*/
-EFI_TIME * Time2Efi(time_t OTime);
-
-/* Convert an EFI_TIME structure into a C Standard tm structure. */
-void Efi2Tm( EFI_TIME *EfiBDtime, struct tm *NewTime);
-void Tm2Efi( struct tm *BdTime, EFI_TIME *ETime);
-
-/* BSD compatibility functions */
-int gettimeofday (struct timeval *tp, void *ignore);
-/* POSIX compatibility functions */
-int getitimer (int which, struct itimerval *value);
-int setitimer (int which, const struct itimerval *value, struct itimerval *ovalue);
-
-__END_DECLS
-
-#endif /* !_SYS_TIME_H_ */
diff --git a/StdLib/Include/sys/types.h b/StdLib/Include/sys/types.h deleted file mode 100644 index 54ae00836f..0000000000 --- a/StdLib/Include/sys/types.h +++ /dev/null @@ -1,301 +0,0 @@ -/** @file
- System type declarations.
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- 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:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - 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.
- - 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS 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.
-
- NetBSD: types.h,v 1.71.12.1 2007/09/27 13:40:47 xtraeme Exp
- types.h 8.4 (Berkeley) 1/21/94
-**/
-#ifndef _SYS_TYPES_H_
-#define _SYS_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/* Machine type dependent parameters. */
-#include <machine/types.h>
-
-#include <machine/ansi.h>
-#include <machine/int_types.h>
-
-
-#include <sys/ansi.h>
-
-#ifndef int8_t
- typedef __int8_t int8_t;
- #define int8_t __int8_t
-#endif
-
-#ifndef uint8_t
- typedef __uint8_t uint8_t;
- #define uint8_t __uint8_t
-#endif
-
-#ifndef int16_t
- typedef __int16_t int16_t;
- #define int16_t __int16_t
-#endif
-
-#ifndef uint16_t
- typedef __uint16_t uint16_t;
- #define uint16_t __uint16_t
-#endif
-
-#ifndef int32_t
- typedef __int32_t int32_t;
- #define int32_t __int32_t
-#endif
-
-#ifndef uint32_t
- typedef __uint32_t uint32_t;
- #define uint32_t __uint32_t
-#endif
-
-#ifndef int64_t
- typedef __int64_t int64_t;
- #define int64_t __int64_t
-#endif
-
-#ifndef uint64_t
- typedef __uint64_t uint64_t;
- #define uint64_t __uint64_t
-#endif
-
-typedef uint8_t u_int8_t;
-typedef uint16_t u_int16_t;
-typedef uint32_t u_int32_t;
-typedef uint64_t u_int64_t;
-
-#include <machine/endian.h>
-
-#if defined(_NETBSD_SOURCE)
- typedef UINT8 u_char;
- typedef UINT16 u_short;
- typedef UINTN u_int;
- typedef ULONGN u_long;
-
- typedef UINT8 unchar; /* Sys V compatibility */
- typedef UINT16 ushort; /* Sys V compatibility */
- typedef UINTN uint; /* Sys V compatibility */
- typedef ULONGN ulong; /* Sys V compatibility */
-
- typedef u_long cpuid_t;
-#endif
-
-typedef uint64_t u_quad_t; /* quads */
-typedef int64_t quad_t;
-typedef quad_t * qaddr_t;
-
-/*
- * The types longlong_t and u_longlong_t exist for use with the
- * Sun-derived XDR routines involving these types, and their usage
- * in other contexts is discouraged. Further note that these types
- * may not be equivalent to "long long" and "unsigned long long",
- * they are only guaranteed to be signed and unsigned 64-bit types
- * respectively. Portable programs that need 64-bit types should use
- * the C99 types int64_t and uint64_t instead.
- */
-
-typedef int64_t longlong_t; /* for XDR */
-typedef uint64_t u_longlong_t; /* for XDR */
-
-typedef int64_t blkcnt_t; /* fs block count */
-typedef uint32_t blksize_t; /* fs optimal block size */
-
-#ifndef fsblkcnt_t
- typedef __fsblkcnt_t fsblkcnt_t; /* fs block count (statvfs) */
- #define fsblkcnt_t __fsblkcnt_t
-#endif
-
-#ifndef fsfilcnt_t
- typedef __fsfilcnt_t fsfilcnt_t; /* fs file count */
- #define fsfilcnt_t __fsfilcnt_t
-#endif
-
-#ifndef caddr_t
- typedef __caddr_t caddr_t; /* core address */
- #define caddr_t __caddr_t
-#endif
-
-#ifdef __daddr_t
- typedef __daddr_t daddr_t; /* disk address */
- #undef __daddr_t
-#else
- typedef int64_t daddr_t; /* disk address */
-#endif
-
-typedef uint32_t dev_t; /* device number */
-typedef uint32_t fixpt_t; /* fixed point number */
-
-#ifndef gid_t
- typedef __gid_t gid_t; /* group id */
- #define gid_t __gid_t
-#endif
-
-typedef uint32_t id_t; /* group id, process id or user id */
-typedef uint64_t ino_t; /* inode number */
-typedef EFI_LONG_T key_t; /* IPC key (for Sys V IPC) */
-
-#ifndef mode_t
- typedef __mode_t mode_t; /* permissions */
- #define mode_t __mode_t
-#endif
-
-typedef uint32_t nlink_t; /* link count */
-
-#ifndef off_t
- typedef __off_t off_t; /* file offset */
- #define off_t __off_t
-#endif
-
-#ifndef pid_t
- typedef __pid_t pid_t; /* process id */
- #define pid_t __pid_t
-#endif
-typedef int32_t lwpid_t; /* LWP id */
-typedef quad_t rlim_t; /* resource limit */
-typedef int32_t segsz_t; /* segment size */
-typedef int32_t swblk_t; /* swap offset */
-
-#ifndef uid_t
- typedef __uid_t uid_t; /* user id */
- #define uid_t __uid_t
-#endif
-
-typedef int64_t dtime_t; /* on-disk time_t */
-
-#if defined(_LIBC)
- /*
- * semctl(2)'s argument structure. This is here for the benefit of
- * <sys/syscallargs.h>. It is not in the user's namespace in SUSv2.
- * The SUSv2 semctl(2) takes variable arguments.
- */
- union __semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- };
- /* For the same reason as above */
- #include <sys/stdint.h>
- typedef intptr_t semid_t;
-#endif /* _LIBC */
-
-/*
- * These belong in EfiSysCall.h, but are also placed here to ensure that
- * long arguments will be promoted to off_t if the program fails to
- * include that header or explicitly cast them to off_t.
- */
-#ifndef __OFF_T_SYSCALLS_DECLARED
- #define __OFF_T_SYSCALLS_DECLARED
- __BEGIN_DECLS
- extern off_t lseek (int, off_t, int);
- extern int truncate (const char *, off_t);
- extern int ftruncate (int, off_t);
- __END_DECLS
-#endif /* __OFF_T_SYSCALLS_DECLARED */
-
-#if defined(_NETBSD_SOURCE)
- /* Major, minor numbers, dev_t's. */
- #define major(x) ((int32_t)((((x) & 0x000fff00) >> 8)))
- #define minor(x) ((int32_t)((((x) & 0xfff00000) >> 12) | \
- (((x) & 0x000000ff) >> 0)))
- #define makedev(x,y) ((dev_t)((((x) << 8) & 0x000fff00) | \
- (((y) << 12) & 0xfff00000) | \
- (((y) << 0) & 0x000000ff)))
-#endif
-
-#if defined(_BSD_CLOCK_T_) && defined(_EFI_CLOCK_T)
- typedef _EFI_CLOCK_T clock_t;
- #undef _BSD_CLOCK_T_
- #undef _EFI_CLOCK_T
-#endif
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t;
- #define _SIZE_T
- #undef _BSD_SIZE_T_
- #undef _EFI_SIZE_T_
-#endif
-
-#ifdef _BSD_SSIZE_T_
- typedef _BSD_SSIZE_T_ ssize_t;
- #undef _BSD_SSIZE_T_
-#endif
-
-#if defined(_BSD_TIME_T_) && defined(_EFI_TIME_T)
- typedef _EFI_TIME_T time_t;
- #undef _BSD_TIME_T_
- #undef _EFI_TIME_T
-#endif
-
-#ifdef _BSD_CLOCKID_T_
- typedef _BSD_CLOCKID_T_ clockid_t;
- #undef _BSD_CLOCKID_T_
-#endif
-
-#ifdef _BSD_TIMER_T_
- typedef _BSD_TIMER_T_ timer_t;
- #undef _BSD_TIMER_T_
-#endif
-
-#ifdef _BSD_SUSECONDS_T_
- typedef _BSD_SUSECONDS_T_ suseconds_t;
- #undef _BSD_SUSECONDS_T_
-#endif
-
-#ifdef _BSD_USECONDS_T_
- typedef _BSD_USECONDS_T_ useconds_t;
- #undef _BSD_USECONDS_T_
-#endif
-
-#ifdef _NETBSD_SOURCE
- #include <sys/fd_set.h>
- #define NBBY __NBBY
-
- typedef struct kauth_cred *kauth_cred_t;
-
-#endif
-
-#if 0
- #if !defined(_KERNEL) && !defined(_STANDALONE)
- #if (_POSIX_C_SOURCE - 0L) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
- defined(_NETBSD_SOURCE)
- #include <pthread_types.h>
- #endif
- #endif
-#endif /* if 0 */
-
-#endif /* !_SYS_TYPES_H_ */
diff --git a/StdLib/Include/sys/uio.h b/StdLib/Include/sys/uio.h deleted file mode 100644 index e6d667ba30..0000000000 --- a/StdLib/Include/sys/uio.h +++ /dev/null @@ -1,124 +0,0 @@ -/* $NetBSD: uio.h,v 1.34 2006/03/01 12:38:32 yamt Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 1993, 1994
- * 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.
- *
- * @(#)uio.h 8.5 (Berkeley) 2/22/94
- */
-
-#ifndef _SYS_UIO_H_
-#define _SYS_UIO_H_
-
-#ifdef _KERNEL
-#ifndef __UIO_EXPOSE
-#define __UIO_EXPOSE
-#endif
-#endif
-
-#include <machine/ansi.h>
-#include <sys/featuretest.h>
-
-#ifdef _EFI_SIZE_T_
-typedef _EFI_SIZE_T_ size_t;
-#undef _EFI_SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-
-#ifdef _BSD_SSIZE_T_
-typedef _BSD_SSIZE_T_ ssize_t;
-#undef _BSD_SSIZE_T_
-#endif
-
-struct iovec {
- void *iov_base; /* Base address. */
- size_t iov_len; /* Length. */
-};
-
-#if defined(_NETBSD_SOURCE)
-#include <sys/ansi.h>
-
-#ifndef off_t
-typedef __off_t off_t; /* file offset */
-#define off_t __off_t
-#endif
-
-enum uio_rw { UIO_READ, UIO_WRITE };
-
-/* Segment flag values. */
-enum uio_seg {
- UIO_USERSPACE, /* from user data space */
- UIO_SYSSPACE /* from system space */
-};
-
-#ifdef __UIO_EXPOSE
-
-struct uio {
- struct iovec *uio_iov; /* pointer to array of iovecs */
- int uio_iovcnt; /* number of iovecs in array */
- off_t uio_offset; /* offset into file this uio corresponds to */
- size_t uio_resid; /* residual i/o count */
- enum uio_rw uio_rw; /* see above */
- struct vmspace *uio_vmspace;
-};
-#define UIO_SETUP_SYSSPACE(uio) uio_setup_sysspace(uio)
-
-#endif /* __UIO_EXPOSE */
-
-/*
- * Limits
- */
-/* Deprecated: use IOV_MAX from <limits.h> instead. */
-#define UIO_MAXIOV 1024 /* max 1K of iov's */
-#endif /* _NETBSD_SOURCE */
-
-#ifdef _KERNEL
-#include <sys/mallocvar.h>
-
-MALLOC_DECLARE(M_IOV);
-
-#define UIO_SMALLIOV 8 /* 8 on stack, else malloc */
-
-void uio_setup_sysspace(struct uio *);
-#endif
-
-#ifndef _KERNEL
-#include <sys/EfiCdefs.h>
-
-__BEGIN_DECLS
-#if defined(_NETBSD_SOURCE)
-ssize_t preadv(int, const struct iovec *, int, off_t);
-ssize_t pwritev(int, const struct iovec *, int, off_t);
-#endif /* _NETBSD_SOURCE */
-ssize_t readv(int, const struct iovec *, int);
-ssize_t writev(int, const struct iovec *, int);
-__END_DECLS
-#else
-int ureadc(int, struct uio *);
-#endif /* !_KERNEL */
-
-#endif /* !_SYS_UIO_H_ */
diff --git a/StdLib/Include/sys/unistd.h b/StdLib/Include/sys/unistd.h deleted file mode 100644 index 274e29f096..0000000000 --- a/StdLib/Include/sys/unistd.h +++ /dev/null @@ -1,95 +0,0 @@ -/** @file
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1989, 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.
- *
- * @(#)unistd.h 8.2 (Berkeley) 1/7/94
- NetBSD: unistd.h,v 1.35 2006/08/14 18:17:48 rpaulo Exp
-**/
-#ifndef _SYS_UNISTD_H_
-#define _SYS_UNISTD_H_
-
-#include <sys/featuretest.h>
-
-/* compile-time symbolic constants */
-
-/*
- * According to POSIX 1003.1:
- * "The saved set-user-ID capability allows a program to regain the
- * effective user ID established at the last exec call."
- * However, the setuid/setgid function as specified by POSIX 1003.1 does
- * not allow changing the effective ID from the super-user without also
- * changed the saved ID, so it is impossible to get super-user privileges
- * back later. Instead we provide this feature independent of the current
- * effective ID through the seteuid/setegid function. In addition, we do
- * not use the saved ID as specified by POSIX 1003.1 in setuid/setgid,
- * because this would make it impossible for a set-user-ID executable
- * owned by a user other than the super-user to permanently revoke its
- * extra privileges.
- */
-#ifdef _NOT_AVAILABLE
-#define _POSIX_SAVED_IDS /* saved set-user-ID and set-group-ID */
-#endif
-
-#define _POSIX_VERSION 199009L
-#define _POSIX2_VERSION 199212L
-
-/* execution-time symbolic constants */
- /* timers */
-#define _POSIX_TIMERS 200112L
-
-/* Always ensure that these are consistent with <fcntl.h>!
- whence values for lseek(2).
-*/
-#ifndef SEEK_SET
-#define SEEK_SET 0 /**< set file offset to offset */
-#endif
-#ifndef SEEK_CUR
-#define SEEK_CUR 1 /**< set file offset to current plus offset */
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2 /**< set file offset to EOF plus offset */
-#endif
-
-/* whence values for lseek(2); renamed by POSIX 1003.1 */
-#define L_SET SEEK_SET
-#define L_INCR SEEK_CUR
-#define L_XTND SEEK_END
-
-/* configurable system strings */
-#define _CS_PATH 1
-
-#endif /* !_SYS_UNISTD_H_ */
diff --git a/StdLib/Include/sys/wait.h b/StdLib/Include/sys/wait.h deleted file mode 100644 index 64200aa999..0000000000 --- a/StdLib/Include/sys/wait.h +++ /dev/null @@ -1,170 +0,0 @@ -/* $NetBSD: wait.h,v 1.24 2005/12/11 12:25:21 christos Exp $ */
-
-/*
- * Copyright (c) 1982, 1986, 1989, 1993, 1994
- * 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.
- *
- * @(#)wait.h 8.2 (Berkeley) 7/10/94
- */
-#ifndef _SYS_WAIT_H_
-#define _SYS_WAIT_H_
-
-#include <sys/featuretest.h>
-#include <sys/types.h>
-
-/*
- * This file holds definitions relevent to the wait4 system call
- * and the alternate interfaces that use it (wait, wait3, waitpid).
- */
-
-/*
- * Macros to test the exit status returned by wait
- * and extract the relevant values.
- */
-#define _W_INT(w) (*(int *)(void *)&(w)) /* convert union wait to int */
-
-#define _WSTATUS(x) (_W_INT(x) & 0177)
-#define _WSTOPPED 0177 /* _WSTATUS if process is stopped */
-#define WIFSTOPPED(x) (_WSTATUS(x) == _WSTOPPED)
-#define WSTOPSIG(x) ((int)(((unsigned int)_W_INT(x)) >> 8) & 0xff)
-#define WIFSIGNALED(x) (_WSTATUS(x) != _WSTOPPED && _WSTATUS(x) != 0)
-#define WTERMSIG(x) (_WSTATUS(x))
-#define WIFEXITED(x) (_WSTATUS(x) == 0)
-#define WEXITSTATUS(x) ((int)(((unsigned int)_W_INT(x)) >> 8) & 0xff)
-#define WCOREFLAG 0200
-#define WCOREDUMP(x) (_W_INT(x) & WCOREFLAG)
-
-#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
-#define W_STOPCODE(sig) ((sig) << 8 | _WSTOPPED)
-
-/*
- * Option bits for the third argument of wait4. WNOHANG causes the
- * wait to not hang if there are no stopped or terminated processes, rather
- * returning an error indication in this case (pid==0). WUNTRACED
- * indicates that the caller should receive status about untraced children
- * which stop due to signals. If children are stopped and a wait without
- * this option is done, it is as though they were still running... nothing
- * about them is returned.
- */
-#define WNOHANG 0x00000001 /* don't hang in wait */
-#define WUNTRACED 0x00000002 /* tell about stopped,
- untraced children */
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#define WALTSIG 0x00000004 /* wait for processes that exit
- with an alternate signal (i.e.
- not SIGCHLD) */
-#define WALLSIG 0x00000008 /* wait for processes that exit
- with any signal, i.e. SIGCHLD
- and alternates */
-
-/*
- * These are the Linux names of some of the above flags, for compatibility
- * with Linux's clone(2) API.
- */
-#define __WCLONE WALTSIG
-#define __WALL WALLSIG
-
-/*
- * These bits are used in order to support SVR4 (etc) functionality
- * without replicating sys_wait4 5 times.
- */
-#define WNOWAIT 0x00010000 /* Don't mark child 'P_WAITED' */
-#define WNOZOMBIE 0x00020000 /* Ignore zombies */
-#endif /* _XOPEN_SOURCE || _NETBSD_SOURCE */
-
-/* POSIX extensions and 4.2/4.3 compatibility: */
-
-/*
- * Tokens for special values of the "pid" parameter to wait4.
- */
-#define WAIT_ANY (-1) /* any process */
-#define WAIT_MYPGRP 0 /* any process in my process group */
-
-/*
- * Deprecated:
- * Structure of the information in the status word returned by wait4.
- * If w_stopval==WSTOPPED, then the second structure describes
- * the information returned, else the first.
- */
-union wait {
- int w_status; /* used in syscall */
- /*
- * Terminated process status.
- */
- struct {
-#if BYTE_ORDER == LITTLE_ENDIAN
- unsigned int w_Termsig:7, /* termination signal */
- w_Coredump:1, /* core dump indicator */
- w_Retcode:8, /* exit code if w_termsig==0 */
- w_Filler:16; /* upper bits filler */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- unsigned int w_Filler:16, /* upper bits filler */
- w_Retcode:8, /* exit code if w_termsig==0 */
- w_Coredump:1, /* core dump indicator */
- w_Termsig:7; /* termination signal */
-#endif
- } w_T;
- /*
- * Stopped process status. Returned
- * only for traced children unless requested
- * with the WUNTRACED option bit.
- */
- struct {
-#if BYTE_ORDER == LITTLE_ENDIAN
- unsigned int w_Stopval:8, /* == W_STOPPED if stopped */
- w_Stopsig:8, /* signal that stopped us */
- w_Filler:16; /* upper bits filler */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- unsigned int w_Filler:16, /* upper bits filler */
- w_Stopsig:8, /* signal that stopped us */
- w_Stopval:8; /* == W_STOPPED if stopped */
-#endif
- } w_S;
-};
-#define w_termsig w_T.w_Termsig
-#define w_coredump w_T.w_Coredump
-#define w_retcode w_T.w_Retcode
-#define w_stopval w_S.w_Stopval
-#define w_stopsig w_S.w_Stopsig
-
-#define WSTOPPED _WSTOPPED
-
-__BEGIN_DECLS
-pid_t wait(int *);
-
-#if 0 /* Normally declared here but not implemented for UEFI. */
-struct rusage; /* forward declaration */
-
-pid_t waitpid(pid_t, int *, int);
-pid_t wait3(int *, int, struct rusage *);
-pid_t wait4(pid_t, int *, int, struct rusage *);
-#endif
-__END_DECLS
-
-#endif /* !_SYS_WAIT_H_ */
diff --git a/StdLib/Include/sysexits.h b/StdLib/Include/sysexits.h deleted file mode 100644 index e18348d39a..0000000000 --- a/StdLib/Include/sysexits.h +++ /dev/null @@ -1,122 +0,0 @@ -/** @file contains exit code definitions for exiting systems applications.
-
- These exit codes are an extension beyond the two values specified by
- ISO/IEC 9899:199409 and defined in <stdlib.h>.
-
- * Copyright (c) 1987, 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.
- *
- * @(#)sysexits.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYSEXITS_H_
-#define _SYSEXITS_H_
-
-/*
- * SYSEXITS.H -- Exit status codes for system programs.
- *
- * This include file attempts to categorize possible error
- * exit statuses for system programs, notably delivermail
- * and the Berkeley network.
- *
- * Error numbers begin at EX__BASE to reduce the possibility of
- * clashing with other exit statuses that random programs may
- * already return. The meaning of the codes is approximately
- * as follows:
- *
- * EX_USAGE -- The command was used incorrectly, e.g., with
- * the wrong number of arguments, a bad flag, a bad
- * syntax in a parameter, or whatever.
- * EX_DATAERR -- The input data was incorrect in some way.
- * This should only be used for user's data & not
- * system files.
- * EX_NOINPUT -- An input file (not a system file) did not
- * exist or was not readable. This could also include
- * errors like "No message" to a mailer (if it cared
- * to catch it).
- * EX_NOUSER -- The user specified did not exist. This might
- * be used for mail addresses or remote logins.
- * EX_NOHOST -- The host specified did not exist. This is used
- * in mail addresses or network requests.
- * EX_UNAVAILABLE -- A service is unavailable. This can occur
- * if a support program or file does not exist. This
- * can also be used as a catchall message when something
- * you wanted to do doesn't work, but you don't know
- * why.
- * EX_SOFTWARE -- An internal software error has been detected.
- * This should be limited to non-operating system related
- * errors as possible.
- * EX_OSERR -- An operating system error has been detected.
- * This is intended to be used for such things as "cannot
- * fork", "cannot create pipe", or the like. It includes
- * things like getuid returning a user that does not
- * exist in the passwd file.
- * EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
- * etc.) does not exist, cannot be opened, or has some
- * sort of error (e.g., syntax error).
- * EX_CANTCREAT -- A (user specified) output file cannot be
- * created.
- * EX_IOERR -- An error occurred while doing I/O on some file.
- * EX_TEMPFAIL -- temporary failure, indicating something that
- * is not really an error. In sendmail, this means
- * that a mailer (e.g.) could not create a connection,
- * and the request should be reattempted later.
- * EX_PROTOCOL -- the remote system returned something that
- * was "not possible" during a protocol exchange.
- * EX_NOPERM -- You did not have sufficient permission to
- * perform the operation. This is not intended for
- * file system problems, which should use NOINPUT or
- * CANTCREAT, but rather for higher level permissions.
- */
-
-#define EX_OK 0 /* successful termination */
-
-#define EX__BASE 64 /* base value for error messages */
-
-#define EX_USAGE 64 /* command line usage error */
-#define EX_DATAERR 65 /* data format error */
-#define EX_NOINPUT 66 /* cannot open input */
-#define EX_NOUSER 67 /* addressee unknown */
-#define EX_NOHOST 68 /* host name unknown */
-#define EX_UNAVAILABLE 69 /* service unavailable */
-#define EX_SOFTWARE 70 /* internal software error */
-#define EX_OSERR 71 /* system error (e.g., can't fork) */
-#define EX_OSFILE 72 /* critical OS file missing */
-#define EX_CANTCREAT 73 /* can't create (user) output file */
-#define EX_IOERR 74 /* input/output error */
-#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
-#define EX_PROTOCOL 76 /* remote error in protocol */
-#define EX_NOPERM 77 /* permission denied */
-#define EX_CONFIG 78 /* configuration error */
-
-#define EX__MAX 78 /* maximum listed value */
-
-#endif /* !_SYSEXITS_H_ */
diff --git a/StdLib/Include/time.h b/StdLib/Include/time.h deleted file mode 100644 index ecef1e2f61..0000000000 --- a/StdLib/Include/time.h +++ /dev/null @@ -1,434 +0,0 @@ -/** @file
- The header <time.h> defines two macros, and declares several types and
- functions for manipulating time. Many functions deal with a calendar time
- that represents the current date (according to the Gregorian calendar) and
- time. Some functions deal with local time, which is the calendar time
- expressed for some specific time zone, and with Daylight Saving Time, which
- is a temporary change in the algorithm for determining local time. The local
- time zone and Daylight Saving Time are implementation-defined.
-
- The macros defined are NULL; and CLOCKS_PER_SEC which expands to an
- expression with type clock_t (described below) that is the number per second
- of the value returned by the clock function.
-
- The types declared are size_t along with clock_t and time_t which are
- arithmetic types capable of representing times; and struct tm which holds
- the components of a calendar time, called the broken-down time.
-
- The range and precision of times representable in clock_t and time_t are
- implementation-defined. The tm structure shall contain at least the following
- members, in any order. The semantics of the members and their normal ranges
- are expressed in the comments.
- - int tm_sec; // seconds after the minute - [0, 60]
- - int tm_min; // minutes after the hour - [0, 59]
- - int tm_hour; // hours since midnight - [0, 23]
- - int tm_mday; // day of the month - [1, 31]
- - int tm_mon; // months since January - [0, 11]
- - int tm_year; // years since 1900
- - int tm_wday; // days since Sunday - [0, 6]
- - int tm_yday; // days since January 1 - [0, 365]
- - int tm_isdst; // Daylight Saving Time flag
-
- The value of tm_isdst is positive if Daylight Saving Time is in effect, zero
- if Daylight Saving Time is not in effect, and negative if the information
- is not available.
-
- The following macros are defined in this file:<BR>
- @verbatim
- NULL
- CLOCKS_PER_SEC The number of values per second returned by the clock function.
- @endverbatim
-
- The following types are defined in this file:<BR>
- @verbatim
- size_t Unsigned integer type of the result of the sizeof operator.
- clock_t Arithmetic type capable of representing a time from the clock function.
- time_t Arithmetic type capable of representing a time.
- struct tm Holds the components of a calendar time; or broken-down time.
- @endverbatim
-
- The following functions are declared in this file:<BR>
- @verbatim
- ############### Time Manipulation Functions
- clock_t clock (void);
- double difftime (time_t time1, time_t time0);
- time_t mktime (struct tm *timeptr);
- time_t time (time_t *timer);
-
- ################# Time Conversion Functions
- char * asctime (const struct tm *timeptr);
- char * ctime (const time_t *timer);
- struct tm * gmtime (const time_t *timer);
- time_t timegm (struct tm*);
- struct tm * localtime (const time_t *timer);
- size_t strftime (char * __restrict s, size_t maxsize,
- const char * __restrict format,
- const struct tm * __restrict timeptr);
- char * strptime (const char *, const char * format, struct tm*);
- @endverbatim
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _TIME_H
-#define _TIME_H
-#include <sys/EfiCdefs.h>
-
-#define CLOCKS_PER_SEC __getCPS()
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t;
- #undef _EFI_SIZE_T_
- #undef _BSD_SIZE_T_
-#endif
-
-#ifdef _EFI_CLOCK_T
- /** An arithmetic type capable of representing values returned by clock(); **/
- typedef _EFI_CLOCK_T clock_t;
- #undef _EFI_CLOCK_T
-#endif
-
-#ifdef _EFI_TIME_T
- /** An arithmetic type capable of representing values returned as calendar time
- values, such as that returned by mktime();
- **/
- typedef _EFI_TIME_T time_t;
- #undef _EFI_TIME_T
-#endif
-
-/** Value added to tm_year to get the full year value. TM_YEAR_BASE + 110 --> 2010 **/
-#define TM_YEAR_BASE 1900
-
-/** @{
- Values for the tm_wday member of struct tm.
-**/
-#define TM_SUNDAY 0
-#define TM_MONDAY 1
-#define TM_TUESDAY 2
-#define TM_WEDNESDAY 3
-#define TM_THURSDAY 4
-#define TM_FRIDAY 5
-#define TM_SATURDAY 6
-/*@}*/
-
-/** @{
- Values for the tm_mon member of struct tm.
-**/
-#define TM_JANUARY 0
-#define TM_FEBRUARY 1
-#define TM_MARCH 2
-#define TM_APRIL 3
-#define TM_MAY 4
-#define TM_JUNE 5
-#define TM_JULY 6
-#define TM_AUGUST 7
-#define TM_SEPTEMBER 8
-#define TM_OCTOBER 9
-#define TM_NOVEMBER 10
-#define TM_DECEMBER 11
-/*@}*/
-
-/** A structure holding the components of a calendar time, called the
- broken-down time. The first nine (9) members are as mandated by the
- C95 standard. Additional fields have been added for EFI support.
-**/
-struct tm {
- int tm_year; // years since 1900
- int tm_mon; // months since January [0, 11]
- int tm_mday; // day of the month [1, 31]
- int tm_hour; // hours since midnight [0, 23]
- int tm_min; // minutes after the hour [0, 59]
- int tm_sec; // seconds after the minute [0, 60]
- int tm_wday; // days since Sunday [0, 6]
- int tm_yday; // days since January 1 [0, 365]
- int tm_isdst; // Daylight Saving Time flag
- int tm_zoneoff; // EFI TimeZone offset, -1440 to 1440 or 2047
- int tm_daylight; // EFI Daylight flags
- UINT32 tm_Nano; // EFI Nanosecond value
-};
-
-/* ############### Time Manipulation Functions ########################## */
-
-/** The clock function determines the processor time used.
-
- @return The clock function returns the implementation's best
- approximation to the processor time used by the program since the
- beginning of an implementation-defined era related only to the
- program invocation. To determine the time in seconds, the value
- returned by the clock function should be divided by the value of
- the macro CLOCKS_PER_SEC. If the processor time used is not
- available or its value cannot be represented, the function
- returns the value (clock_t)(-1).
-**/
-clock_t clock(void);
-
-/** Compute the difference between two calendar times: time1 - time0.
-
- @param[in] time1 An arithmetic calendar time.
- @param[in] time2 Another arithmetic calendar time.
-
- @return The difference between the two times expressed in seconds.
-**/
-double difftime(time_t time1, time_t time0);
-
-/** Convert a broken-down time into an arithmetic calendar time.
-
- The mktime function converts the broken-down time, expressed as local time,
- in the structure pointed to by timeptr into a calendar time value with the
- same encoding as that of the values returned by the time function. The
- original values of the tm_wday and tm_yday components of the structure are
- ignored, and the original values of the other components are not
- restricted to the ranges indicated above. On successful completion,
- the values of the tm_wday and tm_yday components of the structure are set
- appropriately, and the other components are set to represent the specified
- calendar time, but with their values forced to the ranges indicated above;
- the final value of tm_mday is not set until tm_mon and tm_year
- are determined.
-
- @param[in] timeptr Pointer to a broken-down time to be converted.
-
- @return The mktime function returns the specified calendar time encoded
- as a value of type time_t. If the calendar time cannot be
- represented, the function returns the value (time_t)(-1).
-**/
-time_t mktime(struct tm *timeptr);
-
-/** The time function determines the current calendar time.
-
- The encoding of the value is unspecified and undocumented.
-
- @param[out] timer An optional pointer to an object in which to
- store the calendar time.
-
- @return The time function returns the implementation's best approximation
- of the current calendar time. The value (time_t)(-1) is returned
- if the calendar time is not available. If timer is not a null
- pointer, the return value is also assigned to the object it
- points to.
-**/
-time_t time(time_t *timer);
-
-/* ################# Time Conversion Functions ########################## */
-
-/** The asctime function converts the broken-down time in the structure pointed
- to by timeptr into a string in the form<BR>
- @verbatim
- Sun Sep 16 01:03:52 1973\n\0
- @endverbatim
-
- @param[in] timeptr A pointer to a broken-down time to convert.
-
- @return The asctime function returns a pointer to the string.
-**/
-char * asctime(const struct tm *timeptr);
-
-/** The ctime function converts the calendar time pointed to by timer to a local
- time in the form of a string. It is equivalent to asctime(localtime(timer))
-
- @param[in] timer Pointer to a calendar time value to convert into a
- string representation.
-
- @return The ctime function returns the pointer returned by the asctime
- function with that broken-down time as argument.
-**/
-char * ctime(const time_t *timer);
-
-/** The gmtime function converts the calendar time pointed to by timer into a
- broken-down time, expressed as UTC.
-
- @param[in] timer Pointer to a calendar time value to convert into a
- broken-down time.
-
- @return The gmtime function returns a pointer to the broken-down time,
- or a null pointer if the specified time cannot be converted to UTC.
-**/
-struct tm * gmtime(const time_t *timer);
-
-/** The timegm function is the opposite of gmtime.
-
- @param[in] tm Pointer to a broken-down time to convert into a
- calendar time.
-
- @return The calendar time expressed as UTC.
-**/
-time_t timegm(struct tm*);
-
-/** The localtime function converts the calendar time pointed to by timer into
- a broken-down time, expressed as local time.
-
- @param[in] timer Pointer to a calendar time value to be converted.
-
- @return The localtime function returns a pointer to the broken-down time,
- or a null pointer if the specified time cannot be converted to
- local time.
-**/
-struct tm * localtime(const time_t *timer);
-
-/** The strftime function places characters into the array pointed to by s as
- controlled by the string pointed to by format. The format shall be a
- multibyte character sequence, beginning and ending in its initial shift
- state. The format string consists of zero or more conversion specifiers
- and ordinary multibyte characters. A conversion specifier consists of
- a % character, possibly followed by an E or O modifier character
- (described below), followed by a character that determines the behavior of
- the conversion specifier.
-
- All ordinary multibyte characters (including the terminating null
- character) are copied unchanged into the array. If copying takes place
- between objects that overlap, the behavior is undefined. No more than
- maxsize characters are placed into the array. 3 Each conversion specifier
- is replaced by appropriate characters as described in the following list.
- The appropriate characters are determined using the LC_TIME category of
- the current locale and by the values of zero or more members of the
- broken-down time structure pointed to by timeptr, as specified in brackets
- in the description. If any of the specified values is outside the normal
- range, the characters stored are unspecified.
-
- %a is replaced by the locale's abbreviated weekday name. [tm_wday]
- %A is replaced by the locale's full weekday name. [tm_wday]
- %b is replaced by the locale's abbreviated month name. [tm_mon]
- %B is replaced by the locale's full month name. [tm_mon]
- %c is replaced by the locale's appropriate date and time representation.
- %C is replaced by the year divided by 100 and truncated to an integer,
- as a decimal number (00-99). [tm_year]
- %d is replaced by the day of the month as a decimal number (01-31). [tm_mday]
- %D is equivalent to "%m/%d/%y". [tm_mon, tm_mday, tm_year]
- %e is replaced by the day of the month as a decimal number (1-31);
- a single digit is preceded by a space. [tm_mday]
- %F is equivalent to "%Y-%m-%d" (the ISO 8601 date format).
- [tm_year, tm_mon, tm_mday]
- %g is replaced by the last 2 digits of the week-based year (see below) as
- a decimal number (00-99). [tm_year, tm_wday, tm_yday]
- %G is replaced by the week-based year (see below) as a decimal number
- (e.g., 1997). [tm_year, tm_wday, tm_yday]
- %h is equivalent to "%b". [tm_mon]
- %H is replaced by the hour (24-hour clock) as a decimal number (00-23). [tm_hour]
- %I is replaced by the hour (12-hour clock) as a decimal number (01-12). [tm_hour]
- %j is replaced by the day of the year as a decimal number (001-366). [tm_yday]
- %m is replaced by the month as a decimal number (01-12). [tm_mon]
- %M is replaced by the minute as a decimal number (00-59). [tm_min]
- %n is replaced by a new-line character.
- %p is replaced by the locale's equivalent of the AM/PM designations
- associated with a 12-hour clock. [tm_hour]
- %r is replaced by the locale's 12-hour clock time. [tm_hour, tm_min, tm_sec]
- %R is equivalent to "%H:%M". [tm_hour, tm_min]
- %S is replaced by the second as a decimal number (00-60). [tm_sec]
- %t is replaced by a horizontal-tab character.
- %T is equivalent to "%H:%M:%S" (the ISO 8601 time format).
- [tm_hour, tm_min, tm_sec]
- %u is replaced by the ISO 8601 weekday as a decimal number (1-7),
- where Monday is 1. [tm_wday]
- %U is replaced by the week number of the year (the first Sunday as the
- first day of week 1) as a decimal number (00-53). [tm_year, tm_wday, tm_yday]
- %V is replaced by the ISO 8601 week number (see below) as a decimal number
- (01-53). [tm_year, tm_wday, tm_yday]
- %w is replaced by the weekday as a decimal number (0-6), where Sunday is 0.
- [tm_wday]
- %W is replaced by the week number of the year (the first Monday as the
- first day of week 1) as a decimal number (00-53). [tm_year, tm_wday, tm_yday]
- %x is replaced by the locale's appropriate date representation.
- %X is replaced by the locale's appropriate time representation.
- %y is replaced by the last 2 digits of the year as a decimal
- number (00-99). [tm_year]
- %Y is replaced by the year as a decimal number (e.g., 1997). [tm_year]
- %z is replaced by the offset from UTC in the ISO 8601 format "-0430"
- (meaning 4 hours 30 minutes behind UTC, west of Greenwich), or by no
- characters if no time zone is determinable. [tm_isdst]
- %Z is replaced by the locale's time zone name or abbreviation, or by no
- characters if no time zone is determinable. [tm_isdst]
- %% is replaced by %.
-
- Some conversion specifiers can be modified by the inclusion of an E or O
- modifier character to indicate an alternative format or specification.
- If the alternative format or specification does not exist for the current
- locale, the modifier is ignored. %Ec is replaced by the locale's
- alternative date and time representation.
-
- %EC is replaced by the name of the base year (period) in the locale's
- alternative representation.
- %Ex is replaced by the locale's alternative date representation.
- %EX is replaced by the locale's alternative time representation.
- %Ey is replaced by the offset from %EC (year only) in the locale's
- alternative representation.
- %EY is replaced by the locale's full alternative year representation.
- %Od is replaced by the day of the month, using the locale's alternative
- numeric symbols (filled as needed with leading zeros, or with leading
- spaces if there is no alternative symbol for zero).
- %Oe is replaced by the day of the month, using the locale's alternative
- numeric symbols (filled as needed with leading spaces).
- %OH is replaced by the hour (24-hour clock), using the locale's
- alternative numeric symbols.
- %OI is replaced by the hour (12-hour clock), using the locale's
- alternative numeric symbols.
- %Om is replaced by the month, using the locale's alternative numeric symbols.
- %OM is replaced by the minutes, using the locale's alternative numeric symbols.
- %OS is replaced by the seconds, using the locale's alternative numeric symbols.
- %Ou is replaced by the ISO 8601 weekday as a number in the locale's
- alternative representation, where Monday is 1.
- %OU is replaced by the week number, using the locale's alternative numeric symbols.
- %OV is replaced by the ISO 8601 week number, using the locale's alternative
- numeric symbols.
- %Ow is replaced by the weekday as a number, using the locale's alternative
- numeric symbols.
- %OW is replaced by the week number of the year, using the locale's
- alternative numeric symbols.
- %Oy is replaced by the last 2 digits of the year, using the locale's
- alternative numeric symbols.
-
- %g, %G, and %V give values according to the ISO 8601 week-based year. In
- this system, weeks begin on a Monday and week 1 of the year is the week
- that includes January 4th, which is also the week that includes the first
- Thursday of the year, and is also the first week that contains at least
- four days in the year. If the first Monday of January is the 2nd, 3rd, or
- 4th, the preceding days are part of the last week of the preceding year;
- thus, for Saturday 2nd January 1999, %G is replaced by 1998 and %V is
- replaced by 53. If December 29th, 30th, or 31st is a Monday, it and any
- following days are part of week 1 of the following year. Thus, for Tuesday
- 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
-
- If a conversion specifier is not one of the above, the behavior is undefined.
-
- In the "C" locale, the E and O modifiers are ignored and the replacement
- strings for the following specifiers are:
- %a the first three characters of %A.
- %A one of "Sunday", "Monday", ... , "Saturday".
- %b the first three characters of %B.
- %B one of "January", "February", ... , "December".
- %c equivalent to "%a %b %e %T %Y".
- %p one of "AM" or "PM".
- %r equivalent to "%I:%M:%S %p".
- %x equivalent to "%m/%d/%y".
- %X equivalent to %T.
- %Z implementation-defined.
-
- @param s Pointer to the buffer in which to store the result.
- @param maxsize Maximum number of characters to put into buffer s.
- @param format Format string, as described above.
- @param timeptr Pointer to a broken-down time structure containing the
- time to format.
-
- @return If the total number of resulting characters including the
- terminating null character is not more than maxsize, the
- strftime function returns the number of characters placed into
- the array pointed to by s not including the terminating null
- character. Otherwise, zero is returned and the contents of the
- array are indeterminate.
-**/
-size_t strftime( char * __restrict s, size_t maxsize,
- const char * __restrict format,
- const struct tm * __restrict timeptr);
-
-char *strptime(const char *, const char * format, struct tm*);
-
-
-/* ################# Implementation Functions ########################### */
-
-clock_t __getCPS(void);
-
-#endif /* _TIME_H */
diff --git a/StdLib/Include/unistd.h b/StdLib/Include/unistd.h deleted file mode 100644 index b2fd92358a..0000000000 --- a/StdLib/Include/unistd.h +++ /dev/null @@ -1,242 +0,0 @@ -/** @file
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _UNISTD_H_
-#define _UNISTD_H_
-
-//#include <machine/ansi.h>
-//#include <machine/int_types.h>
-//#include <sys/featuretest.h>
-//#include <sys/types.h>
-#include <sys/unistd.h>
-#include <sys/EfiSysCall.h>
-
-#define F_ULOCK 0
-#define F_LOCK 1
-#define F_TLOCK 2
-#define F_TEST 3
-
-/* access function */
-#define F_OK 0 /* test for existence of file */
-#define X_OK 0x01 /* test for execute or search permission */
-#define W_OK 0x02 /* test for write permission */
-#define R_OK 0x04 /* test for read permission */
-
-
-__BEGIN_DECLS
-int dup(int);
-int rename(const char *, const char *);
-
-/* Functions implemented for compatibility. */
-int getopt(int, char * const [], const char *);
-extern char *optarg; /* getopt(3) external variables */
-extern int optind;
-pid_t getpgrp(void);
-pid_t tcgetpgrp(int);
-char *getpass(const char *);
-int usleep(useconds_t);
-unsigned int sleep(unsigned int);
-char *basename(char *path);
-
-#ifndef GETCWD_DECLARED
- /** Gets the current working directory.
-
- The getcwd() function shall place an absolute pathname of the current
- working directory in the array pointed to by buf, and return buf. The
- pathname copied to the array shall contain no components that are
- symbolic links. The size argument is the size in bytes of the character
- array pointed to by the buf argument.
-
- @param[in,out] Buf The buffer to fill.
- @param[in] BufSize The number of bytes in buffer.
-
- @retval NULL The function failed.
- @retval NULL Buf was NULL.
- @retval NULL Size was 0.
- @return buf The function completed successfully. See errno for info.
- **/
- char *getcwd(char *Buf, size_t BufSize);
- #define GETCWD_DECLARED
-#endif
-
-#ifndef CHDIR_DECLARED
- /** Change the current working directory.
-
- The chdir() function shall cause the directory named by the pathname
- pointed to by the path argument to become the current working directory;
- that is, the starting point for path searches for pathnames not beginning
- with '/'.
-
- @param[in] Path The new path to set.
-
- @todo Add non-shell CWD changing.
- **/
- int chdir(const char *Path);
-#define CHDIR_DECLARED
-#endif
-
-/** Determine accessibility of a file.
- The access() function checks the file, named by the pathname pointed to by
- the Path argument, for accessibility according to the bit pattern contained
- in Mode.
-
- The value of Mode is either the bitwise-inclusive OR of the access
- permissions to be checked (R_OK, W_OK, X_OK) or the existence test (F_OK).
-
- If Path ends in '/' or '\\', the target must be a directory, otherwise it doesn't matter.
- A file is executable if it is NOT a directory and it ends in ".efi".
-
- @param[in] Path Path or name of the file to be checked.
- @param[in] Mode Access permissions to check for.
-
- @retval 0 Successful completion.
- @retval -1 File is not accessible with the given Mode. The error condition
- is indicated by errno. Values of errno specific to the access
- function include: EACCES, ENOENT, ENOTDIR, ENAMETOOLONG
-**/
-int access(const char *Path, int Mode);
-pid_t getpid(void);
-
-// Networking
-long gethostid(void);
-int gethostname(char *, size_t);
-int getdomainname(char *, size_t);
-int setdomainname(const char *, size_t);
-int sethostid(long);
-int sethostname(const char *, size_t);
-
-/* Stub functions implemented for porting ease.
- These functions always fail or return NULL.
-*/
-__aconst char *getlogin(void);
-pid_t fork(void);
-uid_t getuid(void);
-
-// For Future implementation
-ssize_t pread(int, void *, size_t, off_t);
-ssize_t pwrite(int, const void *, size_t, off_t);
-int syscall(int, ...);
-
-#if 0 // The following functions are not implemented
-__dead void _exit(int) __attribute__((__noreturn__));
-unsigned int alarm(unsigned int);
-int chown(const char *, uid_t, gid_t);
-size_t confstr(int, char *, size_t);
-int execl(const char *, const char *, ...);
-int execle(const char *, const char *, ...);
-int execlp(const char *, const char *, ...);
-int execv(const char *, char * const *);
-int execve(const char *, char * const *, char * const *);
-int execvp(const char *, char * const *);
-long fpathconf(int, int);
-gid_t getegid(void);
-uid_t geteuid(void);
-gid_t getgid(void);
-int getgroups(int, gid_t []);
-pid_t getppid(void);
-int link(const char *, const char *);
-long pathconf(const char *, int);
-int pause(void);
-int pipe(int *);
-int setgid(gid_t);
-int setpgid(pid_t, pid_t);
-pid_t setsid(void);
-int setuid(uid_t);
-long sysconf(int);
-
-int tcsetpgrp(int, pid_t);
-__aconst char *ttyname(int);
-
-extern int opterr;
-extern int optopt;
-extern int optreset;
-extern char *suboptarg;
-
-int setegid(gid_t);
-int seteuid(uid_t);
-int fdatasync(int);
-int fsync(int);
-int ttyname_r(int, char *, size_t);
-int chroot(const char *);
-int nice(int);
-__aconst char *crypt(const char *, const char *);
-int encrypt(char *, int);
-pid_t getsid(pid_t);
-
-#ifndef intptr_t
-typedef __intptr_t intptr_t;
-#define intptr_t __intptr_t
-#endif
-
-int brk(void *);
-int fchdir(int);
-int fchown(int, uid_t, gid_t);
-int getdtablesize(void);
-__pure int getpagesize(void); /* legacy */
-pid_t getpgid(pid_t);
-int lchown(const char *, uid_t, gid_t);
-int lockf(int, int, off_t);
-ssize_t readlink(const char * __restrict, char * __restrict, size_t);
-void *sbrk(intptr_t);
-int setregid(gid_t, gid_t);
-int setreuid(uid_t, uid_t);
-void swab(const void *, void *, size_t);
-int symlink(const char *, const char *);
-void sync(void);
-useconds_t ualarm(useconds_t, useconds_t);
-pid_t vfork(void) __RENAME(__vfork14);
-
-/*
- * Implementation-defined extensions
- */
-int acct(const char *);
-int closefrom(int);
-int des_cipher(const char *, char *, long, int);
-int des_setkey(const char *);
-void endusershell(void);
-int exect(const char *, char * const *, char * const *);
-int fchroot(int);
-int fsync_range(int, int, off_t, off_t);
-int getgrouplist(const char *, gid_t, gid_t *, int *);
-int getgroupmembership(const char *, gid_t, gid_t *, int, int *);
-mode_t getmode(const void *, mode_t);
-int getsubopt(char **, char * const *, char **);
-__aconst char *getusershell(void);
-int initgroups(const char *, gid_t);
-int iruserok(uint32_t, int, const char *, const char *);
-int issetugid(void);
-int nfssvc(int, void *);
-int profil(char *, size_t, u_long, u_int);
-void psignal(unsigned int, const char *);
-int rcmd(char **, int, const char *, const char *, const char *, int *);
-int revoke(const char *);
-int rresvport(int *);
-int ruserok(const char *, int, const char *, const char *);
-int setgroups(int, const gid_t *);
-int setlogin(const char *);
-void *setmode(const char *);
-int setrgid(gid_t);
-int setruid(uid_t);
-void setusershell(void);
-void strmode(mode_t, char *);
-__aconst char *strsignal(int);
-int swapctl(int, void *, int);
-quad_t __syscall(quad_t, ...);
-int undelete(const char *);
-int rcmd_af(char **, int, const char *, const char *, const char *, int *, int);
-int rresvport_af(int *, int);
-int iruserok_sa(const void *, int, int, const char *, const char *);
-#endif /* Unimplemented functions. */
-
-__END_DECLS
-
-#endif /* !_UNISTD_H_ */
diff --git a/StdLib/Include/utime.h b/StdLib/Include/utime.h deleted file mode 100644 index 744881c15a..0000000000 --- a/StdLib/Include/utime.h +++ /dev/null @@ -1,66 +0,0 @@ -/** @file
-
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * 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.
- *
- * @(#)utime.h 8.1 (Berkeley) 6/2/93
- NetBSD: utime.h,v 1.8 2005/02/03 04:39:32 perry Exp
- */
-
-#ifndef _UTIME_H_
-#define _UTIME_H_
-
-#include <sys/cdefs.h>
-#include <machine/ansi.h>
-#include <sys/time.h>
-
-#if defined(_BSD_TIME_T_) && defined(_EFI_TIME_T)
-typedef _EFI_TIME_T time_t;
-#undef _BSD_TIME_T_
-#undef _EFI_TIME_T
-#endif
-
-struct utimbuf {
- time_t actime; /* Access time */
- time_t modtime; /* Modification time */
-};
-
-__BEGIN_DECLS
- int utime (const char *path, const struct utimbuf *times);
- int utimes (const char *path, const struct timeval *times);
-__END_DECLS
-
-#endif /* !_UTIME_H_ */
diff --git a/StdLib/Include/wchar.h b/StdLib/Include/wchar.h deleted file mode 100644 index 3acc2a4b8d..0000000000 --- a/StdLib/Include/wchar.h +++ /dev/null @@ -1,1552 +0,0 @@ -/** @file
- Extended multibyte and wide character utilities.
-
- Within this implementation, multibyte characters are represented using the
- Unicode UTF-8 encoding and wide characters are represented using the
- 16-bit UCS-2 encoding.
-
- Unless explicitly stated otherwise, if the execution of a function declared
- in this file causes copying to take place between objects that overlap, the
- behavior is undefined.
-
- The following macros are defined in this file:<BR>
- @verbatim
- NULL Actually defined in <sys/EfiCdefs.h>
- WCHAR_MIN Minimum value of a wide char.
- WCHAR_MAX Maximum value of a wide char.
- WEOF Wide char version of end-of-file.
- @endverbatim
-
- The following types are defined in this file:<BR>
- @verbatim
- size_t Unsigned integer type of the result of the sizeof operator.
- wchar_t Type of wide characters.
- wint_t Type capable of holding all wchar_t values and WEOF.
- mbstate_t Type of object holding multibyte conversion state.
- struct tm Incomplete declaration of the broken-down time structure.
- @endverbatim
-
- The following functions are declared in this file:<BR>
-@verbatim
- ############### Formatted Input/Output Functions
- int fwprintf (FILE * __restrict stream,
- const wchar_t * __restrict format, ...);
- int fwscanf (FILE * __restrict stream,
- const wchar_t * __restrict format, ...);
- int swprintf (wchar_t * __restrict s, size_t n,
- const wchar_t * __restrict format, ...);
- int swscanf (const wchar_t * __restrict s,
- const wchar_t * __restrict format, ...);
- int vfwprintf (FILE * __restrict stream,
- const wchar_t * __restrict format, va_list arg);
- int vfwscanf (FILE * __restrict stream,
- const wchar_t * __restrict format, va_list arg);
- int vswprintf (wchar_t * __restrict s, size_t n,
- const wchar_t * __restrict format, va_list arg);
- int vswscanf (const wchar_t * __restrict s,
- const wchar_t * __restrict format, va_list arg);
- int vwprintf (const wchar_t * __restrict format, va_list arg);
- int vwscanf (const wchar_t * __restrict format, va_list arg);
- int wprintf (const wchar_t * __restrict format, ...);
- int wscanf (const wchar_t * __restrict format, ...);
-
- ################### Input/Output Functions
- wint_t fgetwc (FILE *stream);
- wchar_t *fgetws (wchar_t * __restrict S, int n,
- FILE * __restrict stream);
- wint_t fputwc (wchar_t c, FILE *stream);
- int fputws (const wchar_t * __restrict S,
- FILE * __restrict stream);
- int fwide (FILE *stream, int mode);
- wint_t getwc (FILE *stream);
- wint_t getwchar (void);
- wint_t putwc (wchar_t c, FILE *stream);
- wint_t putwchar (wchar_t c);
- wint_t ungetwc (wint_t c, FILE *stream);
-
- ################### Numeric Conversions
- double wcstod (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr);
- float wcstof (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr);
- long double wcstold (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr);
- long int wcstol (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base);
- long long int wcstoll (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base);
- unsigned long int wcstoul (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base);
- unsigned long long int wcstoull (const wchar_t * __restrict nptr,
- wchar_t ** __restrict endptr, int base);
-
- ####################### String Copying
- wchar_t *wcscpy (wchar_t * __restrict s1,
- const wchar_t * __restrict s2);
- wchar_t *wcsncpy (wchar_t * __restrict s1,
- const wchar_t * __restrict s2, size_t n);
- wchar_t *wmemcpy (wchar_t * __restrict s1,
- const wchar_t * __restrict s2, size_t n);
- wchar_t *wmemmove (wchar_t *s1, const wchar_t *s2, size_t n);
-
- ################### String Concatenation
- wchar_t *wcscat (wchar_t * __restrict s1,
- const wchar_t * __restrict s2);
- wchar_t *wcsncat (wchar_t * __restrict s1,
- const wchar_t * __restrict s2, size_t n);
-
- ##################### String Comparison
- int wcscmp (const wchar_t *s1, const wchar_t *s2);
- int wcscoll (const wchar_t *s1, const wchar_t *s2);
- int wcsncmp (const wchar_t *s1, const wchar_t *s2, size_t n);
- size_t wcsxfrm (wchar_t * __restrict s1,
- const wchar_t * __restrict s2, size_t n);
- int wmemcmp (const wchar_t *s1, const wchar_t *s2, size_t n);
-
- ##################### String Searching
- wchar_t *wcschr (const wchar_t *S, wchar_t c);
- size_t wcscspn (const wchar_t *s1, const wchar_t *s2);
- wchar_t *wcspbrk (const wchar_t *s1, const wchar_t *s2);
- wchar_t *wcsrchr (const wchar_t *S, wchar_t c);
- size_t wcsspn (const wchar_t *s1, const wchar_t *s2);
- wchar_t *wcsstr (const wchar_t *s1, const wchar_t *s2);
- wchar_t *wcstok (wchar_t * __restrict s1,
- const wchar_t * __restrict s2,
- wchar_t ** __restrict ptr);
- wchar_t *wmemchr (const wchar_t *S, wchar_t c, size_t n);
-
- ################### String Manipulation
- size_t wcslen (const wchar_t *S);
- wchar_t *wmemset (wchar_t *S, wchar_t c, size_t n);
-
- ################# Date and Time Conversion
- size_t wcsftime (wchar_t * __restrict S, size_t maxsize,
- const wchar_t * __restrict format,
- const struct tm * __restrict timeptr);
-
- ############# Multibyte <--> Wide Character Conversion
- wint_t btowc (int c);
- int wctob (wint_t c);
- int mbsinit (const mbstate_t *ps);
-
- ####### Restartable Multibyte <--> Wide Character Conversion
- size_t mbrlen (const char * __restrict S, size_t n,
- mbstate_t * __restrict ps);
- size_t mbrtowc (wchar_t * __restrict pwc, const char * __restrict S,
- size_t n, mbstate_t * __restrict ps);
- size_t wcrtomb (char * __restrict S, wchar_t wc,
- mbstate_t * __restrict ps);
- size_t mbsrtowcs (wchar_t * __restrict dst,
- const char ** __restrict src, size_t len,
- mbstate_t * __restrict ps);
- size_t wcsrtombs (char * __restrict dst,
- const wchar_t ** __restrict src,
- size_t len, mbstate_t * __restrict ps);
-@endverbatim
-
- @note Properly constructed programs will take the following into consideration:
- - wchar_t and wint_t may be the same integer type.
- - WEOF might be a different value than that of EOF.
- - WEOF might not be negative.
- - mbstate_t objects are not intended to be inspected by programs.
-
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _WCHAR_H
-#define _WCHAR_H
-#include <sys/EfiCdefs.h>
-#include <machine/ansi.h>
-#include <machine/limits.h>
-#include <stdarg.h>
-#include <stdio.h>
-
-#if defined(_MSC_VER)
- #pragma warning ( disable : 4142 )
-#endif
-
-#ifdef _EFI_SIZE_T_
- typedef _EFI_SIZE_T_ size_t; /**< Unsigned integer type of the result of the sizeof operator. */
- #undef _BSD_SIZE_T_
- #undef _EFI_SIZE_T_
-#endif
-
-#ifndef __cplusplus
- #ifdef _EFI_WCHAR_T
- /** An integer type capable of representing all distinct codes in the
- UCS-2 encoding supported by UEFI.
- **/
- typedef _EFI_WCHAR_T wchar_t;
- #undef _BSD_WCHAR_T_
- #undef _EFI_WCHAR_T
- #endif
-#endif
-
-#ifdef _BSD_MBSTATE_T_
- /** mbstate_t is an opaque object, that is not an array type, used to keep
- conversion state during multibyte stream conversions.
- */
- typedef _BSD_MBSTATE_T_ mbstate_t;
- #undef _BSD_MBSTATE_T_
-#endif
-
-#ifdef _EFI_WINT_T
- /** wint_t is an integer type unchanged by default argument promotions that can
- hold any value corresponding to members of the extended character set, as
- well as at least one value that does not correspond to any member of the
- extended character set: WEOF.
- */
- typedef _EFI_WINT_T wint_t;
- #undef _BSD_WINT_T_
- #undef _EFI_WINT_T
-#endif
-
-#ifndef WCHAR_MIN
- /** @{
- Since wchar_t is an unsigned 16-bit value, it has a minimum value of 0, and
- a maximum value defined by __USHRT_MAX (65535 on IA processors).
- */
- #define WCHAR_MIN 0
- #define WCHAR_MAX __USHRT_MAX
- /*@}*/
-#endif
-
-#ifndef WEOF
- /** WEOF expands to a constant expression of type wint_t whose value does not
- correspond to any member of the extended character set. It is accepted
- (and returned) by several functions, declared in this file, to indicate
- end-of-file, that is, no more input from a stream. It is also used as a
- wide character value that does not correspond to any member of the
- extended character set.
- */
- #define WEOF ((wint_t)-1)
-#endif
-
-/* limits of wint_t -- These are NOT specified by ISO/IEC 9899 */
-#ifndef WINT_MIN
- #define WINT_MIN _EFI_WINT_MIN /* wint_t */
- #define WINT_MAX _EFI_WINT_MAX /* wint_t */
-#endif
-
-/** Type struct tm is declared here as an incomplete structure type for use as an argument
- type by the wcsftime function. The full structure declaration is in <time.h>.
-*/
-struct tm;
-
-/* ############### Formatted Input/Output Functions ##################### */
-
-/** The fwprintf function writes output to the stream pointed to by stream,
- under control of the wide string pointed to by format that specifies how
- subsequent arguments are converted for output. If there are insufficient
- arguments for the format, the behavior is undefined. If the format is
- exhausted while arguments remain, the excess arguments are evaluated
- (as always) but are otherwise ignored. The fwprintf function returns
- when the end of the format string is encountered.
-
- The format is composed of zero or more directives: ordinary wide characters
- (not %), which are copied unchanged to the output stream; and conversion
- specifications, each of which results in fetching zero or more subsequent
- arguments, converting them, if applicable, according to the corresponding
- conversion specifier, and then writing the result to the output stream.
-
- Each conversion specification is introduced by the wide character %. After
- the %, the following appear in sequence:
- * Zero or more flags (in any order) that modify the meaning of the
- conversion specification.
- * An optional minimum field width. If the converted value has fewer wide
- characters than the field width, it is padded with spaces (by default)
- on the left (or right, if the left adjustment flag, described later,
- has been given) to the field width. The field width takes the form of
- an asterisk * (described later) or a nonnegative decimal integer.
- * An optional precision that gives the minimum number of digits to appear
- for the d, i, o, u, x, and X conversions, the number of digits to
- appear after the decimal-point wide character for e, E, f, and F
- conversions, the maximum number of significant digits for the g and G
- conversions, or the maximum number of wide characters to be written
- for s conversions. The precision takes the form of a period (.)
- followed either by an asterisk * (described later) or by an optional
- decimal integer; if only the period is specified, the precision is
- taken as zero. If a precision appears with any other conversion
- specifier, the behavior is undefined.
- * An optional length modifier that specifies the size of the argument.
- * A conversion specifier wide character that specifies the type of
- conversion to be applied.
-
- As noted above, a field width, or precision, or both, may be indicated by
- an asterisk. In this case, an int argument supplies the field width or
- precision. The arguments specifying field width, or precision, or both,
- must appear (in that order) before the argument (if any) to be converted.
- A negative field width argument is taken as a - flag followed by a positive
- field width. A negative precision argument is taken as if the precision
- were omitted.
-
- The flag wide characters and their meanings are:<BR>
- - The result of the conversion is left-justified within the field.
- (It is right-justified if this flag is not specified.)
- + The result of a signed conversion always begins with a plus or minus
- sign. (It begins with a sign only when a negative value is converted
- if this flag is not specified.)
- space If the first wide character of a signed conversion is not a sign, or
- if a signed conversion results in no wide characters, a space is
- prefixed to the result. If the space and + flags both appear, the
- space flag is ignored.
- # The result is converted to an "alternative form". For o conversion,
- it increases the precision, if and only if necessary, to force the
- first digit of the result to be a zero (if the value and precision
- are both 0, a single 0 is printed). For x (or X) conversion, a
- nonzero result has 0x (or 0X) prefixed to it. For e, E, f, F, g,
- and G conversions, the result of converting a floating-point number
- always contains a decimal-point wide character, even if no digits
- follow it. (Normally, a decimal-point wide character appears in the
- result of these conversions only if a digit follows it.) For g and G
- conversions, trailing zeros are not removed from the result. For
- other conversions, the behavior is undefined.
- 0 For d, i, o, u, x, X, e, E, f, F, g, and G conversions, leading zeros
- (following any indication of sign or base) are used to pad to the
- field width rather than performing space padding, except when
- converting an infinity or NaN. If the 0 and - flags both appear,
- the 0 flag is ignored. For d, i, o, u, x, and X conversions, if a
- precision is specified, the 0 flag is ignored. For other conversions,
- the behavior is undefined.
-
- The length modifiers and their meanings are:<BR>
- hh Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a signed char or unsigned char argument (the argument
- will have been promoted according to the integer promotions, but its
- value shall be converted to signed char or unsigned char before
- printing); or that a following n conversion specifier applies to a
- pointer to a signed char argument.
- h Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a short int or unsigned short int argument (the argument
- will have been promoted according to the integer promotions, but its
- value shall be converted to short int or unsigned short int before
- printing); or that a following n conversion specifier applies to a
- pointer to a short int argument.
- l (ell) Specifies that a following d, i, o, u, x, or X conversion
- specifier applies to a long int or unsigned long int argument;
- that a following n conversion specifier applies to a pointer to a
- long int argument; that a following c conversion specifier
- applies to a wint_t argument; that a following s conversion
- specifier applies to a pointer to a wchar_t argument; or has no
- effect on a following e, E, f, F, g, or G conversion specifier.
- ll (ell-ell) Specifies that a following d, i, o, u, x, or X conversion
- specifier applies to a long long int or unsigned long long int
- argument; or that a following n conversion specifier applies
- to a pointer to a long long int argument.
- j Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to an intmax_t or uintmax_t argument; or that a following
- n conversion specifier applies to a pointer to an intmax_t argument.
- z Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a size_t or the corresponding signed integer type
- argument; or that a following n conversion specifier applies to a
- pointer to a signed integer type corresponding to size_t argument.
- t Specifies that a following d, i, o, u, x, or X conversion specifier
- applies to a ptrdiff_t or the corresponding unsigned integer type
- argument; or that a following n conversion specifier applies to a
- pointer to a ptrdiff_t argument.
- L Specifies that a following a, A, e, E, f, F, g, or G conversion
- specifier applies to a long double argument.
-
- If a length modifier appears with any conversion specifier other than as
- specified above, the behavior is undefined.
-
- The conversion specifiers and their meanings are:<BR>
- d,i The int argument is converted to signed decimal in the
- style [-]dddd. The precision specifies the minimum number of digits
- to appear; if the value being converted can be represented in fewer
- digits, it is expanded with leading zeros. The default precision
- is 1. The result of converting a zero value with a precision of
- zero is no wide characters.
- o,u,x,X The unsigned int argument is converted to unsigned octal (o),
- unsigned decimal (u), or unsigned hexadecimal notation (x or X) in
- the style dddd; the letters abcdef are used for x conversion and
- the letters ABCDEF for X conversion. The precision specifies the
- minimum number of digits to appear; if the value being converted
- can be represented in fewer digits, it is expanded with leading
- zeros. The default precision is 1. The result of converting a zero
- value with a precision of zero is no wide characters.
- f,F A double argument representing a floating-point number is converted
- to decimal notation in the style [-]ddd.ddd, where the number of
- digits after the decimal-point wide character is equal to the
- precision specification. If the precision is missing, it is taken
- as 6; if the precision is zero and the # flag is not specified, no
- decimal-point wide character appears. If a decimal-point wide
- character appears, at least one digit appears before it. The value
- is rounded to the appropriate number of digits.<BR>
- A double argument representing an infinity is converted to [-]inf.
- A double argument representing a NaN is converted to [-]nan.
- The F conversion specifier produces INF or NAN instead
- of inf or nan, respectively.
- e,E A double argument representing a floating-point number is converted
- in the style [-]d.ddd e +/- dd, where there is one digit (which is
- nonzero if the argument is nonzero) before the decimal-point wide
- character and the number of digits after it is equal to the
- precision; if the precision is missing, it is taken as 6; if the
- precision is zero and the # flag is not specified, no decimal-point
- wide character appears. The value is rounded to the appropriate
- number of digits. The E conversion specifier produces a number with
- E instead of e introducing the exponent. The exponent always
- contains at least two digits, and only as many more digits as
- necessary to represent the exponent. If the value is zero, the
- exponent is zero. A double argument representing an infinity or NaN
- is converted in the style of an f or F conversion specifier.
- g,G A double argument representing a floating-point number is converted
- in style f or e (or in style F or E in the case of a G conversion
- specifier), depending on the value converted and the precision.
- Let P equal the precision if nonzero, 6 if the precision is
- omitted, or 1 if the precision is zero. Then, if a conversion with
- style E would have an exponent of X:
- - if P > X = -4, the conversion is with style f (or F) and
- precision P - (X + 1).
- - otherwise, the conversion is with style e (or E) and
- precision P - 1.
- Finally, unless the # flag is used, any trailing zeros are removed
- from the fractional portion of the result and the decimal-point
- wide character is removed if there is no fractional portion
- remaining. A double argument representing an infinity or NaN is
- converted in the style of an f or F conversion specifier.
- c If no l length modifier is present, the int argument is converted
- to a wide character as if by calling btowc and the resulting wide
- character is written. If an l length modifier is present, the
- wint_t argument is converted to wchar_t and written.
- s If no l length modifier is present, the argument shall be a pointer
- to the initial element of a character array containing a multibyte
- character sequence beginning in the initial shift state. Characters
- from the array are converted as if by repeated calls to the mbrtowc
- function, with the conversion state described by an mbstate_t
- object initialized to zero before the first multibyte character is
- converted, and written up to (but not including) the terminating
- null wide character. If the precision is specified, no more than
- that many wide characters are written. If the precision is not
- specified or is greater than the size of the converted array, the
- converted array shall contain a null wide character.<BR>
- If an l length modifier is present, the argument shall be a pointer
- to the initial element of an array of wchar_t type. Wide characters
- from the array are written up to (but not including) a terminating
- null wide character. If the precision is specified, no more than
- that many wide characters are written. If the precision is not
- specified or is greater than the size of the array, the array
- shall contain a null wide character.
- p The argument shall be a pointer to void. The value of the pointer
- is converted to a sequence of printing wide characters, in an
- implementation-defined manner.
- n The argument shall be a pointer to signed integer into which is
- written the number of wide characters written to the output stream
- so far by this call to fwprintf. No argument is converted, but one
- is consumed. If the conversion specification includes any flags, a
- field width, or a precision, the behavior is undefined.
- % A % wide character is written. No argument is converted. The
- complete conversion specification is %%.
-
-
- @param[in] stream An open File specifier to which the output is sent.
- @param[in] format A wide character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments.
- @param ... Variable number of parameters as required by format.
-
- @return The fwprintf function returns the number of wide characters
- transmitted, or a negative value if an output or encoding error
- occurred.
-**/
-int fwprintf(FILE * __restrict stream, const wchar_t * __restrict format, ...);
-
-/** The fwscanf function reads input from the stream pointed to by stream,
- under control of the wide string pointed to by format that specifies
- the admissible input sequences and how they are to be converted for
- assignment, using subsequent arguments as pointers to the objects to
- receive the converted input. If there are insufficient arguments for
- the format, the behavior is undefined. If the format is exhausted while
- arguments remain, the excess arguments are evaluated (as always) but are
- otherwise ignored.
-
- The format is composed of zero or more directives: one or more white-space
- wide characters, an ordinary wide character (neither % nor a white-space
- wide character), or a conversion specification. Each conversion
- specification is introduced by the wide character %. After the %, the
- following appear in sequence:
- - An optional assignment-suppressing wide character *.
- - An optional decimal integer greater than zero that specifies the
- maximum field width (in wide characters).
- - An optional length modifier that specifies the size of the receiving object.
- - A conversion specifier wide character that specifies the type of
- conversion to be applied.
-
- The fwscanf function executes each directive of the format in turn. If a
- directive fails, as detailed below, the function returns. Failures are
- described as input failures (due to the occurrence of an encoding error
- or the unavailability of input characters), or matching failures
- (due to inappropriate input).
-
- A directive composed of white-space wide character(s) is executed by
- reading input up to the first non-white-space wide character (which remains
- unread), or until no more wide characters can be read.
-
- A directive that is an ordinary wide character is executed by reading the
- next wide character of the stream. If that wide character differs from the
- directive, the directive fails and the differing and subsequent wide
- characters remain unread. Similarly, if end-of-file, an encoding error, or
- a read error prevents a wide character from being read, the directive fails.
-
- A directive that is a conversion specification defines a set of matching
- input sequences, as described below for each specifier. A conversion
- specification is executed in the following steps:
- - Input white-space wide characters (as specified by the iswspace
- function) are skipped, unless the specification includes
- a [, c, or n specifier.
- - An input item is read from the stream, unless the specification
- includes an n specifier. An input item is defined as the longest
- sequence of input wide characters which does not exceed any specified
- field width and which is, or is a prefix of, a matching input sequence.
- The first wide character, if any, after the input item remains unread.
- If the length of the input item is zero, the execution of the directive
- fails; this condition is a matching failure unless end-of-file, an
- encoding error, or a read error prevented input from the stream, in
- which case it is an input failure.
- - Except in the case of a % specifier, the input item (or, in the case of
- a %n directive, the count of input wide characters) is converted to a
- type appropriate to the conversion specifier. If the input item is not
- a matching sequence, the execution of the directive fails: this
- condition is a matching failure. Unless assignment suppression was
- indicated by a *, the result of the conversion is placed in the object
- pointed to by the first argument following the format argument that has
- not already received a conversion result. If this object does not have
- an appropriate type, or if the result of the conversion cannot be
- represented in the object, the behavior is undefined.
-
- The length modifiers and their meanings are:<BR>
- hh Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to signed char
- or unsigned char.
- h Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to short int
- or unsigned short int.
- l (ell) Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to long int or
- unsigned long int; that a following e, E, f, F, g, or G conversion
- specifier applies to an argument with type pointer to double; or
- that a following c, s, or [ conversion specifier applies to an
- argument with type pointer to wchar_t.
- ll (ell-ell) Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type
- pointer to long long int or unsigned long long int.
- j Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to intmax_t
- or uintmax_t.
- z Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to size_t or the
- corresponding signed integer type.
- t Specifies that a following d, i, o, u, x, X, or n conversion
- specifier applies to an argument with type pointer to ptrdiff_t or
- the corresponding unsigned integer type.
- L Specifies that a following e, E, f, F, g, or G conversion specifier
- applies to an argument with type pointer to long double.
-
- If a length modifier appears with any conversion specifier other than as
- specified above, the behavior is undefined.
-
- The conversion specifiers and their meanings are:<BR>
- d Matches an optionally signed decimal integer, whose format is the
- same as expected for the subject sequence of the wcstol function
- with the value 10 for the base argument. The corresponding argument
- shall be a pointer to signed integer.
- i Matches an optionally signed integer, whose format is the same as
- expected for the subject sequence of the wcstol function with the
- value 0 for the base argument. The corresponding argument shall be
- a pointer to signed integer.
- o Matches an optionally signed octal integer, whose format is the
- same as expected for the subject sequence of the wcstoul function
- with the value 8 for the base argument. The corresponding argument
- shall be a pointer to unsigned integer.
- u Matches an optionally signed decimal integer, whose format is the
- same as expected for the subject sequence of the wcstoul function
- with the value 10 for the base argument. The corresponding argument
- shall be a pointer to unsigned integer.
- x Matches an optionally signed hexadecimal integer, whose format is
- the same as expected for the subject sequence of the wcstoul
- function with the value 16 for the base argument. The corresponding
- argument shall be a pointer to unsigned integer.
- e,f,g Matches an optionally signed floating-point number, infinity, or
- NaN, whose format is the same as expected for the subject sequence
- of the wcstod function. The corresponding argument shall be a
- pointer to float.
- c Matches a sequence of wide characters of exactly the number
- specified by the field width (1 if no field width is present in the
- directive).<BR>
- If no l length modifier is present, characters from the input field
- are converted as if by repeated calls to the wcrtomb function, with
- the conversion state described by an mbstate_t object initialized
- to zero before the first wide character is converted. The
- corresponding argument shall be a pointer to the initial element of
- a character array large enough to accept the sequence. No null
- character is added.<BR>
- If an l length modifier is present, the corresponding argument
- shall be a pointer to the initial element of an array of
- wchar_t large enough to accept the sequence.
- No null wide character is added.
- s Matches a sequence of non-white-space wide characters.
- If no l length modifier is present, characters from the input field
- are converted as if by repeated calls to the wcrtomb function, with
- the conversion state described by an mbstate_t object initialized
- to zero before the first wide character is converted. The
- corresponding argument shall be a pointer to the initial element of
- a character array large enough to accept the sequence and a
- terminating null character, which will be added automatically.<BR>
- If an l length modifier is present, the corresponding argument
- shall be a pointer to the initial element of an array of wchar_t
- large enough to accept the sequence and the terminating null wide
- character, which will be added automatically.
- [ Matches a nonempty sequence of wide characters from a set of
- expected characters (the scanset).<BR>
- If no l length modifier is present, characters from the input field
- are converted as if by repeated calls to the wcrtomb function, with
- the conversion state described by an mbstate_t object initialized
- to zero before the first wide character is converted. The
- corresponding argument shall be a pointer to the initial element of
- a character array large enough to accept the sequence and a
- terminating null character, which will be added automatically.<BR>
- If an l length modifier is present, the corresponding argument
- shall be a pointer to the initial element of an array of wchar_t
- large enough to accept the sequence and the terminating null wide
- character, which will be added automatically.<BR>
- The conversion specifier includes all subsequent wide characters
- in the format string, up to and including the matching right
- bracket (]). The wide characters between the brackets
- (the scanlist) compose the scanset, unless the wide character after
- the left bracket is a circumflex (^), in which case the scanset
- contains all wide characters that do not appear in the scanlist
- between the circumflex and the right bracket. If the conversion
- specifier begins with [] or [^], the right bracket wide character
- is in the scanlist and the next following right bracket wide
- character is the matching right bracket that ends the specification;
- otherwise the first following right bracket wide character is the
- one that ends the specification. If a - wide character is in the
- scanlist and is not the first, nor the second where the first wide
- character is a ^, nor the last character,
- the - is added to the scanset.
- p Matches the set of sequences produced by the %p conversion of the
- fwprintf function. The corresponding argument is a pointer to a
- pointer to void. The input item is converted to a pointer value. If
- the input item is a value converted earlier during the same program
- execution, the pointer that results will compare equal to that
- value.
- n No input is consumed. The corresponding argument is a pointer to
- signed integer into which is to be written the number of wide
- characters read from the input stream so far by this call to the
- fwscanf function. Execution of a %n directive does not increment
- the assignment count returned at the completion of execution of the
- fwscanf function. No argument is converted, but one is consumed.
- % Matches a single % wide character; no conversion or assignment
- occurs. The complete conversion specification shall be %%.
-
- The conversion specifiers E, F, G, and X are also valid and behave the same
- as, respectively, e, f, g, and x.
-
- Trailing white space (including new-line wide characters) is left unread
- unless matched by a directive. The success of literal matches and
- suppressed assignments is not directly determinable other than via
- the %n directive.
-
- @param[in] stream An open File specifier from which the input is read.
- @param[in] format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The fwscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- function returns the number of input items assigned, which can be
- fewer than provided for, or even zero, in the event of an early
- matching failure.
-**/
-int fwscanf(FILE * __restrict stream, const wchar_t * __restrict format, ...);
-
-/** Formatted wide-character output to a buffer.
-
- The swprintf function is equivalent to fwprintf, except that the argument s
- specifies an array of wide characters into which the generated output is to
- be written, rather than written to a stream. No more than n wide characters
- are written, including a terminating null wide character, which is always
- added (unless n is zero).
-
- @param[out] s A pointer to the array to receive the formatted output.
- @param[in] n Maximum number of characters to write into buffer s.
- @param[in] format A wide character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments. Copied and
- converted characters are written to the array pointed
- to by s.
- @param ... Variable number of parameters as required by format.
-
- @return The swprintf function returns the number of wide characters
- written in the array, not counting the terminating null wide
- character, or a negative value if an encoding error occurred or
- if n or more wide characters were requested to be written.
-**/
-int swprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict format, ...);
-
-/** Formatted wide input from a string.
-
- The swscanf function is equivalent to fwscanf, except that the argument
- Buff specifies a wide string from which the input is to be obtained, rather
- than from a stream. Reaching the end of the wide string is equivalent to
- encountering end-of-file for the fwscanf function.
-
- @param[in] Buff Pointer to the string from which to obtain input.
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[out] ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The swscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- swscanf function returns the number of input items assigned,
- which can be fewer than provided for, or even zero, in the event
- of an early matching failure.
-**/
-int swscanf(const wchar_t * __restrict Buff, const wchar_t * __restrict Format, ...);
-
-/** Print formatted values from an argument list.
-
-The vfwprintf function is equivalent to fwprintf, with the variable argument list
-replaced by Args, which shall have been initialized by the va_start macro (and
-possibly subsequent va_arg calls). The vfwprintf function does not invoke the
-va_end macro.
-
- @param[in] Stream The output stream to receive the formatted output.
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vfwprintf function returns the number of wide characters
- transmitted, or a negative value if an output or encoding
- error occurred.
-**/
-int vfwprintf(FILE * __restrict Stream, const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted input from a stream.
-
- The vfwscanf function is equivalent to fwscanf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start
- macro (and possibly subsequent va_arg calls). The vfwscanf function does
- not invoke the va_end macro.
-
- @param[in] Stream The input stream.
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vfwscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- vfwscanf function returns the number of input items assigned,
- which can be fewer than provided for, or even zero, in the event
- of an early matching failure.
-**/
-int vfwscanf(FILE * __restrict Stream, const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted print, to a buffer, from an argument list.
-
- The vswprintf function is equivalent to swprintf, with the variable
- argument list replaced by Args, which must have been initialized by the
- va_start macro (and possibly subsequent va_arg calls). The vswprintf
- function does not invoke the va_end macro.
-
- @param[in] S A pointer to the array to receive the formatted output.
- @param[in] N Maximum number of characters to write into array S.
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[in] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vswprintf function returns the number of wide characters
- written in the array, not counting the terminating null wide
- character, or a neg ative value if an encoding error occurred or
- if n or more wide characters were requested to be generated.
-**/
-int vswprintf(wchar_t * __restrict S, size_t N, const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted input from a string, using an argument list.
-
- The vswscanf function is equivalent to swscanf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start
- macro. The vswscanf function does not invoke the va_end macro.
-
- @param[in] S Pointer to the string from which to obtain input.
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[out] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vswscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- vswscanf function returns the number of input items assigned,
- which can be fewer than provided for, or even zero, in the event
- of an early matching failure.
-**/
-int vswscanf(const wchar_t * __restrict S, const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted print, to stdout, from an argument list.
-
- The vwprintf function is equivalent to wprintf, with the variable argument
- list replaced by Args, which must have been initialized by the va_start
- macro. The vwprintf function does not invoke the va_end macro.
-
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[out] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vwprintf function returns the number of wide characters
- transmitted, or a negative value if an output or encoding error
- occurred.
-**/
-int vwprintf(const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted input, from stdin, to an argument list.
-
- The vwscanf function is equivalent to wscanf, with the variable argument
- list replaced by arg, which shall have been initialized by the va_start
- macro. The vwscanf function does not invoke the va_end macro.
-
- @param[in] Format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments.
- @param[out] Args A list of arguments, initialized by the va_start macro
- and accessed using the va_arg macro, used to satisfy
- the directives in the Format string.
-
- @return The vwscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- vwscanf function returns the number of input items assigned,
- which can be fewer than provided for, or even zero, in the event
- of an early matching failure.
-**/
-int vwscanf(const wchar_t * __restrict Format, va_list Args);
-
-/** Formatted print to stdout.
-
- The wprintf function is equivalent to fwprintf with the argument stdout
- specifying the output stream.
-
- @param[in] format A wide character sequence containing characters
- to be copied unchanged, and conversion specifiers
- which convert their associated arguments.
- @param ... Variable number of parameters as required by format.
-
- @return The wprintf function returns the number of wide characters
- transmitted, or a negative value if an output or encoding error
- occurred.
-**/
-int wprintf(const wchar_t * __restrict Format, ...);
-
-/** Formatted input from stdin.
-
- The wscanf function is equivalent to fwscanf with the argument stdin
- specifying the input stream.
-
- @param[in] format A wide character sequence containing characters
- to be matched against, and conversion specifiers
- which convert their associated arguments. Converted
- items are stored according to their associated arguments.
- @param ... Variable number of parameters, as required by format,
- specifying the objects to receive the converted input.
-
- @return The wscanf function returns the value of the macro EOF if an
- input failure occurs before any conversion. Otherwise, the
- wscanf function returns the number of input items assigned,
- which can be fewer than provided for, or even zero, in the event
- of an early matching failure.
-**/
-int wscanf(const wchar_t * __restrict format, ...);
-
-/* ################### Input/Output Functions ########################### */
-
-
-/** Get a character from an input Stream.
-
-If the end-of-file indicator for the input stream pointed to by stream is not set and a
-next wide character is present, the fgetwc function obtains that wide character as a
-wchar_t converted to a wint_t and advances the associated file position indicator for
-the stream (if defined).
-
- @param[in] Stream An input stream from which to obtain a character.
-
- @return If the end-of-file indicator for the stream is set, or if the stream is at end-of-file, the endof-
-file indicator for the stream is set and the fgetwc function returns WEOF. Otherwise,
-the fgetwc function returns the next wide character from the input stream pointed to by
-stream. If a read error occurs, the error indicator for the stream is set and the fgetwc
-function returns WEOF. If an encoding error occurs (including too few bytes), the value of
-the macro EILSEQ is stored in errno and the fgetwc function returns WEOF.
-**/
-wint_t fgetwc(FILE *Stream);
-
-/** Read a string from an input stream into a buffer.
-
- The fgetws function reads at most one less than the number of
- wide characters specified by n from the stream pointed to by
- stream into the array pointed to by s. No additional wide
- characters are read after a new-line wide character (which is
- retained) or after end-of-file. A null wide character is written
- immediately after the last wide character read into the array.
-
- @param[out] S A pointer to the array to receive the input string.
- @param[in] Limit The maximum number of characters to put into Buff,
- including the terminating null character.
- @param[in] Stream An input stream from which to obtain the string.
-
- @return The fgetws function returns S if successful. If end-of-file is
- encountered and no characters have been read into the array, the
- contents of the array remain unchanged and a null pointer is
- returned. If a read or encoding error occurs during the
- operation, the array contents are indeterminate and a
- null pointer is returned.
-**/
-wchar_t *fgetws(wchar_t * __restrict S, int Limit, FILE * __restrict Stream);
-
-/** Write a character to an output stream.
-
-The fputwc function writes the wide character specified by c to the output stream
-pointed to by stream, at the position indicated by the associated file position indicator
-for the stream (if defined), and advances the indicator appropriately. If the file cannot
-support positioning requests, or if the stream was opened with append mode, the
-character is appended to the output stream.
-
- @param[in] C The character to be written to Stream.
- @param[in] Stream The output stream that C is to be written to.
-
- @return The fputwc function returns the wide character written. If a write error occurs, the
-error indicator for the stream is set and fputwc returns WEOF. If an encoding error
-occurs, the value of the macro EILSEQ is stored in errno and fputwc returns WEOF.
-**/
-wint_t fputwc(wchar_t C, FILE *Stream);
-
-/** Write a string to an output stream.
-
-The fputws function writes the wide string pointed to by S to the stream pointed to by
-Stream. The terminating null wide character is not written.
-
- @param[in] String The character string to be written to Stream.
- @param[in] Stream The output stream that String is to be written to.
-
- @return The fputws function returns EOF if a write or encoding error occurs; otherwise, it
-returns a nonnegative value.
-**/
-int fputws(const wchar_t * __restrict S, FILE * __restrict Stream);
-
-/** Query or set a stream's orientation.
-
-The fwide function determines the orientation of the stream pointed to by stream. If
-Mode is greater than zero, the function first attempts to make the stream wide oriented. If
-Mode is less than zero, the function first attempts to make the stream byte oriented.
-Otherwise, Mode is zero and the function does not alter the orientation of the stream.
-
- @param[in] Stream The stream to be queried.
- @param[in] Mode Control value selecting between quering or setting
- the Stream's orientation.
- @return The fwide function returns a value greater than zero if, after the call, the stream has
-wide orientation, a value less than zero if the stream has byte orientation, or zero if the
-stream has no orientation.
-**/
-int fwide(FILE *Stream, int Mode);
-
-/** Get a character from an input stream.
-
-The getwc function is equivalent to fgetwc, except that if it is implemented as a
-macro, it may evaluate Stream more than once, so the argument should never be an
-expression with side effects.
-
- @param[in] Stream The stream to be read.
-
- @return The getwc function returns the next wide character from the input stream pointed to by
-stream, or WEOF.
-**/
-wint_t getwc(FILE *Stream);
-
-/** Get a character from stdin.
-
- The getwchar function is equivalent to getwc with the argument stdin.
-
- @return The getwchar function returns the next wide character from the
- input stream pointed to by stdin, or WEOF.
-**/
-wint_t getwchar(void);
-
-/** Write a character to an output stream.
-
-The putwc function is equivalent to fputwc, except that if it is implemented as a
-macro, it may evaluate Stream more than once, so the Stream argument should never be an
-expression with side effects.
-
- @param[in] C The wide character to be written to Stream.
- @param[in] Stream The output stream that C is to be written to.
-
- @return The putwc function returns the wide character written, or WEOF.
-**/
-wint_t putwc(wchar_t C, FILE *Stream);
-
-/** Write a character to stdout.
-
-The putwchar function is equivalent to putwc with the second argument stdout.
-
- @param[in] C The wide character to be written to stdout.
-
- @return The putwchar function returns the character written, or WEOF.
-**/
-wint_t putwchar(wchar_t C);
-
-/** Return a character to the input Stream as if it had not been read.
-
-The ungetwc function pushes the wide character specified by C back onto the input
-stream pointed to by Stream. Pushed-back wide characters will be returned by
-subsequent reads on that stream in the reverse order of their pushing. A successful
-intervening call (with the stream pointed to by Stream) to a file positioning function
-(fseek, fsetpos, or rewind) discards any pushed-back wide characters for the
-stream. The external storage corresponding to the stream is unchanged.
-
-One wide character of pushback is guaranteed, even if the call to the ungetwc function
-follows just after a call to a formatted wide character input function fwscanf,
-vfwscanf, vwscanf, or wscanf. If the ungetwc function is called too many times
-on the same stream without an intervening read or file positioning operation on that
-stream, the operation may fail.
-
-If the value of C equals that of the macro WEOF, the operation fails and the input stream is
-unchanged.
-
-A successful call to the ungetwc function clears the end-of-file indicator for the stream.
-The value of the file position indicator for the stream after reading or discarding all
-pushed-back wide characters is the same as it was before the wide characters were pushed
-back. For a text or binary stream, the value of its file position indicator after a successful
-call to the ungetwc function is unspecified until all pushed-back wide characters are
-read or discarded.
-
- @param[in] C The wide character to push back onto the Stream.
- @param[in] Stream The output stream that C is to be pushed back onto.
-
- @return The ungetwc function returns the character pushed back,
- or WEOF if the operation fails.
-**/
-wint_t ungetwc(wint_t C, FILE *Stream);
-
-/* ################### Numeric Conversions ########################### */
-
-/** @{
-The wcstod, wcstof, and wcstold functions convert the initial portion of the wide
-string pointed to by nptr to double, float, and long double representation,
-respectively. First, they decompose the input string into three parts: an initial, possibly
-empty, sequence of white-space wide characters (as specified by the iswspace
-function), a subject sequence resembling a floating-point constant or representing an
-infinity or NaN; and a final wide string of one or more unrecognized wide characters,
-including the terminating null wide character of the input wide string. Then, they attempt
-to convert the subject sequence to a floating-point number, and return the result.
-
- @param[in] Nptr Pointer to the string to convert to a floating-point value.
- @param[in] EndPtr Optional pointer to an object in which to store a pointer
- to the final wide string.
-
-The functions return the converted value, if any. If no conversion could be performed,
-zero is returned. If the correct value is outside the range of representable values, plus or
-minus HUGE_VAL, HUGE_VALF, or HUGE_VALL is returned (according to the return
-type and sign of the value), and the value of the macro ERANGE is stored in errno. If
-the result underflows (7.12.1), the functions return a value whose magnitude is no greater
-than the smallest normalized positive number in the return type. A pointer to the
-final wide string is stored in the object pointed to by endptr, provided that endptr is
-not a null pointer.
-**/
-double wcstod (const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr);
-float wcstof (const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr);
-long double wcstold (const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr);
-/*@}*/
-
-/** @{
-The wcstol, wcstoll, wcstoul, and wcstoull functions convert the initial
-portion of the wide string pointed to by nptr to long int, long long int,
-unsigned long int, and unsigned long long int representation,
-respectively. First, they decompose the input string into three parts: an initial, possibly
-empty, sequence of white-space wide characters (as specified by the iswspace
-function), a subject sequence resembling an integer represented in some radix determined
-by the value of base, and a final wide string of one or more unrecognized wide
-characters, including the terminating null wide character of the input wide string. Then,
-they attempt to convert the subject sequence to an integer, and return the result.
-
- @param[in] Nptr Pointer to the string to convert.
- @param[in] EndPtr Optional pointer to an object in which to store a pointer
- to the final wide string.
- @param[in] Base Base, 0 to 36, of the value represented by the string
- pointed to by Nptr.
-
- @return The wcstol, wcstoll, wcstoul, and wcstoull functions return the converted
-value, if any. If no conversion could be performed, zero is returned. If the correct value
-is outside the range of representable values, LONG_MIN, LONG_MAX, LLONG_MIN,
-LLONG_MAX, ULONG_MAX, or ULLONG_MAX is returned (according to the return type
-sign of the value, if any), and the value of the macro ERANGE is stored in errno.
-**/
-long int wcstol ( const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr, int Base);
-long long int wcstoll ( const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr, int Base);
-unsigned long int wcstoul ( const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr, int Base);
-unsigned long long int wcstoull( const wchar_t * __restrict Nptr, wchar_t ** __restrict EndPtr, int Base);
-/*@}*/
-
-/* ####################### String Copying ############################### */
-
-/** The wcscpy function copies the wide string pointed to by Src (including the
- terminating null wide character) into the array pointed to by Dest.
-
- @return The wcscpy function returns the value of Dest.
-**/
-wchar_t *wcscpy(wchar_t * __restrict Dest, const wchar_t * __restrict Src);
-
-/** The wcsncpy function copies not more than n wide characters (those that
- follow a null wide character are not copied) from the array pointed to by
- Src to the array pointed to by Dest.
-
- If the array pointed to by Src is a wide string that is shorter than n wide
- characters, null wide characters are appended to the copy in the array
- pointed to by Dest, until n wide characters in all have been written.
-
- @return The wcsncpy function returns the value of Dest.
-**/
-wchar_t *wcsncpy(wchar_t * __restrict Dest, const wchar_t * __restrict Src, size_t n);
-
-/** The wmemcpy function copies n wide characters from the object pointed to by
- Src to the object pointed to by Dest.
-
- Use this function if you know that Dest and Src DO NOT Overlap. Otherwise,
- use wmemmove.
-
- @return The wmemcpy function returns the value of Dest.
-**/
-wchar_t *wmemcpy(wchar_t * __restrict Dest, const wchar_t * __restrict Src, size_t n);
-
-/** The wmemmove function copies n wide characters from the object pointed to by
- Src to the object pointed to by Dest. The objects pointed to by Dest and Src are
- allowed to overlap.
-
- Because the UEFI BaseMemoryLib function CopyMem explicitly handles
- overlapping source and destination objects, this function and wmemcpy are
- implemented identically.
-
- For programming clarity, it is recommended that you use wmemcpy if you know
- that Dest and Src DO NOT Overlap. If Dest and Src might possibly overlap, then
- use wmemmove.
-
- @return The wmemmove function returns the value of Dest.
-**/
-wchar_t *wmemmove(wchar_t *Dest, const wchar_t *Src, size_t n);
-
-/* ################### String Concatenation ########################## */
-
-/** The wcscat function appends a copy of the wide string pointed to by Src
- (including the terminating null wide character) to the end of the wide
- string pointed to by Dest. The initial wide character of Src overwrites the
- null wide character at the end of Dest.
-
- @return The wcscat function returns the value of Dest.
-**/
-wchar_t *wcscat(wchar_t * __restrict Dest, const wchar_t * __restrict Src);
-
-/** The wcsncat function appends not more than n wide characters (a null wide
- character and those that follow it are not appended) from the array pointed
- to by Src to the end of the wide string pointed to by Dest. The initial wide
- character of Src overwrites the null wide character at the end of Dest.
- A terminating null wide character is always appended to the result.
-
- @return The wcsncat function returns the value of Dest.
-**/
-wchar_t *wcsncat(wchar_t * __restrict Dest, const wchar_t * __restrict Src, size_t n);
-
-/* ##################### String Comparison ############################# */
-
-/** The wcscmp function compares the wide string pointed to by s1 to the wide
- string pointed to by s2.
-
- @return The wcscmp function returns an integer greater than, equal to, or
- less than zero, accordingly as the wide string pointed to by s1
- is greater than, equal to, or less than the wide string
- pointed to by s2.
-**/
-int wcscmp(const wchar_t *s1, const wchar_t *s2);
-
-/** The wcscoll function compares the wide string pointed to by s1 to the wide
- string pointed to by s2, both interpreted as appropriate to the LC_COLLATE
- category of the current locale.
-
- @return The wcscoll function returns an integer greater than, equal to,
- or less than zero, accordingly as the wide string pointed to by
- s1 is greater than, equal to, or less than the wide string
- pointed to by s2 when both are interpreted as appropriate to
- the current locale.
-**/
-int wcscoll(const wchar_t *s1, const wchar_t *s2);
-
-/** The wcsncmp function compares not more than n wide characters (those that
- follow a null wide character are not compared) from the array pointed to by
- s1 to the array pointed to by s2.
-
- @return The wcsncmp function returns an integer greater than, equal to,
- or less than zero, accordingly as the possibly null-terminated
- array pointed to by s1 is greater than, equal to, or less than
- the possibly null-terminated array pointed to by s2.
-**/
-int wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n);
-
-/** The wcsxfrm function transforms the wide string pointed to by s2 and places
- the resulting wide string into the array pointed to by s1. The
- transformation is such that if the wcscmp function is applied to two
- transformed wide strings, it returns a value greater than, equal to, or
- less than zero, corresponding to the result of the wcscoll function applied
- to the same two original wide strings. No more than n wide characters are
- placed into the resulting array pointed to by s1, including the terminating
- null wide character. If n is zero, s1 is permitted to be a null pointer.
-
- @return The wcsxfrm function returns the length of the transformed wide
- string (not including the terminating null wide character). If
- the value returned is n or greater, the contents of the array
- pointed to by s1 are indeterminate.
-**/
-size_t wcsxfrm(wchar_t * __restrict s1, const wchar_t * __restrict s2, size_t n);
-
-/** The wmemcmp function compares the first n wide characters of the object
- pointed to by s1 to the first n wide characters of the object pointed to
- by s2.
-
- @return The wmemcmp function returns an integer greater than, equal to,
- or less than zero, accordingly as the object pointed to by s1 is
- greater than, equal to, or less than the object pointed to by s2.
-**/
-int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n);
-
-/* ##################### String Searching ############################## */
-
-/** The wcschr function locates the first occurrence of C in the wide string
- pointed to by S. The terminating null wide character is considered to be
- part of the wide string.
-
- @return The wcschr function returns a pointer to the located wide
- character, or a null pointer if the wide character does not occur
- in the wide string.
-**/
-wchar_t *wcschr(const wchar_t *S, wchar_t C);
-
-/** The wcscspn function computes the length of the maximum initial segment of
- the wide string pointed to by s1 which consists entirely of wide characters
- not from the wide string pointed to by s2.
-
- @return The wcscspn function returns the length of the segment.
-**/
-size_t wcscspn(const wchar_t *s1, const wchar_t *s2);
-
-/** The wcspbrk function locates the first occurrence in the wide string
- pointed to by s1 of any wide character from the wide string
- pointed to by s2.
-
- @return The wcspbrk function returns a pointer to the wide character
- in s1, or a null pointer if no wide character from s2 occurs
- in s1.
-**/
-wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2);
-
-/** The wcsrchr function locates the last occurrence of C in the wide string
- pointed to by S. The terminating null wide character is considered to be
- part of the wide string.
-
- @return The wcsrchr function returns a pointer to the wide character,
- or a null pointer if C does not occur in the wide string.
-**/
-wchar_t *wcsrchr(const wchar_t *S, wchar_t C);
-
-/** The wcsspn function computes the length of the maximum initial segment of
- the wide string pointed to by s1 which consists entirely of wide characters
- from the wide string pointed to by s2.
-
- @return The wcsspn function returns the length of the segment.
-**/
-size_t wcsspn(const wchar_t *s1, const wchar_t *s2);
-
-/** The wcsstr function locates the first occurrence in the wide string pointed
- to by s1 of the sequence of wide characters (excluding the terminating null
- wide character) in the wide string pointed to by s2.
-
- @return The wcsstr function returns a pointer to the located wide string,
- or a null pointer if the wide string is not found. If s2 points
- to a wide string with zero length, the function returns s1.
-**/
-wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2);
-
-/** A sequence of calls to the wcstok function breaks the wide string pointed
- to by s1 into a sequence of tokens, each of which is delimited by a wide
- character from the wide string pointed to by s2. The third argument points
- to a caller-provided wchar_t pointer into which the wcstok function stores
- information necessary for it to continue scanning the same wide string.
-
- The first call in a sequence has a non-null first argument and stores an
- initial value in the object pointed to by ptr. Subsequent calls in the
- sequence have a null first argument and the object pointed to by ptr is
- required to have the value stored by the previous call in the sequence,
- which is then updated. The separator wide string pointed to by s2 may be
- different from call to call.
-
- The first call in the sequence searches the wide string pointed to by s1
- for the first wide character that is not contained in the current separator
- wide string pointed to by s2. If no such wide character is found, then
- there are no tokens in the wide string pointed to by s1 and the wcstok
- function returns a null pointer. If such a wide character is found, it is
- the start of the first token.
-
- The wcstok function then searches from there for a wide character that is
- contained in the current separator wide string. If no such wide character
- is found, the current token extends to the end of the wide string pointed
- to by s1, and subsequent searches in the same wide string for a token
- return a null pointer. If such a wide character is found, it is overwritten
- by a null wide character, which terminates the current token.
-
- In all cases, the wcstok function stores sufficient information in the
- pointer pointed to by ptr so that subsequent calls, with a null pointer for
- s1 and the unmodified pointer value for ptr, shall start searching just
- past the element overwritten by a null wide character (if any).
-
- @return The wcstok function returns a pointer to the first wide character
- of a token, or a null pointer if there is no token.
-**/
-wchar_t *wcstok(wchar_t * __restrict s1, const wchar_t * __restrict s2, wchar_t ** __restrict ptr);
-
-/** The wmemchr function locates the first occurrence of C in the initial n
- wide characters of the object pointed to by S.
-
- @return The wmemchr function returns a pointer to the located wide
- character, or a null pointer if the wide character does not occur
- in the object.
-**/
-wchar_t *wmemchr(const wchar_t *S, wchar_t C, size_t n);
-
-/* ################### String Manipulation ############################# */
-
-/** The wcslen function computes the length of the wide string pointed to by S.
-
- @return The wcslen function returns the number of wide characters that
- precede the terminating null wide character.
-**/
-size_t wcslen(const wchar_t *S);
-
-/** The wmemset function copies the value of C into each of the first n wide
- characters of the object pointed to by S.
-
- @return The wmemset function returns the value of S.
-**/
-wchar_t *wmemset(wchar_t *S, wchar_t C, size_t n);
-
-/* ################# Date and Time Conversion ########################### */
-
-/**
-The wcsftime function is equivalent to the strftime function, except that:
- - The argument s points to the initial element of an array of wide characters into which
-the generated output is to be placed.
- - The argument maxsize indicates the limiting number of wide characters.
- - The argument format is a wide string and the conversion specifiers are replaced by
-corresponding sequences of wide characters.
- - The return value indicates the number of wide characters.
-
-If the total number of resulting wide characters including the terminating null wide
-character is not more than maxsize, the wcsftime function returns the number of
-wide characters placed into the array pointed to by s not including the terminating null
-wide character. Otherwise, zero is returned and the contents of the array are
-indeterminate.
-**/
-size_t wcsftime(wchar_t * __restrict S, size_t maxsize, const wchar_t * __restrict format, const struct tm * __restrict timeptr);
-
-/* ############# Multibyte <--> Wide Character Conversion ############### */
-
-/** The btowc function determines whether C constitutes a valid single-byte
- character in the initial shift state.
-
- @return The btowc function returns WEOF if c has the value EOF or if
- (unsigned char)C does not constitute a valid single-byte
- character in the initial shift state. Otherwise, it returns the
- wide character representation of that character.
-**/
-wint_t btowc(int C);
-
-/** The wctob function determines whether C corresponds to a member of the extended
- character set whose multibyte character representation is a single byte when in the initial
- shift state.
-
- @return The wctob function returns EOF if C does not correspond to a multibyte
- character with length one in the initial shift state. Otherwise, it
- returns the single-byte representation of that character as an
- unsigned char converted to an int.
-**/
-int wctob(wint_t C);
-
-/** If ps is not a null pointer, the mbsinit function determines whether the
- pointed-to mbstate_t object describes an initial conversion state.
-
- @return The mbsinit function returns nonzero if ps is a null pointer
- or if the pointed-to object describes an initial conversion
- state; otherwise, it returns zero.
-**/
-int mbsinit(const mbstate_t *ps);
-
-/* ####### Restartable Multibyte <--> Wide Character Conversion ######### */
-
-/** The mbrlen function is equivalent to the call:<BR>
-@verbatim
- mbrtowc(NULL, s, n, ps != NULL ? ps : &internal)
-@endverbatim
- where internal is the mbstate_t object for the mbrlen function, except that
- the expression designated by ps is evaluated only once.
-
- @param[in] s Pointer to a multibyte character sequence.
- @param[in] n Maximum number of bytes to examine.
- @param[in] pS Pointer to the conversion state object.
-
- @retval 0 The next n or fewer characters complete a NUL.
- @retval 1..n The number of bytes that complete the multibyte character.
- @retval -2 The next n bytes contribute to an incomplete (but potentially valid) multibyte character.
- @retval -1 An encoding error occurred.
-**/
-size_t mbrlen(const char * __restrict S, size_t n, mbstate_t * __restrict pS);
-
-/** Restartable Multibyte to Wide character conversion.
-If S is a null pointer, the mbrtowc function is equivalent to the call:<BR>
-@verbatim
- mbrtowc(NULL, "", 1, ps)
-@endverbatim
-
-In this case, the values of the parameters pwc and n are ignored.
-
-If S is not a null pointer, the mbrtowc function inspects at most n bytes beginning with
-the byte pointed to by S to determine the number of bytes needed to complete the next
-multibyte character (including any shift sequences). If the function determines that the
-next multibyte character is complete and valid, it determines the value of the
-corresponding wide character and then, if pwc is not a null pointer, stores that value in
-the object pointed to by pwc. If the corresponding wide character is the null wide
-character, the resulting state described is the initial conversion state.
-
- @retval 0 if the next n or fewer bytes complete the multibyte
- character that corresponds to the null wide
- character (which is the value stored).
- @retval between_1_and_n_inclusive if the next n or fewer bytes complete
- a valid multibyte character (which is the value
- stored); the value returned is the number of bytes
- that complete the multibyte character.
- @retval (size_t)(-2) if the next n bytes contribute to an incomplete
- (but potentially valid) multibyte character, and
- all n bytes have been processed (no value is stored).
- @retval (size_t)(-1) if an encoding error occurs, in which case the next
- n or fewer bytes do not contribute to a complete and
- valid multibyte character (no value is stored); the
- value of the macro EILSEQ is stored in errno, and
- the conversion state is unspecified.
-**/
-size_t mbrtowc(wchar_t * __restrict pwc, const char * __restrict S, size_t n, mbstate_t * __restrict ps);
-
-/**
-If S is a null pointer, the wcrtomb function is equivalent to the call:<BR>
-@verbatim
- wcrtomb(buf, L'\0', ps)
-@endverbatim
-where buf is an internal buffer.
-
-If S is not a null pointer, the wcrtomb function determines the number of bytes needed
-to represent the multibyte character that corresponds to the wide character given by wc
-(including any shift sequences), and stores the multibyte character representation in the
-array whose first element is pointed to by S. At most MB_CUR_MAX bytes are stored. If
-wc is a null wide character, a null byte is stored, preceded by any shift sequence needed
-to restore the initial shift state; the resulting state described is the initial conversion state.
-
- @return The wcrtomb function returns the number of bytes stored in the
- array object (including any shift sequences). When wc is not a
- valid wide character, an encoding error occurs: the function
- stores the value of the macro EILSEQ in errno and
- returns (size_t)(-1); the conversion state is unspecified.
-**/
-size_t wcrtomb(char * __restrict S, wchar_t wc, mbstate_t * __restrict ps);
-
-/** Convert a sequence of multibyte characters into a sequence of wide characters.
- The mbsrtowcs function converts a sequence of multibyte characters that begins in the
- conversion state described by the object pointed to by ps, from the array indirectly
- pointed to by src into a sequence of corresponding wide characters. If dst is not a null
- pointer, the converted characters are stored into the array pointed to by dst. Conversion
- continues up to and including a terminating null character, which is also stored.
- Conversion stops earlier in two cases: when a sequence of bytes is encountered that does
- not form a valid multibyte character, or (if dst is not a null pointer) when len wide
- characters have been stored into the array pointed to by dst. Each conversion takes
- place as if by a call to the mbrtowc function.
-
- If dst is not a null pointer, the pointer object pointed to by src is assigned either a null
- pointer (if conversion stopped due to reaching a terminating null character) or the address
- just past the last multibyte character converted (if any). If conversion stopped due to
- reaching a terminating null character and if dst is not a null pointer, the resulting state
- described is the initial conversion state.
-
- @param[in] dst Destination for the Wide character sequence.
- @param[in] src Pointer to Pointer to MBCS char. sequence to convert.
- @param[in] len Length of dest, in WIDE characters.
- @param[in] ps Pointer to the conversion state object to be used for this conversion.
-
- @return If the input conversion encounters a sequence of bytes that do
- not form a valid multibyte character, an encoding error occurs:
- the mbsrtowcs function stores the value of the macro EILSEQ in
- errno and returns (size_t)(-1); the conversion state is
- unspecified. Otherwise, it returns the number of multibyte
- characters successfully converted, not including the terminating
- null character (if any).
-**/
-size_t mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t len, mbstate_t * __restrict ps);
-
-/** The wcsrtombs function converts a sequence of wide characters from the array
- indirectly pointed to by src into a sequence of corresponding multibyte
- characters that begins in the conversion state described by the object
- pointed to by ps. If dst is not a null pointer, the converted characters
- are then stored into the array pointed to by dst. Conversion continues
- up to and including a terminating null wide character, which is also
- stored. Conversion stops earlier in two cases: when a wide character is
- reached that does not correspond to a valid multibyte character, or
- (if dst is not a null pointer) when the next multibyte character would
- exceed the limit of len total bytes to be stored into the array pointed
- to by dst. Each conversion takes place as if by a call to the wcrtomb
- function.)
-
- If dst is not a null pointer, the pointer object pointed to by src is
- assigned either a null pointer (if conversion stopped due to reaching
- a terminating null wide character) or the address just past the last wide
- character converted (if any). If conversion stopped due to reaching a
- terminating null wide character, the resulting state described is the
- initial conversion state.
-
- @param[in] dst Destination for the MBCS sequence.
- @param[in] src Pointer to Pointer to wide char. sequence to convert.
- @param[in] len Length of dest, in bytes.
- @param[in] ps Pointer to the conversion state object to be used for this conversion.
-
- @return If conversion stops because a wide character is reached that
- does not correspond to a valid multibyte character, an
- encoding error occurs: the wcsrtombs function stores the
- value of the macro EILSEQ in errno and returns (size_t)(-1);
- the conversion state is unspecified. Otherwise, it returns
- the number of bytes in the resulting multibyte character
- sequence, not including the terminating null character (if any).
-**/
-size_t wcsrtombs(char * __restrict dst, const wchar_t ** __restrict src, size_t len, mbstate_t * __restrict ps);
-
-#endif /* _WCHAR_H */
diff --git a/StdLib/Include/wctype.h b/StdLib/Include/wctype.h deleted file mode 100644 index eac084cbc3..0000000000 --- a/StdLib/Include/wctype.h +++ /dev/null @@ -1,343 +0,0 @@ -/** @file
- Wide character classification and mapping utilities.
-
- The following macros are defined in this file:<BR>
-@verbatim
- WEOF Wide char version of end-of-file.
-@endverbatim
-
- The following types are defined in this file:<BR>
-@verbatim
- wint_t Type capable of holding all wchar_t values and WEOF.
- wctrans_t A type for holding locale-specific character mappings.
- wctype_t Type for holding locale-specific character classifications.
-@endverbatim
-
- The following functions are declared in this file:<BR>
-@verbatim
- ############### Wide Character Classification Functions
- int iswalnum (wint_t);
- int iswalpha (wint_t);
- int iswcntrl (wint_t);
- int iswdigit (wint_t);
- int iswgraph (wint_t);
- int iswlower (wint_t);
- int iswprint (wint_t);
- int iswpunct (wint_t);
- int iswblank (wint_t);
- int iswspace (wint_t);
- int iswupper (wint_t);
- int iswxdigit (wint_t);
-
- ############### Extensible Wide Character Classification Functions
- wctype_t wctype (const char *);
- int iswctype (wint_t, wctype_t);
-
- ############### Wide Character Case Mapping Utilities
- wint_t towlower (wint_t);
- wint_t towupper (wint_t);
-
- ############### Extensible Wide Character Case Mapping Utilities
- wctrans_t wctrans (const char *);
- wint_t towctrans (wint_t, wctrans_t);
-@endverbatim
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c)1999 Citrus Project,
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
-
- NetBSD: wctype.h,v 1.6 2005/02/03 04:39:32 perry Exp
-**/
-#ifndef _WCTYPE_H_
-#define _WCTYPE_H_
-
-#include <sys/EfiCdefs.h>
-#include <machine/ansi.h>
-
-#ifdef _EFI_WINT_T
- /** wint_t is an integer type unchanged by default argument promotions that can
- hold any value corresponding to members of the extended character set, as
- well as at least one value that does not correspond to any member of the
- extended character set: WEOF.
- */
- typedef _EFI_WINT_T wint_t;
- #undef _BSD_WINT_T_
- #undef _EFI_WINT_T
-#endif
-
-#ifdef _BSD_WCTRANS_T_
- /** A scalar type for holding locale-specific character mappings. */
- typedef wint_t (*wctrans_t)(wint_t);
- #undef _BSD_WCTRANS_T_
-#endif
-
-#ifdef _BSD_WCTYPE_T_
- /** A scalar type capable of holding values representing locale-specific
- character classifications. */
- typedef _BSD_WCTYPE_T_ wctype_t;
- #undef _BSD_WCTYPE_T_
-#endif
-
-#ifndef WEOF
- /** WEOF expands to a constant expression of type wint_t whose value does not
- correspond to any member of the extended character set. It is accepted
- (and returned) by several functions, declared in this file, to indicate
- end-of-file, that is, no more input from a stream. It is also used as a
- wide character value that does not correspond to any member of the
- extended character set.
- */
- #define WEOF ((wint_t)-1)
-#endif
-
-__BEGIN_DECLS
- /** Test for any wide character for which iswalpha or iswdigit is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswalnum (wint_t WC);
-
- /** Test for any wide character for which iswupper or iswlower is TRUE,
- OR, a locale-specific character where none of iswcntrl, iswdigit,
- iswpunct, or iswspace is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswalpha (wint_t WC);
-
- /** Test for any wide control character.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswcntrl (wint_t WC);
-
- /** Test if the value of WC is a wide character that corresponds to a decimal digit.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswdigit (wint_t WC);
-
- /** Test for wide characters for which iswprint is TRUE and iswspace is FALSE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswgraph (wint_t WC);
-
- /** The iswlower function tests for any wide character that corresponds to a
- lowercase letter or is one of a locale-specific set of wide characters
- for which none of iswcntrl, iswdigit, iswpunct, or iswspace is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswlower (wint_t WC);
-
- /** Test for any printing wide character.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswprint (wint_t WC);
-
- /** The iswpunct function tests for any printing wide character that is one
- of a locale-specific set of punctuation wide characters for which
- neither iswspace nor iswalnum is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswpunct (wint_t WC);
-
- /** Test for standard blank characters or locale-specific characters
- for which iswspace is TRUE and are used to separate words within a line
- of text. In the "C" locale, iswblank only returns TRUE for the standard
- blank characters space (L' ') and horizontal tab (L'\t').
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswblank (wint_t WC);
-
- /** The iswspace function tests for any wide character that corresponds to a
- locale-specific set of white-space wide characters for which none of
- iswalnum, iswgraph, or iswpunct is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswspace (wint_t WC);
-
- /** Tests for any wide character that corresponds to an uppercase letter or
- is one of a locale-specific set of wide characters for which none of
- iswcntrl, iswdigit, iswpunct, or iswspace is TRUE.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswupper (wint_t WC);
-
- /** The iswxdigit function tests for any wide character that corresponds to a
- hexadecimal-digit character.
-
- @param[in] WC The wide character to be classified.
-
- @return Returns non-zero (TRUE) if and only if the value of WC conforms
- to the classification described for this function.
- */
- int iswxdigit (wint_t WC);
-
- /** Construct a value that describes a class of wide characters, identified
- by the string pointed to by Desc. The constructed value is suitable for
- use as the second argument to the iswctype function.
-
- The following strings name classes of wide characters that the iswctype
- function is able to test against. These strings are valid in all locales
- as Desc arguments to wctype().
- - "alnum"
- - "alpha"
- - "blank"
- - "cntrl"
- - "digit"
- - "graph"
- - "lower"
- - "print"
- - "punct"
- - "space"
- - "upper"
- - "xdigit
-
- @param[in] Desc A pointer to a multibyte character string naming a
- class of wide characters.
-
- @return If Desc identifies a valid class of wide characters in the
- current locale, the wctype function returns a nonzero value that
- is valid as the second argument to the iswctype function;
- otherwise, it returns zero.
- */
- wctype_t wctype (const char *Desc);
-
- /** Determine whether the wide character WC has the property described by Wct.
-
- @param[in] WC The wide character to be classified.
- @param[in] Wct A value describing a class of wide characters.
-
- @return The iswctype function returns nonzero (TRUE) if and only if the
- value of the wide character WC has the property described by Wct.
- */
- int iswctype (wint_t WC, wctype_t Wct);
-
- /** Convert an uppercase letter to a corresponding lowercase letter.
-
- @param[in] WC The wide character to be converted.
-
- @return If the argument is a wide character for which iswupper is TRUE
- and there are one or more corresponding wide characters, as
- specified by the current locale, for which iswlower is TRUE, the
- towlower function returns one of the corresponding wide
- characters (always the same one for any given locale); otherwise,
- the argument is returned unchanged.
- */
- wint_t towlower (wint_t WC);
-
- /** Convert a lowercase letter to a corresponding uppercase letter.
-
- @param[in] WC The wide character to be converted.
-
- @return If the argument is a wide character for which iswlower is TRUE
- and there are one or more corresponding wide characters, as
- specified by the current locale, for which iswupper is TRUE, the
- towupper function returns one of the corresponding wide
- characters (always the same one for any given locale); otherwise,
- the argument is returned unchanged.
- */
- wint_t towupper (wint_t WC);
-
- /** Construct a value that describes a mapping between wide characters
- identified by the string argument, S.
-
- The strings listed below are valid in all locales as the S argument to
- the wctrans function.
- - "tolower"
- - "toupper"
-
- @param[in] S A pointer to a multibyte character string naming a
- mapping between wide characters.
-
- @return If S identifies a valid mapping of wide characters in the current
- locale, the wctrans function returns a nonzero value that is
- valid as the second argument to the towctrans function;
- otherwise, it returns zero.
- */
- wctrans_t wctrans (const char *S);
-
- /** Map the wide character WC using the mapping described by WTr. The current
- locale will be the same as during the call to wctrans that returned
- the value WTr.
-
- @param[in] WC The wide character to be converted.
- @param[in] WTr A value describing a mapping of wide characters in the
- current locale.
-
- @return Returns the mapped value of WC using the mapping selected by WTr.
- */
- wint_t towctrans (wint_t WC, wctrans_t WTr);
-__END_DECLS
-
-#endif /* _WCTYPE_H_ */
diff --git a/StdLib/Include/x86/float.h b/StdLib/Include/x86/float.h deleted file mode 100644 index 5086dfadcb..0000000000 --- a/StdLib/Include/x86/float.h +++ /dev/null @@ -1,35 +0,0 @@ -/** @file
- Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- NetBSD: float.h,v 1.5 2003/10/23 23:26:06 kleink Exp
-**/
-#ifndef _X86_FLOAT_H_
-#define _X86_FLOAT_H_
-
-/* long double and double are the same in Microsoft compilers.
- In GCC long double is fully supported.
-*/
-#if !defined(_MSC_VER) /* Non-Microsoft compiler specifics. */
- #define LDBL_MANT_DIG 64
- #define LDBL_EPSILON 1.0842021724855044340E-19L
- #define LDBL_DIG 18
- #define LDBL_MIN_EXP (-16381)
- #define LDBL_MIN 3.3621031431120935063E-4932L
- #define LDBL_MIN_10_EXP (-4931)
- #define LDBL_MAX_EXP 16384
- #define LDBL_MAX 1.1897314953572317650E+4932L
- #define LDBL_MAX_10_EXP 4932
-
- #define DECIMAL_DIG 21
-#endif // !defined(_MSC_VER)
-
-#include <sys/float_ieee754.h>
-
-#endif /* _X86_FLOAT_H_ */
diff --git a/StdLib/Include/x86/ieee.h b/StdLib/Include/x86/ieee.h deleted file mode 100644 index f4326b0bc1..0000000000 --- a/StdLib/Include/x86/ieee.h +++ /dev/null @@ -1,107 +0,0 @@ -/* $NetBSD: ieee.h,v 1.9.32.1 2007/05/07 19:49:10 pavel Exp $ */
-
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * 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, Lawrence Berkeley Laboratory.
- *
- * 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.
- *
- * @(#)ieee.h 8.1 (Berkeley) 6/11/93
- */
-
-/*
- * ieee.h defines the machine-dependent layout of the machine's IEEE
- * floating point. It does *not* define (yet?) any of the rounding
- * mode bits, exceptions, and so forth.
- */
-
-#include <sys/ieee754.h>
-
-#define EXT_EXPBITS 15
-#define EXT_FRACHBITS 32
-#define EXT_FRACLBITS 32
-#define EXT_FRACBITS (EXT_FRACLBITS + EXT_FRACHBITS)
-
-#define EXT_TO_ARRAY32(u, a) do { \
- (a)[0] = (uint32_t)(u).extu_ext.ext_fracl; \
- (a)[1] = (uint32_t)(u).extu_ext.ext_frach; \
-} while(/*CONSTCOND*/0)
-
-/*
- * struct ieee_ext is the raw storage layout of the 80-bit
- * extended-precision type as implemented by the FPU. Per the
- * respective ABI specifications, it is followed by a tail padding of
- *
- * amd64: 48 bits,
- * i386: 16 bits.
- */
-struct ieee_ext {
- u_int ext_fracl:EXT_FRACLBITS;
- u_int ext_frach:EXT_FRACHBITS;
-#if 0
- u_int ext_int:1;
-#endif
- u_int ext_exp:EXT_EXPBITS;
- u_int ext_sign:1;
-};
-
-/*
- * Floats whose exponent is in [1..INFNAN) (of whatever type) are
- * `normal'. Floats whose exponent is INFNAN are either Inf or NaN.
- * Floats whose exponent is zero are either zero (iff all fraction
- * bits are zero) or subnormal values.
- *
- * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its
- * high fraction; if the bit is set, it is a `quiet NaN'.
- */
-#define EXT_EXP_INFNAN 32767
-
-#if 0
-#define SNG_QUIETNAN (1 << 22)
-#define DBL_QUIETNAN (1 << 19)
-#define EXT_QUIETNAN (1 << 30)
-#endif
-
-/*
- * Exponent biases.
- */
-#define EXT_EXP_BIAS 16383
-
-/*
- * Convenience data structures.
- */
-union ieee_ext_u {
- long double extu_ld;
- struct ieee_ext extu_ext;
-};
diff --git a/StdLib/Include/x86/limits.h b/StdLib/Include/x86/limits.h deleted file mode 100644 index b5339c2fdc..0000000000 --- a/StdLib/Include/x86/limits.h +++ /dev/null @@ -1,67 +0,0 @@ -/** @file
- Intel x86 architecture (both Ia32 and X64) specific values for <limits.h>.
-
- Within this file, the ^ character is used in comments to represent exponentiation.
- Thus, 2^7 means "2 to the 7th power", NOT "2 XOR 7".
-
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-**/
-#ifndef _MACHINE_LIMITS_H
-#define _MACHINE_LIMITS_H
-
-/** Number of bits for smallest object that is not a bit-field (byte). **/
-#define __CHAR_BIT 8
-
-/** Minimum value for an object of type signed char. **/
-#define __SCHAR_MIN -128 // -(2^7 - 1)
-
-/** Maximum value for an object of type signed char. **/
-#define __SCHAR_MAX +127 // 2^7 - 1
-
-/** Maximum value for an object of type unsigned char. **/
-#define __UCHAR_MAX 255 // 2^8 - 1
-
-/** Minimum value for an object of type short int. **/
-#define __SHRT_MIN -32768 // -(2^15 - 1)
-
-/** Maximum value for an object of type short int. **/
-#define __SHRT_MAX +32767 // 2^15 - 1
-
-/** Maximum value for an object of type unsigned short int. **/
-#define __USHRT_MAX 65535 // 2^16 - 1
-
-/** Maximum value for an object of type int. **/
-#define __INT_MAX +2147483647 // 2^31 - 1
-
-/** Minimum value for an object of type int. **/
-#define __INT_MIN (-2147483647 - 1) // -(2^31 - 1)
-
-/** Maximum value for an object of type unsigned int. **/
-#define __UINT_MAX 0xffffffff // 2^32 - 1
-
-/** Minimum value for an object of type long long int. **/
-#define __LLONG_MIN (-9223372036854775807LL - 1LL) // -(2^63 - 1)
-
-/** Maximum value for an object of type long long int. **/
-#define __LLONG_MAX 9223372036854775807LL // 2^63 - 1
-
-/** Maximum value for an object of type unsigned long long int. **/
-#define __ULLONG_MAX 0xFFFFFFFFFFFFFFFFULL // 2^64 - 1
-
-/** Intel extensions to <limits.h> for UEFI
-@{
-**/
-#define __SHORT_BIT 16 ///< Number of bits comprising a short int.
-#define __WCHAR_BIT 16 ///< Number of bits comprising a wide character.
-#define __INT_BIT 32 ///< Number of bits comprising an int.
-#define __LONG_LONG_BIT 64 ///< Number of bits comprising a long long int.
-/// @}
-
-#endif /* _MACHINE_LIMITS_H */
diff --git a/StdLib/Include/x86/math.h b/StdLib/Include/x86/math.h deleted file mode 100644 index 7c308bfc84..0000000000 --- a/StdLib/Include/x86/math.h +++ /dev/null @@ -1,4 +0,0 @@ -/* $NetBSD: math.h,v 1.2 2003/10/28 00:55:28 kleink Exp $ */
-
-#define __HAVE_LONG_DOUBLE
-#define __HAVE_NANF
|