X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Funistd.h;h=b9dc06d52e3d1cf62049a9e04479b0807c4a475e;hp=5ad0704b0eb1620ff5637690afdbbf075690aedb;hb=43653c1250ad5eb5385d7e08292ad047420f8d25;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/include/unistd.h b/include/unistd.h index 5ad0704b..b9dc06d5 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -5,23 +5,17 @@ extern "C" { #endif +#include + #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 -#undef SEEK_SET -#undef SEEK_CUR -#undef SEEK_END #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 -#undef NULL -#ifdef __cplusplus -#define NULL 0 -#else -#define NULL ((void*)0) -#endif +#define NULL 0L #define __NEED_size_t #define __NEED_ssize_t @@ -29,18 +23,19 @@ extern "C" { #define __NEED_gid_t #define __NEED_off_t #define __NEED_pid_t -#define __NEED_useconds_t #define __NEED_intptr_t +#define __NEED_useconds_t #include int pipe(int [2]); +int pipe2(int [2], int); int close(int); int dup(int); int dup2(int, int); +int dup3(int, int, int); off_t lseek(int, off_t, int); int fsync(int); -void sync(void); int fdatasync(int); ssize_t read(int, void *, size_t); @@ -48,12 +43,6 @@ ssize_t write(int, const void *, size_t); ssize_t pread(int, void *, size_t, off_t); ssize_t pwrite(int, const void *, size_t, off_t); -#define F_ULOCK 0 -#define F_LOCK 1 -#define F_TLOCK 2 -#define F_TEST 3 -int lockf(int, int, off_t); - int chown(const char *, uid_t, gid_t); int fchown(int, uid_t, gid_t); int lchown(const char *, uid_t, gid_t); @@ -63,8 +52,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 *); -int readlink(const char *, char *, size_t); -int 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 *); @@ -75,37 +64,33 @@ int ftruncate(int, off_t); #define R_OK 4 #define W_OK 2 #define X_OK 1 + int access(const char *, int); int faccessat(int, const char *, int, int); int chdir(const char *); int fchdir(int); char *getcwd(char *, size_t); -int chroot(const char *); /* dropped */ unsigned alarm(unsigned); -useconds_t ualarm(useconds_t, useconds_t); unsigned sleep(unsigned); -int usleep(useconds_t); int pause(void); -int nice(int); pid_t fork(void); -pid_t vfork(void); int execve(const char *, char *const [], char *const []); int execv(const char *, char *const []); -int execle(const char *, ...); -int execl(const char *, ...); +int execle(const char *, const char *, ...); +int execl(const char *, const char *, ...); int execvp(const char *, char *const []); -int execlp(const char *, ...); -void _exit(int); +int execlp(const char *, const char *, ...); +int fexecve(int, char *const [], char *const []); +_Noreturn void _exit(int); pid_t getpid(void); pid_t getppid(void); pid_t getpgrp(void); pid_t getpgid(pid_t); int setpgid(pid_t, pid_t); -int setpgrp(void); pid_t setsid(void); pid_t getsid(pid_t); char *ttyname(int); @@ -128,28 +113,87 @@ int setegid(gid_t); char *getlogin(void); int getlogin_r(char *, size_t); -long gethostid(void); int gethostname(char *, size_t); -int sethostname(const char *, size_t); -int getpagesize(void); char *ctermid(char *); -int vhangup(void); /* dropped */ - int getopt(int, char * const [], const char *); extern char *optarg; extern int optind, opterr, optopt; -char *crypt(const char *, const char *); -void encrypt(char *, int); - -void swab(const void *, void *, ssize_t); - long pathconf(const char *, int); long fpathconf(int, int); long sysconf(int); size_t confstr(int, char *, size_t); +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int lockf(int, int, off_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+0 < 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 getdomainname(char *, size_t); +int setdomainname(const 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); +int acct(const char *); +long syscall(long, ...); +#endif + +#ifdef _GNU_SOURCE +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); +void syncfs(int); +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define lseek64 lseek +#define pread64 pread +#define pwrite64 pwrite +#define truncate64 truncate +#define ftruncate64 ftruncate +#define lockf64 lockf +#define off64_t off_t +#endif + #define _XOPEN_VERSION 700 #define _XOPEN_UNIX 1 #define _XOPEN_ENH_I18N 1 @@ -164,6 +208,7 @@ size_t confstr(int, char *, size_t); #define _POSIX_MEMLOCK _POSIX_VERSION #define _POSIX_MEMLOCK_RANGE _POSIX_VERSION #define _POSIX_MEMORY_PROTECTION _POSIX_VERSION +#define _POSIX_FSYNC _POSIX_VERSION #define _POSIX_NO_TRUNC 1 #define _POSIX_RAW_SOCKETS _POSIX_VERSION #define _POSIX_REALTIME_SIGNALS _POSIX_VERSION @@ -175,6 +220,9 @@ size_t confstr(int, char *, size_t); #define _POSIX_THREADS _POSIX_VERSION #define _POSIX_THREAD_PROCESS_SHARED _POSIX_VERSION #define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION +#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION #define _POSIX_TIMERS _POSIX_VERSION #define _POSIX_TIMEOUTS _POSIX_VERSION #define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION