master
  1/* `sysconf', `pathconf', and `confstr' NAME values.  Generic version.
  2   Copyright (C) 1993-2025 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'.  */
 24enum
 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'.  */
 71enum
 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'.  */
539enum
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  };