Loading...
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
/*
 * Copyright (c) 2000, 2002-2006, 2008, 2009 Apple Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 * 
 * This file contains Original Code and/or Modifications of Original Code
 * as defined in and that are subject to the Apple Public Source License
 * Version 2.0 (the 'License'). You may not use this file except in
 * compliance with the License. Please obtain a copy of the License at
 * http://www.opensource.apple.com/apsl/ and read it before using this
 * file.
 * 
 * The Original Code and all software distributed under the License are
 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 * Please see the License for the specific language governing rights and
 * limitations under the License.
 * 
 * @APPLE_LICENSE_HEADER_END@
 */
/*-
 * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
 * Copyright (c) 1991, 1993, 1994
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)unistd.h	8.12 (Berkeley) 4/27/95
 *
 *  Copyright (c)  1998 Apple Compter, Inc.
 *  All Rights Reserved
 */

/* History:
        7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
        3/26/98 CHW at Apple added real interface to searchfs call
  	3/5/98  CHW at Apple added hfs semantic system calls headers
*/

#ifndef _UNISTD_H_
#define	_UNISTD_H_

#include <_types.h>
#include <sys/unistd.h>

#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#ifndef _DEV_T
#define	_DEV_T
typedef __darwin_dev_t		dev_t;
#endif
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */

#ifndef _GID_T
#define	_GID_T
typedef __darwin_gid_t		gid_t;
#endif

#ifndef _INTPTR_T
#define	_INTPTR_T
typedef __darwin_intptr_t	intptr_t;
#endif

#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#ifndef _MODE_T
#define	_MODE_T
typedef __darwin_mode_t		mode_t;
#endif
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */

#ifndef _OFF_T
#define	_OFF_T
typedef __darwin_off_t		off_t;
#endif

#ifndef _PID_T
#define	_PID_T
typedef __darwin_pid_t		pid_t;
#endif

#ifndef _SIZE_T
#define	_SIZE_T
/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
 * _GCC_SIZE_T */
typedef __darwin_size_t		size_t;
#endif

#ifndef	_SSIZE_T
#define	_SSIZE_T
typedef	__darwin_ssize_t	ssize_t;
#endif

#ifndef _UID_T
#define	_UID_T
typedef __darwin_uid_t		uid_t;	/* user id 	*/
#endif

#ifndef _USECONDS_T
#define	_USECONDS_T
typedef __darwin_useconds_t	useconds_t;
#endif

#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#ifndef _UUID_T
#define	_UUID_T
typedef __darwin_uuid_t		uuid_t;
#endif /* _UUID_T */
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */

#define	 STDIN_FILENO	0	/* standard input file descriptor */
#define	STDOUT_FILENO	1	/* standard output file descriptor */
#define	STDERR_FILENO	2	/* standard error file descriptor */

#ifndef NULL
#define	NULL __DARWIN_NULL
#endif /* ! NULL */

/* Version test macros */
/* _POSIX_VERSION and _POSIX2_VERSION from sys/unistd.h */
#define	_XOPEN_VERSION			600		/* [XSI] */
#define	_XOPEN_XCU_VERSION		4		/* Older standard */


