Loading...
include/unistd.h Libc-320 Libc-825.26
--- Libc/Libc-320/include/unistd.h
+++ Libc/Libc-825.26/include/unistd.h
@@ -1,9 +1,7 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
@@ -70,72 +68,411 @@
 #ifndef _UNISTD_H_
 #define	_UNISTD_H_
 
-#include <sys/cdefs.h>
-#include <sys/types.h>
+#include <_types.h>
 #include <sys/unistd.h>
+#include <Availability.h>
+
+#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
+
+#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
+
+#ifndef NULL
+#define	NULL __DARWIN_NULL
+#endif /* ! NULL */
 
 #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		0	/* null pointer constant */
-#endif
-
-#define _POSIX_THREADS		/* We support pthreads */
-
-#ifndef _POSIX_SOURCE
-#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 */
-#endif
+
+/* 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 */
+
+#if __DARWIN_C_LEVEL >= 199209L
+#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 */
+#endif /* __DARWIN_C_LEVEL */
+
+#define	__ILP32_OFF32          (-1)
+#define	__ILP32_OFFBIG         (1)
+#define	__LP64_OFF64           (1)
+#define	__LPBIG_OFFBIG         (1)
+
+#if __DARWIN_C_LEVEL >= 200112L
+#define	_POSIX_V6_ILP32_OFF32		__ILP32_OFF32
+#define	_POSIX_V6_ILP32_OFFBIG		__ILP32_OFFBIG
+#define	_POSIX_V6_LP64_OFF64		__LP64_OFF64
+#define	_POSIX_V6_LPBIG_OFFBIG		__LPBIG_OFFBIG
+#endif /* __DARWIN_C_LEVEL >= 200112L */
+
+#if __DARWIN_C_LEVEL >= 200809L
+#define	_POSIX_V7_ILP32_OFF32		__ILP32_OFF32
+#define	_POSIX_V7_ILP32_OFFBIG		__ILP32_OFFBIG
+#define	_POSIX_V7_LP64_OFF64		__LP64_OFF64
+#define	_POSIX_V7_LPBIG_OFFBIG		__LPBIG_OFFBIG
+#endif /* __DARWIN_C_LEVEL >= 200809L */
+
+#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+#define	_V6_ILP32_OFF32             __ILP32_OFF32
+#define	_V6_ILP32_OFFBIG            __ILP32_OFFBIG
+#define	_V6_LP64_OFF64              __LP64_OFF64
+#define	_V6_LPBIG_OFFBIG            __LPBIG_OFFBIG
+#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
+
+#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+/* Removed in Issue 7 */
+#define	_XBS5_ILP32_OFF32		    __ILP32_OFF32
+#define	_XBS5_ILP32_OFFBIG		    __ILP32_OFFBIG
+#define	_XBS5_LP64_OFF64		    __LP64_OFF64
+#define	_XBS5_LPBIG_OFFBIG		    __LPBIG_OFFBIG
+#endif /* __DARWIN_C_LEVEL < 200809L */
+
+#if __DARWIN_C_LEVEL >= 199506L /* This really should be XSI */ 
+#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)   /* Issue 6 */
+#define	_XOPEN_UNIX			(1)
+#endif /* XSI */
 
 /* 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
-/* POSIX.1B sysconf options for async IO*/
-#define _SC_ASYNCHRONOUS_IO	28
-#define _SC_PAGESIZE		29
-#define _SC_AIO_LISTIO_MAX	42
-#define _SC_AIO_MAX		43
-#define _SC_AIO_PRIO_DELTA_MAX	44
+#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
+
+#if __DARWIN_C_LEVEL >= 199309L
+#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
+#endif /* __DARWIN_C_LEVEL >= 199309L */
+
+#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+#define	_SC_NPROCESSORS_CONF		57
+#define	_SC_NPROCESSORS_ONLN		58
+#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
+
+#if __DARWIN_C_LEVEL >= 200112L
+#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
+#endif /* __DARWIN_C_LEVEL >= 200112L */
+
+#if __DARWIN_C_LEVEL >= 199506L /* Really XSI */
+#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      /* Issue 6 */
+#define	_SC_XOPEN_REALTIME		111      /* Issue 6 */
+#define	_SC_XOPEN_REALTIME_THREADS	112  /* Issue 6 */
+#define	_SC_XOPEN_SHM			113
+#define	_SC_XOPEN_STREAMS		114      /* Issue 6 */
+#define	_SC_XOPEN_UNIX			115
+#define	_SC_XOPEN_VERSION		116
+#define	_SC_XOPEN_XCU_VERSION		121
+#endif /* XSI */
+
+#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+/* Removed in Issue 7 */
+#define	_SC_XBS5_ILP32_OFF32		122
+#define	_SC_XBS5_ILP32_OFFBIG		123
+#define	_SC_XBS5_LP64_OFF64		124
+#define	_SC_XBS5_LPBIG_OFFBIG		125
+#endif /* __DARWIN_C_LEVEL <= 200809L */
+
+#if __DARWIN_C_LEVEL >= 200112L
+#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
+#endif
+
+#if __DARWIN_C_LEVEL < 200112L || __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+/* Removed in Issue 6 */
+#define	_SC_PASS_MAX			131
+#endif
+
+#if __DARWIN_C_LEVEL >= 199209L
+#ifndef _CS_PATH /* Defined in <sys/unistd.h> */
+#define	_CS_PATH				1
+#endif
+#endif
+
+#if __DARWIN_C_LEVEL >= 200112
+#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
+#endif
+
+#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+/* Removed in Issue 7 */
+#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
+#endif
+
+#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+#define	_CS_DARWIN_USER_DIR			65536
+#define	_CS_DARWIN_USER_TEMP_DIR		65537
+#define	_CS_DARWIN_USER_CACHE_DIR		65538
+#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
+
+
+#ifdef _DARWIN_UNLIMITED_GETGROUPS
+#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2
+#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -miphoneos-version-min version does not support it."
+#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6
+#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -mmacosx-version-min version does not support it."
+#endif
+#endif
+
+/* POSIX.1-1990 */
 
 __BEGIN_DECLS
