Back to index

glibc  2.9
posix1_lim.h
Go to the documentation of this file.
00001 /* Copyright (C) 1991-1993,96,98,2000-2003,2004 Free Software Foundation, Inc.
00002    This file is part of the GNU C Library.
00003 
00004    The GNU C Library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Lesser General Public
00006    License as published by the Free Software Foundation; either
00007    version 2.1 of the License, or (at your option) any later version.
00008 
00009    The GNU C Library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Lesser General Public License for more details.
00013 
00014    You should have received a copy of the GNU Lesser General Public
00015    License along with the GNU C Library; if not, write to the Free
00016    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00017    02111-1307 USA.  */
00018 
00019 /*
00020  *     POSIX Standard: 2.9.2 Minimum Values      Added to <limits.h>
00021  *
00022  *     Never include this file directly; use <limits.h> instead.
00023  */
00024 
00025 #ifndef       _BITS_POSIX1_LIM_H
00026 #define       _BITS_POSIX1_LIM_H   1
00027 
00028 
00029 /* These are the standard-mandated minimum values.  */
00030 
00031 /* Minimum number of operations in one list I/O call.  */
00032 #define _POSIX_AIO_LISTIO_MAX      2
00033 
00034 /* Minimal number of outstanding asynchronous I/O operations.  */
00035 #define _POSIX_AIO_MAX             1
00036 
00037 /* Maximum length of arguments to `execve', including environment.  */
00038 #define       _POSIX_ARG_MAX              4096
00039 
00040 /* Maximum simultaneous processes per real user ID.  */
00041 #ifdef __USE_XOPEN2K
00042 # define _POSIX_CHILD_MAX   25
00043 #else
00044 # define _POSIX_CHILD_MAX   6
00045 #endif
00046 
00047 /* Minimal number of timer expiration overruns.  */
00048 #define _POSIX_DELAYTIMER_MAX      32
00049 
00050 /* Maximum length of a host name (not including the terminating null)
00051    as returned from the GETHOSTNAME function.  */
00052 #define _POSIX_HOST_NAME_MAX       255
00053 
00054 /* Maximum link count of a file.  */
00055 #define       _POSIX_LINK_MAX             8
00056 
00057 /* Maximum length of login name.  */
00058 #define       _POSIX_LOGIN_NAME_MAX       9
00059 
00060 /* Number of bytes in a terminal canonical input queue.  */
00061 #define       _POSIX_MAX_CANON     255
00062 
00063 /* Number of bytes for which space will be
00064    available in a terminal input queue.  */
00065 #define       _POSIX_MAX_INPUT     255
00066 
00067 /* Maximum number of message queues open for a process.  */
00068 #define _POSIX_MQ_OPEN_MAX  8
00069 
00070 /* Maximum number of supported message priorities.  */
00071 #define _POSIX_MQ_PRIO_MAX  32
00072 
00073 /* Number of bytes in a filename.  */
00074 #define       _POSIX_NAME_MAX             14
00075 
00076 /* Number of simultaneous supplementary group IDs per process.  */
00077 #ifdef __USE_XOPEN2K
00078 # define _POSIX_NGROUPS_MAX 8
00079 #else
00080 # define _POSIX_NGROUPS_MAX 0
00081 #endif
00082 
00083 /* Number of files one process can have open at once.  */
00084 #ifdef __USE_XOPEN2K
00085 # define _POSIX_OPEN_MAX    20
00086 #else
00087 # define _POSIX_OPEN_MAX    16
00088 #endif
00089 
00090 /* Number of descriptors that a process may examine with `pselect' or
00091    `select'.  */
00092 #define       _POSIX_FD_SETSIZE    _POSIX_OPEN_MAX
00093 
00094 /* Number of bytes in a pathname.  */
00095 #define       _POSIX_PATH_MAX             256
00096 
00097 /* Number of bytes than can be written atomically to a pipe.  */
00098 #define       _POSIX_PIPE_BUF             512
00099 
00100 /* The number of repeated occurrences of a BRE permitted by the
00101    REGEXEC and REGCOMP functions when using the interval notation.  */
00102 #define _POSIX_RE_DUP_MAX   255
00103 
00104 /* Minimal number of realtime signals reserved for the application.  */
00105 #define _POSIX_RTSIG_MAX    8
00106 
00107 /* Number of semaphores a process can have.  */
00108 #define _POSIX_SEM_NSEMS_MAX       256
00109 
00110 /* Maximal value of a semaphore.  */
00111 #define _POSIX_SEM_VALUE_MAX       32767
00112 
00113 /* Number of pending realtime signals.  */
00114 #define _POSIX_SIGQUEUE_MAX 32
00115 
00116 /* Largest value of a `ssize_t'.  */
00117 #define       _POSIX_SSIZE_MAX     32767
00118 
00119 /* Number of streams a process can have open at once.  */
00120 #define       _POSIX_STREAM_MAX    8
00121 
00122 /* The number of bytes in a symbolic link.  */
00123 #define _POSIX_SYMLINK_MAX  255
00124 
00125 /* The number of symbolic links that can be traversed in the
00126    resolution of a pathname in the absence of a loop.  */
00127 #define _POSIX_SYMLOOP_MAX  8
00128 
00129 /* Number of timer for a process.  */
00130 #define _POSIX_TIMER_MAX    32
00131 
00132 /* Maximum number of characters in a tty name.  */
00133 #define       _POSIX_TTY_NAME_MAX  9
00134 
00135 /* Maximum length of a timezone name (element of `tzname').  */
00136 #define       _POSIX_TZNAME_MAX    6
00137 
00138 /* Maximum number of connections that can be queued on a socket.  */
00139 #define       _POSIX_QLIMIT        1
00140 
00141 /* Maximum number of bytes that can be buffered on a socket for send
00142    or receive.  */
00143 #define       _POSIX_HIWAT         _POSIX_PIPE_BUF
00144 
00145 /* Maximum number of elements in an `iovec' array.  */
00146 #define       _POSIX_UIO_MAXIOV    16
00147 
00148 /* Maximum clock resolution in nanoseconds.  */
00149 #define _POSIX_CLOCKRES_MIN 20000000
00150 
00151 
00152 /* Get the implementation-specific values for the above.  */
00153 #include <bits/local_lim.h>
00154 
00155 
00156 #ifndef       SSIZE_MAX
00157 # define SSIZE_MAX   LONG_MAX
00158 #endif
00159 
00160 
00161 /* This value is a guaranteed minimum maximum.
00162    The current maximum can be got from `sysconf'.  */
00163 
00164 #ifndef       NGROUPS_MAX
00165 # define NGROUPS_MAX 8
00166 #endif
00167 
00168 #endif /* bits/posix1_lim.h  */