/* Please keep this list in the same order as the applicable standard */
#define	_POSIX_ADVISORY_INFO		(-1)		/* [ADV] */
#define	_POSIX_ASYNCHRONOUS_IO		(-1)		/* [AIO] */
#define	_POSIX_BARRIERS			(-1)		/* [BAR] */
#define	_POSIX_CHOWN_RESTRICTED		200112L
#define	_POSIX_CLOCK_SELECTION		(-1)		/* [CS] */
#define	_POSIX_CPUTIME			(-1)		/* [CPT] */
#define	_POSIX_FSYNC			200112L		/* [FSC] */
#define	_POSIX_IPV6			200112L
#define	_POSIX_JOB_CONTROL		200112L
#define	_POSIX_MAPPED_FILES		200112L		/* [MF] */
#define	_POSIX_MEMLOCK			(-1)		/* [ML] */
#define	_POSIX_MEMLOCK_RANGE		(-1)		/* [MR] */
#define	_POSIX_MEMORY_PROTECTION	200112L		/* [MPR] */
#define	_POSIX_MESSAGE_PASSING		(-1)		/* [MSG] */
#define	_POSIX_MONOTONIC_CLOCK		(-1)		/* [MON] */
#define	_POSIX_NO_TRUNC			200112L
#define	_POSIX_PRIORITIZED_IO		(-1)		/* [PIO] */
#define	_POSIX_PRIORITY_SCHEDULING	(-1)		/* [PS] */
#define	_POSIX_RAW_SOCKETS		(-1)		/* [RS] */
#define	_POSIX_READER_WRITER_LOCKS	200112L		/* [THR] */
#define	_POSIX_REALTIME_SIGNALS		(-1)		/* [RTS] */
#define	_POSIX_REGEXP			200112L
#define	_POSIX_SAVED_IDS		200112L		/* XXX required */
#define	_POSIX_SEMAPHORES		(-1)		/* [SEM] */
#define	_POSIX_SHARED_MEMORY_OBJECTS	(-1)		/* [SHM] */
#define	_POSIX_SHELL			200112L
#define	_POSIX_SPAWN			(-1)		/* [SPN] */
#define	_POSIX_SPIN_LOCKS		(-1)		/* [SPI] */
#define	_POSIX_SPORADIC_SERVER		(-1)		/* [SS] */
#define	_POSIX_SYNCHRONIZED_IO		(-1)		/* [SIO] */
#define	_POSIX_THREAD_ATTR_STACKADDR	200112L		/* [TSA] */
#define	_POSIX_THREAD_ATTR_STACKSIZE	200112L		/* [TSS] */
#define	_POSIX_THREAD_CPUTIME		(-1)		/* [TCT] */
#define	_POSIX_THREAD_PRIO_INHERIT	(-1)		/* [TPI] */
#define	_POSIX_THREAD_PRIO_PROTECT	(-1)		/* [TPP] */
#define	_POSIX_THREAD_PRIORITY_SCHEDULING	(-1)	/* [TPS] */
#define	_POSIX_THREAD_PROCESS_SHARED	200112L		/* [TSH] */
#define	_POSIX_THREAD_SAFE_FUNCTIONS	200112L		/* [TSF] */
#define	_POSIX_THREAD_SPORADIC_SERVER	(-1)		/* [TSP] */
#define	_POSIX_THREADS			200112L		/* [THR] */
#define	_POSIX_TIMEOUTS			(-1)		/* [TMO] */
#define	_POSIX_TIMERS			(-1)		/* [TMR] */
#define	_POSIX_TRACE			(-1)		/* [TRC] */
#define	_POSIX_TRACE_EVENT_FILTER	(-1)		/* [TEF] */
#define	_POSIX_TRACE_INHERIT		(-1)		/* [TRI] */
#define	_POSIX_TRACE_LOG		(-1)		/* [TRL] */
#define	_POSIX_TYPED_MEMORY_OBJECTS	(-1)		/* [TYM] */
#ifndef _POSIX_VDISABLE
#define	_POSIX_VDISABLE			0xff		/* same as sys/termios.h */
#endif /* _POSIX_VDISABLE */

#define	_POSIX2_C_BIND			200112L
#define	_POSIX2_C_DEV			200112L		/* c99 command */
#define	_POSIX2_CHAR_TERM		200112L
#define	_POSIX2_FORT_DEV		(-1)		/* fort77 command */
#define	_POSIX2_FORT_RUN		200112L
#define	_POSIX2_LOCALEDEF		200112L		/* localedef command */
#define	_POSIX2_PBS			(-1)
#define	_POSIX2_PBS_ACCOUNTING		(-1)
#define	_POSIX2_PBS_CHECKPOINT		(-1)
#define	_POSIX2_PBS_LOCATE		(-1)
#define	_POSIX2_PBS_MESSAGE		(-1)
#define	_POSIX2_PBS_TRACK		(-1)
#define	_POSIX2_SW_DEV			200112L
#define	_POSIX2_UPE			200112L	/* XXXX no fc, newgrp, tabs */

#define	_V6_ILP32_OFF32			(-1)
#define	_V6_ILP32_OFFBIG		(1)
#define	_V6_LP64_OFF64			(-1)
#define	_V6_LPBIG_OFFBIG		(-1)

#define	_XBS5_ILP32_OFF32		_V6_ILP32_OFF32		/* legacy */
#define	_XBS5_ILP32_OFFBIG		_V6_ILP32_OFFBIG	/* legacy */
#define	_XBS5_LP64_OFF64		_V6_LP64_OFF64		/* legacy */
#define	_XBS5_LPBIG_OFFBIG		_V6_LPBIG_OFFBIG	/* legacy */

