diff options
Diffstat (limited to 'posix/bits')
-rw-r--r-- | posix/bits/getopt_core.h | 96 | ||||
-rw-r--r-- | posix/bits/getopt_ext.h | 77 | ||||
-rw-r--r-- | posix/bits/getopt_posix.h | 51 | ||||
-rw-r--r-- | posix/bits/posix1_lim.h | 175 | ||||
-rw-r--r-- | posix/bits/posix2_lim.h | 90 | ||||
-rw-r--r-- | posix/bits/types.h | 207 | ||||
-rw-r--r-- | posix/bits/unistd.h | 385 |
7 files changed, 0 insertions, 1081 deletions
diff --git a/posix/bits/getopt_core.h b/posix/bits/getopt_core.h deleted file mode 100644 index 1744c29b74..0000000000 --- a/posix/bits/getopt_core.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2017 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 */ diff --git a/posix/bits/getopt_ext.h b/posix/bits/getopt_ext.h deleted file mode 100644 index c1a58da804..0000000000 --- a/posix/bits/getopt_ext.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2017 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 */ diff --git a/posix/bits/getopt_posix.h b/posix/bits/getopt_posix.h deleted file mode 100644 index f9f3265a20..0000000000 --- a/posix/bits/getopt_posix.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Declarations for getopt (POSIX compatibility shim). - Copyright (C) 1989-2017 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 */ diff --git a/posix/bits/posix1_lim.h b/posix/bits/posix1_lim.h deleted file mode 100644 index 28f8a6c404..0000000000 --- a/posix/bits/posix1_lim.h +++ /dev/null @@ -1,175 +0,0 @@ -/* Copyright (C) 1991-2017 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 - - -/* 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 -# define SSIZE_MAX LONG_MAX -#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 */ diff --git a/posix/bits/posix2_lim.h b/posix/bits/posix2_lim.h deleted file mode 100644 index 78ab6becbe..0000000000 --- a/posix/bits/posix2_lim.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright (C) 1991-2017 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 */ diff --git a/posix/bits/types.h b/posix/bits/types.h deleted file mode 100644 index e2f73a89e4..0000000000 --- a/posix/bits/types.h +++ /dev/null @@ -1,207 +0,0 @@ -/* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2017 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/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> -#include <bits/wordsize.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - -/* Fixed-size types, underlying types depend on word size and compiler. */ -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#if __WORDSIZE == 64 -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; -#else -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif - -/* quad_t is also 64 bits. */ -#if __WORDSIZE == 64 -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; -#else -__extension__ typedef long long int __quad_t; -__extension__ typedef unsigned long long int __u_quad_t; -#endif - -/* Largest integral types. */ -#if __WORDSIZE == 64 -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -#else -__extension__ typedef long long int __intmax_t; -__extension__ typedef unsigned long long int __uintmax_t; -#endif - - -/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE - macros for each of the OS types we define below. The definitions - of those macros must use the following macros for underlying types. - We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned - variants of each of the following integer types on this machine. - - 16 -- "natural" 16-bit type (always short) - 32 -- "natural" 32-bit type (always int) - 64 -- "natural" 64-bit type (long or long long) - LONG32 -- 32-bit type, traditionally long - QUAD -- 64-bit type, always long long - WORD -- natural type of __WORDSIZE bits (int or long) - LONGWORD -- type of __WORDSIZE bits, traditionally long - - We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the - conventional uses of `long' or `long long' type modifiers match the - types we define, even when a less-adorned type would be the same size. - This matters for (somewhat) portably writing printf/scanf formats for - these types, where using the appropriate l or ll format modifiers can - make the typedefs and the formats match up across all GNU platforms. If - we used `long' when it's 64 bits where `long long' is expected, then the - compiler would warn about the formats not matching the argument types, - and the programmer changing them to shut up the compiler would break the - program's portability. - - Here we assume what is presently the case in all the GCC configurations - we support: long long is always 64 bits, long is always word/address size, - and int is always 32 bits. */ - -#define __S16_TYPE short int -#define __U16_TYPE unsigned short int -#define __S32_TYPE int -#define __U32_TYPE unsigned int -#define __SLONGWORD_TYPE long int -#define __ULONGWORD_TYPE unsigned long int -#if __WORDSIZE == 32 -# define __SQUAD_TYPE __quad_t -# define __UQUAD_TYPE __u_quad_t -# define __SWORD_TYPE int -# define __UWORD_TYPE unsigned int -# define __SLONG32_TYPE long int -# define __ULONG32_TYPE unsigned long int -# define __S64_TYPE __quad_t -# define __U64_TYPE __u_quad_t -/* We want __extension__ before typedef's that use nonstandard base types - such as `long long' in C89 mode. */ -# define __STD_TYPE __extension__ typedef -#elif __WORDSIZE == 64 -# define __SQUAD_TYPE long int -# define __UQUAD_TYPE unsigned long int -# define __SWORD_TYPE long int -# define __UWORD_TYPE unsigned long int -# define __SLONG32_TYPE int -# define __ULONG32_TYPE unsigned int -# define __S64_TYPE long int -# define __U64_TYPE unsigned long int -/* No need to mark the typedef with __extension__. */ -# define __STD_TYPE typedef -#else -# error -#endif -#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */ - - -__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ -__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ -__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ -__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ -__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ -__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ -__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ -__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ -__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ -__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ -__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ -__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ -__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ -__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ -__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ -__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ -__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ -__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ - -__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ -__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ - -/* Clock ID used in clock and timer functions. */ -__STD_TYPE __CLOCKID_T_TYPE __clockid_t; - -/* Timer ID returned by `timer_create'. */ -__STD_TYPE __TIMER_T_TYPE __timer_t; - -/* Type to represent block size. */ -__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number of disk blocks. */ -__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; -__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; - -/* Type to count file system blocks. */ -__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; -__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; - -/* Type to count file system nodes. */ -__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; -__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; - -/* Type of miscellaneous file system fields. */ -__STD_TYPE __FSWORD_T_TYPE __fsword_t; - -__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ - -/* Signed long type used in system calls. */ -__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; -/* Unsigned long type used in system calls. */ -__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; - -/* These few don't really vary by system, they always correspond - to one of the other defined types. */ -typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ -typedef __quad_t *__qaddr_t; -typedef char *__caddr_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -__STD_TYPE __SWORD_TYPE __intptr_t; - -/* Duplicate info from sys/socket.h. */ -__STD_TYPE __U32_TYPE __socklen_t; - -/* C99: An integer type that can be accessed as an atomic entity, - even in the presence of asynchronous interrupts. - It is not currently necessary for this to be machine-specific. */ -typedef int __sig_atomic_t; - -#undef __STD_TYPE - -#endif /* bits/types.h */ diff --git a/posix/bits/unistd.h b/posix/bits/unistd.h deleted file mode 100644 index 4e4153c94f..0000000000 --- a/posix/bits/unistd.h +++ /dev/null @@ -1,385 +0,0 @@ -/* Checking macros for unistd functions. - Copyright (C) 2005-2017 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 <bits/unistd.h> directly; use <unistd.h> instead." -#endif - -extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, - size_t __buflen) __wur; -extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf, - size_t __nbytes), read) __wur; -extern ssize_t __REDIRECT (__read_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - size_t __buflen), __read_chk) - __wur __warnattr ("read called with bigger length than size of " - "the destination buffer"); - -__fortify_function __wur ssize_t -read (int __fd, void *__buf, size_t __nbytes) -{ - if (__bos0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __read_chk (__fd, __buf, __nbytes, __bos0 (__buf)); - - if (__nbytes > __bos0 (__buf)) - return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf)); - } - return __read_alias (__fd, __buf, __nbytes); -} - -#ifdef __USE_UNIX98 -extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize) __wur; -extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize) __wur; -extern ssize_t __REDIRECT (__pread_alias, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset), pread) __wur; -extern ssize_t __REDIRECT (__pread64_alias, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset), pread64) __wur; -extern ssize_t __REDIRECT (__pread_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize), __pread_chk) - __wur __warnattr ("pread called with bigger length than size of " - "the destination buffer"); -extern ssize_t __REDIRECT (__pread64_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize), - __pread64_chk) - __wur __warnattr ("pread64 called with bigger length than size of " - "the destination buffer"); - -# ifndef __USE_FILE_OFFSET64 -__fortify_function __wur ssize_t -pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) -{ - if (__bos0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf)); - - if ( __nbytes > __bos0 (__buf)) - return __pread_chk_warn (__fd, __buf, __nbytes, __offset, - __bos0 (__buf)); - } - return __pread_alias (__fd, __buf, __nbytes, __offset); -} -# else -__fortify_function __wur ssize_t -pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) -{ - if (__bos0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf)); - - if ( __nbytes > __bos0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __bos0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); -} -# endif - -# ifdef __USE_LARGEFILE64 -__fortify_function __wur ssize_t -pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) -{ - if (__bos0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, __bos0 (__buf)); - - if ( __nbytes > __bos0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __bos0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); -} -# endif -#endif - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -extern ssize_t __readlink_chk (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((1, 2)) __wur; -extern ssize_t __REDIRECT_NTH (__readlink_alias, - (const char *__restrict __path, - char *__restrict __buf, size_t __len), readlink) - __nonnull ((1, 2)) __wur; -extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, - (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlink_chk) - __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " - "than size of destination buffer"); - -__fortify_function __nonnull ((1, 2)) __wur ssize_t -__NTH (readlink (const char *__restrict __path, char *__restrict __buf, - size_t __len)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlink_chk (__path, __buf, __len, __bos (__buf)); - - if ( __len > __bos (__buf)) - return __readlink_chk_warn (__path, __buf, __len, __bos (__buf)); - } - return __readlink_alias (__path, __buf, __len); -} -#endif - -#ifdef __USE_ATFILE -extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((2, 3)) __wur; -extern ssize_t __REDIRECT_NTH (__readlinkat_alias, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len), - readlinkat) - __nonnull ((2, 3)) __wur; -extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlinkat_chk) - __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " - "length than size of destination " - "buffer"); - -__fortify_function __nonnull ((2, 3)) __wur ssize_t -__NTH (readlinkat (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlinkat_chk (__fd, __path, __buf, __len, __bos (__buf)); - - if (__len > __bos (__buf)) - return __readlinkat_chk_warn (__fd, __path, __buf, __len, - __bos (__buf)); - } - return __readlinkat_alias (__fd, __path, __buf, __len); -} -#endif - -extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) - __THROW __wur; -extern char *__REDIRECT_NTH (__getcwd_alias, - (char *__buf, size_t __size), getcwd) __wur; -extern char *__REDIRECT_NTH (__getcwd_chk_warn, - (char *__buf, size_t __size, size_t __buflen), - __getcwd_chk) - __wur __warnattr ("getcwd caller with bigger length than size of " - "destination buffer"); - -__fortify_function __wur char * -__NTH (getcwd (char *__buf, size_t __size)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__size)) - return __getcwd_chk (__buf, __size, __bos (__buf)); - - if (__size > __bos (__buf)) - return __getcwd_chk_warn (__buf, __size, __bos (__buf)); - } - return __getcwd_alias (__buf, __size); -} - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -extern char *__getwd_chk (char *__buf, size_t buflen) - __THROW __nonnull ((1)) __wur; -extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) - __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " - "doesn't specify buffer size"); - -__fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char * -__NTH (getwd (char *__buf)) -{ - if (__bos (__buf) != (size_t) -1) - return __getwd_chk (__buf, __bos (__buf)); - return __getwd_warn (__buf); -} -#endif - -extern size_t __confstr_chk (int __name, char *__buf, size_t __len, - size_t __buflen) __THROW; -extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, - size_t __len), confstr); -extern size_t __REDIRECT_NTH (__confstr_chk_warn, - (int __name, char *__buf, size_t __len, - size_t __buflen), __confstr_chk) - __warnattr ("confstr called with bigger length than size of destination " - "buffer"); - -__fortify_function size_t -__NTH (confstr (int __name, char *__buf, size_t __len)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __confstr_chk (__name, __buf, __len, __bos (__buf)); - - if (__bos (__buf) < __len) - return __confstr_chk_warn (__name, __buf, __len, __bos (__buf)); - } - return __confstr_alias (__name, __buf, __len); -} - - -extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) - __THROW __wur; -extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), - getgroups) __wur; -extern int __REDIRECT_NTH (__getgroups_chk_warn, - (int __size, __gid_t __list[], size_t __listlen), - __getgroups_chk) - __wur __warnattr ("getgroups called with bigger group count than what " - "can fit into destination buffer"); - -__fortify_function int -__NTH (getgroups (int __size, __gid_t __list[])) -{ - if (__bos (__list) != (size_t) -1) - { - if (!__builtin_constant_p (__size) || __size < 0) - return __getgroups_chk (__size, __list, __bos (__list)); - - if (__size * sizeof (__gid_t) > __bos (__list)) - return __getgroups_chk_warn (__size, __list, __bos (__list)); - } - return __getgroups_alias (__size, __list); -} - - -extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, - size_t __nreal) __THROW __nonnull ((2)); -extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, - size_t __buflen), ttyname_r) - __nonnull ((2)); -extern int __REDIRECT_NTH (__ttyname_r_chk_warn, - (int __fd, char *__buf, size_t __buflen, - size_t __nreal), __ttyname_r_chk) - __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " - "size of destination buffer"); - -__fortify_function int -__NTH (ttyname_r (int __fd, char *__buf, size_t __buflen)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __ttyname_r_chk (__fd, __buf, __buflen, __bos (__buf)); - - if (__buflen > __bos (__buf)) - return __ttyname_r_chk_warn (__fd, __buf, __buflen, __bos (__buf)); - } - return __ttyname_r_alias (__fd, __buf, __buflen); -} - - -#ifdef __USE_POSIX199506 -extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) - __nonnull ((1)); -extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen), - getlogin_r) __nonnull ((1)); -extern int __REDIRECT (__getlogin_r_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getlogin_r_chk) - __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " - "size of destination buffer"); - -__fortify_function int -getlogin_r (char *__buf, size_t __buflen) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getlogin_r_chk (__buf, __buflen, __bos (__buf)); - - if (__buflen > __bos (__buf)) - return __getlogin_r_chk_warn (__buf, __buflen, __bos (__buf)); - } - return __getlogin_r_alias (__buf, __buflen); -} -#endif - - -#if defined __USE_MISC || defined __USE_UNIX98 -extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)); -extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), - gethostname) __nonnull ((1)); -extern int __REDIRECT_NTH (__gethostname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __gethostname_chk) - __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " - "size of destination buffer"); - -__fortify_function int -__NTH (gethostname (char *__buf, size_t __buflen)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __gethostname_chk (__buf, __buflen, __bos (__buf)); - - if (__buflen > __bos (__buf)) - return __gethostname_chk_warn (__buf, __buflen, __bos (__buf)); - } - return __gethostname_alias (__buf, __buflen); -} -#endif - - -#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) -extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)) __wur; -extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf, - size_t __buflen), - getdomainname) __nonnull ((1)) __wur; -extern int __REDIRECT_NTH (__getdomainname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getdomainname_chk) - __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " - "buflen than size of destination " - "buffer"); - -__fortify_function int -__NTH (getdomainname (char *__buf, size_t __buflen)) -{ - if (__bos (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getdomainname_chk (__buf, __buflen, __bos (__buf)); - - if (__buflen > __bos (__buf)) - return __getdomainname_chk_warn (__buf, __buflen, __bos (__buf)); - } - return __getdomainname_alias (__buf, __buflen); -} -#endif |