blob: 25a47b2b19e448ac93aa9694ab42b06b59911fce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
/*
* This file lists the minimums for the limits set by each of
* the POSIX features subsets.
*
* XXX: Careful attention needs to be paid to section 2.8 in 1003.1b-1993
* to segregrate the variables below based on their "class" according
* to our implementation. We also need to set the Run-Time Invariant
* and other related values.
*
* $Id$
*/
#ifndef _GCC_LIMITS_H_ /* if we have not seen gcc's limits.h yet */
#include_next <limits.h>
#endif
#include <sys/syslimits.h>
#ifndef __POSIX_LIMITS_h
#define __POSIX_LIMITS_h
/****************************************************************************
****************************************************************************
* *
* P1003.1b-1993 defines the constants below this comment. *
* *
****************************************************************************
****************************************************************************/
#define _POSIX_AIO_LISTIO_MAX 2
#define _POSIX_AIO_MAX 1
#define _POSIX_ARG_MAX 4096
#define _POSIX_CHILD_MAX 6
#define _POSIX_DELAYTIMER_MAX 32
#define _POSIX_HOST_NAME_MAX 255
#define _POSIX_LINK_MAX 8
#define _POSIX_MAX_CANON 255
#define _POSIX_MAX_INPUT 255
#define _POSIX_MQ_OPEN_MAX 8
#define _POSIX_MQ_PRIO_MAX 32
#define _POSIX_NAME_MAX 255
#define _POSIX_NGROUPS_MAX 0
#define _POSIX_OPEN_MAX 16
#define _POSIX_PATH_MAX 255
#define _POSIX_PIPE_BUF 512
/* The maximum number of repeated occurrences of a regular expression
* * permitted when using the interval notation `\{M,N\}'. */
#define _POSIX2_RE_DUP_MAX 255
#define _POSIX_RTSIG_MAX 8
#define _POSIX_SEM_NSEMS_MAX 256
#define _POSIX_SEM_VALUE_MAX 32767
#define _POSIX_SIGQUEUE_MAX 32
#define _POSIX_SSIZE_MAX 32767
#define _POSIX_STREAM_MAX 8
#define _POSIX_TIMER_MAX 32
#define _POSIX_TZNAME_MAX 3
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*/
#define AIO_LISTIO_MAX 2
#define AIO_MAX 1
#define AIO_PRIO_DELTA_MAX 0
#define DELAYTIMER_MAX 32
#define MQ_OPEN_MAX 8
#define MQ_PRIO_MAX 32
#define PAGESIZE 1
#define RTSIG_MAX 8
#define SEM_NSEMS_MAX 256
#define SEM_VALUE_MAX 32767
#define SIGQUEUE_MAX 32
#define STREAM_MAX 8
#define TIMER_MAX 32
#define TZNAME_MAX 3
/*
* Invariant values
*/
#ifdef __SIZE_MAX__
#define SSIZE_MAX (__SIZE_MAX__ >> 1)
#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__)
#define SSIZE_MAX ((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1)
#else /* historic fallback, wrong in most cases */
#define SSIZE_MAX 32767
#endif
/*
* Maximum Values
*/
#define _POSIX_CLOCKRES_MIN 0 /* in nanoseconds */
/****************************************************************************
****************************************************************************
* *
* P1003.1c/D10 defines the constants below this comment. *
*
* XXX: doc seems to have printing problems in this table :(
* *
****************************************************************************
****************************************************************************/
#define _POSIX_LOGIN_NAME_MAX 9
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
#define _POSIX_THREAD_KEYS_MAX 28
#define _POSIX_THREAD_THREADS_MAX 64
#define _POSIX_TTY_NAME_MAX 9
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*
* NOTE: LOGIN_NAME_MAX is named LOGNAME_MAX under Solaris 2.x. Perhaps
* the draft specification will be changing. jrs 05/24/96
*/
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
/*
* RTEMS is smart enough to give us the minimum stack size if we ask
* for too little. Because the real RTEMS limit for this is cpu dependent
* AND rtems header files are not installed yet, we cannot use the cpu
* dependent constant CPU_STACK_MINIMUM_SIZE. Moreover, we do not want
* to duplicate that information here so we will just let RTEMS magically
* give us its minimum stack size.
*
* NOTE: The other alternative is to have this be a macro for a
* routine in RTEMS which returns the constant.
*/
#define PTHREAD_STACK_MIN 0
/*
* The maximum number of keys (PTHREAD_KEYS_MAX) and threads
* (PTHREAD_THREADS_MAX) are configurable and may exceed the minimum.
*
#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
#define PTHREAD_THREADS_MAX _POSIX_THREAD_THREADS_MAX
*/
/****************************************************************************
****************************************************************************
* *
* P1003.4b/D8 defines the constants below this comment. *
* *
****************************************************************************
****************************************************************************/
#define _POSIX_INTERRUPT_OVERRUN_MAX 32
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*/
#define INTERRUPT_OVERRUN_MAX 32
/*
* Pathname Variables
*/
#define MIN_ALLOC_SIZE
#define REC_MIN_XFER_SIZE
#define REC_MAX_XFER_SIZE
#define REC_INCR_XFER_SIZE
#define REC_XFER_ALIGN
#define MAX_ATOMIC_SIZE
#endif
/* end of include file */
|