#define	_XOPEN_CRYPT			(1)
#define	_XOPEN_ENH_I18N			(1)		/* XXX required */
#define	_XOPEN_LEGACY			(-1)	/* no ftime gcvt, wcswcs */
#define	_XOPEN_REALTIME			(-1)	/* no q'ed signals, mq_* */
#define	_XOPEN_REALTIME_THREADS		(-1)	/* no posix_spawn, et. al. */
#define	_XOPEN_SHM			(1)
#define	_XOPEN_STREAMS			(-1)
#define	_XOPEN_UNIX			(1)


#define	F_ULOCK         0      /* unlock locked section */
#define	F_LOCK          1      /* lock a section for exclusive use */
#define	F_TLOCK         2      /* test and lock a section for exclusive use */
#define	F_TEST          3      /* test a section for locks by other procs */

/* configurable system variables */
#define	_SC_ARG_MAX			 1
#define	_SC_CHILD_MAX			 2
#define	_SC_CLK_TCK			 3
#define	_SC_NGROUPS_MAX			 4
#define	_SC_OPEN_MAX			 5
#define	_SC_JOB_CONTROL			 6
#define	_SC_SAVED_IDS			 7
#define	_SC_VERSION			 8
#define	_SC_BC_BASE_MAX			 9
#define	_SC_BC_DIM_MAX			10
#define	_SC_BC_SCALE_MAX		11
#define	_SC_BC_STRING_MAX		12
#define	_SC_COLL_WEIGHTS_MAX		13
#define	_SC_EXPR_NEST_MAX		14
#define	_SC_LINE_MAX			15
#define	_SC_RE_DUP_MAX			16
#define	_SC_2_VERSION			17
#define	_SC_2_C_BIND			18
#define	_SC_2_C_DEV			19
#define	_SC_2_CHAR_TERM			20
#define	_SC_2_FORT_DEV			21
#define	_SC_2_FORT_RUN			22
#define	_SC_2_LOCALEDEF			23
#define	_SC_2_SW_DEV			24
#define	_SC_2_UPE			25
#define	_SC_STREAM_MAX			26
#define	_SC_TZNAME_MAX			27
#define	_SC_ASYNCHRONOUS_IO		28
#define	_SC_PAGESIZE			29
#define	_SC_MEMLOCK			30
#define	_SC_MEMLOCK_RANGE		31
#define	_SC_MEMORY_PROTECTION		32
#define	_SC_MESSAGE_PASSING		33
#define	_SC_PRIORITIZED_IO		34
#define	_SC_PRIORITY_SCHEDULING		35
#define	_SC_REALTIME_SIGNALS		36
#define	_SC_SEMAPHORES			37
#define	_SC_FSYNC			38
#define	_SC_SHARED_MEMORY_OBJECTS 	39
#define	_SC_SYNCHRONIZED_IO		40
#define	_SC_TIMERS			41
#define	_SC_AIO_LISTIO_MAX		42
#define	_SC_AIO_MAX			43
#define	_SC_AIO_PRIO_DELTA_MAX		44
#define	_SC_DELAYTIMER_MAX		45
#define	_SC_MQ_OPEN_MAX			46
#define	_SC_MAPPED_FILES		47	/* swap _SC_PAGESIZE vs. BSD */
#define	_SC_RTSIG_MAX			48
#define	_SC_SEM_NSEMS_MAX		49
#define	_SC_SEM_VALUE_MAX		50
#define	_SC_SIGQUEUE_MAX		51
#define	_SC_TIMER_MAX			52
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#define	_SC_NPROCESSORS_CONF		57
#define	_SC_NPROCESSORS_ONLN		58
#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */
#define	_SC_2_PBS			59
#define	_SC_2_PBS_ACCOUNTING		60
#define	_SC_2_PBS_CHECKPOINT		61
#define	_SC_2_PBS_LOCATE		62
#define	_SC_2_PBS_MESSAGE		63
#define	_SC_2_PBS_TRACK			64
#define	_SC_ADVISORY_INFO		65
#define	_SC_BARRIERS			66
#define	_SC_CLOCK_SELECTION		67
#define	_SC_CPUTIME			68
#define	_SC_FILE_LOCKING		69
#define	_SC_GETGR_R_SIZE_MAX		70
#define	_SC_GETPW_R_SIZE_MAX		71
#define	_SC_HOST_NAME_MAX		72
#define	_SC_LOGIN_NAME_MAX		73
#define	_SC_MONOTONIC_CLOCK		74
#define	_SC_MQ_PRIO_MAX			75
#define	_SC_READER_WRITER_LOCKS		76
#define	_SC_REGEXP			77
#define	_SC_SHELL			78
#define	_SC_SPAWN			79
#define	_SC_SPIN_LOCKS			80
#define	_SC_SPORADIC_SERVER		81
#define	_SC_THREAD_ATTR_STACKADDR	82
#define	_SC_THREAD_ATTR_STACKSIZE	83
#define	_SC_THREAD_CPUTIME		84
#define	_SC_THREAD_DESTRUCTOR_ITERATIONS 85
#define	_SC_THREAD_KEYS_MAX		86
#define	_SC_THREAD_PRIO_INHERIT		87
#define	_SC_THREAD_PRIO_PROTECT		88
#define	_SC_THREAD_PRIORITY_SCHEDULING	89
#define	_SC_THREAD_PROCESS_SHARED	90
#define	_SC_THREAD_SAFE_FUNCTIONS	91
#define	_SC_THREAD_SPORADIC_SERVER	92
#define	_SC_THREAD_STACK_MIN		93
#define	_SC_THREAD_THREADS_MAX		94
#define	_SC_TIMEOUTS			95
#define	_SC_THREADS			96
#define	_SC_TRACE			97
#define	_SC_TRACE_EVENT_FILTER		98
#define	_SC_TRACE_INHERIT		99
#define	_SC_TRACE_LOG			100
#define	_SC_TTY_NAME_MAX		101
#define	_SC_TYPED_MEMORY_OBJECTS	102
#define	_SC_V6_ILP32_OFF32		103
#define	_SC_V6_ILP32_OFFBIG		104
#define	_SC_V6_LP64_OFF64		105
#define	_SC_V6_LPBIG_OFFBIG		106
#define	_SC_IPV6			118
#define	_SC_RAW_SOCKETS			119
#define	_SC_SYMLOOP_MAX			120
#define	_SC_ATEXIT_MAX			107
#define	_SC_IOV_MAX			56
#define	_SC_PAGE_SIZE			_SC_PAGESIZE
#define	_SC_XOPEN_CRYPT			108
#define	_SC_XOPEN_ENH_I18N		109
#define	_SC_XOPEN_LEGACY		110
#define	_SC_XOPEN_REALTIME		111
#define	_SC_XOPEN_REALTIME_THREADS	112
#define	_SC_XOPEN_SHM			113
#define	_SC_XOPEN_STREAMS		114
#define	_SC_XOPEN_UNIX			115
#define	_SC_XOPEN_VERSION		116
#define	_SC_XOPEN_XCU_VERSION		121
#define	_SC_XBS5_ILP32_OFF32		122
#define	_SC_XBS5_ILP32_OFFBIG		123
#define	_SC_XBS5_LP64_OFF64		124
#define	_SC_XBS5_LPBIG_OFFBIG		125
#define	_SC_SS_REPL_MAX			126
#define	_SC_TRACE_EVENT_NAME_MAX	127
#define	_SC_TRACE_NAME_MAX		128
#define	_SC_TRACE_SYS_MAX		129
#define	_SC_TRACE_USER_EVENT_MAX	130
#define	_SC_PASS_MAX			131

