* commit 'd4b49c6ccfea428f0af5010ee164efa6727dc592': Refresh sysroot headers for aarch64.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* $OpenBSD: _types.h,v 1.3 2006/02/14 18:12:58 miod Exp $ */
|
||||
/* $OpenBSD: _types.h,v 1.13 2013/07/05 19:46:27 guenther Exp $ */
|
||||
|
||||
/*-
|
||||
/*
|
||||
* Copyright (c) 1990, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
@@ -32,8 +32,28 @@
|
||||
* @(#)ansi.h 8.2 (Berkeley) 1/4/94
|
||||
*/
|
||||
|
||||
#ifndef _ARM__TYPES_H_
|
||||
#define _ARM__TYPES_H_
|
||||
#ifndef _MACHINE__TYPES_H_
|
||||
#define _MACHINE__TYPES_H_
|
||||
|
||||
/*
|
||||
* _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
|
||||
* value for all data types (int, long, ...). The result is an
|
||||
* unsigned long and must be cast to any desired pointer type.
|
||||
*
|
||||
* _ALIGNED_POINTER is a boolean macro that checks whether an address
|
||||
* is valid to fetch data elements of type t from on this architecture.
|
||||
* This does not reflect the optimal alignment, just the possibility
|
||||
* (within reasonable limits).
|
||||
*/
|
||||
#define _ALIGNBYTES (sizeof(long) - 1)
|
||||
#define _ALIGN(p) (((unsigned long)(p) + _ALIGNBYTES) &~_ALIGNBYTES)
|
||||
#define _ALIGNED_POINTER(p,t) 1
|
||||
|
||||
#if defined(_KERNEL)
|
||||
typedef struct label_t {
|
||||
long val[8];
|
||||
} label_t;
|
||||
#endif
|
||||
|
||||
/* 7.18.1.1 Exact-width integer types */
|
||||
typedef __signed char __int8_t;
|
||||
@@ -66,17 +86,29 @@ typedef __int32_t __int_fast32_t;
|
||||
typedef __uint32_t __uint_fast32_t;
|
||||
typedef __int64_t __int_fast64_t;
|
||||
typedef __uint64_t __uint_fast64_t;
|
||||
#define __INT_FAST8_MIN INT32_MIN
|
||||
#define __INT_FAST16_MIN INT32_MIN
|
||||
#define __INT_FAST32_MIN INT32_MIN
|
||||
#define __INT_FAST64_MIN INT64_MIN
|
||||
#define __INT_FAST8_MAX INT32_MAX
|
||||
#define __INT_FAST16_MAX INT32_MAX
|
||||
#define __INT_FAST32_MAX INT32_MAX
|
||||
#define __INT_FAST64_MAX INT64_MAX
|
||||
#define __UINT_FAST8_MAX UINT32_MAX
|
||||
#define __UINT_FAST16_MAX UINT32_MAX
|
||||
#define __UINT_FAST32_MAX UINT32_MAX
|
||||
#define __UINT_FAST64_MAX UINT64_MAX
|
||||
|
||||
/* 7.18.1.4 Integer types capable of holding object pointers */
|
||||
typedef int __intptr_t;
|
||||
typedef unsigned int __uintptr_t;
|
||||
typedef long __intptr_t;
|
||||
typedef unsigned long __uintptr_t;
|
||||
|
||||
/* 7.18.1.5 Greatest-width integer types */
|
||||
typedef __int64_t __intmax_t;
|
||||
typedef __uint64_t __uintmax_t;
|
||||
|
||||
/* Register size */
|
||||
typedef __int32_t __register_t;
|
||||
typedef long __register_t;
|
||||
|
||||
/* VM system types */
|
||||
typedef unsigned long __vaddr_t;
|
||||
@@ -85,15 +117,14 @@ typedef unsigned long __vsize_t;
|
||||
typedef unsigned long __psize_t;
|
||||
|
||||
/* Standard system types */
|
||||
typedef int __clock_t;
|
||||
typedef int __clockid_t;
|
||||
typedef double __double_t;
|
||||
typedef float __float_t;
|
||||
typedef long __ptrdiff_t;
|
||||
typedef int __time_t;
|
||||
typedef int __timer_t;
|
||||
typedef long __ssize_t;
|
||||
#if defined(__GNUC__) && __GNUC__ >= 3
|
||||
typedef __builtin_va_list __va_list;
|
||||
#else
|
||||
typedef char * __va_list;
|
||||
typedef char * __va_list;
|
||||
#endif
|
||||
|
||||
/* Wide character support types */
|
||||
@@ -105,4 +136,4 @@ typedef int __rune_t;
|
||||
typedef void * __wctrans_t;
|
||||
typedef void * __wctype_t;
|
||||
|
||||
#endif /* _ARM__TYPES_H_ */
|
||||
#endif /* _MACHINE__TYPES_H_ */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* $OpenBSD: endian.h,v 1.3 2005/12/13 00:35:23 millert Exp $ */
|
||||
/* $OpenBSD: endian.h,v 1.6 2011/11/08 17:06:51 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2010 The Android Open Source Project
|
||||
* Copyright (C) 2013 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -28,62 +28,12 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _ARM_ENDIAN_H_
|
||||
#define _ARM_ENDIAN_H_
|
||||
#ifndef __AARCH64_ENDIAN_H_
|
||||
#define __AARCH64_ENDIAN_H_
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
/*
|
||||
* REV and REV16 weren't available on ARM5 or ARM4.
|
||||
* We don't include <machine/cpu-features.h> because it pollutes the
|
||||
* namespace with macros like PLD.
|
||||
*/
|
||||
#if !defined __ARM_ARCH_5__ && !defined __ARM_ARCH_5T__ && \
|
||||
!defined __ARM_ARCH_5TE__ && !defined __ARM_ARCH_5TEJ__ && \
|
||||
!defined __ARM_ARCH_4T__ && !defined __ARM_ARCH_4__
|
||||
|
||||
/* According to RealView Assembler User's Guide, REV and REV16 are available
|
||||
* in Thumb code and 16-bit instructions when used in Thumb-2 code.
|
||||
*
|
||||
* REV Rd, Rm
|
||||
* Rd and Rm must both be Lo registers.
|
||||
*
|
||||
* REV16 Rd, Rm
|
||||
* Rd and Rm must both be Lo registers.
|
||||
*
|
||||
* The +l constraint takes care of this without constraining us in ARM mode.
|
||||
*/
|
||||
#define __swap16md(x) ({ \
|
||||
register u_int16_t _x = (x); \
|
||||
__asm volatile ("rev16 %0, %0" : "+l" (_x)); \
|
||||
_x; \
|
||||
})
|
||||
|
||||
#define __swap32md(x) ({ \
|
||||
register u_int32_t _x = (x); \
|
||||
__asm volatile ("rev %0, %0" : "+l" (_x)); \
|
||||
_x; \
|
||||
})
|
||||
|
||||
#define __swap64md(x) ({ \
|
||||
u_int64_t _swap64md_x = (x); \
|
||||
(u_int64_t) __swap32md(_swap64md_x >> 32) | \
|
||||
(u_int64_t) __swap32md(_swap64md_x & 0xffffffff) << 32; \
|
||||
})
|
||||
|
||||
/* Tell sys/endian.h we have MD variants of the swap macros. */
|
||||
#define MD_SWAP
|
||||
|
||||
#endif /* __ARM_ARCH__ */
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#if defined(__ARMEB__)
|
||||
#define _BYTE_ORDER _BIG_ENDIAN
|
||||
#else
|
||||
/* FIXME - work in progress */
|
||||
#define _BYTE_ORDER _LITTLE_ENDIAN
|
||||
#endif
|
||||
#define __STRICT_ALIGNMENT
|
||||
#include <sys/types.h>
|
||||
#include <sys/endian.h>
|
||||
|
||||
#endif /* !_ARM_ENDIAN_H_ */
|
||||
#endif /* __AARCH64_ENDIAN_H_ */
|
||||
|
||||
@@ -1,50 +1,48 @@
|
||||
/* $OpenBSD: exec.h,v 1.9 2003/04/17 03:42:14 drahn Exp $ */
|
||||
/* $NetBSD: exec.h,v 1.6 1994/10/27 04:16:05 cgd Exp $ */
|
||||
/* $OpenBSD: exec.h,v 1.4 2012/09/11 15:44:17 deraadt Exp $ */
|
||||
/*
|
||||
* Written by Artur Grabowski <art@openbsd.org> Public Domain
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 1993 Christopher G. Demetriou
|
||||
* Copyright (C) 2013 The Android Open Source 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
|
||||
* * 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
|
||||
* * 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.
|
||||
* 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 OWNER 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_EXEC_H_
|
||||
#define _ARM_EXEC_H_
|
||||
#ifndef _MACHINE_EXEC_H_
|
||||
#define _MACHINE_EXEC_H_
|
||||
|
||||
#define __LDPGSZ 4096
|
||||
#define __LDPGSZ 4096
|
||||
|
||||
#define NATIVE_EXEC_ELF
|
||||
#define ARCH_ELFSIZE 64
|
||||
|
||||
#define ARCH_ELFSIZE 32
|
||||
|
||||
#define ELF_TARG_CLASS ELFCLASS32
|
||||
#define ELF_TARG_CLASS ELFCLASS64
|
||||
#define ELF_TARG_DATA ELFDATA2LSB
|
||||
#define ELF_TARG_MACH EM_ARM
|
||||
#define ELF_TARG_MACH EM_AARCH64
|
||||
|
||||
#define _NLIST_DO_AOUT
|
||||
#define _NLIST_DO_ELF
|
||||
#define _KERN_DO_ELF64
|
||||
|
||||
#define _KERN_DO_AOUT
|
||||
#define _KERN_DO_ELF
|
||||
|
||||
#endif /* _ARM_EXEC_H_ */
|
||||
#endif
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
/* $OpenBSD: internal_types.h,v 1.2 2004/05/06 15:53:39 drahn Exp $ */
|
||||
/* Public domain */
|
||||
#ifndef _ARM_INTERNAL_TYPES_H_
|
||||
#define _ARM_INTERNAL_TYPES_H_
|
||||
|
||||
#ifdef __CHAR_UNSIGNED__
|
||||
#define __machine_has_unsigned_chars
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* Copyright (C) 2013 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -25,18 +25,19 @@
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _ARCH_ARM_KERNEL_H
|
||||
#define _ARCH_ARM_KERNEL_H
|
||||
|
||||
#ifndef _ARCH_AARCH64_KERNEL_H
|
||||
#define _ARCH_AARCH64_KERNEL_H
|
||||
|
||||
/* this file contains kernel-specific definitions that were optimized out of
|
||||
our processed kernel headers, but still useful nonetheless... */
|
||||
|
||||
typedef unsigned long __kernel_blkcnt_t;
|
||||
typedef unsigned long __kernel_blksize_t;
|
||||
typedef __kernel_ulong_t __kernel_blkcnt_t;
|
||||
typedef __kernel_ulong_t __kernel_blksize_t;
|
||||
|
||||
/* these aren't really defined by the kernel headers though... */
|
||||
typedef unsigned long __kernel_fsblkcnt_t;
|
||||
typedef unsigned long __kernel_fsfilcnt_t;
|
||||
typedef unsigned int __kernel_id_t;
|
||||
typedef __kernel_ulong_t __kernel_fsblkcnt_t;
|
||||
typedef __kernel_ulong_t __kernel_fsfilcnt_t;
|
||||
typedef unsigned int __kernel_id_t;
|
||||
|
||||
#endif /* _ARCH_ARM_KERNEL_H */
|
||||
#endif /* _ARCH_AARCH64_KERNEL_H */
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/* $OpenBSD: limits.h,v 1.3 2006/01/06 22:48:46 millert Exp $ */
|
||||
/* $NetBSD: limits.h,v 1.4 2003/04/28 23:16:18 bjh21 Exp $ */
|
||||
/* $OpenBSD: limits.h,v 1.5 2009/11/27 19:54:35 guenther Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 The Regents of the University of California.
|
||||
@@ -29,25 +28,23 @@
|
||||
* 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
|
||||
* @(#)limits.h 7.2 (Berkeley) 6/28/90
|
||||
*/
|
||||
|
||||
#ifndef _ARM32_LIMITS_H_
|
||||
#define _ARM32_LIMITS_H_
|
||||
#ifndef _MACHINE_LIMITS_H_
|
||||
#define _MACHINE_LIMITS_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#define MB_LEN_MAX 1 /* no multibyte characters */
|
||||
|
||||
#if __POSIX_VISIBLE || __XPG_VISIBLE
|
||||
#ifndef SIZE_MAX
|
||||
#define SIZE_MAX UINT_MAX /* max value for a size_t */
|
||||
#define SIZE_MAX ULONG_MAX /* max value for a size_t */
|
||||
#endif
|
||||
#ifndef SSIZE_MAX
|
||||
#define SSIZE_MAX INT_MAX /* max value for a ssize_t */
|
||||
#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
|
||||
#endif
|
||||
|
||||
#if __BSD_VISIBLE
|
||||
#define SIZE_T_MAX UINT_MAX /* max value for a size_t (historic) */
|
||||
#define SIZE_T_MAX ULONG_MAX /* max value for a size_t (historic) */
|
||||
|
||||
#define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */
|
||||
#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */
|
||||
@@ -55,9 +52,4 @@
|
||||
|
||||
#endif /* __BSD_VISIBLE */
|
||||
|
||||
#define LONGLONG_BIT 64
|
||||
#define LONGLONG_MIN (-9223372036854775807LL-1)
|
||||
#define LONGLONG_MAX 9223372036854775807LL
|
||||
#define ULONGLONG_MAX 18446744073709551615ULL
|
||||
|
||||
#endif /* _ARM32_LIMITS_H_ */
|
||||
#endif /* _MACHINE_LIMITS_H_ */
|
||||
|
||||
174
ndk/platforms/android-9/arch-aarch64/include/sys/limits.h
Normal file
174
ndk/platforms/android-9/arch-aarch64/include/sys/limits.h
Normal file
@@ -0,0 +1,174 @@
|
||||
/* $OpenBSD: limits.h,v 1.6 2005/12/13 00:35:23 millert Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2002 Marc Espie.
|
||||
*
|
||||
* 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 OPENBSD 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 OPENBSD
|
||||
* 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.
|
||||
*/
|
||||
#ifndef _SYS_LIMITS_H_
|
||||
#define _SYS_LIMITS_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
/* Common definitions for limits.h. */
|
||||
|
||||
/* Legacy */
|
||||
#include <machine/limits.h>
|
||||
|
||||
#define CHAR_BIT 8 /* number of bits in a char */
|
||||
|
||||
#define SCHAR_MAX 0x7f /* max value for a signed char */
|
||||
#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
|
||||
|
||||
#define UCHAR_MAX 0xffU /* max value for an unsigned char */
|
||||
#ifdef __CHAR_UNSIGNED__
|
||||
# define CHAR_MIN 0 /* min value for a char */
|
||||
# define CHAR_MAX 0xff /* max value for a char */
|
||||
#else
|
||||
# define CHAR_MAX 0x7f
|
||||
# define CHAR_MIN (-0x7f-1)
|
||||
#endif
|
||||
|
||||
#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 */
|
||||
|
||||
#ifdef __LP64__
|
||||
# define ULONG_MAX 0xffffffffffffffffUL
|
||||
/* max value for unsigned long */
|
||||
# define LONG_MAX 0x7fffffffffffffffL
|
||||
/* max value for a signed long */
|
||||
# define LONG_MIN (-0x7fffffffffffffffL-1)
|
||||
/* min value for a signed long */
|
||||
#else
|
||||
# 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 */
|
||||
#endif
|
||||
|
||||
#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999
|
||||
# define ULLONG_MAX 0xffffffffffffffffULL
|
||||
/* max value for unsigned long long */
|
||||
# define LLONG_MAX 0x7fffffffffffffffLL
|
||||
/* max value for a signed long long */
|
||||
# define LLONG_MIN (-0x7fffffffffffffffLL-1)
|
||||
/* min value for a signed long long */
|
||||
#endif
|
||||
|
||||
#if __BSD_VISIBLE
|
||||
# define UID_MAX UINT_MAX /* max value for a uid_t */
|
||||
# define GID_MAX UINT_MAX /* max value for a gid_t */
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __LP64__
|
||||
# define LONG_BIT 64
|
||||
#else
|
||||
# define LONG_BIT 32
|
||||
#endif
|
||||
|
||||
/* float.h defines these as well */
|
||||
# if !defined(DBL_DIG)
|
||||
# if defined(__DBL_DIG)
|
||||
# define DBL_DIG __DBL_DIG
|
||||
# define DBL_MAX __DBL_MAX
|
||||
# define DBL_MIN __DBL_MIN
|
||||
|
||||
# define FLT_DIG __FLT_DIG
|
||||
# define FLT_MAX __FLT_MAX
|
||||
# define FLT_MIN __FLT_MIN
|
||||
# else
|
||||
# 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
|
||||
|
||||
/* Bionic: the following has been optimized out from our processed kernel headers */
|
||||
|
||||
#define CHILD_MAX 999
|
||||
#define OPEN_MAX 256
|
||||
|
||||
/* Bionic-specific definitions */
|
||||
|
||||
#define _POSIX_VERSION 200112L /* Posix C language bindings version */
|
||||
#define _POSIX2_VERSION -1 /* we don't support Posix command-line tools */
|
||||
#define _POSIX2_C_VERSION _POSIX_VERSION
|
||||
#define _XOPEN_VERSION 500 /* by Posix definition */
|
||||
#define _XOPEN_XCU_VERSION -1 /* we don't support command-line utilities */
|
||||
|
||||
/* tell what we implement legacy stuff when appropriate */
|
||||
#if _POSIX_VERSION > 0
|
||||
#define _XOPEN_XPG2 1
|
||||
#define _XOPEN_XPG3 1
|
||||
#define _XOPEN_XPG4 1
|
||||
#define _XOPEN_UNIX 1
|
||||
#endif
|
||||
|
||||
#define _XOPEN_ENH_I18N -1 /* we don't support internationalization in the C library */
|
||||
#define _XOPEN_CRYPT -1 /* don't support X/Open Encryption */
|
||||
#define _XOPEN_LEGACY -1 /* don't claim we support these, we have some of them but not all */
|
||||
#define _XOPEN_REALTIME -1 /* we don't support all these functions */
|
||||
#define _XOPEN_REALTIME_THREADS -1 /* same here */
|
||||
|
||||
#define _POSIX_REALTIME_SIGNALS -1 /* for now, this is not supported */
|
||||
#define _POSIX_PRIORITY_SCHEDULING 1 /* priority scheduling is a Linux feature */
|
||||
#define _POSIX_TIMERS 1 /* Posix timers are supported */
|
||||
#undef _POSIX_ASYNCHRONOUS_IO /* aio_ functions are not supported */
|
||||
#define _POSIX_SYNCHRONIZED_IO 1 /* synchronized i/o supported */
|
||||
#define _POSIX_FSYNC 1 /* fdatasync() supported */
|
||||
#define _POSIX_MAPPED_FILES 1 /* mmap-ed files supported */
|
||||
|
||||
/* XXX: TODO: complete and check list here */
|
||||
|
||||
|
||||
#define _POSIX_THREADS 1 /* we support threads */
|
||||
#define _POSIX_THREAD_STACKADDR 1 /* we support thread stack address */
|
||||
#define _POSIX_THREAD_STACKSIZE 1 /* we support thread stack size */
|
||||
#define _POSIX_THREAD_PRIO_INHERIT 200112L /* linux feature */
|
||||
#define _POSIX_THREAD_PRIO_PROTECT 200112L /* linux feature */
|
||||
|
||||
#undef _POSIX_PROCESS_SHARED /* we don't support process-shared synchronization */
|
||||
#undef _POSIX_THREAD_SAFE_FUNCTIONS /* most functions are, but not everything yet */
|
||||
#define _POSIX_CHOWN_RESTRICTED 1 /* yes, chown requires appropriate privileges */
|
||||
#define _POSIX_MONOTONIC_CLOCK 0 /* the monotonic clock may be available; ask sysconf */
|
||||
#define _POSIX_NO_TRUNC 1 /* very long pathnames generate an error */
|
||||
#define _POSIX_SAVED_IDS 1 /* saved user ids is a Linux feature */
|
||||
#define _POSIX_JOB_CONTROL 1 /* job control is a Linux feature */
|
||||
|
||||
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 /* the minimum mandated by POSIX */
|
||||
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
|
||||
#define _POSIX_THREAD_KEYS_MAX 128 /* the minimum mandated by POSIX */
|
||||
#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
|
||||
#define _POSIX_THREAD_THREADS_MAX 64 /* the minimum mandated by POSIX */
|
||||
#define PTHREAD_THREADS_MAX /* bionic has no specific limit */
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user