Annotation of src/include/limits.h, Revision 1.18
1.18 ! guenther 1: /* $OpenBSD: limits.h,v 1.17 2013/02/17 22:09:54 guenther Exp $ */
1.1 deraadt 2: /* $NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp $ */
3:
4: /*
5: * Copyright (c) 1988 The Regents of the University of California.
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
1.8 millert 16: * 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 17: * may be used to endorse or promote products derived from this software
18: * without specific prior written permission.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30: * SUCH DAMAGE.
31: *
32: * @(#)limits.h 5.9 (Berkeley) 4/3/91
33: */
34:
35: #ifndef _LIMITS_H_
36: #define _LIMITS_H_
37:
1.12 millert 38: #include <sys/cdefs.h>
39:
40: #if __POSIX_VISIBLE
1.3 tholo 41: #define _POSIX_ARG_MAX 4096
1.9 millert 42: #define _POSIX_CHILD_MAX 25
1.1 deraadt 43: #define _POSIX_LINK_MAX 8
44: #define _POSIX_MAX_CANON 255
45: #define _POSIX_MAX_INPUT 255
46: #define _POSIX_NAME_MAX 14
1.11 millert 47: #define _POSIX_PATH_MAX 256
1.1 deraadt 48: #define _POSIX_PIPE_BUF 512
1.9 millert 49: #define _POSIX_RE_DUP_MAX 255
1.16 guenther 50: #define _POSIX_SEM_NSEMS_MAX 256
51: #define _POSIX_SEM_VALUE_MAX 32767
1.3 tholo 52: #define _POSIX_SSIZE_MAX 32767
1.1 deraadt 53: #define _POSIX_STREAM_MAX 8
1.11 millert 54: #define _POSIX_SYMLINK_MAX 255
1.9 millert 55: #define _POSIX_SYMLOOP_MAX 8
1.16 guenther 56: #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
57: #define _POSIX_THREAD_KEYS_MAX 128
58: #define _POSIX_THREAD_THREADS_MAX 4
59:
1.15 kettenis 60: #if __POSIX_VISIBLE >= 200112
1.18 ! guenther 61: #define _POSIX_CLOCKRES_MIN 20000000
1.16 guenther 62: #define _POSIX_NGROUPS_MAX 8
63: #define _POSIX_OPEN_MAX 20
1.18 ! guenther 64: #define _POSIX_TZNAME_MAX 6
1.15 kettenis 65: #else
1.16 guenther 66: #define _POSIX_NGROUPS_MAX 0
67: #define _POSIX_OPEN_MAX 16
1.18 ! guenther 68: #define _POSIX_TZNAME_MAX 3
1.15 kettenis 69: #endif
1.1 deraadt 70:
1.18 ! guenther 71: #define _POSIX2_BC_BASE_MAX 99
! 72: #define _POSIX2_BC_DIM_MAX 2048
! 73: #define _POSIX2_BC_SCALE_MAX 99
! 74: #define _POSIX2_BC_STRING_MAX 1000
1.1 deraadt 75: #define _POSIX2_COLL_WEIGHTS_MAX 2
1.18 ! guenther 76: #define _POSIX2_EXPR_NEST_MAX 32
! 77: #define _POSIX2_LINE_MAX 2048
! 78: #define _POSIX2_RE_DUP_MAX _POSIX_RE_DUP_MAX
! 79: #define _POSIX2_CHARCLASS_NAME_MAX 14
1.1 deraadt 80:
1.12 millert 81: #if __POSIX_VISIBLE >= 200112
1.14 kettenis 82: #define _POSIX_HOST_NAME_MAX 255
83: #define _POSIX_LOGIN_NAME_MAX 9 /* includes trailing NUL */
1.13 millert 84: #define _POSIX_TTY_NAME_MAX 9 /* includes trailing NUL */
85: #endif /* __POSIX_VISIBLE >= 200112 */
1.12 millert 86: #endif /* __POSIX_VISIBLE */
87:
1.16 guenther 88: #if __XPG_VISIBLE || __POSIX_VISIBLE >= 200809
1.1 deraadt 89: #define NL_ARGMAX 9
90: #define NL_LANGMAX 14
91: #define NL_MSGMAX 32767
92: #define NL_SETMAX 255
93: #define NL_TEXTMAX 255
1.16 guenther 94: #endif
1.5 deraadt 95:
1.17 guenther 96: #if __XPG_VISIBLE
1.16 guenther 97: # if __XPG_VISIBLE < 600
98: # define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */
99: # define TMP_MAX 308915776
100: # endif
101:
102: # if __XPG_VISIBLE < 700
103: # define NL_NMAX 1
104: # endif
105:
106: #define _XOPEN_IOV_MAX 16
107: #define _XOPEN_NAME_MAX 255
108: #define _XOPEN_PATH_MAX 1024
1.12 millert 109: #endif /* __XPG_VISIBLE */
1.5 deraadt 110:
1.12 millert 111: #include <sys/limits.h>
1.6 d 112:
1.12 millert 113: #if __POSIX_VISIBLE
1.1 deraadt 114: #include <sys/syslimits.h>
1.12 millert 115: #endif
1.1 deraadt 116:
117: #endif /* !_LIMITS_H_ */