#ifndef _CS_PATH	/* XXX temporary #ifdef'ed for <sys/unistd.h> */
#define	_CS_PATH				1
#endif
#define	_CS_POSIX_V6_ILP32_OFF32_CFLAGS		2
#define	_CS_POSIX_V6_ILP32_OFF32_LDFLAGS	3
#define	_CS_POSIX_V6_ILP32_OFF32_LIBS		4
#define	_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS	5
#define	_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS	6
#define	_CS_POSIX_V6_ILP32_OFFBIG_LIBS		7
#define	_CS_POSIX_V6_LP64_OFF64_CFLAGS		8
#define	_CS_POSIX_V6_LP64_OFF64_LDFLAGS		9
#define	_CS_POSIX_V6_LP64_OFF64_LIBS		10
#define	_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS	11
#define	_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS	12
#define	_CS_POSIX_V6_LPBIG_OFFBIG_LIBS		13
#define	_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS	14

/* reserved for compatibility with Issue 5 */
#define	_CS_XBS5_ILP32_OFF32_CFLAGS		20
#define	_CS_XBS5_ILP32_OFF32_LDFLAGS		21
#define	_CS_XBS5_ILP32_OFF32_LIBS		22
#define	_CS_XBS5_ILP32_OFF32_LINTFLAGS		23
#define	_CS_XBS5_ILP32_OFFBIG_CFLAGS		24
#define	_CS_XBS5_ILP32_OFFBIG_LDFLAGS		25
#define	_CS_XBS5_ILP32_OFFBIG_LIBS		26
#define	_CS_XBS5_ILP32_OFFBIG_LINTFLAGS		27
#define	_CS_XBS5_LP64_OFF64_CFLAGS		28
#define	_CS_XBS5_LP64_OFF64_LDFLAGS		29
#define	_CS_XBS5_LP64_OFF64_LIBS		30
#define	_CS_XBS5_LP64_OFF64_LINTFLAGS		31
#define	_CS_XBS5_LPBIG_OFFBIG_CFLAGS		32
#define	_CS_XBS5_LPBIG_OFFBIG_LDFLAGS		33
#define	_CS_XBS5_LPBIG_OFFBIG_LIBS		34
#define	_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS		35