-
-void	 _Exit(int) __dead2;
 void	 _exit(int) __dead2;
 int	 access(const char *, int);
-unsigned int alarm(unsigned int);
+unsigned int
+	 alarm(unsigned int);
 int	 chdir(const char *);
 int	 chown(const char *, uid_t, gid_t);
-int	 close(int);
-size_t	 confstr(int, char *, size_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
+
 int	 dup(int);
 int	 dup2(int, int);
 int	 execl(const char *, const char *, ...);
@@ -147,13 +484,15 @@
 pid_t	 fork(void);
 long	 fpathconf(int, int);
 char	*getcwd(char *, size_t);
-int	 getdomainname(char *, int);
 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_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(getgroups));
+#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */
 int	 getgroups(int, gid_t []);
+#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */
 char	*getlogin(void);
-int	 getlogin_r(char *, int);
 pid_t	 getpgrp(void);
 pid_t	 getpid(void);
 pid_t	 getppid(void);
@@ -162,134 +501,482 @@
 int	 link(const char *, const char *);
 off_t	 lseek(int, off_t, int);
 long	 pathconf(const char *, int);
-int	 pause(void);
-int	 pipe(int *);
-ssize_t	 read(int, void *, size_t);
+
+//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_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
+
 int	 rmdir(const char *);
-int	 setdomainname(const char *, int);
 int	 setgid(gid_t);
 int	 setpgid(pid_t, pid_t);
 pid_t	 setsid(void);
 int	 setuid(uid_t);
