X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Funistd.h;h=20ba6ccbf94be32cf2444a5099b2c0a77f72a88a;hp=9287338cb2a1c5faaeae30b17585184e525ab3ba;hb=9f65796c35bd93a1de42752ce8af901acfe4b1a4;hpb=96601e3c617bb2122265419f0895730ed794f5af diff --git a/include/unistd.h b/include/unistd.h index 9287338c..20ba6ccb 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -5,6 +5,19 @@ extern "C" { #endif +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + +#if __STDC_VERSION__ >= 201112L +#elif defined(__GNUC__) +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif + #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 @@ -13,12 +26,6 @@ extern "C" { #define SEEK_CUR 1 #define SEEK_END 2 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define L_SET 0 -#define L_INCR 1 -#define L_XTND 2 -#endif - #undef NULL #ifdef __cplusplus #define NULL 0 @@ -58,8 +65,8 @@ int link(const char *, const char *); int linkat(int, const char *, int, const char *, int); int symlink(const char *, const char *); int symlinkat(const char *, int, const char *); -ssize_t readlink(const char *, char *, size_t); -ssize_t readlinkat(int, const char *, char *, size_t); +ssize_t readlink(const char *__restrict, char *__restrict, size_t); +ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t); int unlink(const char *); int unlinkat(int, const char *, int); int rmdir(const char *); @@ -90,7 +97,7 @@ int execl(const char *, const char *, ...); int execvp(const char *, char *const []); int execlp(const char *, const char *, ...); int fexecve(int, char *const [], char *const []); -void _exit(int); +_Noreturn void _exit(int); pid_t getpid(void); pid_t getppid(void); @@ -136,47 +143,58 @@ size_t confstr(int, char *, size_t); #define F_TLOCK 2 #define F_TEST 3 -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) int lockf(int, int, off_t); -pid_t setpgrp(void); -char *crypt(const char *, const char *); -void encrypt(char *, int); -void swab(const void *, void *, ssize_t); long gethostid(void); int nice(int); void sync(void); #endif +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +pid_t setpgrp(void); +char *crypt(const char *, const char *); +void encrypt(char *, int); +void swab(const void *__restrict, void *__restrict, ssize_t); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE < 700) +int usleep(unsigned); +unsigned ualarm(unsigned, unsigned); +#endif + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_SET 0 +#define L_INCR 1 +#define L_XTND 2 int brk(void *); void *sbrk(intptr_t); pid_t vfork(void); int vhangup(void); int chroot(const char *); int getpagesize(void); +int getdtablesize(void); int sethostname(const char *, size_t); -int usleep(unsigned); -unsigned ualarm(unsigned, unsigned); +int getdomainname(char *, size_t); int setgroups(size_t, const gid_t []); char *getpass(const char *); +int daemon(int, int); +void setusershell(void); +void endusershell(void); +char *getusershell(void); #endif #ifdef _GNU_SOURCE -pid_t forkall(void); +extern char **environ; int setresuid(uid_t, uid_t, uid_t); int setresgid(gid_t, gid_t, gid_t); int getresuid(uid_t *, uid_t *, uid_t *); int getresgid(gid_t *, gid_t *, gid_t *); char *get_current_dir_name(void); -int daemon(int, int); -int getdomainname(char *, size_t); -int getdtablesize(void); -void setusershell(void); -void endusershell(void); -char *getusershell(void); +int pipe2(int [2], int); #endif -#ifdef _LARGEFILE64_SOURCE +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) #define lseek64 lseek #define pread64 pread #define pwrite64 pwrite