#define	_CS_DARWIN_USER_DIR			65536
#define	_CS_DARWIN_USER_TEMP_DIR		65537
#define	_CS_DARWIN_USER_CACHE_DIR		65538

__BEGIN_DECLS

void	 _exit(int) __dead2;
int	 access(const char *, int);
unsigned int
	 alarm(unsigned int);
int	 chdir(const char *);
int	 chown(const char *, uid_t, gid_t);
//Begin-Libc
#ifndef LIBC_ALIAS_CLOSE
//End-Libc
int	 close(int) __DARWIN_ALIAS_C(close);
//Begin-Libc
#else /* LIBC_ALIAS_CLOSE */
int	 close(int) LIBC_ALIAS_C(close);
#endif /* !LIBC_ALIAS_CLOSE */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_CONFSTR
//End-Libc
size_t	 confstr(int, char *, size_t) __DARWIN_ALIAS(confstr);
//Begin-Libc
#else /* LIBC_ALIAS_CONFSTR */
size_t	 confstr(int, char *, size_t) LIBC_ALIAS(confstr);
#endif /* !LIBC_ALIAS_CONFSTR */
//End-Libc
char	*crypt(const char *, const char *);
char	*ctermid(char *);
int	 dup(int);
int	 dup2(int, int);
#if __DARWIN_UNIX03
//Begin-Libc
#ifndef LIBC_ALIAS_ENCRYPT
//End-Libc
void	 encrypt(char *, int) __DARWIN_ALIAS(encrypt);
//Begin-Libc
#else /* LIBC_ALIAS_ENCRYPT */
void	 encrypt(char *, int) LIBC_ALIAS(encrypt);
#endif /* !LIBC_ALIAS_ENCRYPT */
//End-Libc
#else /* !__DARWIN_UNIX03 */
int	 encrypt(char *, int);
#endif /* __DARWIN_UNIX03 */
int	 execl(const char *, const char *, ...);
int	 execle(const char *, const char *, ...);
int	 execlp(const char *, const char *, ...);
int	 execv(const char *, char * const *);
int	 execve(const char *, char * const *, char * const *);
int	 execvp(const char *, char * const *);
int	 fchown(int, uid_t, gid_t);
int	 fchdir(int);
pid_t	 fork(void);
long	 fpathconf(int, int);
//Begin-Libc
#ifndef LIBC_ALIAS_FSYNC
//End-Libc
int	 fsync(int) __DARWIN_ALIAS_C(fsync);
//Begin-Libc
#else /* LIBC_ALIAS_FSYNC */
int	 fsync(int) LIBC_ALIAS_C(fsync);
#endif /* !LIBC_ALIAS_FSYNC */
//End-Libc
int	 ftruncate(int, off_t);
char	*getcwd(char *, size_t);
gid_t	 getegid(void);
uid_t	 geteuid(void);
gid_t	 getgid(void);
#if defined(_DARWIN_UNLIMITED_GETGROUPS) || defined(_DARWIN_C_SOURCE)
int	 getgroups(int, gid_t []) __DARWIN_EXTSN(getgroups);
#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */
int	 getgroups(int, gid_t []);
#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */
long	 gethostid(void);
int	 gethostname(char *, size_t);
char	*getlogin(void);
int	 getlogin_r(char *, size_t);
//Begin-Libc
#ifndef LIBC_ALIAS_GETOPT
//End-Libc
int	 getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt);
//Begin-Libc
#else /* LIBC_ALIAS_GETOPT */
int	 getopt(int, char * const [], const char *) LIBC_ALIAS(getopt);
#endif /* !LIBC_ALIAS_GETOPT */
//End-Libc
pid_t	 getpgid(pid_t);
pid_t	 getpgrp(void);
pid_t	 getpid(void);
pid_t	 getppid(void);
pid_t	 getsid(pid_t);
uid_t	 getuid(void);
char	*getwd(char *);			/* obsoleted by getcwd() */
int	 isatty(int);
//Begin-Libc
#ifndef LIBC_ALIAS_LCHOWN
//End-Libc
int	 lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);
//Begin-Libc
#else /* LIBC_ALIAS_LCHOWN */
int	 lchown(const char *, uid_t, gid_t) LIBC_ALIAS(lchown);
#endif /* !LIBC_ALIAS_LCHOWN */
//End-Libc
int	 link(const char *, const char *);
//Begin-Libc
#ifndef LIBC_ALIAS_LOCKF
//End-Libc
int	 lockf(int, int, off_t) __DARWIN_ALIAS_C(lockf);
//Begin-Libc
#else /* LIBC_ALIAS_LOCKF */
int	 lockf(int, int, off_t) LIBC_ALIAS_C(lockf);
#endif /* !LIBC_ALIAS_LOCKF */
//End-Libc
off_t	 lseek(int, off_t, int);
//Begin-Libc
#ifndef LIBC_ALIAS_NICE
//End-Libc
int	 nice(int) __DARWIN_ALIAS(nice);
//Begin-Libc
#else /* LIBC_ALIAS_NICE */
int	 nice(int) LIBC_ALIAS(nice);
#endif /* !LIBC_ALIAS_NICE */
//End-Libc
long	 pathconf(const char *, int);
//Begin-Libc
#ifndef LIBC_ALIAS_PAUSE
//End-Libc
int	 pause(void) __DARWIN_ALIAS_C(pause);
//Begin-Libc
#else /* LIBC_ALIAS_PAUSE */
int	 pause(void) LIBC_ALIAS_C(pause);
#endif /* !LIBC_ALIAS_PAUSE */
//End-Libc
int	 pipe(int [2]);
//Begin-Libc
#ifndef LIBC_ALIAS_PREAD
//End-Libc
ssize_t	 pread(int, void *, size_t, off_t) __DARWIN_ALIAS_C(pread);
//Begin-Libc
#else /* LIBC_ALIAS_PREAD */
ssize_t	 pread(int, void *, size_t, off_t) LIBC_ALIAS_C(pread);
#endif /* !LIBC_ALIAS_PREAD */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_PWRITE
//End-Libc
ssize_t	 pwrite(int, const void *, size_t, off_t) __DARWIN_ALIAS_C(pwrite);
//Begin-Libc
#else /* LIBC_ALIAS_PWRITE */
ssize_t	 pwrite(int, const void *, size_t, off_t) LIBC_ALIAS_C(pwrite);
#endif /* !LIBC_ALIAS_PWRITE */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_READ
//End-Libc
ssize_t	 read(int, void *, size_t) __DARWIN_ALIAS_C(read);
//Begin-Libc
#else /* LIBC_ALIAS_READ */
ssize_t	 read(int, void *, size_t) LIBC_ALIAS_C(read);
#endif /* !LIBC_ALIAS_READ */
//End-Libc
ssize_t  readlink(const char * __restrict, char * __restrict, size_t);
int	 rmdir(const char *);
int	 setegid(gid_t);
int	 seteuid(uid_t);
int	 setgid(gid_t);
int	 setpgid(pid_t, pid_t);
#if __DARWIN_UNIX03
//Begin-Libc
#ifndef LIBC_ALIAS_SETPGRP
//End-Libc
pid_t	 setpgrp(void) __DARWIN_ALIAS(setpgrp);
//Begin-Libc
#else /* LIBC_ALIAS_SETPGRP */
pid_t	 setpgrp(void) LIBC_ALIAS(setpgrp);
#endif /* !LIBC_ALIAS_SETPGRP */
//End-Libc
#else /* !__DARWIN_UNIX03 */
int	 setpgrp(pid_t pid, pid_t pgrp);	/* obsoleted by setpgid() */
#endif /* __DARWIN_UNIX03 */
//Begin-Libc
#ifndef LIBC_ALIAS_SETREGID
//End-Libc
int	 setregid(gid_t, gid_t) __DARWIN_ALIAS(setregid);
//Begin-Libc
#else /* LIBC_ALIAS_SETREGID */
int	 setregid(gid_t, gid_t) LIBC_ALIAS(setregid);
#endif /* !LIBC_ALIAS_SETREGID */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_SETREUID
//End-Libc
int	 setreuid(uid_t, uid_t) __DARWIN_ALIAS(setreuid);
//Begin-Libc
#else /* LIBC_ALIAS_SETREUID */
int	 setreuid(uid_t, uid_t) LIBC_ALIAS(setreuid);
#endif /* !LIBC_ALIAS_SETREUID */
//End-Libc
pid_t	 setsid(void);
int	 setuid(uid_t);
//Begin-Libc
#ifndef LIBC_ALIAS_SLEEP
//End-Libc
unsigned int
	 sleep(unsigned int) __DARWIN_ALIAS_C(sleep);
