update from main archive 970210
[kopensolaris-gnu/glibc.git] / posix / posix1_lim.h
1 /* Copyright (C) 1991, 1992, 1993, 1996 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 Library General Public License as
6    published by the Free Software Foundation; either version 2 of the
7    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    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public
15    License along with the GNU C Library; see the file COPYING.LIB.  If not,
16    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17    Boston, MA 02111-1307, USA.  */
18
19 /*
20  *      POSIX Standard: 2.9.2 Minimum Values    Added to <limits.h>
21  */
22
23 #ifndef _POSIX1_LIMITS_H
24
25 #define _POSIX1_LIMITS_H        1
26
27
28 /* These are the standard-mandated minimum values.  */
29
30 /* Maximum length of arguments to `execve', including environment.  */
31 #define _POSIX_ARG_MAX          4096
32
33 /* Maximum simultaneous processes per real user ID.  */
34 #define _POSIX_CHILD_MAX        6
35
36 /* Maximum link count of a file.  */
37 #define _POSIX_LINK_MAX         8
38
39 /* Number of bytes in a terminal canonical input queue.  */
40 #define _POSIX_MAX_CANON        255
41
42 /* Number of bytes for which space will be
43    available in a terminal input queue.  */
44 #define _POSIX_MAX_INPUT        255
45
46 /* Number of simultaneous supplementary group IDs per process.  */
47 #define _POSIX_NGROUPS_MAX      0
48
49 /* Number of files one process can have open at once.  */
50 #define _POSIX_OPEN_MAX         16
51
52 /* Number of descriptors that a process may examine with `pselect' or
53    `select'.  */
54 #define _POSIX_FD_SETSIZE       _POSIX_OPEN_MAX
55
56 /* Number of bytes in a filename.  */
57 #define _POSIX_NAME_MAX         14
58
59 /* Number of bytes in a pathname.  */
60 #define _POSIX_PATH_MAX         255
61
62 /* Number of bytes than can be written atomically to a pipe.  */
63 #define _POSIX_PIPE_BUF         512
64
65 /* Largest value of a `ssize_t'.  */
66 #define _POSIX_SSIZE_MAX        32767
67
68 /* Number of streams a process can have open at once.  */
69 #define _POSIX_STREAM_MAX       8
70
71 /* Maximum length of a timezone name (element of `tzname').  */
72 #define _POSIX_TZNAME_MAX       3
73
74 /* Maximum number of connections that can be queued on a socket.  */
75 #define _POSIX_QLIMIT           1
76
77 /* Maximum number of bytes that can be buffered on a socket for send
78    or receive.  */
79 #define _POSIX_HIWAT            _POSIX_PIPE_BUF
80
81 /* Maximum number of elements in an `iovec' array.  */
82 #define _POSIX_UIO_MAXIOV       16
83
84 /* Maximum number of characters in a tty name.  */
85 #define _POSIX_TTY_NAME_MAX     9
86
87 /* Maximum length of login name.  */
88 #define _POSIX_LOGIN_NAME_MAX   9
89
90
91 /* Get the implementation-specific values for the above.  */
92 #include <local_lim.h>
93
94
95 #ifndef SSIZE_MAX
96 #define SSIZE_MAX       INT_MAX
97 #endif
98
99
100 /* This value is a guaranteed minimum maximum.
101    The current maximum can be got from `sysconf'.  */
102
103 #ifndef NGROUPS_MAX
104 #define NGROUPS_MAX     _POSIX_NGROUPS_MAX
105 #endif
106
107 #endif  /* posix1_limits.h  */