-unsigned int	 sleep(unsigned int);
+
+//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
+
 long	 sysconf(int);
 pid_t	 tcgetpgrp(int);
 int	 tcsetpgrp(int, pid_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 */
+
 int	 unlink(const char *);
-ssize_t	 write(int, const void *, size_t);
+
+//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
+__END_DECLS
+
+
+
+/* Additional functionality provided by:
+ * POSIX.2-1992 C Language Binding Option
+ */
+
+#if __DARWIN_C_LEVEL >= 199209L
+__BEGIN_DECLS
+//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
+
+//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
 
 extern char *optarg;			/* getopt(3) external variables */
-extern int optind, opterr, optopt, optreset;
-int	 getopt(int, char * const [], const char *);
-
-#ifndef	_POSIX_SOURCE
-#ifdef	__STDC__
-struct timespec;			/* pselect(3) */
-struct timeval;				/* select(2) */
-#endif
+extern int optind, opterr, optopt;
+__END_DECLS
+#endif /* __DARWIN_C_LEVEL >= 199209L */
+
+
+
+/* Additional functionality provided by:
+ * POSIX.1c-1995,
+ * POSIX.1i-1995,
+ * and the omnibus ISO/IEC 9945-1: 1996
+ */
+
+#if __DARWIN_C_LEVEL >= 199506L
+                               /* These F_* are really XSI or Issue 6 */
+#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 */
+
+ __BEGIN_DECLS
+
+/* Begin XSI */
+/* Removed in Issue 6 */
+#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
+void	*brk(const void *);
+int	 chroot(const char *) __POSIX_C_DEPRECATED(199506L);
+#endif
+
+char	*crypt(const char *, const char *);
+#ifndef __CTERMID_DEFINED
+/* Multiply defined in stdio.h and unistd.h by SUS */
+#define __CTERMID_DEFINED 1
+char    *ctermid(char *);
+#endif
+#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	 fchdir(int);
+long	 gethostid(void);
+pid_t	 getpgid(pid_t);
+pid_t	 getsid(pid_t);
+
+/* Removed in Issue 6 */
+#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
+int	 getdtablesize(void) __POSIX_C_DEPRECATED(199506L);
+int	 getpagesize(void) __pure2 __POSIX_C_DEPRECATED(199506L);
+char	*getpass(const char *) __POSIX_C_DEPRECATED(199506L);
+#endif
+
+/* Removed in Issue 7 */
+#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
+char	*getwd(char *) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */
+#endif
+
+//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
+
+//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
+
+//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
+
+//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
+
+/* Removed in Issue 6 */
+#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
+/* Note that Issue 5 changed the argument as intprt_t,
+ * but we keep it as int for binary compatability. */
+void	*sbrk(int);
+#endif
+
+#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
+
+void     swab(const void * __restrict, void * __restrict, ssize_t);
+void	 sync(void);
+int	 truncate(const char *, off_t);
+useconds_t	 ualarm(useconds_t, useconds_t);
+//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);
+/* End XSI */
+
+//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);
+int	 getlogin_r(char *, size_t);
+__END_DECLS
+#endif /* __DARWIN_C_LEVEL >= 199506L */
+
+
+
+/* Additional functionality provided by:
+ * POSIX.1-2001
+ * ISO C99
+ */
+
+#if __DARWIN_C_LEVEL >= 200112L
+__BEGIN_DECLS
+int	 fchown(int, uid_t, gid_t);
+int	 gethostname(char *, size_t);
+ssize_t  readlink(const char * __restrict, char * __restrict, size_t);
+int	 setegid(gid_t);
+int	 seteuid(uid_t);
+int	 symlink(const char *, const char *);
+__END_DECLS
+#endif /* __DARWIN_C_LEVEL >= 200112L */
+
+
+
+/* Darwin extensions */
+
+#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+#include <sys/select.h>
+
+#ifndef _DEV_T
+#define	_DEV_T
+typedef __darwin_dev_t		dev_t;
+#endif
+
+#ifndef _MODE_T
+#define	_MODE_T
+typedef __darwin_mode_t		mode_t;
+#endif
+
+#ifndef _UUID_T
+#define	_UUID_T
+typedef __darwin_uuid_t		uuid_t;
+#endif /* _UUID_T */
+
+__BEGIN_DECLS
+void	 _Exit(int) __dead2;
+int	 accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t);
 int	 acct(const char *);
-int	 async_daemon(void);
-char	*brk(const char *);
-int	 chroot(const char *);
-char	*crypt(const char *, const char *);
-int	 des_cipher(const char *, char *, long, int);
-int	 des_setkey(const char *key);
-int	 encrypt(char *, int);
+int	 add_profil(char *, size_t, unsigned long, unsigned int);
 void	 endusershell(void);