//Begin-Libc
#else /* LIBC_ALIAS_SLEEP */
unsigned int
	 sleep(unsigned int) LIBC_ALIAS_C(sleep);
#endif /* !LIBC_ALIAS_SLEEP */
//End-Libc
void     swab(const void * __restrict, void * __restrict, ssize_t);
int	 symlink(const char *, const char *);
void	 sync(void);
long	 sysconf(int);
pid_t	 tcgetpgrp(int);
int	 tcsetpgrp(int, pid_t);
int	 truncate(const char *, off_t);
char	*ttyname(int);
#if __DARWIN_UNIX03
//Begin-Libc
#ifndef LIBC_ALIAS_TTYNAME_R
//End-Libc
int	 ttyname_r(int, char *, size_t) __DARWIN_ALIAS(ttyname_r);
//Begin-Libc
#else /* LIBC_ALIAS_TTYNAME_R */
int	 ttyname_r(int, char *, size_t) LIBC_ALIAS(ttyname_r);
#endif /* !LIBC_ALIAS_TTYNAME_R */
//End-Libc
#else /* !__DARWIN_UNIX03 */
char	*ttyname_r(int, char *, size_t);
#endif /* __DARWIN_UNIX03 */
useconds_t
	 ualarm(useconds_t, useconds_t);
