[ramdisk] add cvitek pre-built ramdisk
Change-Id: Ic7d2046a23358129eaf621b5558984a64fa7361d
This commit is contained in:
7
ramdisk/initramfs/glibc_riscv64/usr/include/bits/a.out.h
Normal file
7
ramdisk/initramfs/glibc_riscv64/usr/include/bits/a.out.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef __A_OUT_GNU_H__
|
||||
# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
|
||||
#endif
|
||||
|
||||
/* Signal to users of this header that this architecture really doesn't
|
||||
support a.out binary format. */
|
||||
#define __NO_A_OUT_SUPPORT 1
|
||||
79
ramdisk/initramfs/glibc_riscv64/usr/include/bits/byteswap.h
Normal file
79
ramdisk/initramfs/glibc_riscv64/usr/include/bits/byteswap.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* Macros and inline functions to swap the order of bytes in integer values.
|
||||
Copyright (C) 1997-2019 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/>. */
|
||||
|
||||
#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 */
|
||||
130
ramdisk/initramfs/glibc_riscv64/usr/include/bits/cmathcalls.h
Normal file
130
ramdisk/initramfs/glibc_riscv64/usr/include/bits/cmathcalls.h
Normal file
@ -0,0 +1,130 @@
|
||||
/* Prototype declarations for complex math functions;
|
||||
helper file for <complex.h>.
|
||||
Copyright (C) 1997-2019 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/>. */
|
||||
|
||||
/* NOTE: Because of the special way this file is used by <complex.h>, this
|
||||
file must NOT be protected from multiple inclusion as header files
|
||||
usually are.
|
||||
|
||||
This file provides prototype declarations for the math functions.
|
||||
Most functions are declared using the macro:
|
||||
|
||||
__MATHCALL (NAME, (ARGS...));
|
||||
|
||||
This means there is a function `NAME' returning `double' and a function
|
||||
`NAMEf' returning `float'. Each place `_Mdouble_' appears in the
|
||||
prototype, that is actually `double' in the prototype for `NAME' and
|
||||
`float' in the prototype for `NAMEf'. Reentrant variant functions are
|
||||
called `NAME_r' and `NAMEf_r'.
|
||||
|
||||
Functions returning other types like `int' are declared using the macro:
|
||||
|
||||
__MATHDECL (TYPE, NAME, (ARGS...));
|
||||
|
||||
This is just like __MATHCALL but for a function returning `TYPE'
|
||||
instead of `_Mdouble_'. In all of these cases, there is still
|
||||
both a `NAME' and a `NAMEf' that takes `float' arguments. */
|
||||
|
||||
#ifndef _COMPLEX_H
|
||||
#error "Never use <bits/cmathcalls.h> directly; include <complex.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _Mdouble_complex_
|
||||
# define _Mdouble_complex_ _Mdouble_ _Complex
|
||||
#endif
|
||||
|
||||
|
||||
/* Trigonometric functions. */
|
||||
|
||||
/* Arc cosine of Z. */
|
||||
__MATHCALL (cacos, (_Mdouble_complex_ __z));
|
||||
/* Arc sine of Z. */
|
||||
__MATHCALL (casin, (_Mdouble_complex_ __z));
|
||||
/* Arc tangent of Z. */
|
||||
__MATHCALL (catan, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Cosine of Z. */
|
||||
__MATHCALL (ccos, (_Mdouble_complex_ __z));
|
||||
/* Sine of Z. */
|
||||
__MATHCALL (csin, (_Mdouble_complex_ __z));
|
||||
/* Tangent of Z. */
|
||||
__MATHCALL (ctan, (_Mdouble_complex_ __z));
|
||||
|
||||
|
||||
/* Hyperbolic functions. */
|
||||
|
||||
/* Hyperbolic arc cosine of Z. */
|
||||
__MATHCALL (cacosh, (_Mdouble_complex_ __z));
|
||||
/* Hyperbolic arc sine of Z. */
|
||||
__MATHCALL (casinh, (_Mdouble_complex_ __z));
|
||||
/* Hyperbolic arc tangent of Z. */
|
||||
__MATHCALL (catanh, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Hyperbolic cosine of Z. */
|
||||
__MATHCALL (ccosh, (_Mdouble_complex_ __z));
|
||||
/* Hyperbolic sine of Z. */
|
||||
__MATHCALL (csinh, (_Mdouble_complex_ __z));
|
||||
/* Hyperbolic tangent of Z. */
|
||||
__MATHCALL (ctanh, (_Mdouble_complex_ __z));
|
||||
|
||||
|
||||
/* Exponential and logarithmic functions. */
|
||||
|
||||
/* Exponential function of Z. */
|
||||
__MATHCALL (cexp, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Natural logarithm of Z. */
|
||||
__MATHCALL (clog, (_Mdouble_complex_ __z));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* The base 10 logarithm is not defined by the standard but to implement
|
||||
the standard C++ library it is handy. */
|
||||
__MATHCALL (clog10, (_Mdouble_complex_ __z));
|
||||
#endif
|
||||
|
||||
/* Power functions. */
|
||||
|
||||
/* Return X to the Y power. */
|
||||
__MATHCALL (cpow, (_Mdouble_complex_ __x, _Mdouble_complex_ __y));
|
||||
|
||||
/* Return the square root of Z. */
|
||||
__MATHCALL (csqrt, (_Mdouble_complex_ __z));
|
||||
|
||||
|
||||
/* Absolute value, conjugates, and projection. */
|
||||
|
||||
/* Absolute value of Z. */
|
||||
__MATHDECL (_Mdouble_,cabs, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Argument value of Z. */
|
||||
__MATHDECL (_Mdouble_,carg, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Complex conjugate of Z. */
|
||||
__MATHCALL (conj, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Projection of Z onto the Riemann sphere. */
|
||||
__MATHCALL (cproj, (_Mdouble_complex_ __z));
|
||||
|
||||
|
||||
/* Decomposing complex values. */
|
||||
|
||||
/* Imaginary part of Z. */
|
||||
__MATHDECL (_Mdouble_,cimag, (_Mdouble_complex_ __z));
|
||||
|
||||
/* Real part of Z. */
|
||||
__MATHDECL (_Mdouble_,creal, (_Mdouble_complex_ __z));
|
||||
675
ramdisk/initramfs/glibc_riscv64/usr/include/bits/confname.h
Normal file
675
ramdisk/initramfs/glibc_riscv64/usr/include/bits/confname.h
Normal file
@ -0,0 +1,675 @@
|
||||
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
|
||||
Copyright (C) 1993-2019 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 _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
|
||||
};
|
||||
|
||||
/* 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
|
||||
};
|
||||
124
ramdisk/initramfs/glibc_riscv64/usr/include/bits/cpu-set.h
Normal file
124
ramdisk/initramfs/glibc_riscv64/usr/include/bits/cpu-set.h
Normal file
@ -0,0 +1,124 @@
|
||||
/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
|
||||
scheduling interface.
|
||||
Copyright (C) 1996-2019 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_CPU_SET_H
|
||||
#define _BITS_CPU_SET_H 1
|
||||
|
||||
#ifndef _SCHED_H
|
||||
# error "Never include <bits/cpu-set.h> directly; use <sched.h> instead."
|
||||
#endif
|
||||
|
||||
/* Size definition for CPU sets. */
|
||||
#define __CPU_SETSIZE 1024
|
||||
#define __NCPUBITS (8 * sizeof (__cpu_mask))
|
||||
|
||||
/* Type for array elements in 'cpu_set_t'. */
|
||||
typedef __CPU_MASK_TYPE __cpu_mask;
|
||||
|
||||
/* Basic access functions. */
|
||||
#define __CPUELT(cpu) ((cpu) / __NCPUBITS)
|
||||
#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
|
||||
|
||||
/* Data structure to describe CPU mask. */
|
||||
typedef struct
|
||||
{
|
||||
__cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
|
||||
} cpu_set_t;
|
||||
|
||||
/* Access functions for CPU masks. */
|
||||
#if __GNUC_PREREQ (2, 91)
|
||||
# define __CPU_ZERO_S(setsize, cpusetp) \
|
||||
do __builtin_memset (cpusetp, '\0', setsize); while (0)
|
||||
#else
|
||||
# define __CPU_ZERO_S(setsize, cpusetp) \
|
||||
do { \
|
||||
size_t __i; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
__cpu_mask *__bits = (cpusetp)->__bits; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
__bits[__i] = 0; \
|
||||
} while (0)
|
||||
#endif
|
||||
#define __CPU_SET_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
|= __CPUMASK (__cpu)) \
|
||||
: 0; }))
|
||||
#define __CPU_CLR_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
&= ~__CPUMASK (__cpu)) \
|
||||
: 0; }))
|
||||
#define __CPU_ISSET_S(cpu, setsize, cpusetp) \
|
||||
(__extension__ \
|
||||
({ size_t __cpu = (cpu); \
|
||||
__cpu / 8 < (setsize) \
|
||||
? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
|
||||
& __CPUMASK (__cpu))) != 0 \
|
||||
: 0; }))
|
||||
|
||||
#define __CPU_COUNT_S(setsize, cpusetp) \
|
||||
__sched_cpucount (setsize, cpusetp)
|
||||
|
||||
#if __GNUC_PREREQ (2, 91)
|
||||
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
|
||||
(__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
|
||||
#else
|
||||
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
|
||||
(__extension__ \
|
||||
({ const __cpu_mask *__arr1 = (cpusetp1)->__bits; \
|
||||
const __cpu_mask *__arr2 = (cpusetp2)->__bits; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
size_t __i; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
if (__arr1[__i] != __arr2[__i]) \
|
||||
break; \
|
||||
__i == __imax; }))
|
||||
#endif
|
||||
|
||||
#define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
|
||||
(__extension__ \
|
||||
({ cpu_set_t *__dest = (destset); \
|
||||
const __cpu_mask *__arr1 = (srcset1)->__bits; \
|
||||
const __cpu_mask *__arr2 = (srcset2)->__bits; \
|
||||
size_t __imax = (setsize) / sizeof (__cpu_mask); \
|
||||
size_t __i; \
|
||||
for (__i = 0; __i < __imax; ++__i) \
|
||||
((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \
|
||||
__dest; }))
|
||||
|
||||
#define __CPU_ALLOC_SIZE(count) \
|
||||
((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
|
||||
#define __CPU_ALLOC(count) __sched_cpualloc (count)
|
||||
#define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
|
||||
__THROW;
|
||||
extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
|
||||
extern void __sched_cpufree (cpu_set_t *__set) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* bits/cpu-set.h */
|
||||
59
ramdisk/initramfs/glibc_riscv64/usr/include/bits/dirent.h
Normal file
59
ramdisk/initramfs/glibc_riscv64/usr/include/bits/dirent.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* Copyright (C) 1996-2019 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 _DIRENT_H
|
||||
# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
|
||||
#endif
|
||||
|
||||
struct dirent
|
||||
{
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__ino_t d_ino;
|
||||
__off_t d_off;
|
||||
#else
|
||||
__ino64_t d_ino;
|
||||
__off64_t d_off;
|
||||
#endif
|
||||
unsigned short int d_reclen;
|
||||
unsigned char d_type;
|
||||
char d_name[256]; /* We must not include limits.h! */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct dirent64
|
||||
{
|
||||
__ino64_t d_ino;
|
||||
__off64_t d_off;
|
||||
unsigned short int d_reclen;
|
||||
unsigned char d_type;
|
||||
char d_name[256]; /* We must not include limits.h! */
|
||||
};
|
||||
#endif
|
||||
|
||||
#define d_fileno d_ino /* Backwards compatibility. */
|
||||
|
||||
#undef _DIRENT_HAVE_D_NAMLEN
|
||||
#define _DIRENT_HAVE_D_RECLEN
|
||||
#define _DIRENT_HAVE_D_OFF
|
||||
#define _DIRENT_HAVE_D_TYPE
|
||||
|
||||
#if defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T
|
||||
/* Inform libc code that these two types are effectively identical. */
|
||||
# define _DIRENT_MATCHES_DIRENT64 1
|
||||
#else
|
||||
# define _DIRENT_MATCHES_DIRENT64 0
|
||||
#endif
|
||||
64
ramdisk/initramfs/glibc_riscv64/usr/include/bits/dlfcn.h
Normal file
64
ramdisk/initramfs/glibc_riscv64/usr/include/bits/dlfcn.h
Normal file
@ -0,0 +1,64 @@
|
||||
/* System dependent definitions for run-time dynamic loading.
|
||||
Copyright (C) 1996-2019 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 _DLFCN_H
|
||||
# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
|
||||
#endif
|
||||
|
||||
/* The MODE argument to `dlopen' contains one of the following: */
|
||||
#define RTLD_LAZY 0x00001 /* Lazy function call binding. */
|
||||
#define RTLD_NOW 0x00002 /* Immediate function call binding. */
|
||||
#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
|
||||
#define RTLD_NOLOAD 0x00004 /* Do not load the object. */
|
||||
#define RTLD_DEEPBIND 0x00008 /* Use deep binding. */
|
||||
|
||||
/* If the following bit is set in the MODE argument to `dlopen',
|
||||
the symbols of the loaded object and its dependencies are made
|
||||
visible as if the object were linked directly into the program. */
|
||||
#define RTLD_GLOBAL 0x00100
|
||||
|
||||
/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
|
||||
The implementation does this by default and so we can define the
|
||||
value to zero. */
|
||||
#define RTLD_LOCAL 0
|
||||
|
||||
/* Do not delete object when closed. */
|
||||
#define RTLD_NODELETE 0x01000
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* To support profiling of shared objects it is a good idea to call
|
||||
the function found using `dlsym' using the following macro since
|
||||
these calls do not use the PLT. But this would mean the dynamic
|
||||
loader has no chance to find out when the function is called. The
|
||||
macro applies the necessary magic so that profiling is possible.
|
||||
Rewrite
|
||||
foo = (*fctp) (arg1, arg2);
|
||||
into
|
||||
foo = DL_CALL_FCT (fctp, (arg1, arg2));
|
||||
*/
|
||||
# define DL_CALL_FCT(fctp, args) \
|
||||
(_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* This function calls the profiling functions. */
|
||||
extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
14
ramdisk/initramfs/glibc_riscv64/usr/include/bits/elfclass.h
Normal file
14
ramdisk/initramfs/glibc_riscv64/usr/include/bits/elfclass.h
Normal file
@ -0,0 +1,14 @@
|
||||
/* This file specifies the native word size of the machine, which indicates
|
||||
the ELF file class used for executables and shared objects on this
|
||||
machine. */
|
||||
|
||||
#ifndef _LINK_H
|
||||
# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define __ELF_NATIVE_CLASS __WORDSIZE
|
||||
|
||||
/* The entries in the .hash table always have a size of 32 bits. */
|
||||
typedef uint32_t Elf_Symndx;
|
||||
@ -0,0 +1,5 @@
|
||||
#ifndef _ENDIAN_H
|
||||
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
|
||||
#endif
|
||||
|
||||
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||
@ -0,0 +1,87 @@
|
||||
/* Copyright (C) 1999-2019 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 _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
|
||||
|
||||
/* We can never provide environments with 32-bit wide pointers. */
|
||||
# define _POSIX_V7_ILP32_OFF32 -1
|
||||
# define _POSIX_V7_ILP32_OFFBIG -1
|
||||
# define _POSIX_V6_ILP32_OFF32 -1
|
||||
# define _POSIX_V6_ILP32_OFFBIG -1
|
||||
# define _XBS5_ILP32_OFF32 -1
|
||||
# define _XBS5_ILP32_OFFBIG -1
|
||||
/* 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 */
|
||||
|
||||
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
|
||||
and all platforms support LFS. */
|
||||
# define _POSIX_V7_ILP32_OFF32 1
|
||||
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# define _XBS5_ILP32_OFFBIG 1
|
||||
|
||||
/* 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. */
|
||||
|
||||
/* We can never provide environments with 64-bit wide pointers. */
|
||||
# define _POSIX_V7_LP64_OFF64 -1
|
||||
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||
# define _POSIX_V6_LP64_OFF64 -1
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LP64_OFF64 -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
|
||||
/* CFLAGS. */
|
||||
#define __ILP32_OFFBIG_CFLAGS "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
27
ramdisk/initramfs/glibc_riscv64/usr/include/bits/epoll.h
Normal file
27
ramdisk/initramfs/glibc_riscv64/usr/include/bits/epoll.h
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 2002-2019 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 _SYS_EPOLL_H
|
||||
# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags to be passed to epoll_create1. */
|
||||
enum
|
||||
{
|
||||
EPOLL_CLOEXEC = 02000000
|
||||
#define EPOLL_CLOEXEC EPOLL_CLOEXEC
|
||||
};
|
||||
53
ramdisk/initramfs/glibc_riscv64/usr/include/bits/errno.h
Normal file
53
ramdisk/initramfs/glibc_riscv64/usr/include/bits/errno.h
Normal file
@ -0,0 +1,53 @@
|
||||
/* Error constants. Linux specific version.
|
||||
Copyright (C) 1996-2019 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_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. */
|
||||
73
ramdisk/initramfs/glibc_riscv64/usr/include/bits/error.h
Normal file
73
ramdisk/initramfs/glibc_riscv64/usr/include/bits/error.h
Normal file
@ -0,0 +1,73 @@
|
||||
/* Specializations for error functions.
|
||||
Copyright (C) 2007-2019 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 _ERROR_H
|
||||
# error "Never include <bits/error.h> directly; use <error.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
extern void __REDIRECT (__error_alias, (int __status, int __errnum,
|
||||
const char *__format, ...),
|
||||
error)
|
||||
__attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern void __REDIRECT (__error_noreturn, (int __status, int __errnum,
|
||||
const char *__format, ...),
|
||||
error)
|
||||
__attribute__ ((__noreturn__, __format__ (__printf__, 3, 4)));
|
||||
|
||||
|
||||
/* If we know the function will never return make sure the compiler
|
||||
realizes that, too. */
|
||||
__extern_always_inline void
|
||||
error (int __status, int __errnum, const char *__format, ...)
|
||||
{
|
||||
if (__builtin_constant_p (__status) && __status != 0)
|
||||
__error_noreturn (__status, __errnum, __format, __va_arg_pack ());
|
||||
else
|
||||
__error_alias (__status, __errnum, __format, __va_arg_pack ());
|
||||
}
|
||||
|
||||
|
||||
extern void __REDIRECT (__error_at_line_alias, (int __status, int __errnum,
|
||||
const char *__fname,
|
||||
unsigned int __line,
|
||||
const char *__format, ...),
|
||||
error_at_line)
|
||||
__attribute__ ((__format__ (__printf__, 5, 6)));
|
||||
extern void __REDIRECT (__error_at_line_noreturn, (int __status, int __errnum,
|
||||
const char *__fname,
|
||||
unsigned int __line,
|
||||
const char *__format,
|
||||
...),
|
||||
error_at_line)
|
||||
__attribute__ ((__noreturn__, __format__ (__printf__, 5, 6)));
|
||||
|
||||
|
||||
/* If we know the function will never return make sure the compiler
|
||||
realizes that, too. */
|
||||
__extern_always_inline void
|
||||
error_at_line (int __status, int __errnum, const char *__fname,
|
||||
unsigned int __line, const char *__format, ...)
|
||||
{
|
||||
if (__builtin_constant_p (__status) && __status != 0)
|
||||
__error_at_line_noreturn (__status, __errnum, __fname, __line, __format,
|
||||
__va_arg_pack ());
|
||||
else
|
||||
__error_at_line_alias (__status, __errnum, __fname, __line,
|
||||
__format, __va_arg_pack ());
|
||||
}
|
||||
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/eventfd.h
Normal file
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/eventfd.h
Normal file
@ -0,0 +1,31 @@
|
||||
/* Copyright (C) 2007-2019 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 _SYS_EVENTFD_H
|
||||
# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for eventfd. */
|
||||
enum
|
||||
{
|
||||
EFD_SEMAPHORE = 00000001,
|
||||
#define EFD_SEMAPHORE EFD_SEMAPHORE
|
||||
EFD_CLOEXEC = 02000000,
|
||||
#define EFD_CLOEXEC EFD_CLOEXEC
|
||||
EFD_NONBLOCK = 00004000
|
||||
#define EFD_NONBLOCK EFD_NONBLOCK
|
||||
};
|
||||
436
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl-linux.h
Normal file
436
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl-linux.h
Normal file
@ -0,0 +1,436 @@
|
||||
/* O_*, F_*, FD_* bit values for Linux.
|
||||
Copyright (C) 2001-2019 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 _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. */
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Hint values for F_{GET,SET}_RW_HINT. */
|
||||
# define RWF_WRITE_LIFE_NOT_SET 0
|
||||
# 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. */
|
||||
|
||||
/* 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
|
||||
62
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl.h
Normal file
62
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl.h
Normal file
@ -0,0 +1,62 @@
|
||||
/* O_*, F_*, FD_* bit values for Linux / RISC-V.
|
||||
Copyright (C) 2011-2019 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 _FCNTL_H
|
||||
# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
|
||||
non-64-bit versions. It will need to be revised for 128-bit. */
|
||||
#if __WORDSIZE == 64
|
||||
# define __O_LARGEFILE 0
|
||||
|
||||
# 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'). */
|
||||
#if __WORDSIZE == 64 || !defined __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>
|
||||
172
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl2.h
Normal file
172
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fcntl2.h
Normal file
@ -0,0 +1,172 @@
|
||||
/* Checking macros for fcntl functions.
|
||||
Copyright (C) 2007-2019 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 _FCNTL_H
|
||||
# error "Never include <bits/fcntl2.h> directly; use <fcntl.h> instead."
|
||||
#endif
|
||||
|
||||
/* Check that calls to open and openat with O_CREAT or O_TMPFILE set have an
|
||||
appropriate third/fourth parameter. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
extern int __open_2 (const char *__path, int __oflag) __nonnull ((1));
|
||||
extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
|
||||
open) __nonnull ((1));
|
||||
#else
|
||||
extern int __REDIRECT (__open_2, (const char *__path, int __oflag),
|
||||
__open64_2) __nonnull ((1));
|
||||
extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
|
||||
open64) __nonnull ((1));
|
||||
#endif
|
||||
__errordecl (__open_too_many_args,
|
||||
"open can be called either with 2 or 3 arguments, not more");
|
||||
__errordecl (__open_missing_mode,
|
||||
"open with O_CREAT or O_TMPFILE in second argument needs 3 arguments");
|
||||
|
||||
__fortify_function int
|
||||
open (const char *__path, int __oflag, ...)
|
||||
{
|
||||
if (__va_arg_pack_len () > 1)
|
||||
__open_too_many_args ();
|
||||
|
||||
if (__builtin_constant_p (__oflag))
|
||||
{
|
||||
if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
|
||||
{
|
||||
__open_missing_mode ();
|
||||
return __open_2 (__path, __oflag);
|
||||
}
|
||||
return __open_alias (__path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
if (__va_arg_pack_len () < 1)
|
||||
return __open_2 (__path, __oflag);
|
||||
|
||||
return __open_alias (__path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern int __open64_2 (const char *__path, int __oflag) __nonnull ((1));
|
||||
extern int __REDIRECT (__open64_alias, (const char *__path, int __oflag,
|
||||
...), open64) __nonnull ((1));
|
||||
__errordecl (__open64_too_many_args,
|
||||
"open64 can be called either with 2 or 3 arguments, not more");
|
||||
__errordecl (__open64_missing_mode,
|
||||
"open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments");
|
||||
|
||||
__fortify_function int
|
||||
open64 (const char *__path, int __oflag, ...)
|
||||
{
|
||||
if (__va_arg_pack_len () > 1)
|
||||
__open64_too_many_args ();
|
||||
|
||||
if (__builtin_constant_p (__oflag))
|
||||
{
|
||||
if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
|
||||
{
|
||||
__open64_missing_mode ();
|
||||
return __open64_2 (__path, __oflag);
|
||||
}
|
||||
return __open64_alias (__path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
if (__va_arg_pack_len () < 1)
|
||||
return __open64_2 (__path, __oflag);
|
||||
|
||||
return __open64_alias (__path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __USE_ATFILE
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int __openat_2 (int __fd, const char *__path, int __oflag)
|
||||
__nonnull ((2));
|
||||
extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
|
||||
int __oflag, ...), openat)
|
||||
__nonnull ((2));
|
||||
# else
|
||||
extern int __REDIRECT (__openat_2, (int __fd, const char *__path,
|
||||
int __oflag), __openat64_2)
|
||||
__nonnull ((2));
|
||||
extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
|
||||
int __oflag, ...), openat64)
|
||||
__nonnull ((2));
|
||||
# endif
|
||||
__errordecl (__openat_too_many_args,
|
||||
"openat can be called either with 3 or 4 arguments, not more");
|
||||
__errordecl (__openat_missing_mode,
|
||||
"openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments");
|
||||
|
||||
__fortify_function int
|
||||
openat (int __fd, const char *__path, int __oflag, ...)
|
||||
{
|
||||
if (__va_arg_pack_len () > 1)
|
||||
__openat_too_many_args ();
|
||||
|
||||
if (__builtin_constant_p (__oflag))
|
||||
{
|
||||
if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
|
||||
{
|
||||
__openat_missing_mode ();
|
||||
return __openat_2 (__fd, __path, __oflag);
|
||||
}
|
||||
return __openat_alias (__fd, __path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
if (__va_arg_pack_len () < 1)
|
||||
return __openat_2 (__fd, __path, __oflag);
|
||||
|
||||
return __openat_alias (__fd, __path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
extern int __openat64_2 (int __fd, const char *__path, int __oflag)
|
||||
__nonnull ((2));
|
||||
extern int __REDIRECT (__openat64_alias, (int __fd, const char *__path,
|
||||
int __oflag, ...), openat64)
|
||||
__nonnull ((2));
|
||||
__errordecl (__openat64_too_many_args,
|
||||
"openat64 can be called either with 3 or 4 arguments, not more");
|
||||
__errordecl (__openat64_missing_mode,
|
||||
"openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments");
|
||||
|
||||
__fortify_function int
|
||||
openat64 (int __fd, const char *__path, int __oflag, ...)
|
||||
{
|
||||
if (__va_arg_pack_len () > 1)
|
||||
__openat64_too_many_args ();
|
||||
|
||||
if (__builtin_constant_p (__oflag))
|
||||
{
|
||||
if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1)
|
||||
{
|
||||
__openat64_missing_mode ();
|
||||
return __openat64_2 (__fd, __path, __oflag);
|
||||
}
|
||||
return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
if (__va_arg_pack_len () < 1)
|
||||
return __openat64_2 (__fd, __path, __oflag);
|
||||
|
||||
return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ());
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
74
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fenv.h
Normal file
74
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fenv.h
Normal file
@ -0,0 +1,74 @@
|
||||
/* Floating point environment, RISC-V version.
|
||||
Copyright (C) 1998-2019 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 _FENV_H
|
||||
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
|
||||
#endif
|
||||
|
||||
enum
|
||||
{
|
||||
FE_INEXACT =
|
||||
#define FE_INEXACT (0x01)
|
||||
FE_INEXACT,
|
||||
FE_UNDERFLOW =
|
||||
#define FE_UNDERFLOW (0x02)
|
||||
FE_UNDERFLOW,
|
||||
FE_OVERFLOW =
|
||||
#define FE_OVERFLOW (0x04)
|
||||
FE_OVERFLOW,
|
||||
FE_DIVBYZERO =
|
||||
#define FE_DIVBYZERO (0x08)
|
||||
FE_DIVBYZERO,
|
||||
FE_INVALID =
|
||||
#define FE_INVALID (0x10)
|
||||
FE_INVALID
|
||||
};
|
||||
|
||||
#define FE_ALL_EXCEPT \
|
||||
(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
|
||||
|
||||
enum
|
||||
{
|
||||
FE_TONEAREST =
|
||||
#define FE_TONEAREST (0x0)
|
||||
FE_TONEAREST,
|
||||
FE_TOWARDZERO =
|
||||
#define FE_TOWARDZERO (0x1)
|
||||
FE_TOWARDZERO,
|
||||
FE_DOWNWARD =
|
||||
#define FE_DOWNWARD (0x2)
|
||||
FE_DOWNWARD,
|
||||
FE_UPWARD =
|
||||
#define FE_UPWARD (0x3)
|
||||
FE_UPWARD
|
||||
};
|
||||
|
||||
|
||||
typedef unsigned int fexcept_t;
|
||||
typedef unsigned int fenv_t;
|
||||
|
||||
/* If the default argument is used we use this value. */
|
||||
#define FE_DFL_ENV ((__const fenv_t *) -1)
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT)
|
||||
/* Type representing floating-point control modes. */
|
||||
typedef unsigned int femode_t;
|
||||
|
||||
/* Default floating-point control modes. */
|
||||
# define FE_DFL_MODE ((const femode_t *) -1L)
|
||||
#endif
|
||||
@ -0,0 +1,8 @@
|
||||
/* This file provides inline versions of floating-pint environment
|
||||
handling functions. If there were any. */
|
||||
|
||||
#ifndef __NO_MATH_INLINES
|
||||
|
||||
/* Here is where the code would go. */
|
||||
|
||||
#endif
|
||||
329
ramdisk/initramfs/glibc_riscv64/usr/include/bits/floatn-common.h
Normal file
329
ramdisk/initramfs/glibc_riscv64/usr/include/bits/floatn-common.h
Normal file
@ -0,0 +1,329 @@
|
||||
/* Macros to control TS 18661-3 glibc features where the same
|
||||
definitions are appropriate for all platforms.
|
||||
Copyright (C) 2017-2019 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_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 */
|
||||
97
ramdisk/initramfs/glibc_riscv64/usr/include/bits/floatn.h
Normal file
97
ramdisk/initramfs/glibc_riscv64/usr/include/bits/floatn.h
Normal file
@ -0,0 +1,97 @@
|
||||
/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
|
||||
Copyright (C) 2017-2019 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_FLOATN_H
|
||||
#define _BITS_FLOATN_H
|
||||
|
||||
#include <features.h>
|
||||
#include <bits/long-double.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. */
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __HAVE_FLOAT128 1
|
||||
#else
|
||||
/* glibc does not support _Float128 for platforms where long double is
|
||||
normally binary128 when building with long double as binary64.
|
||||
GCC's default for supported scalar modes does not support it either
|
||||
in that case. */
|
||||
# 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. */
|
||||
#define __HAVE_DISTINCT_FLOAT128 0
|
||||
|
||||
/* 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 __HAVE_FLOAT128
|
||||
|
||||
/* 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 __HAVE_FLOAT128
|
||||
|
||||
#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##l
|
||||
# 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
|
||||
# define __CFLOAT128 _Complex long double
|
||||
# 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 long double _Float128;
|
||||
# endif
|
||||
|
||||
/* Various built-in functions do not exist before GCC 7.0. */
|
||||
# if !__GNUC_PREREQ (7, 0)
|
||||
# define __builtin_huge_valf128() (__builtin_huge_vall ())
|
||||
# define __builtin_inff128() (__builtin_infl ())
|
||||
# define __builtin_nanf128(x) (__builtin_nanl (x))
|
||||
# define __builtin_nansf128(x) (__builtin_nansl (x))
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#endif /* !__ASSEMBLER__. */
|
||||
|
||||
#include <bits/floatn-common.h>
|
||||
|
||||
#endif /* _BITS_FLOATN_H */
|
||||
@ -0,0 +1,42 @@
|
||||
/* Define __GLIBC_FLT_EVAL_METHOD.
|
||||
Copyright (C) 2016-2019 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 _MATH_H
|
||||
# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* __GLIBC_FLT_EVAL_METHOD is the value of FLT_EVAL_METHOD used to
|
||||
determine the evaluation method typedefs such as float_t and
|
||||
double_t. It must be a value from C11 or TS 18661-3:2015, and not
|
||||
-1. */
|
||||
|
||||
/* In the default version of this header, follow __FLT_EVAL_METHOD__.
|
||||
-1 is mapped to 2 (considering evaluation as long double to be a
|
||||
conservatively safe assumption), and if __FLT_EVAL_METHOD__ is not
|
||||
defined then assume there is no excess precision and use the value
|
||||
0. */
|
||||
|
||||
#ifdef __FLT_EVAL_METHOD__
|
||||
# if __FLT_EVAL_METHOD__ == -1
|
||||
# define __GLIBC_FLT_EVAL_METHOD 2
|
||||
# else
|
||||
# define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__
|
||||
# endif
|
||||
#else
|
||||
# define __GLIBC_FLT_EVAL_METHOD 0
|
||||
#endif
|
||||
39
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fp-fast.h
Normal file
39
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fp-fast.h
Normal file
@ -0,0 +1,39 @@
|
||||
/* Define FP_FAST_* macros.
|
||||
Copyright (C) 2016-2019 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 _MATH_H
|
||||
# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
|
||||
/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
|
||||
builtins are supported. */
|
||||
# ifdef __FP_FAST_FMA
|
||||
# define FP_FAST_FMA 1
|
||||
# endif
|
||||
|
||||
# ifdef __FP_FAST_FMAF
|
||||
# define FP_FAST_FMAF 1
|
||||
# endif
|
||||
|
||||
# ifdef __FP_FAST_FMAL
|
||||
# define FP_FAST_FMAL 1
|
||||
# endif
|
||||
|
||||
#endif
|
||||
28
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fp-logb.h
Normal file
28
ramdisk/initramfs/glibc_riscv64/usr/include/bits/fp-logb.h
Normal file
@ -0,0 +1,28 @@
|
||||
/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.
|
||||
Copyright (C) 2016-2019 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 _MATH_H
|
||||
# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if
|
||||
it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN
|
||||
is INT_MIN, and 0 if it is INT_MAX. */
|
||||
|
||||
#define __FP_LOGB0_IS_MIN 0
|
||||
#define __FP_LOGBNAN_IS_MIN 0
|
||||
@ -0,0 +1,96 @@
|
||||
/* Declarations for getopt (basic, portable features only).
|
||||
Copyright (C) 1989-2019 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
|
||||
<http://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 */
|
||||
@ -0,0 +1,77 @@
|
||||
/* Declarations for getopt (GNU extensions).
|
||||
Copyright (C) 1989-2019 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_EXT_H
|
||||
#define _GETOPT_EXT_H 1
|
||||
|
||||
/* This header should not be used directly; include getopt.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
|
||||
|
||||
/* Describe the long-named options requested by the application.
|
||||
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
|
||||
of 'struct option' terminated by an element containing a name which is
|
||||
zero.
|
||||
|
||||
The field 'has_arg' is:
|
||||
no_argument (or 0) if the option does not take an argument,
|
||||
required_argument (or 1) if the option requires an argument,
|
||||
optional_argument (or 2) if the option takes an optional argument.
|
||||
|
||||
If the field 'flag' is not NULL, it points to a variable that is set
|
||||
to the value given in the field 'val' when the option is found, but
|
||||
left unchanged if the option is not found.
|
||||
|
||||
To have a long-named option do something other than set an 'int' to
|
||||
a compiled-in constant, such as set a value from 'optarg', set the
|
||||
option's 'flag' field to zero and its 'val' field to a nonzero
|
||||
value (the equivalent single-letter option character, if there is
|
||||
one). For long options that have a zero 'flag' field, 'getopt'
|
||||
returns the contents of the 'val' field. */
|
||||
|
||||
struct option
|
||||
{
|
||||
const char *name;
|
||||
/* has_arg can't be an enum because some compilers complain about
|
||||
type mismatches in all the code that assumes it is an int. */
|
||||
int has_arg;
|
||||
int *flag;
|
||||
int val;
|
||||
};
|
||||
|
||||
/* Names for the values of the 'has_arg' field of 'struct option'. */
|
||||
|
||||
#define no_argument 0
|
||||
#define required_argument 1
|
||||
#define optional_argument 2
|
||||
|
||||
extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
|
||||
const char *__shortopts,
|
||||
const struct option *__longopts, int *__longind)
|
||||
__THROW __nonnull ((2, 3));
|
||||
extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
|
||||
const char *__shortopts,
|
||||
const struct option *__longopts, int *__longind)
|
||||
__THROW __nonnull ((2, 3));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* getopt_ext.h */
|
||||
@ -0,0 +1,51 @@
|
||||
/* Declarations for getopt (POSIX compatibility shim).
|
||||
Copyright (C) 1989-2019 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
|
||||
<http://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 */
|
||||
23
ramdisk/initramfs/glibc_riscv64/usr/include/bits/hwcap.h
Normal file
23
ramdisk/initramfs/glibc_riscv64/usr/include/bits/hwcap.h
Normal file
@ -0,0 +1,23 @@
|
||||
/* Defines for bits in AT_HWCAP.
|
||||
Copyright (C) 2012-2019 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 _SYS_AUXV_H
|
||||
# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
|
||||
#endif
|
||||
|
||||
/* No bits defined for this architecture. */
|
||||
258
ramdisk/initramfs/glibc_riscv64/usr/include/bits/in.h
Normal file
258
ramdisk/initramfs/glibc_riscv64/usr/include/bits/in.h
Normal file
@ -0,0 +1,258 @@
|
||||
/* Copyright (C) 1991-2019 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/>. */
|
||||
|
||||
/* Linux version. */
|
||||
|
||||
#ifndef _NETINET_IN_H
|
||||
# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
|
||||
#endif
|
||||
|
||||
/* If the application has already included linux/in6.h from a linux-based
|
||||
kernel then we will not define the IPv6 IPPROTO_* defines, in6_addr (nor the
|
||||
defines), sockaddr_in6, or ipv6_mreq. Same for in6_ptkinfo or ip6_mtuinfo
|
||||
in linux/ipv6.h. The ABI used by the linux-kernel and glibc match exactly.
|
||||
Neither the linux kernel nor glibc should break this ABI without coordination.
|
||||
In upstream kernel 56c176c9 the _UAPI prefix was stripped so we need to check
|
||||
for _LINUX_IN6_H and _IPV6_H now, and keep checking the old versions for
|
||||
maximum backwards compatibility. */
|
||||
#if defined _UAPI_LINUX_IN6_H \
|
||||
|| defined _UAPI_IPV6_H \
|
||||
|| defined _LINUX_IN6_H \
|
||||
|| defined _IPV6_H
|
||||
/* This is not quite the same API since the kernel always defines s6_addr16 and
|
||||
s6_addr32. This is not a violation of POSIX since POSIX says "at least the
|
||||
following member" and that holds true. */
|
||||
# define __USE_KERNEL_IPV6_DEFS 1
|
||||
#else
|
||||
# define __USE_KERNEL_IPV6_DEFS 0
|
||||
#endif
|
||||
|
||||
/* Options for use with `getsockopt' and `setsockopt' at the IP level.
|
||||
The first word in the comment at the right is the data type used;
|
||||
"bool" means a boolean value stored in an `int'. */
|
||||
#define IP_OPTIONS 4 /* ip_opts; IP per-packet options. */
|
||||
#define IP_HDRINCL 3 /* int; Header is included with data. */
|
||||
#define IP_TOS 1 /* int; IP type of service and precedence. */
|
||||
#define IP_TTL 2 /* int; IP time to live. */
|
||||
#define IP_RECVOPTS 6 /* bool; Receive all IP options w/datagram. */
|
||||
/* For BSD compatibility. */
|
||||
#define IP_RECVRETOPTS IP_RETOPTS /* bool; Receive IP options for response. */
|
||||
#define IP_RETOPTS 7 /* ip_opts; Set/get IP per-packet options. */
|
||||
#define IP_MULTICAST_IF 32 /* in_addr; set/get IP multicast i/f */
|
||||
#define IP_MULTICAST_TTL 33 /* unsigned char; set/get IP multicast ttl */
|
||||
#define IP_MULTICAST_LOOP 34 /* bool; set/get IP multicast loopback */
|
||||
#define IP_ADD_MEMBERSHIP 35 /* ip_mreq; add an IP group membership */
|
||||
#define IP_DROP_MEMBERSHIP 36 /* ip_mreq; drop an IP group membership */
|
||||
#define IP_UNBLOCK_SOURCE 37 /* ip_mreq_source: unblock data from source */
|
||||
#define IP_BLOCK_SOURCE 38 /* ip_mreq_source: block data from source */
|
||||
#define IP_ADD_SOURCE_MEMBERSHIP 39 /* ip_mreq_source: join source group */
|
||||
#define IP_DROP_SOURCE_MEMBERSHIP 40 /* ip_mreq_source: leave source group */
|
||||
#define IP_MSFILTER 41
|
||||
#ifdef __USE_MISC
|
||||
# define MCAST_JOIN_GROUP 42 /* group_req: join any-source group */
|
||||
# define MCAST_BLOCK_SOURCE 43 /* group_source_req: block from given group */
|
||||
# define MCAST_UNBLOCK_SOURCE 44 /* group_source_req: unblock from given group*/
|
||||
# define MCAST_LEAVE_GROUP 45 /* group_req: leave any-source group */
|
||||
# define MCAST_JOIN_SOURCE_GROUP 46 /* group_source_req: join source-spec gr */
|
||||
# define MCAST_LEAVE_SOURCE_GROUP 47 /* group_source_req: leave source-spec gr*/
|
||||
# define MCAST_MSFILTER 48
|
||||
# define IP_MULTICAST_ALL 49
|
||||
# define IP_UNICAST_IF 50
|
||||
|
||||
# define MCAST_EXCLUDE 0
|
||||
# define MCAST_INCLUDE 1
|
||||
#endif
|
||||
|
||||
#define IP_ROUTER_ALERT 5 /* bool */
|
||||
#define IP_PKTINFO 8 /* bool */
|
||||
#define IP_PKTOPTIONS 9
|
||||
#define IP_PMTUDISC 10 /* obsolete name? */
|
||||
#define IP_MTU_DISCOVER 10 /* int; see below */
|
||||
#define IP_RECVERR 11 /* bool */
|
||||
#define IP_RECVTTL 12 /* bool */
|
||||
#define IP_RECVTOS 13 /* bool */
|
||||
#define IP_MTU 14 /* int */
|
||||
#define IP_FREEBIND 15
|
||||
#define IP_IPSEC_POLICY 16
|
||||
#define IP_XFRM_POLICY 17
|
||||
#define IP_PASSSEC 18
|
||||
#define IP_TRANSPARENT 19
|
||||
#define IP_MULTICAST_ALL 49 /* bool */
|
||||
|
||||
/* TProxy original addresses */
|
||||
#define IP_ORIGDSTADDR 20
|
||||
#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
|
||||
|
||||
#define IP_MINTTL 21
|
||||
#define IP_NODEFRAG 22
|
||||
#define IP_CHECKSUM 23
|
||||
#define IP_BIND_ADDRESS_NO_PORT 24
|
||||
#define IP_RECVFRAGSIZE 25
|
||||
|
||||
/* IP_MTU_DISCOVER arguments. */
|
||||
#define IP_PMTUDISC_DONT 0 /* Never send DF frames. */
|
||||
#define IP_PMTUDISC_WANT 1 /* Use per route hints. */
|
||||
#define IP_PMTUDISC_DO 2 /* Always DF. */
|
||||
#define IP_PMTUDISC_PROBE 3 /* Ignore dst pmtu. */
|
||||
/* Always use interface mtu (ignores dst pmtu) but don't set DF flag.
|
||||
Also incoming ICMP frag_needed notifications will be ignored on
|
||||
this socket to prevent accepting spoofed ones. */
|
||||
#define IP_PMTUDISC_INTERFACE 4
|
||||
/* Like IP_PMTUDISC_INTERFACE but allow packets to be fragmented. */
|
||||
#define IP_PMTUDISC_OMIT 5
|
||||
|
||||
#define IP_MULTICAST_IF 32
|
||||
#define IP_MULTICAST_TTL 33
|
||||
#define IP_MULTICAST_LOOP 34
|
||||
#define IP_ADD_MEMBERSHIP 35
|
||||
#define IP_DROP_MEMBERSHIP 36
|
||||
#define IP_UNBLOCK_SOURCE 37
|
||||
#define IP_BLOCK_SOURCE 38
|
||||
#define IP_ADD_SOURCE_MEMBERSHIP 39
|
||||
#define IP_DROP_SOURCE_MEMBERSHIP 40
|
||||
#define IP_MSFILTER 41
|
||||
#define IP_MULTICAST_ALL 49
|
||||
#define IP_UNICAST_IF 50
|
||||
|
||||
/* To select the IP level. */
|
||||
#define SOL_IP 0
|
||||
|
||||
#define IP_DEFAULT_MULTICAST_TTL 1
|
||||
#define IP_DEFAULT_MULTICAST_LOOP 1
|
||||
#define IP_MAX_MEMBERSHIPS 20
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Structure used to describe IP options for IP_OPTIONS and IP_RETOPTS.
|
||||
The `ip_dst' field is used for the first-hop gateway when using a
|
||||
source route (this gets put into the header proper). */
|
||||
struct ip_opts
|
||||
{
|
||||
struct in_addr ip_dst; /* First hop; zero without source route. */
|
||||
char ip_opts[40]; /* Actually variable in size. */
|
||||
};
|
||||
|
||||
/* Like `struct ip_mreq' but including interface specification by index. */
|
||||
struct ip_mreqn
|
||||
{
|
||||
struct in_addr imr_multiaddr; /* IP multicast address of group */
|
||||
struct in_addr imr_address; /* local IP address of interface */
|
||||
int imr_ifindex; /* Interface index */
|
||||
};
|
||||
|
||||
/* Structure used for IP_PKTINFO. */
|
||||
struct in_pktinfo
|
||||
{
|
||||
int ipi_ifindex; /* Interface index */
|
||||
struct in_addr ipi_spec_dst; /* Routing destination address */
|
||||
struct in_addr ipi_addr; /* Header destination address */
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Options for use with `getsockopt' and `setsockopt' at the IPv6 level.
|
||||
The first word in the comment at the right is the data type used;
|
||||
"bool" means a boolean value stored in an `int'. */
|
||||
#define IPV6_ADDRFORM 1
|
||||
#define IPV6_2292PKTINFO 2
|
||||
#define IPV6_2292HOPOPTS 3
|
||||
#define IPV6_2292DSTOPTS 4
|
||||
#define IPV6_2292RTHDR 5
|
||||
#define IPV6_2292PKTOPTIONS 6
|
||||
#define IPV6_CHECKSUM 7
|
||||
#define IPV6_2292HOPLIMIT 8
|
||||
|
||||
#define SCM_SRCRT IPV6_RXSRCRT
|
||||
|
||||
#define IPV6_NEXTHOP 9
|
||||
#define IPV6_AUTHHDR 10
|
||||
#define IPV6_UNICAST_HOPS 16
|
||||
#define IPV6_MULTICAST_IF 17
|
||||
#define IPV6_MULTICAST_HOPS 18
|
||||
#define IPV6_MULTICAST_LOOP 19
|
||||
#define IPV6_JOIN_GROUP 20
|
||||
#define IPV6_LEAVE_GROUP 21
|
||||
#define IPV6_ROUTER_ALERT 22
|
||||
#define IPV6_MTU_DISCOVER 23
|
||||
#define IPV6_MTU 24
|
||||
#define IPV6_RECVERR 25
|
||||
#define IPV6_V6ONLY 26
|
||||
#define IPV6_JOIN_ANYCAST 27
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
#define IPV6_IPSEC_POLICY 34
|
||||
#define IPV6_XFRM_POLICY 35
|
||||
#define IPV6_HDRINCL 36
|
||||
|
||||
/* Advanced API (RFC3542) (1). */
|
||||
#define IPV6_RECVPKTINFO 49
|
||||
#define IPV6_PKTINFO 50
|
||||
#define IPV6_RECVHOPLIMIT 51
|
||||
#define IPV6_HOPLIMIT 52
|
||||
#define IPV6_RECVHOPOPTS 53
|
||||
#define IPV6_HOPOPTS 54
|
||||
#define IPV6_RTHDRDSTOPTS 55
|
||||
#define IPV6_RECVRTHDR 56
|
||||
#define IPV6_RTHDR 57
|
||||
#define IPV6_RECVDSTOPTS 58
|
||||
#define IPV6_DSTOPTS 59
|
||||
#define IPV6_RECVPATHMTU 60
|
||||
#define IPV6_PATHMTU 61
|
||||
#define IPV6_DONTFRAG 62
|
||||
|
||||
/* Advanced API (RFC3542) (2). */
|
||||
#define IPV6_RECVTCLASS 66
|
||||
#define IPV6_TCLASS 67
|
||||
|
||||
#define IPV6_AUTOFLOWLABEL 70
|
||||
|
||||
/* RFC5014. */
|
||||
#define IPV6_ADDR_PREFERENCES 72
|
||||
|
||||
/* RFC5082. */
|
||||
#define IPV6_MINHOPCOUNT 73
|
||||
|
||||
#define IPV6_ORIGDSTADDR 74
|
||||
#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
|
||||
#define IPV6_TRANSPARENT 75
|
||||
#define IPV6_UNICAST_IF 76
|
||||
#define IPV6_RECVFRAGSIZE 77
|
||||
#define IPV6_FREEBIND 78
|
||||
|
||||
/* Obsolete synonyms for the above. */
|
||||
#if !__USE_KERNEL_IPV6_DEFS
|
||||
# define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
|
||||
# define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
|
||||
#endif
|
||||
#define IPV6_RXHOPOPTS IPV6_HOPOPTS
|
||||
#define IPV6_RXDSTOPTS IPV6_DSTOPTS
|
||||
|
||||
/* IPV6_MTU_DISCOVER values. */
|
||||
#define IPV6_PMTUDISC_DONT 0 /* Never send DF frames. */
|
||||
#define IPV6_PMTUDISC_WANT 1 /* Use per route hints. */
|
||||
#define IPV6_PMTUDISC_DO 2 /* Always DF. */
|
||||
#define IPV6_PMTUDISC_PROBE 3 /* Ignore dst pmtu. */
|
||||
#define IPV6_PMTUDISC_INTERFACE 4 /* See IP_PMTUDISC_INTERFACE. */
|
||||
#define IPV6_PMTUDISC_OMIT 5 /* See IP_PMTUDISC_OMIT. */
|
||||
|
||||
/* Socket level values for IPv6. */
|
||||
#define SOL_IPV6 41
|
||||
#define SOL_ICMPV6 58
|
||||
|
||||
/* Routing header options for IPv6. */
|
||||
#define IPV6_RTHDR_LOOSE 0 /* Hop doesn't need to be neighbour. */
|
||||
#define IPV6_RTHDR_STRICT 1 /* Hop must be a neighbour. */
|
||||
|
||||
#define IPV6_RTHDR_TYPE_0 0 /* IPv6 Routing header type 0. */
|
||||
@ -0,0 +1,25 @@
|
||||
/* Definition of __INDIRECT_RETURN. Generic version.
|
||||
Copyright (C) 2018-2019 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 _UCONTEXT_H
|
||||
# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
|
||||
#endif
|
||||
|
||||
/* __INDIRECT_RETURN is used on swapcontext to indicate if it requires
|
||||
special compiler treatment. */
|
||||
#define __INDIRECT_RETURN
|
||||
@ -0,0 +1 @@
|
||||
/* No thread support. */
|
||||
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/inotify.h
Normal file
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/inotify.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2005-2019 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 _SYS_INOTIFY_H
|
||||
# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for the parameter of inotify_init1. */
|
||||
enum
|
||||
{
|
||||
IN_CLOEXEC = 02000000,
|
||||
#define IN_CLOEXEC IN_CLOEXEC
|
||||
IN_NONBLOCK = 00004000
|
||||
#define IN_NONBLOCK IN_NONBLOCK
|
||||
};
|
||||
@ -0,0 +1,77 @@
|
||||
/* Structure types for pre-termios terminal ioctls. Linux version.
|
||||
Copyright (C) 1996-2019 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 _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 */
|
||||
108
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ioctls.h
Normal file
108
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ioctls.h
Normal file
@ -0,0 +1,108 @@
|
||||
/* Copyright (C) 1996-2019 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 _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 */
|
||||
55
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ipc.h
Normal file
55
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ipc.h
Normal file
@ -0,0 +1,55 @@
|
||||
/* Copyright (C) 1995-2019 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 _SYS_IPC_H
|
||||
# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Mode bits for `msgget', `semget', and `shmget'. */
|
||||
#define IPC_CREAT 01000 /* Create key if key does not exist. */
|
||||
#define IPC_EXCL 02000 /* Fail if key exists. */
|
||||
#define IPC_NOWAIT 04000 /* Return error on wait. */
|
||||
|
||||
/* Control commands for `msgctl', `semctl', and `shmctl'. */
|
||||
#define IPC_RMID 0 /* Remove identifier. */
|
||||
#define IPC_SET 1 /* Set `ipc_perm' options. */
|
||||
#define IPC_STAT 2 /* Get `ipc_perm' options. */
|
||||
#ifdef __USE_GNU
|
||||
# define IPC_INFO 3 /* See ipcs. */
|
||||
#endif
|
||||
|
||||
/* Special key values. */
|
||||
#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
|
||||
|
||||
|
||||
/* Data structure used to pass permission information to IPC operations. */
|
||||
struct ipc_perm
|
||||
{
|
||||
__key_t __key; /* Key. */
|
||||
__uid_t uid; /* Owner's user ID. */
|
||||
__gid_t gid; /* Owner's group ID. */
|
||||
__uid_t cuid; /* Creator's user ID. */
|
||||
__gid_t cgid; /* Creator's group ID. */
|
||||
unsigned short int mode; /* Read/write permission. */
|
||||
unsigned short int __pad1;
|
||||
unsigned short int __seq; /* Sequence number. */
|
||||
unsigned short int __pad2;
|
||||
__syscall_ulong_t __glibc_reserved1;
|
||||
__syscall_ulong_t __glibc_reserved2;
|
||||
};
|
||||
36
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ipctypes.h
Normal file
36
ramdisk/initramfs/glibc_riscv64/usr/include/bits/ipctypes.h
Normal file
@ -0,0 +1,36 @@
|
||||
/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.
|
||||
Copyright (C) 2002-2019 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/>. */
|
||||
|
||||
/*
|
||||
* Never include <bits/ipctypes.h> directly.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_IPCTYPES_H
|
||||
#define _BITS_IPCTYPES_H 1
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Used in `struct shmid_ds'. */
|
||||
# if __WORDSIZE == 32
|
||||
typedef unsigned short int __ipc_pid_t;
|
||||
# else
|
||||
typedef int __ipc_pid_t;
|
||||
# endif
|
||||
|
||||
|
||||
#endif /* bits/ipctypes.h */
|
||||
@ -0,0 +1,28 @@
|
||||
/* Define iscanonical macro.
|
||||
Copyright (C) 2016-2019 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 _MATH_H
|
||||
# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Return nonzero value if X is canonical. By default, we only have
|
||||
IEEE interchange binary formats, in which all values are canonical,
|
||||
but the argument must still be converted to its semantic type for
|
||||
any exceptions arising from the conversion, before being
|
||||
discarded. */
|
||||
#define iscanonical(x) ((void) (__typeof (x)) (x), 1)
|
||||
@ -0,0 +1,70 @@
|
||||
/* Handle feature test macros at the start of a header.
|
||||
Copyright (C) 2016-2019 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/>. */
|
||||
|
||||
/* 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. */
|
||||
#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
|
||||
|
||||
/* ISO/IEC TS 18661-4:2015 defines the
|
||||
__STDC_WANT_IEC_60559_FUNCS_EXT__ macro. */
|
||||
#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
|
||||
|
||||
/* 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
|
||||
@ -0,0 +1,101 @@
|
||||
/* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h.
|
||||
Copyright (C) 2014-2019 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 _MATH_H
|
||||
# error "Never include <bits/libm-simd-decl-stubs.h> directly;\
|
||||
include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Needed definitions could be generated with:
|
||||
for func in $(grep __MATHCALL_VEC math/bits/mathcalls.h |\
|
||||
sed -r "s|__MATHCALL_VEC.?\(||; s|,.*||"); do
|
||||
echo "#define __DECL_SIMD_${func}";
|
||||
echo "#define __DECL_SIMD_${func}f";
|
||||
echo "#define __DECL_SIMD_${func}l";
|
||||
done
|
||||
*/
|
||||
|
||||
#ifndef _BITS_LIBM_SIMD_DECL_STUBS_H
|
||||
#define _BITS_LIBM_SIMD_DECL_STUBS_H 1
|
||||
|
||||
#define __DECL_SIMD_cos
|
||||
#define __DECL_SIMD_cosf
|
||||
#define __DECL_SIMD_cosl
|
||||
#define __DECL_SIMD_cosf16
|
||||
#define __DECL_SIMD_cosf32
|
||||
#define __DECL_SIMD_cosf64
|
||||
#define __DECL_SIMD_cosf128
|
||||
#define __DECL_SIMD_cosf32x
|
||||
#define __DECL_SIMD_cosf64x
|
||||
#define __DECL_SIMD_cosf128x
|
||||
|
||||
#define __DECL_SIMD_sin
|
||||
#define __DECL_SIMD_sinf
|
||||
#define __DECL_SIMD_sinl
|
||||
#define __DECL_SIMD_sinf16
|
||||
#define __DECL_SIMD_sinf32
|
||||
#define __DECL_SIMD_sinf64
|
||||
#define __DECL_SIMD_sinf128
|
||||
#define __DECL_SIMD_sinf32x
|
||||
#define __DECL_SIMD_sinf64x
|
||||
#define __DECL_SIMD_sinf128x
|
||||
|
||||
#define __DECL_SIMD_sincos
|
||||
#define __DECL_SIMD_sincosf
|
||||
#define __DECL_SIMD_sincosl
|
||||
#define __DECL_SIMD_sincosf16
|
||||
#define __DECL_SIMD_sincosf32
|
||||
#define __DECL_SIMD_sincosf64
|
||||
#define __DECL_SIMD_sincosf128
|
||||
#define __DECL_SIMD_sincosf32x
|
||||
#define __DECL_SIMD_sincosf64x
|
||||
#define __DECL_SIMD_sincosf128x
|
||||
|
||||
#define __DECL_SIMD_log
|
||||
#define __DECL_SIMD_logf
|
||||
#define __DECL_SIMD_logl
|
||||
#define __DECL_SIMD_logf16
|
||||
#define __DECL_SIMD_logf32
|
||||
#define __DECL_SIMD_logf64
|
||||
#define __DECL_SIMD_logf128
|
||||
#define __DECL_SIMD_logf32x
|
||||
#define __DECL_SIMD_logf64x
|
||||
#define __DECL_SIMD_logf128x
|
||||
|
||||
#define __DECL_SIMD_exp
|
||||
#define __DECL_SIMD_expf
|
||||
#define __DECL_SIMD_expl
|
||||
#define __DECL_SIMD_expf16
|
||||
#define __DECL_SIMD_expf32
|
||||
#define __DECL_SIMD_expf64
|
||||
#define __DECL_SIMD_expf128
|
||||
#define __DECL_SIMD_expf32x
|
||||
#define __DECL_SIMD_expf64x
|
||||
#define __DECL_SIMD_expf128x
|
||||
|
||||
#define __DECL_SIMD_pow
|
||||
#define __DECL_SIMD_powf
|
||||
#define __DECL_SIMD_powl
|
||||
#define __DECL_SIMD_powf16
|
||||
#define __DECL_SIMD_powf32
|
||||
#define __DECL_SIMD_powf64
|
||||
#define __DECL_SIMD_powf128
|
||||
#define __DECL_SIMD_powf32x
|
||||
#define __DECL_SIMD_powf64x
|
||||
#define __DECL_SIMD_powf128x
|
||||
#endif
|
||||
56
ramdisk/initramfs/glibc_riscv64/usr/include/bits/link.h
Normal file
56
ramdisk/initramfs/glibc_riscv64/usr/include/bits/link.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* Machine-specific declarations for dynamic linker interface. RISC-V version.
|
||||
Copyright (C) 2005-2019 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 _LINK_H
|
||||
# error "Never include <bits/link.h> directly; use <link.h> instead."
|
||||
#endif
|
||||
|
||||
typedef struct La_riscv_regs
|
||||
{
|
||||
unsigned long int lr_reg[8]; /* a0 - a7 */
|
||||
double lr_fpreg[8]; /* fa0 - fa7 */
|
||||
unsigned long int lr_ra;
|
||||
unsigned long int lr_sp;
|
||||
} La_riscv_regs;
|
||||
|
||||
/* Return values for calls from PLT on RISC-V. */
|
||||
typedef struct La_riscv_retval
|
||||
{
|
||||
unsigned long int lrv_a0;
|
||||
unsigned long int lrv_a1;
|
||||
double lrv_fa0;
|
||||
double lrv_fa1;
|
||||
} La_riscv_retval;
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_riscv_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_riscv_regs *__inregs,
|
||||
La_riscv_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
__END_DECLS
|
||||
99
ramdisk/initramfs/glibc_riscv64/usr/include/bits/local_lim.h
Normal file
99
ramdisk/initramfs/glibc_riscv64/usr/include/bits/local_lim.h
Normal file
@ -0,0 +1,99 @@
|
||||
/* Minimum guaranteed maximum values for system limits. Linux version.
|
||||
Copyright (C) 1993-2019 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 <http://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
|
||||
|
||||
/* Minimum size for a thread. We are free to choose a reasonable value. */
|
||||
#define PTHREAD_STACK_MIN 16384
|
||||
|
||||
/* 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)
|
||||
40
ramdisk/initramfs/glibc_riscv64/usr/include/bits/locale.h
Normal file
40
ramdisk/initramfs/glibc_riscv64/usr/include/bits/locale.h
Normal file
@ -0,0 +1,40 @@
|
||||
/* Definition of locale category symbol values.
|
||||
Copyright (C) 2001-2019 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/>. */
|
||||
|
||||
#if !defined _LOCALE_H && !defined _LANGINFO_H
|
||||
# error "Never use <bits/locale.h> directly; include <locale.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_LOCALE_H
|
||||
#define _BITS_LOCALE_H 1
|
||||
|
||||
#define __LC_CTYPE 0
|
||||
#define __LC_NUMERIC 1
|
||||
#define __LC_TIME 2
|
||||
#define __LC_COLLATE 3
|
||||
#define __LC_MONETARY 4
|
||||
#define __LC_MESSAGES 5
|
||||
#define __LC_ALL 6
|
||||
#define __LC_PAPER 7
|
||||
#define __LC_NAME 8
|
||||
#define __LC_ADDRESS 9
|
||||
#define __LC_TELEPHONE 10
|
||||
#define __LC_MEASUREMENT 11
|
||||
#define __LC_IDENTIFICATION 12
|
||||
|
||||
#endif /* bits/locale.h */
|
||||
@ -0,0 +1,20 @@
|
||||
/* Properties of long double type. ldbl-128 version.
|
||||
Copyright (C) 2016-2019 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
197
ramdisk/initramfs/glibc_riscv64/usr/include/bits/math-finite.h
Normal file
197
ramdisk/initramfs/glibc_riscv64/usr/include/bits/math-finite.h
Normal file
@ -0,0 +1,197 @@
|
||||
/* Entry points to finite-math-only compiler runs.
|
||||
Copyright (C) 2011-2019 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 _MATH_H
|
||||
# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
#define __REDIRFROM(...) __REDIRFROM_X(__VA_ARGS__)
|
||||
|
||||
#define __REDIRTO(...) __REDIRTO_X(__VA_ARGS__)
|
||||
|
||||
#define __MATH_REDIRCALL_X(from, args, to) \
|
||||
extern _Mdouble_ __REDIRECT_NTH (from, args, to)
|
||||
#define __MATH_REDIRCALL(function, reentrant, args) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (function, reentrant), args, \
|
||||
__REDIRTO (function, reentrant))
|
||||
#define __MATH_REDIRCALL_2(from, reentrant, args, to) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (from, reentrant), args, \
|
||||
__REDIRTO (to, reentrant))
|
||||
|
||||
#define __MATH_REDIRCALL_INTERNAL(function, reentrant, args) \
|
||||
__MATH_REDIRCALL_X \
|
||||
(__REDIRFROM (__CONCAT (__, function), \
|
||||
__CONCAT (reentrant, _finite)), \
|
||||
args, __REDIRTO (function, _r))
|
||||
|
||||
|
||||
/* acos. */
|
||||
__MATH_REDIRCALL (acos, , (_Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* acosh. */
|
||||
__MATH_REDIRCALL (acosh, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* asin. */
|
||||
__MATH_REDIRCALL (asin, , (_Mdouble_));
|
||||
|
||||
/* atan2. */
|
||||
__MATH_REDIRCALL (atan2, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* atanh. */
|
||||
__MATH_REDIRCALL (atanh, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* cosh. */
|
||||
__MATH_REDIRCALL (cosh, , (_Mdouble_));
|
||||
|
||||
/* exp. */
|
||||
__MATH_REDIRCALL (exp, , (_Mdouble_));
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
|
||||
/* exp10. */
|
||||
__MATH_REDIRCALL (exp10, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* exp2. */
|
||||
__MATH_REDIRCALL (exp2, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* fmod. */
|
||||
__MATH_REDIRCALL (fmod, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_ISOC99
|
||||
/* hypot. */
|
||||
__MATH_REDIRCALL (hypot, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#if (__MATH_DECLARING_DOUBLE && (defined __USE_MISC || defined __USE_XOPEN)) \
|
||||
|| (!__MATH_DECLARING_DOUBLE && defined __USE_MISC)
|
||||
/* j0. */
|
||||
__MATH_REDIRCALL (j0, , (_Mdouble_));
|
||||
|
||||
/* y0. */
|
||||
__MATH_REDIRCALL (y0, , (_Mdouble_));
|
||||
|
||||
/* j1. */
|
||||
__MATH_REDIRCALL (j1, , (_Mdouble_));
|
||||
|
||||
/* y1. */
|
||||
__MATH_REDIRCALL (y1, , (_Mdouble_));
|
||||
|
||||
/* jn. */
|
||||
__MATH_REDIRCALL (jn, , (int, _Mdouble_));
|
||||
|
||||
/* yn. */
|
||||
__MATH_REDIRCALL (yn, , (int, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* lgamma_r. */
|
||||
__MATH_REDIRCALL (lgamma, _r, (_Mdouble_, int *));
|
||||
#endif
|
||||
|
||||
/* Redirect __lgammal_r_finite to __lgamma_r_finite when __NO_LONG_DOUBLE_MATH
|
||||
is set and to itself otherwise. It also redirects __lgamma_r_finite and
|
||||
__lgammaf_r_finite to themselves. */
|
||||
__MATH_REDIRCALL_INTERNAL (lgamma, _r, (_Mdouble_, int *));
|
||||
|
||||
#if ((defined __USE_XOPEN || defined __USE_ISOC99) \
|
||||
&& defined __extern_always_inline)
|
||||
/* lgamma. */
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (lgamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
# if defined __USE_MISC || defined __USE_XOPEN
|
||||
return __REDIRTO (lgamma, _r) (__d, &signgam);
|
||||
# else
|
||||
int __local_signgam = 0;
|
||||
return __REDIRTO (lgamma, _r) (__d, &__local_signgam);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ((defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)) \
|
||||
&& defined __extern_always_inline) && !__MATH_DECLARING_FLOATN
|
||||
/* gamma. */
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (gamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
return __REDIRTO (lgamma, _r) (__d, &signgam);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* log. */
|
||||
__MATH_REDIRCALL (log, , (_Mdouble_));
|
||||
|
||||
/* log10. */
|
||||
__MATH_REDIRCALL (log10, , (_Mdouble_));
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* log2. */
|
||||
__MATH_REDIRCALL (log2, , (_Mdouble_));
|
||||
#endif
|
||||
|
||||
/* pow. */
|
||||
__MATH_REDIRCALL (pow, , (_Mdouble_, _Mdouble_));
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* remainder. */
|
||||
__MATH_REDIRCALL (remainder, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
#if ((__MATH_DECLARING_DOUBLE \
|
||||
&& (defined __USE_MISC \
|
||||
|| (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8))) \
|
||||
|| (!defined __MATH_DECLARE_LDOUBLE && defined __USE_MISC)) \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* scalb. */
|
||||
__MATH_REDIRCALL (scalb, , (_Mdouble_, _Mdouble_));
|
||||
#endif
|
||||
|
||||
/* sinh. */
|
||||
__MATH_REDIRCALL (sinh, , (_Mdouble_));
|
||||
|
||||
/* sqrt. */
|
||||
__MATH_REDIRCALL (sqrt, , (_Mdouble_));
|
||||
|
||||
#if defined __USE_ISOC99 && defined __extern_always_inline
|
||||
/* tgamma. */
|
||||
extern _Mdouble_
|
||||
__REDIRFROM (__gamma, _r_finite) (_Mdouble_, int *);
|
||||
|
||||
__extern_always_inline _Mdouble_
|
||||
__NTH (__REDIRFROM (tgamma, ) (_Mdouble_ __d))
|
||||
{
|
||||
int __local_signgam = 0;
|
||||
_Mdouble_ __res = __REDIRTO (gamma, _r) (__d, &__local_signgam);
|
||||
return __local_signgam < 0 ? -__res : __res;
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef __REDIRFROM
|
||||
#undef __REDIRTO
|
||||
#undef __MATH_REDIRCALL
|
||||
#undef __MATH_REDIRCALL_2
|
||||
#undef __MATH_REDIRCALL_INTERNAL
|
||||
#undef __MATH_REDIRCALL_X
|
||||
@ -0,0 +1,27 @@
|
||||
/* Platform-specific SIMD declarations of math functions.
|
||||
Copyright (C) 2014-2019 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never include <bits/math-vector.h> directly;\
|
||||
include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Get default empty definitions required for __MATHCALL_VEC unfolding.
|
||||
Plaform-specific analogue of this header should redefine them with specific
|
||||
SIMD declarations. */
|
||||
#include <bits/libm-simd-decl-stubs.h>
|
||||
@ -0,0 +1,43 @@
|
||||
/* Prototype declarations for math classification macros helpers.
|
||||
Copyright (C) 2017-2019 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/>. */
|
||||
|
||||
|
||||
/* Classify given number. */
|
||||
__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Test for negative number. */
|
||||
__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Return 0 if VALUE is finite or NaN, +1 if it
|
||||
is +Infinity, -1 if it is -Infinity. */
|
||||
__MATHDECL_1 (int, __isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
|
||||
/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */
|
||||
__MATHDECL_1 (int, __finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECL_1 (int, __isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
|
||||
/* Test equality. */
|
||||
__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
/* Test for signaling NaN. */
|
||||
__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))
|
||||
__attribute__ ((__const__));
|
||||
@ -0,0 +1,33 @@
|
||||
/* Declare functions returning a narrower type.
|
||||
Copyright (C) 2018-2019 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 _MATH_H
|
||||
# error "Never include <bits/mathcalls-narrow.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Add. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
|
||||
|
||||
/* Divide. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2);
|
||||
|
||||
/* Multiply. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2);
|
||||
|
||||
/* Subtract. */
|
||||
__MATHCALL_NARROW (__MATHCALL_NAME (sub), __MATHCALL_REDIR_NAME (sub), 2);
|
||||
397
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mathcalls.h
Normal file
397
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mathcalls.h
Normal file
@ -0,0 +1,397 @@
|
||||
/* Prototype declarations for math functions; helper file for <math.h>.
|
||||
Copyright (C) 1996-2019 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/>. */
|
||||
|
||||
/* NOTE: Because of the special way this file is used by <math.h>, this
|
||||
file must NOT be protected from multiple inclusion as header files
|
||||
usually are.
|
||||
|
||||
This file provides prototype declarations for the math functions.
|
||||
Most functions are declared using the macro:
|
||||
|
||||
__MATHCALL (NAME,[_r], (ARGS...));
|
||||
|
||||
This means there is a function `NAME' returning `double' and a function
|
||||
`NAMEf' returning `float'. Each place `_Mdouble_' appears in the
|
||||
prototype, that is actually `double' in the prototype for `NAME' and
|
||||
`float' in the prototype for `NAMEf'. Reentrant variant functions are
|
||||
called `NAME_r' and `NAMEf_r'.
|
||||
|
||||
Functions returning other types like `int' are declared using the macro:
|
||||
|
||||
__MATHDECL (TYPE, NAME,[_r], (ARGS...));
|
||||
|
||||
This is just like __MATHCALL but for a function returning `TYPE'
|
||||
instead of `_Mdouble_'. In all of these cases, there is still
|
||||
both a `NAME' and a `NAMEf' that takes `float' arguments.
|
||||
|
||||
Note that there must be no whitespace before the argument passed for
|
||||
NAME, to make token pasting work with -traditional. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Trigonometric functions. */
|
||||
|
||||
/* Arc cosine of X. */
|
||||
__MATHCALL (acos,, (_Mdouble_ __x));
|
||||
/* Arc sine of X. */
|
||||
__MATHCALL (asin,, (_Mdouble_ __x));
|
||||
/* Arc tangent of X. */
|
||||
__MATHCALL (atan,, (_Mdouble_ __x));
|
||||
/* Arc tangent of Y/X. */
|
||||
__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x));
|
||||
|
||||
/* Cosine of X. */
|
||||
__MATHCALL_VEC (cos,, (_Mdouble_ __x));
|
||||
/* Sine of X. */
|
||||
__MATHCALL_VEC (sin,, (_Mdouble_ __x));
|
||||
/* Tangent of X. */
|
||||
__MATHCALL (tan,, (_Mdouble_ __x));
|
||||
|
||||
/* Hyperbolic functions. */
|
||||
|
||||
/* Hyperbolic cosine of X. */
|
||||
__MATHCALL (cosh,, (_Mdouble_ __x));
|
||||
/* Hyperbolic sine of X. */
|
||||
__MATHCALL (sinh,, (_Mdouble_ __x));
|
||||
/* Hyperbolic tangent of X. */
|
||||
__MATHCALL (tanh,, (_Mdouble_ __x));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Cosine and sine of X. */
|
||||
__MATHDECL_VEC (void,sincos,,
|
||||
(_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
|
||||
#endif
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* Hyperbolic arc cosine of X. */
|
||||
__MATHCALL (acosh,, (_Mdouble_ __x));
|
||||
/* Hyperbolic arc sine of X. */
|
||||
__MATHCALL (asinh,, (_Mdouble_ __x));
|
||||
/* Hyperbolic arc tangent of X. */
|
||||
__MATHCALL (atanh,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
/* Exponential and logarithmic functions. */
|
||||
|
||||
/* Exponential function of X. */
|
||||
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
|
||||
|
||||
/* Break VALUE into a normalized fraction and an integral power of 2. */
|
||||
__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent));
|
||||
|
||||
/* X times (two to the EXP power). */
|
||||
__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
|
||||
|
||||
/* Natural logarithm of X. */
|
||||
__MATHCALL_VEC (log,, (_Mdouble_ __x));
|
||||
|
||||
/* Base-ten logarithm of X. */
|
||||
__MATHCALL (log10,, (_Mdouble_ __x));
|
||||
|
||||
/* Break VALUE into integral and fractional parts. */
|
||||
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
|
||||
/* Compute exponent to base ten. */
|
||||
__MATHCALL (exp10,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* Return exp(X) - 1. */
|
||||
__MATHCALL (expm1,, (_Mdouble_ __x));
|
||||
|
||||
/* Return log(1 + X). */
|
||||
__MATHCALL (log1p,, (_Mdouble_ __x));
|
||||
|
||||
/* Return the base 2 signed integral exponent of X. */
|
||||
__MATHCALL (logb,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* Compute base-2 exponential of X. */
|
||||
__MATHCALL (exp2,, (_Mdouble_ __x));
|
||||
|
||||
/* Compute base-2 logarithm of X. */
|
||||
__MATHCALL (log2,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
|
||||
/* Power functions. */
|
||||
|
||||
/* Return X to the Y power. */
|
||||
__MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
/* Return the square root of X. */
|
||||
__MATHCALL (sqrt,, (_Mdouble_ __x));
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_ISOC99
|
||||
/* Return `sqrt(X*X + Y*Y)'. */
|
||||
__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
#endif
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* Return the cube root of X. */
|
||||
__MATHCALL (cbrt,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
|
||||
/* Nearest integer, absolute value, and remainder functions. */
|
||||
|
||||
/* Smallest integral value not less than X. */
|
||||
__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Absolute value of X. */
|
||||
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Largest integer not greater than X. */
|
||||
__MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Floating-point modulo remainder of X/Y. */
|
||||
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# if ((!defined __cplusplus \
|
||||
|| __cplusplus < 201103L /* isinf conflicts with C++11. */ \
|
||||
|| __MATH_DECLARING_DOUBLE == 0)) /* isinff or isinfl don't. */ \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* Return 0 if VALUE is finite or NaN, +1 if it
|
||||
is +Infinity, -1 if it is -Infinity. */
|
||||
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
# endif
|
||||
|
||||
# if !__MATH_DECLARING_FLOATN
|
||||
/* Return nonzero if VALUE is finite and not NaN. */
|
||||
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
|
||||
/* Return the remainder of X/Y. */
|
||||
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
|
||||
/* Return the fractional part of X after dividing out `ilogb (X)'. */
|
||||
__MATHCALL (significand,, (_Mdouble_ __x));
|
||||
# endif
|
||||
|
||||
#endif /* Use misc. */
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* Return X with its signed changed to Y's. */
|
||||
__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* Return representation of qNaN for double type. */
|
||||
__MATHCALL (nan,, (const char *__tagb));
|
||||
#endif
|
||||
|
||||
|
||||
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
|
||||
# if ((!defined __cplusplus \
|
||||
|| __cplusplus < 201103L /* isnan conflicts with C++11. */ \
|
||||
|| __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined __USE_MISC || (defined __USE_XOPEN && __MATH_DECLARING_DOUBLE)
|
||||
/* Bessel functions. */
|
||||
__MATHCALL (j0,, (_Mdouble_));
|
||||
__MATHCALL (j1,, (_Mdouble_));
|
||||
__MATHCALL (jn,, (int, _Mdouble_));
|
||||
__MATHCALL (y0,, (_Mdouble_));
|
||||
__MATHCALL (y1,, (_Mdouble_));
|
||||
__MATHCALL (yn,, (int, _Mdouble_));
|
||||
#endif
|
||||
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_ISOC99
|
||||
/* Error and gamma functions. */
|
||||
__MATHCALL (erf,, (_Mdouble_));
|
||||
__MATHCALL (erfc,, (_Mdouble_));
|
||||
__MATHCALL (lgamma,, (_Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* True gamma function. */
|
||||
__MATHCALL (tgamma,, (_Mdouble_));
|
||||
#endif
|
||||
|
||||
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
|
||||
# if !__MATH_DECLARING_FLOATN
|
||||
/* Obsolete alias for `lgamma'. */
|
||||
__MATHCALL (gamma,, (_Mdouble_));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Reentrant version of lgamma. This function uses the global variable
|
||||
`signgam'. The reentrant version instead takes a pointer and stores
|
||||
the value through it. */
|
||||
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp));
|
||||
#endif
|
||||
|
||||
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
|
||||
/* Return the integer nearest X in the direction of the
|
||||
prevailing rounding mode. */
|
||||
__MATHCALL (rint,, (_Mdouble_ __x));
|
||||
|
||||
/* Return X + epsilon if X < Y, X - epsilon if X > Y. */
|
||||
__MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
# if defined __USE_ISOC99 && !defined __LDBL_COMPAT && !__MATH_DECLARING_FLOATN
|
||||
__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));
|
||||
# endif
|
||||
|
||||
# if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
|
||||
/* Return X - epsilon. */
|
||||
__MATHCALL (nextdown,, (_Mdouble_ __x));
|
||||
/* Return X + epsilon. */
|
||||
__MATHCALL (nextup,, (_Mdouble_ __x));
|
||||
# endif
|
||||
|
||||
/* Return the remainder of integer divison X / Y with infinite precision. */
|
||||
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
# ifdef __USE_ISOC99
|
||||
/* Return X times (2 to the Nth power). */
|
||||
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
|
||||
# endif
|
||||
|
||||
/* Return the binary exponent of X, which must be nonzero. */
|
||||
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
|
||||
/* Like ilogb, but returning long int. */
|
||||
__MATHDECL (long int, llogb,, (_Mdouble_ __x));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
/* Return X times (2 to the Nth power). */
|
||||
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
|
||||
|
||||
/* Round X to integral value in floating-point format using current
|
||||
rounding direction, but do not raise inexact exception. */
|
||||
__MATHCALL (nearbyint,, (_Mdouble_ __x));
|
||||
|
||||
/* Round X to nearest integral value, rounding halfway cases away from
|
||||
zero. */
|
||||
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Round X to the integral value in floating-point format nearest but
|
||||
not larger in magnitude. */
|
||||
__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Compute remainder of X and Y and put in *QUO a value with sign of x/y
|
||||
and magnitude congruent `mod 2^n' to the magnitude of the integral
|
||||
quotient x/y, with n >= 3. */
|
||||
__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo));
|
||||
|
||||
|
||||
/* Conversion functions. */
|
||||
|
||||
/* Round X to nearest integral value according to current rounding
|
||||
direction. */
|
||||
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
|
||||
__extension__
|
||||
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
|
||||
|
||||
/* Round X to nearest integral value, rounding halfway cases away from
|
||||
zero. */
|
||||
__MATHDECL (long int,lround,, (_Mdouble_ __x));
|
||||
__extension__
|
||||
__MATHDECL (long long int,llround,, (_Mdouble_ __x));
|
||||
|
||||
|
||||
/* Return positive difference between X and Y. */
|
||||
__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
|
||||
/* Return maximum numeric value from X and Y. */
|
||||
__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
|
||||
|
||||
/* Return minimum numeric value from X and Y. */
|
||||
__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
|
||||
|
||||
/* Multiply-add function computed as a ternary operation. */
|
||||
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
|
||||
#endif /* Use ISO C99. */
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
|
||||
/* Round X to nearest integer value, rounding halfway cases to even. */
|
||||
__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));
|
||||
|
||||
/* Round X to nearest signed integer value, not raising inexact, with
|
||||
control of rounding direction and width of result. */
|
||||
__MATHDECL (__intmax_t, fromfp,, (_Mdouble_ __x, int __round,
|
||||
unsigned int __width));
|
||||
|
||||
/* Round X to nearest unsigned integer value, not raising inexact,
|
||||
with control of rounding direction and width of result. */
|
||||
__MATHDECL (__uintmax_t, ufromfp,, (_Mdouble_ __x, int __round,
|
||||
unsigned int __width));
|
||||
|
||||
/* Round X to nearest signed integer value, raising inexact for
|
||||
non-integers, with control of rounding direction and width of
|
||||
result. */
|
||||
__MATHDECL (__intmax_t, fromfpx,, (_Mdouble_ __x, int __round,
|
||||
unsigned int __width));
|
||||
|
||||
/* Round X to nearest unsigned integer value, raising inexact for
|
||||
non-integers, with control of rounding direction and width of
|
||||
result. */
|
||||
__MATHDECL (__uintmax_t, ufromfpx,, (_Mdouble_ __x, int __round,
|
||||
unsigned int __width));
|
||||
|
||||
/* Return value with maximum magnitude. */
|
||||
__MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
|
||||
|
||||
/* Return value with minimum magnitude. */
|
||||
__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
|
||||
|
||||
/* Total order operation. */
|
||||
__MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Total order operation on absolute values. */
|
||||
__MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Canonicalize floating-point representation. */
|
||||
__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
|
||||
|
||||
/* Get NaN payload. */
|
||||
__MATHCALL (getpayload,, (const _Mdouble_ *__x));
|
||||
|
||||
/* Set quiet NaN payload. */
|
||||
__MATHDECL_1 (int, setpayload,, (_Mdouble_ *__x, _Mdouble_ __payload));
|
||||
|
||||
/* Set signaling NaN payload. */
|
||||
__MATHDECL_1 (int, setpayloadsig,, (_Mdouble_ *__x, _Mdouble_ __payload));
|
||||
#endif
|
||||
|
||||
#if (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
|
||||
&& __MATH_DECLARING_DOUBLE \
|
||||
&& !defined __USE_XOPEN2K8)) \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* Return X times (2 to the Nth power). */
|
||||
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
|
||||
#endif
|
||||
20
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mathdef.h
Normal file
20
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mathdef.h
Normal file
@ -0,0 +1,20 @@
|
||||
/* Copyright (C) 1997-2019 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 _COMPLEX_H
|
||||
# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
|
||||
#endif
|
||||
@ -0,0 +1,12 @@
|
||||
/* This file should provide inline versions of math functions.
|
||||
|
||||
Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
|
||||
|
||||
This file should define __MATH_INLINES if functions are actually defined as
|
||||
inlines. */
|
||||
|
||||
#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
|
||||
|
||||
/* Here goes the real code. */
|
||||
|
||||
#endif
|
||||
111
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mman-linux.h
Normal file
111
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mman-linux.h
Normal file
@ -0,0 +1,111 @@
|
||||
/* Definitions for POSIX memory map interface. Linux generic version.
|
||||
Copyright (C) 2001-2019 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 _SYS_MMAN_H
|
||||
# error "Never use <bits/mman-linux.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
/* The following definitions basically come from the kernel headers.
|
||||
But the kernel header is not namespace clean. */
|
||||
|
||||
|
||||
/* Protections are chosen from these bits, OR'd together. The
|
||||
implementation does not necessarily support PROT_EXEC or PROT_WRITE
|
||||
without PROT_READ. The only guarantees are that no writing will be
|
||||
allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
|
||||
|
||||
#define PROT_READ 0x1 /* Page can be read. */
|
||||
#define PROT_WRITE 0x2 /* Page can be written. */
|
||||
#define PROT_EXEC 0x4 /* Page can be executed. */
|
||||
#define PROT_NONE 0x0 /* Page can not be accessed. */
|
||||
#define PROT_GROWSDOWN 0x01000000 /* Extend change to start of
|
||||
growsdown vma (mprotect only). */
|
||||
#define PROT_GROWSUP 0x02000000 /* Extend change to start of
|
||||
growsup vma (mprotect only). */
|
||||
|
||||
/* Sharing types (must choose one and only one of these). */
|
||||
#define MAP_SHARED 0x01 /* Share changes. */
|
||||
#define MAP_PRIVATE 0x02 /* Changes are private. */
|
||||
#ifdef __USE_MISC
|
||||
# define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate
|
||||
extension flags. */
|
||||
# define MAP_TYPE 0x0f /* Mask for type of mapping. */
|
||||
#endif
|
||||
|
||||
/* Other flags. */
|
||||
#define MAP_FIXED 0x10 /* Interpret addr exactly. */
|
||||
#ifdef __USE_MISC
|
||||
# define MAP_FILE 0
|
||||
# ifdef __MAP_ANONYMOUS
|
||||
# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */
|
||||
# else
|
||||
# define MAP_ANONYMOUS 0x20 /* Don't use a file. */
|
||||
# endif
|
||||
# define MAP_ANON MAP_ANONYMOUS
|
||||
/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */
|
||||
# define MAP_HUGE_SHIFT 26
|
||||
# define MAP_HUGE_MASK 0x3f
|
||||
#endif
|
||||
|
||||
/* Flags to `msync'. */
|
||||
#define MS_ASYNC 1 /* Sync memory asynchronously. */
|
||||
#define MS_SYNC 4 /* Synchronous memory sync. */
|
||||
#define MS_INVALIDATE 2 /* Invalidate the caches. */
|
||||
|
||||
/* Advice to `madvise'. */
|
||||
#ifdef __USE_MISC
|
||||
# define MADV_NORMAL 0 /* No further special treatment. */
|
||||
# define MADV_RANDOM 1 /* Expect random page references. */
|
||||
# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||
# define MADV_WILLNEED 3 /* Will need these pages. */
|
||||
# define MADV_DONTNEED 4 /* Don't need these pages. */
|
||||
# define MADV_FREE 8 /* Free pages only if memory pressure. */
|
||||
# define MADV_REMOVE 9 /* Remove these pages and resources. */
|
||||
# define MADV_DONTFORK 10 /* Do not inherit across fork. */
|
||||
# define MADV_DOFORK 11 /* Do inherit across fork. */
|
||||
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
|
||||
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
|
||||
# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
|
||||
# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
|
||||
# define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
|
||||
overrides the coredump filter bits. */
|
||||
# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */
|
||||
# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */
|
||||
# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */
|
||||
# define MADV_HWPOISON 100 /* Poison a page for testing. */
|
||||
#endif
|
||||
|
||||
/* The POSIX people had to invent similar names for the same things. */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define POSIX_MADV_NORMAL 0 /* No further special treatment. */
|
||||
# define POSIX_MADV_RANDOM 1 /* Expect random page references. */
|
||||
# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||
# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */
|
||||
# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */
|
||||
#endif
|
||||
|
||||
/* Flags for `mlockall'. */
|
||||
#ifndef MCL_CURRENT
|
||||
# define MCL_CURRENT 1 /* Lock all currently mapped pages. */
|
||||
# define MCL_FUTURE 2 /* Lock all additions to address
|
||||
space. */
|
||||
# define MCL_ONFAULT 4 /* Lock all pages that are
|
||||
faulted in. */
|
||||
#endif
|
||||
|
||||
#include <bits/mman-shared.h>
|
||||
@ -0,0 +1,42 @@
|
||||
/* Definitions for POSIX memory map interface. Linux/generic version.
|
||||
Copyright (C) 1997-2019 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 _SYS_MMAN_H
|
||||
# error "Never use <bits/mman-map-flags-generic.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
/* These definitions are appropriate for architectures that, in the
|
||||
Linux kernel, either have no uapi/asm/mman.h, or have one that
|
||||
includes asm-generic/mman.h without any changes to the values of
|
||||
the MAP_* flags defined in that header. */
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
|
||||
# define MAP_DENYWRITE 0x00800 /* ETXTBSY. */
|
||||
# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
|
||||
# define MAP_LOCKED 0x02000 /* Lock the mapping. */
|
||||
# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
|
||||
# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
|
||||
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
|
||||
# define MAP_STACK 0x20000 /* Allocation is for a stack. */
|
||||
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
|
||||
# define MAP_SYNC 0x80000 /* Perform synchronous page
|
||||
faults for the mapping. */
|
||||
# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
|
||||
underlying mapping. */
|
||||
#endif
|
||||
@ -0,0 +1,80 @@
|
||||
/* Memory-mapping-related declarations/definitions, not architecture-specific.
|
||||
Copyright (C) 2017-2019 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 _SYS_MMAN_H
|
||||
# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Flags for mremap. */
|
||||
# define MREMAP_MAYMOVE 1
|
||||
# define MREMAP_FIXED 2
|
||||
|
||||
/* Flags for memfd_create. */
|
||||
# ifndef MFD_CLOEXEC
|
||||
# define MFD_CLOEXEC 1U
|
||||
# define MFD_ALLOW_SEALING 2U
|
||||
# define MFD_HUGETLB 4U
|
||||
# endif
|
||||
|
||||
/* Flags for mlock2. */
|
||||
# ifndef MLOCK_ONFAULT
|
||||
# define MLOCK_ONFAULT 1U
|
||||
# endif
|
||||
|
||||
/* Access rights for pkey_alloc. */
|
||||
# ifndef PKEY_DISABLE_ACCESS
|
||||
# define PKEY_DISABLE_ACCESS 0x1
|
||||
# define PKEY_DISABLE_WRITE 0x2
|
||||
# endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Create a new memory file descriptor. NAME is a name for debugging.
|
||||
FLAGS is a combination of the MFD_* constants. */
|
||||
int memfd_create (const char *__name, unsigned int __flags) __THROW;
|
||||
|
||||
/* Lock pages from ADDR (inclusive) to ADDR + LENGTH (exclusive) into
|
||||
memory. FLAGS is a combination of the MLOCK_* flags above. */
|
||||
int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW;
|
||||
|
||||
/* Allocate a new protection key, with the PKEY_DISABLE_* bits
|
||||
specified in ACCESS_RIGHTS. The protection key mask for the
|
||||
current thread is updated to match the access privilege for the new
|
||||
key. */
|
||||
int pkey_alloc (unsigned int __flags, unsigned int __access_rights) __THROW;
|
||||
|
||||
/* Update the access rights for the current thread for KEY, which must
|
||||
have been allocated using pkey_alloc. */
|
||||
int pkey_set (int __key, unsigned int __access_rights) __THROW;
|
||||
|
||||
/* Return the access rights for the current thread for KEY, which must
|
||||
have been allocated using pkey_alloc. */
|
||||
int pkey_get (int __key) __THROW;
|
||||
|
||||
/* Free an allocated protection key, which must have been allocated
|
||||
using pkey_alloc. */
|
||||
int pkey_free (int __key) __THROW;
|
||||
|
||||
/* Apply memory protection flags for KEY to the specified address
|
||||
range. */
|
||||
int pkey_mprotect (void *__addr, size_t __len, int __prot, int __pkey) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __USE_GNU */
|
||||
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mman.h
Normal file
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mman.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* Definitions for POSIX memory map interface. Linux/generic version.
|
||||
Copyright (C) 1997-2019 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 _SYS_MMAN_H
|
||||
# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
/* These definitions are appropriate for architectures that, in the
|
||||
Linux kernel, either have no uapi/asm/mman.h, or have one that
|
||||
includes asm-generic/mman.h without any changes or additions
|
||||
relevant to glibc. If there are additions relevant to glibc, an
|
||||
architecture-specific bits/mman.h is needed. */
|
||||
|
||||
#include <bits/mman-map-flags-generic.h>
|
||||
|
||||
/* Include generic Linux declarations. */
|
||||
#include <bits/mman-linux.h>
|
||||
@ -0,0 +1,27 @@
|
||||
/* -mlong-double-64 compatibility mode for monetary functions.
|
||||
Copyright (C) 2006-2019 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 _MONETARY_H
|
||||
# error "Never include <bits/monetary-ldbl.h> directly; use <monetary.h> instead."
|
||||
#endif
|
||||
|
||||
__LDBL_REDIR_DECL (strfmon)
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__LDBL_REDIR_DECL (strfmon_l)
|
||||
#endif
|
||||
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mqueue.h
Normal file
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mqueue.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright (C) 2004-2019 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 _MQUEUE_H
|
||||
# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
typedef int mqd_t;
|
||||
|
||||
struct mq_attr
|
||||
{
|
||||
__syscall_slong_t mq_flags; /* Message queue flags. */
|
||||
__syscall_slong_t mq_maxmsg; /* Maximum number of messages. */
|
||||
__syscall_slong_t mq_msgsize; /* Maximum message size. */
|
||||
__syscall_slong_t mq_curmsgs; /* Number of messages currently queued. */
|
||||
__syscall_slong_t __pad[4];
|
||||
};
|
||||
57
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mqueue2.h
Normal file
57
ramdisk/initramfs/glibc_riscv64/usr/include/bits/mqueue2.h
Normal file
@ -0,0 +1,57 @@
|
||||
/* Checking macros for mq functions.
|
||||
Copyright (C) 2007-2019 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 _FCNTL_H
|
||||
# error "Never include <bits/mqueue2.h> directly; use <mqueue.h> instead."
|
||||
#endif
|
||||
|
||||
/* Check that calls to mq_open with O_CREAT set have an appropriate third and fourth
|
||||
parameter. */
|
||||
extern mqd_t mq_open (const char *__name, int __oflag, ...)
|
||||
__THROW __nonnull ((1));
|
||||
extern mqd_t __mq_open_2 (const char *__name, int __oflag)
|
||||
__THROW __nonnull ((1));
|
||||
extern mqd_t __REDIRECT_NTH (__mq_open_alias, (const char *__name,
|
||||
int __oflag, ...), mq_open)
|
||||
__nonnull ((1));
|
||||
__errordecl (__mq_open_wrong_number_of_args,
|
||||
"mq_open can be called either with 2 or 4 arguments");
|
||||
__errordecl (__mq_open_missing_mode_and_attr,
|
||||
"mq_open with O_CREAT in second argument needs 4 arguments");
|
||||
|
||||
__fortify_function mqd_t
|
||||
__NTH (mq_open (const char *__name, int __oflag, ...))
|
||||
{
|
||||
if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2)
|
||||
__mq_open_wrong_number_of_args ();
|
||||
|
||||
if (__builtin_constant_p (__oflag))
|
||||
{
|
||||
if ((__oflag & O_CREAT) != 0 && __va_arg_pack_len () == 0)
|
||||
{
|
||||
__mq_open_missing_mode_and_attr ();
|
||||
return __mq_open_2 (__name, __oflag);
|
||||
}
|
||||
return __mq_open_alias (__name, __oflag, __va_arg_pack ());
|
||||
}
|
||||
|
||||
if (__va_arg_pack_len () == 0)
|
||||
return __mq_open_2 (__name, __oflag);
|
||||
|
||||
return __mq_open_alias (__name, __oflag, __va_arg_pack ());
|
||||
}
|
||||
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/msq-pad.h
Normal file
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/msq-pad.h
Normal file
@ -0,0 +1,31 @@
|
||||
/* Define where padding goes in struct msqid_ds. Generic version.
|
||||
Copyright (C) 2018-2019 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 _SYS_MSG_H
|
||||
# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being
|
||||
32-bit. */
|
||||
|
||||
#define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __MSQ_PAD_BEFORE_TIME 0
|
||||
86
ramdisk/initramfs/glibc_riscv64/usr/include/bits/msq.h
Normal file
86
ramdisk/initramfs/glibc_riscv64/usr/include/bits/msq.h
Normal file
@ -0,0 +1,86 @@
|
||||
/* Copyright (C) 1995-2019 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 _SYS_MSG_H
|
||||
# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
#include <bits/msq-pad.h>
|
||||
|
||||
/* Define options for message queue functions. */
|
||||
#define MSG_NOERROR 010000 /* no error if message is too big */
|
||||
#ifdef __USE_GNU
|
||||
# define MSG_EXCEPT 020000 /* recv any msg except of specified type */
|
||||
# define MSG_COPY 040000 /* copy (not remove) all queue messages */
|
||||
#endif
|
||||
|
||||
/* Types used in the structure definition. */
|
||||
typedef __syscall_ulong_t msgqnum_t;
|
||||
typedef __syscall_ulong_t msglen_t;
|
||||
|
||||
#if __MSQ_PAD_BEFORE_TIME
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
unsigned long int __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __MSQ_PAD_AFTER_TIME
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; unsigned long int __glibc_reserved ## RES
|
||||
#else
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Structure of record for one message inside the kernel.
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
__MSQ_PAD_TIME (msg_stime, 1); /* time of last msgsnd command */
|
||||
__MSQ_PAD_TIME (msg_rtime, 2); /* time of last msgrcv command */
|
||||
__MSQ_PAD_TIME (msg_ctime, 3); /* time of last change */
|
||||
__syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
|
||||
msgqnum_t msg_qnum; /* number of messages currently on queue */
|
||||
msglen_t msg_qbytes; /* max number of bytes allowed on queue */
|
||||
__pid_t msg_lspid; /* pid of last msgsnd() */
|
||||
__pid_t msg_lrpid; /* pid of last msgrcv() */
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
__syscall_ulong_t __glibc_reserved5;
|
||||
};
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
# define msg_cbytes __msg_cbytes
|
||||
|
||||
/* ipcs ctl commands */
|
||||
# define MSG_STAT 11
|
||||
# define MSG_INFO 12
|
||||
# define MSG_STAT_ANY 13
|
||||
|
||||
/* buffer for msgctl calls IPC_INFO, MSG_INFO */
|
||||
struct msginfo
|
||||
{
|
||||
int msgpool;
|
||||
int msgmap;
|
||||
int msgmax;
|
||||
int msgmnb;
|
||||
int msgmni;
|
||||
int msgssz;
|
||||
int msgtql;
|
||||
unsigned short int msgseg;
|
||||
};
|
||||
|
||||
#endif /* __USE_MISC */
|
||||
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/netdb.h
Normal file
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/netdb.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 1996-2019 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 _NETDB_H
|
||||
# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Description of data base entry for a single network. NOTE: here a
|
||||
poor assumption is made. The network number is expected to fit
|
||||
into an unsigned long int variable. */
|
||||
struct netent
|
||||
{
|
||||
char *n_name; /* Official name of network. */
|
||||
char **n_aliases; /* Alias list. */
|
||||
int n_addrtype; /* Net address type. */
|
||||
uint32_t n_net; /* Network number. */
|
||||
};
|
||||
42
ramdisk/initramfs/glibc_riscv64/usr/include/bits/param.h
Normal file
42
ramdisk/initramfs/glibc_riscv64/usr/include/bits/param.h
Normal file
@ -0,0 +1,42 @@
|
||||
/* Old-style Unix parameters and limits. Linux version.
|
||||
Copyright (C) 1995-2019 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 _SYS_PARAM_H
|
||||
# error "Never use <bits/param.h> directly; include <sys/param.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef ARG_MAX
|
||||
# define __undef_ARG_MAX
|
||||
#endif
|
||||
|
||||
#include <linux/limits.h>
|
||||
#include <linux/param.h>
|
||||
|
||||
/* The kernel headers define ARG_MAX. The value is wrong, though. */
|
||||
#ifdef __undef_ARG_MAX
|
||||
# undef ARG_MAX
|
||||
# undef __undef_ARG_MAX
|
||||
#endif
|
||||
|
||||
#define MAXSYMLINKS 20
|
||||
|
||||
/* The following are not really correct but it is a value we used for a
|
||||
long time and which seems to be usable. People should not use NOFILE
|
||||
and NCARGS anyway. */
|
||||
#define NOFILE 256
|
||||
#define NCARGS 131072
|
||||
49
ramdisk/initramfs/glibc_riscv64/usr/include/bits/poll.h
Normal file
49
ramdisk/initramfs/glibc_riscv64/usr/include/bits/poll.h
Normal file
@ -0,0 +1,49 @@
|
||||
/* Copyright (C) 1997-2019 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 _SYS_POLL_H
|
||||
# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
|
||||
#endif
|
||||
|
||||
/* Event types that can be polled for. These bits may be set in `events'
|
||||
to indicate the interesting event types; they will appear in `revents'
|
||||
to indicate the status of the file descriptor. */
|
||||
#define POLLIN 0x001 /* There is data to read. */
|
||||
#define POLLPRI 0x002 /* There is urgent data to read. */
|
||||
#define POLLOUT 0x004 /* Writing now will not block. */
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_XOPEN2K8
|
||||
/* These values are defined in XPG4.2. */
|
||||
# define POLLRDNORM 0x040 /* Normal data may be read. */
|
||||
# define POLLRDBAND 0x080 /* Priority data may be read. */
|
||||
# define POLLWRNORM 0x100 /* Writing now will not block. */
|
||||
# define POLLWRBAND 0x200 /* Priority data may be written. */
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* These are extensions for Linux. */
|
||||
# define POLLMSG 0x400
|
||||
# define POLLREMOVE 0x1000
|
||||
# define POLLRDHUP 0x2000
|
||||
#endif
|
||||
|
||||
/* Event types always implicitly polled for. These bits need not be set in
|
||||
`events', but they will appear in `revents' to indicate the status of
|
||||
the file descriptor. */
|
||||
#define POLLERR 0x008 /* Error condition. */
|
||||
#define POLLHUP 0x010 /* Hung up. */
|
||||
#define POLLNVAL 0x020 /* Invalid polling request. */
|
||||
81
ramdisk/initramfs/glibc_riscv64/usr/include/bits/poll2.h
Normal file
81
ramdisk/initramfs/glibc_riscv64/usr/include/bits/poll2.h
Normal file
@ -0,0 +1,81 @@
|
||||
/* Checking macros for poll functions.
|
||||
Copyright (C) 2012-2019 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 _SYS_POLL_H
|
||||
# error "Never include <bits/poll2.h> directly; use <sys/poll.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern int __REDIRECT (__poll_alias, (struct pollfd *__fds, nfds_t __nfds,
|
||||
int __timeout), poll);
|
||||
extern int __poll_chk (struct pollfd *__fds, nfds_t __nfds, int __timeout,
|
||||
__SIZE_TYPE__ __fdslen);
|
||||
extern int __REDIRECT (__poll_chk_warn, (struct pollfd *__fds, nfds_t __nfds,
|
||||
int __timeout, __SIZE_TYPE__ __fdslen),
|
||||
__poll_chk)
|
||||
__warnattr ("poll called with fds buffer too small file nfds entries");
|
||||
|
||||
__fortify_function int
|
||||
poll (struct pollfd *__fds, nfds_t __nfds, int __timeout)
|
||||
{
|
||||
if (__bos (__fds) != (__SIZE_TYPE__) -1)
|
||||
{
|
||||
if (! __builtin_constant_p (__nfds))
|
||||
return __poll_chk (__fds, __nfds, __timeout, __bos (__fds));
|
||||
else if (__bos (__fds) / sizeof (*__fds) < __nfds)
|
||||
return __poll_chk_warn (__fds, __nfds, __timeout, __bos (__fds));
|
||||
}
|
||||
|
||||
return __poll_alias (__fds, __nfds, __timeout);
|
||||
}
|
||||
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern int __REDIRECT (__ppoll_alias, (struct pollfd *__fds, nfds_t __nfds,
|
||||
const struct timespec *__timeout,
|
||||
const __sigset_t *__ss), ppoll);
|
||||
extern int __ppoll_chk (struct pollfd *__fds, nfds_t __nfds,
|
||||
const struct timespec *__timeout,
|
||||
const __sigset_t *__ss, __SIZE_TYPE__ __fdslen);
|
||||
extern int __REDIRECT (__ppoll_chk_warn, (struct pollfd *__fds, nfds_t __nfds,
|
||||
const struct timespec *__timeout,
|
||||
const __sigset_t *__ss,
|
||||
__SIZE_TYPE__ __fdslen),
|
||||
__ppoll_chk)
|
||||
__warnattr ("ppoll called with fds buffer too small file nfds entries");
|
||||
|
||||
__fortify_function int
|
||||
ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout,
|
||||
const __sigset_t *__ss)
|
||||
{
|
||||
if (__bos (__fds) != (__SIZE_TYPE__) -1)
|
||||
{
|
||||
if (! __builtin_constant_p (__nfds))
|
||||
return __ppoll_chk (__fds, __nfds, __timeout, __ss, __bos (__fds));
|
||||
else if (__bos (__fds) / sizeof (*__fds) < __nfds)
|
||||
return __ppoll_chk_warn (__fds, __nfds, __timeout, __ss,
|
||||
__bos (__fds));
|
||||
}
|
||||
|
||||
return __ppoll_alias (__fds, __nfds, __timeout, __ss);
|
||||
}
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
183
ramdisk/initramfs/glibc_riscv64/usr/include/bits/posix1_lim.h
Normal file
183
ramdisk/initramfs/glibc_riscv64/usr/include/bits/posix1_lim.h
Normal file
@ -0,0 +1,183 @@
|
||||
/* Copyright (C) 1991-2019 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/>. */
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
@ -0,0 +1,90 @@
|
||||
/* Copyright (C) 1991-2019 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/>. */
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
191
ramdisk/initramfs/glibc_riscv64/usr/include/bits/posix_opt.h
Normal file
191
ramdisk/initramfs/glibc_riscv64/usr/include/bits/posix_opt.h
Normal file
@ -0,0 +1,191 @@
|
||||
/* Define POSIX options for Linux.
|
||||
Copyright (C) 1996-2019 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 <http://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 supported. */
|
||||
#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 */
|
||||
@ -0,0 +1,23 @@
|
||||
/* -mlong-double-64 compatibility mode for <printf.h> functions.
|
||||
Copyright (C) 2006-2019 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 _PRINTF_H
|
||||
# error "Never include <bits/printf-ldbl.h> directly; use <printf.h> instead."
|
||||
#endif
|
||||
|
||||
__LDBL_REDIR_DECL (printf_size)
|
||||
@ -0,0 +1,22 @@
|
||||
/* Extra sys/procfs.h definitions. Generic Linux version.
|
||||
Copyright (C) 2018-2019 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 _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
25
ramdisk/initramfs/glibc_riscv64/usr/include/bits/procfs-id.h
Normal file
25
ramdisk/initramfs/glibc_riscv64/usr/include/bits/procfs-id.h
Normal file
@ -0,0 +1,25 @@
|
||||
/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.
|
||||
Copyright (C) 2018-2019 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 _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
typedef unsigned int __pr_uid_t;
|
||||
typedef unsigned int __pr_gid_t;
|
||||
@ -0,0 +1,25 @@
|
||||
/* Types of prgregset_t and prfpregset_t. Generic Linux version.
|
||||
Copyright (C) 2018-2019 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 _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs-prregset.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
typedef elf_gregset_t __prgregset_t;
|
||||
typedef elf_fpregset_t __prfpregset_t;
|
||||
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/procfs.h
Normal file
31
ramdisk/initramfs/glibc_riscv64/usr/include/bits/procfs.h
Normal file
@ -0,0 +1,31 @@
|
||||
/* Types for registers for sys/procfs.h. RISC-V version.
|
||||
Copyright (C) 1996-2019 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 _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/ucontext.h>
|
||||
|
||||
/* ELF register definitions */
|
||||
#define ELF_NGREG NGREG
|
||||
#define ELF_NFPREG NFPREG
|
||||
|
||||
typedef unsigned long int elf_greg_t;
|
||||
typedef unsigned long int elf_gregset_t[32];
|
||||
typedef union __riscv_mc_fp_state elf_fpregset_t;
|
||||
@ -0,0 +1,91 @@
|
||||
/* Machine-specific pthread type layouts. RISC-V version.
|
||||
Copyright (C) 2011-2019 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_PTHREADTYPES_ARCH_H
|
||||
#define _BITS_PTHREADTYPES_ARCH_H 1
|
||||
|
||||
#include <endian.h>
|
||||
|
||||
#if __riscv_xlen == 64
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||
# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_COND_T 48
|
||||
# define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||
# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||
# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
#else
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 32
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 32
|
||||
# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_COND_T 48
|
||||
# define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 48
|
||||
# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
#endif
|
||||
|
||||
#define __PTHREAD_COMPAT_PADDING_MID
|
||||
#define __PTHREAD_COMPAT_PADDING_END
|
||||
#define __PTHREAD_MUTEX_LOCK_ELISION 0
|
||||
#define __PTHREAD_MUTEX_USE_UNION 0
|
||||
#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
|
||||
|
||||
#define __LOCK_ALIGNMENT
|
||||
#define __ONCE_ALIGNMENT
|
||||
|
||||
/* There is a lot of padding in this structure. While it's not strictly
|
||||
necessary on RISC-V, we're going to leave it in to be on the safe side in
|
||||
case it's needed in the future. Most other architectures have the padding,
|
||||
so this gives us the same extensibility as everyone else has. */
|
||||
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;
|
||||
#if __riscv_xlen == 64
|
||||
int __cur_writer;
|
||||
int __shared;
|
||||
unsigned long int __pad1;
|
||||
unsigned long int __pad2;
|
||||
unsigned int __flags;
|
||||
#else
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned char __pad1;
|
||||
unsigned char __pad2;
|
||||
unsigned char __shared;
|
||||
unsigned char __flags;
|
||||
# else
|
||||
unsigned char __flags;
|
||||
unsigned char __shared;
|
||||
unsigned char __pad1;
|
||||
unsigned char __pad2;
|
||||
# endif
|
||||
int __cur_writer;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
|
||||
|
||||
#endif /* bits/pthreadtypes.h */
|
||||
121
ramdisk/initramfs/glibc_riscv64/usr/include/bits/pthreadtypes.h
Normal file
121
ramdisk/initramfs/glibc_riscv64/usr/include/bits/pthreadtypes.h
Normal file
@ -0,0 +1,121 @@
|
||||
/* Declaration of common pthread types for all architectures.
|
||||
Copyright (C) 2017-2019 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_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
|
||||
@ -0,0 +1,85 @@
|
||||
/* `ptrace' debugger support interface. Linux version,
|
||||
not architecture-specific.
|
||||
Copyright (C) 1996-2019 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 _SYS_PTRACE_H
|
||||
# error "Never use <bits/ptrace-shared.h> directly; include <sys/ptrace.h> instead."
|
||||
#endif
|
||||
|
||||
/* Options set using PTRACE_SETOPTIONS. */
|
||||
enum __ptrace_setoptions
|
||||
{
|
||||
PTRACE_O_TRACESYSGOOD = 0x00000001,
|
||||
PTRACE_O_TRACEFORK = 0x00000002,
|
||||
PTRACE_O_TRACEVFORK = 0x00000004,
|
||||
PTRACE_O_TRACECLONE = 0x00000008,
|
||||
PTRACE_O_TRACEEXEC = 0x00000010,
|
||||
PTRACE_O_TRACEVFORKDONE = 0x00000020,
|
||||
PTRACE_O_TRACEEXIT = 0x00000040,
|
||||
PTRACE_O_TRACESECCOMP = 0x00000080,
|
||||
PTRACE_O_EXITKILL = 0x00100000,
|
||||
PTRACE_O_SUSPEND_SECCOMP = 0x00200000,
|
||||
PTRACE_O_MASK = 0x003000ff
|
||||
};
|
||||
|
||||
enum __ptrace_eventcodes
|
||||
{
|
||||
/* Wait extended result codes for the above trace options. */
|
||||
PTRACE_EVENT_FORK = 1,
|
||||
PTRACE_EVENT_VFORK = 2,
|
||||
PTRACE_EVENT_CLONE = 3,
|
||||
PTRACE_EVENT_EXEC = 4,
|
||||
PTRACE_EVENT_VFORK_DONE = 5,
|
||||
PTRACE_EVENT_EXIT = 6,
|
||||
PTRACE_EVENT_SECCOMP = 7,
|
||||
/* Extended result codes enabled by means other than options. */
|
||||
PTRACE_EVENT_STOP = 128
|
||||
};
|
||||
|
||||
/* Arguments for PTRACE_PEEKSIGINFO. */
|
||||
struct __ptrace_peeksiginfo_args
|
||||
{
|
||||
__uint64_t off; /* From which siginfo to start. */
|
||||
__uint32_t flags; /* Flags for peeksiginfo. */
|
||||
__int32_t nr; /* How many siginfos to take. */
|
||||
};
|
||||
|
||||
enum __ptrace_peeksiginfo_flags
|
||||
{
|
||||
/* Read signals from a shared (process wide) queue. */
|
||||
PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
|
||||
};
|
||||
|
||||
/* Argument and results of PTRACE_SECCOMP_GET_METADATA. */
|
||||
struct __ptrace_seccomp_metadata
|
||||
{
|
||||
__uint64_t filter_off; /* Input: which filter. */
|
||||
__uint64_t flags; /* Output: filter's flags. */
|
||||
};
|
||||
|
||||
/* Perform process tracing functions. REQUEST is one of the values
|
||||
above, and determines the action to be taken.
|
||||
For all requests except PTRACE_TRACEME, PID specifies the process to be
|
||||
traced.
|
||||
|
||||
PID and the other arguments described above for the various requests should
|
||||
appear (those that are used for the particular request) as:
|
||||
pid_t PID, void *ADDR, int DATA, void *ADDR2
|
||||
after REQUEST. */
|
||||
extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
|
||||
223
ramdisk/initramfs/glibc_riscv64/usr/include/bits/resource.h
Normal file
223
ramdisk/initramfs/glibc_riscv64/usr/include/bits/resource.h
Normal file
@ -0,0 +1,223 @@
|
||||
/* Bit values & structures for resource limits. Linux version.
|
||||
Copyright (C) 1994-2019 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 _SYS_RESOURCE_H
|
||||
# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Transmute defines to enumerations. The macro re-definitions are
|
||||
necessary because some programs want to test for operating system
|
||||
features with #ifdef RUSAGE_SELF. In ISO C the reflexive
|
||||
definition is a no-op. */
|
||||
|
||||
/* Kinds of resource limit. */
|
||||
enum __rlimit_resource
|
||||
{
|
||||
/* Per-process CPU limit, in seconds. */
|
||||
RLIMIT_CPU = 0,
|
||||
#define RLIMIT_CPU RLIMIT_CPU
|
||||
|
||||
/* Largest file that can be created, in bytes. */
|
||||
RLIMIT_FSIZE = 1,
|
||||
#define RLIMIT_FSIZE RLIMIT_FSIZE
|
||||
|
||||
/* Maximum size of data segment, in bytes. */
|
||||
RLIMIT_DATA = 2,
|
||||
#define RLIMIT_DATA RLIMIT_DATA
|
||||
|
||||
/* Maximum size of stack segment, in bytes. */
|
||||
RLIMIT_STACK = 3,
|
||||
#define RLIMIT_STACK RLIMIT_STACK
|
||||
|
||||
/* Largest core file that can be created, in bytes. */
|
||||
RLIMIT_CORE = 4,
|
||||
#define RLIMIT_CORE RLIMIT_CORE
|
||||
|
||||
/* Largest resident set size, in bytes.
|
||||
This affects swapping; processes that are exceeding their
|
||||
resident set size will be more likely to have physical memory
|
||||
taken from them. */
|
||||
__RLIMIT_RSS = 5,
|
||||
#define RLIMIT_RSS __RLIMIT_RSS
|
||||
|
||||
/* Number of open files. */
|
||||
RLIMIT_NOFILE = 7,
|
||||
__RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
|
||||
#define RLIMIT_NOFILE RLIMIT_NOFILE
|
||||
#define RLIMIT_OFILE __RLIMIT_OFILE
|
||||
|
||||
/* Address space limit. */
|
||||
RLIMIT_AS = 9,
|
||||
#define RLIMIT_AS RLIMIT_AS
|
||||
|
||||
/* Number of processes. */
|
||||
__RLIMIT_NPROC = 6,
|
||||
#define RLIMIT_NPROC __RLIMIT_NPROC
|
||||
|
||||
/* Locked-in-memory address space. */
|
||||
__RLIMIT_MEMLOCK = 8,
|
||||
#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
|
||||
|
||||
/* Maximum number of file locks. */
|
||||
__RLIMIT_LOCKS = 10,
|
||||
#define RLIMIT_LOCKS __RLIMIT_LOCKS
|
||||
|
||||
/* Maximum number of pending signals. */
|
||||
__RLIMIT_SIGPENDING = 11,
|
||||
#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
|
||||
|
||||
/* Maximum bytes in POSIX message queues. */
|
||||
__RLIMIT_MSGQUEUE = 12,
|
||||
#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
|
||||
|
||||
/* Maximum nice priority allowed to raise to.
|
||||
Nice levels 19 .. -20 correspond to 0 .. 39
|
||||
values of this resource limit. */
|
||||
__RLIMIT_NICE = 13,
|
||||
#define RLIMIT_NICE __RLIMIT_NICE
|
||||
|
||||
/* Maximum realtime priority allowed for non-priviledged
|
||||
processes. */
|
||||
__RLIMIT_RTPRIO = 14,
|
||||
#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
|
||||
|
||||
/* Maximum CPU time in µs that a process scheduled under a real-time
|
||||
scheduling policy may consume without making a blocking system
|
||||
call before being forcibly descheduled. */
|
||||
__RLIMIT_RTTIME = 15,
|
||||
#define RLIMIT_RTTIME __RLIMIT_RTTIME
|
||||
|
||||
__RLIMIT_NLIMITS = 16,
|
||||
__RLIM_NLIMITS = __RLIMIT_NLIMITS
|
||||
#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
|
||||
#define RLIM_NLIMITS __RLIM_NLIMITS
|
||||
};
|
||||
|
||||
/* Value to indicate that there is no limit. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define RLIM_INFINITY ((__rlim_t) -1)
|
||||
#else
|
||||
# define RLIM_INFINITY 0xffffffffffffffffuLL
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# define RLIM64_INFINITY 0xffffffffffffffffuLL
|
||||
#endif
|
||||
|
||||
/* We can represent all limits. */
|
||||
#define RLIM_SAVED_MAX RLIM_INFINITY
|
||||
#define RLIM_SAVED_CUR RLIM_INFINITY
|
||||
|
||||
|
||||
/* Type for resource quantity measurement. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
typedef __rlim_t rlim_t;
|
||||
#else
|
||||
typedef __rlim64_t rlim_t;
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
typedef __rlim64_t rlim64_t;
|
||||
#endif
|
||||
|
||||
struct rlimit
|
||||
{
|
||||
/* The current (soft) limit. */
|
||||
rlim_t rlim_cur;
|
||||
/* The hard limit. */
|
||||
rlim_t rlim_max;
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct rlimit64
|
||||
{
|
||||
/* The current (soft) limit. */
|
||||
rlim64_t rlim_cur;
|
||||
/* The hard limit. */
|
||||
rlim64_t rlim_max;
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Whose usage statistics do you want? */
|
||||
enum __rusage_who
|
||||
{
|
||||
/* The calling process. */
|
||||
RUSAGE_SELF = 0,
|
||||
#define RUSAGE_SELF RUSAGE_SELF
|
||||
|
||||
/* All of its terminated child processes. */
|
||||
RUSAGE_CHILDREN = -1
|
||||
#define RUSAGE_CHILDREN RUSAGE_CHILDREN
|
||||
|
||||
#ifdef __USE_GNU
|
||||
,
|
||||
/* The calling thread. */
|
||||
RUSAGE_THREAD = 1
|
||||
# define RUSAGE_THREAD RUSAGE_THREAD
|
||||
/* Name for the same functionality on Solaris. */
|
||||
# define RUSAGE_LWP RUSAGE_THREAD
|
||||
#endif
|
||||
};
|
||||
|
||||
#include <bits/types/struct_timeval.h>
|
||||
#include <bits/types/struct_rusage.h>
|
||||
|
||||
/* Priority limits. */
|
||||
#define PRIO_MIN -20 /* Minimum priority a process can have. */
|
||||
#define PRIO_MAX 20 /* Maximum priority a process can have. */
|
||||
|
||||
/* The type of the WHICH argument to `getpriority' and `setpriority',
|
||||
indicating what flavor of entity the WHO argument specifies. */
|
||||
enum __priority_which
|
||||
{
|
||||
PRIO_PROCESS = 0, /* WHO is a process ID. */
|
||||
#define PRIO_PROCESS PRIO_PROCESS
|
||||
PRIO_PGRP = 1, /* WHO is a process group ID. */
|
||||
#define PRIO_PGRP PRIO_PGRP
|
||||
PRIO_USER = 2 /* WHO is a user ID. */
|
||||
#define PRIO_USER PRIO_USER
|
||||
};
|
||||
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Modify and return resource limits of a process atomically. */
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
|
||||
const struct rlimit *__new_limit,
|
||||
struct rlimit *__old_limit) __THROW;
|
||||
# else
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
|
||||
enum __rlimit_resource __resource,
|
||||
const struct rlimit *__new_limit,
|
||||
struct rlimit *__old_limit), prlimit64);
|
||||
# else
|
||||
# define prlimit prlimit64
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __USE_LARGEFILE64
|
||||
extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
|
||||
const struct rlimit64 *__new_limit,
|
||||
struct rlimit64 *__old_limit) __THROW;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
98
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sched.h
Normal file
98
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sched.h
Normal file
@ -0,0 +1,98 @@
|
||||
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
||||
scheduling interface.
|
||||
Copyright (C) 1996-2019 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_SCHED_H
|
||||
#define _BITS_SCHED_H 1
|
||||
|
||||
#ifndef _SCHED_H
|
||||
# error "Never include <bits/sched.h> directly; use <sched.h> instead."
|
||||
#endif
|
||||
|
||||
/* Scheduling algorithms. */
|
||||
#define SCHED_OTHER 0
|
||||
#define SCHED_FIFO 1
|
||||
#define SCHED_RR 2
|
||||
#ifdef __USE_GNU
|
||||
# define SCHED_BATCH 3
|
||||
# define SCHED_ISO 4
|
||||
# define SCHED_IDLE 5
|
||||
# define SCHED_DEADLINE 6
|
||||
|
||||
# define SCHED_RESET_ON_FORK 0x40000000
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Cloning flags. */
|
||||
# define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */
|
||||
# define CLONE_VM 0x00000100 /* Set if VM shared between processes. */
|
||||
# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */
|
||||
# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */
|
||||
# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */
|
||||
# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */
|
||||
# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to
|
||||
wake it up on mm_release. */
|
||||
# define CLONE_PARENT 0x00008000 /* Set if we want to have the same
|
||||
parent as the cloner. */
|
||||
# define CLONE_THREAD 0x00010000 /* Set to add to same thread group. */
|
||||
# define CLONE_NEWNS 0x00020000 /* Set to create new namespace. */
|
||||
# define CLONE_SYSVSEM 0x00040000 /* Set to shared SVID SEM_UNDO semantics. */
|
||||
# define CLONE_SETTLS 0x00080000 /* Set TLS info. */
|
||||
# define CLONE_PARENT_SETTID 0x00100000 /* Store TID in userlevel buffer
|
||||
before MM copy. */
|
||||
# define CLONE_CHILD_CLEARTID 0x00200000 /* Register exit futex and memory
|
||||
location to clear. */
|
||||
# define CLONE_DETACHED 0x00400000 /* Create clone detached. */
|
||||
# define CLONE_UNTRACED 0x00800000 /* Set if the tracing process can't
|
||||
force CLONE_PTRACE on this clone. */
|
||||
# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
|
||||
the child. */
|
||||
# define CLONE_NEWCGROUP 0x02000000 /* New cgroup namespace. */
|
||||
# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
|
||||
# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
|
||||
# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
|
||||
# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
|
||||
# define CLONE_NEWNET 0x40000000 /* New network namespace. */
|
||||
# define CLONE_IO 0x80000000 /* Clone I/O context. */
|
||||
#endif
|
||||
|
||||
#include <bits/types/struct_sched_param.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Clone current process. */
|
||||
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
|
||||
int __flags, void *__arg, ...) __THROW;
|
||||
|
||||
/* Unshare the specified resources. */
|
||||
extern int unshare (int __flags) __THROW;
|
||||
|
||||
/* Get index of currently used CPU. */
|
||||
extern int sched_getcpu (void) __THROW;
|
||||
|
||||
/* Get currently used CPU and NUMA node. */
|
||||
extern int getcpu (unsigned int *, unsigned int *) __THROW;
|
||||
|
||||
/* Switch process to namespace of type NSTYPE indicated by FD. */
|
||||
extern int setns (int __fd, int __nstype) __THROW;
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* bits/sched.h */
|
||||
37
ramdisk/initramfs/glibc_riscv64/usr/include/bits/select.h
Normal file
37
ramdisk/initramfs/glibc_riscv64/usr/include/bits/select.h
Normal file
@ -0,0 +1,37 @@
|
||||
/* Copyright (C) 1997-2019 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 _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)
|
||||
35
ramdisk/initramfs/glibc_riscv64/usr/include/bits/select2.h
Normal file
35
ramdisk/initramfs/glibc_riscv64/usr/include/bits/select2.h
Normal file
@ -0,0 +1,35 @@
|
||||
/* Checking macros for select functions.
|
||||
Copyright (C) 2011-2019 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 _SYS_SELECT_H
|
||||
# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."
|
||||
#endif
|
||||
|
||||
/* Helper functions to issue warnings and errors when needed. */
|
||||
extern long int __fdelt_chk (long int __d);
|
||||
extern long int __fdelt_warn (long int __d)
|
||||
__warnattr ("bit outside of fd_set selected");
|
||||
#undef __FD_ELT
|
||||
#define __FD_ELT(d) \
|
||||
__extension__ \
|
||||
({ long int __d = (d); \
|
||||
(__builtin_constant_p (__d) \
|
||||
? (0 <= __d && __d < __FD_SETSIZE \
|
||||
? (__d / __NFDBITS) \
|
||||
: __fdelt_warn (__d)) \
|
||||
: __fdelt_chk (__d)); })
|
||||
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sem-pad.h
Normal file
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sem-pad.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* Define where padding goes in struct semid_ds. Generic version.
|
||||
Copyright (C) 2018-2019 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 _SYS_SEM_H
|
||||
# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being 32-bit,
|
||||
or include it despite being 64-bit. This must match the layout
|
||||
used for struct semid64_ds in <asm/sembuf.h>, as glibc does not do
|
||||
layout conversions for this structure. */
|
||||
|
||||
#define __SEM_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __SEM_PAD_BEFORE_TIME 0
|
||||
97
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sem.h
Normal file
97
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sem.h
Normal file
@ -0,0 +1,97 @@
|
||||
/* Copyright (C) 1995-2019 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 _SYS_SEM_H
|
||||
# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/sem-pad.h>
|
||||
|
||||
/* Flags for `semop'. */
|
||||
#define SEM_UNDO 0x1000 /* undo the operation on exit */
|
||||
|
||||
/* Commands for `semctl'. */
|
||||
#define GETPID 11 /* get sempid */
|
||||
#define GETVAL 12 /* get semval */
|
||||
#define GETALL 13 /* get all semval's */
|
||||
#define GETNCNT 14 /* get semncnt */
|
||||
#define GETZCNT 15 /* get semzcnt */
|
||||
#define SETVAL 16 /* set semval */
|
||||
#define SETALL 17 /* set all semval's */
|
||||
|
||||
|
||||
#if __SEM_PAD_BEFORE_TIME
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__syscall_ulong_t __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __SEM_PAD_AFTER_TIME
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; __syscall_ulong_t __glibc_reserved ## RES
|
||||
#else
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
__SEM_PAD_TIME (sem_otime, 1); /* last semop() time */
|
||||
__SEM_PAD_TIME (sem_ctime, 2); /* last time changed by semctl() */
|
||||
__syscall_ulong_t sem_nsems; /* number of semaphores in set */
|
||||
__syscall_ulong_t __glibc_reserved3;
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
};
|
||||
|
||||
/* The user should define a union like the following to use it for arguments
|
||||
for `semctl'.
|
||||
|
||||
union semun
|
||||
{
|
||||
int val; <= value for SETVAL
|
||||
struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET
|
||||
unsigned short int *array; <= array for GETALL & SETALL
|
||||
struct seminfo *__buf; <= buffer for IPC_INFO
|
||||
};
|
||||
|
||||
Previous versions of this file used to define this union but this is
|
||||
incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether
|
||||
one must define the union or not. */
|
||||
#define _SEM_SEMUN_UNDEFINED 1
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
/* ipcs ctl cmds */
|
||||
# define SEM_STAT 18
|
||||
# define SEM_INFO 19
|
||||
# define SEM_STAT_ANY 20
|
||||
|
||||
struct seminfo
|
||||
{
|
||||
int semmap;
|
||||
int semmni;
|
||||
int semmns;
|
||||
int semmnu;
|
||||
int semmsl;
|
||||
int semopm;
|
||||
int semume;
|
||||
int semusz;
|
||||
int semvmx;
|
||||
int semaem;
|
||||
};
|
||||
|
||||
#endif /* __USE_MISC */
|
||||
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/semaphore.h
Normal file
33
ramdisk/initramfs/glibc_riscv64/usr/include/bits/semaphore.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* Machine-specific POSIX semaphore type layouts. RISC-V version.
|
||||
Copyright (C) 2002-2019 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 _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#define __SIZEOF_SEM_T (4 * __SIZEOF_POINTER__)
|
||||
|
||||
/* Value returned if `sem_open' failed. */
|
||||
#define SEM_FAILED ((sem_t *) 0)
|
||||
|
||||
|
||||
typedef union
|
||||
{
|
||||
char __size[__SIZEOF_SEM_T];
|
||||
long int __align;
|
||||
} sem_t;
|
||||
39
ramdisk/initramfs/glibc_riscv64/usr/include/bits/setjmp.h
Normal file
39
ramdisk/initramfs/glibc_riscv64/usr/include/bits/setjmp.h
Normal file
@ -0,0 +1,39 @@
|
||||
/* Define the machine-dependent type `jmp_buf'. RISC-V version.
|
||||
Copyright (C) 2011-2019 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 _RISCV_BITS_SETJMP_H
|
||||
#define _RISCV_BITS_SETJMP_H
|
||||
|
||||
typedef struct __jmp_buf_internal_tag
|
||||
{
|
||||
/* Program counter. */
|
||||
long int __pc;
|
||||
/* Callee-saved registers. */
|
||||
long int __regs[12];
|
||||
/* Stack pointer. */
|
||||
long int __sp;
|
||||
|
||||
/* Callee-saved floating point registers. */
|
||||
#if defined __riscv_float_abi_double
|
||||
double __fpregs[12];
|
||||
#elif !defined __riscv_float_abi_soft
|
||||
# error unsupported FLEN
|
||||
#endif
|
||||
} __jmp_buf[1];
|
||||
|
||||
#endif /* _RISCV_BITS_SETJMP_H */
|
||||
40
ramdisk/initramfs/glibc_riscv64/usr/include/bits/setjmp2.h
Normal file
40
ramdisk/initramfs/glibc_riscv64/usr/include/bits/setjmp2.h
Normal file
@ -0,0 +1,40 @@
|
||||
/* Checking macros for setjmp functions.
|
||||
Copyright (C) 2009-2019 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 _SETJMP_H
|
||||
# error "Never include <bits/setjmp2.h> directly; use <setjmp.h> instead."
|
||||
#endif
|
||||
|
||||
/* Variant of the longjmp functions which perform some sanity checking. */
|
||||
#ifdef __REDIRECT_NTH
|
||||
extern void __REDIRECT_NTHNL (longjmp,
|
||||
(struct __jmp_buf_tag __env[1], int __val),
|
||||
__longjmp_chk) __attribute__ ((__noreturn__));
|
||||
extern void __REDIRECT_NTHNL (_longjmp,
|
||||
(struct __jmp_buf_tag __env[1], int __val),
|
||||
__longjmp_chk) __attribute__ ((__noreturn__));
|
||||
extern void __REDIRECT_NTHNL (siglongjmp,
|
||||
(struct __jmp_buf_tag __env[1], int __val),
|
||||
__longjmp_chk) __attribute__ ((__noreturn__));
|
||||
#else
|
||||
extern void __longjmp_chk (struct __jmp_buf_tag __env[1], int __val),
|
||||
__THROWNL __attribute__ ((__noreturn__));
|
||||
# define longjmp __longjmp_chk
|
||||
# define _longjmp __longjmp_chk
|
||||
# define siglongjmp __longjmp_chk
|
||||
#endif
|
||||
37
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shm-pad.h
Normal file
37
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shm-pad.h
Normal file
@ -0,0 +1,37 @@
|
||||
/* Define where padding goes in struct shmid_ds. Generic version.
|
||||
Copyright (C) 2018-2019 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 _SYS_SHM_H
|
||||
# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being 32-bit,
|
||||
or include it despite being 64-bit. Furthermore, some
|
||||
architectures place shm_segsz after the time fields rather than
|
||||
before them, with or without padding there. This must match the
|
||||
layout used for struct shmid64_ds in <asm/shmbuf.h>, as glibc does
|
||||
not do layout conversions for this structure. */
|
||||
|
||||
#define __SHM_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __SHM_PAD_BEFORE_TIME 0
|
||||
#define __SHM_SEGSZ_AFTER_TIME 0
|
||||
#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
|
||||
118
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shm.h
Normal file
118
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shm.h
Normal file
@ -0,0 +1,118 @@
|
||||
/* Copyright (C) 1995-2019 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 _SYS_SHM_H
|
||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
#include <bits/wordsize.h>
|
||||
#include <bits/shmlba.h>
|
||||
#include <bits/shm-pad.h>
|
||||
|
||||
/* Permission flag for shmget. */
|
||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||
#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
|
||||
|
||||
/* Flags for `shmat'. */
|
||||
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
||||
#define SHM_RND 020000 /* round attach address to SHMLBA */
|
||||
#define SHM_REMAP 040000 /* take-over region on attach */
|
||||
#define SHM_EXEC 0100000 /* execution access */
|
||||
|
||||
/* Commands for `shmctl'. */
|
||||
#define SHM_LOCK 11 /* lock segment (root only) */
|
||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Type to count number of attaches. */
|
||||
typedef __syscall_ulong_t shmatt_t;
|
||||
|
||||
#if __SHM_PAD_BEFORE_TIME
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
unsigned long int __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __SHM_PAD_AFTER_TIME
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; unsigned long int __glibc_reserved ## RES
|
||||
#else
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
#if !__SHM_SEGSZ_AFTER_TIME
|
||||
size_t shm_segsz; /* size of segment in bytes */
|
||||
#endif
|
||||
__SHM_PAD_TIME (shm_atime, 1); /* time of last shmat() */
|
||||
__SHM_PAD_TIME (shm_dtime, 2); /* time of last shmdt() */
|
||||
__SHM_PAD_TIME (shm_ctime, 3); /* time of last change by shmctl() */
|
||||
#if __SHM_PAD_BETWEEN_TIME_AND_SEGSZ
|
||||
unsigned long int __glibc_reserved4;
|
||||
#endif
|
||||
#if __SHM_SEGSZ_AFTER_TIME
|
||||
size_t shm_segsz; /* size of segment in bytes */
|
||||
#endif
|
||||
__pid_t shm_cpid; /* pid of creator */
|
||||
__pid_t shm_lpid; /* pid of last shmop */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
__syscall_ulong_t __glibc_reserved5;
|
||||
__syscall_ulong_t __glibc_reserved6;
|
||||
};
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
/* ipcs ctl commands */
|
||||
# define SHM_STAT 13
|
||||
# define SHM_INFO 14
|
||||
# define SHM_STAT_ANY 15
|
||||
|
||||
/* shm_mode upper byte flags */
|
||||
# define SHM_DEST 01000 /* segment will be destroyed on last detach */
|
||||
# define SHM_LOCKED 02000 /* segment will not be swapped */
|
||||
# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
|
||||
# define SHM_NORESERVE 010000 /* don't check for reservations */
|
||||
|
||||
struct shminfo
|
||||
{
|
||||
__syscall_ulong_t shmmax;
|
||||
__syscall_ulong_t shmmin;
|
||||
__syscall_ulong_t shmmni;
|
||||
__syscall_ulong_t shmseg;
|
||||
__syscall_ulong_t shmall;
|
||||
__syscall_ulong_t __glibc_reserved1;
|
||||
__syscall_ulong_t __glibc_reserved2;
|
||||
__syscall_ulong_t __glibc_reserved3;
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
};
|
||||
|
||||
struct shm_info
|
||||
{
|
||||
int used_ids;
|
||||
__syscall_ulong_t shm_tot; /* total allocated shm */
|
||||
__syscall_ulong_t shm_rss; /* total resident shm */
|
||||
__syscall_ulong_t shm_swp; /* total swapped shm */
|
||||
__syscall_ulong_t swap_attempts;
|
||||
__syscall_ulong_t swap_successes;
|
||||
};
|
||||
|
||||
#endif /* __USE_MISC */
|
||||
|
||||
__END_DECLS
|
||||
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shmlba.h
Normal file
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/shmlba.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Define SHMLBA. Generic version.
|
||||
Copyright (C) 2018-2019 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 _SYS_SHM_H
|
||||
# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Segment low boundary address multiple. */
|
||||
#define SHMLBA (__getpagesize ())
|
||||
extern int __getpagesize (void) __THROW __attribute__ ((__const__));
|
||||
|
||||
__END_DECLS
|
||||
83
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigaction.h
Normal file
83
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigaction.h
Normal file
@ -0,0 +1,83 @@
|
||||
/* The proper definitions for Linux's sigaction.
|
||||
Copyright (C) 1993-2019 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_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
|
||||
@ -0,0 +1,31 @@
|
||||
/* Machine-dependent signal context structure for Linux. RISC-V version.
|
||||
Copyright (C) 1996-2019 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_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
|
||||
|
||||
struct sigcontext {
|
||||
/* gregs[0] holds the program counter. */
|
||||
unsigned long int gregs[32];
|
||||
unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16)));
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -0,0 +1,41 @@
|
||||
/* sigevent constants. Linux version.
|
||||
Copyright (C) 1997-2019 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_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
|
||||
@ -0,0 +1,7 @@
|
||||
/* Architecture-specific adjustments to siginfo_t. */
|
||||
#ifndef _BITS_SIGINFO_ARCH_H
|
||||
#define _BITS_SIGINFO_ARCH_H 1
|
||||
|
||||
/* This architecture has no adjustments to make to siginfo_t. */
|
||||
|
||||
#endif
|
||||
@ -0,0 +1,7 @@
|
||||
/* Architecture-specific additional siginfo constants. */
|
||||
#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
|
||||
#define _BITS_SIGINFO_CONSTS_ARCH_H 1
|
||||
|
||||
/* This architecture has no additional siginfo constants. */
|
||||
|
||||
#endif
|
||||
@ -0,0 +1,212 @@
|
||||
/* siginfo constants. Linux version.
|
||||
Copyright (C) 1997-2019 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_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
|
||||
};
|
||||
|
||||
/* `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
|
||||
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/signalfd.h
Normal file
29
ramdisk/initramfs/glibc_riscv64/usr/include/bits/signalfd.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2007-2019 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 _SYS_SIGNALFD_H
|
||||
# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for signalfd. */
|
||||
enum
|
||||
{
|
||||
SFD_CLOEXEC = 02000000,
|
||||
#define SFD_CLOEXEC SFD_CLOEXEC
|
||||
SFD_NONBLOCK = 00004000
|
||||
#define SFD_NONBLOCK SFD_NONBLOCK
|
||||
};
|
||||
@ -0,0 +1,102 @@
|
||||
/* Signal number constants. Generic template.
|
||||
Copyright (C) 1991-2019 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_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 SIGBUS 10 /* Bus error. */
|
||||
#define SIGSYS 12 /* Bad system call. */
|
||||
#define SIGPIPE 13 /* Broken pipe. */
|
||||
#define SIGALRM 14 /* Alarm clock. */
|
||||
|
||||
/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
|
||||
#define SIGURG 16 /* Urgent data is available at a socket. */
|
||||
#define SIGSTOP 17 /* Stop, unblockable. */
|
||||
#define SIGTSTP 18 /* Keyboard stop. */
|
||||
#define SIGCONT 19 /* Continue. */
|
||||
#define SIGCHLD 20 /* Child terminated or stopped. */
|
||||
#define SIGTTIN 21 /* Background read from control terminal. */
|
||||
#define SIGTTOU 22 /* Background write to control terminal. */
|
||||
#define SIGPOLL 23 /* Pollable event occurred (System V). */
|
||||
#define SIGXCPU 24 /* CPU time limit exceeded. */
|
||||
#define SIGXFSZ 25 /* File size limit exceeded. */
|
||||
#define SIGVTALRM 26 /* Virtual timer expired. */
|
||||
#define SIGPROF 27 /* Profiling timer expired. */
|
||||
#define SIGUSR1 30 /* User-defined signal 1. */
|
||||
#define SIGUSR2 31 /* 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 */
|
||||
|
||||
/* 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. */
|
||||
#define __SIGRTMIN 32
|
||||
#define __SIGRTMAX __SIGRTMIN
|
||||
|
||||
/* Biggest signal number + 1 (including real-time signals). */
|
||||
#define _NSIG (__SIGRTMAX + 1)
|
||||
|
||||
#endif /* bits/signum-generic.h. */
|
||||
58
ramdisk/initramfs/glibc_riscv64/usr/include/bits/signum.h
Normal file
58
ramdisk/initramfs/glibc_riscv64/usr/include/bits/signum.h
Normal file
@ -0,0 +1,58 @@
|
||||
/* Signal number definitions. Linux version.
|
||||
Copyright (C) 1995-2019 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_SIGNUM_H
|
||||
#define _BITS_SIGNUM_H 1
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
#error "Never include <bits/signum.h> directly; use <signal.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/signum-generic.h>
|
||||
|
||||
/* Adjustments and additions to the signal number constants for
|
||||
most Linux systems. */
|
||||
|
||||
#define SIGSTKFLT 16 /* Stack fault (obsolete). */
|
||||
#define SIGPWR 30 /* Power failure imminent. */
|
||||
|
||||
#undef SIGBUS
|
||||
#define SIGBUS 7
|
||||
#undef SIGUSR1
|
||||
#define SIGUSR1 10
|
||||
#undef SIGUSR2
|
||||
#define SIGUSR2 12
|
||||
#undef SIGCHLD
|
||||
#define SIGCHLD 17
|
||||
#undef SIGCONT
|
||||
#define SIGCONT 18
|
||||
#undef SIGSTOP
|
||||
#define SIGSTOP 19
|
||||
#undef SIGTSTP
|
||||
#define SIGTSTP 20
|
||||
#undef SIGURG
|
||||
#define SIGURG 23
|
||||
#undef SIGPOLL
|
||||
#define SIGPOLL 29
|
||||
#undef SIGSYS
|
||||
#define SIGSYS 31
|
||||
|
||||
#undef __SIGRTMAX
|
||||
#define __SIGRTMAX 64
|
||||
|
||||
#endif /* <signal.h> included. */
|
||||
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigstack.h
Normal file
32
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigstack.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* sigstack, sigaltstack definitions.
|
||||
Copyright (C) 1998-2019 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_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 */
|
||||
44
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigthread.h
Normal file
44
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sigthread.h
Normal file
@ -0,0 +1,44 @@
|
||||
/* Signal handling function for threaded programs.
|
||||
Copyright (C) 1998-2019 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 <http://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 */
|
||||
42
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sockaddr.h
Normal file
42
ramdisk/initramfs/glibc_riscv64/usr/include/bits/sockaddr.h
Normal file
@ -0,0 +1,42 @@
|
||||
/* Definition of struct sockaddr_* common members and sizes, generic version.
|
||||
Copyright (C) 1995-2019 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/>. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <sys/socket.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_SOCKADDR_H
|
||||
#define _BITS_SOCKADDR_H 1
|
||||
|
||||
|
||||
/* POSIX.1g specifies this type name for the `sa_family' member. */
|
||||
typedef unsigned short int sa_family_t;
|
||||
|
||||
/* This macro is used to declare the initial common members
|
||||
of the data types used for socket addresses, `struct sockaddr',
|
||||
`struct sockaddr_in', `struct sockaddr_un', etc. */
|
||||
|
||||
#define __SOCKADDR_COMMON(sa_prefix) \
|
||||
sa_family_t sa_prefix##family
|
||||
|
||||
#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int))
|
||||
|
||||
/* Size of struct sockaddr_storage. */
|
||||
#define _SS_SIZE 128
|
||||
|
||||
#endif /* bits/sockaddr.h */
|
||||
453
ramdisk/initramfs/glibc_riscv64/usr/include/bits/socket.h
Normal file
453
ramdisk/initramfs/glibc_riscv64/usr/include/bits/socket.h
Normal file
@ -0,0 +1,453 @@
|
||||
/* System-specific socket constants and types. Linux version.
|
||||
Copyright (C) 1991-2019 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_SOCKET_H
|
||||
#define __BITS_SOCKET_H
|
||||
|
||||
#ifndef _SYS_SOCKET_H
|
||||
# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
|
||||
#endif
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
/* Type for length arguments in socket calls. */
|
||||
#ifndef __socklen_t_defined
|
||||
typedef __socklen_t socklen_t;
|
||||
# define __socklen_t_defined
|
||||
#endif
|
||||
|
||||
/* Get the architecture-dependent definition of enum __socket_type. */
|
||||
#include <bits/socket_type.h>
|
||||
|
||||
/* Protocol families. */
|
||||
#define PF_UNSPEC 0 /* Unspecified. */
|
||||
#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */
|
||||
#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */
|
||||
#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */
|
||||
#define PF_INET 2 /* IP protocol family. */
|
||||
#define PF_AX25 3 /* Amateur Radio AX.25. */
|
||||
#define PF_IPX 4 /* Novell Internet Protocol. */
|
||||
#define PF_APPLETALK 5 /* Appletalk DDP. */
|
||||
#define PF_NETROM 6 /* Amateur radio NetROM. */
|
||||
#define PF_BRIDGE 7 /* Multiprotocol bridge. */
|
||||
#define PF_ATMPVC 8 /* ATM PVCs. */
|
||||
#define PF_X25 9 /* Reserved for X.25 project. */
|
||||
#define PF_INET6 10 /* IP version 6. */
|
||||
#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */
|
||||
#define PF_DECnet 12 /* Reserved for DECnet project. */
|
||||
#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */
|
||||
#define PF_SECURITY 14 /* Security callback pseudo AF. */
|
||||
#define PF_KEY 15 /* PF_KEY key management API. */
|
||||
#define PF_NETLINK 16
|
||||
#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */
|
||||
#define PF_PACKET 17 /* Packet family. */
|
||||
#define PF_ASH 18 /* Ash. */
|
||||
#define PF_ECONET 19 /* Acorn Econet. */
|
||||
#define PF_ATMSVC 20 /* ATM SVCs. */
|
||||
#define PF_RDS 21 /* RDS sockets. */
|
||||
#define PF_SNA 22 /* Linux SNA Project */
|
||||
#define PF_IRDA 23 /* IRDA sockets. */
|
||||
#define PF_PPPOX 24 /* PPPoX sockets. */
|
||||
#define PF_WANPIPE 25 /* Wanpipe API sockets. */
|
||||
#define PF_LLC 26 /* Linux LLC. */
|
||||
#define PF_IB 27 /* Native InfiniBand address. */
|
||||
#define PF_MPLS 28 /* MPLS. */
|
||||
#define PF_CAN 29 /* Controller Area Network. */
|
||||
#define PF_TIPC 30 /* TIPC sockets. */
|
||||
#define PF_BLUETOOTH 31 /* Bluetooth sockets. */
|
||||
#define PF_IUCV 32 /* IUCV sockets. */
|
||||
#define PF_RXRPC 33 /* RxRPC sockets. */
|
||||
#define PF_ISDN 34 /* mISDN sockets. */
|
||||
#define PF_PHONET 35 /* Phonet sockets. */
|
||||
#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */
|
||||
#define PF_CAIF 37 /* CAIF sockets. */
|
||||
#define PF_ALG 38 /* Algorithm sockets. */
|
||||
#define PF_NFC 39 /* NFC sockets. */
|
||||
#define PF_VSOCK 40 /* vSockets. */
|
||||
#define PF_KCM 41 /* Kernel Connection Multiplexor. */
|
||||
#define PF_QIPCRTR 42 /* Qualcomm IPC Router. */
|
||||
#define PF_SMC 43 /* SMC sockets. */
|
||||
#define PF_XDP 44 /* XDP sockets. */
|
||||
#define PF_MAX 45 /* For now.. */
|
||||
|
||||
/* Address families. */
|
||||
#define AF_UNSPEC PF_UNSPEC
|
||||
#define AF_LOCAL PF_LOCAL
|
||||
#define AF_UNIX PF_UNIX
|
||||
#define AF_FILE PF_FILE
|
||||
#define AF_INET PF_INET
|
||||
#define AF_AX25 PF_AX25
|
||||
#define AF_IPX PF_IPX
|
||||
#define AF_APPLETALK PF_APPLETALK
|
||||
#define AF_NETROM PF_NETROM
|
||||
#define AF_BRIDGE PF_BRIDGE
|
||||
#define AF_ATMPVC PF_ATMPVC
|
||||
#define AF_X25 PF_X25
|
||||
#define AF_INET6 PF_INET6
|
||||
#define AF_ROSE PF_ROSE
|
||||
#define AF_DECnet PF_DECnet
|
||||
#define AF_NETBEUI PF_NETBEUI
|
||||
#define AF_SECURITY PF_SECURITY
|
||||
#define AF_KEY PF_KEY
|
||||
#define AF_NETLINK PF_NETLINK
|
||||
#define AF_ROUTE PF_ROUTE
|
||||
#define AF_PACKET PF_PACKET
|
||||
#define AF_ASH PF_ASH
|
||||
#define AF_ECONET PF_ECONET
|
||||
#define AF_ATMSVC PF_ATMSVC
|
||||
#define AF_RDS PF_RDS
|
||||
#define AF_SNA PF_SNA
|
||||
#define AF_IRDA PF_IRDA
|
||||
#define AF_PPPOX PF_PPPOX
|
||||
#define AF_WANPIPE PF_WANPIPE
|
||||
#define AF_LLC PF_LLC
|
||||
#define AF_IB PF_IB
|
||||
#define AF_MPLS PF_MPLS
|
||||
#define AF_CAN PF_CAN
|
||||
#define AF_TIPC PF_TIPC
|
||||
#define AF_BLUETOOTH PF_BLUETOOTH
|
||||
#define AF_IUCV PF_IUCV
|
||||
#define AF_RXRPC PF_RXRPC
|
||||
#define AF_ISDN PF_ISDN
|
||||
#define AF_PHONET PF_PHONET
|
||||
#define AF_IEEE802154 PF_IEEE802154
|
||||
#define AF_CAIF PF_CAIF
|
||||
#define AF_ALG PF_ALG
|
||||
#define AF_NFC PF_NFC
|
||||
#define AF_VSOCK PF_VSOCK
|
||||
#define AF_KCM PF_KCM
|
||||
#define AF_QIPCRTR PF_QIPCRTR
|
||||
#define AF_SMC PF_SMC
|
||||
#define AF_XDP PF_XDP
|
||||
#define AF_MAX PF_MAX
|
||||
|
||||
/* Socket level values. Others are defined in the appropriate headers.
|
||||
|
||||
XXX These definitions also should go into the appropriate headers as
|
||||
far as they are available. */
|
||||
#define SOL_RAW 255
|
||||
#define SOL_DECNET 261
|
||||
#define SOL_X25 262
|
||||
#define SOL_PACKET 263
|
||||
#define SOL_ATM 264 /* ATM layer (cell level). */
|
||||
#define SOL_AAL 265 /* ATM Adaption Layer (packet level). */
|
||||
#define SOL_IRDA 266
|
||||
#define SOL_NETBEUI 267
|
||||
#define SOL_LLC 268
|
||||
#define SOL_DCCP 269
|
||||
#define SOL_NETLINK 270
|
||||
#define SOL_TIPC 271
|
||||
#define SOL_RXRPC 272
|
||||
#define SOL_PPPOL2TP 273
|
||||
#define SOL_BLUETOOTH 274
|
||||
#define SOL_PNPIPE 275
|
||||
#define SOL_RDS 276
|
||||
#define SOL_IUCV 277
|
||||
#define SOL_CAIF 278
|
||||
#define SOL_ALG 279
|
||||
#define SOL_NFC 280
|
||||
#define SOL_KCM 281
|
||||
#define SOL_TLS 282
|
||||
#define SOL_XDP 283
|
||||
|
||||
/* Maximum queue length specifiable by listen. */
|
||||
#define SOMAXCONN 128
|
||||
|
||||
/* Get the definition of the macro to define the common sockaddr members. */
|
||||
#include <bits/sockaddr.h>
|
||||
|
||||
/* Structure describing a generic socket address. */
|
||||
struct sockaddr
|
||||
{
|
||||
__SOCKADDR_COMMON (sa_); /* Common data: address family and length. */
|
||||
char sa_data[14]; /* Address data. */
|
||||
};
|
||||
|
||||
|
||||
/* Structure large enough to hold any socket address (with the historical
|
||||
exception of AF_UNIX). */
|
||||
#define __ss_aligntype unsigned long int
|
||||
#define _SS_PADSIZE \
|
||||
(_SS_SIZE - __SOCKADDR_COMMON_SIZE - sizeof (__ss_aligntype))
|
||||
|
||||
struct sockaddr_storage
|
||||
{
|
||||
__SOCKADDR_COMMON (ss_); /* Address family, etc. */
|
||||
char __ss_padding[_SS_PADSIZE];
|
||||
__ss_aligntype __ss_align; /* Force desired alignment. */
|
||||
};
|
||||
|
||||
|
||||
/* Bits in the FLAGS argument to `send', `recv', et al. */
|
||||
enum
|
||||
{
|
||||
MSG_OOB = 0x01, /* Process out-of-band data. */
|
||||
#define MSG_OOB MSG_OOB
|
||||
MSG_PEEK = 0x02, /* Peek at incoming messages. */
|
||||
#define MSG_PEEK MSG_PEEK
|
||||
MSG_DONTROUTE = 0x04, /* Don't use local routing. */
|
||||
#define MSG_DONTROUTE MSG_DONTROUTE
|
||||
#ifdef __USE_GNU
|
||||
/* DECnet uses a different name. */
|
||||
MSG_TRYHARD = MSG_DONTROUTE,
|
||||
# define MSG_TRYHARD MSG_DONTROUTE
|
||||
#endif
|
||||
MSG_CTRUNC = 0x08, /* Control data lost before delivery. */
|
||||
#define MSG_CTRUNC MSG_CTRUNC
|
||||
MSG_PROXY = 0x10, /* Supply or ask second address. */
|
||||
#define MSG_PROXY MSG_PROXY
|
||||
MSG_TRUNC = 0x20,
|
||||
#define MSG_TRUNC MSG_TRUNC
|
||||
MSG_DONTWAIT = 0x40, /* Nonblocking IO. */
|
||||
#define MSG_DONTWAIT MSG_DONTWAIT
|
||||
MSG_EOR = 0x80, /* End of record. */
|
||||
#define MSG_EOR MSG_EOR
|
||||
MSG_WAITALL = 0x100, /* Wait for a full request. */
|
||||
#define MSG_WAITALL MSG_WAITALL
|
||||
MSG_FIN = 0x200,
|
||||
#define MSG_FIN MSG_FIN
|
||||
MSG_SYN = 0x400,
|
||||
#define MSG_SYN MSG_SYN
|
||||
MSG_CONFIRM = 0x800, /* Confirm path validity. */
|
||||
#define MSG_CONFIRM MSG_CONFIRM
|
||||
MSG_RST = 0x1000,
|
||||
#define MSG_RST MSG_RST
|
||||
MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */
|
||||
#define MSG_ERRQUEUE MSG_ERRQUEUE
|
||||
MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */
|
||||
#define MSG_NOSIGNAL MSG_NOSIGNAL
|
||||
MSG_MORE = 0x8000, /* Sender will send more. */
|
||||
#define MSG_MORE MSG_MORE
|
||||
MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
|
||||
#define MSG_WAITFORONE MSG_WAITFORONE
|
||||
MSG_BATCH = 0x40000, /* sendmmsg: more messages coming. */
|
||||
#define MSG_BATCH MSG_BATCH
|
||||
MSG_ZEROCOPY = 0x4000000, /* Use user data in kernel path. */
|
||||
#define MSG_ZEROCOPY MSG_ZEROCOPY
|
||||
MSG_FASTOPEN = 0x20000000, /* Send data in TCP SYN. */
|
||||
#define MSG_FASTOPEN MSG_FASTOPEN
|
||||
|
||||
MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
|
||||
descriptor received through
|
||||
SCM_RIGHTS. */
|
||||
#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
|
||||
};
|
||||
|
||||
|
||||
/* Structure describing messages sent by
|
||||
`sendmsg' and received by `recvmsg'. */
|
||||
struct msghdr
|
||||
{
|
||||
void *msg_name; /* Address to send to/receive from. */
|
||||
socklen_t msg_namelen; /* Length of address data. */
|
||||
|
||||
struct iovec *msg_iov; /* Vector of data to send/receive into. */
|
||||
size_t msg_iovlen; /* Number of elements in the vector. */
|
||||
|
||||
void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
|
||||
size_t msg_controllen; /* Ancillary data buffer length.
|
||||
!! The type should be socklen_t but the
|
||||
definition of the kernel is incompatible
|
||||
with this. */
|
||||
|
||||
int msg_flags; /* Flags on received message. */
|
||||
};
|
||||
|
||||
/* Structure used for storage of ancillary data object information. */
|
||||
struct cmsghdr
|
||||
{
|
||||
size_t cmsg_len; /* Length of data in cmsg_data plus length
|
||||
of cmsghdr structure.
|
||||
!! The type should be socklen_t but the
|
||||
definition of the kernel is incompatible
|
||||
with this. */
|
||||
int cmsg_level; /* Originating protocol. */
|
||||
int cmsg_type; /* Protocol specific type. */
|
||||
#if __glibc_c99_flexarr_available
|
||||
__extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Ancillary data object manipulation macros. */
|
||||
#if __glibc_c99_flexarr_available
|
||||
# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
|
||||
#else
|
||||
# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
|
||||
#endif
|
||||
#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
|
||||
#define CMSG_FIRSTHDR(mhdr) \
|
||||
((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
|
||||
? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0)
|
||||
#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
|
||||
& (size_t) ~(sizeof (size_t) - 1))
|
||||
#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
|
||||
+ CMSG_ALIGN (sizeof (struct cmsghdr)))
|
||||
#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
|
||||
|
||||
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
|
||||
struct cmsghdr *__cmsg) __THROW;
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
# ifndef _EXTERN_INLINE
|
||||
# define _EXTERN_INLINE __extern_inline
|
||||
# endif
|
||||
_EXTERN_INLINE struct cmsghdr *
|
||||
__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
||||
{
|
||||
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
||||
/* The kernel header does this so there may be a reason. */
|
||||
return (struct cmsghdr *) 0;
|
||||
|
||||
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
||||
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
||||
if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
|
||||
+ __mhdr->msg_controllen)
|
||||
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
||||
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
||||
/* No more entries. */
|
||||
return (struct cmsghdr *) 0;
|
||||
return __cmsg;
|
||||
}
|
||||
#endif /* Use `extern inline'. */
|
||||
|
||||
/* Socket level message types. This must match the definitions in
|
||||
<linux/socket.h>. */
|
||||
enum
|
||||
{
|
||||
SCM_RIGHTS = 0x01 /* Transfer file descriptors. */
|
||||
#define SCM_RIGHTS SCM_RIGHTS
|
||||
#ifdef __USE_GNU
|
||||
, SCM_CREDENTIALS = 0x02 /* Credentials passing. */
|
||||
# define SCM_CREDENTIALS SCM_CREDENTIALS
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* User visible structure for SCM_CREDENTIALS message */
|
||||
struct ucred
|
||||
{
|
||||
pid_t pid; /* PID of sending process. */
|
||||
uid_t uid; /* UID of sending process. */
|
||||
gid_t gid; /* GID of sending process. */
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Ugly workaround for unclean kernel headers. */
|
||||
#ifndef __USE_MISC
|
||||
# ifndef FIOGETOWN
|
||||
# define __SYS_SOCKET_H_undef_FIOGETOWN
|
||||
# endif
|
||||
# ifndef FIOSETOWN
|
||||
# define __SYS_SOCKET_H_undef_FIOSETOWN
|
||||
# endif
|
||||
# ifndef SIOCATMARK
|
||||
# define __SYS_SOCKET_H_undef_SIOCATMARK
|
||||
# endif
|
||||
# ifndef SIOCGPGRP
|
||||
# define __SYS_SOCKET_H_undef_SIOCGPGRP
|
||||
# endif
|
||||
# ifndef SIOCGSTAMP
|
||||
# define __SYS_SOCKET_H_undef_SIOCGSTAMP
|
||||
# endif
|
||||
# ifndef SIOCGSTAMPNS
|
||||
# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS
|
||||
# endif
|
||||
# ifndef SIOCSPGRP
|
||||
# define __SYS_SOCKET_H_undef_SIOCSPGRP
|
||||
# endif
|
||||
#endif
|
||||
#ifndef IOCSIZE_MASK
|
||||
# define __SYS_SOCKET_H_undef_IOCSIZE_MASK
|
||||
#endif
|
||||
#ifndef IOCSIZE_SHIFT
|
||||
# define __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
|
||||
#endif
|
||||
#ifndef IOC_IN
|
||||
# define __SYS_SOCKET_H_undef_IOC_IN
|
||||
#endif
|
||||
#ifndef IOC_INOUT
|
||||
# define __SYS_SOCKET_H_undef_IOC_INOUT
|
||||
#endif
|
||||
#ifndef IOC_OUT
|
||||
# define __SYS_SOCKET_H_undef_IOC_OUT
|
||||
#endif
|
||||
|
||||
/* Get socket manipulation related informations from kernel headers. */
|
||||
#include <asm/socket.h>
|
||||
|
||||
#ifndef __USE_MISC
|
||||
# ifdef __SYS_SOCKET_H_undef_FIOGETOWN
|
||||
# undef __SYS_SOCKET_H_undef_FIOGETOWN
|
||||
# undef FIOGETOWN
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_FIOSETOWN
|
||||
# undef __SYS_SOCKET_H_undef_FIOSETOWN
|
||||
# undef FIOSETOWN
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_SIOCATMARK
|
||||
# undef __SYS_SOCKET_H_undef_SIOCATMARK
|
||||
# undef SIOCATMARK
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP
|
||||
# undef __SYS_SOCKET_H_undef_SIOCGPGRP
|
||||
# undef SIOCGPGRP
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP
|
||||
# undef __SYS_SOCKET_H_undef_SIOCGSTAMP
|
||||
# undef SIOCGSTAMP
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
|
||||
# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
|
||||
# undef SIOCGSTAMPNS
|
||||
# endif
|
||||
# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP
|
||||
# undef __SYS_SOCKET_H_undef_SIOCSPGRP
|
||||
# undef SIOCSPGRP
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __SYS_SOCKET_H_undef_IOCSIZE_MASK
|
||||
# undef __SYS_SOCKET_H_undef_IOCSIZE_MASK
|
||||
# undef IOCSIZE_MASK
|
||||
#endif
|
||||
#ifdef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
|
||||
# undef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
|
||||
# undef IOCSIZE_SHIFT
|
||||
#endif
|
||||
#ifdef __SYS_SOCKET_H_undef_IOC_IN
|
||||
# undef __SYS_SOCKET_H_undef_IOC_IN
|
||||
# undef IOC_IN
|
||||
#endif
|
||||
#ifdef __SYS_SOCKET_H_undef_IOC_INOUT
|
||||
# undef __SYS_SOCKET_H_undef_IOC_INOUT
|
||||
# undef IOC_INOUT
|
||||
#endif
|
||||
#ifdef __SYS_SOCKET_H_undef_IOC_OUT
|
||||
# undef __SYS_SOCKET_H_undef_IOC_OUT
|
||||
# undef IOC_OUT
|
||||
#endif
|
||||
|
||||
/* Structure used to manipulate the SO_LINGER option. */
|
||||
struct linger
|
||||
{
|
||||
int l_onoff; /* Nonzero to linger on close. */
|
||||
int l_linger; /* Time to linger. */
|
||||
};
|
||||
|
||||
#endif /* bits/socket.h */
|
||||
77
ramdisk/initramfs/glibc_riscv64/usr/include/bits/socket2.h
Normal file
77
ramdisk/initramfs/glibc_riscv64/usr/include/bits/socket2.h
Normal file
@ -0,0 +1,77 @@
|
||||
/* Checking macros for socket functions.
|
||||
Copyright (C) 2005-2019 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 _SYS_SOCKET_H
|
||||
# error "Never include <bits/socket2.h> directly; use <sys/socket.h> instead."
|
||||
#endif
|
||||
|
||||
extern ssize_t __recv_chk (int __fd, void *__buf, size_t __n, size_t __buflen,
|
||||
int __flags);
|
||||
extern ssize_t __REDIRECT (__recv_alias, (int __fd, void *__buf, size_t __n,
|
||||
int __flags), recv);
|
||||
extern ssize_t __REDIRECT (__recv_chk_warn,
|
||||
(int __fd, void *__buf, size_t __n, size_t __buflen,
|
||||
int __flags), __recv_chk)
|
||||
__warnattr ("recv called with bigger length than size of destination "
|
||||
"buffer");
|
||||
|
||||
__fortify_function ssize_t
|
||||
recv (int __fd, void *__buf, size_t __n, int __flags)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __recv_chk (__fd, __buf, __n, __bos0 (__buf), __flags);
|
||||
|
||||
if (__n > __bos0 (__buf))
|
||||
return __recv_chk_warn (__fd, __buf, __n, __bos0 (__buf), __flags);
|
||||
}
|
||||
return __recv_alias (__fd, __buf, __n, __flags);
|
||||
}
|
||||
|
||||
extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n,
|
||||
size_t __buflen, int __flags,
|
||||
__SOCKADDR_ARG __addr,
|
||||
socklen_t *__restrict __addr_len);
|
||||
extern ssize_t __REDIRECT (__recvfrom_alias,
|
||||
(int __fd, void *__restrict __buf, size_t __n,
|
||||
int __flags, __SOCKADDR_ARG __addr,
|
||||
socklen_t *__restrict __addr_len), recvfrom);
|
||||
extern ssize_t __REDIRECT (__recvfrom_chk_warn,
|
||||
(int __fd, void *__restrict __buf, size_t __n,
|
||||
size_t __buflen, int __flags,
|
||||
__SOCKADDR_ARG __addr,
|
||||
socklen_t *__restrict __addr_len), __recvfrom_chk)
|
||||
__warnattr ("recvfrom called with bigger length than size of "
|
||||
"destination buffer");
|
||||
|
||||
__fortify_function ssize_t
|
||||
recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags,
|
||||
__SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len)
|
||||
{
|
||||
if (__bos0 (__buf) != (size_t) -1)
|
||||
{
|
||||
if (!__builtin_constant_p (__n))
|
||||
return __recvfrom_chk (__fd, __buf, __n, __bos0 (__buf), __flags,
|
||||
__addr, __addr_len);
|
||||
if (__n > __bos0 (__buf))
|
||||
return __recvfrom_chk_warn (__fd, __buf, __n, __bos0 (__buf), __flags,
|
||||
__addr, __addr_len);
|
||||
}
|
||||
return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user