xref: /illumos-gate/usr/src/boot/include/limits.h (revision 199767f8919635c4928607450d9e0abb932109ce)
1*199767f8SToomas Soome /*-
2*199767f8SToomas Soome  * Copyright (c) 1988, 1993
3*199767f8SToomas Soome  *	The Regents of the University of California.  All rights reserved.
4*199767f8SToomas Soome  *
5*199767f8SToomas Soome  * Redistribution and use in source and binary forms, with or without
6*199767f8SToomas Soome  * modification, are permitted provided that the following conditions
7*199767f8SToomas Soome  * are met:
8*199767f8SToomas Soome  * 1. Redistributions of source code must retain the above copyright
9*199767f8SToomas Soome  *    notice, this list of conditions and the following disclaimer.
10*199767f8SToomas Soome  * 2. Redistributions in binary form must reproduce the above copyright
11*199767f8SToomas Soome  *    notice, this list of conditions and the following disclaimer in the
12*199767f8SToomas Soome  *    documentation and/or other materials provided with the distribution.
13*199767f8SToomas Soome  * 3. Neither the name of the University nor the names of its contributors
14*199767f8SToomas Soome  *    may be used to endorse or promote products derived from this software
15*199767f8SToomas Soome  *    without specific prior written permission.
16*199767f8SToomas Soome  *
17*199767f8SToomas Soome  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18*199767f8SToomas Soome  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19*199767f8SToomas Soome  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20*199767f8SToomas Soome  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21*199767f8SToomas Soome  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22*199767f8SToomas Soome  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23*199767f8SToomas Soome  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24*199767f8SToomas Soome  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25*199767f8SToomas Soome  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26*199767f8SToomas Soome  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27*199767f8SToomas Soome  * SUCH DAMAGE.
28*199767f8SToomas Soome  *
29*199767f8SToomas Soome  *	@(#)limits.h	8.2 (Berkeley) 1/4/94
30*199767f8SToomas Soome  * $FreeBSD$
31*199767f8SToomas Soome  */
32*199767f8SToomas Soome 
33*199767f8SToomas Soome #ifndef _LIMITS_H_
34*199767f8SToomas Soome #define	_LIMITS_H_
35*199767f8SToomas Soome 
36*199767f8SToomas Soome #include <sys/cdefs.h>
37*199767f8SToomas Soome 
38*199767f8SToomas Soome #if __POSIX_VISIBLE
39*199767f8SToomas Soome #define	_POSIX_ARG_MAX		4096
40*199767f8SToomas Soome #define	_POSIX_LINK_MAX		8
41*199767f8SToomas Soome #define	_POSIX_MAX_CANON	255
42*199767f8SToomas Soome #define	_POSIX_MAX_INPUT	255
43*199767f8SToomas Soome #define	_POSIX_NAME_MAX		14
44*199767f8SToomas Soome #define	_POSIX_PIPE_BUF		512
45*199767f8SToomas Soome #define	_POSIX_SSIZE_MAX	32767
46*199767f8SToomas Soome #define	_POSIX_STREAM_MAX	8
47*199767f8SToomas Soome 
48*199767f8SToomas Soome #if __POSIX_VISIBLE >= 200112
49*199767f8SToomas Soome #define	_POSIX_CHILD_MAX	25
50*199767f8SToomas Soome #define	_POSIX_NGROUPS_MAX	8
51*199767f8SToomas Soome #define	_POSIX_OPEN_MAX		20
52*199767f8SToomas Soome #define	_POSIX_PATH_MAX		256
53*199767f8SToomas Soome #define	_POSIX_TZNAME_MAX	6
54*199767f8SToomas Soome #else
55*199767f8SToomas Soome #define	_POSIX_CHILD_MAX	6
56*199767f8SToomas Soome #define	_POSIX_NGROUPS_MAX	0
57*199767f8SToomas Soome #define	_POSIX_OPEN_MAX		16
58*199767f8SToomas Soome #define	_POSIX_PATH_MAX		255
59*199767f8SToomas Soome #define	_POSIX_TZNAME_MAX	3
60*199767f8SToomas Soome #endif
61*199767f8SToomas Soome 
62*199767f8SToomas Soome #if __POSIX_VISIBLE >= 200112
63*199767f8SToomas Soome #define	BC_BASE_MAX		   99	/* max ibase/obase values in bc(1) */
64*199767f8SToomas Soome #define	BC_DIM_MAX		 2048	/* max array elements in bc(1) */
65*199767f8SToomas Soome #define	BC_SCALE_MAX		   99	/* max scale value in bc(1) */
66*199767f8SToomas Soome #define	BC_STRING_MAX		 1000	/* max const string length in bc(1) */
67*199767f8SToomas Soome #define	CHARCLASS_NAME_MAX	   14	/* max character class name size */
68*199767f8SToomas Soome #define	COLL_WEIGHTS_MAX	   10	/* max weights for order keyword */
69*199767f8SToomas Soome #define	EXPR_NEST_MAX		   32	/* max expressions nested in expr(1) */
70*199767f8SToomas Soome #define	LINE_MAX		 2048	/* max bytes in an input line */
71*199767f8SToomas Soome #define	RE_DUP_MAX		  255	/* max RE's in interval notation */
72*199767f8SToomas Soome 
73*199767f8SToomas Soome #define	_POSIX2_BC_BASE_MAX	99
74*199767f8SToomas Soome #define	_POSIX2_BC_DIM_MAX	2048
75*199767f8SToomas Soome #define	_POSIX2_BC_SCALE_MAX	99
76*199767f8SToomas Soome #define	_POSIX2_BC_STRING_MAX	1000
77*199767f8SToomas Soome #define	_POSIX2_CHARCLASS_NAME_MAX 14
78*199767f8SToomas Soome #define	_POSIX2_COLL_WEIGHTS_MAX 2
79*199767f8SToomas Soome #define	_POSIX2_EQUIV_CLASS_MAX	2
80*199767f8SToomas Soome #define	_POSIX2_EXPR_NEST_MAX	32
81*199767f8SToomas Soome #define	_POSIX2_LINE_MAX	2048
82*199767f8SToomas Soome #define	_POSIX2_RE_DUP_MAX	255
83*199767f8SToomas Soome #endif
84*199767f8SToomas Soome #endif
85*199767f8SToomas Soome 
86*199767f8SToomas Soome #if __POSIX_VISIBLE >= 199309
87*199767f8SToomas Soome #define	_POSIX_AIO_LISTIO_MAX	2
88*199767f8SToomas Soome #define	_POSIX_AIO_MAX		1
89*199767f8SToomas Soome #define	_POSIX_DELAYTIMER_MAX	32
90*199767f8SToomas Soome #define	_POSIX_MQ_OPEN_MAX	8
91*199767f8SToomas Soome #define	_POSIX_MQ_PRIO_MAX	32
92*199767f8SToomas Soome #define	_POSIX_RTSIG_MAX	8
93*199767f8SToomas Soome #define	_POSIX_SEM_NSEMS_MAX	256
94*199767f8SToomas Soome #define	_POSIX_SEM_VALUE_MAX	32767
95*199767f8SToomas Soome #define	_POSIX_SIGQUEUE_MAX	32
96*199767f8SToomas Soome #define	_POSIX_TIMER_MAX	32
97*199767f8SToomas Soome 
98*199767f8SToomas Soome #define	_POSIX_CLOCKRES_MIN	20000000
99*199767f8SToomas Soome #endif
100*199767f8SToomas Soome 
101*199767f8SToomas Soome #if __POSIX_VISIBLE >= 199506
102*199767f8SToomas Soome #define	_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
103*199767f8SToomas Soome #define	_POSIX_THREAD_KEYS_MAX	128
104*199767f8SToomas Soome #define	_POSIX_THREAD_THREADS_MAX 64
105*199767f8SToomas Soome #endif
106*199767f8SToomas Soome 
107*199767f8SToomas Soome #if __POSIX_VISIBLE >= 200112
108*199767f8SToomas Soome #define	_POSIX_HOST_NAME_MAX	255
109*199767f8SToomas Soome #define	_POSIX_LOGIN_NAME_MAX	9
110*199767f8SToomas Soome #define	_POSIX_SS_REPL_MAX	4
111*199767f8SToomas Soome #define	_POSIX_SYMLINK_MAX	255
112*199767f8SToomas Soome #define	_POSIX_SYMLOOP_MAX	8
113*199767f8SToomas Soome #define	_POSIX_TRACE_EVENT_NAME_MAX 30
114*199767f8SToomas Soome #define	_POSIX_TRACE_NAME_MAX	8
115*199767f8SToomas Soome #define	_POSIX_TRACE_SYS_MAX	8
116*199767f8SToomas Soome #define	_POSIX_TRACE_USER_EVENT_MAX 32
117*199767f8SToomas Soome #define	_POSIX_TTY_NAME_MAX	9
118*199767f8SToomas Soome 
119*199767f8SToomas Soome #define	_POSIX_RE_DUP_MAX	_POSIX2_RE_DUP_MAX
120*199767f8SToomas Soome #endif
121*199767f8SToomas Soome 
122*199767f8SToomas Soome #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
123*199767f8SToomas Soome #define	NL_ARGMAX		99	/* max # of position args for printf */
124*199767f8SToomas Soome #define	NL_MSGMAX		32767
125*199767f8SToomas Soome #define	NL_SETMAX		255
126*199767f8SToomas Soome #define	NL_TEXTMAX		2048
127*199767f8SToomas Soome #endif
128*199767f8SToomas Soome 
129*199767f8SToomas Soome #if __XSI_VISIBLE
130*199767f8SToomas Soome #define	_XOPEN_IOV_MAX		16
131*199767f8SToomas Soome #define	_XOPEN_NAME_MAX		255
132*199767f8SToomas Soome #define	_XOPEN_PATH_MAX		1024
133*199767f8SToomas Soome #define	PASS_MAX		128	/* _PASSWORD_LEN from <pwd.h> */
134*199767f8SToomas Soome 
135*199767f8SToomas Soome #define	NL_LANGMAX		31	/* max LANG name length */
136*199767f8SToomas Soome #define	NL_NMAX			1
137*199767f8SToomas Soome #endif
138*199767f8SToomas Soome 
139*199767f8SToomas Soome #define	MB_LEN_MAX		6	/* 31-bit UTF-8 */
140*199767f8SToomas Soome 
141*199767f8SToomas Soome #include <sys/limits.h>
142*199767f8SToomas Soome 
143*199767f8SToomas Soome #if __POSIX_VISIBLE
144*199767f8SToomas Soome #include <sys/syslimits.h>
145*199767f8SToomas Soome #endif
146*199767f8SToomas Soome 
147*199767f8SToomas Soome #endif /* !_LIMITS_H_ */
148