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