change font
This commit is contained in:
parent
22d98188be
commit
f3795d087e
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _ALLOCA_H
|
||||||
|
#define _ALLOCA_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
#define __need_size_t
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
/* Remove any previous definition. */
|
||||||
|
#undef alloca
|
||||||
|
|
||||||
|
/* Allocate a block that will be freed when the calling function exits. */
|
||||||
|
extern void *alloca (size_t __size) __THROW;
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# define alloca(size) __builtin_alloca (size)
|
||||||
|
#endif /* GCC. */
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* alloca.h */
|
Binary file not shown.
@ -0,0 +1,79 @@
|
|||||||
|
/* Macros and inline functions to swap the order of bytes in integer values.
|
||||||
|
Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
|
||||||
|
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_BYTESWAP_H
|
||||||
|
#define _BITS_BYTESWAP_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Swap bytes in 16-bit value. */
|
||||||
|
#define __bswap_constant_16(x) \
|
||||||
|
((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
|
||||||
|
|
||||||
|
static __inline __uint16_t
|
||||||
|
__bswap_16 (__uint16_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 8)
|
||||||
|
return __builtin_bswap16 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_16 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Swap bytes in 32-bit value. */
|
||||||
|
#define __bswap_constant_32(x) \
|
||||||
|
((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \
|
||||||
|
| (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
|
||||||
|
|
||||||
|
static __inline __uint32_t
|
||||||
|
__bswap_32 (__uint32_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 3)
|
||||||
|
return __builtin_bswap32 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_32 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Swap bytes in 64-bit value. */
|
||||||
|
#define __bswap_constant_64(x) \
|
||||||
|
((((x) & 0xff00000000000000ull) >> 56) \
|
||||||
|
| (((x) & 0x00ff000000000000ull) >> 40) \
|
||||||
|
| (((x) & 0x0000ff0000000000ull) >> 24) \
|
||||||
|
| (((x) & 0x000000ff00000000ull) >> 8) \
|
||||||
|
| (((x) & 0x00000000ff000000ull) << 8) \
|
||||||
|
| (((x) & 0x0000000000ff0000ull) << 24) \
|
||||||
|
| (((x) & 0x000000000000ff00ull) << 40) \
|
||||||
|
| (((x) & 0x00000000000000ffull) << 56))
|
||||||
|
|
||||||
|
__extension__ static __inline __uint64_t
|
||||||
|
__bswap_64 (__uint64_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 3)
|
||||||
|
return __builtin_bswap64 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_64 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _BITS_BYTESWAP_H */
|
Binary file not shown.
@ -0,0 +1,681 @@
|
|||||||
|
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
|
||||||
|
Copyright (C) 1993-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _UNISTD_H
|
||||||
|
# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for the NAME argument to `pathconf' and `fpathconf'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_PC_LINK_MAX,
|
||||||
|
#define _PC_LINK_MAX _PC_LINK_MAX
|
||||||
|
_PC_MAX_CANON,
|
||||||
|
#define _PC_MAX_CANON _PC_MAX_CANON
|
||||||
|
_PC_MAX_INPUT,
|
||||||
|
#define _PC_MAX_INPUT _PC_MAX_INPUT
|
||||||
|
_PC_NAME_MAX,
|
||||||
|
#define _PC_NAME_MAX _PC_NAME_MAX
|
||||||
|
_PC_PATH_MAX,
|
||||||
|
#define _PC_PATH_MAX _PC_PATH_MAX
|
||||||
|
_PC_PIPE_BUF,
|
||||||
|
#define _PC_PIPE_BUF _PC_PIPE_BUF
|
||||||
|
_PC_CHOWN_RESTRICTED,
|
||||||
|
#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
|
||||||
|
_PC_NO_TRUNC,
|
||||||
|
#define _PC_NO_TRUNC _PC_NO_TRUNC
|
||||||
|
_PC_VDISABLE,
|
||||||
|
#define _PC_VDISABLE _PC_VDISABLE
|
||||||
|
_PC_SYNC_IO,
|
||||||
|
#define _PC_SYNC_IO _PC_SYNC_IO
|
||||||
|
_PC_ASYNC_IO,
|
||||||
|
#define _PC_ASYNC_IO _PC_ASYNC_IO
|
||||||
|
_PC_PRIO_IO,
|
||||||
|
#define _PC_PRIO_IO _PC_PRIO_IO
|
||||||
|
_PC_SOCK_MAXBUF,
|
||||||
|
#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
|
||||||
|
_PC_FILESIZEBITS,
|
||||||
|
#define _PC_FILESIZEBITS _PC_FILESIZEBITS
|
||||||
|
_PC_REC_INCR_XFER_SIZE,
|
||||||
|
#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
|
||||||
|
_PC_REC_MAX_XFER_SIZE,
|
||||||
|
#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
|
||||||
|
_PC_REC_MIN_XFER_SIZE,
|
||||||
|
#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
|
||||||
|
_PC_REC_XFER_ALIGN,
|
||||||
|
#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
|
||||||
|
_PC_ALLOC_SIZE_MIN,
|
||||||
|
#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
|
||||||
|
_PC_SYMLINK_MAX,
|
||||||
|
#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
|
||||||
|
_PC_2_SYMLINKS
|
||||||
|
#define _PC_2_SYMLINKS _PC_2_SYMLINKS
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Values for the argument to `sysconf'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_SC_ARG_MAX,
|
||||||
|
#define _SC_ARG_MAX _SC_ARG_MAX
|
||||||
|
_SC_CHILD_MAX,
|
||||||
|
#define _SC_CHILD_MAX _SC_CHILD_MAX
|
||||||
|
_SC_CLK_TCK,
|
||||||
|
#define _SC_CLK_TCK _SC_CLK_TCK
|
||||||
|
_SC_NGROUPS_MAX,
|
||||||
|
#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
|
||||||
|
_SC_OPEN_MAX,
|
||||||
|
#define _SC_OPEN_MAX _SC_OPEN_MAX
|
||||||
|
_SC_STREAM_MAX,
|
||||||
|
#define _SC_STREAM_MAX _SC_STREAM_MAX
|
||||||
|
_SC_TZNAME_MAX,
|
||||||
|
#define _SC_TZNAME_MAX _SC_TZNAME_MAX
|
||||||
|
_SC_JOB_CONTROL,
|
||||||
|
#define _SC_JOB_CONTROL _SC_JOB_CONTROL
|
||||||
|
_SC_SAVED_IDS,
|
||||||
|
#define _SC_SAVED_IDS _SC_SAVED_IDS
|
||||||
|
_SC_REALTIME_SIGNALS,
|
||||||
|
#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||||
|
_SC_PRIORITY_SCHEDULING,
|
||||||
|
#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||||
|
_SC_TIMERS,
|
||||||
|
#define _SC_TIMERS _SC_TIMERS
|
||||||
|
_SC_ASYNCHRONOUS_IO,
|
||||||
|
#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||||
|
_SC_PRIORITIZED_IO,
|
||||||
|
#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||||
|
_SC_SYNCHRONIZED_IO,
|
||||||
|
#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||||
|
_SC_FSYNC,
|
||||||
|
#define _SC_FSYNC _SC_FSYNC
|
||||||
|
_SC_MAPPED_FILES,
|
||||||
|
#define _SC_MAPPED_FILES _SC_MAPPED_FILES
|
||||||
|
_SC_MEMLOCK,
|
||||||
|
#define _SC_MEMLOCK _SC_MEMLOCK
|
||||||
|
_SC_MEMLOCK_RANGE,
|
||||||
|
#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||||
|
_SC_MEMORY_PROTECTION,
|
||||||
|
#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||||
|
_SC_MESSAGE_PASSING,
|
||||||
|
#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||||
|
_SC_SEMAPHORES,
|
||||||
|
#define _SC_SEMAPHORES _SC_SEMAPHORES
|
||||||
|
_SC_SHARED_MEMORY_OBJECTS,
|
||||||
|
#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||||
|
_SC_AIO_LISTIO_MAX,
|
||||||
|
#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
|
||||||
|
_SC_AIO_MAX,
|
||||||
|
#define _SC_AIO_MAX _SC_AIO_MAX
|
||||||
|
_SC_AIO_PRIO_DELTA_MAX,
|
||||||
|
#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
|
||||||
|
_SC_DELAYTIMER_MAX,
|
||||||
|
#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
|
||||||
|
_SC_MQ_OPEN_MAX,
|
||||||
|
#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
|
||||||
|
_SC_MQ_PRIO_MAX,
|
||||||
|
#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
|
||||||
|
_SC_VERSION,
|
||||||
|
#define _SC_VERSION _SC_VERSION
|
||||||
|
_SC_PAGESIZE,
|
||||||
|
#define _SC_PAGESIZE _SC_PAGESIZE
|
||||||
|
#define _SC_PAGE_SIZE _SC_PAGESIZE
|
||||||
|
_SC_RTSIG_MAX,
|
||||||
|
#define _SC_RTSIG_MAX _SC_RTSIG_MAX
|
||||||
|
_SC_SEM_NSEMS_MAX,
|
||||||
|
#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
|
||||||
|
_SC_SEM_VALUE_MAX,
|
||||||
|
#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
|
||||||
|
_SC_SIGQUEUE_MAX,
|
||||||
|
#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
|
||||||
|
_SC_TIMER_MAX,
|
||||||
|
#define _SC_TIMER_MAX _SC_TIMER_MAX
|
||||||
|
|
||||||
|
/* Values for the argument to `sysconf'
|
||||||
|
corresponding to _POSIX2_* symbols. */
|
||||||
|
_SC_BC_BASE_MAX,
|
||||||
|
#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
|
||||||
|
_SC_BC_DIM_MAX,
|
||||||
|
#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
|
||||||
|
_SC_BC_SCALE_MAX,
|
||||||
|
#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
|
||||||
|
_SC_BC_STRING_MAX,
|
||||||
|
#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
|
||||||
|
_SC_COLL_WEIGHTS_MAX,
|
||||||
|
#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
|
||||||
|
_SC_EQUIV_CLASS_MAX,
|
||||||
|
#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
|
||||||
|
_SC_EXPR_NEST_MAX,
|
||||||
|
#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
|
||||||
|
_SC_LINE_MAX,
|
||||||
|
#define _SC_LINE_MAX _SC_LINE_MAX
|
||||||
|
_SC_RE_DUP_MAX,
|
||||||
|
#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
|
||||||
|
_SC_CHARCLASS_NAME_MAX,
|
||||||
|
#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
|
||||||
|
|
||||||
|
_SC_2_VERSION,
|
||||||
|
#define _SC_2_VERSION _SC_2_VERSION
|
||||||
|
_SC_2_C_BIND,
|
||||||
|
#define _SC_2_C_BIND _SC_2_C_BIND
|
||||||
|
_SC_2_C_DEV,
|
||||||
|
#define _SC_2_C_DEV _SC_2_C_DEV
|
||||||
|
_SC_2_FORT_DEV,
|
||||||
|
#define _SC_2_FORT_DEV _SC_2_FORT_DEV
|
||||||
|
_SC_2_FORT_RUN,
|
||||||
|
#define _SC_2_FORT_RUN _SC_2_FORT_RUN
|
||||||
|
_SC_2_SW_DEV,
|
||||||
|
#define _SC_2_SW_DEV _SC_2_SW_DEV
|
||||||
|
_SC_2_LOCALEDEF,
|
||||||
|
#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
|
||||||
|
|
||||||
|
_SC_PII,
|
||||||
|
#define _SC_PII _SC_PII
|
||||||
|
_SC_PII_XTI,
|
||||||
|
#define _SC_PII_XTI _SC_PII_XTI
|
||||||
|
_SC_PII_SOCKET,
|
||||||
|
#define _SC_PII_SOCKET _SC_PII_SOCKET
|
||||||
|
_SC_PII_INTERNET,
|
||||||
|
#define _SC_PII_INTERNET _SC_PII_INTERNET
|
||||||
|
_SC_PII_OSI,
|
||||||
|
#define _SC_PII_OSI _SC_PII_OSI
|
||||||
|
_SC_POLL,
|
||||||
|
#define _SC_POLL _SC_POLL
|
||||||
|
_SC_SELECT,
|
||||||
|
#define _SC_SELECT _SC_SELECT
|
||||||
|
_SC_UIO_MAXIOV,
|
||||||
|
#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
|
||||||
|
_SC_IOV_MAX = _SC_UIO_MAXIOV,
|
||||||
|
#define _SC_IOV_MAX _SC_IOV_MAX
|
||||||
|
_SC_PII_INTERNET_STREAM,
|
||||||
|
#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
|
||||||
|
_SC_PII_INTERNET_DGRAM,
|
||||||
|
#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
|
||||||
|
_SC_PII_OSI_COTS,
|
||||||
|
#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
|
||||||
|
_SC_PII_OSI_CLTS,
|
||||||
|
#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
|
||||||
|
_SC_PII_OSI_M,
|
||||||
|
#define _SC_PII_OSI_M _SC_PII_OSI_M
|
||||||
|
_SC_T_IOV_MAX,
|
||||||
|
#define _SC_T_IOV_MAX _SC_T_IOV_MAX
|
||||||
|
|
||||||
|
/* Values according to POSIX 1003.1c (POSIX threads). */
|
||||||
|
_SC_THREADS,
|
||||||
|
#define _SC_THREADS _SC_THREADS
|
||||||
|
_SC_THREAD_SAFE_FUNCTIONS,
|
||||||
|
#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||||
|
_SC_GETGR_R_SIZE_MAX,
|
||||||
|
#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
|
||||||
|
_SC_GETPW_R_SIZE_MAX,
|
||||||
|
#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
|
||||||
|
_SC_LOGIN_NAME_MAX,
|
||||||
|
#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
|
||||||
|
_SC_TTY_NAME_MAX,
|
||||||
|
#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
|
||||||
|
_SC_THREAD_DESTRUCTOR_ITERATIONS,
|
||||||
|
#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||||
|
_SC_THREAD_KEYS_MAX,
|
||||||
|
#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
|
||||||
|
_SC_THREAD_STACK_MIN,
|
||||||
|
#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
|
||||||
|
_SC_THREAD_THREADS_MAX,
|
||||||
|
#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
|
||||||
|
_SC_THREAD_ATTR_STACKADDR,
|
||||||
|
#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||||
|
_SC_THREAD_ATTR_STACKSIZE,
|
||||||
|
#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||||
|
_SC_THREAD_PRIORITY_SCHEDULING,
|
||||||
|
#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||||
|
_SC_THREAD_PRIO_INHERIT,
|
||||||
|
#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||||
|
_SC_THREAD_PRIO_PROTECT,
|
||||||
|
#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||||
|
_SC_THREAD_PROCESS_SHARED,
|
||||||
|
#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||||
|
|
||||||
|
_SC_NPROCESSORS_CONF,
|
||||||
|
#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
|
||||||
|
_SC_NPROCESSORS_ONLN,
|
||||||
|
#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
|
||||||
|
_SC_PHYS_PAGES,
|
||||||
|
#define _SC_PHYS_PAGES _SC_PHYS_PAGES
|
||||||
|
_SC_AVPHYS_PAGES,
|
||||||
|
#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
|
||||||
|
_SC_ATEXIT_MAX,
|
||||||
|
#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
|
||||||
|
_SC_PASS_MAX,
|
||||||
|
#define _SC_PASS_MAX _SC_PASS_MAX
|
||||||
|
|
||||||
|
_SC_XOPEN_VERSION,
|
||||||
|
#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
|
||||||
|
_SC_XOPEN_XCU_VERSION,
|
||||||
|
#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
|
||||||
|
_SC_XOPEN_UNIX,
|
||||||
|
#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
|
||||||
|
_SC_XOPEN_CRYPT,
|
||||||
|
#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||||
|
_SC_XOPEN_ENH_I18N,
|
||||||
|
#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||||
|
_SC_XOPEN_SHM,
|
||||||
|
#define _SC_XOPEN_SHM _SC_XOPEN_SHM
|
||||||
|
|
||||||
|
_SC_2_CHAR_TERM,
|
||||||
|
#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
|
||||||
|
_SC_2_C_VERSION,
|
||||||
|
#define _SC_2_C_VERSION _SC_2_C_VERSION
|
||||||
|
_SC_2_UPE,
|
||||||
|
#define _SC_2_UPE _SC_2_UPE
|
||||||
|
|
||||||
|
_SC_XOPEN_XPG2,
|
||||||
|
#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
|
||||||
|
_SC_XOPEN_XPG3,
|
||||||
|
#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
|
||||||
|
_SC_XOPEN_XPG4,
|
||||||
|
#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
|
||||||
|
|
||||||
|
_SC_CHAR_BIT,
|
||||||
|
#define _SC_CHAR_BIT _SC_CHAR_BIT
|
||||||
|
_SC_CHAR_MAX,
|
||||||
|
#define _SC_CHAR_MAX _SC_CHAR_MAX
|
||||||
|
_SC_CHAR_MIN,
|
||||||
|
#define _SC_CHAR_MIN _SC_CHAR_MIN
|
||||||
|
_SC_INT_MAX,
|
||||||
|
#define _SC_INT_MAX _SC_INT_MAX
|
||||||
|
_SC_INT_MIN,
|
||||||
|
#define _SC_INT_MIN _SC_INT_MIN
|
||||||
|
_SC_LONG_BIT,
|
||||||
|
#define _SC_LONG_BIT _SC_LONG_BIT
|
||||||
|
_SC_WORD_BIT,
|
||||||
|
#define _SC_WORD_BIT _SC_WORD_BIT
|
||||||
|
_SC_MB_LEN_MAX,
|
||||||
|
#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
|
||||||
|
_SC_NZERO,
|
||||||
|
#define _SC_NZERO _SC_NZERO
|
||||||
|
_SC_SSIZE_MAX,
|
||||||
|
#define _SC_SSIZE_MAX _SC_SSIZE_MAX
|
||||||
|
_SC_SCHAR_MAX,
|
||||||
|
#define _SC_SCHAR_MAX _SC_SCHAR_MAX
|
||||||
|
_SC_SCHAR_MIN,
|
||||||
|
#define _SC_SCHAR_MIN _SC_SCHAR_MIN
|
||||||
|
_SC_SHRT_MAX,
|
||||||
|
#define _SC_SHRT_MAX _SC_SHRT_MAX
|
||||||
|
_SC_SHRT_MIN,
|
||||||
|
#define _SC_SHRT_MIN _SC_SHRT_MIN
|
||||||
|
_SC_UCHAR_MAX,
|
||||||
|
#define _SC_UCHAR_MAX _SC_UCHAR_MAX
|
||||||
|
_SC_UINT_MAX,
|
||||||
|
#define _SC_UINT_MAX _SC_UINT_MAX
|
||||||
|
_SC_ULONG_MAX,
|
||||||
|
#define _SC_ULONG_MAX _SC_ULONG_MAX
|
||||||
|
_SC_USHRT_MAX,
|
||||||
|
#define _SC_USHRT_MAX _SC_USHRT_MAX
|
||||||
|
|
||||||
|
_SC_NL_ARGMAX,
|
||||||
|
#define _SC_NL_ARGMAX _SC_NL_ARGMAX
|
||||||
|
_SC_NL_LANGMAX,
|
||||||
|
#define _SC_NL_LANGMAX _SC_NL_LANGMAX
|
||||||
|
_SC_NL_MSGMAX,
|
||||||
|
#define _SC_NL_MSGMAX _SC_NL_MSGMAX
|
||||||
|
_SC_NL_NMAX,
|
||||||
|
#define _SC_NL_NMAX _SC_NL_NMAX
|
||||||
|
_SC_NL_SETMAX,
|
||||||
|
#define _SC_NL_SETMAX _SC_NL_SETMAX
|
||||||
|
_SC_NL_TEXTMAX,
|
||||||
|
#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
|
||||||
|
|
||||||
|
_SC_XBS5_ILP32_OFF32,
|
||||||
|
#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
|
||||||
|
_SC_XBS5_ILP32_OFFBIG,
|
||||||
|
#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
|
||||||
|
_SC_XBS5_LP64_OFF64,
|
||||||
|
#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
|
||||||
|
_SC_XBS5_LPBIG_OFFBIG,
|
||||||
|
#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_XOPEN_LEGACY,
|
||||||
|
#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||||
|
_SC_XOPEN_REALTIME,
|
||||||
|
#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||||
|
_SC_XOPEN_REALTIME_THREADS,
|
||||||
|
#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||||
|
|
||||||
|
_SC_ADVISORY_INFO,
|
||||||
|
#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||||
|
_SC_BARRIERS,
|
||||||
|
#define _SC_BARRIERS _SC_BARRIERS
|
||||||
|
_SC_BASE,
|
||||||
|
#define _SC_BASE _SC_BASE
|
||||||
|
_SC_C_LANG_SUPPORT,
|
||||||
|
#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
|
||||||
|
_SC_C_LANG_SUPPORT_R,
|
||||||
|
#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
|
||||||
|
_SC_CLOCK_SELECTION,
|
||||||
|
#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||||
|
_SC_CPUTIME,
|
||||||
|
#define _SC_CPUTIME _SC_CPUTIME
|
||||||
|
_SC_THREAD_CPUTIME,
|
||||||
|
#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||||
|
_SC_DEVICE_IO,
|
||||||
|
#define _SC_DEVICE_IO _SC_DEVICE_IO
|
||||||
|
_SC_DEVICE_SPECIFIC,
|
||||||
|
#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
|
||||||
|
_SC_DEVICE_SPECIFIC_R,
|
||||||
|
#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
|
||||||
|
_SC_FD_MGMT,
|
||||||
|
#define _SC_FD_MGMT _SC_FD_MGMT
|
||||||
|
_SC_FIFO,
|
||||||
|
#define _SC_FIFO _SC_FIFO
|
||||||
|
_SC_PIPE,
|
||||||
|
#define _SC_PIPE _SC_PIPE
|
||||||
|
_SC_FILE_ATTRIBUTES,
|
||||||
|
#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
|
||||||
|
_SC_FILE_LOCKING,
|
||||||
|
#define _SC_FILE_LOCKING _SC_FILE_LOCKING
|
||||||
|
_SC_FILE_SYSTEM,
|
||||||
|
#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
|
||||||
|
_SC_MONOTONIC_CLOCK,
|
||||||
|
#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||||
|
_SC_MULTI_PROCESS,
|
||||||
|
#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
|
||||||
|
_SC_SINGLE_PROCESS,
|
||||||
|
#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
|
||||||
|
_SC_NETWORKING,
|
||||||
|
#define _SC_NETWORKING _SC_NETWORKING
|
||||||
|
_SC_READER_WRITER_LOCKS,
|
||||||
|
#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||||
|
_SC_SPIN_LOCKS,
|
||||||
|
#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||||
|
_SC_REGEXP,
|
||||||
|
#define _SC_REGEXP _SC_REGEXP
|
||||||
|
_SC_REGEX_VERSION,
|
||||||
|
#define _SC_REGEX_VERSION _SC_REGEX_VERSION
|
||||||
|
_SC_SHELL,
|
||||||
|
#define _SC_SHELL _SC_SHELL
|
||||||
|
_SC_SIGNALS,
|
||||||
|
#define _SC_SIGNALS _SC_SIGNALS
|
||||||
|
_SC_SPAWN,
|
||||||
|
#define _SC_SPAWN _SC_SPAWN
|
||||||
|
_SC_SPORADIC_SERVER,
|
||||||
|
#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||||
|
_SC_THREAD_SPORADIC_SERVER,
|
||||||
|
#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||||
|
_SC_SYSTEM_DATABASE,
|
||||||
|
#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
|
||||||
|
_SC_SYSTEM_DATABASE_R,
|
||||||
|
#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
|
||||||
|
_SC_TIMEOUTS,
|
||||||
|
#define _SC_TIMEOUTS _SC_TIMEOUTS
|
||||||
|
_SC_TYPED_MEMORY_OBJECTS,
|
||||||
|
#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||||
|
_SC_USER_GROUPS,
|
||||||
|
#define _SC_USER_GROUPS _SC_USER_GROUPS
|
||||||
|
_SC_USER_GROUPS_R,
|
||||||
|
#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
|
||||||
|
_SC_2_PBS,
|
||||||
|
#define _SC_2_PBS _SC_2_PBS
|
||||||
|
_SC_2_PBS_ACCOUNTING,
|
||||||
|
#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||||
|
_SC_2_PBS_LOCATE,
|
||||||
|
#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||||
|
_SC_2_PBS_MESSAGE,
|
||||||
|
#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||||
|
_SC_2_PBS_TRACK,
|
||||||
|
#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
|
||||||
|
_SC_SYMLOOP_MAX,
|
||||||
|
#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
|
||||||
|
_SC_STREAMS,
|
||||||
|
#define _SC_STREAMS _SC_STREAMS
|
||||||
|
_SC_2_PBS_CHECKPOINT,
|
||||||
|
#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||||
|
|
||||||
|
_SC_V6_ILP32_OFF32,
|
||||||
|
#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||||
|
_SC_V6_ILP32_OFFBIG,
|
||||||
|
#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||||
|
_SC_V6_LP64_OFF64,
|
||||||
|
#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||||
|
_SC_V6_LPBIG_OFFBIG,
|
||||||
|
#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_HOST_NAME_MAX,
|
||||||
|
#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
|
||||||
|
_SC_TRACE,
|
||||||
|
#define _SC_TRACE _SC_TRACE
|
||||||
|
_SC_TRACE_EVENT_FILTER,
|
||||||
|
#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||||
|
_SC_TRACE_INHERIT,
|
||||||
|
#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||||
|
_SC_TRACE_LOG,
|
||||||
|
#define _SC_TRACE_LOG _SC_TRACE_LOG
|
||||||
|
|
||||||
|
_SC_LEVEL1_ICACHE_SIZE,
|
||||||
|
#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
|
||||||
|
_SC_LEVEL1_ICACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
|
||||||
|
_SC_LEVEL1_ICACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
|
||||||
|
_SC_LEVEL1_DCACHE_SIZE,
|
||||||
|
#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
|
||||||
|
_SC_LEVEL1_DCACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
|
||||||
|
_SC_LEVEL1_DCACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
|
||||||
|
_SC_LEVEL2_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
|
||||||
|
_SC_LEVEL2_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
|
||||||
|
_SC_LEVEL2_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
|
||||||
|
_SC_LEVEL3_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
|
||||||
|
_SC_LEVEL3_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
|
||||||
|
_SC_LEVEL3_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
|
||||||
|
_SC_LEVEL4_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
|
||||||
|
_SC_LEVEL4_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
|
||||||
|
_SC_LEVEL4_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
|
||||||
|
/* Leave room here, maybe we need a few more cache levels some day. */
|
||||||
|
|
||||||
|
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
|
||||||
|
#define _SC_IPV6 _SC_IPV6
|
||||||
|
_SC_RAW_SOCKETS,
|
||||||
|
#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
|
||||||
|
|
||||||
|
_SC_V7_ILP32_OFF32,
|
||||||
|
#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32
|
||||||
|
_SC_V7_ILP32_OFFBIG,
|
||||||
|
#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG
|
||||||
|
_SC_V7_LP64_OFF64,
|
||||||
|
#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64
|
||||||
|
_SC_V7_LPBIG_OFFBIG,
|
||||||
|
#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_SS_REPL_MAX,
|
||||||
|
#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX
|
||||||
|
|
||||||
|
_SC_TRACE_EVENT_NAME_MAX,
|
||||||
|
#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
|
||||||
|
_SC_TRACE_NAME_MAX,
|
||||||
|
#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
|
||||||
|
_SC_TRACE_SYS_MAX,
|
||||||
|
#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
|
||||||
|
_SC_TRACE_USER_EVENT_MAX,
|
||||||
|
#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
|
||||||
|
|
||||||
|
_SC_XOPEN_STREAMS,
|
||||||
|
#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS
|
||||||
|
|
||||||
|
_SC_THREAD_ROBUST_PRIO_INHERIT,
|
||||||
|
#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
|
||||||
|
_SC_THREAD_ROBUST_PRIO_PROTECT,
|
||||||
|
#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
|
||||||
|
|
||||||
|
_SC_MINSIGSTKSZ,
|
||||||
|
#define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ
|
||||||
|
|
||||||
|
_SC_SIGSTKSZ
|
||||||
|
#define _SC_SIGSTKSZ _SC_SIGSTKSZ
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Values for the NAME argument to `confstr'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_CS_PATH, /* The default search path. */
|
||||||
|
#define _CS_PATH _CS_PATH
|
||||||
|
|
||||||
|
_CS_V6_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_GNU_LIBC_VERSION,
|
||||||
|
#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
|
||||||
|
_CS_GNU_LIBPTHREAD_VERSION,
|
||||||
|
#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
|
||||||
|
|
||||||
|
_CS_V5_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_V7_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_LFS_CFLAGS = 1000,
|
||||||
|
#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
|
||||||
|
_CS_LFS_LDFLAGS,
|
||||||
|
#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
|
||||||
|
_CS_LFS_LIBS,
|
||||||
|
#define _CS_LFS_LIBS _CS_LFS_LIBS
|
||||||
|
_CS_LFS_LINTFLAGS,
|
||||||
|
#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
|
||||||
|
_CS_LFS64_CFLAGS,
|
||||||
|
#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
|
||||||
|
_CS_LFS64_LDFLAGS,
|
||||||
|
#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
|
||||||
|
_CS_LFS64_LIBS,
|
||||||
|
#define _CS_LFS64_LIBS _CS_LFS64_LIBS
|
||||||
|
_CS_LFS64_LINTFLAGS,
|
||||||
|
#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
|
||||||
|
_CS_XBS5_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_V6_ENV,
|
||||||
|
#define _CS_V6_ENV _CS_V6_ENV
|
||||||
|
_CS_V7_ENV
|
||||||
|
#define _CS_V7_ENV _CS_V7_ENV
|
||||||
|
};
|
Binary file not shown.
@ -0,0 +1,49 @@
|
|||||||
|
/* Endian macros for string.h functions
|
||||||
|
Copyright (C) 1992-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_ENDIAN_H
|
||||||
|
#define _BITS_ENDIAN_H 1
|
||||||
|
|
||||||
|
/* Definitions for byte order, according to significance of bytes,
|
||||||
|
from low addresses to high addresses. The value is what you get by
|
||||||
|
putting '4' in the most significant byte, '3' in the second most
|
||||||
|
significant byte, '2' in the second least significant byte, and '1'
|
||||||
|
in the least significant byte, and then writing down one digit for
|
||||||
|
each byte, starting with the byte at the lowest address at the left,
|
||||||
|
and proceeding to the byte with the highest address at the right. */
|
||||||
|
|
||||||
|
#define __LITTLE_ENDIAN 1234
|
||||||
|
#define __BIG_ENDIAN 4321
|
||||||
|
#define __PDP_ENDIAN 3412
|
||||||
|
|
||||||
|
/* This file defines `__BYTE_ORDER' for the particular machine. */
|
||||||
|
#include <bits/endianness.h>
|
||||||
|
|
||||||
|
/* Some machines may need to use a different endianness for floating point
|
||||||
|
values. */
|
||||||
|
#ifndef __FLOAT_WORD_ORDER
|
||||||
|
# define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
# define __LONG_LONG_PAIR(HI, LO) LO, HI
|
||||||
|
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||||
|
# define __LONG_LONG_PAIR(HI, LO) HI, LO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/endian.h */
|
Binary file not shown.
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef _BITS_ENDIANNESS_H
|
||||||
|
#define _BITS_ENDIANNESS_H 1
|
||||||
|
|
||||||
|
#ifndef _BITS_ENDIAN_H
|
||||||
|
# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* i386/x86_64 are little-endian. */
|
||||||
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
|
||||||
|
#endif /* bits/endianness.h */
|
Binary file not shown.
@ -0,0 +1,105 @@
|
|||||||
|
/* Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _UNISTD_H
|
||||||
|
# error "Never include this file directly. Use <unistd.h> instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
/* This header should define the following symbols under the described
|
||||||
|
situations. A value `1' means that the model is always supported,
|
||||||
|
`-1' means it is never supported. Undefined means it cannot be
|
||||||
|
statically decided.
|
||||||
|
|
||||||
|
_POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
|
||||||
|
_POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
|
||||||
|
|
||||||
|
_POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
|
||||||
|
_POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
|
||||||
|
|
||||||
|
The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
|
||||||
|
_POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
|
||||||
|
_XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
|
||||||
|
used in previous versions of the Unix standard and are available
|
||||||
|
only for compatibility.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
|
||||||
|
/* Environments with 32-bit wide pointers are optionally provided.
|
||||||
|
Therefore following macros aren't defined:
|
||||||
|
# undef _POSIX_V7_ILP32_OFF32
|
||||||
|
# undef _POSIX_V7_ILP32_OFFBIG
|
||||||
|
# undef _POSIX_V6_ILP32_OFF32
|
||||||
|
# undef _POSIX_V6_ILP32_OFFBIG
|
||||||
|
# undef _XBS5_ILP32_OFF32
|
||||||
|
# undef _XBS5_ILP32_OFFBIG
|
||||||
|
and users need to check at runtime. */
|
||||||
|
|
||||||
|
/* We also have no use (for now) for an environment with bigger pointers
|
||||||
|
and offsets. */
|
||||||
|
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||||
|
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||||
|
# define _XBS5_LPBIG_OFFBIG -1
|
||||||
|
|
||||||
|
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
|
||||||
|
# define _POSIX_V7_LP64_OFF64 1
|
||||||
|
# define _POSIX_V6_LP64_OFF64 1
|
||||||
|
# define _XBS5_LP64_OFF64 1
|
||||||
|
|
||||||
|
#else /* __WORDSIZE == 32 */
|
||||||
|
|
||||||
|
/* We have 32-bit wide `int', `long int' and pointers and all platforms
|
||||||
|
support LFS. -mx32 has 64-bit wide `off_t'. */
|
||||||
|
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||||
|
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||||
|
# define _XBS5_ILP32_OFFBIG 1
|
||||||
|
|
||||||
|
# ifndef __x86_64__
|
||||||
|
/* -m32 has 32-bit wide `off_t'. */
|
||||||
|
# define _POSIX_V7_ILP32_OFF32 1
|
||||||
|
# define _POSIX_V6_ILP32_OFF32 1
|
||||||
|
# define _XBS5_ILP32_OFF32 1
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* We optionally provide an environment with the above size but an 64-bit
|
||||||
|
side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
|
||||||
|
|
||||||
|
/* Environments with 64-bit wide pointers can be provided,
|
||||||
|
so these macros aren't defined:
|
||||||
|
# undef _POSIX_V7_LP64_OFF64
|
||||||
|
# undef _POSIX_V7_LPBIG_OFFBIG
|
||||||
|
# undef _POSIX_V6_LP64_OFF64
|
||||||
|
# undef _POSIX_V6_LPBIG_OFFBIG
|
||||||
|
# undef _XBS5_LP64_OFF64
|
||||||
|
# undef _XBS5_LPBIG_OFFBIG
|
||||||
|
and sysconf tests for it at runtime. */
|
||||||
|
|
||||||
|
#endif /* __WORDSIZE == 32 */
|
||||||
|
|
||||||
|
#define __ILP32_OFF32_CFLAGS "-m32"
|
||||||
|
#define __ILP32_OFF32_LDFLAGS "-m32"
|
||||||
|
#if defined __x86_64__ && defined __ILP32__
|
||||||
|
# define __ILP32_OFFBIG_CFLAGS "-mx32"
|
||||||
|
# define __ILP32_OFFBIG_LDFLAGS "-mx32"
|
||||||
|
#else
|
||||||
|
# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||||
|
# define __ILP32_OFFBIG_LDFLAGS "-m32"
|
||||||
|
#endif
|
||||||
|
#define __LP64_OFF64_CFLAGS "-m64"
|
||||||
|
#define __LP64_OFF64_LDFLAGS "-m64"
|
Binary file not shown.
@ -0,0 +1,53 @@
|
|||||||
|
/* Error constants. Linux specific version.
|
||||||
|
Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_ERRNO_H
|
||||||
|
#define _BITS_ERRNO_H 1
|
||||||
|
|
||||||
|
#if !defined _ERRNO_H
|
||||||
|
# error "Never include <bits/errno.h> directly; use <errno.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# include <linux/errno.h>
|
||||||
|
|
||||||
|
/* Older Linux headers do not define these constants. */
|
||||||
|
# ifndef ENOTSUP
|
||||||
|
# define ENOTSUP EOPNOTSUPP
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef ECANCELED
|
||||||
|
# define ECANCELED 125
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef EOWNERDEAD
|
||||||
|
# define EOWNERDEAD 130
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#ifndef ENOTRECOVERABLE
|
||||||
|
# define ENOTRECOVERABLE 131
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef ERFKILL
|
||||||
|
# define ERFKILL 132
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef EHWPOISON
|
||||||
|
# define EHWPOISON 133
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* bits/errno.h. */
|
Binary file not shown.
@ -0,0 +1,444 @@
|
|||||||
|
/* O_*, F_*, FD_* bit values for Linux.
|
||||||
|
Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _FCNTL_H
|
||||||
|
# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This file contains shared definitions between Linux architectures
|
||||||
|
and is included by <bits/fcntl.h> to declare them. The various
|
||||||
|
#ifndef cases allow the architecture specific file to define those
|
||||||
|
values with different values.
|
||||||
|
|
||||||
|
A minimal <bits/fcntl.h> contains just:
|
||||||
|
|
||||||
|
struct flock {...}
|
||||||
|
#ifdef __USE_LARGEFILE64
|
||||||
|
struct flock64 {...}
|
||||||
|
#endif
|
||||||
|
#include <bits/fcntl-linux.h>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# include <bits/types/struct_iovec.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* open/fcntl. */
|
||||||
|
#define O_ACCMODE 0003
|
||||||
|
#define O_RDONLY 00
|
||||||
|
#define O_WRONLY 01
|
||||||
|
#define O_RDWR 02
|
||||||
|
#ifndef O_CREAT
|
||||||
|
# define O_CREAT 0100 /* Not fcntl. */
|
||||||
|
#endif
|
||||||
|
#ifndef O_EXCL
|
||||||
|
# define O_EXCL 0200 /* Not fcntl. */
|
||||||
|
#endif
|
||||||
|
#ifndef O_NOCTTY
|
||||||
|
# define O_NOCTTY 0400 /* Not fcntl. */
|
||||||
|
#endif
|
||||||
|
#ifndef O_TRUNC
|
||||||
|
# define O_TRUNC 01000 /* Not fcntl. */
|
||||||
|
#endif
|
||||||
|
#ifndef O_APPEND
|
||||||
|
# define O_APPEND 02000
|
||||||
|
#endif
|
||||||
|
#ifndef O_NONBLOCK
|
||||||
|
# define O_NONBLOCK 04000
|
||||||
|
#endif
|
||||||
|
#ifndef O_NDELAY
|
||||||
|
# define O_NDELAY O_NONBLOCK
|
||||||
|
#endif
|
||||||
|
#ifndef O_SYNC
|
||||||
|
# define O_SYNC 04010000
|
||||||
|
#endif
|
||||||
|
#define O_FSYNC O_SYNC
|
||||||
|
#ifndef O_ASYNC
|
||||||
|
# define O_ASYNC 020000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_LARGEFILE
|
||||||
|
# define __O_LARGEFILE 0100000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __O_DIRECTORY
|
||||||
|
# define __O_DIRECTORY 0200000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_NOFOLLOW
|
||||||
|
# define __O_NOFOLLOW 0400000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_CLOEXEC
|
||||||
|
# define __O_CLOEXEC 02000000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_DIRECT
|
||||||
|
# define __O_DIRECT 040000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_NOATIME
|
||||||
|
# define __O_NOATIME 01000000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_PATH
|
||||||
|
# define __O_PATH 010000000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_DSYNC
|
||||||
|
# define __O_DSYNC 010000
|
||||||
|
#endif
|
||||||
|
#ifndef __O_TMPFILE
|
||||||
|
# define __O_TMPFILE (020000000 | __O_DIRECTORY)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef F_GETLK
|
||||||
|
# ifndef __USE_FILE_OFFSET64
|
||||||
|
# define F_GETLK 5 /* Get record locking info. */
|
||||||
|
# define F_SETLK 6 /* Set record locking info (non-blocking). */
|
||||||
|
# define F_SETLKW 7 /* Set record locking info (blocking). */
|
||||||
|
# else
|
||||||
|
# define F_GETLK F_GETLK64 /* Get record locking info. */
|
||||||
|
# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/
|
||||||
|
# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#ifndef F_GETLK64
|
||||||
|
# define F_GETLK64 12 /* Get record locking info. */
|
||||||
|
# define F_SETLK64 13 /* Set record locking info (non-blocking). */
|
||||||
|
# define F_SETLKW64 14 /* Set record locking info (blocking). */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* open file description locks.
|
||||||
|
|
||||||
|
Usually record locks held by a process are released on *any* close and are
|
||||||
|
not inherited across a fork.
|
||||||
|
|
||||||
|
These cmd values will set locks that conflict with process-associated record
|
||||||
|
locks, but are "owned" by the opened file description, not the process.
|
||||||
|
This means that they are inherited across fork or clone with CLONE_FILES
|
||||||
|
like BSD (flock) locks, and they are only released automatically when the
|
||||||
|
last reference to the the file description against which they were acquired
|
||||||
|
is put. */
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define F_OFD_GETLK 36
|
||||||
|
# define F_OFD_SETLK 37
|
||||||
|
# define F_OFD_SETLKW 38
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_LARGEFILE64
|
||||||
|
# define O_LARGEFILE __O_LARGEFILE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN2K8
|
||||||
|
# define O_DIRECTORY __O_DIRECTORY /* Must be a directory. */
|
||||||
|
# define O_NOFOLLOW __O_NOFOLLOW /* Do not follow links. */
|
||||||
|
# define O_CLOEXEC __O_CLOEXEC /* Set close_on_exec. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define O_DIRECT __O_DIRECT /* Direct disk access. */
|
||||||
|
# define O_NOATIME __O_NOATIME /* Do not set atime. */
|
||||||
|
# define O_PATH __O_PATH /* Resolve pathname but do not open file. */
|
||||||
|
# define O_TMPFILE __O_TMPFILE /* Atomically create nameless file. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For now, Linux has no separate synchronicity options for read
|
||||||
|
operations. We define O_RSYNC therefore as the same as O_SYNC
|
||||||
|
since this is a superset. */
|
||||||
|
#if defined __USE_POSIX199309 || defined __USE_UNIX98
|
||||||
|
# define O_DSYNC __O_DSYNC /* Synchronize data. */
|
||||||
|
# if defined __O_RSYNC
|
||||||
|
# define O_RSYNC __O_RSYNC /* Synchronize read operations. */
|
||||||
|
# else
|
||||||
|
# define O_RSYNC O_SYNC /* Synchronize read operations. */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for the second argument to `fcntl'. */
|
||||||
|
#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. */
|
||||||
|
|
||||||
|
#ifndef __F_SETOWN
|
||||||
|
# define __F_SETOWN 8
|
||||||
|
# define __F_GETOWN 9
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
|
||||||
|
# define F_SETOWN __F_SETOWN /* Get owner (process receiving SIGIO). */
|
||||||
|
# define F_GETOWN __F_GETOWN /* Set owner (process receiving SIGIO). */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __F_SETSIG
|
||||||
|
# define __F_SETSIG 10 /* Set number of signal to be sent. */
|
||||||
|
# define __F_GETSIG 11 /* Get number of signal to be sent. */
|
||||||
|
#endif
|
||||||
|
#ifndef __F_SETOWN_EX
|
||||||
|
# define __F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */
|
||||||
|
# define __F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define F_SETSIG __F_SETSIG /* Set number of signal to be sent. */
|
||||||
|
# define F_GETSIG __F_GETSIG /* Get number of signal to be sent. */
|
||||||
|
# define F_SETOWN_EX __F_SETOWN_EX /* Get owner (thread receiving SIGIO). */
|
||||||
|
# define F_GETOWN_EX __F_GETOWN_EX /* Set owner (thread receiving SIGIO). */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define F_SETLEASE 1024 /* Set a lease. */
|
||||||
|
# define F_GETLEASE 1025 /* Enquire what lease is active. */
|
||||||
|
# define F_NOTIFY 1026 /* Request notifications on a directory. */
|
||||||
|
# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */
|
||||||
|
# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */
|
||||||
|
# define F_ADD_SEALS 1033 /* Add seals to file. */
|
||||||
|
# define F_GET_SEALS 1034 /* Get seals for file. */
|
||||||
|
/* Set / get write life time hints. */
|
||||||
|
# define F_GET_RW_HINT 1035
|
||||||
|
# define F_SET_RW_HINT 1036
|
||||||
|
# define F_GET_FILE_RW_HINT 1037
|
||||||
|
# define F_SET_FILE_RW_HINT 1038
|
||||||
|
#endif
|
||||||
|
#ifdef __USE_XOPEN2K8
|
||||||
|
# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with
|
||||||
|
close-on-exit set. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For F_[GET|SET]FD. */
|
||||||
|
#define FD_CLOEXEC 1 /* Actually anything with low bit set goes */
|
||||||
|
|
||||||
|
#ifndef F_RDLCK
|
||||||
|
/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
|
||||||
|
# define F_RDLCK 0 /* Read lock. */
|
||||||
|
# define F_WRLCK 1 /* Write lock. */
|
||||||
|
# define F_UNLCK 2 /* Remove lock. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* For old implementation of BSD flock. */
|
||||||
|
#ifndef F_EXLCK
|
||||||
|
# define F_EXLCK 4 /* or 3 */
|
||||||
|
# define F_SHLCK 8 /* or 4 */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_MISC
|
||||||
|
/* Operations for BSD flock, also used by the kernel implementation. */
|
||||||
|
# define LOCK_SH 1 /* Shared lock. */
|
||||||
|
# define LOCK_EX 2 /* Exclusive lock. */
|
||||||
|
# define LOCK_NB 4 /* Or'd with one of the above to prevent
|
||||||
|
blocking. */
|
||||||
|
# define LOCK_UN 8 /* Remove lock. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define LOCK_MAND 32 /* This is a mandatory flock: */
|
||||||
|
# define LOCK_READ 64 /* ... which allows concurrent read operations. */
|
||||||
|
# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */
|
||||||
|
# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Types of directory notifications that may be requested with F_NOTIFY. */
|
||||||
|
# define DN_ACCESS 0x00000001 /* File accessed. */
|
||||||
|
# define DN_MODIFY 0x00000002 /* File modified. */
|
||||||
|
# define DN_CREATE 0x00000004 /* File created. */
|
||||||
|
# define DN_DELETE 0x00000008 /* File removed. */
|
||||||
|
# define DN_RENAME 0x00000010 /* File renamed. */
|
||||||
|
# define DN_ATTRIB 0x00000020 /* File changed attributes. */
|
||||||
|
# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Owner types. */
|
||||||
|
enum __pid_type
|
||||||
|
{
|
||||||
|
F_OWNER_TID = 0, /* Kernel thread. */
|
||||||
|
F_OWNER_PID, /* Process. */
|
||||||
|
F_OWNER_PGRP, /* Process group. */
|
||||||
|
F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */
|
||||||
|
struct f_owner_ex
|
||||||
|
{
|
||||||
|
enum __pid_type type; /* Owner type of ID. */
|
||||||
|
__pid_t pid; /* ID of owner. */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Types of seals. */
|
||||||
|
# define F_SEAL_SEAL 0x0001 /* Prevent further seals from being set. */
|
||||||
|
# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */
|
||||||
|
# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */
|
||||||
|
# define F_SEAL_WRITE 0x0008 /* Prevent writes. */
|
||||||
|
# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while
|
||||||
|
mapped. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Hint values for F_{GET,SET}_RW_HINT. */
|
||||||
|
# define RWH_WRITE_LIFE_NOT_SET 0
|
||||||
|
# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
|
||||||
|
# define RWH_WRITE_LIFE_NONE 1
|
||||||
|
# define RWH_WRITE_LIFE_SHORT 2
|
||||||
|
# define RWH_WRITE_LIFE_MEDIUM 3
|
||||||
|
# define RWH_WRITE_LIFE_LONG 4
|
||||||
|
# define RWH_WRITE_LIFE_EXTREME 5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define some more compatibility macros to be backward compatible with
|
||||||
|
BSD systems which did not managed to hide these kernel macros. */
|
||||||
|
#ifdef __USE_MISC
|
||||||
|
# define FAPPEND O_APPEND
|
||||||
|
# define FFSYNC O_FSYNC
|
||||||
|
# define FASYNC O_ASYNC
|
||||||
|
# define FNONBLOCK O_NONBLOCK
|
||||||
|
# define FNDELAY O_NDELAY
|
||||||
|
#endif /* Use misc. */
|
||||||
|
|
||||||
|
#ifndef __POSIX_FADV_DONTNEED
|
||||||
|
# define __POSIX_FADV_DONTNEED 4
|
||||||
|
# define __POSIX_FADV_NOREUSE 5
|
||||||
|
#endif
|
||||||
|
/* Advise to `posix_fadvise'. */
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
# define POSIX_FADV_NORMAL 0 /* No further special treatment. */
|
||||||
|
# define POSIX_FADV_RANDOM 1 /* Expect random page references. */
|
||||||
|
# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||||
|
# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
|
||||||
|
# define POSIX_FADV_DONTNEED __POSIX_FADV_DONTNEED /* Don't need these pages. */
|
||||||
|
# define POSIX_FADV_NOREUSE __POSIX_FADV_NOREUSE /* Data will be accessed once. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Flags for SYNC_FILE_RANGE. */
|
||||||
|
# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages
|
||||||
|
in the range before performing the
|
||||||
|
write. */
|
||||||
|
# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those
|
||||||
|
dirty pages in the range which are
|
||||||
|
not presently under writeback. */
|
||||||
|
# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
|
||||||
|
the range after performing the
|
||||||
|
write. */
|
||||||
|
/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are
|
||||||
|
written to disk before returning. */
|
||||||
|
# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \
|
||||||
|
| SYNC_FILE_RANGE_WAIT_BEFORE \
|
||||||
|
| SYNC_FILE_RANGE_WAIT_AFTER)
|
||||||
|
|
||||||
|
/* Flags for SPLICE and VMSPLICE. */
|
||||||
|
# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
|
||||||
|
# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing
|
||||||
|
(but we may still block on the fd
|
||||||
|
we splice from/to). */
|
||||||
|
# define SPLICE_F_MORE 4 /* Expect more data. */
|
||||||
|
# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */
|
||||||
|
|
||||||
|
|
||||||
|
/* Flags for fallocate. */
|
||||||
|
# include <linux/falloc.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* File handle structure. */
|
||||||
|
struct file_handle
|
||||||
|
{
|
||||||
|
unsigned int handle_bytes;
|
||||||
|
int handle_type;
|
||||||
|
/* File identifier. */
|
||||||
|
unsigned char f_handle[0];
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Maximum handle size (for now). */
|
||||||
|
# define MAX_HANDLE_SZ 128
|
||||||
|
#endif
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
|
||||||
|
/* Provide kernel hint to read ahead. */
|
||||||
|
extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
|
||||||
|
__THROW;
|
||||||
|
|
||||||
|
|
||||||
|
/* Selective file content synch'ing.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
|
||||||
|
unsigned int __flags);
|
||||||
|
|
||||||
|
|
||||||
|
/* Splice address range into a pipe.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov,
|
||||||
|
size_t __count, unsigned int __flags);
|
||||||
|
|
||||||
|
/* Splice two files together.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
|
||||||
|
__off64_t *__offout, size_t __len,
|
||||||
|
unsigned int __flags);
|
||||||
|
|
||||||
|
/* In-kernel implementation of tee for pipe buffers.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
extern __ssize_t tee (int __fdin, int __fdout, size_t __len,
|
||||||
|
unsigned int __flags);
|
||||||
|
|
||||||
|
/* Reserve storage for the data of the file associated with FD.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
# ifndef __USE_FILE_OFFSET64
|
||||||
|
extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
|
||||||
|
# else
|
||||||
|
# ifdef __REDIRECT
|
||||||
|
extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
|
||||||
|
__off64_t __len),
|
||||||
|
fallocate64);
|
||||||
|
# else
|
||||||
|
# define fallocate fallocate64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# ifdef __USE_LARGEFILE64
|
||||||
|
extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
|
||||||
|
__off64_t __len);
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Map file name to file handle. */
|
||||||
|
extern int name_to_handle_at (int __dfd, const char *__name,
|
||||||
|
struct file_handle *__handle, int *__mnt_id,
|
||||||
|
int __flags) __THROW;
|
||||||
|
|
||||||
|
/* Open file using the file handle.
|
||||||
|
|
||||||
|
This function is a possible cancellation point and therefore not
|
||||||
|
marked with __THROW. */
|
||||||
|
extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
|
||||||
|
int __flags);
|
||||||
|
|
||||||
|
#endif /* use GNU */
|
||||||
|
|
||||||
|
__END_DECLS
|
Binary file not shown.
@ -0,0 +1,61 @@
|
|||||||
|
/* O_*, F_*, FD_* bit values for Linux/x86.
|
||||||
|
Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _FCNTL_H
|
||||||
|
# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __O_LARGEFILE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
/* Not necessary, we always have 64-bit offsets. */
|
||||||
|
# define F_GETLK64 5 /* Get record locking info. */
|
||||||
|
# define F_SETLK64 6 /* Set record locking info (non-blocking). */
|
||||||
|
# define F_SETLKW64 7 /* Set record locking info (blocking). */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
struct flock
|
||||||
|
{
|
||||||
|
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||||
|
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||||
|
#ifndef __USE_FILE_OFFSET64
|
||||||
|
__off_t l_start; /* Offset where the lock begins. */
|
||||||
|
__off_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||||
|
#else
|
||||||
|
__off64_t l_start; /* Offset where the lock begins. */
|
||||||
|
__off64_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||||
|
#endif
|
||||||
|
__pid_t l_pid; /* Process holding the lock. */
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __USE_LARGEFILE64
|
||||||
|
struct flock64
|
||||||
|
{
|
||||||
|
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||||
|
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||||
|
__off64_t l_start; /* Offset where the lock begins. */
|
||||||
|
__off64_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||||
|
__pid_t l_pid; /* Process holding the lock. */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Include generic Linux declarations. */
|
||||||
|
#include <bits/fcntl-linux.h>
|
Binary file not shown.
@ -0,0 +1,329 @@
|
|||||||
|
/* Macros to control TS 18661-3 glibc features where the same
|
||||||
|
definitions are appropriate for all platforms.
|
||||||
|
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_FLOATN_COMMON_H
|
||||||
|
#define _BITS_FLOATN_COMMON_H
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
#include <bits/long-double.h>
|
||||||
|
|
||||||
|
/* This header should be included at the bottom of each bits/floatn.h.
|
||||||
|
It defines the following macros for each _FloatN and _FloatNx type,
|
||||||
|
where the same definitions, or definitions based only on the macros
|
||||||
|
in bits/floatn.h, are appropriate for all glibc configurations. */
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the right format for this type, and this
|
||||||
|
glibc includes corresponding *fN or *fNx interfaces for it. */
|
||||||
|
#define __HAVE_FLOAT16 0
|
||||||
|
#define __HAVE_FLOAT32 1
|
||||||
|
#define __HAVE_FLOAT64 1
|
||||||
|
#define __HAVE_FLOAT32X 1
|
||||||
|
#define __HAVE_FLOAT128X 0
|
||||||
|
|
||||||
|
/* Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
|
||||||
|
type is the first with its format in the sequence of (the default
|
||||||
|
choices for) float, double, long double, _Float16, _Float32,
|
||||||
|
_Float64, _Float128, _Float32x, _Float64x, _Float128x for this
|
||||||
|
glibc; that is, if functions present once per floating-point format
|
||||||
|
rather than once per type are present for this type.
|
||||||
|
|
||||||
|
All configurations supported by glibc have _Float32 the same format
|
||||||
|
as float, _Float64 and _Float32x the same format as double, the
|
||||||
|
_Float64x the same format as either long double or _Float128. No
|
||||||
|
configurations support _Float128x or, as of GCC 7, have compiler
|
||||||
|
support for a type meeting the requirements for _Float128x. */
|
||||||
|
#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16
|
||||||
|
#define __HAVE_DISTINCT_FLOAT32 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT64 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT32X 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT64X 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X
|
||||||
|
|
||||||
|
/* Defined to 1 if the corresponding _FloatN type is not binary compatible
|
||||||
|
with the corresponding ISO C type in the current compilation unit as
|
||||||
|
opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
|
||||||
|
in glibc. */
|
||||||
|
#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \
|
||||||
|
&& __LDBL_MANT_DIG__ != 113)
|
||||||
|
|
||||||
|
/* Defined to 1 if any _FloatN or _FloatNx types that are not
|
||||||
|
ABI-distinct are however distinct types at the C language level (so
|
||||||
|
for the purposes of __builtin_types_compatible_p and _Generic). */
|
||||||
|
#if __GNUC_PREREQ (7, 0) && !defined __cplusplus
|
||||||
|
# define __HAVE_FLOATN_NOT_TYPEDEF 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_FLOATN_NOT_TYPEDEF 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
|
/* Defined to concatenate the literal suffix to be used with _FloatN
|
||||||
|
or _FloatNx types, if __HAVE_<type> is 1. The corresponding
|
||||||
|
literal suffixes exist since GCC 7, for C only. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
/* No corresponding suffix available for this type. */
|
||||||
|
# define __f16(x) ((_Float16) x##f)
|
||||||
|
# else
|
||||||
|
# define __f16(x) x##f16
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# define __f32(x) x##f
|
||||||
|
# else
|
||||||
|
# define __f32(x) x##f32
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define __f64(x) x##l
|
||||||
|
# else
|
||||||
|
# define __f64(x) x
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __f64(x) x##f64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# define __f32x(x) x
|
||||||
|
# else
|
||||||
|
# define __f32x(x) x##f32x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define __f64x(x) x##l
|
||||||
|
# else
|
||||||
|
# define __f64x(x) __f128 (x)
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __f64x(x) x##f64x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# error "_Float128X supported but no constant suffix"
|
||||||
|
# else
|
||||||
|
# define __f128x(x) x##f128x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Defined to a complex type if __HAVE_<type> is 1. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__)));
|
||||||
|
# define __CFLOAT16 __cfloat16
|
||||||
|
# else
|
||||||
|
# define __CFLOAT16 _Complex _Float16
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# define __CFLOAT32 _Complex float
|
||||||
|
# else
|
||||||
|
# define __CFLOAT32 _Complex _Float32
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define __CFLOAT64 _Complex long double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64 _Complex double
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64 _Complex _Float64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# define __CFLOAT32X _Complex double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT32X _Complex _Float32x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define __CFLOAT64X _Complex long double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64X __CFLOAT128
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64X _Complex _Float64x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# error "_Float128X supported but no complex type"
|
||||||
|
# else
|
||||||
|
# define __CFLOAT128X _Complex _Float128x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* The remaining of this file provides support for older compilers. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef float _Float16 __attribute__ ((__mode__ (__HF__)));
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ())
|
||||||
|
# define __builtin_inff16() ((_Float16) __builtin_inf ())
|
||||||
|
# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef float _Float32;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf32() (__builtin_huge_valf ())
|
||||||
|
# define __builtin_inff32() (__builtin_inff ())
|
||||||
|
# define __builtin_nanf32(x) (__builtin_nanf (x))
|
||||||
|
# define __builtin_nansf32(x) (__builtin_nansf (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
|
||||||
|
/* If double, long double and _Float64 all have the same set of
|
||||||
|
values, TS 18661-3 requires the usual arithmetic conversions on
|
||||||
|
long double and _Float64 to produce _Float64. For this to be the
|
||||||
|
case when building with a compiler without a distinct _Float64
|
||||||
|
type, _Float64 must be a typedef for long double, not for
|
||||||
|
double. */
|
||||||
|
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef long double _Float64;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64() (__builtin_huge_vall ())
|
||||||
|
# define __builtin_inff64() (__builtin_infl ())
|
||||||
|
# define __builtin_nanf64(x) (__builtin_nanl (x))
|
||||||
|
# define __builtin_nansf64(x) (__builtin_nansl (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef double _Float64;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64() (__builtin_huge_val ())
|
||||||
|
# define __builtin_inff64() (__builtin_inf ())
|
||||||
|
# define __builtin_nanf64(x) (__builtin_nan (x))
|
||||||
|
# define __builtin_nansf64(x) (__builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef double _Float32x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf32x() (__builtin_huge_val ())
|
||||||
|
# define __builtin_inff32x() (__builtin_inf ())
|
||||||
|
# define __builtin_nanf32x(x) (__builtin_nan (x))
|
||||||
|
# define __builtin_nansf32x(x) (__builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef long double _Float64x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64x() (__builtin_huge_vall ())
|
||||||
|
# define __builtin_inff64x() (__builtin_infl ())
|
||||||
|
# define __builtin_nanf64x(x) (__builtin_nanl (x))
|
||||||
|
# define __builtin_nansf64x(x) (__builtin_nansl (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef _Float128 _Float64x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64x() (__builtin_huge_valf128 ())
|
||||||
|
# define __builtin_inff64x() (__builtin_inff128 ())
|
||||||
|
# define __builtin_nanf64x(x) (__builtin_nanf128 (x))
|
||||||
|
# define __builtin_nansf64x(x) (__builtin_nansf128 (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
# error "_Float128x supported but no type"
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ())
|
||||||
|
# define __builtin_inff128x() ((_Float128x) __builtin_inf ())
|
||||||
|
# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* !__ASSEMBLER__. */
|
||||||
|
|
||||||
|
#endif /* _BITS_FLOATN_COMMON_H */
|
Binary file not shown.
@ -0,0 +1,121 @@
|
|||||||
|
/* Macros to control TS 18661-3 glibc features on x86.
|
||||||
|
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_FLOATN_H
|
||||||
|
#define _BITS_FLOATN_H
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the IEEE 754 binary128 format, and this
|
||||||
|
glibc includes corresponding *f128 interfaces for it. The required
|
||||||
|
libgcc support was added some time after the basic compiler
|
||||||
|
support, for x86_64 and x86. */
|
||||||
|
#if (defined __x86_64__ \
|
||||||
|
? __GNUC_PREREQ (4, 3) \
|
||||||
|
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
|
||||||
|
# define __HAVE_FLOAT128 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_FLOAT128 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
|
||||||
|
from the default float, double and long double types in this glibc. */
|
||||||
|
#if __HAVE_FLOAT128
|
||||||
|
# define __HAVE_DISTINCT_FLOAT128 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_DISTINCT_FLOAT128 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the right format for _Float64x, and this
|
||||||
|
glibc includes corresponding *f64x interfaces for it. */
|
||||||
|
#define __HAVE_FLOAT64X 1
|
||||||
|
|
||||||
|
/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
|
||||||
|
of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
|
||||||
|
the format of _Float128, which must be different from that of long
|
||||||
|
double. */
|
||||||
|
#define __HAVE_FLOAT64X_LONG_DOUBLE 1
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
|
/* Defined to concatenate the literal suffix to be used with _Float128
|
||||||
|
types, if __HAVE_FLOAT128 is 1. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
/* The literal suffix f128 exists only since GCC 7.0. */
|
||||||
|
# define __f128(x) x##q
|
||||||
|
# else
|
||||||
|
# define __f128(x) x##f128
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
/* Add a typedef for older GCC compilers which don't natively support
|
||||||
|
_Complex _Float128. */
|
||||||
|
typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
|
||||||
|
# define __CFLOAT128 __cfloat128
|
||||||
|
# else
|
||||||
|
# define __CFLOAT128 _Complex _Float128
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* The remaining of this file provides support for older compilers. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
|
||||||
|
/* The type _Float128 exists only since GCC 7.0. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||||
|
typedef __float128 _Float128;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Older GCC has only a subset of built-in functions for _Float128 on
|
||||||
|
x86, and __builtin_infq is not usable in static initializers.
|
||||||
|
Converting a narrower sNaN to _Float128 produces a quiet NaN, so
|
||||||
|
attempts to use _Float128 sNaNs will not work properly with older
|
||||||
|
compilers. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_copysignf128 __builtin_copysignq
|
||||||
|
# define __builtin_fabsf128 __builtin_fabsq
|
||||||
|
# define __builtin_inff128() ((_Float128) __builtin_inf ())
|
||||||
|
# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
|
||||||
|
e.g.: __builtin_signbitf128, before GCC 6. However, there has never
|
||||||
|
been a __builtin_signbitf128 in GCC and the type-generic builtin is
|
||||||
|
only available since GCC 6. */
|
||||||
|
# if !__GNUC_PREREQ (6, 0)
|
||||||
|
# define __builtin_signbitf128 __signbitf128
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* !__ASSEMBLER__. */
|
||||||
|
|
||||||
|
#include <bits/floatn-common.h>
|
||||||
|
|
||||||
|
#endif /* _BITS_FLOATN_H */
|
Binary file not shown.
@ -0,0 +1,96 @@
|
|||||||
|
/* Declarations for getopt (basic, portable features only).
|
||||||
|
Copyright (C) 1989-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library and is also part of gnulib.
|
||||||
|
Patches to this file should be submitted to both projects.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _GETOPT_CORE_H
|
||||||
|
#define _GETOPT_CORE_H 1
|
||||||
|
|
||||||
|
/* This header should not be used directly; include getopt.h or
|
||||||
|
unistd.h instead. Unlike most bits headers, it does not have
|
||||||
|
a protective #error, because the guard macro for getopt.h in
|
||||||
|
gnulib is not fixed. */
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
/* For communication from 'getopt' to the caller.
|
||||||
|
When 'getopt' finds an option that takes an argument,
|
||||||
|
the argument value is returned here.
|
||||||
|
Also, when 'ordering' is RETURN_IN_ORDER,
|
||||||
|
each non-option ARGV-element is returned here. */
|
||||||
|
|
||||||
|
extern char *optarg;
|
||||||
|
|
||||||
|
/* Index in ARGV of the next element to be scanned.
|
||||||
|
This is used for communication to and from the caller
|
||||||
|
and for communication between successive calls to 'getopt'.
|
||||||
|
|
||||||
|
On entry to 'getopt', zero means this is the first call; initialize.
|
||||||
|
|
||||||
|
When 'getopt' returns -1, this is the index of the first of the
|
||||||
|
non-option elements that the caller should itself scan.
|
||||||
|
|
||||||
|
Otherwise, 'optind' communicates from one call to the next
|
||||||
|
how much of ARGV has been scanned so far. */
|
||||||
|
|
||||||
|
extern int optind;
|
||||||
|
|
||||||
|
/* Callers store zero here to inhibit the error message 'getopt' prints
|
||||||
|
for unrecognized options. */
|
||||||
|
|
||||||
|
extern int opterr;
|
||||||
|
|
||||||
|
/* Set to an option character which was unrecognized. */
|
||||||
|
|
||||||
|
extern int optopt;
|
||||||
|
|
||||||
|
/* Get definitions and prototypes for functions to process the
|
||||||
|
arguments in ARGV (ARGC of them, minus the program name) for
|
||||||
|
options given in OPTS.
|
||||||
|
|
||||||
|
Return the option character from OPTS just read. Return -1 when
|
||||||
|
there are no more options. For unrecognized options, or options
|
||||||
|
missing arguments, 'optopt' is set to the option letter, and '?' is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
The OPTS string is a list of characters which are recognized option
|
||||||
|
letters, optionally followed by colons, specifying that that letter
|
||||||
|
takes an argument, to be placed in 'optarg'.
|
||||||
|
|
||||||
|
If a letter in OPTS is followed by two colons, its argument is
|
||||||
|
optional. This behavior is specific to the GNU 'getopt'.
|
||||||
|
|
||||||
|
The argument '--' causes premature termination of argument
|
||||||
|
scanning, explicitly telling 'getopt' that there are no more
|
||||||
|
options.
|
||||||
|
|
||||||
|
If OPTS begins with '-', then non-option arguments are treated as
|
||||||
|
arguments to the option '\1'. This behavior is specific to the GNU
|
||||||
|
'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in
|
||||||
|
the environment, then do not permute arguments.
|
||||||
|
|
||||||
|
For standards compliance, the 'argv' argument has the type
|
||||||
|
char *const *, but this is inaccurate; if argument permutation is
|
||||||
|
enabled, the argv array (not the strings it points to) must be
|
||||||
|
writable. */
|
||||||
|
|
||||||
|
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
|
||||||
|
__THROW __nonnull ((2, 3));
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* getopt_core.h */
|
Binary file not shown.
@ -0,0 +1,51 @@
|
|||||||
|
/* Declarations for getopt (POSIX compatibility shim).
|
||||||
|
Copyright (C) 1989-2021 Free Software Foundation, Inc.
|
||||||
|
Unlike the bulk of the getopt implementation, this file is NOT part
|
||||||
|
of gnulib.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _GETOPT_POSIX_H
|
||||||
|
#define _GETOPT_POSIX_H 1
|
||||||
|
|
||||||
|
#if !defined _UNISTD_H && !defined _STDIO_H
|
||||||
|
#error "Never include getopt_posix.h directly; use unistd.h instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/getopt_core.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
#if defined __USE_POSIX2 && !defined __USE_POSIX_IMPLICITLY \
|
||||||
|
&& !defined __USE_GNU && !defined _GETOPT_H
|
||||||
|
/* GNU getopt has more functionality than POSIX getopt. When we are
|
||||||
|
explicitly conforming to POSIX and not GNU, and getopt.h (which is
|
||||||
|
not part of POSIX) has not been included, the extra functionality
|
||||||
|
is disabled. */
|
||||||
|
# ifdef __REDIRECT
|
||||||
|
extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv,
|
||||||
|
const char *__shortopts),
|
||||||
|
__posix_getopt);
|
||||||
|
# else
|
||||||
|
extern int __posix_getopt (int ___argc, char *const *___argv,
|
||||||
|
const char *__shortopts)
|
||||||
|
__THROW __nonnull ((2, 3));
|
||||||
|
# define getopt __posix_getopt
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* getopt_posix.h */
|
Binary file not shown.
@ -0,0 +1,77 @@
|
|||||||
|
/* Structure types for pre-termios terminal ioctls. Linux version.
|
||||||
|
Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SYS_IOCTL_H
|
||||||
|
# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Get definition of constants for use with `ioctl'. */
|
||||||
|
#include <asm/ioctls.h>
|
||||||
|
|
||||||
|
|
||||||
|
struct winsize
|
||||||
|
{
|
||||||
|
unsigned short int ws_row;
|
||||||
|
unsigned short int ws_col;
|
||||||
|
unsigned short int ws_xpixel;
|
||||||
|
unsigned short int ws_ypixel;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NCC 8
|
||||||
|
struct termio
|
||||||
|
{
|
||||||
|
unsigned short int c_iflag; /* input mode flags */
|
||||||
|
unsigned short int c_oflag; /* output mode flags */
|
||||||
|
unsigned short int c_cflag; /* control mode flags */
|
||||||
|
unsigned short int c_lflag; /* local mode flags */
|
||||||
|
unsigned char c_line; /* line discipline */
|
||||||
|
unsigned char c_cc[NCC]; /* control characters */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* modem lines */
|
||||||
|
#define TIOCM_LE 0x001
|
||||||
|
#define TIOCM_DTR 0x002
|
||||||
|
#define TIOCM_RTS 0x004
|
||||||
|
#define TIOCM_ST 0x008
|
||||||
|
#define TIOCM_SR 0x010
|
||||||
|
#define TIOCM_CTS 0x020
|
||||||
|
#define TIOCM_CAR 0x040
|
||||||
|
#define TIOCM_RNG 0x080
|
||||||
|
#define TIOCM_DSR 0x100
|
||||||
|
#define TIOCM_CD TIOCM_CAR
|
||||||
|
#define TIOCM_RI TIOCM_RNG
|
||||||
|
|
||||||
|
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
|
||||||
|
|
||||||
|
/* line disciplines */
|
||||||
|
#define N_TTY 0
|
||||||
|
#define N_SLIP 1
|
||||||
|
#define N_MOUSE 2
|
||||||
|
#define N_PPP 3
|
||||||
|
#define N_STRIP 4
|
||||||
|
#define N_AX25 5
|
||||||
|
#define N_X25 6 /* X.25 async */
|
||||||
|
#define N_6PACK 7
|
||||||
|
#define N_MASC 8 /* Mobitex module */
|
||||||
|
#define N_R3964 9 /* Simatic R3964 module */
|
||||||
|
#define N_PROFIBUS_FDL 10 /* Profibus */
|
||||||
|
#define N_IRDA 11 /* Linux IR */
|
||||||
|
#define N_SMSBLOCK 12 /* SMS block mode */
|
||||||
|
#define N_HDLC 13 /* synchronous HDLC */
|
||||||
|
#define N_SYNC_PPP 14 /* synchronous PPP */
|
||||||
|
#define N_HCI 15 /* Bluetooth HCI UART */
|
Binary file not shown.
@ -0,0 +1,108 @@
|
|||||||
|
/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SYS_IOCTL_H
|
||||||
|
# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Use the definitions from the kernel header files. */
|
||||||
|
#include <asm/ioctls.h>
|
||||||
|
|
||||||
|
/* Routing table calls. */
|
||||||
|
#define SIOCADDRT 0x890B /* add routing table entry */
|
||||||
|
#define SIOCDELRT 0x890C /* delete routing table entry */
|
||||||
|
#define SIOCRTMSG 0x890D /* call to routing system */
|
||||||
|
|
||||||
|
/* Socket configuration controls. */
|
||||||
|
#define SIOCGIFNAME 0x8910 /* get iface name */
|
||||||
|
#define SIOCSIFLINK 0x8911 /* set iface channel */
|
||||||
|
#define SIOCGIFCONF 0x8912 /* get iface list */
|
||||||
|
#define SIOCGIFFLAGS 0x8913 /* get flags */
|
||||||
|
#define SIOCSIFFLAGS 0x8914 /* set flags */
|
||||||
|
#define SIOCGIFADDR 0x8915 /* get PA address */
|
||||||
|
#define SIOCSIFADDR 0x8916 /* set PA address */
|
||||||
|
#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
|
||||||
|
#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
|
||||||
|
#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
|
||||||
|
#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
|
||||||
|
#define SIOCGIFNETMASK 0x891b /* get network PA mask */
|
||||||
|
#define SIOCSIFNETMASK 0x891c /* set network PA mask */
|
||||||
|
#define SIOCGIFMETRIC 0x891d /* get metric */
|
||||||
|
#define SIOCSIFMETRIC 0x891e /* set metric */
|
||||||
|
#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
|
||||||
|
#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
|
||||||
|
#define SIOCGIFMTU 0x8921 /* get MTU size */
|
||||||
|
#define SIOCSIFMTU 0x8922 /* set MTU size */
|
||||||
|
#define SIOCSIFNAME 0x8923 /* set interface name */
|
||||||
|
#define SIOCSIFHWADDR 0x8924 /* set hardware address */
|
||||||
|
#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
|
||||||
|
#define SIOCSIFENCAP 0x8926
|
||||||
|
#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
|
||||||
|
#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
|
||||||
|
#define SIOCSIFSLAVE 0x8930
|
||||||
|
#define SIOCADDMULTI 0x8931 /* Multicast address lists */
|
||||||
|
#define SIOCDELMULTI 0x8932
|
||||||
|
#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
|
||||||
|
#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
|
||||||
|
#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
|
||||||
|
#define SIOCGIFPFLAGS 0x8935
|
||||||
|
#define SIOCDIFADDR 0x8936 /* delete PA address */
|
||||||
|
#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
|
||||||
|
#define SIOCGIFCOUNT 0x8938 /* get number of devices */
|
||||||
|
|
||||||
|
#define SIOCGIFBR 0x8940 /* Bridging support */
|
||||||
|
#define SIOCSIFBR 0x8941 /* Set bridging options */
|
||||||
|
|
||||||
|
#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
|
||||||
|
#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
|
||||||
|
|
||||||
|
|
||||||
|
/* ARP cache control calls. */
|
||||||
|
/* 0x8950 - 0x8952 * obsolete calls, don't re-use */
|
||||||
|
#define SIOCDARP 0x8953 /* delete ARP table entry */
|
||||||
|
#define SIOCGARP 0x8954 /* get ARP table entry */
|
||||||
|
#define SIOCSARP 0x8955 /* set ARP table entry */
|
||||||
|
|
||||||
|
/* RARP cache control calls. */
|
||||||
|
#define SIOCDRARP 0x8960 /* delete RARP table entry */
|
||||||
|
#define SIOCGRARP 0x8961 /* get RARP table entry */
|
||||||
|
#define SIOCSRARP 0x8962 /* set RARP table entry */
|
||||||
|
|
||||||
|
/* Driver configuration calls */
|
||||||
|
|
||||||
|
#define SIOCGIFMAP 0x8970 /* Get device parameters */
|
||||||
|
#define SIOCSIFMAP 0x8971 /* Set device parameters */
|
||||||
|
|
||||||
|
/* DLCI configuration calls */
|
||||||
|
|
||||||
|
#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
|
||||||
|
#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
|
||||||
|
|
||||||
|
/* Device private ioctl calls. */
|
||||||
|
|
||||||
|
/* These 16 ioctls are available to devices via the do_ioctl() device
|
||||||
|
vector. Each device should include this file and redefine these
|
||||||
|
names as their own. Because these are device dependent it is a good
|
||||||
|
idea _NOT_ to issue them to random objects and hope. */
|
||||||
|
|
||||||
|
#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These 16 ioctl calls are protocol private
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
|
Binary file not shown.
@ -0,0 +1,110 @@
|
|||||||
|
/* Handle feature test macros at the start of a header.
|
||||||
|
Copyright (C) 2016-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* This header is internal to glibc and should not be included outside
|
||||||
|
of glibc headers. Headers including it must define
|
||||||
|
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header
|
||||||
|
cannot have multiple include guards because ISO C feature test
|
||||||
|
macros depend on the definition of the macro when an affected
|
||||||
|
header is included, not when the first system header is
|
||||||
|
included. */
|
||||||
|
|
||||||
|
#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||||
|
# error "Never include <bits/libc-header-start.h> directly."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
|
||||||
|
macro. */
|
||||||
|
#undef __GLIBC_USE_LIB_EXT2
|
||||||
|
#if (defined __USE_GNU \
|
||||||
|
|| (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0))
|
||||||
|
# define __GLIBC_USE_LIB_EXT2 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_LIB_EXT2 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
macro. Most but not all symbols enabled by that macro in TS
|
||||||
|
18661-1 are enabled unconditionally in C2X. In C2X, the symbols in
|
||||||
|
Annex F still require a new feature test macro
|
||||||
|
__STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
|
||||||
|
__STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
|
||||||
|
18661-1 are not included in C2X (and thus should depend on
|
||||||
|
__STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
|
||||||
|
enabled).
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
|
||||||
|
18661-1 not included in C2X.
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
|
||||||
|
18661-1 that are also included in C2X (with no feature test macro
|
||||||
|
required in C2X).
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
|
||||||
|
that are included in C2X but conditional on
|
||||||
|
__STDC_WANT_IEC_60559_EXT__. (There are currently no features
|
||||||
|
conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
|
||||||
|
18661-1.) */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_BFP_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
|
||||||
|
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_EXT
|
||||||
|
#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_EXT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-4:2015 defines the
|
||||||
|
__STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
|
||||||
|
functions, the symbols from this TS are enabled unconditionally in
|
||||||
|
C2X. */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
|
||||||
|
#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-3:2015 defines the
|
||||||
|
__STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_TYPES_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_TYPES_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_TYPES_EXT 0
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,99 @@
|
|||||||
|
/* Minimum guaranteed maximum values for system limits. Linux version.
|
||||||
|
Copyright (C) 1993-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||||
|
not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* The kernel header pollutes the namespace with the NR_OPEN symbol
|
||||||
|
and defines LINK_MAX although filesystems have different maxima. A
|
||||||
|
similar thing is true for OPEN_MAX: the limit can be changed at
|
||||||
|
runtime and therefore the macro must not be defined. Remove this
|
||||||
|
after including the header if necessary. */
|
||||||
|
#ifndef NR_OPEN
|
||||||
|
# define __undef_NR_OPEN
|
||||||
|
#endif
|
||||||
|
#ifndef LINK_MAX
|
||||||
|
# define __undef_LINK_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef OPEN_MAX
|
||||||
|
# define __undef_OPEN_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef ARG_MAX
|
||||||
|
# define __undef_ARG_MAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The kernel sources contain a file with all the needed information. */
|
||||||
|
#include <linux/limits.h>
|
||||||
|
|
||||||
|
/* Have to remove NR_OPEN? */
|
||||||
|
#ifdef __undef_NR_OPEN
|
||||||
|
# undef NR_OPEN
|
||||||
|
# undef __undef_NR_OPEN
|
||||||
|
#endif
|
||||||
|
/* Have to remove LINK_MAX? */
|
||||||
|
#ifdef __undef_LINK_MAX
|
||||||
|
# undef LINK_MAX
|
||||||
|
# undef __undef_LINK_MAX
|
||||||
|
#endif
|
||||||
|
/* Have to remove OPEN_MAX? */
|
||||||
|
#ifdef __undef_OPEN_MAX
|
||||||
|
# undef OPEN_MAX
|
||||||
|
# undef __undef_OPEN_MAX
|
||||||
|
#endif
|
||||||
|
/* Have to remove ARG_MAX? */
|
||||||
|
#ifdef __undef_ARG_MAX
|
||||||
|
# undef ARG_MAX
|
||||||
|
# undef __undef_ARG_MAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The number of data keys per process. */
|
||||||
|
#define _POSIX_THREAD_KEYS_MAX 128
|
||||||
|
/* This is the value this implementation supports. */
|
||||||
|
#define PTHREAD_KEYS_MAX 1024
|
||||||
|
|
||||||
|
/* Controlling the iterations of destructors for thread-specific data. */
|
||||||
|
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
|
||||||
|
/* Number of iterations this implementation does. */
|
||||||
|
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
|
||||||
|
|
||||||
|
/* The number of threads per process. */
|
||||||
|
#define _POSIX_THREAD_THREADS_MAX 64
|
||||||
|
/* We have no predefined limit on the number of threads. */
|
||||||
|
#undef PTHREAD_THREADS_MAX
|
||||||
|
|
||||||
|
/* Maximum amount by which a process can descrease its asynchronous I/O
|
||||||
|
priority level. */
|
||||||
|
#define AIO_PRIO_DELTA_MAX 20
|
||||||
|
|
||||||
|
/* Arrange for the definition of PTHREAD_STACK_MIN. */
|
||||||
|
#include <bits/pthread_stack_min-dynamic.h>
|
||||||
|
|
||||||
|
/* Maximum number of timer expiration overruns. */
|
||||||
|
#define DELAYTIMER_MAX 2147483647
|
||||||
|
|
||||||
|
/* Maximum tty name length. */
|
||||||
|
#define TTY_NAME_MAX 32
|
||||||
|
|
||||||
|
/* Maximum login name length. This is arbitrary. */
|
||||||
|
#define LOGIN_NAME_MAX 256
|
||||||
|
|
||||||
|
/* Maximum host name length. */
|
||||||
|
#define HOST_NAME_MAX 64
|
||||||
|
|
||||||
|
/* Maximum message queue priority level. */
|
||||||
|
#define MQ_PRIO_MAX 32768
|
||||||
|
|
||||||
|
/* Maximum value the semaphore can have. */
|
||||||
|
#define SEM_VALUE_MAX (2147483647)
|
Binary file not shown.
@ -0,0 +1,21 @@
|
|||||||
|
/* Properties of long double type. ldbl-96 version.
|
||||||
|
Copyright (C) 2016-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* long double is distinct from double, so there is nothing to
|
||||||
|
define here. */
|
||||||
|
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
Binary file not shown.
@ -0,0 +1,183 @@
|
|||||||
|
/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
|
||||||
|
*
|
||||||
|
* Never include this file directly; use <limits.h> instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BITS_POSIX1_LIM_H
|
||||||
|
#define _BITS_POSIX1_LIM_H 1
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
/* These are the standard-mandated minimum values. */
|
||||||
|
|
||||||
|
/* Minimum number of operations in one list I/O call. */
|
||||||
|
#define _POSIX_AIO_LISTIO_MAX 2
|
||||||
|
|
||||||
|
/* Minimal number of outstanding asynchronous I/O operations. */
|
||||||
|
#define _POSIX_AIO_MAX 1
|
||||||
|
|
||||||
|
/* Maximum length of arguments to `execve', including environment. */
|
||||||
|
#define _POSIX_ARG_MAX 4096
|
||||||
|
|
||||||
|
/* Maximum simultaneous processes per real user ID. */
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
# define _POSIX_CHILD_MAX 25
|
||||||
|
#else
|
||||||
|
# define _POSIX_CHILD_MAX 6
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimal number of timer expiration overruns. */
|
||||||
|
#define _POSIX_DELAYTIMER_MAX 32
|
||||||
|
|
||||||
|
/* Maximum length of a host name (not including the terminating null)
|
||||||
|
as returned from the GETHOSTNAME function. */
|
||||||
|
#define _POSIX_HOST_NAME_MAX 255
|
||||||
|
|
||||||
|
/* Maximum link count of a file. */
|
||||||
|
#define _POSIX_LINK_MAX 8
|
||||||
|
|
||||||
|
/* Maximum length of login name. */
|
||||||
|
#define _POSIX_LOGIN_NAME_MAX 9
|
||||||
|
|
||||||
|
/* Number of bytes in a terminal canonical input queue. */
|
||||||
|
#define _POSIX_MAX_CANON 255
|
||||||
|
|
||||||
|
/* Number of bytes for which space will be
|
||||||
|
available in a terminal input queue. */
|
||||||
|
#define _POSIX_MAX_INPUT 255
|
||||||
|
|
||||||
|
/* Maximum number of message queues open for a process. */
|
||||||
|
#define _POSIX_MQ_OPEN_MAX 8
|
||||||
|
|
||||||
|
/* Maximum number of supported message priorities. */
|
||||||
|
#define _POSIX_MQ_PRIO_MAX 32
|
||||||
|
|
||||||
|
/* Number of bytes in a filename. */
|
||||||
|
#define _POSIX_NAME_MAX 14
|
||||||
|
|
||||||
|
/* Number of simultaneous supplementary group IDs per process. */
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
# define _POSIX_NGROUPS_MAX 8
|
||||||
|
#else
|
||||||
|
# define _POSIX_NGROUPS_MAX 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of files one process can have open at once. */
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
# define _POSIX_OPEN_MAX 20
|
||||||
|
#else
|
||||||
|
# define _POSIX_OPEN_MAX 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||||
|
/* Number of descriptors that a process may examine with `pselect' or
|
||||||
|
`select'. */
|
||||||
|
# define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of bytes in a pathname. */
|
||||||
|
#define _POSIX_PATH_MAX 256
|
||||||
|
|
||||||
|
/* Number of bytes than can be written atomically to a pipe. */
|
||||||
|
#define _POSIX_PIPE_BUF 512
|
||||||
|
|
||||||
|
/* The number of repeated occurrences of a BRE permitted by the
|
||||||
|
REGEXEC and REGCOMP functions when using the interval notation. */
|
||||||
|
#define _POSIX_RE_DUP_MAX 255
|
||||||
|
|
||||||
|
/* Minimal number of realtime signals reserved for the application. */
|
||||||
|
#define _POSIX_RTSIG_MAX 8
|
||||||
|
|
||||||
|
/* Number of semaphores a process can have. */
|
||||||
|
#define _POSIX_SEM_NSEMS_MAX 256
|
||||||
|
|
||||||
|
/* Maximal value of a semaphore. */
|
||||||
|
#define _POSIX_SEM_VALUE_MAX 32767
|
||||||
|
|
||||||
|
/* Number of pending realtime signals. */
|
||||||
|
#define _POSIX_SIGQUEUE_MAX 32
|
||||||
|
|
||||||
|
/* Largest value of a `ssize_t'. */
|
||||||
|
#define _POSIX_SSIZE_MAX 32767
|
||||||
|
|
||||||
|
/* Number of streams a process can have open at once. */
|
||||||
|
#define _POSIX_STREAM_MAX 8
|
||||||
|
|
||||||
|
/* The number of bytes in a symbolic link. */
|
||||||
|
#define _POSIX_SYMLINK_MAX 255
|
||||||
|
|
||||||
|
/* The number of symbolic links that can be traversed in the
|
||||||
|
resolution of a pathname in the absence of a loop. */
|
||||||
|
#define _POSIX_SYMLOOP_MAX 8
|
||||||
|
|
||||||
|
/* Number of timer for a process. */
|
||||||
|
#define _POSIX_TIMER_MAX 32
|
||||||
|
|
||||||
|
/* Maximum number of characters in a tty name. */
|
||||||
|
#define _POSIX_TTY_NAME_MAX 9
|
||||||
|
|
||||||
|
/* Maximum length of a timezone name (element of `tzname'). */
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
# define _POSIX_TZNAME_MAX 6
|
||||||
|
#else
|
||||||
|
# define _POSIX_TZNAME_MAX 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||||
|
/* Maximum number of connections that can be queued on a socket. */
|
||||||
|
# define _POSIX_QLIMIT 1
|
||||||
|
|
||||||
|
/* Maximum number of bytes that can be buffered on a socket for send
|
||||||
|
or receive. */
|
||||||
|
# define _POSIX_HIWAT _POSIX_PIPE_BUF
|
||||||
|
|
||||||
|
/* Maximum number of elements in an `iovec' array. */
|
||||||
|
# define _POSIX_UIO_MAXIOV 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Maximum clock resolution in nanoseconds. */
|
||||||
|
#define _POSIX_CLOCKRES_MIN 20000000
|
||||||
|
|
||||||
|
|
||||||
|
/* Get the implementation-specific values for the above. */
|
||||||
|
#include <bits/local_lim.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef SSIZE_MAX
|
||||||
|
/* ssize_t is not formally required to be the signed type
|
||||||
|
corresponding to size_t, but it is for all configurations supported
|
||||||
|
by glibc. */
|
||||||
|
# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG
|
||||||
|
# define SSIZE_MAX LONG_MAX
|
||||||
|
# else
|
||||||
|
# define SSIZE_MAX INT_MAX
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* This value is a guaranteed minimum maximum.
|
||||||
|
The current maximum can be got from `sysconf'. */
|
||||||
|
|
||||||
|
#ifndef NGROUPS_MAX
|
||||||
|
# define NGROUPS_MAX 8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/posix1_lim.h */
|
Binary file not shown.
@ -0,0 +1,90 @@
|
|||||||
|
/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Never include this file directly; include <limits.h> instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BITS_POSIX2_LIM_H
|
||||||
|
#define _BITS_POSIX2_LIM_H 1
|
||||||
|
|
||||||
|
|
||||||
|
/* The maximum `ibase' and `obase' values allowed by the `bc' utility. */
|
||||||
|
#define _POSIX2_BC_BASE_MAX 99
|
||||||
|
|
||||||
|
/* The maximum number of elements allowed in an array by the `bc' utility. */
|
||||||
|
#define _POSIX2_BC_DIM_MAX 2048
|
||||||
|
|
||||||
|
/* The maximum `scale' value allowed by the `bc' utility. */
|
||||||
|
#define _POSIX2_BC_SCALE_MAX 99
|
||||||
|
|
||||||
|
/* The maximum length of a string constant accepted by the `bc' utility. */
|
||||||
|
#define _POSIX2_BC_STRING_MAX 1000
|
||||||
|
|
||||||
|
/* The maximum number of weights that can be assigned to an entry of
|
||||||
|
the LC_COLLATE `order' keyword in the locale definition file. */
|
||||||
|
#define _POSIX2_COLL_WEIGHTS_MAX 2
|
||||||
|
|
||||||
|
/* The maximum number of expressions that can be nested
|
||||||
|
within parentheses by the `expr' utility. */
|
||||||
|
#define _POSIX2_EXPR_NEST_MAX 32
|
||||||
|
|
||||||
|
/* The maximum length, in bytes, of an input line. */
|
||||||
|
#define _POSIX2_LINE_MAX 2048
|
||||||
|
|
||||||
|
/* The maximum number of repeated occurrences of a regular expression
|
||||||
|
permitted when using the interval notation `\{M,N\}'. */
|
||||||
|
#define _POSIX2_RE_DUP_MAX 255
|
||||||
|
|
||||||
|
/* The maximum number of bytes in a character class name. We have no
|
||||||
|
fixed limit, 2048 is a high number. */
|
||||||
|
#define _POSIX2_CHARCLASS_NAME_MAX 14
|
||||||
|
|
||||||
|
|
||||||
|
/* These values are implementation-specific,
|
||||||
|
and may vary within the implementation.
|
||||||
|
Their precise values can be obtained from sysconf. */
|
||||||
|
|
||||||
|
#ifndef BC_BASE_MAX
|
||||||
|
#define BC_BASE_MAX _POSIX2_BC_BASE_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef BC_DIM_MAX
|
||||||
|
#define BC_DIM_MAX _POSIX2_BC_DIM_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef BC_SCALE_MAX
|
||||||
|
#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef BC_STRING_MAX
|
||||||
|
#define BC_STRING_MAX _POSIX2_BC_STRING_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef COLL_WEIGHTS_MAX
|
||||||
|
#define COLL_WEIGHTS_MAX 255
|
||||||
|
#endif
|
||||||
|
#ifndef EXPR_NEST_MAX
|
||||||
|
#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef LINE_MAX
|
||||||
|
#define LINE_MAX _POSIX2_LINE_MAX
|
||||||
|
#endif
|
||||||
|
#ifndef CHARCLASS_NAME_MAX
|
||||||
|
#define CHARCLASS_NAME_MAX 2048
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This value is defined like this in regex.h. */
|
||||||
|
#define RE_DUP_MAX (0x7fff)
|
||||||
|
|
||||||
|
#endif /* bits/posix2_lim.h */
|
Binary file not shown.
@ -0,0 +1,194 @@
|
|||||||
|
/* Define POSIX options for Linux.
|
||||||
|
Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||||
|
not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_POSIX_OPT_H
|
||||||
|
#define _BITS_POSIX_OPT_H 1
|
||||||
|
|
||||||
|
/* Job control is supported. */
|
||||||
|
#define _POSIX_JOB_CONTROL 1
|
||||||
|
|
||||||
|
/* Processes have a saved set-user-ID and a saved set-group-ID. */
|
||||||
|
#define _POSIX_SAVED_IDS 1
|
||||||
|
|
||||||
|
/* Priority scheduling is not supported with the correct semantics,
|
||||||
|
but GNU/Linux applications expect that the corresponding interfaces
|
||||||
|
are available, even though the semantics do not meet the POSIX
|
||||||
|
requirements. See glibc bug 14829. */
|
||||||
|
#define _POSIX_PRIORITY_SCHEDULING 200809L
|
||||||
|
|
||||||
|
/* Synchronizing file data is supported. */
|
||||||
|
#define _POSIX_SYNCHRONIZED_IO 200809L
|
||||||
|
|
||||||
|
/* The fsync function is present. */
|
||||||
|
#define _POSIX_FSYNC 200809L
|
||||||
|
|
||||||
|
/* Mapping of files to memory is supported. */
|
||||||
|
#define _POSIX_MAPPED_FILES 200809L
|
||||||
|
|
||||||
|
/* Locking of all memory is supported. */
|
||||||
|
#define _POSIX_MEMLOCK 200809L
|
||||||
|
|
||||||
|
/* Locking of ranges of memory is supported. */
|
||||||
|
#define _POSIX_MEMLOCK_RANGE 200809L
|
||||||
|
|
||||||
|
/* Setting of memory protections is supported. */
|
||||||
|
#define _POSIX_MEMORY_PROTECTION 200809L
|
||||||
|
|
||||||
|
/* Some filesystems allow all users to change file ownership. */
|
||||||
|
#define _POSIX_CHOWN_RESTRICTED 0
|
||||||
|
|
||||||
|
/* `c_cc' member of 'struct termios' structure can be disabled by
|
||||||
|
using the value _POSIX_VDISABLE. */
|
||||||
|
#define _POSIX_VDISABLE '\0'
|
||||||
|
|
||||||
|
/* Filenames are not silently truncated. */
|
||||||
|
#define _POSIX_NO_TRUNC 1
|
||||||
|
|
||||||
|
/* X/Open realtime support is available. */
|
||||||
|
#define _XOPEN_REALTIME 1
|
||||||
|
|
||||||
|
/* X/Open thread realtime support is available. */
|
||||||
|
#define _XOPEN_REALTIME_THREADS 1
|
||||||
|
|
||||||
|
/* XPG4.2 shared memory is supported. */
|
||||||
|
#define _XOPEN_SHM 1
|
||||||
|
|
||||||
|
/* Tell we have POSIX threads. */
|
||||||
|
#define _POSIX_THREADS 200809L
|
||||||
|
|
||||||
|
/* We have the reentrant functions described in POSIX. */
|
||||||
|
#define _POSIX_REENTRANT_FUNCTIONS 1
|
||||||
|
#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
|
||||||
|
|
||||||
|
/* We provide priority scheduling for threads. */
|
||||||
|
#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
|
||||||
|
|
||||||
|
/* We support user-defined stack sizes. */
|
||||||
|
#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
|
||||||
|
|
||||||
|
/* We support user-defined stacks. */
|
||||||
|
#define _POSIX_THREAD_ATTR_STACKADDR 200809L
|
||||||
|
|
||||||
|
/* We support priority inheritence. */
|
||||||
|
#define _POSIX_THREAD_PRIO_INHERIT 200809L
|
||||||
|
|
||||||
|
/* We support priority protection, though only for non-robust
|
||||||
|
mutexes. */
|
||||||
|
#define _POSIX_THREAD_PRIO_PROTECT 200809L
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN2K8
|
||||||
|
/* We support priority inheritence for robust mutexes. */
|
||||||
|
# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L
|
||||||
|
|
||||||
|
/* We do not support priority protection for robust mutexes. */
|
||||||
|
# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* We support POSIX.1b semaphores. */
|
||||||
|
#define _POSIX_SEMAPHORES 200809L
|
||||||
|
|
||||||
|
/* Real-time signals are supported. */
|
||||||
|
#define _POSIX_REALTIME_SIGNALS 200809L
|
||||||
|
|
||||||
|
/* We support asynchronous I/O. */
|
||||||
|
#define _POSIX_ASYNCHRONOUS_IO 200809L
|
||||||
|
#define _POSIX_ASYNC_IO 1
|
||||||
|
/* Alternative name for Unix98. */
|
||||||
|
#define _LFS_ASYNCHRONOUS_IO 1
|
||||||
|
/* Support for prioritization is also available. */
|
||||||
|
#define _POSIX_PRIORITIZED_IO 200809L
|
||||||
|
|
||||||
|
/* The LFS support in asynchronous I/O is also available. */
|
||||||
|
#define _LFS64_ASYNCHRONOUS_IO 1
|
||||||
|
|
||||||
|
/* The rest of the LFS is also available. */
|
||||||
|
#define _LFS_LARGEFILE 1
|
||||||
|
#define _LFS64_LARGEFILE 1
|
||||||
|
#define _LFS64_STDIO 1
|
||||||
|
|
||||||
|
/* POSIX shared memory objects are implemented. */
|
||||||
|
#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
|
||||||
|
|
||||||
|
/* CPU-time clocks support needs to be checked at runtime. */
|
||||||
|
#define _POSIX_CPUTIME 0
|
||||||
|
|
||||||
|
/* Clock support in threads must be also checked at runtime. */
|
||||||
|
#define _POSIX_THREAD_CPUTIME 0
|
||||||
|
|
||||||
|
/* GNU libc provides regular expression handling. */
|
||||||
|
#define _POSIX_REGEXP 1
|
||||||
|
|
||||||
|
/* Reader/Writer locks are available. */
|
||||||
|
#define _POSIX_READER_WRITER_LOCKS 200809L
|
||||||
|
|
||||||
|
/* We have a POSIX shell. */
|
||||||
|
#define _POSIX_SHELL 1
|
||||||
|
|
||||||
|
/* We support the Timeouts option. */
|
||||||
|
#define _POSIX_TIMEOUTS 200809L
|
||||||
|
|
||||||
|
/* We support spinlocks. */
|
||||||
|
#define _POSIX_SPIN_LOCKS 200809L
|
||||||
|
|
||||||
|
/* The `spawn' function family is supported. */
|
||||||
|
#define _POSIX_SPAWN 200809L
|
||||||
|
|
||||||
|
/* We have POSIX timers. */
|
||||||
|
#define _POSIX_TIMERS 200809L
|
||||||
|
|
||||||
|
/* The barrier functions are available. */
|
||||||
|
#define _POSIX_BARRIERS 200809L
|
||||||
|
|
||||||
|
/* POSIX message queues are available. */
|
||||||
|
#define _POSIX_MESSAGE_PASSING 200809L
|
||||||
|
|
||||||
|
/* Thread process-shared synchronization is supported. */
|
||||||
|
#define _POSIX_THREAD_PROCESS_SHARED 200809L
|
||||||
|
|
||||||
|
/* The monotonic clock might be available. */
|
||||||
|
#define _POSIX_MONOTONIC_CLOCK 0
|
||||||
|
|
||||||
|
/* The clock selection interfaces are available. */
|
||||||
|
#define _POSIX_CLOCK_SELECTION 200809L
|
||||||
|
|
||||||
|
/* Advisory information interfaces are available. */
|
||||||
|
#define _POSIX_ADVISORY_INFO 200809L
|
||||||
|
|
||||||
|
/* IPv6 support is available. */
|
||||||
|
#define _POSIX_IPV6 200809L
|
||||||
|
|
||||||
|
/* Raw socket support is available. */
|
||||||
|
#define _POSIX_RAW_SOCKETS 200809L
|
||||||
|
|
||||||
|
/* We have at least one terminal. */
|
||||||
|
#define _POSIX2_CHAR_TERM 200809L
|
||||||
|
|
||||||
|
/* Neither process nor thread sporadic server interfaces is available. */
|
||||||
|
#define _POSIX_SPORADIC_SERVER -1
|
||||||
|
#define _POSIX_THREAD_SPORADIC_SERVER -1
|
||||||
|
|
||||||
|
/* trace.h is not available. */
|
||||||
|
#define _POSIX_TRACE -1
|
||||||
|
#define _POSIX_TRACE_EVENT_FILTER -1
|
||||||
|
#define _POSIX_TRACE_INHERIT -1
|
||||||
|
#define _POSIX_TRACE_LOG -1
|
||||||
|
|
||||||
|
/* Typed memory objects are not available. */
|
||||||
|
#define _POSIX_TYPED_MEMORY_OBJECTS -1
|
||||||
|
|
||||||
|
#endif /* bits/posix_opt.h */
|
Binary file not shown.
@ -0,0 +1,31 @@
|
|||||||
|
/* Definition of PTHREAD_STACK_MIN, possibly dynamic.
|
||||||
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef PTHREAD_STACK_MIN
|
||||||
|
# if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE
|
||||||
|
# ifndef __ASSEMBLER__
|
||||||
|
# define __SC_THREAD_STACK_MIN_VALUE 75
|
||||||
|
__BEGIN_DECLS
|
||||||
|
extern long int __sysconf (int __name) __THROW;
|
||||||
|
__END_DECLS
|
||||||
|
# define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# include <bits/pthread_stack_min.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,20 @@
|
|||||||
|
/* Definition of PTHREAD_STACK_MIN. Linux version.
|
||||||
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* Minimum size for a thread. We are free to choose a reasonable value. */
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
Binary file not shown.
@ -0,0 +1,55 @@
|
|||||||
|
/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_PTHREADTYPES_ARCH_H
|
||||||
|
#define _BITS_PTHREADTYPES_ARCH_H 1
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# if __WORDSIZE == 64
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||||
|
# else
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 44
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 24
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 36
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||||
|
#endif
|
||||||
|
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||||
|
#define __SIZEOF_PTHREAD_COND_T 48
|
||||||
|
#define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||||
|
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||||
|
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||||
|
|
||||||
|
#define __LOCK_ALIGNMENT
|
||||||
|
#define __ONCE_ALIGNMENT
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
/* Extra attributes for the cleanup functions. */
|
||||||
|
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/pthreadtypes.h */
|
Binary file not shown.
@ -0,0 +1,121 @@
|
|||||||
|
/* Declaration of common pthread types for all architectures.
|
||||||
|
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_PTHREADTYPES_COMMON_H
|
||||||
|
# define _BITS_PTHREADTYPES_COMMON_H 1
|
||||||
|
|
||||||
|
/* For internal mutex and condition variable definitions. */
|
||||||
|
#include <bits/thread-shared-types.h>
|
||||||
|
|
||||||
|
/* Thread identifiers. The structure of the attribute type is not
|
||||||
|
exposed on purpose. */
|
||||||
|
typedef unsigned long int pthread_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Data structures for mutex handling. The structure of the attribute
|
||||||
|
type is not exposed on purpose. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_mutexattr_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Data structure for condition variable handling. The structure of
|
||||||
|
the attribute type is not exposed on purpose. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_CONDATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_condattr_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Keys for thread-specific data */
|
||||||
|
typedef unsigned int pthread_key_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Once-only execution */
|
||||||
|
typedef int __ONCE_ALIGNMENT pthread_once_t;
|
||||||
|
|
||||||
|
|
||||||
|
union pthread_attr_t
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_ATTR_T];
|
||||||
|
long int __align;
|
||||||
|
};
|
||||||
|
#ifndef __have_pthread_attr_t
|
||||||
|
typedef union pthread_attr_t pthread_attr_t;
|
||||||
|
# define __have_pthread_attr_t 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_mutex_s __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_MUTEX_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_mutex_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_cond_s __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_COND_T];
|
||||||
|
__extension__ long long int __align;
|
||||||
|
} pthread_cond_t;
|
||||||
|
|
||||||
|
|
||||||
|
#if defined __USE_UNIX98 || defined __USE_XOPEN2K
|
||||||
|
/* Data structure for reader-writer lock variable handling. The
|
||||||
|
structure of the attribute type is deliberately not exposed. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_rwlock_arch_t __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_RWLOCK_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_rwlock_t;
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_rwlockattr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
/* POSIX spinlock data type. */
|
||||||
|
typedef volatile int pthread_spinlock_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* POSIX barriers data type. The structure of the type is
|
||||||
|
deliberately not exposed. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_BARRIER_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_barrier_t;
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_barrierattr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,37 @@
|
|||||||
|
/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SYS_SELECT_H
|
||||||
|
# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* We don't use `memset' because this would require a prototype and
|
||||||
|
the array isn't too big. */
|
||||||
|
#define __FD_ZERO(s) \
|
||||||
|
do { \
|
||||||
|
unsigned int __i; \
|
||||||
|
fd_set *__arr = (s); \
|
||||||
|
for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
|
||||||
|
__FDS_BITS (__arr)[__i] = 0; \
|
||||||
|
} while (0)
|
||||||
|
#define __FD_SET(d, s) \
|
||||||
|
((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
|
||||||
|
#define __FD_CLR(d, s) \
|
||||||
|
((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
|
||||||
|
#define __FD_ISSET(d, s) \
|
||||||
|
((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
|
Binary file not shown.
@ -0,0 +1,83 @@
|
|||||||
|
/* The proper definitions for Linux's sigaction.
|
||||||
|
Copyright (C) 1993-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGACTION_H
|
||||||
|
#define _BITS_SIGACTION_H 1
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Structure describing the action to be taken when a signal arrives. */
|
||||||
|
struct sigaction
|
||||||
|
{
|
||||||
|
/* Signal handler. */
|
||||||
|
#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
|
||||||
|
union
|
||||||
|
{
|
||||||
|
/* Used if SA_SIGINFO is not set. */
|
||||||
|
__sighandler_t sa_handler;
|
||||||
|
/* Used if SA_SIGINFO is set. */
|
||||||
|
void (*sa_sigaction) (int, siginfo_t *, void *);
|
||||||
|
}
|
||||||
|
__sigaction_handler;
|
||||||
|
# define sa_handler __sigaction_handler.sa_handler
|
||||||
|
# define sa_sigaction __sigaction_handler.sa_sigaction
|
||||||
|
#else
|
||||||
|
__sighandler_t sa_handler;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Additional set of signals to be blocked. */
|
||||||
|
__sigset_t sa_mask;
|
||||||
|
|
||||||
|
/* Special flags. */
|
||||||
|
int sa_flags;
|
||||||
|
|
||||||
|
/* Restore handler. */
|
||||||
|
void (*sa_restorer) (void);
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Bits in `sa_flags'. */
|
||||||
|
#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */
|
||||||
|
#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */
|
||||||
|
#define SA_SIGINFO 4 /* Invoke signal-catching function with
|
||||||
|
three arguments instead of one. */
|
||||||
|
#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
|
||||||
|
# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
|
||||||
|
#endif
|
||||||
|
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
|
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
|
||||||
|
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
|
||||||
|
its handler is being executed. */
|
||||||
|
# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
|
||||||
|
#endif
|
||||||
|
#ifdef __USE_MISC
|
||||||
|
# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
|
||||||
|
|
||||||
|
/* Some aliases for the SA_ constants. */
|
||||||
|
# define SA_NOMASK SA_NODEFER
|
||||||
|
# define SA_ONESHOT SA_RESETHAND
|
||||||
|
# define SA_STACK SA_ONSTACK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for the HOW argument to `sigprocmask'. */
|
||||||
|
#define SIG_BLOCK 0 /* Block signals. */
|
||||||
|
#define SIG_UNBLOCK 1 /* Unblock signals. */
|
||||||
|
#define SIG_SETMASK 2 /* Set the set of blocked signals. */
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,196 @@
|
|||||||
|
/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGCONTEXT_H
|
||||||
|
#define _BITS_SIGCONTEXT_H 1
|
||||||
|
|
||||||
|
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||||
|
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
#define FP_XSTATE_MAGIC1 0x46505853U
|
||||||
|
#define FP_XSTATE_MAGIC2 0x46505845U
|
||||||
|
#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2)
|
||||||
|
|
||||||
|
struct _fpx_sw_bytes
|
||||||
|
{
|
||||||
|
__uint32_t magic1;
|
||||||
|
__uint32_t extended_size;
|
||||||
|
__uint64_t xstate_bv;
|
||||||
|
__uint32_t xstate_size;
|
||||||
|
__uint32_t __glibc_reserved1[7];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _fpreg
|
||||||
|
{
|
||||||
|
unsigned short significand[4];
|
||||||
|
unsigned short exponent;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _fpxreg
|
||||||
|
{
|
||||||
|
unsigned short significand[4];
|
||||||
|
unsigned short exponent;
|
||||||
|
unsigned short __glibc_reserved1[3];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _xmmreg
|
||||||
|
{
|
||||||
|
__uint32_t element[4];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
|
||||||
|
struct _fpstate
|
||||||
|
{
|
||||||
|
/* Regular FPU environment. */
|
||||||
|
__uint32_t cw;
|
||||||
|
__uint32_t sw;
|
||||||
|
__uint32_t tag;
|
||||||
|
__uint32_t ipoff;
|
||||||
|
__uint32_t cssel;
|
||||||
|
__uint32_t dataoff;
|
||||||
|
__uint32_t datasel;
|
||||||
|
struct _fpreg _st[8];
|
||||||
|
unsigned short status;
|
||||||
|
unsigned short magic;
|
||||||
|
|
||||||
|
/* FXSR FPU environment. */
|
||||||
|
__uint32_t _fxsr_env[6];
|
||||||
|
__uint32_t mxcsr;
|
||||||
|
__uint32_t __glibc_reserved1;
|
||||||
|
struct _fpxreg _fxsr_st[8];
|
||||||
|
struct _xmmreg _xmm[8];
|
||||||
|
__uint32_t __glibc_reserved2[56];
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef sigcontext_struct
|
||||||
|
/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
|
||||||
|
we need sigcontext. Some packages have come to rely on
|
||||||
|
sigcontext_struct being defined on 32-bit x86, so define this for
|
||||||
|
their benefit. */
|
||||||
|
# define sigcontext_struct sigcontext
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define X86_FXSR_MAGIC 0x0000
|
||||||
|
|
||||||
|
struct sigcontext
|
||||||
|
{
|
||||||
|
unsigned short gs, __gsh;
|
||||||
|
unsigned short fs, __fsh;
|
||||||
|
unsigned short es, __esh;
|
||||||
|
unsigned short ds, __dsh;
|
||||||
|
unsigned long edi;
|
||||||
|
unsigned long esi;
|
||||||
|
unsigned long ebp;
|
||||||
|
unsigned long esp;
|
||||||
|
unsigned long ebx;
|
||||||
|
unsigned long edx;
|
||||||
|
unsigned long ecx;
|
||||||
|
unsigned long eax;
|
||||||
|
unsigned long trapno;
|
||||||
|
unsigned long err;
|
||||||
|
unsigned long eip;
|
||||||
|
unsigned short cs, __csh;
|
||||||
|
unsigned long eflags;
|
||||||
|
unsigned long esp_at_signal;
|
||||||
|
unsigned short ss, __ssh;
|
||||||
|
struct _fpstate * fpstate;
|
||||||
|
unsigned long oldmask;
|
||||||
|
unsigned long cr2;
|
||||||
|
};
|
||||||
|
|
||||||
|
#else /* __x86_64__ */
|
||||||
|
|
||||||
|
struct _fpstate
|
||||||
|
{
|
||||||
|
/* FPU environment matching the 64-bit FXSAVE layout. */
|
||||||
|
__uint16_t cwd;
|
||||||
|
__uint16_t swd;
|
||||||
|
__uint16_t ftw;
|
||||||
|
__uint16_t fop;
|
||||||
|
__uint64_t rip;
|
||||||
|
__uint64_t rdp;
|
||||||
|
__uint32_t mxcsr;
|
||||||
|
__uint32_t mxcr_mask;
|
||||||
|
struct _fpxreg _st[8];
|
||||||
|
struct _xmmreg _xmm[16];
|
||||||
|
__uint32_t __glibc_reserved1[24];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sigcontext
|
||||||
|
{
|
||||||
|
__uint64_t r8;
|
||||||
|
__uint64_t r9;
|
||||||
|
__uint64_t r10;
|
||||||
|
__uint64_t r11;
|
||||||
|
__uint64_t r12;
|
||||||
|
__uint64_t r13;
|
||||||
|
__uint64_t r14;
|
||||||
|
__uint64_t r15;
|
||||||
|
__uint64_t rdi;
|
||||||
|
__uint64_t rsi;
|
||||||
|
__uint64_t rbp;
|
||||||
|
__uint64_t rbx;
|
||||||
|
__uint64_t rdx;
|
||||||
|
__uint64_t rax;
|
||||||
|
__uint64_t rcx;
|
||||||
|
__uint64_t rsp;
|
||||||
|
__uint64_t rip;
|
||||||
|
__uint64_t eflags;
|
||||||
|
unsigned short cs;
|
||||||
|
unsigned short gs;
|
||||||
|
unsigned short fs;
|
||||||
|
unsigned short __pad0;
|
||||||
|
__uint64_t err;
|
||||||
|
__uint64_t trapno;
|
||||||
|
__uint64_t oldmask;
|
||||||
|
__uint64_t cr2;
|
||||||
|
__extension__ union
|
||||||
|
{
|
||||||
|
struct _fpstate * fpstate;
|
||||||
|
__uint64_t __fpstate_word;
|
||||||
|
};
|
||||||
|
__uint64_t __reserved1 [8];
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __x86_64__ */
|
||||||
|
|
||||||
|
struct _xsave_hdr
|
||||||
|
{
|
||||||
|
__uint64_t xstate_bv;
|
||||||
|
__uint64_t __glibc_reserved1[2];
|
||||||
|
__uint64_t __glibc_reserved2[5];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _ymmh_state
|
||||||
|
{
|
||||||
|
__uint32_t ymmh_space[64];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _xstate
|
||||||
|
{
|
||||||
|
struct _fpstate fpstate;
|
||||||
|
struct _xsave_hdr xstate_hdr;
|
||||||
|
struct _ymmh_state ymmh;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _BITS_SIGCONTEXT_H */
|
Binary file not shown.
@ -0,0 +1,41 @@
|
|||||||
|
/* sigevent constants. Linux version.
|
||||||
|
Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGEVENT_CONSTS_H
|
||||||
|
#define _BITS_SIGEVENT_CONSTS_H 1
|
||||||
|
|
||||||
|
#if !defined _SIGNAL_H && !defined _AIO_H
|
||||||
|
#error "Don't include <bits/sigevent-consts.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* `sigev_notify' values. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SIGEV_SIGNAL = 0, /* Notify via signal. */
|
||||||
|
# define SIGEV_SIGNAL SIGEV_SIGNAL
|
||||||
|
SIGEV_NONE, /* Other notification: meaningless. */
|
||||||
|
# define SIGEV_NONE SIGEV_NONE
|
||||||
|
SIGEV_THREAD, /* Deliver via thread creation. */
|
||||||
|
# define SIGEV_THREAD SIGEV_THREAD
|
||||||
|
|
||||||
|
SIGEV_THREAD_ID = 4 /* Send signal to specific thread.
|
||||||
|
This is a Linux extension. */
|
||||||
|
#define SIGEV_THREAD_ID SIGEV_THREAD_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,17 @@
|
|||||||
|
/* Architecture-specific adjustments to siginfo_t. x86 version. */
|
||||||
|
#ifndef _BITS_SIGINFO_ARCH_H
|
||||||
|
#define _BITS_SIGINFO_ARCH_H 1
|
||||||
|
|
||||||
|
#if defined __x86_64__ && __WORDSIZE == 32
|
||||||
|
/* si_utime and si_stime must be 4 byte aligned for x32 to match the
|
||||||
|
kernel. We align siginfo_t to 8 bytes so that si_utime and
|
||||||
|
si_stime are actually aligned to 8 bytes since their offsets are
|
||||||
|
multiple of 8 bytes. Note: with some compilers, the alignment
|
||||||
|
attribute would be ignored if it were put in __SI_CLOCK_T instead
|
||||||
|
of encapsulated in a typedef. */
|
||||||
|
typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
|
||||||
|
# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
|
||||||
|
# define __SI_CLOCK_T __sigchld_clock_t
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,216 @@
|
|||||||
|
/* siginfo constants. Linux version.
|
||||||
|
Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGINFO_CONSTS_H
|
||||||
|
#define _BITS_SIGINFO_CONSTS_H 1
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
#error "Don't include <bits/siginfo-consts.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Most of these constants are uniform across all architectures, but there
|
||||||
|
is one exception. */
|
||||||
|
#include <bits/siginfo-arch.h>
|
||||||
|
#ifndef __SI_ASYNCIO_AFTER_SIGIO
|
||||||
|
# define __SI_ASYNCIO_AFTER_SIGIO 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for `si_code'. Positive values are reserved for kernel-generated
|
||||||
|
signals. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
|
||||||
|
SI_DETHREAD = -7, /* Sent by execve killing subsidiary
|
||||||
|
threads. */
|
||||||
|
SI_TKILL, /* Sent by tkill. */
|
||||||
|
SI_SIGIO, /* Sent by queued SIGIO. */
|
||||||
|
#if __SI_ASYNCIO_AFTER_SIGIO
|
||||||
|
SI_ASYNCIO, /* Sent by AIO completion. */
|
||||||
|
SI_MESGQ, /* Sent by real time mesq state change. */
|
||||||
|
SI_TIMER, /* Sent by timer expiration. */
|
||||||
|
#else
|
||||||
|
SI_MESGQ,
|
||||||
|
SI_TIMER,
|
||||||
|
SI_ASYNCIO,
|
||||||
|
#endif
|
||||||
|
SI_QUEUE, /* Sent by sigqueue. */
|
||||||
|
SI_USER, /* Sent by kill, sigsend. */
|
||||||
|
SI_KERNEL = 0x80 /* Send by kernel. */
|
||||||
|
|
||||||
|
#define SI_ASYNCNL SI_ASYNCNL
|
||||||
|
#define SI_DETHREAD SI_DETHREAD
|
||||||
|
#define SI_TKILL SI_TKILL
|
||||||
|
#define SI_SIGIO SI_SIGIO
|
||||||
|
#define SI_ASYNCIO SI_ASYNCIO
|
||||||
|
#define SI_MESGQ SI_MESGQ
|
||||||
|
#define SI_TIMER SI_TIMER
|
||||||
|
#define SI_ASYNCIO SI_ASYNCIO
|
||||||
|
#define SI_QUEUE SI_QUEUE
|
||||||
|
#define SI_USER SI_USER
|
||||||
|
#define SI_KERNEL SI_KERNEL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
|
/* `si_code' values for SIGILL signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ILL_ILLOPC = 1, /* Illegal opcode. */
|
||||||
|
# define ILL_ILLOPC ILL_ILLOPC
|
||||||
|
ILL_ILLOPN, /* Illegal operand. */
|
||||||
|
# define ILL_ILLOPN ILL_ILLOPN
|
||||||
|
ILL_ILLADR, /* Illegal addressing mode. */
|
||||||
|
# define ILL_ILLADR ILL_ILLADR
|
||||||
|
ILL_ILLTRP, /* Illegal trap. */
|
||||||
|
# define ILL_ILLTRP ILL_ILLTRP
|
||||||
|
ILL_PRVOPC, /* Privileged opcode. */
|
||||||
|
# define ILL_PRVOPC ILL_PRVOPC
|
||||||
|
ILL_PRVREG, /* Privileged register. */
|
||||||
|
# define ILL_PRVREG ILL_PRVREG
|
||||||
|
ILL_COPROC, /* Coprocessor error. */
|
||||||
|
# define ILL_COPROC ILL_COPROC
|
||||||
|
ILL_BADSTK, /* Internal stack error. */
|
||||||
|
# define ILL_BADSTK ILL_BADSTK
|
||||||
|
ILL_BADIADDR /* Unimplemented instruction address. */
|
||||||
|
# define ILL_BADIADDR ILL_BADIADDR
|
||||||
|
};
|
||||||
|
|
||||||
|
/* `si_code' values for SIGFPE signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
FPE_INTDIV = 1, /* Integer divide by zero. */
|
||||||
|
# define FPE_INTDIV FPE_INTDIV
|
||||||
|
FPE_INTOVF, /* Integer overflow. */
|
||||||
|
# define FPE_INTOVF FPE_INTOVF
|
||||||
|
FPE_FLTDIV, /* Floating point divide by zero. */
|
||||||
|
# define FPE_FLTDIV FPE_FLTDIV
|
||||||
|
FPE_FLTOVF, /* Floating point overflow. */
|
||||||
|
# define FPE_FLTOVF FPE_FLTOVF
|
||||||
|
FPE_FLTUND, /* Floating point underflow. */
|
||||||
|
# define FPE_FLTUND FPE_FLTUND
|
||||||
|
FPE_FLTRES, /* Floating point inexact result. */
|
||||||
|
# define FPE_FLTRES FPE_FLTRES
|
||||||
|
FPE_FLTINV, /* Floating point invalid operation. */
|
||||||
|
# define FPE_FLTINV FPE_FLTINV
|
||||||
|
FPE_FLTSUB, /* Subscript out of range. */
|
||||||
|
# define FPE_FLTSUB FPE_FLTSUB
|
||||||
|
FPE_FLTUNK = 14, /* Undiagnosed floating-point exception. */
|
||||||
|
# define FPE_FLTUNK FPE_FLTUNK
|
||||||
|
FPE_CONDTRAP /* Trap on condition. */
|
||||||
|
# define FPE_CONDTRAP FPE_CONDTRAP
|
||||||
|
};
|
||||||
|
|
||||||
|
/* `si_code' values for SIGSEGV signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SEGV_MAPERR = 1, /* Address not mapped to object. */
|
||||||
|
# define SEGV_MAPERR SEGV_MAPERR
|
||||||
|
SEGV_ACCERR, /* Invalid permissions for mapped object. */
|
||||||
|
# define SEGV_ACCERR SEGV_ACCERR
|
||||||
|
SEGV_BNDERR, /* Bounds checking failure. */
|
||||||
|
# define SEGV_BNDERR SEGV_BNDERR
|
||||||
|
SEGV_PKUERR, /* Protection key checking failure. */
|
||||||
|
# define SEGV_PKUERR SEGV_PKUERR
|
||||||
|
SEGV_ACCADI, /* ADI not enabled for mapped object. */
|
||||||
|
# define SEGV_ACCADI SEGV_ACCADI
|
||||||
|
SEGV_ADIDERR, /* Disrupting MCD error. */
|
||||||
|
# define SEGV_ADIDERR SEGV_ADIDERR
|
||||||
|
SEGV_ADIPERR, /* Precise MCD exception. */
|
||||||
|
# define SEGV_ADIPERR SEGV_ADIPERR
|
||||||
|
SEGV_MTEAERR, /* Asynchronous ARM MTE error. */
|
||||||
|
# define SEGV_MTEAERR SEGV_MTEAERR
|
||||||
|
SEGV_MTESERR /* Synchronous ARM MTE exception. */
|
||||||
|
# define SEGV_MTESERR SEGV_MTESERR
|
||||||
|
};
|
||||||
|
|
||||||
|
/* `si_code' values for SIGBUS signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
BUS_ADRALN = 1, /* Invalid address alignment. */
|
||||||
|
# define BUS_ADRALN BUS_ADRALN
|
||||||
|
BUS_ADRERR, /* Non-existant physical address. */
|
||||||
|
# define BUS_ADRERR BUS_ADRERR
|
||||||
|
BUS_OBJERR, /* Object specific hardware error. */
|
||||||
|
# define BUS_OBJERR BUS_OBJERR
|
||||||
|
BUS_MCEERR_AR, /* Hardware memory error: action required. */
|
||||||
|
# define BUS_MCEERR_AR BUS_MCEERR_AR
|
||||||
|
BUS_MCEERR_AO /* Hardware memory error: action optional. */
|
||||||
|
# define BUS_MCEERR_AO BUS_MCEERR_AO
|
||||||
|
};
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifdef __USE_XOPEN_EXTENDED
|
||||||
|
/* `si_code' values for SIGTRAP signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
TRAP_BRKPT = 1, /* Process breakpoint. */
|
||||||
|
# define TRAP_BRKPT TRAP_BRKPT
|
||||||
|
TRAP_TRACE, /* Process trace trap. */
|
||||||
|
# define TRAP_TRACE TRAP_TRACE
|
||||||
|
TRAP_BRANCH, /* Process taken branch trap. */
|
||||||
|
# define TRAP_BRANCH TRAP_BRANCH
|
||||||
|
TRAP_HWBKPT, /* Hardware breakpoint/watchpoint. */
|
||||||
|
# define TRAP_HWBKPT TRAP_HWBKPT
|
||||||
|
TRAP_UNK /* Undiagnosed trap. */
|
||||||
|
# define TRAP_UNK TRAP_UNK
|
||||||
|
};
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
|
/* `si_code' values for SIGCHLD signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CLD_EXITED = 1, /* Child has exited. */
|
||||||
|
# define CLD_EXITED CLD_EXITED
|
||||||
|
CLD_KILLED, /* Child was killed. */
|
||||||
|
# define CLD_KILLED CLD_KILLED
|
||||||
|
CLD_DUMPED, /* Child terminated abnormally. */
|
||||||
|
# define CLD_DUMPED CLD_DUMPED
|
||||||
|
CLD_TRAPPED, /* Traced child has trapped. */
|
||||||
|
# define CLD_TRAPPED CLD_TRAPPED
|
||||||
|
CLD_STOPPED, /* Child has stopped. */
|
||||||
|
# define CLD_STOPPED CLD_STOPPED
|
||||||
|
CLD_CONTINUED /* Stopped child has continued. */
|
||||||
|
# define CLD_CONTINUED CLD_CONTINUED
|
||||||
|
};
|
||||||
|
|
||||||
|
/* `si_code' values for SIGPOLL signal. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
POLL_IN = 1, /* Data input available. */
|
||||||
|
# define POLL_IN POLL_IN
|
||||||
|
POLL_OUT, /* Output buffers available. */
|
||||||
|
# define POLL_OUT POLL_OUT
|
||||||
|
POLL_MSG, /* Input message available. */
|
||||||
|
# define POLL_MSG POLL_MSG
|
||||||
|
POLL_ERR, /* I/O error. */
|
||||||
|
# define POLL_ERR POLL_ERR
|
||||||
|
POLL_PRI, /* High priority input available. */
|
||||||
|
# define POLL_PRI POLL_PRI
|
||||||
|
POLL_HUP /* Device disconnected. */
|
||||||
|
# define POLL_HUP POLL_HUP
|
||||||
|
};
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Architectures might also add architecture-specific constants.
|
||||||
|
These are all considered GNU extensions. */
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# include <bits/siginfo-consts-arch.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,31 @@
|
|||||||
|
/* System-specific extensions of <signal.h>, Linux version.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
|
||||||
|
/* Send SIGNAL to the thread TID in the thread group (process)
|
||||||
|
identified by TGID. This function behaves like kill, but also
|
||||||
|
fails with ESRCH if the specified TID does not belong to the
|
||||||
|
specified thread group. */
|
||||||
|
extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
|
||||||
|
|
||||||
|
#endif /* __USE_GNU */
|
Binary file not shown.
@ -0,0 +1,64 @@
|
|||||||
|
/* Signal number definitions. Linux version.
|
||||||
|
Copyright (C) 1995-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGNUM_ARCH_H
|
||||||
|
#define _BITS_SIGNUM_ARCH_H 1
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Adjustments and additions to the signal number constants for
|
||||||
|
most Linux systems. */
|
||||||
|
|
||||||
|
#define SIGSTKFLT 16 /* Stack fault (obsolete). */
|
||||||
|
#define SIGPWR 30 /* Power failure imminent. */
|
||||||
|
|
||||||
|
/* Historical signals specified by POSIX. */
|
||||||
|
#define SIGBUS 7 /* Bus error. */
|
||||||
|
#define SIGSYS 31 /* Bad system call. */
|
||||||
|
|
||||||
|
/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
|
||||||
|
#define SIGURG 23 /* Urgent data is available at a socket. */
|
||||||
|
#define SIGSTOP 19 /* Stop, unblockable. */
|
||||||
|
#define SIGTSTP 20 /* Keyboard stop. */
|
||||||
|
#define SIGCONT 18 /* Continue. */
|
||||||
|
#define SIGCHLD 17 /* Child terminated or stopped. */
|
||||||
|
#define SIGTTIN 21 /* Background read from control terminal. */
|
||||||
|
#define SIGTTOU 22 /* Background write to control terminal. */
|
||||||
|
#define SIGPOLL 29 /* Pollable event occurred (System V). */
|
||||||
|
#define SIGXFSZ 25 /* File size limit exceeded. */
|
||||||
|
#define SIGXCPU 24 /* CPU time limit exceeded. */
|
||||||
|
#define SIGVTALRM 26 /* Virtual timer expired. */
|
||||||
|
#define SIGPROF 27 /* Profiling timer expired. */
|
||||||
|
#define SIGUSR1 10 /* User-defined signal 1. */
|
||||||
|
#define SIGUSR2 12 /* User-defined signal 2. */
|
||||||
|
|
||||||
|
/* Nonstandard signals found in all modern POSIX systems
|
||||||
|
(including both BSD and Linux). */
|
||||||
|
#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
|
||||||
|
|
||||||
|
/* Archaic names for compatibility. */
|
||||||
|
#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
|
||||||
|
#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
|
||||||
|
#define SIGCLD SIGCHLD /* Old System V name */
|
||||||
|
|
||||||
|
#define __SIGRTMIN 32
|
||||||
|
#define __SIGRTMAX 64
|
||||||
|
|
||||||
|
#endif /* <signal.h> included. */
|
Binary file not shown.
@ -0,0 +1,81 @@
|
|||||||
|
/* Signal number constants. Generic template.
|
||||||
|
Copyright (C) 1991-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGNUM_GENERIC_H
|
||||||
|
#define _BITS_SIGNUM_GENERIC_H 1
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
#error "Never include <bits/signum-generic.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Fake signal functions. */
|
||||||
|
|
||||||
|
#define SIG_ERR ((__sighandler_t) -1) /* Error return. */
|
||||||
|
#define SIG_DFL ((__sighandler_t) 0) /* Default action. */
|
||||||
|
#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN
|
||||||
|
# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* We define here all the signal names listed in POSIX (1003.1-2008);
|
||||||
|
as of 1003.1-2013, no additional signals have been added by POSIX.
|
||||||
|
We also define here signal names that historically exist in every
|
||||||
|
real-world POSIX variant (e.g. SIGWINCH).
|
||||||
|
|
||||||
|
Signals in the 1-15 range are defined with their historical numbers.
|
||||||
|
For other signals, we use the BSD numbers.
|
||||||
|
There are two unallocated signal numbers in the 1-31 range: 7 and 29.
|
||||||
|
Signal number 0 is reserved for use as kill(pid, 0), to test whether
|
||||||
|
a process exists without sending it a signal. */
|
||||||
|
|
||||||
|
/* ISO C99 signals. */
|
||||||
|
#define SIGINT 2 /* Interactive attention signal. */
|
||||||
|
#define SIGILL 4 /* Illegal instruction. */
|
||||||
|
#define SIGABRT 6 /* Abnormal termination. */
|
||||||
|
#define SIGFPE 8 /* Erroneous arithmetic operation. */
|
||||||
|
#define SIGSEGV 11 /* Invalid access to storage. */
|
||||||
|
#define SIGTERM 15 /* Termination request. */
|
||||||
|
|
||||||
|
/* Historical signals specified by POSIX. */
|
||||||
|
#define SIGHUP 1 /* Hangup. */
|
||||||
|
#define SIGQUIT 3 /* Quit. */
|
||||||
|
#define SIGTRAP 5 /* Trace/breakpoint trap. */
|
||||||
|
#define SIGKILL 9 /* Killed. */
|
||||||
|
#define SIGPIPE 13 /* Broken pipe. */
|
||||||
|
#define SIGALRM 14 /* Alarm clock. */
|
||||||
|
|
||||||
|
/* Archaic names for compatibility. */
|
||||||
|
#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
|
||||||
|
#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
|
||||||
|
#define SIGCLD SIGCHLD /* Old System V name */
|
||||||
|
|
||||||
|
/* Not all systems support real-time signals. bits/signum.h indicates
|
||||||
|
that they are supported by overriding __SIGRTMAX to a value greater
|
||||||
|
than __SIGRTMIN. These constants give the kernel-level hard limits,
|
||||||
|
but some real-time signals may be used internally by glibc. Do not
|
||||||
|
use these constants in application code; use SIGRTMIN and SIGRTMAX
|
||||||
|
(defined in signal.h) instead. */
|
||||||
|
|
||||||
|
/* Include system specific bits. */
|
||||||
|
#include <bits/signum-arch.h>
|
||||||
|
|
||||||
|
/* Biggest signal number + 1 (including real-time signals). */
|
||||||
|
#define _NSIG (__SIGRTMAX + 1)
|
||||||
|
|
||||||
|
#endif /* bits/signum-generic.h. */
|
Binary file not shown.
@ -0,0 +1,32 @@
|
|||||||
|
/* sigstack, sigaltstack definitions.
|
||||||
|
Copyright (C) 1998-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGSTACK_H
|
||||||
|
#define _BITS_SIGSTACK_H 1
|
||||||
|
|
||||||
|
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||||
|
# error "Never include this file directly. Use <signal.h> instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Minimum stack size for a signal handler. */
|
||||||
|
#define MINSIGSTKSZ 2048
|
||||||
|
|
||||||
|
/* System default stack size. */
|
||||||
|
#define SIGSTKSZ 8192
|
||||||
|
|
||||||
|
#endif /* bits/sigstack.h */
|
Binary file not shown.
@ -0,0 +1,33 @@
|
|||||||
|
/* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version.
|
||||||
|
Copyright (C) 2020 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SIGNAL_H
|
||||||
|
# error "Never include <bits/sigstksz.h> directly; use <signal.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE
|
||||||
|
# include <unistd.h>
|
||||||
|
|
||||||
|
/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */
|
||||||
|
# undef SIGSTKSZ
|
||||||
|
# define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
|
||||||
|
|
||||||
|
/* Minimum stack size for a signal handler: SIGSTKSZ. */
|
||||||
|
# undef MINSIGSTKSZ
|
||||||
|
# define MINSIGSTKSZ SIGSTKSZ
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,44 @@
|
|||||||
|
/* Signal handling function for threaded programs.
|
||||||
|
Copyright (C) 1998-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||||
|
not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SIGTHREAD_H
|
||||||
|
#define _BITS_SIGTHREAD_H 1
|
||||||
|
|
||||||
|
#if !defined _SIGNAL_H && !defined _PTHREAD_H
|
||||||
|
# error "Never include this file directly. Use <signal.h> instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Functions for handling signals. */
|
||||||
|
#include <bits/types/__sigset_t.h>
|
||||||
|
|
||||||
|
/* Modify the signal mask for the calling thread. The arguments have
|
||||||
|
the same meaning as for sigprocmask(2). */
|
||||||
|
extern int pthread_sigmask (int __how,
|
||||||
|
const __sigset_t *__restrict __newmask,
|
||||||
|
__sigset_t *__restrict __oldmask)__THROW;
|
||||||
|
|
||||||
|
/* Send signal SIGNO to the given thread. */
|
||||||
|
extern int pthread_kill (pthread_t __threadid, int __signo) __THROW;
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
/* Queue signal and data to a thread. */
|
||||||
|
extern int pthread_sigqueue (pthread_t __threadid, int __signo,
|
||||||
|
const union sigval __value) __THROW;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/sigthread.h */
|
Binary file not shown.
@ -0,0 +1,35 @@
|
|||||||
|
/* ss_flags values for stack_t. Linux version.
|
||||||
|
Copyright (C) 1998-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_SS_FLAGS_H
|
||||||
|
#define _BITS_SS_FLAGS_H 1
|
||||||
|
|
||||||
|
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||||
|
# error "Never include this file directly. Use <signal.h> instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Possible values for `ss_flags'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SS_ONSTACK = 1,
|
||||||
|
#define SS_ONSTACK SS_ONSTACK
|
||||||
|
SS_DISABLE
|
||||||
|
#define SS_DISABLE SS_DISABLE
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* bits/ss_flags.h */
|
Binary file not shown.
@ -0,0 +1,60 @@
|
|||||||
|
/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _SYS_STAT_H && !defined _FCNTL_H
|
||||||
|
# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_STAT_H
|
||||||
|
#define _BITS_STAT_H 1
|
||||||
|
|
||||||
|
#include <bits/struct_stat.h>
|
||||||
|
|
||||||
|
/* Encoding of the file mode. */
|
||||||
|
|
||||||
|
#define __S_IFMT 0170000 /* These bits determine file type. */
|
||||||
|
|
||||||
|
/* File types. */
|
||||||
|
#define __S_IFDIR 0040000 /* Directory. */
|
||||||
|
#define __S_IFCHR 0020000 /* Character device. */
|
||||||
|
#define __S_IFBLK 0060000 /* Block device. */
|
||||||
|
#define __S_IFREG 0100000 /* Regular file. */
|
||||||
|
#define __S_IFIFO 0010000 /* FIFO. */
|
||||||
|
#define __S_IFLNK 0120000 /* Symbolic link. */
|
||||||
|
#define __S_IFSOCK 0140000 /* Socket. */
|
||||||
|
|
||||||
|
/* POSIX.1b objects. Note that these macros always evaluate to zero. But
|
||||||
|
they do it by enforcing the correct use of the macros. */
|
||||||
|
#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode)
|
||||||
|
#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
|
||||||
|
#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
|
||||||
|
|
||||||
|
/* Protection bits. */
|
||||||
|
|
||||||
|
#define __S_ISUID 04000 /* Set user ID on execution. */
|
||||||
|
#define __S_ISGID 02000 /* Set group ID on execution. */
|
||||||
|
#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
|
||||||
|
#define __S_IREAD 0400 /* Read by owner. */
|
||||||
|
#define __S_IWRITE 0200 /* Write by owner. */
|
||||||
|
#define __S_IEXEC 0100 /* Execute by owner. */
|
||||||
|
|
||||||
|
#ifdef __USE_ATFILE
|
||||||
|
# define UTIME_NOW ((1l << 30) - 1l)
|
||||||
|
# define UTIME_OMIT ((1l << 30) - 2l)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/stat.h */
|
Binary file not shown.
@ -0,0 +1,29 @@
|
|||||||
|
/* Define intN_t types.
|
||||||
|
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_STDINT_INTN_H
|
||||||
|
#define _BITS_STDINT_INTN_H 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
typedef __int8_t int8_t;
|
||||||
|
typedef __int16_t int16_t;
|
||||||
|
typedef __int32_t int32_t;
|
||||||
|
typedef __int64_t int64_t;
|
||||||
|
|
||||||
|
#endif /* bits/stdint-intn.h */
|
Binary file not shown.
@ -0,0 +1,29 @@
|
|||||||
|
/* Define uintN_t types.
|
||||||
|
Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_STDINT_UINTN_H
|
||||||
|
#define _BITS_STDINT_UINTN_H 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
typedef __uint8_t uint8_t;
|
||||||
|
typedef __uint16_t uint16_t;
|
||||||
|
typedef __uint32_t uint32_t;
|
||||||
|
typedef __uint64_t uint64_t;
|
||||||
|
|
||||||
|
#endif /* bits/stdint-uintn.h */
|
Binary file not shown.
@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_STDIO_LIM_H
|
||||||
|
#define _BITS_STDIO_LIM_H 1
|
||||||
|
|
||||||
|
#ifndef _STDIO_H
|
||||||
|
# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define L_tmpnam 20
|
||||||
|
#define TMP_MAX 238328
|
||||||
|
#define FILENAME_MAX 4096
|
||||||
|
|
||||||
|
#ifdef __USE_POSIX
|
||||||
|
# define L_ctermid 9
|
||||||
|
# if !defined __USE_XOPEN2K || defined __USE_GNU
|
||||||
|
# define L_cuserid 9
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef FOPEN_MAX
|
||||||
|
#define FOPEN_MAX 16
|
||||||
|
|
||||||
|
#endif /* bits/stdio_lim.h */
|
Binary file not shown.
@ -0,0 +1,29 @@
|
|||||||
|
/* Floating-point inline functions for stdlib.h.
|
||||||
|
Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _STDLIB_H
|
||||||
|
# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_EXTERN_INLINES
|
||||||
|
__extern_inline double
|
||||||
|
__NTH (atof (const char *__nptr))
|
||||||
|
{
|
||||||
|
return strtod (__nptr, (char **) NULL);
|
||||||
|
}
|
||||||
|
#endif /* Optimizing and Inlining. */
|
Binary file not shown.
@ -0,0 +1,63 @@
|
|||||||
|
/* x86 internal mutex struct definitions.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _THREAD_MUTEX_INTERNAL_H
|
||||||
|
#define _THREAD_MUTEX_INTERNAL_H 1
|
||||||
|
|
||||||
|
struct __pthread_mutex_s
|
||||||
|
{
|
||||||
|
int __lock;
|
||||||
|
unsigned int __count;
|
||||||
|
int __owner;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
unsigned int __nusers;
|
||||||
|
#endif
|
||||||
|
/* KIND must stay at this position in the structure to maintain
|
||||||
|
binary compatibility with static initializers. */
|
||||||
|
int __kind;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
short __spins;
|
||||||
|
short __elision;
|
||||||
|
__pthread_list_t __list;
|
||||||
|
# define __PTHREAD_MUTEX_HAVE_PREV 1
|
||||||
|
#else
|
||||||
|
unsigned int __nusers;
|
||||||
|
__extension__ union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
short __espins;
|
||||||
|
short __eelision;
|
||||||
|
# define __spins __elision_data.__espins
|
||||||
|
# define __elision __elision_data.__eelision
|
||||||
|
} __elision_data;
|
||||||
|
__pthread_slist_t __list;
|
||||||
|
};
|
||||||
|
# define __PTHREAD_MUTEX_HAVE_PREV 0
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||||
|
0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
|
||||||
|
#else
|
||||||
|
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||||
|
0, 0, 0, __kind, 0, { { 0, 0 } }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,65 @@
|
|||||||
|
/* x86 internal rwlock struct definitions.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _RWLOCK_INTERNAL_H
|
||||||
|
#define _RWLOCK_INTERNAL_H
|
||||||
|
|
||||||
|
struct __pthread_rwlock_arch_t
|
||||||
|
{
|
||||||
|
unsigned int __readers;
|
||||||
|
unsigned int __writers;
|
||||||
|
unsigned int __wrphase_futex;
|
||||||
|
unsigned int __writers_futex;
|
||||||
|
unsigned int __pad3;
|
||||||
|
unsigned int __pad4;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
int __cur_writer;
|
||||||
|
int __shared;
|
||||||
|
signed char __rwelision;
|
||||||
|
# ifdef __ILP32__
|
||||||
|
unsigned char __pad1[3];
|
||||||
|
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
|
||||||
|
# else
|
||||||
|
unsigned char __pad1[7];
|
||||||
|
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
|
||||||
|
# endif
|
||||||
|
unsigned long int __pad2;
|
||||||
|
/* FLAGS must stay at this position in the structure to maintain
|
||||||
|
binary compatibility. */
|
||||||
|
unsigned int __flags;
|
||||||
|
#else /* __x86_64__ */
|
||||||
|
/* FLAGS must stay at this position in the structure to maintain
|
||||||
|
binary compatibility. */
|
||||||
|
unsigned char __flags;
|
||||||
|
unsigned char __shared;
|
||||||
|
signed char __rwelision;
|
||||||
|
unsigned char __pad2;
|
||||||
|
int __cur_writer;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
|
||||||
|
#else
|
||||||
|
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||||
|
0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,165 @@
|
|||||||
|
/* Definition for struct stat.
|
||||||
|
Copyright (C) 2020-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _SYS_STAT_H && !defined _FCNTL_H
|
||||||
|
# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_STRUCT_STAT_H
|
||||||
|
#define _BITS_STRUCT_STAT_H 1
|
||||||
|
|
||||||
|
struct stat
|
||||||
|
{
|
||||||
|
#ifdef __USE_TIME_BITS64
|
||||||
|
# include <bits/struct_stat_time64_helper.h>
|
||||||
|
#else
|
||||||
|
__dev_t st_dev; /* Device. */
|
||||||
|
# ifndef __x86_64__
|
||||||
|
unsigned short int __pad1;
|
||||||
|
# endif
|
||||||
|
# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
|
||||||
|
__ino_t st_ino; /* File serial number. */
|
||||||
|
# else
|
||||||
|
__ino_t __st_ino; /* 32bit file serial number. */
|
||||||
|
# endif
|
||||||
|
# ifndef __x86_64__
|
||||||
|
__mode_t st_mode; /* File mode. */
|
||||||
|
__nlink_t st_nlink; /* Link count. */
|
||||||
|
# else
|
||||||
|
__nlink_t st_nlink; /* Link count. */
|
||||||
|
__mode_t st_mode; /* File mode. */
|
||||||
|
# endif
|
||||||
|
__uid_t st_uid; /* User ID of the file's owner. */
|
||||||
|
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||||
|
# ifdef __x86_64__
|
||||||
|
int __pad0;
|
||||||
|
# endif
|
||||||
|
__dev_t st_rdev; /* Device number, if device. */
|
||||||
|
# ifndef __x86_64__
|
||||||
|
unsigned short int __pad2;
|
||||||
|
# endif
|
||||||
|
# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
|
||||||
|
__off_t st_size; /* Size of file, in bytes. */
|
||||||
|
# else
|
||||||
|
__off64_t st_size; /* Size of file, in bytes. */
|
||||||
|
# endif
|
||||||
|
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||||
|
# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
|
||||||
|
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||||
|
# else
|
||||||
|
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||||
|
# endif
|
||||||
|
# ifdef __USE_XOPEN2K8
|
||||||
|
/* Nanosecond resolution timestamps are stored in a format
|
||||||
|
equivalent to 'struct timespec'. This is the type used
|
||||||
|
whenever possible but the Unix namespace rules do not allow the
|
||||||
|
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||||
|
Therefore we have to handle the use of this header in strictly
|
||||||
|
standard-compliant sources special. */
|
||||||
|
struct timespec st_atim; /* Time of last access. */
|
||||||
|
struct timespec st_mtim; /* Time of last modification. */
|
||||||
|
struct timespec st_ctim; /* Time of last status change. */
|
||||||
|
# define st_atime st_atim.tv_sec /* Backward compatibility. */
|
||||||
|
# define st_mtime st_mtim.tv_sec
|
||||||
|
# define st_ctime st_ctim.tv_sec
|
||||||
|
# else
|
||||||
|
__time_t st_atime; /* Time of last access. */
|
||||||
|
__syscall_ulong_t st_atimensec; /* Nscecs of last access. */
|
||||||
|
__time_t st_mtime; /* Time of last modification. */
|
||||||
|
__syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
|
||||||
|
__time_t st_ctime; /* Time of last status change. */
|
||||||
|
__syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
|
||||||
|
# endif
|
||||||
|
# ifdef __x86_64__
|
||||||
|
__syscall_slong_t __glibc_reserved[3];
|
||||||
|
# else
|
||||||
|
# ifndef __USE_FILE_OFFSET64
|
||||||
|
unsigned long int __glibc_reserved4;
|
||||||
|
unsigned long int __glibc_reserved5;
|
||||||
|
# else
|
||||||
|
__ino64_t st_ino; /* File serial number. */
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif /* __USE_TIME_BITS64 */
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __USE_LARGEFILE64
|
||||||
|
/* Note stat64 has the same shape as stat for x86-64. */
|
||||||
|
struct stat64
|
||||||
|
{
|
||||||
|
# ifdef __USE_TIME_BITS64
|
||||||
|
# include <bits/struct_stat_time64_helper.h>
|
||||||
|
# else
|
||||||
|
__dev_t st_dev; /* Device. */
|
||||||
|
# ifdef __x86_64__
|
||||||
|
__ino64_t st_ino; /* File serial number. */
|
||||||
|
__nlink_t st_nlink; /* Link count. */
|
||||||
|
__mode_t st_mode; /* File mode. */
|
||||||
|
# else
|
||||||
|
unsigned int __pad1;
|
||||||
|
__ino_t __st_ino; /* 32bit file serial number. */
|
||||||
|
__mode_t st_mode; /* File mode. */
|
||||||
|
__nlink_t st_nlink; /* Link count. */
|
||||||
|
# endif
|
||||||
|
__uid_t st_uid; /* User ID of the file's owner. */
|
||||||
|
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||||
|
# ifdef __x86_64__
|
||||||
|
int __pad0;
|
||||||
|
__dev_t st_rdev; /* Device number, if device. */
|
||||||
|
__off_t st_size; /* Size of file, in bytes. */
|
||||||
|
# else
|
||||||
|
__dev_t st_rdev; /* Device number, if device. */
|
||||||
|
unsigned int __pad2;
|
||||||
|
__off64_t st_size; /* Size of file, in bytes. */
|
||||||
|
# endif
|
||||||
|
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||||
|
__blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
|
||||||
|
# ifdef __USE_XOPEN2K8
|
||||||
|
/* Nanosecond resolution timestamps are stored in a format
|
||||||
|
equivalent to 'struct timespec'. This is the type used
|
||||||
|
whenever possible but the Unix namespace rules do not allow the
|
||||||
|
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||||
|
Therefore we have to handle the use of this header in strictly
|
||||||
|
standard-compliant sources special. */
|
||||||
|
struct timespec st_atim; /* Time of last access. */
|
||||||
|
struct timespec st_mtim; /* Time of last modification. */
|
||||||
|
struct timespec st_ctim; /* Time of last status change. */
|
||||||
|
# else
|
||||||
|
__time_t st_atime; /* Time of last access. */
|
||||||
|
__syscall_ulong_t st_atimensec; /* Nscecs of last access. */
|
||||||
|
__time_t st_mtime; /* Time of last modification. */
|
||||||
|
__syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
|
||||||
|
__time_t st_ctime; /* Time of last status change. */
|
||||||
|
__syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
|
||||||
|
# endif
|
||||||
|
# ifdef __x86_64__
|
||||||
|
__syscall_slong_t __glibc_reserved[3];
|
||||||
|
# else
|
||||||
|
__ino64_t st_ino; /* File serial number. */
|
||||||
|
# endif
|
||||||
|
# endif /* __USE_TIME_BITS64 */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Tell code we have these members. */
|
||||||
|
#define _STATBUF_ST_BLKSIZE
|
||||||
|
#define _STATBUF_ST_RDEV
|
||||||
|
/* Nanosecond resolution time values are supported. */
|
||||||
|
#define _STATBUF_ST_NSEC
|
||||||
|
|
||||||
|
#endif /* _BITS_STRUCT_STAT_H */
|
Binary file not shown.
@ -0,0 +1,48 @@
|
|||||||
|
/* termios baud rate selection definitions. Linux/generic version.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _TERMIOS_H
|
||||||
|
# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_MISC
|
||||||
|
# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */
|
||||||
|
# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD.
|
||||||
|
(not in POSIX). */
|
||||||
|
# define CIBAUD 002003600000 /* Input baud rate (not used). */
|
||||||
|
# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
|
||||||
|
# define CRTSCTS 020000000000 /* Flow control. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Extra output baud rates (not in POSIX). */
|
||||||
|
#define B57600 0010001
|
||||||
|
#define B115200 0010002
|
||||||
|
#define B230400 0010003
|
||||||
|
#define B460800 0010004
|
||||||
|
#define B500000 0010005
|
||||||
|
#define B576000 0010006
|
||||||
|
#define B921600 0010007
|
||||||
|
#define B1000000 0010010
|
||||||
|
#define B1152000 0010011
|
||||||
|
#define B1500000 0010012
|
||||||
|
#define B2000000 0010013
|
||||||
|
#define B2500000 0010014
|
||||||
|
#define B3000000 0010015
|
||||||
|
#define B3500000 0010016
|
||||||
|
#define B4000000 0010017
|
||||||
|
#define __MAX_BAUD B4000000
|
Binary file not shown.
@ -0,0 +1,40 @@
|
|||||||
|
/* termios c_cc symbolic constant definitions. Linux/generic version.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _TERMIOS_H
|
||||||
|
# error "Never include <bits/termios_c_cc.h> directly; use <termios.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* c_cc characters */
|
||||||
|
#define VINTR 0
|
||||||
|
#define VQUIT 1
|
||||||
|
#define VERASE 2
|
||||||
|
#define VKILL 3
|
||||||
|
#define VEOF 4
|
||||||
|
#define VTIME 5
|
||||||
|
#define VMIN 6
|
||||||
|
#define VSWTC 7
|
||||||
|
#define VSTART 8
|
||||||
|
#define VSTOP 9
|
||||||
|
#define VSUSP 10
|
||||||
|
#define VEOL 11
|
||||||
|
#define VREPRINT 12
|
||||||
|
#define VDISCARD 13
|
||||||
|
#define VWERASE 14
|
||||||
|
#define VLNEXT 15
|
||||||
|
#define VEOL2 16
|
Binary file not shown.
@ -0,0 +1,34 @@
|
|||||||
|
/* termios control mode definitions. Linux/generic version.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _TERMIOS_H
|
||||||
|
# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* c_cflag bits. */
|
||||||
|
#define CSIZE 0000060
|
||||||
|
#define CS5 0000000
|
||||||
|
#define CS6 0000020
|
||||||
|
#define CS7 0000040
|
||||||
|
#define CS8 0000060
|
||||||
|
#define CSTOPB 0000100
|
||||||
|
#define CREAD 0000200
|
||||||
|
#define PARENB 0000400
|
||||||
|
#define PARODD 0001000
|
||||||
|
#define HUPCL 0002000
|
||||||
|
#define CLOCAL 0004000
|
Binary file not shown.
@ -0,0 +1,40 @@
|
|||||||
|
/* termios input mode definitions. Linux/generic version.
|
||||||
|
Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _TERMIOS_H
|
||||||
|
# error "Never include <bits/termios-ciflags.h> directly; use <termios.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* c_iflag bits */
|
||||||
|
#define IGNBRK 0000001 /* Ignore break condition. */
|
||||||
|
#define BRKINT 0000002 /* Signal interrupt on break. */
|
||||||
|
#define IGNPAR 0000004 /* Ignore characters with parity errors. */
|
||||||
|
#define PARMRK 0000010 /* Mark parity and framing errors. */
|
||||||
|
#define INPCK 0000020 /* Enable input parity check. */
|
||||||
|
#define ISTRIP 0000040 /* Strip 8th bit off characters. */
|
||||||
|
#define INLCR 0000100 /* Map NL to CR on input. */
|
||||||
|
#define IGNCR 0000200 /* Ignore CR. */
|
||||||
|
#define ICRNL 0000400 /* Map CR to NL on input. */
|
||||||
|
#define IUCLC 0001000 /* Map uppercase characters to lowercase on input
|
||||||
|
(not in POSIX). */
|
||||||
|
#define IXON 0002000 /* Enable start/stop output control. */
|
||||||
|
#define IXANY 0004000 /* Enable any character to restart output. */
|
||||||
|
#define IXOFF 0010000 /* Enable start/stop input control. */
|
||||||
|
#define IMAXBEL 0020000 /* Ring bell when input queue is full
|
||||||
|
(not in POSIX). */
|
||||||
|
#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user