-int	 fchdir(int);
-int	 fchown(int, int, int);
-char	*fflagstostr(u_long);
-int	 fsync(int);
-int	 ftruncate(int, off_t);
-int	 getdtablesize(void);
+int	 execvP(const char *, const char *, char * const *);
+char	*fflagstostr(unsigned long);
+int	 getdomainname(char *, int);
 int	 getgrouplist(const char *, int, int *, int *);
-long	 gethostid(void);
-int	 gethostname(char *, int);
+int	 gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
 mode_t	 getmode(const void *, mode_t);
-int	 getpagesize(void) __pure2;
-char	*getpass(const char *);
-int	 getpgid(pid_t _pid);
-int	 getsid(pid_t _pid);
+int	 getpeereid(int, uid_t *, gid_t *);
+int	 getsgroups_np(int *, uuid_t);
 char	*getusershell(void);
-char	*getwd(char *);			/* obsoleted by getcwd() */
-int	 lockf(int, int, off_t);
+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	 mkpath_np(const char *path, mode_t omode) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0); /* returns errno */
 int	 mkstemp(char *);
 int	 mkstemps(char *, int);
 char	*mktemp(char *);
 int	 nfssvc(int, void *);
-int	 nice(int);
-ssize_t	 pread(int, void *, size_t, off_t);
-#if 0
-void	 psignal(unsigned int, const char *);
-extern __const char *__const sys_siglist[];
-#else
-#include <signal.h>
-#endif
-int	 profil(char *, int, int, int);
-#ifndef __MWERKS__
-int	 pselect(int, fd_set *, fd_set *, fd_set *,
-	    const struct timespec *, const sigset_t *);
-#endif /* ! __MWERKS__ */
-ssize_t	 pwrite(int, const void *, size_t, off_t);
+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	 readlink(const char *, 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 *);
-char	*sbrk(int);
-int	 select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
-int	 setegid(gid_t);
-int	 seteuid(uid_t);
+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 *);
-void	*setmode(const char *);
-int	 setpgrp(pid_t pid, pid_t pgrp);	/* obsoleted by setpgid() */
-int	 setregid(gid_t, gid_t);
-int	 setreuid(uid_t, uid_t);
+//Begin-Libc
+#ifndef LIBC_ALIAS_SETMODE
+//End-Libc
+void	*setmode(const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __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	 strtofflags(char **, u_long *, u_long *);
+int	 setwgroups_np(int, const uuid_t);
+int	 strtofflags(char **, unsigned long *, unsigned long *);
 int	 swapon(const char *);
-int	 symlink(const char *, const char *);
-void	 sync(void);
 int	 syscall(int, ...);
-int	 truncate(const char *, off_t);
 int	 ttyslot(void);
-unsigned int	 ualarm(unsigned int, unsigned int);
 int	 undelete(const char *);
 int	 unwhiteout(const char *);
-int	 usleep(unsigned int);
 void	*valloc(size_t);			
-pid_t	 vfork(void);
 
 extern char *suboptarg;			/* getsubopt(3) external variable */
 int	 getsubopt(char **, char * const *, char **);
 
 /*  HFS & HFS Plus semantics system calls go here */
-int	getattrlist(const char*,void*,void*,size_t,unsigned long);
-int	setattrlist(const char*,void*,void*,size_t,unsigned long);
+#ifdef __LP64__
+int    fgetattrlist(int,void*,void*,size_t,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int    fsetattrlist(int,void*,void*,size_t,unsigned int) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+//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) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+int	fsetattrlist(int,void*,void*,size_t,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+//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	checkuseraccess(const char*,uid_t,gid_t*,int,int,unsigned long);
 int	getdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long);
-int	searchfs(const char*,void*,void*,unsigned long,unsigned long,void*);
-
-int fsctl(const char *,unsigned long,void*,unsigned long);		
-
-
-#endif /* !_POSIX_SOURCE */
+
+#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) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
+
+#define	SYNC_VOLUME_FULLSYNC	0x01	/* Flush data and metadata to platter, not just to disk cache */
+#define SYNC_VOLUME_WAIT	0x02	/* Wait for sync to complete */
+
+int	fsync_volume_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
+int	sync_volume_np(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
+
+extern int optreset;
+
 __END_DECLS
-
-#endif /* !_UNISTD_H_ */
+#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
+
+#endif /* _UNISTD_H_ */