Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / limits.h @ 14

History | View | Annotate | Download (4.98 KB)

1 13 up20180614
/*        $NetBSD: limits.h,v 1.34 2015/05/29 07:37:31 manu Exp $        */
2
3
/*
4
 * Copyright (c) 1988, 1993
5
 *        The Regents of the University of California.  All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 * 3. Neither the name of the University nor the names of its contributors
16
 *    may be used to endorse or promote products derived from this software
17
 *    without specific prior written permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
 * SUCH DAMAGE.
30
 *
31
 *        @(#)limits.h        8.2 (Berkeley) 1/4/94
32
 */
33
34
#ifndef _LIMITS_H_
35
#define        _LIMITS_H_
36
37
#include <sys/featuretest.h>
38
39
#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
40
    defined(_NETBSD_SOURCE)
41
#define        _POSIX_AIO_LISTIO_MAX        2
42
#define        _POSIX_AIO_MAX                1
43
#define        _POSIX_ARG_MAX                4096
44
#define        _POSIX_CHILD_MAX        25
45
#define        _POSIX_HOST_NAME_MAX        255
46
#define        _POSIX_LINK_MAX                8
47
#define        _POSIX_LOGIN_NAME_MAX        9
48
#define        _POSIX_MAX_CANON        255
49
#define        _POSIX_MAX_INPUT        255
50
#define        _POSIX_MQ_OPEN_MAX        8
51
#define        _POSIX_MQ_PRIO_MAX        32
52
#define        _POSIX_NAME_MAX                14
53
#define        _POSIX_NGROUPS_MAX        8
54
#define        _POSIX_OPEN_MAX                20
55
#define        _POSIX_PATH_MAX                256
56
#define        _POSIX_PIPE_BUF                512
57
#define        _POSIX_RE_DUP_MAX        255
58
#define        _POSIX_SSIZE_MAX        32767
59
#define        _POSIX_STREAM_MAX        8
60
#define        _POSIX_SYMLINK_MAX        255
61
#define        _POSIX_SYMLOOP_MAX        8
62
63
/*
64
 * We have not implemented these yet
65
 *
66
 * _POSIX_THREAD_ATTR_STACKADDR
67
 * _POSIX_THREAD_ATTR_STACKSIZE
68
 * _POSIX_THREAD_CPUTIME
69
 * _POSIX_THREAD_PRIORITY_SCHEDULING
70
 * _POSIX_THREAD_PRIO_INHERIT
71
 * _POSIX_THREAD_PRIO_PROTECT
72
 * _POSIX_THREAD_PROCESS_SHARED
73
 * _POSIX_THREAD_SAFE_FUNCTIONS
74
 * _POSIX_THREAD_SPORADIC_SERVER
75
 */
76
77
/*
78
 * The following 3 are defined in
79
 * Open Group Base Specifications Issue 7
80
 */
81
#define        _POSIX_THREAD_DESTRUCTOR_ITERATIONS        4
82
#define        _POSIX_THREAD_KEYS_MAX                        128
83
#define        _POSIX_THREAD_THREADS_MAX                64
84
85
/*
86
 * These are the correct names, defined in terms of the above
87
 * except for PTHREAD_KEYS_MAX which is bigger than standard
88
 * mandated minimum value _POSIX_THREAD_KEYS_MAX.
89
 */
90
#define        PTHREAD_DESTRUCTOR_ITERATIONS         _POSIX_THREAD_DESTRUCTOR_ITERATIONS
91
#define        PTHREAD_KEYS_MAX                256
92
/* Not yet: PTHREAD_STACK_MIN */
93
#define        PTHREAD_THREADS_MAX                _POSIX_THREAD_THREADS_MAX
94
95
#define        _POSIX_TIMER_MAX        32
96
#define        _POSIX_TTY_NAME_MAX        9
97
#define        _POSIX_TZNAME_MAX        6
98
99
#define        _POSIX2_BC_BASE_MAX        99
100
#define        _POSIX2_BC_DIM_MAX        2048
101
#define        _POSIX2_BC_SCALE_MAX        99
102
#define        _POSIX2_BC_STRING_MAX        1000
103
#define        _POSIX2_CHARCLASS_NAME_MAX        14
104
#define        _POSIX2_COLL_WEIGHTS_MAX        2
105
#define        _POSIX2_EXPR_NEST_MAX        32
106
#define        _POSIX2_LINE_MAX        2048
107
#define        _POSIX2_RE_DUP_MAX        255
108
109
/*
110
 * X/Open CAE Specifications,
111
 * adopted in IEEE Std 1003.1-2001 XSI.
112
 */
113
#if (_POSIX_C_SOURCE - 0) >= 200112L || defined(_XOPEN_SOURCE) || \
114
    defined(_NETBSD_SOURCE)
115
#define        _XOPEN_IOV_MAX                16
116
#define        _XOPEN_NAME_MAX                256
117
#define        _XOPEN_PATH_MAX                1024
118
119
#define PASS_MAX                128                /* Legacy */
120
121
#define CHARCLASS_NAME_MAX        14
122
#define NL_ARGMAX                9
123
#define NL_LANGMAX                14
124
#define NL_MSGMAX                32767
125
#define NL_NMAX                        1
126
#define NL_SETMAX                255
127
#define NL_TEXTMAX                2048
128
129
        /* IEEE Std 1003.1-2001 TSF */
130
#define        _GETGR_R_SIZE_MAX        1024
131
#define        _GETPW_R_SIZE_MAX        1024
132
133
/* Always ensure that this is consistent with <stdio.h> */
134
#ifndef TMP_MAX
135
#define TMP_MAX                        308915776        /* Legacy */
136
#endif
137
#endif /* _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE || _NETBSD_SOURCE */
138
139
#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
140
141
#define MB_LEN_MAX                32        /* Allow ISO/IEC 2022 */
142
143
/*
144
 * X/Open Extended API set 2 (a.k.a. C063)
145
 * This hides unimplemented functions from GNU configure until
146
 * we are done implementing them.
147
 */
148
#if !defined(_INCOMPLETE_XOPEN_C063)
149
#define __stub_fexecve
150
#endif
151
152
#include <machine/limits.h>
153
154
#ifdef __CHAR_UNSIGNED__
155
# define CHAR_MIN     0
156
# define CHAR_MAX     UCHAR_MAX
157
#else
158
# define CHAR_MIN     SCHAR_MIN
159
# define CHAR_MAX     SCHAR_MAX
160
#endif
161
162
#include <sys/syslimits.h>
163
164
#endif /* !_LIMITS_H_ */