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