Loading...
include/unistd.h Libc-262.3.2 Libc-498
--- Libc/Libc-262.3.2/include/unistd.h
+++ Libc/Libc-498/include/unistd.h
@@ -2,8 +2,6 @@
  * Copyright (c) 2000 Apple Computer, 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,183 +68,737 @@
 #ifndef _UNISTD_H_
 #define	_UNISTD_H_
 
-#include <sys/cdefs.h>
-#include <sys/types.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		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
+#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
-__dead void
-	 _exit __P((int));
-int	 access __P((const char *, int));
-unsigned int	 alarm __P((unsigned int));
-int	 chdir __P((const char *));
-int	 chown __P((const char *, uid_t, gid_t));
-int	 close __P((int));
-size_t	 confstr __P((int, char *, size_t));
-int	 dup __P((int));
-int	 dup2 __P((int, int));
-int	 execl __P((const char *, const char *, ...));
-int	 execle __P((const char *, const char *, ...));
-int	 execlp __P((const char *, const char *, ...));
-int	 execv __P((const char *, char * const *));
-int	 execve __P((const char *, char * const *, char * const *));
-int	 execvp __P((const char *, char * const *));
-pid_t	 fork __P((void));
-long	 fpathconf __P((int, int));
-char	*getcwd __P((char *, size_t));
-gid_t	 getegid __P((void));
-uid_t	 geteuid __P((void));
-gid_t	 getgid __P((void));
-int	 getgroups __P((int, gid_t []));
-char	*getlogin __P((void));
-pid_t	 getpgrp __P((void));
-pid_t	 getpid __P((void));
-pid_t	 getppid __P((void));
-uid_t	 getuid __P((void));
-int	 isatty __P((int));
-int	 link __P((const char *, const char *));
-off_t	 lseek __P((int, off_t, int));
-long	 pathconf __P((const char *, int));
-int	 pause __P((void));
-int	 pipe __P((int *));
-ssize_t	 read __P((int, void *, size_t));
-int	 rmdir __P((const char *));
-int	 setgid __P((gid_t));
-int	 setpgid __P((pid_t, pid_t));
-pid_t	 setsid __P((void));
-int	 setuid __P((uid_t));
-unsigned int	 sleep __P((unsigned int));
-long	 sysconf __P((int));
-pid_t	 tcgetpgrp __P((int));
-int	 tcsetpgrp __P((int, pid_t));
-char	*ttyname __P((int));
-int	 unlink __P((const char *));
-ssize_t	 write __P((int, const void *, size_t));
+
+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);
+int	 getgroups(int, gid_t []);
+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, optreset;
-int	 getopt __P((int, char * const [], const char *));
-
-#ifndef	_POSIX_SOURCE
-#ifdef	__STDC__
-struct timeval;				/* select(2) */
-#endif
-int	 acct __P((const char *));
-int	 async_daemon __P((void));
-char	*brk __P((const char *));
-int	 chroot __P((const char *));
-char	*crypt __P((const char *, const char *));
-int	 des_cipher __P((const char *, char *, long, int));
-int	 des_setkey __P((const char *key));
-int	 encrypt __P((char *, int));
-void	 endusershell __P((void));
-int	 exect __P((const char *, char * const *, char * const *));
-int	 fchdir __P((int));
-int	 fchown __P((int, int, int));
-char	*fflagstostr __P((u_long));
-int	 fsync __P((int));
-int	 ftruncate __P((int, off_t));
-int	 getdtablesize __P((void));
-int	 getgrouplist __P((const char *, int, int *, int *));
-long	 gethostid __P((void));
-int	 gethostname __P((char *, int));
-mode_t	 getmode __P((const void *, mode_t));
-__pure int
-	 getpagesize __P((void));
-char	*getpass __P((const char *));
-int	 getpgid __P((pid_t _pid));
-int	 getsid __P((pid_t _pid));
-char	*getusershell __P((void));
-char	*getwd __P((char *));			/* obsoleted by getcwd() */
-int	 initgroups __P((const char *, int));
-int	 iruserok __P((unsigned long, int, const char *, const char *));
-int	 issetugid __P((void));
-char	*mkdtemp __P((char *));
-int	 mknod __P((const char *, mode_t, dev_t));
-int	 mkstemp __P((char *));
-int	 mkstemps __P((char *, int));
-char	*mktemp __P((char *));
-int	 nfssvc __P((int, void *));
-int	 nice __P((int));
-ssize_t	 pread __P((int, void *, size_t, off_t));
-#if 0
-void	 psignal __P((unsigned int, const char *));
-extern __const char *__const sys_siglist[];
-#else
-#include <signal.h>
-#endif
-int	 profil __P((char *, int, int, int));
-ssize_t	 pwrite __P((int, const void *, size_t, off_t));
-int	 rcmd __P((char **, int, const char *,
-		const char *, const char *, int *));
-char	*re_comp __P((const char *));
-int	 re_exec __P((const char *));
-int	 readlink __P((const char *, char *, int));
-int	 reboot __P((int));
-int	 revoke __P((const char *));
-int	 rresvport __P((int *));
-int	 ruserok __P((const char *, int, const char *, const char *));
-char	*sbrk __P((int));
-int	 select __P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
-int	 setegid __P((gid_t));
-int	 seteuid __P((uid_t));
-int	 setgroups __P((int, const gid_t *));
-void	 sethostid __P((long));
-int	 sethostname __P((const char *, int));
-int	 setkey __P((const char *));
-int	 setlogin __P((const char *));
-void	*setmode __P((const char *));
-int	 setpgrp __P((pid_t pid, pid_t pgrp));	/* obsoleted by setpgid() */
-int	 setregid __P((gid_t, gid_t));
-int	 setreuid __P((uid_t, uid_t));
-int	 setrgid __P((gid_t));
-int	 setruid __P((uid_t));
-void	 setusershell __P((void));
-int	 strtofflags __P((char **, u_long *, u_long *));
-int	 swapon __P((const char *));
-int	 symlink __P((const char *, const char *));
-void	 sync __P((void));
-int	 syscall __P((int, ...));
-int	 truncate __P((const char *, off_t));
-int	 ttyslot __P((void));
-unsigned int	 ualarm __P((unsigned int, unsigned int));
-int	 unwhiteout __P((const char *));
-int	 usleep __P((unsigned int));
-void	*valloc __P((size_t));			
-pid_t	 vfork __P((void));
+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 *);
+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 *);
+void	*setmode(const char *);
+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 __P((char **, char * const *, char **));
+int	 getsubopt(char **, char * const *, char **);
 
 /*  HFS & HFS Plus semantics system calls go here */
-int	getattrlist __P((const char*,void*,void*,size_t,unsigned long));
-int	setattrlist __P((const char*,void*,void*,size_t,unsigned long));
-int exchangedata __P((const char*,const char*,unsigned long));
-int	checkuseraccess __P((const char*,uid_t,gid_t*,int,int,unsigned long));
-int	getdirentriesattr __P((int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long));
-int	searchfs __P((const char*,void*,void*,unsigned long,unsigned long,void*));
-
-int fsctl __P((const char *,unsigned long,void*,unsigned long));		
-
-
-#endif /* !_POSIX_SOURCE */
+#ifdef __LP64__
+//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);
+int    searchfs(const char*,void*,void*,unsigned int,unsigned int,void*);
+
+int fsctl(const char *,unsigned int,void*,unsigned int);
+#else /* __LP64__ */
+//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);
+int	searchfs(const char*,void*,void*,unsigned long,unsigned long,void*);
+
+int fsctl(const char *,unsigned long,void*,unsigned long);		
+#endif /* __LP64__ */
+
+extern int optreset;
+
+#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 __END_DECLS
 
 #endif /* !_UNISTD_H_ */