int	 unlink(const char *);
//Begin-Libc
#ifndef LIBC_ALIAS_USLEEP
//End-Libc
int	 usleep(useconds_t) __DARWIN_ALIAS_C(usleep);
//Begin-Libc
#else /* LIBC_ALIAS_USLEEP */
int	 usleep(useconds_t) LIBC_ALIAS_C(usleep);
#endif /* !LIBC_ALIAS_USLEEP */
//End-Libc
pid_t	 vfork(void);
//Begin-Libc
#ifndef LIBC_ALIAS_WRITE
//End-Libc
ssize_t	 write(int, const void *, size_t) __DARWIN_ALIAS_C(write);
//Begin-Libc
#else /* LIBC_ALIAS_WRITE */
ssize_t	 write(int, const void *, size_t) LIBC_ALIAS_C(write);
#endif /* !LIBC_ALIAS_WRITE */
//End-Libc

extern char *optarg;			/* getopt(3) external variables */
extern int optind, opterr, optopt;

#if	!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#include <sys/select.h>

void	 _Exit(int) __dead2;
int	 accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t);
int	 acct(const char *);
int	 add_profil(char *, size_t, unsigned long, unsigned int);
void	*brk(const void *);
int	 chroot(const char *);
void	 endusershell(void);
int	 execvP(const char *, const char *, char * const *);
char	*fflagstostr(unsigned long);
int	 getdtablesize(void);
int	 getdomainname(char *, int);
int	 getgrouplist(const char *, int, int *, int *);
int	 gethostuuid(uuid_t, const struct timespec *);
mode_t	 getmode(const void *, mode_t);
int	 getpagesize(void) __pure2;
char	*getpass(const char *);
int	 getpeereid(int, uid_t *, gid_t *);
int	 getpgid(pid_t _pid);
int	 getsgroups_np(int *, uuid_t);
int	 getsid(pid_t _pid);
char	*getusershell(void);
int	 getwgroups_np(int *, uuid_t);
int	 initgroups(const char *, int);
int	 iruserok(unsigned long, int, const char *, const char *);
int	 iruserok_sa(const void *, int, int, const char *, const char *);
int	 issetugid(void);
char	*mkdtemp(char *);
int	 mknod(const char *, mode_t, dev_t);
int	 mkstemp(char *);
int	 mkstemps(char *, int);
char	*mktemp(char *);
int	 nfssvc(int, void *);
int	 profil(char *, size_t, unsigned long, unsigned int);
int	 pthread_setugid_np(uid_t, gid_t);
int	 pthread_getugid_np( uid_t *, gid_t *);
int	 rcmd(char **, int, const char *, const char *, const char *, int *);
int	 rcmd_af(char **, int, const char *, const char *, const char *, int *,
		int);
