Fix typo in license headers
[oweals/cde.git] / cde / programs / dtksh / ksh93 / src / lib / libast / conf.tab
1 #
2 # posix limits,unistd,confstr,fpathconf,pathconf,sysconf macro table
3 #
4 # @(#)conf.tab (AT&T Bell Laboratories) 05/09/95
5 #
6 # name index standard section call flags [ value ... ]
7 # [ <tab> _LOCAL_name macro definition ... ]
8 #
9 # name:         sans prefix
10 # index:        starts at 1, must not change or be reused
11 # standard:     AST, C, POSIX, SVID, XOPEN, <vendor-name> { SUN, SGI, ... }
12 # section:      section number in standard
13 # call:         CS=confstr PC=pathconf SC=sysconf XX=none
14 # flags:        0       no flags
15 #               F       feature for unistd.h
16 #               L       constant for limits.h
17 #               M       has _<standard><section>_<name> minmax value
18 #               N       _<call>_<name>
19 #               S       _<call>_<standard><section>_<name>
20 #               U       <standard><section>_<name> prefixed by underscore
21 #               X       define even if local is indeterminant (ast special)
22 #
23 # default names if <section> <= 1
24 #
25 #       _<call>_<name>
26 #       <standard>_<name>
27 #
28 # default names if <section> > 1
29 #
30 #       _<call>_<section>_<name>
31 #       <standard><section>_<name>
32 #
33 # the [ENSU] flags modify the default names
34 #
35 # NOTE: 132     is the next index
36 #
37
38 AIO_LISTIO_MAX          1       POSIX   SC 1 LMU        2
39 AIO_MAX                 2       POSIX   SC 1 LMU        1
40 AIO_PRIO_DELTA_MAX      3       POSIX   SC 1 LMU
41 ARG_MAX                 4       POSIX   SC 1 LMU        NCARGS 4096
42 ASYNCHRONOUS_IO         5       POSIX   SC 1 FU
43 ASYNC_IO                6       POSIX   PC 1 FU
44 ATEXIT_MAX              82      XOPEN   SC 1 LMU        32
45 AVPHYS_PAGES            121     SUN     SC 1 0
46 BC_BASE_MAX             7       POSIX   SC 2 LMN        99
47 BC_DIM_MAX              8       POSIX   SC 2 LMN        2048
48 BC_SCALE_MAX            9       POSIX   SC 2 LMN        99
49 BC_STRING_MAX           10      POSIX   SC 2 LMN        1000
50 CHARCLASS_NAME_MAX      102     XOPEN   XX 1 L          14
51 CHAR_BIT                13      C       XX 1 L          8
52 CHAR_MAX                14      C       XX 1 L
53 CHAR_MIN                15      C       XX 1 L
54 CHAR_TERM               16      POSIX   SC 2 F
55 CHILD_MAX               17      POSIX   SC 1 LMU        6
56         #define _LOCAL_CHILD_MAX        local_child_max()
57         #if _lib_fork
58         #define child()         fork()
59         #else
60         #ifdef  _map_spawnve
61         #define _map_spawnve    _map_spawnve
62         #endif
63         extern int              spawnve(const char*, char* const[], char* const[]);
64         static char*            cmd[] = { "/bin/echo", 0 };
65         #define child()         spawnve(cmd[0],cmd,(char**)0)
66         #endif
67         static int
68         local_child_max(void)
69         {
70                 int     i;
71                 int     n;
72                 for (i = 3; i < 512 && (n = child()) >= 0; i++)
73                         if (!n) _exit(0);
74                 while (wait((int*)0) > 0);
75                 for (n = 8; n < i; n <<= 1);
76                 return(n);
77         }
78 CHOWN_RESTRICTED        18      POSIX   PC 1 FU
79 CKPT                    97      POSIX   SC 1 FU
80 CLK_TCK                 19      AST     SC 1 MU         HZ 60
81 CLOCKRES_MIN            20      POSIX   SC 1 MU         1
82 COLL_WEIGHTS_MAX        21      POSIX   SC 2 LMN        2
83 CRYPT                   116     XOPEN   SC 1 FSU
84 C_BIND                  11      POSIX   SC 2 F
85 C_DEV                   12      POSIX   SC 2 F
86 C_VERSION               98      POSIX   SC 2 F
87 DELAYTIMER_MAX          22      POSIX   SC 1 LMU        32
88 ENH_I18N                117     XOPEN   SC 1 FSU
89 EXPR_NEST_MAX           23      POSIX   SC 2 LMN        32
90 FCHR_MAX                24      SVID    SC 1 LMU        LONG_MAX 2147483647
91 FORT_DEV                25      POSIX   SC 2 F
92 FORT_RUN                26      POSIX   SC 2 F
93 FSYNC                   27      POSIX   SC 1 FU         _lib_fsync
94 INT_MAX                 28      C       XX 1 L          32767
95 INT_MIN                 29      C       XX 1 L          -32767
96 IOV_MAX                 100     XOPEN   SC 1 LMU        16
97 JOB_CONTROL             30      POSIX   SC 1 FU
98         #include "FEATURE/wait"
99         #ifdef  WUNTRACED
100         #define _LOCAL_JOB_CONTROL      1
101         #endif
102 LINE_MAX                31      POSIX   SC 2 LMN        2048
103 LINK_MAX                32      POSIX   PC 1 LMU        MAXLINK SHRT_MAX 8
104 LOCALEDEF               99      POSIX   SC 1 FU
105 LOCALEDEF               33      POSIX   SC 2 F
106 LOGNAME_MAX             129     SVID    SC 1 MU         8
107 LONG_BIT                56      XOPEN   XX 1 L          32
108         #ifdef  CHAR_BIT
109         #define _LOCAL_LONG_BIT         (CHAR_BIT*sizeof(long))
110         #else
111         #define _LOCAL_LONG_BIT         (8*sizeof(int))
112         #endif
113 LONG_MAX                34      C       XX 1 L          2147483647
114 LONG_MIN                35      C       XX 1 L          -2147483647
115 MAPPED_FILES            36      POSIX   SC 1 FU         _lib_mmap
116 MAX_CANON               37      POSIX   PC 1 LMU        CANBSIZ 255
117 MAX_INPUT               38      POSIX   PC 1 LMU        MAX_CANON 255   
118 MB_LEN_MAX              39      C       XX 1 L          1
119 MEMLOCK                 40      POSIX   SC 1 FU
120 MEMLOCK_RANGE           41      POSIX   SC 1 FU
121 MEMORY_PROTECTION       42      POSIX   SC 1 FU
122 MESSAGE_PASSING         43      POSIX   SC 1 FU
123 MQ_OPEN_MAX             44      POSIX   SC 1 LMU        8
124 MQ_PRIO_MAX             45      POSIX   SC 1 LMU        32
125 NACLS_MAX               122     SVID    SC 1 0
126 NAME_MAX                46      POSIX   PC 1 LMU        14
127         #ifdef MAXNAMLEN
128         #define _LOCAL_NAME_MAX MAXNAMLEN
129         #else
130         #define _LOCAL_NAME_MAX local_name_max()
131         #if !_lib_remove || _lib_unlink
132         #define remove          unlink
133         #endif
134         static int
135         local_name_max(void)
136         {
137                 int     i;
138                 int     n;
139                 int     v;
140                 char    name[256];
141                 for (i = 0; i < sizeof(name); i++)
142                         name[i] = 'F';
143                 name[8] = '.';
144                 name[sizeof(name) - 1] = 0;
145                 if ((n = creat(name, 0666)) >= 0)
146                 {
147                         close(n);
148                         for (v = 12; v < sizeof(name); v++)
149                         {
150                                 name[v] = 0;
151                                 if (remove(name) >= 0) break;
152                                 name[v] = 'F';
153                         }
154                 }
155                 else for (v = 12; v < sizeof(name); v++)
156                 {
157                         name[v] = 0;
158                         if ((n = creat(name, 0666)) >= 0)
159                         {
160                                 close(n);
161                                 remove(name);
162                                 name[v] = 'F';
163                         }
164                         else
165                         {
166                                 v--;
167                                 break;
168                         }
169                 }
170                 return(v);
171         }
172         #endif
173 NGROUPS_MAX             47      POSIX   SC 1 LMU        0
174         #if _lib_getgroups
175         #define _LOCAL_NGROUPS_MAX      local_ngroups_max()
176         static int
177         local_ngroups_max()
178         {
179                 int     n;
180                 gid_t   g;
181                 if ((n = getgroups(0, &g)) < 0)
182         #ifdef NGROUPS
183                         n = NGROUPS;
184         #else
185                         n = 0;
186         #endif
187                 return(n);
188         }
189         #endif
190 NL_ARGMAX               103     XOPEN   XX 1 L          9
191 NL_LANGMAX              104     XOPEN   XX 1 L          14
192 NL_MSGMAX               105     XOPEN   XX 1 L          32767
193 NL_NMAX                 106     XOPEN   XX 1 L
194 NL_SETMAX               107     XOPEN   XX 1 L          255
195 NL_TEXTMAX              108     XOPEN   XX 1 L          LINE_MAX
196 NO_TRUNC                48      POSIX   PC 1 FU
197 NPROCESSORS_CONF        123     SVID    SC 1 0
198 NPROCESSORS_ONLN        124     SVID    SC 1 0
199 NZERO                   109     XOPEN   XX 1 L          20
200 OPEN_MAX                49      POSIX   SC 1 LMU        16
201         #if _lib_getdtablesize
202         extern int              getdtablesize(void);
203         #define _LOCAL_OPEN_MAX getdtablesize()
204         #else
205         #define _LOCAL_OPEN_MAX local_open_max()
206         #if _lib_getrlimit && _sys_resource
207         #include <sys/time.h>
208         #include <sys/resource.h>
209         #endif
210         #ifdef RLIMIT_NOFILE
211         static int
212         local_open_max(void)
213         {
214                 struct rlimit   rlim;
215                 if (getrlimit(RLIMIT_NOFILE, &rlim))
216                         return(-1);
217                 return(rlim.rlim_cur);
218         }
219         #else
220         static int
221         local_open_max(void)
222         {
223                 int     i;
224                 int     n;
225                 int     v;
226                 n = 0;
227                 v = 2;
228                 while ((i = dup(0)) >= 0)
229                 {
230                         if (!n) n = i;
231                         if (i > v) v = i;
232                 }
233                 while (n <= v) close(n++);
234                 return(v + 1);
235         }
236         #endif
237         #endif
238 OPEN_MAX_CEIL           50      AST     XX 1 L          OPEN_MAX
239 OS_VERSION              119     AES     SC 1 FSU
240 PAGESIZE                51      POSIX   SC 1 L          PAGE_SIZE 4096
241         #if _lib_getpagesize
242         #if defined(linux)
243         extern int              getpagesize(void);
244         #else
245         extern ssize_t          getpagesize(void);
246         #endif
247         #define _LOCAL_PAGESIZE getpagesize()
248         #endif
249 PAGE_SIZE               101     XOPEN   SC 1 L          PAGESIZE
250 PASS_MAX                130     SVID    SC 1 MU         8
251 PATH                    52      POSIX   CS 1 MU         "/bin:/usr/bin"
252 PATH_MAX                53      POSIX   PC 1 LMUX       MAXPATHLEN 1024 256
253 PHYS_PAGES              125     SUN     SC 1 0
254 PID_MAX                 54      SVID    SC 1 LMU        30000
255 PIPE_BUF                55      POSIX   PC 1 LMU        512
256 PRIORITIZED_IO          57      POSIX   SC 1 FU
257 PRIORITY_SCHEDULING     58      POSIX   SC 1 FU
258 PRIO_IO                 59      POSIX   PC 1 FU
259 REALTIME_SIGNALS        60      POSIX   SC 1 FU
260 REGEXP                  95      POSIX   SC 1 FU
261 RESOURCE_LIMITS         96      POSIX   SC 1 FU
262 RE_DUP_MAX              61      POSIX   SC 2 LMN        255
263 RTSIG_MAX               62      POSIX   SC 1 LMU        8
264 SAVED_IDS               63      POSIX   SC 1 FU
265         #if _lib_setuid && !_lib_setreuid
266         #define _LOCAL_SAVED_IDS        1
267         #endif
268 SCHAR_MAX               64      C       XX 1 L          127
269 SCHAR_MIN               65      C       XX 1 L          -127
270 SEMAPHORES              66      POSIX   SC 1 FU
271 SEM_NSEMS_MAX           67      POSIX   SC 1 LMU        256
272 SEM_VALUE_MAX           68      POSIX   SC 1 LMU        32767
273 SHARED_MEMORY_OBJECTS   69      POSIX   SC 1 FU
274 SHELL                   120     AST     CS 1 MU         "/bin/sh"
275 SHM                     118     XOPEN   SC 1 FSU
276 SHRT_MAX                70      C       XX 1 L          32767
277 SHRT_MIN                71      C       XX 1 L          -32767
278 SIGQUEUE_MAX            72      POSIX   SC 1 LMU        32
279 SIGRT_MAX               126     SVID    SC 1 0
280 SIGRT_MIN               127     SVID    SC 1 0
281 SSIZE_MAX               73      POSIX   XX 1 LMU        INT_MAX 32767
282 STD_BLK                 74      SVID    SC 1 LMU        1024
283 STREAM_MAX              75      POSIX   SC 1 LMU        OPEN_MAX 8
284 SW_DEV                  76      POSIX   SC 2 F
285 SYMLINK_MAX             93      POSIX   PC 1 LMU        255
286         #if PATH_MAX
287         #define _LOCAL_SYMLINK_MAX      (PATH_MAX-1)
288         #endif
289 SYMLOOP_MAX             94      POSIX   PC 1 LMU        8
290 SYNCHRONIZED_IO         77      POSIX   SC 1 FU
291 SYNC_IO                 78      POSIX   PC 1 FU
292 SYSPID_MAX              79      SVID    SC 1 LMU        2
293 TIMERS                  80      POSIX   SC 1 FU
294 TIMER_MAX               81      POSIX   SC 1 LMU        32
295 TMP                     131     AST     CS 1 MU         "/tmp"
296 TMP_MAX                 128     C       SC 1 MU         10000
297 TZNAME_MAX              83      POSIX   SC 1 LMU        6
298 UCHAR_MAX               84      C       XX 1 L          255
299 UID_MAX                 85      SVID    SC 1 LMU        60002
300 UINT_MAX                86      C       XX 1 L          65535
301 ULONG_MAX               87      C       XX 1 L          4294967295
302 UNIX                    115     XOPEN   SC 1 FSU
303 UPE                     89      POSIX   SC 2 F
304 USHRT_MAX               88      C       XX 1 L          65535
305 VDISABLE                90      POSIX   PC 1 FU
306 VERSION                 91      POSIX   SC 1 FU         199009
307 VERSION                 92      POSIX   SC 2 F          199209
308 VERSION                 110     XOPEN   SC 1 FSU        4
309 WORD_BIT                56      XOPEN   XX 1 L          16
310         #ifdef  CHAR_BIT
311         #define _LOCAL_WORD_BIT         (CHAR_BIT*sizeof(int))
312         #else
313         #define _LOCAL_WORD_BIT         (8*sizeof(int))
314         #endif
315 XCU_VERSION             111     XOPEN   SC 1 FSU
316 XPG2                    112     XOPEN   XX 1 FU
317 XPG3                    113     XOPEN   XX 1 FU
318 XPG4                    114     XOPEN   XX 1 FU