]> git.ipfire.org Git - thirdparty/gcc.git/blame - libphobos/libdruntime/core/sys/posix/unistd.d
libphobos: Merge upstream druntime 94686651
[thirdparty/gcc.git] / libphobos / libdruntime / core / sys / posix / unistd.d
CommitLineData
b4c522fa
IB
1/**
2 * D header file for POSIX.
3 *
4 * Copyright: Copyright Sean Kelly 2005 - 2009.
5 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
6 * Authors: Sean Kelly
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8 */
9
10/* Copyright Sean Kelly 2005 - 2009.
11 * Distributed under the Boost Software License, Version 1.0.
12 * (See accompanying file LICENSE or copy at
13 * http://www.boost.org/LICENSE_1_0.txt)
14 */
15module core.sys.posix.unistd;
16
17private import core.sys.posix.config;
18private import core.stdc.stddef;
19public import core.sys.posix.inttypes; // for intptr_t
20public import core.sys.posix.sys.types; // for ssize_t, uid_t, gid_t, off_t, pid_t, useconds_t
21
22version (OSX)
23 version = Darwin;
24else version (iOS)
25 version = Darwin;
26else version (TVOS)
27 version = Darwin;
28else version (WatchOS)
29 version = Darwin;
30
31version (Posix):
32extern (C):
33nothrow:
34@nogc:
35
36enum STDIN_FILENO = 0;
37enum STDOUT_FILENO = 1;
38enum STDERR_FILENO = 2;
39
40extern __gshared char* optarg;
41extern __gshared int optind;
42extern __gshared int opterr;
43extern __gshared int optopt;
44
45int access(in char*, int);
46uint alarm(uint) @trusted;
47int chdir(in char*);
48int chown(in char*, uid_t, gid_t);
49int close(int) @trusted;
50size_t confstr(int, char*, size_t);
51int dup(int) @trusted;
52int dup2(int, int) @trusted;
53int execl(in char*, in char*, ...);
54int execle(in char*, in char*, ...);
55int execlp(in char*, in char*, ...);
56int execv(in char*, in char**);
57int execve(in char*, in char**, in char**);
58int execvp(in char*, in char**);
59void _exit(int) @trusted;
60int fchown(int, uid_t, gid_t) @trusted;
61pid_t fork() @trusted;
62c_long fpathconf(int, int) @trusted;
63//int ftruncate(int, off_t);
64char* getcwd(char*, size_t);
65gid_t getegid() @trusted;
66uid_t geteuid() @trusted;
67gid_t getgid() @trusted;
68int getgroups(int, gid_t *);
69int gethostname(char*, size_t);
70char* getlogin() @trusted;
71int getlogin_r(char*, size_t);
72int getopt(int, in char**, in char*);
73pid_t getpgrp() @trusted;
74pid_t getpid() @trusted;
75pid_t getppid() @trusted;
76uid_t getuid() @trusted;
77int isatty(int) @trusted;
78int link(in char*, in char*);
79//off_t lseek(int, off_t, int);
80c_long pathconf(in char*, int);
81int pause() @trusted;
82int pipe(ref int[2]) @trusted;
83ssize_t read(int, void*, size_t);
84ssize_t readlink(in char*, char*, size_t);
85int rmdir(in char*);
86int setegid(gid_t) @trusted;
87int seteuid(uid_t) @trusted;
88int setgid(gid_t) @trusted;
89int setgroups(size_t, in gid_t*) @trusted;
90int setpgid(pid_t, pid_t) @trusted;
91pid_t setsid() @trusted;
92int setuid(uid_t) @trusted;
93uint sleep(uint) @trusted;
94int symlink(in char*, in char*);
95c_long sysconf(int) @trusted;
96pid_t tcgetpgrp(int) @trusted;
97int tcsetpgrp(int, pid_t) @trusted;
98char* ttyname(int) @trusted;
99int ttyname_r(int, char*, size_t);
100int unlink(in char*);
101ssize_t write(int, in void*, size_t);
102
103version (CRuntime_Glibc)
104{
105 static if ( __USE_FILE_OFFSET64 )
106 {
107 off_t lseek64(int, off_t, int) @trusted;
108 alias lseek64 lseek;
109 }
110 else
111 {
112 off_t lseek(int, off_t, int) @trusted;
113 }
114 static if ( __USE_LARGEFILE64 )
115 {
116 int ftruncate64(int, off_t) @trusted;
117 alias ftruncate64 ftruncate;
118 }
119 else
120 {
121 int ftruncate(int, off_t) @trusted;
122 }
123}
124else version (FreeBSD)
125{
126 off_t lseek(int, off_t, int) @trusted;
127 int ftruncate(int, off_t) @trusted;
128}
129else version (NetBSD)
130{
131 off_t lseek(int, off_t, int) @trusted;
132 int ftruncate(int, off_t) @trusted;
133}
0234a917
IB
134else version (OpenBSD)
135{
136 off_t lseek(int, off_t, int) @trusted;
137 int ftruncate(int, off_t) @trusted;
138}
b4c522fa
IB
139else version (DragonFlyBSD)
140{
141 off_t lseek(int, off_t, int) @trusted;
142 int ftruncate(int, off_t) @trusted;
143}
144else version (Solaris)
145{
146 version (D_LP64)
147 {
148 off_t lseek(int, off_t, int) @trusted;
149 alias lseek lseek64;
150
151 int ftruncate(int, off_t) @trusted;
152 alias ftruncate ftruncate64;
153 }
154 else
155 {
156 static if ( __USE_LARGEFILE64 )
157 {
158 off64_t lseek64(int, off64_t, int) @trusted;
159 alias lseek64 lseek;
160
161 int ftruncate64(int, off64_t) @trusted;
162 alias ftruncate64 ftruncate;
163 }
164 else
165 {
166 off_t lseek(int, off_t, int) @trusted;
167 int ftruncate(int, off_t) @trusted;
168 }
169 }
170}
171else version (Darwin)
172{
173 off_t lseek(int, off_t, int) @trusted;
174 int ftruncate(int, off_t) @trusted;
175}
176else version (CRuntime_Bionic)
177{
178 off_t lseek(int, off_t, int) @trusted;
179 int ftruncate(int, off_t) @trusted;
180}
181else version (CRuntime_Musl)
182{
183 int ftruncate(int, off_t) @trusted;
184 off_t lseek(int, off_t, int) @trusted;
185 alias ftruncate ftruncate64;
186 alias lseek lseek64;
187}
188else version (CRuntime_UClibc)
189{
190 static if ( __USE_FILE_OFFSET64 )
191 {
192 off_t lseek64(int, off_t, int) @trusted;
193 alias lseek64 lseek;
194 }
195 else
196 {
197 off_t lseek(int, off_t, int) @trusted;
198 }
199 static if ( __USE_LARGEFILE64 )
200 {
201 int ftruncate64(int, off_t) @trusted;
202 alias ftruncate64 ftruncate;
203 }
204 else
205 {
206 int ftruncate(int, off_t) @trusted;
207 }
208}
209
210version (CRuntime_Glibc)
211{
212 enum F_OK = 0;
213 enum R_OK = 4;
214 enum W_OK = 2;
215 enum X_OK = 1;
216
217 enum F_ULOCK = 0;
218 enum F_LOCK = 1;
219 enum F_TLOCK = 2;
220 enum F_TEST = 3;
221
222 enum
223 {
224 _CS_PATH,
225
226 _CS_V6_WIDTH_RESTRICTED_ENVS,
227
228 _CS_GNU_LIBC_VERSION,
229 _CS_GNU_LIBPTHREAD_VERSION,
230
231 _CS_LFS_CFLAGS = 1000,
232 _CS_LFS_LDFLAGS,
233 _CS_LFS_LIBS,
234 _CS_LFS_LINTFLAGS,
235 _CS_LFS64_CFLAGS,
236 _CS_LFS64_LDFLAGS,
237 _CS_LFS64_LIBS,
238 _CS_LFS64_LINTFLAGS,
239
240 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
241 _CS_XBS5_ILP32_OFF32_LDFLAGS,
242 _CS_XBS5_ILP32_OFF32_LIBS,
243 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
244 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
245 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
246 _CS_XBS5_ILP32_OFFBIG_LIBS,
247 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
248 _CS_XBS5_LP64_OFF64_CFLAGS,
249 _CS_XBS5_LP64_OFF64_LDFLAGS,
250 _CS_XBS5_LP64_OFF64_LIBS,
251 _CS_XBS5_LP64_OFF64_LINTFLAGS,
252 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
253 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
254 _CS_XBS5_LPBIG_OFFBIG_LIBS,
255 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
256
257 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
258 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
259 _CS_POSIX_V6_ILP32_OFF32_LIBS,
260 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
261 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
262 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
263 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
264 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
265 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
266 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
267 _CS_POSIX_V6_LP64_OFF64_LIBS,
268 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
269 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
270 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
271 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
272 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
273 }
274
275 enum
276 {
277 _PC_LINK_MAX,
278 _PC_MAX_CANON,
279 _PC_MAX_INPUT,
280 _PC_NAME_MAX,
281 _PC_PATH_MAX,
282 _PC_PIPE_BUF,
283 _PC_CHOWN_RESTRICTED,
284 _PC_NO_TRUNC,
285 _PC_VDISABLE,
286 _PC_SYNC_IO,
287 _PC_ASYNC_IO,
288 _PC_PRIO_IO,
289 _PC_SOCK_MAXBUF,
290 _PC_FILESIZEBITS,
291 _PC_REC_INCR_XFER_SIZE,
292 _PC_REC_MAX_XFER_SIZE,
293 _PC_REC_MIN_XFER_SIZE,
294 _PC_REC_XFER_ALIGN,
295 _PC_ALLOC_SIZE_MIN,
296 _PC_SYMLINK_MAX,
297 _PC_2_SYMLINKS
298 }
299
300 enum
301 {
302 _SC_ARG_MAX,
303 _SC_CHILD_MAX,
304 _SC_CLK_TCK,
305 _SC_NGROUPS_MAX,
306 _SC_OPEN_MAX,
307 _SC_STREAM_MAX,
308 _SC_TZNAME_MAX,
309 _SC_JOB_CONTROL,
310 _SC_SAVED_IDS,
311 _SC_REALTIME_SIGNALS,
312 _SC_PRIORITY_SCHEDULING,
313 _SC_TIMERS,
314 _SC_ASYNCHRONOUS_IO,
315 _SC_PRIORITIZED_IO,
316 _SC_SYNCHRONIZED_IO,
317 _SC_FSYNC,
318 _SC_MAPPED_FILES,
319 _SC_MEMLOCK,
320 _SC_MEMLOCK_RANGE,
321 _SC_MEMORY_PROTECTION,
322 _SC_MESSAGE_PASSING,
323 _SC_SEMAPHORES,
324 _SC_SHARED_MEMORY_OBJECTS,
325 _SC_AIO_LISTIO_MAX,
326 _SC_AIO_MAX,
327 _SC_AIO_PRIO_DELTA_MAX,
328 _SC_DELAYTIMER_MAX,
329 _SC_MQ_OPEN_MAX,
330 _SC_MQ_PRIO_MAX,
331 _SC_VERSION,
332 _SC_PAGESIZE,
333 _SC_PAGE_SIZE = _SC_PAGESIZE,
334 _SC_RTSIG_MAX,
335 _SC_SEM_NSEMS_MAX,
336 _SC_SEM_VALUE_MAX,
337 _SC_SIGQUEUE_MAX,
338 _SC_TIMER_MAX,
339
340 _SC_BC_BASE_MAX,
341 _SC_BC_DIM_MAX,
342 _SC_BC_SCALE_MAX,
343 _SC_BC_STRING_MAX,
344 _SC_COLL_WEIGHTS_MAX,
345 _SC_EQUIV_CLASS_MAX,
346 _SC_EXPR_NEST_MAX,
347 _SC_LINE_MAX,
348 _SC_RE_DUP_MAX,
349 _SC_CHARCLASS_NAME_MAX,
350
351 _SC_2_VERSION,
352 _SC_2_C_BIND,
353 _SC_2_C_DEV,
354 _SC_2_FORT_DEV,
355 _SC_2_FORT_RUN,
356 _SC_2_SW_DEV,
357 _SC_2_LOCALEDEF,
358
359 _SC_PII,
360 _SC_PII_XTI,
361 _SC_PII_SOCKET,
362 _SC_PII_INTERNET,
363 _SC_PII_OSI,
364 _SC_POLL,
365 _SC_SELECT,
366 _SC_UIO_MAXIOV,
367 _SC_IOV_MAX = _SC_UIO_MAXIOV,
368 _SC_PII_INTERNET_STREAM,
369 _SC_PII_INTERNET_DGRAM,
370 _SC_PII_OSI_COTS,
371 _SC_PII_OSI_CLTS,
372 _SC_PII_OSI_M,
373 _SC_T_IOV_MAX,
374
375 _SC_THREADS,
376 _SC_THREAD_SAFE_FUNCTIONS,
377 _SC_GETGR_R_SIZE_MAX,
378 _SC_GETPW_R_SIZE_MAX,
379 _SC_LOGIN_NAME_MAX,
380 _SC_TTY_NAME_MAX,
381 _SC_THREAD_DESTRUCTOR_ITERATIONS,
382 _SC_THREAD_KEYS_MAX,
383 _SC_THREAD_STACK_MIN,
384 _SC_THREAD_THREADS_MAX,
385 _SC_THREAD_ATTR_STACKADDR,
386 _SC_THREAD_ATTR_STACKSIZE,
387 _SC_THREAD_PRIORITY_SCHEDULING,
388 _SC_THREAD_PRIO_INHERIT,
389 _SC_THREAD_PRIO_PROTECT,
390 _SC_THREAD_PROCESS_SHARED,
391
392 _SC_NPROCESSORS_CONF,
393 _SC_NPROCESSORS_ONLN,
394 _SC_PHYS_PAGES,
395 _SC_AVPHYS_PAGES,
396 _SC_ATEXIT_MAX,
397 _SC_PASS_MAX,
398
399 _SC_XOPEN_VERSION,
400 _SC_XOPEN_XCU_VERSION,
401 _SC_XOPEN_UNIX,
402 _SC_XOPEN_CRYPT,
403 _SC_XOPEN_ENH_I18N,
404 _SC_XOPEN_SHM,
405
406 _SC_2_CHAR_TERM,
407 _SC_2_C_VERSION,
408 _SC_2_UPE,
409
410 _SC_XOPEN_XPG2,
411 _SC_XOPEN_XPG3,
412 _SC_XOPEN_XPG4,
413
414 _SC_CHAR_BIT,
415 _SC_CHAR_MAX,
416 _SC_CHAR_MIN,
417 _SC_INT_MAX,
418 _SC_INT_MIN,
419 _SC_LONG_BIT,
420 _SC_WORD_BIT,
421 _SC_MB_LEN_MAX,
422 _SC_NZERO,
423 _SC_SSIZE_MAX,
424 _SC_SCHAR_MAX,
425 _SC_SCHAR_MIN,
426 _SC_SHRT_MAX,
427 _SC_SHRT_MIN,
428 _SC_UCHAR_MAX,
429 _SC_UINT_MAX,
430 _SC_ULONG_MAX,
431 _SC_USHRT_MAX,
432
433 _SC_NL_ARGMAX,
434 _SC_NL_LANGMAX,
435 _SC_NL_MSGMAX,
436 _SC_NL_NMAX,
437 _SC_NL_SETMAX,
438 _SC_NL_TEXTMAX,
439
440 _SC_XBS5_ILP32_OFF32,
441 _SC_XBS5_ILP32_OFFBIG,
442 _SC_XBS5_LP64_OFF64,
443 _SC_XBS5_LPBIG_OFFBIG,
444
445 _SC_XOPEN_LEGACY,
446 _SC_XOPEN_REALTIME,
447 _SC_XOPEN_REALTIME_THREADS,
448
449 _SC_ADVISORY_INFO,
450 _SC_BARRIERS,
451 _SC_BASE,
452 _SC_C_LANG_SUPPORT,
453 _SC_C_LANG_SUPPORT_R,
454 _SC_CLOCK_SELECTION,
455 _SC_CPUTIME,
456 _SC_THREAD_CPUTIME,
457 _SC_DEVICE_IO,
458 _SC_DEVICE_SPECIFIC,
459 _SC_DEVICE_SPECIFIC_R,
460 _SC_FD_MGMT,
461 _SC_FIFO,
462 _SC_PIPE,
463 _SC_FILE_ATTRIBUTES,
464 _SC_FILE_LOCKING,
465 _SC_FILE_SYSTEM,
466 _SC_MONOTONIC_CLOCK,
467 _SC_MULTI_PROCESS,
468 _SC_SINGLE_PROCESS,
469 _SC_NETWORKING,
470 _SC_READER_WRITER_LOCKS,
471 _SC_SPIN_LOCKS,
472 _SC_REGEXP,
473 _SC_REGEX_VERSION,
474 _SC_SHELL,
475 _SC_SIGNALS,
476 _SC_SPAWN,
477 _SC_SPORADIC_SERVER,
478 _SC_THREAD_SPORADIC_SERVER,
479 _SC_SYSTEM_DATABASE,
480 _SC_SYSTEM_DATABASE_R,
481 _SC_TIMEOUTS,
482 _SC_TYPED_MEMORY_OBJECTS,
483 _SC_USER_GROUPS,
484 _SC_USER_GROUPS_R,
485 _SC_2_PBS,
486 _SC_2_PBS_ACCOUNTING,
487 _SC_2_PBS_LOCATE,
488 _SC_2_PBS_MESSAGE,
489 _SC_2_PBS_TRACK,
490 _SC_SYMLOOP_MAX,
491 _SC_STREAMS,
492 _SC_2_PBS_CHECKPOINT,
493
494 _SC_V6_ILP32_OFF32,
495 _SC_V6_ILP32_OFFBIG,
496 _SC_V6_LP64_OFF64,
497 _SC_V6_LPBIG_OFFBIG,
498
499 _SC_HOST_NAME_MAX,
500 _SC_TRACE,
501 _SC_TRACE_EVENT_FILTER,
502 _SC_TRACE_INHERIT,
503 _SC_TRACE_LOG,
504
505 _SC_LEVEL1_ICACHE_SIZE,
506 _SC_LEVEL1_ICACHE_ASSOC,
507 _SC_LEVEL1_ICACHE_LINESIZE,
508 _SC_LEVEL1_DCACHE_SIZE,
509 _SC_LEVEL1_DCACHE_ASSOC,
510 _SC_LEVEL1_DCACHE_LINESIZE,
511 _SC_LEVEL2_CACHE_SIZE,
512 _SC_LEVEL2_CACHE_ASSOC,
513 _SC_LEVEL2_CACHE_LINESIZE,
514 _SC_LEVEL3_CACHE_SIZE,
515 _SC_LEVEL3_CACHE_ASSOC,
516 _SC_LEVEL3_CACHE_LINESIZE,
517 _SC_LEVEL4_CACHE_SIZE,
518 _SC_LEVEL4_CACHE_ASSOC,
519 _SC_LEVEL4_CACHE_LINESIZE,
520
521 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
522 _SC_RAW_SOCKETS
523 }
524}
525else version (Darwin)
526{
527 enum F_OK = 0;
528 enum R_OK = 4;
529 enum W_OK = 2;
530 enum X_OK = 1;
531
532 enum F_ULOCK = 0;
533 enum F_LOCK = 1;
534 enum F_TLOCK = 2;
535 enum F_TEST = 3;
536
537 enum
538 {
539 _SC_ARG_MAX = 1,
540 _SC_CHILD_MAX = 2,
541 _SC_CLK_TCK = 3,
542 _SC_NGROUPS_MAX = 4,
543 _SC_OPEN_MAX = 5,
544 _SC_JOB_CONTROL = 6,
545 _SC_SAVED_IDS = 7,
546 _SC_VERSION = 8,
547 _SC_BC_BASE_MAX = 9,
548 _SC_BC_DIM_MAX = 10,
549 _SC_BC_SCALE_MAX = 11,
550 _SC_BC_STRING_MAX = 12,
551 _SC_COLL_WEIGHTS_MAX = 13,
552 _SC_EXPR_NEST_MAX = 14,
553 _SC_LINE_MAX = 15,
554 _SC_RE_DUP_MAX = 16,
555 _SC_2_VERSION = 17,
556 _SC_2_C_BIND = 18,
557 _SC_2_C_DEV = 19,
558 _SC_2_CHAR_TERM = 20,
559 _SC_2_FORT_DEV = 21,
560 _SC_2_FORT_RUN = 22,
561 _SC_2_LOCALEDEF = 23,
562 _SC_2_SW_DEV = 24,
563 _SC_2_UPE = 25,
564 _SC_STREAM_MAX = 26,
565 _SC_TZNAME_MAX = 27,
566 _SC_ASYNCHRONOUS_IO = 28,
567 _SC_PAGESIZE = 29,
568 _SC_MEMLOCK = 30,
569 _SC_MEMLOCK_RANGE = 31,
570 _SC_MEMORY_PROTECTION = 32,
571 _SC_MESSAGE_PASSING = 33,
572 _SC_PRIORITIZED_IO = 34,
573 _SC_PRIORITY_SCHEDULING = 35,
574 _SC_REALTIME_SIGNALS = 36,
575 _SC_SEMAPHORES = 37,
576 _SC_FSYNC = 38,
577 _SC_SHARED_MEMORY_OBJECTS = 39,
578 _SC_SYNCHRONIZED_IO = 40,
579 _SC_TIMERS = 41,
580 _SC_AIO_LISTIO_MAX = 42,
581 _SC_AIO_MAX = 43,
582 _SC_AIO_PRIO_DELTA_MAX = 44,
583 _SC_DELAYTIMER_MAX = 45,
584 _SC_MQ_OPEN_MAX = 46,
585 _SC_MAPPED_FILES = 47,
586 _SC_RTSIG_MAX = 48,
587 _SC_SEM_NSEMS_MAX = 49,
588 _SC_SEM_VALUE_MAX = 50,
589 _SC_SIGQUEUE_MAX = 51,
590 _SC_TIMER_MAX = 52,
591 _SC_IOV_MAX = 56,
592 _SC_NPROCESSORS_CONF = 57,
593 _SC_NPROCESSORS_ONLN = 58,
594 _SC_2_PBS = 59,
595 _SC_2_PBS_ACCOUNTING = 60,
596 _SC_2_PBS_CHECKPOINT = 61,
597 _SC_2_PBS_LOCATE = 62,
598 _SC_2_PBS_MESSAGE = 63,
599 _SC_2_PBS_TRACK = 64,
600 _SC_ADVISORY_INFO = 65,
601 _SC_BARRIERS = 66,
602 _SC_CLOCK_SELECTION = 67,
603 _SC_CPUTIME = 68,
604 _SC_FILE_LOCKING = 69,
605 _SC_GETGR_R_SIZE_MAX = 70,
606 _SC_GETPW_R_SIZE_MAX = 71,
607 _SC_HOST_NAME_MAX = 72,
608 _SC_LOGIN_NAME_MAX = 73,
609 _SC_MONOTONIC_CLOCK = 74,
610 _SC_MQ_PRIO_MAX = 75,
611 _SC_READER_WRITER_LOCKS = 76,
612 _SC_REGEXP = 77,
613 _SC_SHELL = 78,
614 _SC_SPAWN = 79,
615 _SC_SPIN_LOCKS = 80,
616 _SC_SPORADIC_SERVER = 81,
617 _SC_THREAD_ATTR_STACKADDR = 82,
618 _SC_THREAD_ATTR_STACKSIZE = 83,
619 _SC_THREAD_CPUTIME = 84,
620 _SC_THREAD_DESTRUCTOR_ITERATIONS = 85,
621 _SC_THREAD_KEYS_MAX = 86,
622 _SC_THREAD_PRIO_INHERIT = 87,
623 _SC_THREAD_PRIO_PROTECT = 88,
624 _SC_THREAD_PRIORITY_SCHEDULING = 89,
625 _SC_THREAD_PROCESS_SHARED = 90,
626 _SC_THREAD_SAFE_FUNCTIONS = 91,
627 _SC_THREAD_SPORADIC_SERVER = 92,
628 _SC_THREAD_STACK_MIN = 93,
629 _SC_THREAD_THREADS_MAX = 94,
630 _SC_TIMEOUTS = 95,
631 _SC_THREADS = 96,
632 _SC_TRACE = 97,
633 _SC_TRACE_EVENT_FILTER = 98,
634 _SC_TRACE_INHERIT = 99,
635 _SC_TRACE_LOG = 100,
636 _SC_TTY_NAME_MAX = 101,
637 _SC_TYPED_MEMORY_OBJECTS = 102,
638 _SC_V6_ILP32_OFF32 = 103,
639 _SC_V6_ILP32_OFFBIG = 104,
640 _SC_V6_LP64_OFF64 = 105,
641 _SC_V6_LPBIG_OFFBIG = 106,
642 _SC_ATEXIT_MAX = 107,
643 _SC_XOPEN_CRYPT = 108,
644 _SC_XOPEN_ENH_I18N = 109,
645 _SC_XOPEN_LEGACY = 110,
646 _SC_XOPEN_REALTIME = 111,
647 _SC_XOPEN_REALTIME_THREADS = 112,
648 _SC_XOPEN_SHM = 113,
649 _SC_XOPEN_STREAMS = 114,
650 _SC_XOPEN_UNIX = 115,
651 _SC_XOPEN_VERSION = 116,
652 _SC_IPV6 = 118,
653 _SC_RAW_SOCKETS = 119,
654 _SC_SYMLOOP_MAX = 120,
655 _SC_XOPEN_XCU_VERSION = 121,
656 _SC_XBS5_ILP32_OFF32 = 122,
657 _SC_XBS5_ILP32_OFFBIG = 123,
658 _SC_XBS5_LP64_OFF64 = 124,
659 _SC_XBS5_LPBIG_OFFBIG = 125,
660 _SC_SS_REPL_MAX = 126,
661 _SC_TRACE_EVENT_NAME_MAX = 127,
662 _SC_TRACE_NAME_MAX = 128,
663 _SC_TRACE_SYS_MAX = 129,
664 _SC_TRACE_USER_EVENT_MAX = 130,
665 _SC_PASS_MAX = 131,
666 }
667
668 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
669
670 enum
671 {
672 _CS_PATH = 1,
673 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2,
674 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3,
675 _CS_POSIX_V6_ILP32_OFF32_LIBS = 4,
676 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5,
677 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6,
678 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7,
679 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8,
680 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9,
681 _CS_POSIX_V6_LP64_OFF64_LIBS = 10,
682 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11,
683 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12,
684 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13,
685 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14,
686
687 _CS_XBS5_ILP32_OFF32_CFLAGS = 20,
688 _CS_XBS5_ILP32_OFF32_LDFLAGS = 21,
689 _CS_XBS5_ILP32_OFF32_LIBS = 22,
690 _CS_XBS5_ILP32_OFF32_LINTFLAGS = 23,
691 _CS_XBS5_ILP32_OFFBIG_CFLAGS = 24,
692 _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25,
693 _CS_XBS5_ILP32_OFFBIG_LIBS = 26,
694 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27,
695 _CS_XBS5_LP64_OFF64_CFLAGS = 28,
696 _CS_XBS5_LP64_OFF64_LDFLAGS = 29,
697 _CS_XBS5_LP64_OFF64_LIBS = 30,
698 _CS_XBS5_LP64_OFF64_LINTFLAGS = 31,
699 _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32,
700 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33,
701 _CS_XBS5_LPBIG_OFFBIG_LIBS = 34,
702 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35,
703
704 _CS_DARWIN_USER_DIR = 65536,
705 _CS_DARWIN_USER_TEMP_DIR = 65537,
706 _CS_DARWIN_USER_CACHE_DIR = 65538,
707 }
708}
709else version (FreeBSD)
710{
711 enum F_OK = 0;
712 enum R_OK = 0x04;
713 enum W_OK = 0x02;
714 enum X_OK = 0x01;
715
716 enum F_ULOCK = 0;
717 enum F_LOCK = 1;
718 enum F_TLOCK = 2;
719 enum F_TEST = 3;
720
721 enum
722 {
723 _SC_ARG_MAX = 1,
724 _SC_CHILD_MAX = 2,
725 _SC_CLK_TCK = 3,
726 _SC_NGROUPS_MAX = 4,
727 _SC_OPEN_MAX = 5,
728 _SC_JOB_CONTROL = 6,
729 _SC_SAVED_IDS = 7,
730 _SC_VERSION = 8,
731 _SC_BC_BASE_MAX = 9,
732 _SC_BC_DIM_MAX = 10,
733 _SC_BC_SCALE_MAX = 11,
734 _SC_BC_STRING_MAX = 12,
735 _SC_COLL_WEIGHTS_MAX = 13,
736 _SC_EXPR_NEST_MAX = 14,
737 _SC_LINE_MAX = 15,
738 _SC_RE_DUP_MAX = 16,
739 _SC_2_VERSION = 17,
740 _SC_2_C_BIND = 18,
741 _SC_2_C_DEV = 19,
742 _SC_2_CHAR_TERM = 20,
743 _SC_2_FORT_DEV = 21,
744 _SC_2_FORT_RUN = 22,
745 _SC_2_LOCALEDEF = 23,
746 _SC_2_SW_DEV = 24,
747 _SC_2_UPE = 25,
748 _SC_STREAM_MAX = 26,
749 _SC_TZNAME_MAX = 27,
750 _SC_ASYNCHRONOUS_IO = 28,
751 _SC_MAPPED_FILES = 29,
752 _SC_MEMLOCK = 30,
753 _SC_MEMLOCK_RANGE = 31,
754 _SC_MEMORY_PROTECTION = 32,
755 _SC_MESSAGE_PASSING = 33,
756 _SC_PRIORITIZED_IO = 34,
757 _SC_PRIORITY_SCHEDULING = 35,
758 _SC_REALTIME_SIGNALS = 36,
759 _SC_SEMAPHORES = 37,
760 _SC_FSYNC = 38,
761 _SC_SHARED_MEMORY_OBJECTS = 39,
762 _SC_SYNCHRONIZED_IO = 40,
763 _SC_TIMERS = 41,
764 _SC_AIO_LISTIO_MAX = 42,
765 _SC_AIO_MAX = 43,
766 _SC_AIO_PRIO_DELTA_MAX = 44,
767 _SC_DELAYTIMER_MAX = 45,
768 _SC_MQ_OPEN_MAX = 46,
769 _SC_PAGESIZE = 47,
770 _SC_RTSIG_MAX = 48,
771 _SC_SEM_NSEMS_MAX = 49,
772 _SC_SEM_VALUE_MAX = 50,
773 _SC_SIGQUEUE_MAX = 51,
774 _SC_TIMER_MAX = 52,
775 _SC_IOV_MAX = 56,
776 _SC_NPROCESSORS_CONF = 57,
777 _SC_NPROCESSORS_ONLN = 58,
778 _SC_2_PBS = 59,
779 _SC_2_PBS_ACCOUNTING = 60,
780 _SC_2_PBS_CHECKPOINT = 61,
781 _SC_2_PBS_LOCATE = 62,
782 _SC_2_PBS_MESSAGE = 63,
783 _SC_2_PBS_TRACK = 64,
784 _SC_ADVISORY_INFO = 65,
785 _SC_BARRIERS = 66,
786 _SC_CLOCK_SELECTION = 67,
787 _SC_CPUTIME = 68,
788 _SC_FILE_LOCKING = 69,
789 _SC_GETGR_R_SIZE_MAX = 70,
790 _SC_GETPW_R_SIZE_MAX = 71,
791 _SC_HOST_NAME_MAX = 72,
792 _SC_LOGIN_NAME_MAX = 73,
793 _SC_MONOTONIC_CLOCK = 74,
794 _SC_MQ_PRIO_MAX = 75,
795 _SC_READER_WRITER_LOCKS = 76,
796 _SC_REGEXP = 77,
797 _SC_SHELL = 78,
798 _SC_SPAWN = 79,
799 _SC_SPIN_LOCKS = 80,
800 _SC_SPORADIC_SERVER = 81,
801 _SC_THREAD_ATTR_STACKADDR = 82,
802 _SC_THREAD_ATTR_STACKSIZE = 83,
803 _SC_THREAD_CPUTIME = 84,
804 _SC_THREAD_DESTRUCTOR_ITERATIONS = 85,
805 _SC_THREAD_KEYS_MAX = 86,
806 _SC_THREAD_PRIO_INHERIT = 87,
807 _SC_THREAD_PRIO_PROTECT = 88,
808 _SC_THREAD_PRIORITY_SCHEDULING = 89,
809 _SC_THREAD_PROCESS_SHARED = 90,
810 _SC_THREAD_SAFE_FUNCTIONS = 91,
811 _SC_THREAD_SPORADIC_SERVER = 92,
812 _SC_THREAD_STACK_MIN = 93,
813 _SC_THREAD_THREADS_MAX = 94,
814 _SC_TIMEOUTS = 95,
815 _SC_THREADS = 96,
816 _SC_TRACE = 97,
817 _SC_TRACE_EVENT_FILTER = 98,
818 _SC_TRACE_INHERIT = 99,
819 _SC_TRACE_LOG = 100,
820 _SC_TTY_NAME_MAX = 101,
821 _SC_TYPED_MEMORY_OBJECTS = 102,
822 _SC_V6_ILP32_OFF32 = 103,
823 _SC_V6_ILP32_OFFBIG = 104,
824 _SC_V6_LP64_OFF64 = 105,
825 _SC_V6_LPBIG_OFFBIG = 106,
826 _SC_IPV6 = 118,
827 _SC_RAW_SOCKETS = 119,
828 _SC_SYMLOOP_MAX = 120,
829 _SC_ATEXIT_MAX = 107,
830 _SC_XOPEN_CRYPT = 108,
831 _SC_XOPEN_ENH_I18N = 109,
832 _SC_XOPEN_LEGACY = 110,
833 _SC_XOPEN_REALTIME = 111,
834 _SC_XOPEN_REALTIME_THREADS = 112,
835 _SC_XOPEN_SHM = 113,
836 _SC_XOPEN_STREAMS = 114,
837 _SC_XOPEN_UNIX = 115,
838 _SC_XOPEN_VERSION = 116,
839 _SC_XOPEN_XCU_VERSION = 117,
840 _SC_CPUSET_SIZE = 122,
841 _SC_PHYS_PAGES = 121,
842 }
843
844 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
845
846 enum
847 {
848 _CS_PATH = 1,
849 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2,
850 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3,
851 _CS_POSIX_V6_ILP32_OFF32_LIBS = 4,
852 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5,
853 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6,
854 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7,
855 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8,
856 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9,
857 _CS_POSIX_V6_LP64_OFF64_LIBS = 10,
858 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11,
859 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12,
860 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13,
861 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14,
862 }
863}
864else version (NetBSD)
865{
866 enum F_OK = 0;
867 enum R_OK = 0x04;
868 enum W_OK = 0x02;
869 enum X_OK = 0x01;
870
871 enum F_ULOCK = 0;
872 enum F_LOCK = 1;
873 enum F_TLOCK = 2;
874 enum F_TEST = 3;
875
876 enum
877 {
878 _SC_ARG_MAX = 1,
879 _SC_CHILD_MAX = 2,
880 _O_SC_CLK_TCK = 3,
881 _SC_NGROUPS_MAX = 4,
882 _SC_OPEN_MAX = 5,
883 _SC_JOB_CONTROL = 6,
884 _SC_SAVED_IDS = 7,
885 _SC_VERSION = 8,
886 _SC_BC_BASE_MAX = 9,
887 _SC_BC_DIM_MAX = 10,
888 _SC_BC_SCALE_MAX = 11,
889 _SC_BC_STRING_MAX = 12,
890 _SC_COLL_WEIGHTS_MAX = 13,
891 _SC_EXPR_NEST_MAX = 14,
892 _SC_LINE_MAX = 15,
893 _SC_RE_DUP_MAX = 16,
894 _SC_2_VERSION = 17,
895 _SC_2_C_BIND = 18,
896 _SC_2_C_DEV = 19,
897 _SC_2_CHAR_TERM = 20,
898 _SC_2_FORT_DEV = 21,
899 _SC_2_FORT_RUN = 22,
900 _SC_2_LOCALEDEF = 23,
901 _SC_2_SW_DEV = 24,
902 _SC_2_UPE = 25,
903 _SC_STREAM_MAX = 26,
904 _SC_TZNAME_MAX = 27,
905 _SC_PAGESIZE = 28,
906 _SC_FSYNC = 29,
907 _SC_XOPEN_SHM = 30,
908 _SC_SYNCHRONIZED_IO = 31,
909 _SC_IOV_MAX = 32,
910 _SC_MAPPED_FILES = 33,
911 _SC_MEMLOCK = 34,
912 _SC_MEMLOCK_RANGE = 35,
913 _SC_MEMORY_PROTECTION = 36,
914 _SC_LOGIN_NAME_MAX = 37,
915 _SC_MONOTONIC_CLOCK = 38,
916 _SC_CLK_TCK = 39,
917 _SC_ATEXIT_MAX = 40,
918 _SC_THREADS = 41,
919 _SC_SEMAPHORES = 42,
920 _SC_BARRIERS = 43,
921 _SC_TIMERS = 44,
922 _SC_SPIN_LOCKS = 45,
923 _SC_READER_WRITER_LOCKS = 46,
924 _SC_GETGR_R_SIZE_MAX = 47,
925 _SC_GETPW_R_SIZE_MAX = 48,
926 _SC_CLOCK_SELECTION = 49,
927 _SC_ASYNCHRONOUS_IO = 50,
928 _SC_AIO_LISTIO_MAX = 51,
929 _SC_AIO_MAX = 52,
930 _SC_MESSAGE_PASSING = 53,
931 _SC_MQ_OPEN_MAX = 54,
932 _SC_MQ_PRIO_MAX = 55,
933 _SC_PRIORITY_SCHEDULING = 56,
934 _SC_THREAD_DESTRUCTOR_ITERATIONS = 57,
935 _SC_THREAD_KEYS_MAX = 58,
936 _SC_THREAD_STACK_MIN = 59,
937 _SC_THREAD_THREADS_MAX = 60,
938 _SC_THREAD_ATTR_STACKADDR = 61,
939 _SC_THREAD_ATTR_STACKSIZE = 62,
940 _SC_THREAD_PRIORITY_SCHEDULING = 63,
941 _SC_THREAD_PRIO_INHERIT = 64,
942 _SC_THREAD_PRIO_PROTECT = 65,
943 _SC_THREAD_PROCESS_SHARED = 66,
944 _SC_THREAD_SAFE_FUNCTIONS = 67,
945 _SC_TTY_NAME_MAX = 68,
946 _SC_HOST_NAME_MAX = 69,
947 _SC_PASS_MAX = 70,
948 _SC_REGEXP = 71,
949 _SC_SHELL = 72,
950 _SC_SYMLOOP_MAX = 73,
951
952 /* Actually, they are not supported or implemented yet */
953 _SC_V6_ILP32_OFF32 = 74,
954 _SC_V6_ILP32_OFFBIG = 75,
955 _SC_V6_LP64_OFF64 = 76,
956 _SC_V6_LPBIG_OFFBIG = 77,
957 _SC_2_PBS = 80,
958 _SC_2_PBS_ACCOUNTING = 81,
959 _SC_2_PBS_CHECKPOINT = 82,
960 _SC_2_PBS_LOCATE = 83,
961 _SC_2_PBS_MESSAGE = 84,
962 _SC_2_PBS_TRACK = 85,
963
964 /* These are implemented */
965 _SC_SPAWN = 86,
966 _SC_SHARED_MEMORY_OBJECTS = 87,
967
968 /* Extensions found in Solaris and Linux. */
969 _SC_PHYS_PAGES = 121,
970
971 /* Commonly provided sysconf() extensions */
972 _SC_NPROCESSORS_CONF = 1001,
973 _SC_NPROCESSORS_ONLN = 1002,
974 /* Native variables */
975 _SC_SCHED_RT_TS = 2001,
976 _SC_SCHED_PRI_MIN = 2002,
977 _SC_SCHED_PRI_MAX = 2003
978
979 }
980
981 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
982
983 enum
984 {
985 _CS_PATH = 1,
986 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2,
987 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3,
988 _CS_POSIX_V6_ILP32_OFF32_LIBS = 4,
989 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5,
990 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6,
991 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7,
992 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8,
993 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9,
994 _CS_POSIX_V6_LP64_OFF64_LIBS = 10,
995 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11,
996 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12,
997 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13,
998 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14,
999 }
1000}
0234a917
IB
1001else version (OpenBSD)
1002{
1003 enum F_OK = 0;
1004 enum R_OK = 0x04;
1005 enum W_OK = 0x02;
1006 enum X_OK = 0x01;
1007
1008 enum F_ULOCK = 0;
1009 enum F_LOCK = 1;
1010 enum F_TLOCK = 2;
1011 enum F_TEST = 3;
1012
1013 enum
1014 {
1015 _SC_ARG_MAX = 1,
1016 _SC_CHILD_MAX = 2,
1017 _O_SC_CLK_TCK = 3,
1018 _SC_NGROUPS_MAX = 4,
1019 _SC_OPEN_MAX = 5,
1020 _SC_JOB_CONTROL = 6,
1021 _SC_SAVED_IDS = 7,
1022 _SC_VERSION = 8,
1023 _SC_BC_BASE_MAX = 9,
1024 _SC_BC_DIM_MAX = 10,
1025 _SC_BC_SCALE_MAX = 11,
1026 _SC_BC_STRING_MAX = 12,
1027 _SC_COLL_WEIGHTS_MAX = 13,
1028 _SC_EXPR_NEST_MAX = 14,
1029 _SC_LINE_MAX = 15,
1030 _SC_RE_DUP_MAX = 16,
1031 _SC_2_VERSION = 17,
1032 _SC_2_C_BIND = 18,
1033 _SC_2_C_DEV = 19,
1034 _SC_2_CHAR_TERM = 20,
1035 _SC_2_FORT_DEV = 21,
1036 _SC_2_FORT_RUN = 22,
1037 _SC_2_LOCALEDEF = 23,
1038 _SC_2_SW_DEV = 24,
1039 _SC_2_UPE = 25,
1040 _SC_STREAM_MAX = 26,
1041 _SC_TZNAME_MAX = 27,
1042 _SC_PAGESIZE = 28,
1043 _SC_FSYNC = 29,
1044 _SC_XOPEN_SHM = 30,
1045 _SC_SEM_NSEMS_MAX = 31,
1046 _SC_SEM_VALUE_MAX = 32,
1047 _SC_HOST_NAME_MAX = 33,
1048 _SC_MONOTONIC_CLOCK = 34,
1049 _SC_2_PBS = 35,
1050 _SC_2_PBS_ACCOUNTING = 36,
1051 _SC_2_PBS_CHECKPOINT = 37,
1052 _SC_2_PBS_LOCATE = 38,
1053 _SC_2_PBS_MESSAGE = 39,
1054 _SC_2_PBS_TRACK = 40,
1055 _SC_ADVISORY_INFO = 41,
1056 _SC_AIO_LISTIO_MAX = 42,
1057 _SC_AIO_MAX = 43,
1058 _SC_AIO_PRIO_DELTA_MAX = 44,
1059 _SC_ASYNCHRONOUS_IO = 45,
1060 _SC_ATEXIT_MAX = 46,
1061 _SC_BARRIERS = 47,
1062 _SC_CLOCK_SELECTION = 48,
1063 _SC_CPUTIME = 49,
1064 _SC_DELAYTIMER_MAX = 50,
1065 _SC_IOV_MAX = 51,
1066 _SC_IPV6 = 52,
1067 _SC_MAPPED_FILES = 53,
1068 _SC_MEMLOCK = 54,
1069 _SC_MEMLOCK_RANGE = 55,
1070 _SC_MEMORY_PROTECTION = 56,
1071 _SC_MESSAGE_PASSING = 57,
1072 _SC_MQ_OPEN_MAX = 58,
1073 _SC_MQ_PRIO_MAX = 59,
1074 _SC_PRIORITIZED_IO = 60,
1075 _SC_PRIORITY_SCHEDULING = 61,
1076 _SC_RAW_SOCKETS = 62,
1077 _SC_READER_WRITER_LOCKS = 63,
1078 _SC_REALTIME_SIGNALS = 64,
1079 _SC_REGEXP = 65,
1080 _SC_RTSIG_MAX = 66,
1081 _SC_SEMAPHORES = 67,
1082 _SC_SHARED_MEMORY_OBJECTS = 68,
1083 _SC_SHELL = 69,
1084 _SC_SIGQUEUE_MAX = 70,
1085 _SC_SPAWN = 71,
1086 _SC_SPIN_LOCKS = 72,
1087 _SC_SPORADIC_SERVER = 73,
1088 _SC_SS_REPL_MAX = 74,
1089 _SC_SYNCHRONIZED_IO = 75,
1090 _SC_SYMLOOP_MAX = 76,
1091 _SC_THREAD_ATTR_STACKADDR = 77,
1092 _SC_THREAD_ATTR_STACKSIZE = 78,
1093 _SC_THREAD_CPUTIME = 79,
1094 _SC_THREAD_DESTRUCTOR_ITERATIONS = 80,
1095 _SC_THREAD_KEYS_MAX = 81,
1096 _SC_THREAD_PRIO_INHERIT = 82,
1097 _SC_THREAD_PRIO_PROTECT = 83,
1098 _SC_THREAD_PRIORITY_SCHEDULING = 84,
1099 _SC_THREAD_PROCESS_SHARED = 85,
1100 _SC_THREAD_ROBUST_PRIO_INHERIT = 86,
1101 _SC_THREAD_ROBUST_PRIO_PROTECT = 87,
1102 _SC_THREAD_SPORADIC_SERVER = 88,
1103 _SC_THREAD_STACK_MIN = 89,
1104 _SC_THREAD_THREADS_MAX = 90,
1105 _SC_THREADS = 91,
1106 _SC_TIMEOUTS = 92,
1107 _SC_TIMER_MAX = 93,
1108 _SC_TIMERS = 94,
1109 _SC_TRACE = 95,
1110 _SC_TRACE_EVENT_FILTER = 96,
1111 _SC_TRACE_EVENT_NAME_MAX = 97,
1112 _SC_TRACE_INHERIT = 98,
1113 _SC_TRACE_LOG = 99,
1114 _SC_GETGR_R_SIZE_MAX = 100,
1115 _SC_GETPW_R_SIZE_MAX = 101,
1116 _SC_LOGIN_NAME_MAX = 102,
1117 _SC_THREAD_SAFE_FUNCTIONS = 103,
1118 _SC_TRACE_NAME_MAX = 104,
1119 _SC_TRACE_SYS_MAX = 105,
1120 _SC_TRACE_USER_EVENT_MAX = 106,
1121 _SC_TTY_NAME_MAX = 107,
1122 _SC_TYPED_MEMORY_OBJECTS = 108,
1123 _SC_V6_ILP32_OFF32 = 109,
1124 _SC_V6_ILP32_OFFBIG = 110,
1125 _SC_V6_LP64_OFF64 = 111,
1126 _SC_V6_LPBIG_OFFBIG = 112,
1127 _SC_V7_ILP32_OFF32 = 113,
1128 _SC_V7_ILP32_OFFBIG = 114,
1129 _SC_V7_LP64_OFF64 = 115,
1130 _SC_V7_LPBIG_OFFBIG = 116,
1131 _SC_XOPEN_CRYPT = 117,
1132 _SC_XOPEN_ENH_I18N = 118,
1133 _SC_XOPEN_LEGACY = 119,
1134 _SC_XOPEN_REALTIME = 120,
1135 _SC_XOPEN_REALTIME_THREADS = 121,
1136 _SC_XOPEN_STREAMS = 122,
1137 _SC_XOPEN_UNIX = 123,
1138 _SC_XOPEN_UUCP = 124,
1139 _SC_XOPEN_VERSION = 125,
1140 _SC_PHYS_PAGES = 500,
1141 _SC_AVPHYS_PAGES = 501,
1142 _SC_NPROCESSORS_CONF = 502,
1143 _SC_NPROCESSORS_ONLN = 503,
1144 }
1145
1146 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
1147
1148 enum
1149 {
1150 _CS_PATH = 1,
1151 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2,
1152 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3,
1153 _CS_POSIX_V6_ILP32_OFF32_LIBS = 4,
1154 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5,
1155 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6,
1156 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7,
1157 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8,
1158 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9,
1159 _CS_POSIX_V6_LP64_OFF64_LIBS = 10,
1160 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11,
1161 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12,
1162 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13,
1163 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14,
1164 _CS_V6_ENV = 15,
1165 _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 16,
1166 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 17,
1167 _CS_POSIX_V7_ILP32_OFF32_LIBS = 18,
1168 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 19,
1169 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 20,
1170 _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 21,
1171 _CS_POSIX_V7_LP64_OFF64_CFLAGS = 22,
1172 _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 23,
1173 _CS_POSIX_V7_LP64_OFF64_LIBS = 24,
1174 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 25,
1175 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 26,
1176 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 27,
1177 _CS_POSIX_V7_THREADS_CFLAGS = 28,
1178 _CS_POSIX_V7_THREADS_LDFLAGS = 29,
1179 _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 30,
1180 _CS_V7_ENV = 31,
1181 }
1182}
b4c522fa
IB
1183else version (DragonFlyBSD)
1184{
1185 enum F_OK = 0;
1186 enum R_OK = 0x04;
1187 enum W_OK = 0x02;
1188 enum X_OK = 0x01;
1189
1190 enum F_ULOCK = 0;
1191 enum F_LOCK = 1;
1192 enum F_TLOCK = 2;
1193 enum F_TEST = 3;
1194
1195 enum
1196 {
1197 _SC_ARG_MAX = 1,
1198 _SC_CHILD_MAX = 2,
1199 _SC_CLK_TCK = 3,
1200 _SC_NGROUPS_MAX = 4,
1201 _SC_OPEN_MAX = 5,
1202 _SC_JOB_CONTROL = 6,
1203 _SC_SAVED_IDS = 7,
1204 _SC_VERSION = 8,
1205 _SC_BC_BASE_MAX = 9,
1206 _SC_BC_DIM_MAX = 10,
1207 _SC_BC_SCALE_MAX = 11,
1208 _SC_BC_STRING_MAX = 12,
1209 _SC_COLL_WEIGHTS_MAX = 13,
1210 _SC_EXPR_NEST_MAX = 14,
1211 _SC_LINE_MAX = 15,
1212 _SC_RE_DUP_MAX = 16,
1213 _SC_2_VERSION = 17,
1214 _SC_2_C_BIND = 18,
1215 _SC_2_C_DEV = 19,
1216 _SC_2_CHAR_TERM = 20,
1217 _SC_2_FORT_DEV = 21,
1218 _SC_2_FORT_RUN = 22,
1219 _SC_2_LOCALEDEF = 23,
1220 _SC_2_SW_DEV = 24,
1221 _SC_2_UPE = 25,
1222 _SC_STREAM_MAX = 26,
1223 _SC_TZNAME_MAX = 27,
1224 _SC_ASYNCHRONOUS_IO = 28,
1225 _SC_MAPPED_FILES = 29,
1226 _SC_MEMLOCK = 30,
1227 _SC_MEMLOCK_RANGE = 31,
1228 _SC_MEMORY_PROTECTION = 32,
1229 _SC_MESSAGE_PASSING = 33,
1230 _SC_PRIORITIZED_IO = 34,
1231 _SC_PRIORITY_SCHEDULING = 35,
1232 _SC_REALTIME_SIGNALS = 36,
1233 _SC_SEMAPHORES = 37,
1234 _SC_FSYNC = 38,
1235 _SC_SHARED_MEMORY_OBJECTS = 39,
1236 _SC_SYNCHRONIZED_IO = 40,
1237 _SC_TIMERS = 41,
1238 _SC_AIO_LISTIO_MAX = 42,
1239 _SC_AIO_MAX = 43,
1240 _SC_AIO_PRIO_DELTA_MAX = 44,
1241 _SC_DELAYTIMER_MAX = 45,
1242 _SC_MQ_OPEN_MAX = 46,
1243 _SC_PAGESIZE = 47,
1244 _SC_RTSIG_MAX = 48,
1245 _SC_SEM_NSEMS_MAX = 49,
1246 _SC_SEM_VALUE_MAX = 50,
1247 _SC_SIGQUEUE_MAX = 51,
1248 _SC_TIMER_MAX = 52,
1249 _SC_IOV_MAX = 56,
1250 _SC_NPROCESSORS_CONF = 57,
1251 _SC_NPROCESSORS_ONLN = 58,
1252 _SC_2_PBS = 59,
1253 _SC_2_PBS_ACCOUNTING = 60,
1254 _SC_2_PBS_CHECKPOINT = 61,
1255 _SC_2_PBS_LOCATE = 62,
1256 _SC_2_PBS_MESSAGE = 63,
1257 _SC_2_PBS_TRACK = 64,
1258 _SC_ADVISORY_INFO = 65,
1259 _SC_BARRIERS = 66,
1260 _SC_CLOCK_SELECTION = 67,
1261 _SC_CPUTIME = 68,
1262 _SC_FILE_LOCKING = 69,
1263 _SC_GETGR_R_SIZE_MAX = 70,
1264 _SC_GETPW_R_SIZE_MAX = 71,
1265 _SC_HOST_NAME_MAX = 72,
1266 _SC_LOGIN_NAME_MAX = 73,
1267 _SC_MONOTONIC_CLOCK = 74,
1268 _SC_MQ_PRIO_MAX = 75,
1269 _SC_READER_WRITER_LOCKS = 76,
1270 _SC_REGEXP = 77,
1271 _SC_SHELL = 78,
1272 _SC_SPAWN = 79,
1273 _SC_SPIN_LOCKS = 80,
1274 _SC_SPORADIC_SERVER = 81,
1275 _SC_THREAD_ATTR_STACKADDR = 82,
1276 _SC_THREAD_ATTR_STACKSIZE = 83,
1277 _SC_THREAD_CPUTIME = 84,
1278 _SC_THREAD_DESTRUCTOR_ITERATIONS = 85,
1279 _SC_THREAD_KEYS_MAX = 86,
1280 _SC_THREAD_PRIO_INHERIT = 87,
1281 _SC_THREAD_PRIO_PROTECT = 88,
1282 _SC_THREAD_PRIORITY_SCHEDULING = 89,
1283 _SC_THREAD_PROCESS_SHARED = 90,
1284 _SC_THREAD_SAFE_FUNCTIONS = 91,
1285 _SC_THREAD_SPORADIC_SERVER = 92,
1286 _SC_THREAD_STACK_MIN = 93,
1287 _SC_THREAD_THREADS_MAX = 94,
1288 _SC_TIMEOUTS = 95,
1289 _SC_THREADS = 96,
1290 _SC_TRACE = 97,
1291 _SC_TRACE_EVENT_FILTER = 98,
1292 _SC_TRACE_INHERIT = 99,
1293 _SC_TRACE_LOG = 100,
1294 _SC_TTY_NAME_MAX = 101,
1295 _SC_TYPED_MEMORY_OBJECTS = 102,
1296 _SC_V6_ILP32_OFF32 = 103,
1297 _SC_V6_ILP32_OFFBIG = 104,
1298 _SC_V6_LP64_OFF64 = 105,
1299 _SC_V6_LPBIG_OFFBIG = 106,
1300 _SC_IPV6 = 118,
1301 _SC_RAW_SOCKETS = 119,
1302 _SC_SYMLOOP_MAX = 120,
1303 _SC_ATEXIT_MAX = 107,
1304 _SC_XOPEN_CRYPT = 108,
1305 _SC_XOPEN_ENH_I18N = 109,
1306 _SC_XOPEN_LEGACY = 110,
1307 _SC_XOPEN_REALTIME = 111,
1308 _SC_XOPEN_REALTIME_THREADS = 112,
1309 _SC_XOPEN_SHM = 113,
1310 _SC_XOPEN_STREAMS = 114,
1311 _SC_XOPEN_UNIX = 115,
1312 _SC_XOPEN_VERSION = 116,
1313 _SC_XOPEN_XCU_VERSION = 117,
1314 _SC_CPUSET_SIZE = 122,
1315 _SC_PHYS_PAGES = 121,
1316 }
1317
1318 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
1319
1320 enum
1321 {
1322 _CS_PATH = 1,
1323 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2,
1324 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3,
1325 _CS_POSIX_V6_ILP32_OFF32_LIBS = 4,
1326 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5,
1327 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6,
1328 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7,
1329 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8,
1330 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9,
1331 _CS_POSIX_V6_LP64_OFF64_LIBS = 10,
1332 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11,
1333 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12,
1334 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13,
1335 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14,
1336 }
1337}
1338else version (CRuntime_Bionic)
1339{
1340 enum F_OK = 0;
1341 enum R_OK = 4;
1342 enum W_OK = 2;
1343 enum X_OK = 1;
1344
1345 enum _SC_PAGESIZE = 0x0027;
1346 enum _SC_NPROCESSORS_ONLN = 0x0061;
1347 enum _SC_THREAD_STACK_MIN = 0x004c;
1348}
1349else version (Solaris)
1350{
1351 enum F_OK = 0;
1352 enum R_OK = 4;
1353 enum W_OK = 2;
1354 enum X_OK = 1;
1355
1356 enum F_ULOCK = 0;
1357 enum F_LOCK = 1;
1358 enum F_TLOCK = 2;
1359 enum F_TEST = 3;
1360
1361 enum
1362 {
1363 // large file compilation environment configuration
1364 _CS_LFS_CFLAGS = 68,
1365 _CS_LFS_LDFLAGS = 69,
1366 _CS_LFS_LIBS = 70,
1367 _CS_LFS_LINTFLAGS = 71,
1368 // transitional large file interface configuration
1369 _CS_LFS64_CFLAGS = 72,
1370 _CS_LFS64_LDFLAGS = 73,
1371 _CS_LFS64_LIBS = 74,
1372 _CS_LFS64_LINTFLAGS = 75,
1373
1374 // UNIX 98
1375 _CS_XBS5_ILP32_OFF32_CFLAGS = 700,
1376 _CS_XBS5_ILP32_OFF32_LDFLAGS = 701,
1377 _CS_XBS5_ILP32_OFF32_LIBS = 702,
1378 _CS_XBS5_ILP32_OFF32_LINTFLAGS = 703,
1379 _CS_XBS5_ILP32_OFFBIG_CFLAGS = 705,
1380 _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 706,
1381 _CS_XBS5_ILP32_OFFBIG_LIBS = 707,
1382 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 708,
1383 _CS_XBS5_LP64_OFF64_CFLAGS = 709,
1384 _CS_XBS5_LP64_OFF64_LDFLAGS = 710,
1385 _CS_XBS5_LP64_OFF64_LIBS = 711,
1386 _CS_XBS5_LP64_OFF64_LINTFLAGS = 712,
1387 _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 713,
1388 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 714,
1389 _CS_XBS5_LPBIG_OFFBIG_LIBS = 715,
1390 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 716,
1391
1392 // UNIX 03
1393 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 800,
1394 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 801,
1395 _CS_POSIX_V6_ILP32_OFF32_LIBS = 802,
1396 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 803,
1397 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 804,
1398 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 805,
1399 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 806,
1400 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 807,
1401 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 808,
1402 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 809,
1403 _CS_POSIX_V6_LP64_OFF64_LIBS = 810,
1404 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 811,
1405 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 812,
1406 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 813,
1407 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 814,
1408 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 815,
1409 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 816
1410 }
1411
1412 enum {
1413 _SC_ARG_MAX = 1,
1414 _SC_CHILD_MAX = 2,
1415 _SC_CLK_TCK = 3,
1416 _SC_NGROUPS_MAX = 4,
1417 _SC_OPEN_MAX = 5,
1418 _SC_JOB_CONTROL = 6,
1419 _SC_SAVED_IDS = 7,
1420 _SC_VERSION = 8,
1421
1422 _SC_PASS_MAX = 9,
1423 _SC_LOGNAME_MAX = 10,
1424 _SC_PAGESIZE = 11,
1425 _SC_XOPEN_VERSION = 12,
1426 // 13 reserved for SVr4-ES/MP _SC_NACLS_MAX
1427 _SC_NPROCESSORS_CONF = 14,
1428 _SC_NPROCESSORS_ONLN = 15,
1429 _SC_STREAM_MAX = 16,
1430 _SC_TZNAME_MAX = 17,
1431
1432 _SC_AIO_LISTIO_MAX = 18,
1433 _SC_AIO_MAX = 19,
1434 _SC_AIO_PRIO_DELTA_MAX = 20,
1435 _SC_ASYNCHRONOUS_IO = 21,
1436 _SC_DELAYTIMER_MAX = 22,
1437 _SC_FSYNC = 23,
1438 _SC_MAPPED_FILES = 24,
1439 _SC_MEMLOCK = 25,
1440 _SC_MEMLOCK_RANGE = 26,
1441 _SC_MEMORY_PROTECTION = 27,
1442 _SC_MESSAGE_PASSING = 28,
1443 _SC_MQ_OPEN_MAX = 29,
1444 _SC_MQ_PRIO_MAX = 30,
1445 _SC_PRIORITIZED_IO = 31,
1446 _SC_PRIORITY_SCHEDULING = 32,
1447 _SC_REALTIME_SIGNALS = 33,
1448 _SC_RTSIG_MAX = 34,
1449 _SC_SEMAPHORES = 35,
1450 _SC_SEM_NSEMS_MAX = 36,
1451 _SC_SEM_VALUE_MAX = 37,
1452 _SC_SHARED_MEMORY_OBJECTS = 38,
1453 _SC_SIGQUEUE_MAX = 39,
1454 _SC_SIGRT_MIN = 40,
1455 _SC_SIGRT_MAX = 41,
1456 _SC_SYNCHRONIZED_IO = 42,
1457 _SC_TIMERS = 43,
1458 _SC_TIMER_MAX = 44,
1459
1460 _SC_2_C_BIND = 45,
1461 _SC_2_C_DEV = 46,
1462 _SC_2_C_VERSION = 47,
1463 _SC_2_FORT_DEV = 48,
1464 _SC_2_FORT_RUN = 49,
1465 _SC_2_LOCALEDEF = 50,
1466 _SC_2_SW_DEV = 51,
1467 _SC_2_UPE = 52,
1468 _SC_2_VERSION = 53,
1469 _SC_BC_BASE_MAX = 54,
1470 _SC_BC_DIM_MAX = 55,
1471 _SC_BC_SCALE_MAX = 56,
1472 _SC_BC_STRING_MAX = 57,
1473 _SC_COLL_WEIGHTS_MAX = 58,
1474 _SC_EXPR_NEST_MAX = 59,
1475 _SC_LINE_MAX = 60,
1476 _SC_RE_DUP_MAX = 61,
1477 _SC_XOPEN_CRYPT = 62,
1478 _SC_XOPEN_ENH_I18N = 63,
1479 _SC_XOPEN_SHM = 64,
1480 _SC_2_CHAR_TERM = 66,
1481 _SC_XOPEN_XCU_VERSION = 67,
1482
1483 _SC_ATEXIT_MAX = 76,
1484 _SC_IOV_MAX = 77,
1485 _SC_XOPEN_UNIX = 78,
1486
1487 _SC_T_IOV_MAX = 79,
1488
1489 _SC_PHYS_PAGES = 500,
1490 _SC_AVPHYS_PAGES = 501,
1491
1492 _SC_COHER_BLKSZ = 503,
1493 _SC_SPLIT_CACHE = 504,
1494 _SC_ICACHE_SZ = 505,
1495 _SC_DCACHE_SZ = 506,
1496 _SC_ICACHE_LINESZ = 507,
1497 _SC_DCACHE_LINESZ = 508,
1498 _SC_ICACHE_BLKSZ = 509,
1499 _SC_DCACHE_BLKSZ = 510,
1500 _SC_DCACHE_TBLKSZ = 511,
1501 _SC_ICACHE_ASSOC = 512,
1502 _SC_DCACHE_ASSOC = 513,
1503
1504 _SC_MAXPID = 514,
1505 _SC_STACK_PROT = 515,
1506 _SC_NPROCESSORS_MAX = 516,
1507 _SC_CPUID_MAX = 517,
1508 _SC_EPHID_MAX = 518,
1509
1510 _SC_THREAD_DESTRUCTOR_ITERATIONS = 568,
1511 _SC_GETGR_R_SIZE_MAX = 569,
1512 _SC_GETPW_R_SIZE_MAX = 570,
1513 _SC_LOGIN_NAME_MAX = 571,
1514 _SC_THREAD_KEYS_MAX = 572,
1515 _SC_THREAD_STACK_MIN = 573,
1516 _SC_THREAD_THREADS_MAX = 574,
1517 _SC_TTY_NAME_MAX = 575,
1518 _SC_THREADS = 576,
1519 _SC_THREAD_ATTR_STACKADDR = 577,
1520 _SC_THREAD_ATTR_STACKSIZE = 578,
1521 _SC_THREAD_PRIORITY_SCHEDULING = 579,
1522 _SC_THREAD_PRIO_INHERIT = 580,
1523 _SC_THREAD_PRIO_PROTECT = 581,
1524 _SC_THREAD_PROCESS_SHARED = 582,
1525 _SC_THREAD_SAFE_FUNCTIONS = 583,
1526
1527 _SC_XOPEN_LEGACY = 717,
1528 _SC_XOPEN_REALTIME = 718,
1529 _SC_XOPEN_REALTIME_THREADS = 719,
1530 _SC_XBS5_ILP32_OFF32 = 720,
1531 _SC_XBS5_ILP32_OFFBIG = 721,
1532 _SC_XBS5_LP64_OFF64 = 722,
1533 _SC_XBS5_LPBIG_OFFBIG = 723,
1534
1535 _SC_2_PBS = 724,
1536 _SC_2_PBS_ACCOUNTING = 725,
1537 _SC_2_PBS_CHECKPOINT = 726,
1538 _SC_2_PBS_LOCATE = 728,
1539 _SC_2_PBS_MESSAGE = 729,
1540 _SC_2_PBS_TRACK = 730,
1541 _SC_ADVISORY_INFO = 731,
1542 _SC_BARRIERS = 732,
1543 _SC_CLOCK_SELECTION = 733,
1544 _SC_CPUTIME = 734,
1545 _SC_HOST_NAME_MAX = 735,
1546 _SC_MONOTONIC_CLOCK = 736,
1547 _SC_READER_WRITER_LOCKS = 737,
1548 _SC_REGEXP = 738,
1549 _SC_SHELL = 739,
1550 _SC_SPAWN = 740,
1551 _SC_SPIN_LOCKS = 741,
1552 _SC_SPORADIC_SERVER = 742,
1553 _SC_SS_REPL_MAX = 743,
1554 _SC_SYMLOOP_MAX = 744,
1555 _SC_THREAD_CPUTIME = 745,
1556 _SC_THREAD_SPORADIC_SERVER = 746,
1557 _SC_TIMEOUTS = 747,
1558 _SC_TRACE = 748,
1559 _SC_TRACE_EVENT_FILTER = 749,
1560 _SC_TRACE_EVENT_NAME_MAX = 750,
1561 _SC_TRACE_INHERIT = 751,
1562 _SC_TRACE_LOG = 752,
1563 _SC_TRACE_NAME_MAX = 753,
1564 _SC_TRACE_SYS_MAX = 754,
1565 _SC_TRACE_USER_EVENT_MAX = 755,
1566 _SC_TYPED_MEMORY_OBJECTS = 756,
1567 _SC_V6_ILP32_OFF32 = 757,
1568 _SC_V6_ILP32_OFFBIG = 758,
1569 _SC_V6_LP64_OFF64 = 759,
1570 _SC_V6_LPBIG_OFFBIG = 760,
1571 _SC_XOPEN_STREAMS = 761,
1572 _SC_IPV6 = 762,
1573 _SC_RAW_SOCKETS = 763,
1574 }
1575 enum _SC_PAGE_SIZE = _SC_PAGESIZE;
1576
1577 enum {
1578 _PC_LINK_MAX = 1,
1579 _PC_MAX_CANON = 2,
1580 _PC_MAX_INPUT = 3,
1581 _PC_NAME_MAX = 4,
1582 _PC_PATH_MAX = 5,
1583 _PC_PIPE_BUF = 6,
1584 _PC_NO_TRUNC = 7,
1585 _PC_VDISABLE = 8,
1586 _PC_CHOWN_RESTRICTED = 9,
1587
1588 _PC_ASYNC_IO = 10,
1589 _PC_PRIO_IO = 11,
1590 _PC_SYNC_IO = 12,
1591
1592 _PC_ALLOC_SIZE_MIN = 13,
1593 _PC_REC_INCR_XFER_SIZE = 14,
1594 _PC_REC_MAX_XFER_SIZE = 15,
1595 _PC_REC_MIN_XFER_SIZE = 16,
1596 _PC_REC_XFER_ALIGN = 17,
1597 _PC_SYMLINK_MAX = 18,
1598 _PC_2_SYMLINKS = 19,
1599 _PC_ACL_ENABLED = 20,
1600 _PC_MIN_HOLE_SIZE = 21,
1601 _PC_CASE_BEHAVIOR = 22,
1602 _PC_SATTR_ENABLED = 23,
1603 _PC_SATTR_EXISTS = 24,
1604 _PC_ACCESS_FILTERING = 25,
1605
1606 _PC_TIMESTAMP_RESOLUTION = 26,
1607
1608 _PC_FILESIZEBITS = 67,
1609
1610 _PC_XATTR_ENABLED = 100,
1611 _PC_XATTR_EXISTS = 101
1612 }
1613
1614 enum _PC_LAST = 101;
1615}
1616else version (CRuntime_Musl)
1617{
1618 enum F_OK = 0;
1619 enum R_OK = 4;
1620 enum W_OK = 2;
1621 enum X_OK = 1;
1622
1623 enum F_ULOCK = 0;
1624 enum F_LOCK = 1;
1625 enum F_TLOCK = 2;
1626 enum F_TEST = 3;
1627
1628 enum
1629 {
1630 _CS_PATH,
1631 _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS,
1632 _CS_GNU_LIBC_VERSION,
1633 _CS_GNU_LIBPTHREAD_VERSION,
1634 _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS,
1635 _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS,
1636
1637 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116,
1638 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
1639 _CS_POSIX_V6_ILP32_OFF32_LIBS,
1640 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
1641 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
1642 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
1643 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
1644 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
1645 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
1646 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
1647 _CS_POSIX_V6_LP64_OFF64_LIBS,
1648 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
1649 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
1650 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
1651 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
1652 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
1653 _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
1654 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
1655 _CS_POSIX_V7_ILP32_OFF32_LIBS,
1656 _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
1657 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
1658 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
1659 _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
1660 _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
1661 _CS_POSIX_V7_LP64_OFF64_CFLAGS,
1662 _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
1663 _CS_POSIX_V7_LP64_OFF64_LIBS,
1664 _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
1665 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
1666 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
1667 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
1668 _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
1669 _CS_V6_ENV,
1670 _CS_V7_ENV
1671 }
1672
1673 enum
1674 {
1675 _PC_LINK_MAX,
1676 _PC_MAX_CANON,
1677 _PC_MAX_INPUT,
1678 _PC_NAME_MAX,
1679 _PC_PATH_MAX,
1680 _PC_PIPE_BUF,
1681 _PC_CHOWN_RESTRICTED,
1682 _PC_NO_TRUNC,
1683 _PC_VDISABLE,
1684 _PC_SYNC_IO,
1685 _PC_ASYNC_IO,
1686 _PC_PRIO_IO,
1687 _PC_SOCK_MAXBUF,
1688 _PC_FILESIZEBITS,
1689 _PC_REC_INCR_XFER_SIZE,
1690 _PC_REC_MAX_XFER_SIZE,
1691 _PC_REC_MIN_XFER_SIZE,
1692 _PC_REC_XFER_ALIGN,
1693 _PC_ALLOC_SIZE_MIN,
1694 _PC_SYMLINK_MAX,
1695 _PC_2_SYMLINKS
1696 }
1697
1698 enum
1699 {
1700 _SC_ARG_MAX,
1701 _SC_CHILD_MAX,
1702 _SC_CLK_TCK,
1703 _SC_NGROUPS_MAX,
1704 _SC_OPEN_MAX,
1705 _SC_STREAM_MAX,
1706 _SC_TZNAME_MAX,
1707 _SC_JOB_CONTROL,
1708 _SC_SAVED_IDS,
1709 _SC_REALTIME_SIGNALS,
1710 _SC_PRIORITY_SCHEDULING,
1711 _SC_TIMERS,
1712 _SC_ASYNCHRONOUS_IO,
1713 _SC_PRIORITIZED_IO,
1714 _SC_SYNCHRONIZED_IO,
1715 _SC_FSYNC,
1716 _SC_MAPPED_FILES,
1717 _SC_MEMLOCK,
1718 _SC_MEMLOCK_RANGE,
1719 _SC_MEMORY_PROTECTION,
1720 _SC_MESSAGE_PASSING,
1721 _SC_SEMAPHORES,
1722 _SC_SHARED_MEMORY_OBJECTS,
1723 _SC_AIO_LISTIO_MAX,
1724 _SC_AIO_MAX,
1725 _SC_AIO_PRIO_DELTA_MAX,
1726 _SC_DELAYTIMER_MAX,
1727 _SC_MQ_OPEN_MAX,
1728 _SC_MQ_PRIO_MAX,
1729 _SC_VERSION,
1730 _SC_PAGE_SIZE,
1731 _SC_PAGESIZE = _SC_PAGE_SIZE,
1732 _SC_RTSIG_MAX,
1733 _SC_SEM_NSEMS_MAX,
1734 _SC_SEM_VALUE_MAX,
1735 _SC_SIGQUEUE_MAX,
1736 _SC_TIMER_MAX,
1737 _SC_BC_BASE_MAX,
1738 _SC_BC_DIM_MAX,
1739 _SC_BC_SCALE_MAX,
1740 _SC_BC_STRING_MAX,
1741 _SC_COLL_WEIGHTS_MAX,
1742
1743 _SC_EXPR_NEST_MAX = 42,
1744 _SC_LINE_MAX,
1745 _SC_RE_DUP_MAX,
1746
1747 _SC_2_VERSION = 46,
1748 _SC_2_C_BIND,
1749 _SC_2_C_DEV,
1750 _SC_2_FORT_DEV,
1751 _SC_2_FORT_RUN,
1752 _SC_2_SW_DEV,
1753 _SC_2_LOCALEDEF,
1754
1755 _SC_UIO_MAXIOV = 60,
1756 _SC_IOV_MAX = _SC_UIO_MAXIOV,
1757
1758 _SC_THREADS = 67,
1759 _SC_THREAD_SAFE_FUNCTIONS,
1760 _SC_GETGR_R_SIZE_MAX,
1761 _SC_GETPW_R_SIZE_MAX,
1762 _SC_LOGIN_NAME_MAX,
1763 _SC_TTY_NAME_MAX,
1764 _SC_THREAD_DESTRUCTOR_ITERATIONS,
1765 _SC_THREAD_KEYS_MAX,
1766 _SC_THREAD_STACK_MIN,
1767 _SC_THREAD_THREADS_MAX,
1768 _SC_THREAD_ATTR_STACKADDR,
1769 _SC_THREAD_ATTR_STACKSIZE,
1770 _SC_THREAD_PRIORITY_SCHEDULING,
1771 _SC_THREAD_PRIO_INHERIT,
1772 _SC_THREAD_PRIO_PROTECT,
1773 _SC_THREAD_PROCESS_SHARED,
1774
1775 _SC_NPROCESSORS_CONF,
1776 _SC_NPROCESSORS_ONLN,
1777 _SC_PHYS_PAGES,
1778 _SC_AVPHYS_PAGES,
1779 _SC_ATEXIT_MAX,
1780 _SC_PASS_MAX,
1781
1782 _SC_XOPEN_VERSION,
1783 _SC_XOPEN_XCU_VERSION,
1784 _SC_XOPEN_UNIX,
1785 _SC_XOPEN_CRYPT,
1786 _SC_XOPEN_ENH_I18N,
1787 _SC_XOPEN_SHM,
1788
1789 _SC_2_CHAR_TERM,
1790 _SC_2_UPE = 97,
1791
1792 _SC_XOPEN_XPG2,
1793 _SC_XOPEN_XPG3,
1794 _SC_XOPEN_XPG4,
1795
1796 _SC_NZERO = 109,
1797
1798 _SC_XBS5_ILP32_OFF32 = 125,
1799 _SC_XBS5_ILP32_OFFBIG,
1800 _SC_XBS5_LP64_OFF64,
1801 _SC_XBS5_LPBIG_OFFBIG,
1802
1803 _SC_XOPEN_LEGACY,
1804 _SC_XOPEN_REALTIME,
1805 _SC_XOPEN_REALTIME_THREADS,
1806
1807 _SC_ADVISORY_INFO,
1808 _SC_BARRIERS,
1809 _SC_CLOCK_SELECTION = 137,
1810 _SC_CPUTIME,
1811 _SC_THREAD_CPUTIME,
1812 _SC_MONOTONIC_CLOCK = 149,
1813 _SC_READER_WRITER_LOCKS = 153,
1814 _SC_SPIN_LOCKS,
1815 _SC_REGEXP,
1816 _SC_SHELL = 157,
1817 _SC_SPAWN = 159,
1818 _SC_SPORADIC_SERVER,
1819 _SC_THREAD_SPORADIC_SERVER,
1820 _SC_TIMEOUTS = 164,
1821 _SC_TYPED_MEMORY_OBJECTS,
1822 _SC_2_PBS = 168,
1823 _SC_2_PBS_ACCOUNTING,
1824 _SC_2_PBS_LOCATE,
1825 _SC_2_PBS_MESSAGE,
1826 _SC_2_PBS_TRACK,
1827 _SC_SYMLOOP_MAX,
1828 _SC_STREAMS,
1829 _SC_2_PBS_CHECKPOINT,
1830
1831 _SC_V6_ILP32_OFF32,
1832 _SC_V6_ILP32_OFFBIG,
1833 _SC_V6_LP64_OFF64,
1834 _SC_V6_LPBIG_OFFBIG,
1835
1836 _SC_HOST_NAME_MAX,
1837 _SC_TRACE,
1838 _SC_TRACE_EVENT_FILTER,
1839 _SC_TRACE_INHERIT,
1840 _SC_TRACE_LOG,
1841
1842 _SC_IPV6 = 235,
1843 _SC_RAW_SOCKETS,
1844 _SC_V7_ILP32_OFF32,
1845 _SC_V7_ILP32_OFFBIG,
1846 _SC_V7_LP64_OFF64,
1847 _SC_V7_LPBIG_OFFBIG,
1848 _SC_SS_REPL_MAX,
1849 _SC_TRACE_EVENT_NAME_MAX,
1850 _SC_TRACE_NAME_MAX,
1851 _SC_TRACE_SYS_MAX,
1852 _SC_TRACE_USER_EVENT_MAX,
1853 _SC_XOPEN_STREAMS,
1854 _SC_THREAD_ROBUST_PRIO_INHERIT,
1855 _SC_THREAD_ROBUST_PRIO_PROTECT
1856 }
1857}
1858else version (CRuntime_UClibc)
1859{
1860 enum F_OK = 0;
1861 enum R_OK = 4;
1862 enum W_OK = 2;
1863 enum X_OK = 1;
1864
1865 enum F_ULOCK = 0;
1866 enum F_LOCK = 1;
1867 enum F_TLOCK = 2;
1868 enum F_TEST = 3;
1869
1870 enum
1871 {
1872 _CS_PATH,
1873
1874 _CS_V6_WIDTH_RESTRICTED_ENVS,
1875
1876 _CS_GNU_LIBC_VERSION,
1877 _CS_GNU_LIBPTHREAD_VERSION,
1878
1879 _CS_LFS_CFLAGS = 1000,
1880 _CS_LFS_LDFLAGS,
1881 _CS_LFS_LIBS,
1882 _CS_LFS_LINTFLAGS,
1883 _CS_LFS64_CFLAGS,
1884 _CS_LFS64_LDFLAGS,
1885 _CS_LFS64_LIBS,
1886 _CS_LFS64_LINTFLAGS,
1887
1888 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
1889 _CS_XBS5_ILP32_OFF32_LDFLAGS,
1890 _CS_XBS5_ILP32_OFF32_LIBS,
1891 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
1892 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
1893 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
1894 _CS_XBS5_ILP32_OFFBIG_LIBS,
1895 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
1896 _CS_XBS5_LP64_OFF64_CFLAGS,
1897 _CS_XBS5_LP64_OFF64_LDFLAGS,
1898 _CS_XBS5_LP64_OFF64_LIBS,
1899 _CS_XBS5_LP64_OFF64_LINTFLAGS,
1900 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
1901 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
1902 _CS_XBS5_LPBIG_OFFBIG_LIBS,
1903 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
1904
1905 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
1906 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
1907 _CS_POSIX_V6_ILP32_OFF32_LIBS,
1908 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
1909 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
1910 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
1911 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
1912 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
1913 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
1914 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
1915 _CS_POSIX_V6_LP64_OFF64_LIBS,
1916 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
1917 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
1918 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
1919 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
1920 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
1921 }
1922
1923 enum
1924 {
1925 _PC_LINK_MAX,
1926 _PC_MAX_CANON,
1927 _PC_MAX_INPUT,
1928 _PC_NAME_MAX,
1929 _PC_PATH_MAX,
1930 _PC_PIPE_BUF,
1931 _PC_CHOWN_RESTRICTED,
1932 _PC_NO_TRUNC,
1933 _PC_VDISABLE,
1934 _PC_SYNC_IO,
1935 _PC_ASYNC_IO,
1936 _PC_PRIO_IO,
1937 _PC_SOCK_MAXBUF,
1938 _PC_FILESIZEBITS,
1939 _PC_REC_INCR_XFER_SIZE,
1940 _PC_REC_MAX_XFER_SIZE,
1941 _PC_REC_MIN_XFER_SIZE,
1942 _PC_REC_XFER_ALIGN,
1943 _PC_ALLOC_SIZE_MIN,
1944 _PC_SYMLINK_MAX,
1945 _PC_2_SYMLINKS
1946 }
1947
1948 enum
1949 {
1950 _SC_ARG_MAX,
1951 _SC_CHILD_MAX,
1952 _SC_CLK_TCK,
1953 _SC_NGROUPS_MAX,
1954 _SC_OPEN_MAX,
1955 _SC_STREAM_MAX,
1956 _SC_TZNAME_MAX,
1957 _SC_JOB_CONTROL,
1958 _SC_SAVED_IDS,
1959 _SC_REALTIME_SIGNALS,
1960 _SC_PRIORITY_SCHEDULING,
1961 _SC_TIMERS,
1962 _SC_ASYNCHRONOUS_IO,
1963 _SC_PRIORITIZED_IO,
1964 _SC_SYNCHRONIZED_IO,
1965 _SC_FSYNC,
1966 _SC_MAPPED_FILES,
1967 _SC_MEMLOCK,
1968 _SC_MEMLOCK_RANGE,
1969 _SC_MEMORY_PROTECTION,
1970 _SC_MESSAGE_PASSING,
1971 _SC_SEMAPHORES,
1972 _SC_SHARED_MEMORY_OBJECTS,
1973 _SC_AIO_LISTIO_MAX,
1974 _SC_AIO_MAX,
1975 _SC_AIO_PRIO_DELTA_MAX,
1976 _SC_DELAYTIMER_MAX,
1977 _SC_MQ_OPEN_MAX,
1978 _SC_MQ_PRIO_MAX,
1979 _SC_VERSION,
1980 _SC_PAGESIZE,
1981 _SC_PAGE_SIZE = _SC_PAGESIZE,
1982 _SC_RTSIG_MAX,
1983 _SC_SEM_NSEMS_MAX,
1984 _SC_SEM_VALUE_MAX,
1985 _SC_SIGQUEUE_MAX,
1986 _SC_TIMER_MAX,
1987
1988 _SC_BC_BASE_MAX,
1989 _SC_BC_DIM_MAX,
1990 _SC_BC_SCALE_MAX,
1991 _SC_BC_STRING_MAX,
1992 _SC_COLL_WEIGHTS_MAX,
1993 _SC_EQUIV_CLASS_MAX,
1994 _SC_EXPR_NEST_MAX,
1995 _SC_LINE_MAX,
1996 _SC_RE_DUP_MAX,
1997 _SC_CHARCLASS_NAME_MAX,
1998
1999 _SC_2_VERSION,
2000 _SC_2_C_BIND,
2001 _SC_2_C_DEV,
2002 _SC_2_FORT_DEV,
2003 _SC_2_FORT_RUN,
2004 _SC_2_SW_DEV,
2005 _SC_2_LOCALEDEF,
2006
2007 _SC_PII,
2008 _SC_PII_XTI,
2009 _SC_PII_SOCKET,
2010 _SC_PII_INTERNET,
2011 _SC_PII_OSI,
2012 _SC_POLL,
2013 _SC_SELECT,
2014 _SC_UIO_MAXIOV,
2015 _SC_IOV_MAX = _SC_UIO_MAXIOV,
2016 _SC_PII_INTERNET_STREAM,
2017 _SC_PII_INTERNET_DGRAM,
2018 _SC_PII_OSI_COTS,
2019 _SC_PII_OSI_CLTS,
2020 _SC_PII_OSI_M,
2021 _SC_T_IOV_MAX,
2022
2023 _SC_THREADS,
2024 _SC_THREAD_SAFE_FUNCTIONS,
2025 _SC_GETGR_R_SIZE_MAX,
2026 _SC_GETPW_R_SIZE_MAX,
2027 _SC_LOGIN_NAME_MAX,
2028 _SC_TTY_NAME_MAX,
2029 _SC_THREAD_DESTRUCTOR_ITERATIONS,
2030 _SC_THREAD_KEYS_MAX,
2031 _SC_THREAD_STACK_MIN,
2032 _SC_THREAD_THREADS_MAX,
2033 _SC_THREAD_ATTR_STACKADDR,
2034 _SC_THREAD_ATTR_STACKSIZE,
2035 _SC_THREAD_PRIORITY_SCHEDULING,
2036 _SC_THREAD_PRIO_INHERIT,
2037 _SC_THREAD_PRIO_PROTECT,
2038 _SC_THREAD_PROCESS_SHARED,
2039
2040 _SC_NPROCESSORS_CONF,
2041 _SC_NPROCESSORS_ONLN,
2042 _SC_PHYS_PAGES,
2043 _SC_AVPHYS_PAGES,
2044 _SC_ATEXIT_MAX,
2045 _SC_PASS_MAX,
2046
2047 _SC_XOPEN_VERSION,
2048 _SC_XOPEN_XCU_VERSION,
2049 _SC_XOPEN_UNIX,
2050 _SC_XOPEN_CRYPT,
2051 _SC_XOPEN_ENH_I18N,
2052 _SC_XOPEN_SHM,
2053
2054 _SC_2_CHAR_TERM,
2055 _SC_2_C_VERSION,
2056 _SC_2_UPE,
2057
2058 _SC_XOPEN_XPG2,
2059 _SC_XOPEN_XPG3,
2060 _SC_XOPEN_XPG4,
2061
2062 _SC_CHAR_BIT,
2063 _SC_CHAR_MAX,
2064 _SC_CHAR_MIN,
2065 _SC_INT_MAX,
2066 _SC_INT_MIN,
2067 _SC_LONG_BIT,
2068 _SC_WORD_BIT,
2069 _SC_MB_LEN_MAX,
2070 _SC_NZERO,
2071 _SC_SSIZE_MAX,
2072 _SC_SCHAR_MAX,
2073 _SC_SCHAR_MIN,
2074 _SC_SHRT_MAX,
2075 _SC_SHRT_MIN,
2076 _SC_UCHAR_MAX,
2077 _SC_UINT_MAX,
2078 _SC_ULONG_MAX,
2079 _SC_USHRT_MAX,
2080
2081 _SC_NL_ARGMAX,
2082 _SC_NL_LANGMAX,
2083 _SC_NL_MSGMAX,
2084 _SC_NL_NMAX,
2085 _SC_NL_SETMAX,
2086 _SC_NL_TEXTMAX,
2087
2088 _SC_XBS5_ILP32_OFF32,
2089 _SC_XBS5_ILP32_OFFBIG,
2090 _SC_XBS5_LP64_OFF64,
2091 _SC_XBS5_LPBIG_OFFBIG,
2092
2093 _SC_XOPEN_LEGACY,
2094 _SC_XOPEN_REALTIME,
2095 _SC_XOPEN_REALTIME_THREADS,
2096
2097 _SC_ADVISORY_INFO,
2098 _SC_BARRIERS,
2099 _SC_BASE,
2100 _SC_C_LANG_SUPPORT,
2101 _SC_C_LANG_SUPPORT_R,
2102 _SC_CLOCK_SELECTION,
2103 _SC_CPUTIME,
2104 _SC_THREAD_CPUTIME,
2105 _SC_DEVICE_IO,
2106 _SC_DEVICE_SPECIFIC,
2107 _SC_DEVICE_SPECIFIC_R,
2108 _SC_FD_MGMT,
2109 _SC_FIFO,
2110 _SC_PIPE,
2111 _SC_FILE_ATTRIBUTES,
2112 _SC_FILE_LOCKING,
2113 _SC_FILE_SYSTEM,
2114 _SC_MONOTONIC_CLOCK,
2115 _SC_MULTI_PROCESS,
2116 _SC_SINGLE_PROCESS,
2117 _SC_NETWORKING,
2118 _SC_READER_WRITER_LOCKS,
2119 _SC_SPIN_LOCKS,
2120 _SC_REGEXP,
2121 _SC_REGEX_VERSION,
2122 _SC_SHELL,
2123 _SC_SIGNALS,
2124 _SC_SPAWN,
2125 _SC_SPORADIC_SERVER,
2126 _SC_THREAD_SPORADIC_SERVER,
2127 _SC_SYSTEM_DATABASE,
2128 _SC_SYSTEM_DATABASE_R,
2129 _SC_TIMEOUTS,
2130 _SC_TYPED_MEMORY_OBJECTS,
2131 _SC_USER_GROUPS,
2132 _SC_USER_GROUPS_R,
2133 _SC_2_PBS,
2134 _SC_2_PBS_ACCOUNTING,
2135 _SC_2_PBS_LOCATE,
2136 _SC_2_PBS_MESSAGE,
2137 _SC_2_PBS_TRACK,
2138 _SC_SYMLOOP_MAX,
2139 _SC_STREAMS,
2140 _SC_2_PBS_CHECKPOINT,
2141
2142 _SC_V6_ILP32_OFF32,
2143 _SC_V6_ILP32_OFFBIG,
2144 _SC_V6_LP64_OFF64,
2145 _SC_V6_LPBIG_OFFBIG,
2146
2147 _SC_HOST_NAME_MAX,
2148 _SC_TRACE,
2149 _SC_TRACE_EVENT_FILTER,
2150 _SC_TRACE_INHERIT,
2151 _SC_TRACE_LOG,
2152
2153 _SC_LEVEL1_ICACHE_SIZE,
2154 _SC_LEVEL1_ICACHE_ASSOC,
2155 _SC_LEVEL1_ICACHE_LINESIZE,
2156 _SC_LEVEL1_DCACHE_SIZE,
2157 _SC_LEVEL1_DCACHE_ASSOC,
2158 _SC_LEVEL1_DCACHE_LINESIZE,
2159 _SC_LEVEL2_CACHE_SIZE,
2160 _SC_LEVEL2_CACHE_ASSOC,
2161 _SC_LEVEL2_CACHE_LINESIZE,
2162 _SC_LEVEL3_CACHE_SIZE,
2163 _SC_LEVEL3_CACHE_ASSOC,
2164 _SC_LEVEL3_CACHE_LINESIZE,
2165 _SC_LEVEL4_CACHE_SIZE,
2166 _SC_LEVEL4_CACHE_ASSOC,
2167 _SC_LEVEL4_CACHE_LINESIZE,
2168
2169 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
2170 _SC_RAW_SOCKETS
2171 }
2172}
2173
2174//
2175// File Synchronization (FSC)
2176//
2177/*
2178int fsync(int);
2179*/
2180
2181version (CRuntime_Glibc)
2182{
2183 int fsync(int) @trusted;
2184}
2185else version (Darwin)
2186{
2187 int fsync(int) @trusted;
2188}
2189else version (FreeBSD)
2190{
2191 int fsync(int) @trusted;
2192}
2193else version (NetBSD)
2194{
2195 int fsync(int) @trusted;
2196}
0234a917
IB
2197else version (OpenBSD)
2198{
2199 int fsync(int) @trusted;
2200}
b4c522fa
IB
2201else version (DragonFlyBSD)
2202{
2203 int fsync(int) @trusted;
2204}
2205else version (CRuntime_Bionic)
2206{
2207 int fsync(int) @trusted;
2208}
2209else version (CRuntime_Musl)
2210{
2211 int fsync(int) @trusted;
2212}
2213else version (Solaris)
2214{
2215 int fsync(int) @trusted;
2216}
2217else version (CRuntime_UClibc)
2218{
2219 int fsync(int) @trusted;
2220}
2221
2222//
2223// Synchronized I/O (SIO)
2224//
2225/*
2226int fdatasync(int);
2227*/
2228
2229version (CRuntime_Glibc)
2230{
2231 int fdatasync(int) @trusted;
2232}
2233else version (Solaris)
2234{
2235 int fdatasync(int) @trusted;
2236}
2237else version (CRuntime_Bionic)
2238{
2239 int fdatasync(int) @trusted;
2240}
2241else version (CRuntime_UClibc)
2242{
2243 int fdatasync(int) @trusted;
2244}
2245
2246//
2247// XOpen (XSI)
2248//
2249/*
2250char* crypt(in char*, in char*);
2251char* ctermid(char*);
2252void encrypt(ref char[64], int);
2253int fchdir(int);
2254c_long gethostid();
2255pid_t getpgid(pid_t);
2256pid_t getsid(pid_t);
2257char* getwd(char*); // LEGACY
2258int lchown(in char*, uid_t, gid_t);
2259int lockf(int, int, off_t);
2260int nice(int);
2261ssize_t pread(int, void*, size_t, off_t);
2262ssize_t pwrite(int, in void*, size_t, off_t);
2263pid_t setpgrp();
2264int setregid(gid_t, gid_t);
2265int setreuid(uid_t, uid_t);
2266void swab(in void*, void*, ssize_t);
2267void sync();
2268int truncate(in char*, off_t);
2269useconds_t ualarm(useconds_t, useconds_t);
2270int usleep(useconds_t);
2271pid_t vfork();
2272*/
2273
2274version (CRuntime_Glibc)
2275{
2276 char* crypt(in char*, in char*);
2277 char* ctermid(char*);
2278 void encrypt(ref char[64], int) @trusted;
2279 int fchdir(int) @trusted;
2280 c_long gethostid() @trusted;
2281 pid_t getpgid(pid_t) @trusted;
2282 pid_t getsid(pid_t) @trusted;
2283 char* getwd(char*); // LEGACY
2284 int lchown(in char*, uid_t, gid_t);
2285 //int lockf(int, int, off_t);
2286 int nice(int) @trusted;
2287 //ssize_t pread(int, void*, size_t, off_t);
2288 //ssize_t pwrite(int, in void*, size_t, off_t);
2289 pid_t setpgrp() @trusted;
2290 int setregid(gid_t, gid_t) @trusted;
2291 int setreuid(uid_t, uid_t) @trusted;
2292 void swab(in void*, void*, ssize_t);
2293 void sync() @trusted;
2294 //int truncate(in char*, off_t);
2295 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2296 int usleep(useconds_t) @trusted;
2297 pid_t vfork();
2298
2299 static if ( __USE_FILE_OFFSET64 )
2300 {
2301 int lockf64(int, int, off_t) @trusted;
2302 alias lockf64 lockf;
2303
2304 ssize_t pread64(int, void*, size_t, off_t);
2305 alias pread64 pread;
2306
2307 ssize_t pwrite64(int, in void*, size_t, off_t);
2308 alias pwrite64 pwrite;
2309
2310 int truncate64(in char*, off_t);
2311 alias truncate64 truncate;
2312 }
2313 else
2314 {
2315 int lockf(int, int, off_t) @trusted;
2316 ssize_t pread(int, void*, size_t, off_t);
2317 ssize_t pwrite(int, in void*, size_t, off_t);
2318 int truncate(in char*, off_t);
2319 }
2320}
2321else version (CRuntime_Musl)
2322{
2323 int fchdir(int) @trusted;
2324 int lockf(int, int, off_t);
2325 alias lockf lockf64;
2326}
2327else version (Darwin)
2328{
2329 char* crypt(in char*, in char*);
2330 char* ctermid(char*);
2331 void encrypt(ref char[64], int) @trusted;
2332 int fchdir(int) @trusted;
2333 c_long gethostid() @trusted;
2334 pid_t getpgid(pid_t) @trusted;
2335 pid_t getsid(pid_t) @trusted;
2336 char* getwd(char*); // LEGACY
2337 int lchown(in char*, uid_t, gid_t);
2338 int lockf(int, int, off_t) @trusted;
2339 int nice(int) @trusted;
2340 ssize_t pread(int, void*, size_t, off_t);
2341 ssize_t pwrite(int, in void*, size_t, off_t);
2342 pid_t setpgrp() @trusted;
2343 int setregid(gid_t, gid_t) @trusted;
2344 int setreuid(uid_t, uid_t) @trusted;
2345 void swab(in void*, void*, ssize_t);
2346 void sync() @trusted;
2347 int truncate(in char*, off_t);
2348 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2349 int usleep(useconds_t) @trusted;
2350 pid_t vfork();
2351}
2352else version (FreeBSD)
2353{
2354 char* crypt(in char*, in char*);
2355 //char* ctermid(char*);
2356 void encrypt(ref char[64], int) @trusted;
2357 int fchdir(int) @trusted;
2358 c_long gethostid() @trusted;
2359 int getpgid(pid_t) @trusted;
2360 int getsid(pid_t) @trusted;
2361 char* getwd(char*); // LEGACY
2362 int lchown(in char*, uid_t, gid_t);
2363 int lockf(int, int, off_t) @trusted;
2364 int nice(int) @trusted;
2365 ssize_t pread(int, void*, size_t, off_t);
2366 ssize_t pwrite(int, in void*, size_t, off_t);
2367 int setpgrp(pid_t, pid_t) @trusted;
2368 int setregid(gid_t, gid_t) @trusted;
2369 int setreuid(uid_t, uid_t) @trusted;
2370 void swab(in void*, void*, ssize_t);
2371 void sync() @trusted;
2372 int truncate(in char*, off_t);
2373 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2374 int usleep(useconds_t) @trusted;
2375 pid_t vfork();
2376}
2377else version (NetBSD)
2378{
2379 char* crypt(in char*, in char*);
2380 //char* ctermid(char*);
2381 void encrypt(ref char[64], int) @trusted;
2382 int fchdir(int) @trusted;
2383 c_long gethostid() @trusted;
2384 int getpgid(pid_t) @trusted;
2385 int getsid(pid_t) @trusted;
2386 char* getwd(char*); // LEGACY
2387 int lchown(in char*, uid_t, gid_t);
2388 int lockf(int, int, off_t) @trusted;
2389 int nice(int) @trusted;
2390 ssize_t pread(int, void*, size_t, off_t);
0234a917
IB
2391 ssize_t pwrite(int, in void*, size_t, off_t);
2392 int setpgrp(pid_t, pid_t) @trusted;
2393 int setregid(gid_t, gid_t) @trusted;
2394 int setreuid(uid_t, uid_t) @trusted;
2395 void swab(in void*, void*, ssize_t);
2396 void sync() @trusted;
2397 int truncate(in char*, off_t);
2398 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2399 int usleep(useconds_t) @trusted;
2400 pid_t vfork();
2401}
2402else version (OpenBSD)
2403{
2404 char* crypt(in char*, in char*);
2405 //char* ctermid(char*);
2406 //void encrypt(ref char[64], int) @trusted;
2407 int fchdir(int) @trusted;
2408 c_long gethostid() @trusted;
2409 pid_t getpgid(pid_t) @trusted;
2410 pid_t getsid(pid_t) @trusted;
2411 char* getwd(char*);
2412 int lchown(in char*, uid_t, gid_t);
2413 int lockf(int, int, off_t) @trusted;
2414 int nice(int) @trusted;
2415 ssize_t pread(int, void*, size_t, off_t);
b4c522fa
IB
2416 ssize_t pwrite(int, in void*, size_t, off_t);
2417 int setpgrp(pid_t, pid_t) @trusted;
2418 int setregid(gid_t, gid_t) @trusted;
2419 int setreuid(uid_t, uid_t) @trusted;
2420 void swab(in void*, void*, ssize_t);
2421 void sync() @trusted;
2422 int truncate(in char*, off_t);
2423 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2424 int usleep(useconds_t) @trusted;
2425 pid_t vfork();
2426}
2427else version (DragonFlyBSD)
2428{
2429 char* crypt(in char*, in char*);
2430 //char* ctermid(char*);
2431 void encrypt(ref char[64], int) @trusted;
2432 int fchdir(int) @trusted;
2433 c_long gethostid() @trusted;
2434 int getpgid(pid_t) @trusted;
2435 int getsid(pid_t) @trusted;
2436 char* getwd(char*); // LEGACY
2437 int lchown(in char*, uid_t, gid_t);
2438 int lockf(int, int, off_t) @trusted;
2439 int nice(int) @trusted;
2440 ssize_t pread(int, void*, size_t, off_t);
2441 ssize_t pwrite(int, in void*, size_t, off_t);
2442 int setpgrp(pid_t, pid_t) @trusted;
2443 int setregid(gid_t, gid_t) @trusted;
2444 int setreuid(uid_t, uid_t) @trusted;
2445 void swab(in void*, void*, ssize_t);
2446 void sync() @trusted;
2447 int truncate(in char*, off_t);
2448 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2449 int usleep(useconds_t) @trusted;
2450 pid_t vfork();
2451}
2452else version (CRuntime_Bionic)
2453{
2454 int fchdir(int) @trusted;
2455 pid_t getpgid(pid_t) @trusted;
2456 int lchown(in char*, uid_t, gid_t);
2457 int nice(int) @trusted;
2458 ssize_t pread(int, void*, size_t, off_t);
2459 ssize_t pwrite(int, in void*, size_t, off_t);
2460 int setpgrp() @trusted;
2461 int setregid(gid_t, gid_t) @trusted;
2462 int setreuid(uid_t, uid_t) @trusted;
2463 int sync() @trusted;
2464 int truncate(in char*, off_t);
2465 int usleep(c_ulong) @trusted;
2466 pid_t vfork();
2467}
2468else version (Solaris)
2469{
2470 char* crypt(in char*, in char*);
2471 char* ctermid(char*);
2472 void encrypt(ref char[64], int);
2473 int fchdir(int);
2474 c_long gethostid();
2475 pid_t getpgid(pid_t);
2476 pid_t getsid(pid_t);
2477 char* getwd(char*); // LEGACY
2478 int lchown(in char*, uid_t, gid_t);
2479 int nice(int);
2480 pid_t setpgrp();
2481 int setregid(gid_t, gid_t);
2482 int setreuid(uid_t, uid_t);
2483 void swab(in void*, void*, ssize_t);
2484 void sync();
2485 useconds_t ualarm(useconds_t, useconds_t);
2486 int usleep(useconds_t);
2487 pid_t vfork();
2488
2489 version (D_LP64)
2490 {
2491 int lockf(int, int, off_t);
2492 alias lockf lockf64;
2493
2494 ssize_t pread(int, void*, size_t, off_t);
2495 alias pread pread64;
2496
2497 ssize_t pwrite(int, in void*, size_t, off_t);
2498 alias pwrite pwrite64;
2499
2500 int truncate(in char*, off_t);
2501 alias truncate truncate64;
2502 }
2503 else
2504 {
2505 static if ( __USE_FILE_OFFSET64 )
2506 {
2507 int lockf64(int, int, off64_t);
2508 alias lockf64 lockf;
2509
2510 ssize_t pread64(int, void*, size_t, off64_t);
2511 alias pread64 pread;
2512
2513 ssize_t pwrite64(int, in void*, size_t, off_t);
2514 alias pwrite64 pwrite;
2515
2516 int truncate64(in char*, off_t);
2517 alias truncate64 truncate;
2518 }
2519 else
2520 {
2521 int lockf(int, int, off_t);
2522 ssize_t pread(int, void*, size_t, off_t);
2523 ssize_t pwrite(int, in void*, size_t, off_t);
2524 int truncate(in char*, off_t);
2525 }
2526 }
2527}
2528else version (CRuntime_UClibc)
2529{
2530 char* crypt(in char*, in char*);
2531 char* ctermid(char*);
2532 void encrypt(ref char[64], int) @trusted;
2533 int fchdir(int) @trusted;
2534 c_long gethostid() @trusted;
2535 pid_t getpgid(pid_t) @trusted;
2536 pid_t getsid(pid_t) @trusted;
2537 char* getwd(char*); // LEGACY
2538 int lchown(in char*, uid_t, gid_t);
2539 int nice(int) @trusted;
2540 pid_t setpgrp() @trusted;
2541 int setregid(gid_t, gid_t) @trusted;
2542 int setreuid(uid_t, uid_t) @trusted;
2543 void swab(in void*, void*, ssize_t);
2544 void sync() @trusted;
2545 useconds_t ualarm(useconds_t, useconds_t) @trusted;
2546 int usleep(useconds_t) @trusted;
2547 pid_t vfork();
2548
2549 static if ( __USE_FILE_OFFSET64 )
2550 {
2551 int lockf64(int, int, off_t) @trusted;
2552 alias lockf64 lockf;
2553
2554 ssize_t pread64(int, void*, size_t, off_t);
2555 alias pread64 pread;
2556
2557 ssize_t pwrite64(int, in void*, size_t, off_t);
2558 alias pwrite64 pwrite;
2559
2560 int truncate64(in char*, off_t);
2561 alias truncate64 truncate;
2562 }
2563 else
2564 {
2565 int lockf(int, int, off_t) @trusted;
2566 ssize_t pread(int, void*, size_t, off_t);
2567 ssize_t pwrite(int, in void*, size_t, off_t);
2568 int truncate(in char*, off_t);
2569 }
2570}