]> git.saurik.com Git - apple/libc.git/blobdiff - include/unistd.h
Libc-1439.40.11.tar.gz
[apple/libc.git] / include / unistd.h
index 7bca7d5707c21505cc8fe8eff88a8b03564cd6ae..01b7166fa51244397d4569625f6289f2c94c754f 100644 (file)
 #endif /* __DARWIN_C_LEVEL */
 
 #define        __ILP32_OFF32          (-1)
+#ifdef UNIFDEF_POSIX_ILP32_ALLOW
 #define        __ILP32_OFFBIG         (1)
+#else // UNIFDEF_POSIX_ILP32_ALLOW
+#define        __ILP32_OFFBIG         (-1)
+#endif // UNIFDEF_POSIX_ILP32_ALLOW
+
 #define        __LP64_OFF64           (1)
 #define        __LPBIG_OFFBIG         (1)
 
 #define        _SC_PASS_MAX                    131
 #endif
 
+/* 132-199 available for future use */
+#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
+#define        _SC_PHYS_PAGES                  200
+#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
+
 #if __DARWIN_C_LEVEL >= 199209L
 #ifndef _CS_PATH /* Defined in <sys/unistd.h> */
 #define        _CS_PATH                                1
@@ -440,13 +450,13 @@ int        close(int) LIBC_ALIAS_C(close);
 
 int     dup(int);
 int     dup2(int, int);
-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 *);
-pid_t   fork(void);
+int     execl(const char * __path, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int     execle(const char * __path, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int     execlp(const char * __file, const char * __arg0, ...) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int     execv(const char * __path, char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int     execve(const char * __file, char * const * __argv, char * const * __envp) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int     execvp(const char * __file, char * const * __argv) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+pid_t   fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 long    fpathconf(int, int);
 char   *getcwd(char *, size_t);
 gid_t   getegid(void);
@@ -531,10 +541,10 @@ int        unlink(const char *);
 //Begin-Libc
 #ifndef LIBC_ALIAS_WRITE
 //End-Libc
-ssize_t         write(int, const void *, size_t) __DARWIN_ALIAS_C(write);
+ssize_t         write(int __fd, const void * __buf, size_t __nbyte) __DARWIN_ALIAS_C(write);
 //Begin-Libc
 #else /* LIBC_ALIAS_WRITE */
-ssize_t         write(int, const void *, size_t) LIBC_ALIAS_C(write);
+ssize_t         write(int __fd, const void * __buf, size_t __nbyte) LIBC_ALIAS_C(write);
 #endif /* !LIBC_ALIAS_WRITE */
 //End-Libc
 __END_DECLS
@@ -581,6 +591,7 @@ __END_DECLS
  */
 
 #if __DARWIN_C_LEVEL >= 199506L
+#include <_ctermid.h>
                                /* 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 */
@@ -593,18 +604,13 @@ __END_DECLS
 /* Removed in Issue 6 */
 #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
 #if !defined(_POSIX_C_SOURCE)
-__deprecated
+__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED
 #endif
 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
@@ -668,20 +674,20 @@ int        nice(int) LIBC_ALIAS(nice);
 //Begin-Libc
 #ifndef LIBC_ALIAS_PREAD
 //End-Libc
-ssize_t         pread(int, void *, size_t, off_t) __DARWIN_ALIAS_C(pread);
+ssize_t         pread(int __fd, void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pread);
 //Begin-Libc
 #else /* LIBC_ALIAS_PREAD */
-ssize_t         pread(int, void *, size_t, off_t) LIBC_ALIAS_C(pread);
+ssize_t         pread(int __fd, void * __buf, size_t __nbyte, off_t __offset) 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);
+ssize_t         pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pwrite);
 //Begin-Libc
 #else /* LIBC_ALIAS_PWRITE */
-ssize_t         pwrite(int, const void *, size_t, off_t) LIBC_ALIAS_C(pwrite);
+ssize_t         pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) LIBC_ALIAS_C(pwrite);
 #endif /* !LIBC_ALIAS_PWRITE */
 //End-Libc
 
@@ -690,7 +696,7 @@ ssize_t      pwrite(int, const void *, size_t, off_t) LIBC_ALIAS_C(pwrite);
 /* Note that Issue 5 changed the argument as intprt_t,
  * but we keep it as int for binary compatability. */
 #if !defined(_POSIX_C_SOURCE)