int	 reboot(int);
int	 revoke(const char *);
int	 rresvport(int *);
int	 rresvport_af(int *, int);
int	 ruserok(const char *, int, const char *, const char *);
void	*sbrk(int);
int	 setdomainname(const char *, int);
int	 setgroups(int, const gid_t *);
void	 sethostid(long);
int	 sethostname(const char *, int);
#if __DARWIN_UNIX03
//Begin-Libc
#ifndef LIBC_ALIAS_SETKEY
//End-Libc
void	 setkey(const char *) __DARWIN_ALIAS(setkey);
//Begin-Libc
#else /* LIBC_ALIAS_SETKEY */
void	 setkey(const char *) LIBC_ALIAS(setkey);
#endif /* !LIBC_ALIAS_SETKEY */
//End-Libc
#else /* !__DARWIN_UNIX03 */
int	 setkey(const char *);
#endif /* __DARWIN_UNIX03 */
int	 setlogin(const char *);
//Begin-Libc
#ifndef LIBC_ALIAS_SETMODE
//End-Libc
void	*setmode(const char *) __DARWIN_ALIAS(setmode);
//Begin-Libc
#else /* LIBC_ALIAS_SETMODE */
void	*setmode(const char *) LIBC_ALIAS(setmode);
#endif /* !LIBC_ALIAS_SETMODE */
//End-Libc
int	 setrgid(gid_t);
int	 setruid(uid_t);
int	 setsgroups_np(int, const uuid_t);
void	 setusershell(void);
int	 setwgroups_np(int, const uuid_t);
int	 strtofflags(char **, unsigned long *, unsigned long *);
int	 swapon(const char *);
int	 syscall(int, ...);
int	 ttyslot(void);
int	 undelete(const char *);
int	 unwhiteout(const char *);
void	*valloc(size_t);			

extern char *suboptarg;			/* getsubopt(3) external variable */
int	 getsubopt(char **, char * const *, char **);

/*  HFS & HFS Plus semantics system calls go here */
#ifdef __LP64__
int    fgetattrlist(int,void*,void*,size_t,unsigned int);
int    fsetattrlist(int,void*,void*,size_t,unsigned int);
//Begin-Libc
#ifndef LIBC_ALIAS_GETATTRLIST
//End-Libc
int    getattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(getattrlist);
//Begin-Libc
#else /* LIBC_ALIAS_GETATTRLIST */
int    getattrlist(const char*,void*,void*,size_t,unsigned int) LIBC_ALIAS(getattrlist);
#endif /* !LIBC_ALIAS_GETATTRLIST */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_SETATTRLIST
//End-Libc
int    setattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(setattrlist);
//Begin-Libc
#else /* LIBC_ALIAS_SETATTRLIST */
int    setattrlist(const char*,void*,void*,size_t,unsigned int) LIBC_ALIAS(setattrlist);
#endif /* !LIBC_ALIAS_SETATTRLIST */
//End-Libc
int exchangedata(const char*,const char*,unsigned int);
int    getdirentriesattr(int,void*,void*,size_t,unsigned int*,unsigned int*,unsigned int*,unsigned int);

#else /* __LP64__ */
int	fgetattrlist(int,void*,void*,size_t,unsigned long);
int	fsetattrlist(int,void*,void*,size_t,unsigned long);
//Begin-Libc
#ifndef LIBC_ALIAS_GETATTRLIST
//End-Libc
int	getattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(getattrlist);
//Begin-Libc
#else /* LIBC_ALIAS_GETATTRLIST */
int	getattrlist(const char*,void*,void*,size_t,unsigned long) LIBC_ALIAS(getattrlist);
#endif /* !LIBC_ALIAS_GETATTRLIST */
//End-Libc
//Begin-Libc
#ifndef LIBC_ALIAS_SETATTRLIST
//End-Libc
int	setattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(setattrlist);
//Begin-Libc
#else /* LIBC_ALIAS_SETATTRLIST */
int	setattrlist(const char*,void*,void*,size_t,unsigned long) LIBC_ALIAS(setattrlist);
#endif /* !LIBC_ALIAS_SETATTRLIST */
//End-Libc
int exchangedata(const char*,const char*,unsigned long);
int	getdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long);

#endif /* __LP64__ */

struct fssearchblock;
struct searchstate;

int	 searchfs(const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate *);
int	 fsctl(const char *,unsigned long,void*,unsigned int);
int	 ffsctl(int,unsigned long,void*,unsigned int);

extern int optreset;

#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
__END_DECLS

#endif /* !_UNISTD_H_ */