xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/bits/posix1_lim.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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