-__deprecated
+__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED
 #endif
 void   *sbrk(int);
 #endif
@@ -742,7 +748,7 @@ int  usleep(useconds_t) __DARWIN_ALIAS_C(usleep);
 int     usleep(useconds_t) LIBC_ALIAS_C(usleep);
 #endif /* !LIBC_ALIAS_USLEEP */
 //End-Libc
-pid_t   vfork(void);
+pid_t   vfork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 /* End XSI */
 
 //Begin-Libc
@@ -793,9 +799,9 @@ __BEGIN_DECLS
 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);
+int     add_profil(char *, size_t, unsigned long, unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 void    endusershell(void);
-int     execvP(const char *, const char *, char * const *);
+int     execvP(const char * __file, const char * __searchpath, char * const * __argv)  __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 char   *fflagstostr(unsigned long);
 int     getdomainname(char *, int);
 int     getgrouplist(const char *, int, int *, int *);
@@ -814,27 +820,54 @@ int        getsgroups_np(int *, uuid_t);
 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     mkpath_np(const char *path, mode_t omode) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0); /* returns errno */
+int     mkpathat_np(int dfd, const char *path, mode_t omode) /* returns errno */
+               __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
+               __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
 int     mkstemp(char *);
 int     mkstemps(char *, int);
 char   *mktemp(char *);
+int     mkostemp(char *path, int oflags)
+               __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
+               __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
+int     mkostemps(char *path, int slen, int oflags)
+               __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0)
+               __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
+/* Non-portable mkstemp that uses open_dprotected_np */
+int     mkstemp_dprotected_np(char *path, int dpclass, int dpflags)
+               __OSX_UNAVAILABLE __IOS_AVAILABLE(10.0)
+               __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0);
+char   *mkdtempat_np(int dfd, char *path)
+               __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
+               __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
+int     mkstempsat_np(int dfd, char *path, int slen)
+               __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
+               __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
+int     mkostempsat_np(int dfd, char *path, int slen, int oflags)
+               __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0)
+               __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0);
 int     nfssvc(int, void *);
 int     profil(char *, size_t, unsigned long, unsigned int);
+
+__deprecated_msg("Use of per-thread security contexts is error-prone and discouraged.")
 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 *);
+
+__deprecated int        rcmd(char **, int, const char *, const char *, const char *, int *);
+__deprecated int        rcmd_af(char **, int, const char *, const char *, const char *, int *,
+               int);
+__deprecated int        rresvport(int *);
+__deprecated int        rresvport_af(int *, int);
+__deprecated int        iruserok(unsigned long, int, const char *, const char *);
+__deprecated int        iruserok_sa(const void *, int, int, const char *, const char *);
+__deprecated int        ruserok(const char *, int, const char *, const char *);
+
 int     setdomainname(const char *, int);
 int     setgroups(int, const gid_t *);
 void    sethostid(long);
@@ -869,12 +902,18 @@ 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);                        
 
+__WATCHOS_PROHIBITED __TVOS_PROHIBITED
+__OS_AVAILABILITY_MSG(ios,deprecated=10.0,"syscall(2) is unsupported; "
+    "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().")
+__OS_AVAILABILITY_MSG(macosx,deprecated=10.12,"syscall(2) is unsupported; "
+    "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().")
+int     syscall(int, ...);
+
 extern char *suboptarg;                        /* getsubopt(3) external variable */
 int     getsubopt(char **, char * const *, char **);
 
@@ -900,8 +939,8 @@ int    setattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(s
 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 exchangedata(const char*,const char*,unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int    getdirentriesattr(int,void*,void*,size_t,unsigned int*,unsigned int*,unsigned int*,unsigned int) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 
 #else /* __LP64__ */
 int    fgetattrlist(int,void*,void*,size_t,unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
@@ -924,15 +963,18 @@ int       setattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(set
 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 exchangedata(const char*,const char*,unsigned long)
+               __OSX_DEPRECATED(10.0, 10.13, "use renamex_np with the RENAME_SWAP flag")
+               __IOS_DEPRECATED(2.0, 11.0, "use renamex_np with the RENAME_SWAP flag")
+               __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
+int    getdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 
 #endif /* __LP64__ */
 
 struct fssearchblock;
 struct searchstate;
 
-int     searchfs(const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate *);
+int     searchfs(const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate *) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
 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);