chiark / gitweb /
[PATCH] oops forgot to add the new klibc/include directory
[elogind.git] / klibc / include / unistd.h
1 /*
2  * unistd.h
3  */
4
5 #ifndef _UNISTD_H
6 #define _UNISTD_H
7
8 #include <klibc/extern.h>
9 #include <klibc/compiler.h>
10 #include <stddef.h>
11 #include <sys/types.h>
12 #include <sys/select.h>
13
14 __extern char **environ;
15 __extern __noreturn _exit(int);
16
17 __extern pid_t fork(void);
18 __extern pid_t vfork(void);
19 __extern pid_t getpid(void);
20 __extern pid_t getpgid(pid_t);
21 __extern int setpgid(pid_t, pid_t);
22 __extern pid_t getppid(void);
23 __extern pid_t getpgrp(void);
24 __extern int setpgrp(void);
25 __extern pid_t setsid(void);
26 __extern pid_t getsid(pid_t);
27 __extern int execv(const char *, char * const *);
28 __extern int execvp(const char *, char * const *);
29 __extern int execve(const char *, char * const *, char * const *);
30 __extern int execvpe(const char *, char * const *, char * const *);
31 __extern int execl(const char *, const char *, ...);
32 __extern int execlp(const char *, const char *, ...);
33 __extern int execle(const char *, const char *, ...);
34 __extern int execlpe(const char *, const char *, ...);
35
36 __extern int setuid(uid_t);
37 __extern uid_t getuid(void);
38 __extern int seteuid(uid_t);
39 __extern uid_t geteuid(void);
40 __extern int setgid(gid_t);
41 __extern gid_t getgid(void); 
42 __extern int setegid(gid_t);
43 __extern gid_t getegid(void);
44 __extern int getgroups(int, gid_t *);
45 __extern int setgroups(size_t, const gid_t *);
46 __extern int setreuid(uid_t, uid_t);
47 __extern int setregid(gid_t, gid_t);
48 __extern int setresuid(uid_t, uid_t, uid_t);
49 __extern int setresgid(gid_t, gid_t, gid_t);
50 __extern int getfsuid(uid_t);
51 __extern int setfsuid(uid_t);
52
53 /* Macros for access() */
54 #define R_OK    4               /* Read */
55 #define W_OK    2               /* Write */
56 #define X_OK    1               /* Execute */
57 #define F_OK    0               /* Existence */
58
59 __extern int access(const char *, int);
60 __extern int link(const char *, const char *);
61 __extern int unlink(const char *);
62 __extern int chdir(const char *);
63 __extern int fchdir(int);
64 __extern int chmod(const char *, mode_t);
65 __extern int fchmod(int, mode_t);
66 __extern int mkdir(const char *, mode_t);
67 __extern int rmdir(const char *);
68 __extern int pipe(int *);
69 __extern int chroot(const char *);
70 __extern int symlink(const char *, const char *);
71 __extern int readlink(const char *, char *, size_t);
72 __extern int chown(const char *, uid_t, gid_t);
73 __extern int fchown(int, uid_t, gid_t);
74 __extern int lchown(const char *, uid_t, gid_t);
75 __extern char *getcwd(char *, size_t);
76
77 __extern int sync(void);
78
79 /* Also in <fcntl.h> */
80 #ifndef _KLIBC_IN_OPEN_C
81 __extern int open(const char *, int, ...);
82 #endif
83 __extern int close(int);
84 __extern off_t lseek(int, off_t, int);
85 /* off_t is 64 bits now even on 32-bit platforms; see llseek.c */
86 static __inline__ off_t llseek(int __f, off_t __o, int __w) {
87   return lseek(__f, __o, __w);
88 }
89
90 __extern ssize_t read(int, void *, size_t);
91 __extern ssize_t write(int, const void *, size_t);
92 __extern ssize_t pread(int, void *, size_t, off_t);
93 __extern ssize_t pwrite(int, void *, size_t, off_t);
94
95 __extern int dup(int);
96 __extern int dup2(int, int);
97 __extern int fcntl(int, int, ...);
98 __extern int ioctl(int, int, void *);
99 __extern int flock(int, int);
100 __extern int fsync(int);
101 __extern int fdatasync(int);
102 __extern int ftruncate(int, off_t);
103
104 __extern int pause(void);
105 __extern unsigned int alarm(unsigned int);
106 __extern unsigned int sleep(unsigned int);
107 __extern void usleep(unsigned long);
108
109 __extern int gethostname(char *, size_t);
110 __extern int sethostname(const char *, size_t);
111 __extern int getdomainname(char *, size_t);
112 __extern int setdomainname(const char *, size_t);
113
114 __extern void *__brk(void *);
115 __extern int brk(void *);
116 __extern void *sbrk(ptrdiff_t);
117
118 __extern int getopt(int, char * const *, const char *);
119 __extern char *optarg;
120 __extern int optind, opterr, optopt;
121
122 __extern int isatty(int);
123
124 static __inline__ int getpagesize(void) {
125   extern unsigned int __page_size;
126   return __page_size;
127 }
128 static __inline__ int __getpageshift(void) {
129   extern unsigned int __page_shift;
130   return __page_shift;
131 }
132
133 __extern int daemon(int, int);
134
135 /* Standard file descriptor numbers. */
136 #define STDIN_FILENO    0
137 #define STDOUT_FILENO   1
138 #define STDERR_FILENO   2
139
140 #endif /* _UNISTD_H */