1*53ee8cc1Swenshuai.xi /* Copyright (C) 1991-1993,96,98,2000-2003,2004 Free Software Foundation, Inc. 2*53ee8cc1Swenshuai.xi This file is part of the GNU C Library. 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi The GNU C Library is free software; you can redistribute it and/or 5*53ee8cc1Swenshuai.xi modify it under the terms of the GNU Lesser General Public 6*53ee8cc1Swenshuai.xi License as published by the Free Software Foundation; either 7*53ee8cc1Swenshuai.xi version 2.1 of the License, or (at your option) any later version. 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi The GNU C Library is distributed in the hope that it will be useful, 10*53ee8cc1Swenshuai.xi but WITHOUT ANY WARRANTY; without even the implied warranty of 11*53ee8cc1Swenshuai.xi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*53ee8cc1Swenshuai.xi Lesser General Public License for more details. 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xi You should have received a copy of the GNU Lesser General Public 15*53ee8cc1Swenshuai.xi License along with the GNU C Library; if not, write to the Free 16*53ee8cc1Swenshuai.xi Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 17*53ee8cc1Swenshuai.xi 02111-1307 USA. */ 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xi /* 20*53ee8cc1Swenshuai.xi * POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 21*53ee8cc1Swenshuai.xi * 22*53ee8cc1Swenshuai.xi * Never include this file directly; use <limits.h> instead. 23*53ee8cc1Swenshuai.xi */ 24*53ee8cc1Swenshuai.xi 25*53ee8cc1Swenshuai.xi #ifndef _BITS_POSIX1_LIM_H 26*53ee8cc1Swenshuai.xi #define _BITS_POSIX1_LIM_H 1 27*53ee8cc1Swenshuai.xi 28*53ee8cc1Swenshuai.xi 29*53ee8cc1Swenshuai.xi /* These are the standard-mandated minimum values. */ 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi /* Minimum number of operations in one list I/O call. */ 32*53ee8cc1Swenshuai.xi #define _POSIX_AIO_LISTIO_MAX 2 33*53ee8cc1Swenshuai.xi 34*53ee8cc1Swenshuai.xi /* Minimal number of outstanding asynchronous I/O operations. */ 35*53ee8cc1Swenshuai.xi #define _POSIX_AIO_MAX 1 36*53ee8cc1Swenshuai.xi 37*53ee8cc1Swenshuai.xi /* Maximum length of arguments to `execve', including environment. */ 38*53ee8cc1Swenshuai.xi #define _POSIX_ARG_MAX 4096 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi /* Maximum simultaneous processes per real user ID. */ 41*53ee8cc1Swenshuai.xi #ifdef __USE_XOPEN2K 42*53ee8cc1Swenshuai.xi # define _POSIX_CHILD_MAX 25 43*53ee8cc1Swenshuai.xi #else 44*53ee8cc1Swenshuai.xi # define _POSIX_CHILD_MAX 6 45*53ee8cc1Swenshuai.xi #endif 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi /* Minimal number of timer expiration overruns. */ 48*53ee8cc1Swenshuai.xi #define _POSIX_DELAYTIMER_MAX 32 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi /* Maximum length of a host name (not including the terminating null) 51*53ee8cc1Swenshuai.xi as returned from the GETHOSTNAME function. */ 52*53ee8cc1Swenshuai.xi #define _POSIX_HOST_NAME_MAX 255 53*53ee8cc1Swenshuai.xi 54*53ee8cc1Swenshuai.xi /* Maximum link count of a file. */ 55*53ee8cc1Swenshuai.xi #define _POSIX_LINK_MAX 8 56*53ee8cc1Swenshuai.xi 57*53ee8cc1Swenshuai.xi /* Maximum length of login name. */ 58*53ee8cc1Swenshuai.xi #define _POSIX_LOGIN_NAME_MAX 9 59*53ee8cc1Swenshuai.xi 60*53ee8cc1Swenshuai.xi /* Number of bytes in a terminal canonical input queue. */ 61*53ee8cc1Swenshuai.xi #define _POSIX_MAX_CANON 255 62*53ee8cc1Swenshuai.xi 63*53ee8cc1Swenshuai.xi /* Number of bytes for which space will be 64*53ee8cc1Swenshuai.xi available in a terminal input queue. */ 65*53ee8cc1Swenshuai.xi #define _POSIX_MAX_INPUT 255 66*53ee8cc1Swenshuai.xi 67*53ee8cc1Swenshuai.xi /* Maximum number of message queues open for a process. */ 68*53ee8cc1Swenshuai.xi #define _POSIX_MQ_OPEN_MAX 8 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi /* Maximum number of supported message priorities. */ 71*53ee8cc1Swenshuai.xi #define _POSIX_MQ_PRIO_MAX 32 72*53ee8cc1Swenshuai.xi 73*53ee8cc1Swenshuai.xi /* Number of bytes in a filename. */ 74*53ee8cc1Swenshuai.xi #define _POSIX_NAME_MAX 14 75*53ee8cc1Swenshuai.xi 76*53ee8cc1Swenshuai.xi /* Number of simultaneous supplementary group IDs per process. */ 77*53ee8cc1Swenshuai.xi #ifdef __USE_XOPEN2K 78*53ee8cc1Swenshuai.xi # define _POSIX_NGROUPS_MAX 8 79*53ee8cc1Swenshuai.xi #else 80*53ee8cc1Swenshuai.xi # define _POSIX_NGROUPS_MAX 0 81*53ee8cc1Swenshuai.xi #endif 82*53ee8cc1Swenshuai.xi 83*53ee8cc1Swenshuai.xi /* Number of files one process can have open at once. */ 84*53ee8cc1Swenshuai.xi #ifdef __USE_XOPEN2K 85*53ee8cc1Swenshuai.xi # define _POSIX_OPEN_MAX 20 86*53ee8cc1Swenshuai.xi #else 87*53ee8cc1Swenshuai.xi # define _POSIX_OPEN_MAX 16 88*53ee8cc1Swenshuai.xi #endif 89*53ee8cc1Swenshuai.xi 90*53ee8cc1Swenshuai.xi /* Number of descriptors that a process may examine with `pselect' or 91*53ee8cc1Swenshuai.xi `select'. */ 92*53ee8cc1Swenshuai.xi #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX 93*53ee8cc1Swenshuai.xi 94*53ee8cc1Swenshuai.xi /* Number of bytes in a pathname. */ 95*53ee8cc1Swenshuai.xi #define _POSIX_PATH_MAX 256 96*53ee8cc1Swenshuai.xi 97*53ee8cc1Swenshuai.xi /* Number of bytes than can be written atomically to a pipe. */ 98*53ee8cc1Swenshuai.xi #define _POSIX_PIPE_BUF 512 99*53ee8cc1Swenshuai.xi 100*53ee8cc1Swenshuai.xi /* The number of repeated occurrences of a BRE permitted by the 101*53ee8cc1Swenshuai.xi REGEXEC and REGCOMP functions when using the interval notation. */ 102*53ee8cc1Swenshuai.xi #define _POSIX_RE_DUP_MAX 255 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi /* Minimal number of realtime signals reserved for the application. */ 105*53ee8cc1Swenshuai.xi #define _POSIX_RTSIG_MAX 8 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi /* Number of semaphores a process can have. */ 108*53ee8cc1Swenshuai.xi #define _POSIX_SEM_NSEMS_MAX 256 109*53ee8cc1Swenshuai.xi 110*53ee8cc1Swenshuai.xi /* Maximal value of a semaphore. */ 111*53ee8cc1Swenshuai.xi #define _POSIX_SEM_VALUE_MAX 32767 112*53ee8cc1Swenshuai.xi 113*53ee8cc1Swenshuai.xi /* Number of pending realtime signals. */ 114*53ee8cc1Swenshuai.xi #define _POSIX_SIGQUEUE_MAX 32 115*53ee8cc1Swenshuai.xi 116*53ee8cc1Swenshuai.xi /* Largest value of a `ssize_t'. */ 117*53ee8cc1Swenshuai.xi #define _POSIX_SSIZE_MAX 32767 118*53ee8cc1Swenshuai.xi 119*53ee8cc1Swenshuai.xi /* Number of streams a process can have open at once. */ 120*53ee8cc1Swenshuai.xi #define _POSIX_STREAM_MAX 8 121*53ee8cc1Swenshuai.xi 122*53ee8cc1Swenshuai.xi /* The number of bytes in a symbolic link. */ 123*53ee8cc1Swenshuai.xi #define _POSIX_SYMLINK_MAX 255 124*53ee8cc1Swenshuai.xi 125*53ee8cc1Swenshuai.xi /* The number of symbolic links that can be traversed in the 126*53ee8cc1Swenshuai.xi resolution of a pathname in the absence of a loop. */ 127*53ee8cc1Swenshuai.xi #define _POSIX_SYMLOOP_MAX 8 128*53ee8cc1Swenshuai.xi 129*53ee8cc1Swenshuai.xi /* Number of timer for a process. */ 130*53ee8cc1Swenshuai.xi #define _POSIX_TIMER_MAX 32 131*53ee8cc1Swenshuai.xi 132*53ee8cc1Swenshuai.xi /* Maximum number of characters in a tty name. */ 133*53ee8cc1Swenshuai.xi #define _POSIX_TTY_NAME_MAX 9 134*53ee8cc1Swenshuai.xi 135*53ee8cc1Swenshuai.xi /* Maximum length of a timezone name (element of `tzname'). */ 136*53ee8cc1Swenshuai.xi #define _POSIX_TZNAME_MAX 6 137*53ee8cc1Swenshuai.xi 138*53ee8cc1Swenshuai.xi /* Maximum number of connections that can be queued on a socket. */ 139*53ee8cc1Swenshuai.xi #define _POSIX_QLIMIT 1 140*53ee8cc1Swenshuai.xi 141*53ee8cc1Swenshuai.xi /* Maximum number of bytes that can be buffered on a socket for send 142*53ee8cc1Swenshuai.xi or receive. */ 143*53ee8cc1Swenshuai.xi #define _POSIX_HIWAT _POSIX_PIPE_BUF 144*53ee8cc1Swenshuai.xi 145*53ee8cc1Swenshuai.xi /* Maximum number of elements in an `iovec' array. */ 146*53ee8cc1Swenshuai.xi #define _POSIX_UIO_MAXIOV 16 147*53ee8cc1Swenshuai.xi 148*53ee8cc1Swenshuai.xi /* Maximum clock resolution in nanoseconds. */ 149*53ee8cc1Swenshuai.xi #define _POSIX_CLOCKRES_MIN 20000000 150*53ee8cc1Swenshuai.xi 151*53ee8cc1Swenshuai.xi 152*53ee8cc1Swenshuai.xi /* Get the implementation-specific values for the above. */ 153*53ee8cc1Swenshuai.xi #include <bits/local_lim.h> 154*53ee8cc1Swenshuai.xi 155*53ee8cc1Swenshuai.xi 156*53ee8cc1Swenshuai.xi #ifndef SSIZE_MAX 157*53ee8cc1Swenshuai.xi # define SSIZE_MAX LONG_MAX 158*53ee8cc1Swenshuai.xi #endif 159*53ee8cc1Swenshuai.xi 160*53ee8cc1Swenshuai.xi 161*53ee8cc1Swenshuai.xi /* This value is a guaranteed minimum maximum. 162*53ee8cc1Swenshuai.xi The current maximum can be got from `sysconf'. */ 163*53ee8cc1Swenshuai.xi 164*53ee8cc1Swenshuai.xi #ifndef NGROUPS_MAX 165*53ee8cc1Swenshuai.xi # define NGROUPS_MAX 8 166*53ee8cc1Swenshuai.xi #endif 167*53ee8cc1Swenshuai.xi 168*53ee8cc1Swenshuai.xi #endif /* bits/posix1_lim.h */ 169