1 /* `sysconf', `pathconf', and `confstr' NAME values.  Generic version.
2    Copyright (C) 1993-2022 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4 
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9 
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14 
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <https://www.gnu.org/licenses/>.  */
18 
19 #ifndef _UNISTD_H
20 # error "Never use <bits/confname.h> directly; include <unistd.h> instead."
21 #endif
22 
23 /* Values for the NAME argument to `pathconf' and `fpathconf'.  */
24 enum
25   {
26     _PC_LINK_MAX,
27 #define	_PC_LINK_MAX			_PC_LINK_MAX
28     _PC_MAX_CANON,
29 #define	_PC_MAX_CANON			_PC_MAX_CANON
30     _PC_MAX_INPUT,
31 #define	_PC_MAX_INPUT			_PC_MAX_INPUT
32     _PC_NAME_MAX,
33 #define	_PC_NAME_MAX			_PC_NAME_MAX
34     _PC_PATH_MAX,
35 #define	_PC_PATH_MAX			_PC_PATH_MAX
36     _PC_PIPE_BUF,
37 #define	_PC_PIPE_BUF			_PC_PIPE_BUF
38     _PC_CHOWN_RESTRICTED,
39 #define	_PC_CHOWN_RESTRICTED		_PC_CHOWN_RESTRICTED
40     _PC_NO_TRUNC,
41 #define	_PC_NO_TRUNC			_PC_NO_TRUNC
42     _PC_VDISABLE,
43 #define _PC_VDISABLE			_PC_VDISABLE
44     _PC_SYNC_IO,
45 #define	_PC_SYNC_IO			_PC_SYNC_IO
46     _PC_ASYNC_IO,
47 #define	_PC_ASYNC_IO			_PC_ASYNC_IO
48     _PC_PRIO_IO,
49 #define	_PC_PRIO_IO			_PC_PRIO_IO
50     _PC_SOCK_MAXBUF,
51 #define	_PC_SOCK_MAXBUF			_PC_SOCK_MAXBUF
52     _PC_FILESIZEBITS,
53 #define _PC_FILESIZEBITS		_PC_FILESIZEBITS
54     _PC_REC_INCR_XFER_SIZE,
55 #define _PC_REC_INCR_XFER_SIZE		_PC_REC_INCR_XFER_SIZE
56     _PC_REC_MAX_XFER_SIZE,
57 #define _PC_REC_MAX_XFER_SIZE		_PC_REC_MAX_XFER_SIZE
58     _PC_REC_MIN_XFER_SIZE,
59 #define _PC_REC_MIN_XFER_SIZE		_PC_REC_MIN_XFER_SIZE
60     _PC_REC_XFER_ALIGN,
61 #define _PC_REC_XFER_ALIGN		_PC_REC_XFER_ALIGN
62     _PC_ALLOC_SIZE_MIN,
63 #define _PC_ALLOC_SIZE_MIN		_PC_ALLOC_SIZE_MIN
64     _PC_SYMLINK_MAX,
65 #define _PC_SYMLINK_MAX			_PC_SYMLINK_MAX
66     _PC_2_SYMLINKS
67 #define _PC_2_SYMLINKS			_PC_2_SYMLINKS
68   };
69 
70 /* Values for the argument to `sysconf'.  */
71 enum
72   {
73     _SC_ARG_MAX,
74 #define	_SC_ARG_MAX			_SC_ARG_MAX
75     _SC_CHILD_MAX,
76 #define	_SC_CHILD_MAX			_SC_CHILD_MAX
77     _SC_CLK_TCK,
78 #define	_SC_CLK_TCK			_SC_CLK_TCK
79     _SC_NGROUPS_MAX,
80 #define	_SC_NGROUPS_MAX			_SC_NGROUPS_MAX
81     _SC_OPEN_MAX,
82 #define	_SC_OPEN_MAX			_SC_OPEN_MAX
83     _SC_STREAM_MAX,
84 #define	_SC_STREAM_MAX			_SC_STREAM_MAX
85     _SC_TZNAME_MAX,
86 #define	_SC_TZNAME_MAX			_SC_TZNAME_MAX
87     _SC_JOB_CONTROL,
88 #define	_SC_JOB_CONTROL			_SC_JOB_CONTROL
89     _SC_SAVED_IDS,
90 #define	_SC_SAVED_IDS			_SC_SAVED_IDS
91     _SC_REALTIME_SIGNALS,
92 #define	_SC_REALTIME_SIGNALS		_SC_REALTIME_SIGNALS
93     _SC_PRIORITY_SCHEDULING,
94 #define	_SC_PRIORITY_SCHEDULING		_SC_PRIORITY_SCHEDULING
95     _SC_TIMERS,
96 #define	_SC_TIMERS			_SC_TIMERS
97     _SC_ASYNCHRONOUS_IO,
98 #define	_SC_ASYNCHRONOUS_IO		_SC_ASYNCHRONOUS_IO
99     _SC_PRIORITIZED_IO,
100 #define	_SC_PRIORITIZED_IO		_SC_PRIORITIZED_IO
101     _SC_SYNCHRONIZED_IO,
102 #define	_SC_SYNCHRONIZED_IO		_SC_SYNCHRONIZED_IO
103     _SC_FSYNC,
104 #define	_SC_FSYNC			_SC_FSYNC
105     _SC_MAPPED_FILES,
106 #define	_SC_MAPPED_FILES		_SC_MAPPED_FILES
107     _SC_MEMLOCK,
108 #define	_SC_MEMLOCK			_SC_MEMLOCK
109     _SC_MEMLOCK_RANGE,
110 #define	_SC_MEMLOCK_RANGE		_SC_MEMLOCK_RANGE
111     _SC_MEMORY_PROTECTION,
112 #define	_SC_MEMORY_PROTECTION		_SC_MEMORY_PROTECTION
113     _SC_MESSAGE_PASSING,
114 #define	_SC_MESSAGE_PASSING		_SC_MESSAGE_PASSING
115     _SC_SEMAPHORES,
116 #define	_SC_SEMAPHORES			_SC_SEMAPHORES
117     _SC_SHARED_MEMORY_OBJECTS,
118 #define	_SC_SHARED_MEMORY_OBJECTS	_SC_SHARED_MEMORY_OBJECTS
119     _SC_AIO_LISTIO_MAX,
120 #define	_SC_AIO_LISTIO_MAX		_SC_AIO_LISTIO_MAX
121     _SC_AIO_MAX,
122 #define	_SC_AIO_MAX			_SC_AIO_MAX
123     _SC_AIO_PRIO_DELTA_MAX,
124 #define	_SC_AIO_PRIO_DELTA_MAX		_SC_AIO_PRIO_DELTA_MAX
125     _SC_DELAYTIMER_MAX,
126 #define	_SC_DELAYTIMER_MAX		_SC_DELAYTIMER_MAX
127     _SC_MQ_OPEN_MAX,
128 #define	_SC_MQ_OPEN_MAX			_SC_MQ_OPEN_MAX
129     _SC_MQ_PRIO_MAX,
130 #define	_SC_MQ_PRIO_MAX			_SC_MQ_PRIO_MAX
131     _SC_VERSION,
132 #define	_SC_VERSION			_SC_VERSION
133     _SC_PAGESIZE,
134 #define	_SC_PAGESIZE			_SC_PAGESIZE
135 #define	_SC_PAGE_SIZE			_SC_PAGESIZE
136     _SC_RTSIG_MAX,
137 #define	_SC_RTSIG_MAX			_SC_RTSIG_MAX
138     _SC_SEM_NSEMS_MAX,
139 #define	_SC_SEM_NSEMS_MAX		_SC_SEM_NSEMS_MAX
140     _SC_SEM_VALUE_MAX,
141 #define	_SC_SEM_VALUE_MAX		_SC_SEM_VALUE_MAX
142     _SC_SIGQUEUE_MAX,
143 #define	_SC_SIGQUEUE_MAX		_SC_SIGQUEUE_MAX
144     _SC_TIMER_MAX,
145 #define	_SC_TIMER_MAX			_SC_TIMER_MAX
146 
147     /* Values for the argument to `sysconf'
148        corresponding to _POSIX2_* symbols.  */
149     _SC_BC_BASE_MAX,
150 #define	_SC_BC_BASE_MAX			_SC_BC_BASE_MAX
151     _SC_BC_DIM_MAX,
152 #define	_SC_BC_DIM_MAX			_SC_BC_DIM_MAX
153     _SC_BC_SCALE_MAX,
154 #define	_SC_BC_SCALE_MAX		_SC_BC_SCALE_MAX
155     _SC_BC_STRING_MAX,
156 #define	_SC_BC_STRING_MAX		_SC_BC_STRING_MAX
157     _SC_COLL_WEIGHTS_MAX,
158 #define	_SC_COLL_WEIGHTS_MAX		_SC_COLL_WEIGHTS_MAX
159     _SC_EQUIV_CLASS_MAX,
160 #define	_SC_EQUIV_CLASS_MAX		_SC_EQUIV_CLASS_MAX
161     _SC_EXPR_NEST_MAX,
162 #define	_SC_EXPR_NEST_MAX		_SC_EXPR_NEST_MAX
163     _SC_LINE_MAX,
164 #define	_SC_LINE_MAX			_SC_LINE_MAX
165     _SC_RE_DUP_MAX,
166 #define	_SC_RE_DUP_MAX			_SC_RE_DUP_MAX
167     _SC_CHARCLASS_NAME_MAX,
168 #define	_SC_CHARCLASS_NAME_MAX		_SC_CHARCLASS_NAME_MAX
169 
170     _SC_2_VERSION,
171 #define	_SC_2_VERSION			_SC_2_VERSION
172     _SC_2_C_BIND,
173 #define	_SC_2_C_BIND			_SC_2_C_BIND
174     _SC_2_C_DEV,
175 #define	_SC_2_C_DEV			_SC_2_C_DEV
176     _SC_2_FORT_DEV,
177 #define	_SC_2_FORT_DEV			_SC_2_FORT_DEV
178     _SC_2_FORT_RUN,
179 #define	_SC_2_FORT_RUN			_SC_2_FORT_RUN
180     _SC_2_SW_DEV,
181 #define	_SC_2_SW_DEV			_SC_2_SW_DEV
182     _SC_2_LOCALEDEF,
183 #define	_SC_2_LOCALEDEF			_SC_2_LOCALEDEF
184 
185     _SC_PII,
186 #define	_SC_PII				_SC_PII
187     _SC_PII_XTI,
188 #define	_SC_PII_XTI			_SC_PII_XTI
189     _SC_PII_SOCKET,
190 #define	_SC_PII_SOCKET			_SC_PII_SOCKET
191     _SC_PII_INTERNET,
192 #define	_SC_PII_INTERNET		_SC_PII_INTERNET
193     _SC_PII_OSI,
194 #define	_SC_PII_OSI			_SC_PII_OSI
195     _SC_POLL,
196 #define	_SC_POLL			_SC_POLL
197     _SC_SELECT,
198 #define	_SC_SELECT			_SC_SELECT
199     _SC_UIO_MAXIOV,
200 #define	_SC_UIO_MAXIOV			_SC_UIO_MAXIOV
201     _SC_IOV_MAX = _SC_UIO_MAXIOV,
202 #define _SC_IOV_MAX			_SC_IOV_MAX
203     _SC_PII_INTERNET_STREAM,
204 #define	_SC_PII_INTERNET_STREAM		_SC_PII_INTERNET_STREAM
205     _SC_PII_INTERNET_DGRAM,
206 #define	_SC_PII_INTERNET_DGRAM		_SC_PII_INTERNET_DGRAM
207     _SC_PII_OSI_COTS,
208 #define	_SC_PII_OSI_COTS		_SC_PII_OSI_COTS
209     _SC_PII_OSI_CLTS,
210 #define	_SC_PII_OSI_CLTS		_SC_PII_OSI_CLTS
211     _SC_PII_OSI_M,
212 #define	_SC_PII_OSI_M			_SC_PII_OSI_M
213     _SC_T_IOV_MAX,
214 #define	_SC_T_IOV_MAX			_SC_T_IOV_MAX
215 
216     /* Values according to POSIX 1003.1c (POSIX threads).  */
217     _SC_THREADS,
218 #define	_SC_THREADS			_SC_THREADS
219     _SC_THREAD_SAFE_FUNCTIONS,
220 #define _SC_THREAD_SAFE_FUNCTIONS	_SC_THREAD_SAFE_FUNCTIONS
221     _SC_GETGR_R_SIZE_MAX,
222 #define	_SC_GETGR_R_SIZE_MAX		_SC_GETGR_R_SIZE_MAX
223     _SC_GETPW_R_SIZE_MAX,
224 #define	_SC_GETPW_R_SIZE_MAX		_SC_GETPW_R_SIZE_MAX
225     _SC_LOGIN_NAME_MAX,
226 #define	_SC_LOGIN_NAME_MAX		_SC_LOGIN_NAME_MAX
227     _SC_TTY_NAME_MAX,
228 #define	_SC_TTY_NAME_MAX		_SC_TTY_NAME_MAX
229     _SC_THREAD_DESTRUCTOR_ITERATIONS,
230 #define	_SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
231     _SC_THREAD_KEYS_MAX,
232 #define	_SC_THREAD_KEYS_MAX		_SC_THREAD_KEYS_MAX
233     _SC_THREAD_STACK_MIN,
234 #define	_SC_THREAD_STACK_MIN		_SC_THREAD_STACK_MIN
235     _SC_THREAD_THREADS_MAX,
236 #define	_SC_THREAD_THREADS_MAX		_SC_THREAD_THREADS_MAX
237     _SC_THREAD_ATTR_STACKADDR,
238 #define	_SC_THREAD_ATTR_STACKADDR	_SC_THREAD_ATTR_STACKADDR
239     _SC_THREAD_ATTR_STACKSIZE,
240 #define	_SC_THREAD_ATTR_STACKSIZE	_SC_THREAD_ATTR_STACKSIZE
241     _SC_THREAD_PRIORITY_SCHEDULING,
242 #define	_SC_THREAD_PRIORITY_SCHEDULING	_SC_THREAD_PRIORITY_SCHEDULING
243     _SC_THREAD_PRIO_INHERIT,
244 #define	_SC_THREAD_PRIO_INHERIT		_SC_THREAD_PRIO_INHERIT
245     _SC_THREAD_PRIO_PROTECT,
246 #define	_SC_THREAD_PRIO_PROTECT		_SC_THREAD_PRIO_PROTECT
247     _SC_THREAD_PROCESS_SHARED,
248 #define	_SC_THREAD_PROCESS_SHARED	_SC_THREAD_PROCESS_SHARED
249 
250     _SC_NPROCESSORS_CONF,
251 #define _SC_NPROCESSORS_CONF		_SC_NPROCESSORS_CONF
252     _SC_NPROCESSORS_ONLN,
253 #define _SC_NPROCESSORS_ONLN		_SC_NPROCESSORS_ONLN
254     _SC_PHYS_PAGES,
255 #define _SC_PHYS_PAGES			_SC_PHYS_PAGES
256     _SC_AVPHYS_PAGES,
257 #define _SC_AVPHYS_PAGES		_SC_AVPHYS_PAGES
258     _SC_ATEXIT_MAX,
259 #define _SC_ATEXIT_MAX			_SC_ATEXIT_MAX
260     _SC_PASS_MAX,
261 #define _SC_PASS_MAX			_SC_PASS_MAX
262 
263     _SC_XOPEN_VERSION,
264 #define _SC_XOPEN_VERSION		_SC_XOPEN_VERSION
265     _SC_XOPEN_XCU_VERSION,
266 #define _SC_XOPEN_XCU_VERSION		_SC_XOPEN_XCU_VERSION
267     _SC_XOPEN_UNIX,
268 #define _SC_XOPEN_UNIX			_SC_XOPEN_UNIX
269     _SC_XOPEN_CRYPT,
270 #define _SC_XOPEN_CRYPT			_SC_XOPEN_CRYPT
271     _SC_XOPEN_ENH_I18N,
272 #define _SC_XOPEN_ENH_I18N		_SC_XOPEN_ENH_I18N
273     _SC_XOPEN_SHM,
274 #define _SC_XOPEN_SHM			_SC_XOPEN_SHM
275 
276     _SC_2_CHAR_TERM,
277 #define _SC_2_CHAR_TERM			_SC_2_CHAR_TERM
278     _SC_2_C_VERSION,
279 #define _SC_2_C_VERSION			_SC_2_C_VERSION
280     _SC_2_UPE,
281 #define _SC_2_UPE			_SC_2_UPE
282 
283     _SC_XOPEN_XPG2,
284 #define _SC_XOPEN_XPG2			_SC_XOPEN_XPG2
285     _SC_XOPEN_XPG3,
286 #define _SC_XOPEN_XPG3			_SC_XOPEN_XPG3
287     _SC_XOPEN_XPG4,
288 #define _SC_XOPEN_XPG4			_SC_XOPEN_XPG4
289 
290     _SC_CHAR_BIT,
291 #define	_SC_CHAR_BIT			_SC_CHAR_BIT
292     _SC_CHAR_MAX,
293 #define	_SC_CHAR_MAX			_SC_CHAR_MAX
294     _SC_CHAR_MIN,
295 #define	_SC_CHAR_MIN			_SC_CHAR_MIN
296     _SC_INT_MAX,
297 #define	_SC_INT_MAX			_SC_INT_MAX
298     _SC_INT_MIN,
299 #define	_SC_INT_MIN			_SC_INT_MIN
300     _SC_LONG_BIT,
301 #define	_SC_LONG_BIT			_SC_LONG_BIT
302     _SC_WORD_BIT,
303 #define	_SC_WORD_BIT			_SC_WORD_BIT
304     _SC_MB_LEN_MAX,
305 #define	_SC_MB_LEN_MAX			_SC_MB_LEN_MAX
306     _SC_NZERO,
307 #define	_SC_NZERO			_SC_NZERO
308     _SC_SSIZE_MAX,
309 #define	_SC_SSIZE_MAX			_SC_SSIZE_MAX
310     _SC_SCHAR_MAX,
311 #define	_SC_SCHAR_MAX			_SC_SCHAR_MAX
312     _SC_SCHAR_MIN,
313 #define	_SC_SCHAR_MIN			_SC_SCHAR_MIN
314     _SC_SHRT_MAX,
315 #define	_SC_SHRT_MAX			_SC_SHRT_MAX
316     _SC_SHRT_MIN,
317 #define	_SC_SHRT_MIN			_SC_SHRT_MIN
318     _SC_UCHAR_MAX,
319 #define	_SC_UCHAR_MAX			_SC_UCHAR_MAX
320     _SC_UINT_MAX,
321 #define	_SC_UINT_MAX			_SC_UINT_MAX
322     _SC_ULONG_MAX,
323 #define	_SC_ULONG_MAX			_SC_ULONG_MAX
324     _SC_USHRT_MAX,
325 #define	_SC_USHRT_MAX			_SC_USHRT_MAX
326 
327     _SC_NL_ARGMAX,
328 #define	_SC_NL_ARGMAX			_SC_NL_ARGMAX
329     _SC_NL_LANGMAX,
330 #define	_SC_NL_LANGMAX			_SC_NL_LANGMAX
331     _SC_NL_MSGMAX,
332 #define	_SC_NL_MSGMAX			_SC_NL_MSGMAX
333     _SC_NL_NMAX,
334 #define	_SC_NL_NMAX			_SC_NL_NMAX
335     _SC_NL_SETMAX,
336 #define	_SC_NL_SETMAX			_SC_NL_SETMAX
337     _SC_NL_TEXTMAX,
338 #define	_SC_NL_TEXTMAX			_SC_NL_TEXTMAX
339 
340     _SC_XBS5_ILP32_OFF32,
341 #define _SC_XBS5_ILP32_OFF32		_SC_XBS5_ILP32_OFF32
342     _SC_XBS5_ILP32_OFFBIG,
343 #define _SC_XBS5_ILP32_OFFBIG		_SC_XBS5_ILP32_OFFBIG
344     _SC_XBS5_LP64_OFF64,
345 #define _SC_XBS5_LP64_OFF64		_SC_XBS5_LP64_OFF64
346     _SC_XBS5_LPBIG_OFFBIG,
347 #define _SC_XBS5_LPBIG_OFFBIG		_SC_XBS5_LPBIG_OFFBIG
348 
349     _SC_XOPEN_LEGACY,
350 #define _SC_XOPEN_LEGACY		_SC_XOPEN_LEGACY
351     _SC_XOPEN_REALTIME,
352 #define _SC_XOPEN_REALTIME		_SC_XOPEN_REALTIME
353     _SC_XOPEN_REALTIME_THREADS,
354 #define _SC_XOPEN_REALTIME_THREADS	_SC_XOPEN_REALTIME_THREADS
355 
356     _SC_ADVISORY_INFO,
357 #define _SC_ADVISORY_INFO		_SC_ADVISORY_INFO
358     _SC_BARRIERS,
359 #define _SC_BARRIERS			_SC_BARRIERS
360     _SC_BASE,
361 #define _SC_BASE			_SC_BASE
362     _SC_C_LANG_SUPPORT,
363 #define _SC_C_LANG_SUPPORT		_SC_C_LANG_SUPPORT
364     _SC_C_LANG_SUPPORT_R,
365 #define _SC_C_LANG_SUPPORT_R		_SC_C_LANG_SUPPORT_R
366     _SC_CLOCK_SELECTION,
367 #define _SC_CLOCK_SELECTION		_SC_CLOCK_SELECTION
368     _SC_CPUTIME,
369 #define _SC_CPUTIME			_SC_CPUTIME
370     _SC_THREAD_CPUTIME,
371 #define _SC_THREAD_CPUTIME		_SC_THREAD_CPUTIME
372     _SC_DEVICE_IO,
373 #define _SC_DEVICE_IO			_SC_DEVICE_IO
374     _SC_DEVICE_SPECIFIC,
375 #define _SC_DEVICE_SPECIFIC		_SC_DEVICE_SPECIFIC
376     _SC_DEVICE_SPECIFIC_R,
377 #define _SC_DEVICE_SPECIFIC_R		_SC_DEVICE_SPECIFIC_R
378     _SC_FD_MGMT,
379 #define _SC_FD_MGMT			_SC_FD_MGMT
380     _SC_FIFO,
381 #define _SC_FIFO			_SC_FIFO
382     _SC_PIPE,
383 #define _SC_PIPE			_SC_PIPE
384     _SC_FILE_ATTRIBUTES,
385 #define _SC_FILE_ATTRIBUTES		_SC_FILE_ATTRIBUTES
386     _SC_FILE_LOCKING,
387 #define _SC_FILE_LOCKING		_SC_FILE_LOCKING
388     _SC_FILE_SYSTEM,
389 #define _SC_FILE_SYSTEM			_SC_FILE_SYSTEM
390     _SC_MONOTONIC_CLOCK,
391 #define _SC_MONOTONIC_CLOCK		_SC_MONOTONIC_CLOCK
392     _SC_MULTI_PROCESS,
393 #define _SC_MULTI_PROCESS		_SC_MULTI_PROCESS
394     _SC_SINGLE_PROCESS,
395 #define _SC_SINGLE_PROCESS		_SC_SINGLE_PROCESS
396     _SC_NETWORKING,
397 #define _SC_NETWORKING			_SC_NETWORKING
398     _SC_READER_WRITER_LOCKS,
399 #define _SC_READER_WRITER_LOCKS		_SC_READER_WRITER_LOCKS
400     _SC_SPIN_LOCKS,
401 #define _SC_SPIN_LOCKS			_SC_SPIN_LOCKS
402     _SC_REGEXP,
403 #define _SC_REGEXP			_SC_REGEXP
404     _SC_REGEX_VERSION,
405 #define _SC_REGEX_VERSION		_SC_REGEX_VERSION
406     _SC_SHELL,
407 #define _SC_SHELL			_SC_SHELL
408     _SC_SIGNALS,
409 #define _SC_SIGNALS			_SC_SIGNALS
410     _SC_SPAWN,
411 #define _SC_SPAWN			_SC_SPAWN
412     _SC_SPORADIC_SERVER,
413 #define _SC_SPORADIC_SERVER		_SC_SPORADIC_SERVER
414     _SC_THREAD_SPORADIC_SERVER,
415 #define _SC_THREAD_SPORADIC_SERVER	_SC_THREAD_SPORADIC_SERVER
416     _SC_SYSTEM_DATABASE,
417 #define _SC_SYSTEM_DATABASE		_SC_SYSTEM_DATABASE
418     _SC_SYSTEM_DATABASE_R,
419 #define _SC_SYSTEM_DATABASE_R		_SC_SYSTEM_DATABASE_R
420     _SC_TIMEOUTS,
421 #define _SC_TIMEOUTS			_SC_TIMEOUTS
422     _SC_TYPED_MEMORY_OBJECTS,
423 #define _SC_TYPED_MEMORY_OBJECTS	_SC_TYPED_MEMORY_OBJECTS
424     _SC_USER_GROUPS,
425 #define _SC_USER_GROUPS			_SC_USER_GROUPS
426     _SC_USER_GROUPS_R,
427 #define _SC_USER_GROUPS_R		_SC_USER_GROUPS_R
428     _SC_2_PBS,
429 #define _SC_2_PBS			_SC_2_PBS
430     _SC_2_PBS_ACCOUNTING,
431 #define _SC_2_PBS_ACCOUNTING		_SC_2_PBS_ACCOUNTING
432     _SC_2_PBS_LOCATE,
433 #define _SC_2_PBS_LOCATE		_SC_2_PBS_LOCATE
434     _SC_2_PBS_MESSAGE,
435 #define _SC_2_PBS_MESSAGE		_SC_2_PBS_MESSAGE
436     _SC_2_PBS_TRACK,
437 #define _SC_2_PBS_TRACK			_SC_2_PBS_TRACK
438     _SC_SYMLOOP_MAX,
439 #define _SC_SYMLOOP_MAX			_SC_SYMLOOP_MAX
440     _SC_STREAMS,
441 #define _SC_STREAMS			_SC_STREAMS
442     _SC_2_PBS_CHECKPOINT,
443 #define _SC_2_PBS_CHECKPOINT		_SC_2_PBS_CHECKPOINT
444 
445     _SC_V6_ILP32_OFF32,
446 #define _SC_V6_ILP32_OFF32		_SC_V6_ILP32_OFF32
447     _SC_V6_ILP32_OFFBIG,
448 #define _SC_V6_ILP32_OFFBIG		_SC_V6_ILP32_OFFBIG
449     _SC_V6_LP64_OFF64,
450 #define _SC_V6_LP64_OFF64		_SC_V6_LP64_OFF64
451     _SC_V6_LPBIG_OFFBIG,
452 #define _SC_V6_LPBIG_OFFBIG		_SC_V6_LPBIG_OFFBIG
453 
454     _SC_HOST_NAME_MAX,
455 #define _SC_HOST_NAME_MAX		_SC_HOST_NAME_MAX
456     _SC_TRACE,
457 #define _SC_TRACE			_SC_TRACE
458     _SC_TRACE_EVENT_FILTER,
459 #define _SC_TRACE_EVENT_FILTER		_SC_TRACE_EVENT_FILTER
460     _SC_TRACE_INHERIT,
461 #define _SC_TRACE_INHERIT		_SC_TRACE_INHERIT
462     _SC_TRACE_LOG,
463 #define _SC_TRACE_LOG			_SC_TRACE_LOG
464 
465     _SC_LEVEL1_ICACHE_SIZE,
466 #define _SC_LEVEL1_ICACHE_SIZE		_SC_LEVEL1_ICACHE_SIZE
467     _SC_LEVEL1_ICACHE_ASSOC,
468 #define _SC_LEVEL1_ICACHE_ASSOC		_SC_LEVEL1_ICACHE_ASSOC
469     _SC_LEVEL1_ICACHE_LINESIZE,
470 #define _SC_LEVEL1_ICACHE_LINESIZE	_SC_LEVEL1_ICACHE_LINESIZE
471     _SC_LEVEL1_DCACHE_SIZE,
472 #define _SC_LEVEL1_DCACHE_SIZE		_SC_LEVEL1_DCACHE_SIZE
473     _SC_LEVEL1_DCACHE_ASSOC,
474 #define _SC_LEVEL1_DCACHE_ASSOC		_SC_LEVEL1_DCACHE_ASSOC
475     _SC_LEVEL1_DCACHE_LINESIZE,
476 #define _SC_LEVEL1_DCACHE_LINESIZE	_SC_LEVEL1_DCACHE_LINESIZE
477     _SC_LEVEL2_CACHE_SIZE,
478 #define _SC_LEVEL2_CACHE_SIZE		_SC_LEVEL2_CACHE_SIZE
479     _SC_LEVEL2_CACHE_ASSOC,
480 #define _SC_LEVEL2_CACHE_ASSOC		_SC_LEVEL2_CACHE_ASSOC
481     _SC_LEVEL2_CACHE_LINESIZE,
482 #define _SC_LEVEL2_CACHE_LINESIZE	_SC_LEVEL2_CACHE_LINESIZE
483     _SC_LEVEL3_CACHE_SIZE,
484 #define _SC_LEVEL3_CACHE_SIZE		_SC_LEVEL3_CACHE_SIZE
485     _SC_LEVEL3_CACHE_ASSOC,
486 #define _SC_LEVEL3_CACHE_ASSOC		_SC_LEVEL3_CACHE_ASSOC
487     _SC_LEVEL3_CACHE_LINESIZE,
488 #define _SC_LEVEL3_CACHE_LINESIZE	_SC_LEVEL3_CACHE_LINESIZE
489     _SC_LEVEL4_CACHE_SIZE,
490 #define _SC_LEVEL4_CACHE_SIZE		_SC_LEVEL4_CACHE_SIZE
491     _SC_LEVEL4_CACHE_ASSOC,
492 #define _SC_LEVEL4_CACHE_ASSOC		_SC_LEVEL4_CACHE_ASSOC
493     _SC_LEVEL4_CACHE_LINESIZE,
494 #define _SC_LEVEL4_CACHE_LINESIZE	_SC_LEVEL4_CACHE_LINESIZE
495     /* Leave room here, maybe we need a few more cache levels some day.  */
496 
497     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
498 #define _SC_IPV6			_SC_IPV6
499     _SC_RAW_SOCKETS,
500 #define _SC_RAW_SOCKETS			_SC_RAW_SOCKETS
501 
502     _SC_V7_ILP32_OFF32,
503 #define _SC_V7_ILP32_OFF32		_SC_V7_ILP32_OFF32
504     _SC_V7_ILP32_OFFBIG,
505 #define _SC_V7_ILP32_OFFBIG		_SC_V7_ILP32_OFFBIG
506     _SC_V7_LP64_OFF64,
507 #define _SC_V7_LP64_OFF64		_SC_V7_LP64_OFF64
508     _SC_V7_LPBIG_OFFBIG,
509 #define _SC_V7_LPBIG_OFFBIG		_SC_V7_LPBIG_OFFBIG
510 
511     _SC_SS_REPL_MAX,
512 #define _SC_SS_REPL_MAX			_SC_SS_REPL_MAX
513 
514     _SC_TRACE_EVENT_NAME_MAX,
515 #define _SC_TRACE_EVENT_NAME_MAX	_SC_TRACE_EVENT_NAME_MAX
516     _SC_TRACE_NAME_MAX,
517 #define _SC_TRACE_NAME_MAX		_SC_TRACE_NAME_MAX
518     _SC_TRACE_SYS_MAX,
519 #define _SC_TRACE_SYS_MAX		_SC_TRACE_SYS_MAX
520     _SC_TRACE_USER_EVENT_MAX,
521 #define _SC_TRACE_USER_EVENT_MAX	_SC_TRACE_USER_EVENT_MAX
522 
523     _SC_XOPEN_STREAMS,
524 #define _SC_XOPEN_STREAMS		_SC_XOPEN_STREAMS
525 
526     _SC_THREAD_ROBUST_PRIO_INHERIT,
527 #define _SC_THREAD_ROBUST_PRIO_INHERIT	_SC_THREAD_ROBUST_PRIO_INHERIT
528     _SC_THREAD_ROBUST_PRIO_PROTECT,
529 #define _SC_THREAD_ROBUST_PRIO_PROTECT	_SC_THREAD_ROBUST_PRIO_PROTECT
530 
531     _SC_MINSIGSTKSZ,
532 #define	_SC_MINSIGSTKSZ			_SC_MINSIGSTKSZ
533 
534     _SC_SIGSTKSZ
535 #define	_SC_SIGSTKSZ			_SC_SIGSTKSZ
536   };
537 
538 /* Values for the NAME argument to `confstr'.  */
539 enum
540   {
541     _CS_PATH,			/* The default search path.  */
542 #define _CS_PATH		_CS_PATH
543 
544     _CS_V6_WIDTH_RESTRICTED_ENVS,
545 #define _CS_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS
546 #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS
547 
548     _CS_GNU_LIBC_VERSION,
549 #define _CS_GNU_LIBC_VERSION	_CS_GNU_LIBC_VERSION
550     _CS_GNU_LIBPTHREAD_VERSION,
551 #define _CS_GNU_LIBPTHREAD_VERSION	_CS_GNU_LIBPTHREAD_VERSION
552 
553     _CS_V5_WIDTH_RESTRICTED_ENVS,
554 #define _CS_V5_WIDTH_RESTRICTED_ENVS	_CS_V5_WIDTH_RESTRICTED_ENVS
555 #define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS	_CS_V5_WIDTH_RESTRICTED_ENVS
556 
557     _CS_V7_WIDTH_RESTRICTED_ENVS,
558 #define _CS_V7_WIDTH_RESTRICTED_ENVS	_CS_V7_WIDTH_RESTRICTED_ENVS
559 #define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS	_CS_V7_WIDTH_RESTRICTED_ENVS
560 
561     _CS_LFS_CFLAGS = 1000,
562 #define _CS_LFS_CFLAGS	_CS_LFS_CFLAGS
563     _CS_LFS_LDFLAGS,
564 #define _CS_LFS_LDFLAGS	_CS_LFS_LDFLAGS
565     _CS_LFS_LIBS,
566 #define _CS_LFS_LIBS		_CS_LFS_LIBS
567     _CS_LFS_LINTFLAGS,
568 #define _CS_LFS_LINTFLAGS	_CS_LFS_LINTFLAGS
569     _CS_LFS64_CFLAGS,
570 #define _CS_LFS64_CFLAGS	_CS_LFS64_CFLAGS
571     _CS_LFS64_LDFLAGS,
572 #define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS
573     _CS_LFS64_LIBS,
574 #define _CS_LFS64_LIBS	_CS_LFS64_LIBS
575     _CS_LFS64_LINTFLAGS,
576 #define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS
577 
578     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
579 #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
580     _CS_XBS5_ILP32_OFF32_LDFLAGS,
581 #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
582     _CS_XBS5_ILP32_OFF32_LIBS,
583 #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
584     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
585 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
586     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
587 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
588     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
589 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
590     _CS_XBS5_ILP32_OFFBIG_LIBS,
591 #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
592     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
593 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
594     _CS_XBS5_LP64_OFF64_CFLAGS,
595 #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
596     _CS_XBS5_LP64_OFF64_LDFLAGS,
597 #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
598     _CS_XBS5_LP64_OFF64_LIBS,
599 #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
600     _CS_XBS5_LP64_OFF64_LINTFLAGS,
601 #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
602     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
603 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
604     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
605 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
606     _CS_XBS5_LPBIG_OFFBIG_LIBS,
607 #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
608     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
609 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
610 
611     _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
612 #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
613     _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
614 #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
615     _CS_POSIX_V6_ILP32_OFF32_LIBS,
616 #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
617     _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
618 #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
619     _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
620 #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
621     _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
622 #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
623     _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
624 #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
625     _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
626 #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
627     _CS_POSIX_V6_LP64_OFF64_CFLAGS,
628 #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
629     _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
630 #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
631     _CS_POSIX_V6_LP64_OFF64_LIBS,
632 #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
633     _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
634 #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
635     _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
636 #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
637     _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
638 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
639     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
640 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
641     _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
642 #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
643 
644     _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
645 #define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
646     _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
647 #define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
648     _CS_POSIX_V7_ILP32_OFF32_LIBS,
649 #define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
650     _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
651 #define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
652     _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
653 #define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
654     _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
655 #define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
656     _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
657 #define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
658     _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
659 #define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
660     _CS_POSIX_V7_LP64_OFF64_CFLAGS,
661 #define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
662     _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
663 #define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
664     _CS_POSIX_V7_LP64_OFF64_LIBS,
665 #define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
666     _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
667 #define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
668     _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
669 #define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
670     _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
671 #define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
672     _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
673 #define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
674     _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
675 #define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
676 
677     _CS_V6_ENV,
678 #define _CS_V6_ENV			_CS_V6_ENV
679     _CS_V7_ENV
680 #define _CS_V7_ENV			_CS_V7_ENV
681   };
682