api: add remaining functions
[libc-test] / src / api / unistd.c
1 #include <unistd.h>
2 #define T(t) (t*)0;
3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
5 static void f()
6 {
7 C(_POSIX_VERSION)
8 C(_POSIX2_VERSION)
9 #ifdef _XOPEN_SOURCE)
10 C(_XOPEN_VERSION)
11 #endif
12 C(F_OK)
13 C(R_OK)
14 C(W_OK)
15 C(X_OK)
16 C(_CS_PATH)
17 C(_CS_POSIX_V7_ILP32_OFF32_CFLAGS)
18 C(_CS_POSIX_V7_ILP32_OFF32_LDFLAGS)
19 C(_CS_POSIX_V7_ILP32_OFF32_LIBS)
20 C(_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS)
21 C(_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS)
22 C(_CS_POSIX_V7_ILP32_OFFBIG_LIBS)
23 C(_CS_POSIX_V7_LP64_OFF64_CFLAGS)
24 C(_CS_POSIX_V7_LP64_OFF64_LDFLAGS)
25 C(_CS_POSIX_V7_LP64_OFF64_LIBS)
26 C(_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS)
27 C(_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS)
28 C(_CS_POSIX_V7_LPBIG_OFFBIG_LIBS)
29 C(_CS_POSIX_V7_THREADS_CFLAGS)
30 C(_CS_POSIX_V7_THREADS_LDFLAGS)
31 C(_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS)
32 C(_CS_V7_ENV)
33 C(SEEK_CUR)
34 C(SEEK_END)
35 C(SEEK_SET)
36 C(F_LOCK)
37 C(F_TEST)
38 C(F_TLOCK)
39 C(F_ULOCK)
40 C(_PC_2_SYMLINKS)
41 C(_PC_ALLOC_SIZE_MIN)
42 C(_PC_ASYNC_IO)
43 C(_PC_CHOWN_RESTRICTED)
44 C(_PC_FILESIZEBITS)
45 C(_PC_LINK_MAX)
46 C(_PC_MAX_CANON)
47 C(_PC_MAX_INPUT)
48 C(_PC_NAME_MAX)
49 C(_PC_NO_TRUNC)
50 C(_PC_PATH_MAX)
51 C(_PC_PIPE_BUF)
52 C(_PC_PRIO_IO)
53 C(_PC_REC_INCR_XFER_SIZE)
54 C(_PC_REC_MAX_XFER_SIZE)
55 C(_PC_REC_MIN_XFER_SIZE)
56 C(_PC_REC_XFER_ALIGN)
57 C(_PC_SYMLINK_MAX)
58 C(_PC_SYNC_IO)
59 C(_PC_TIMESTAMP_RESOLUTION)
60 C(_PC_VDISABLE)
61 C(_SC_2_C_BIND)
62 C(_SC_2_C_DEV)
63 C(_SC_2_CHAR_TERM)
64 C(_SC_2_FORT_DEV)
65 C(_SC_2_FORT_RUN)
66 C(_SC_2_LOCALEDEF)
67 C(_SC_2_PBS)
68 C(_SC_2_PBS_ACCOUNTING)
69 C(_SC_2_PBS_CHECKPOINT)
70 C(_SC_2_PBS_LOCATE)
71 C(_SC_2_PBS_MESSAGE)
72 C(_SC_2_PBS_TRACK)
73 C(_SC_2_SW_DEV)
74 C(_SC_2_UPE)
75 C(_SC_2_VERSION)
76 C(_SC_ADVISORY_INFO)
77 C(_SC_AIO_LISTIO_MAX)
78 C(_SC_AIO_MAX)
79 C(_SC_AIO_PRIO_DELTA_MAX)
80 C(_SC_ARG_MAX)
81 C(_SC_ASYNCHRONOUS_IO)
82 C(_SC_ATEXIT_MAX)
83 C(_SC_BARRIERS)
84 C(_SC_BC_BASE_MAX)
85 C(_SC_BC_DIM_MAX)
86 C(_SC_BC_SCALE_MAX)
87 C(_SC_BC_STRING_MAX)
88 C(_SC_CHILD_MAX)
89 C(_SC_CLK_TCK)
90 C(_SC_CLOCK_SELECTION)
91 C(_SC_COLL_WEIGHTS_MAX)
92 C(_SC_CPUTIME)
93 C(_SC_DELAYTIMER_MAX)
94 C(_SC_EXPR_NEST_MAX)
95 C(_SC_FSYNC)
96 C(_SC_GETGR_R_SIZE_MAX)
97 C(_SC_GETPW_R_SIZE_MAX)
98 C(_SC_HOST_NAME_MAX)
99 C(_SC_IOV_MAX)
100 C(_SC_IPV6)
101 C(_SC_JOB_CONTROL)
102 C(_SC_LINE_MAX)
103 C(_SC_LOGIN_NAME_MAX)
104 C(_SC_MAPPED_FILES)
105 C(_SC_MEMLOCK)
106 C(_SC_MEMLOCK_RANGE)
107 C(_SC_MEMORY_PROTECTION)
108 C(_SC_MESSAGE_PASSING)
109 C(_SC_MONOTONIC_CLOCK)
110 C(_SC_MQ_OPEN_MAX)
111 C(_SC_MQ_PRIO_MAX)
112 C(_SC_NGROUPS_MAX)
113 C(_SC_OPEN_MAX)
114 C(_SC_PAGE_SIZE)
115 C(_SC_PAGESIZE)
116 C(_SC_PRIORITIZED_IO)
117 C(_SC_PRIORITY_SCHEDULING)
118 C(_SC_RAW_SOCKETS)
119 C(_SC_RE_DUP_MAX)
120 C(_SC_READER_WRITER_LOCKS)
121 C(_SC_REALTIME_SIGNALS)
122 C(_SC_REGEXP)
123 C(_SC_RTSIG_MAX)
124 C(_SC_SAVED_IDS)
125 C(_SC_SEM_NSEMS_MAX)
126 C(_SC_SEM_VALUE_MAX)
127 C(_SC_SEMAPHORES)
128 C(_SC_SHARED_MEMORY_OBJECTS)
129 C(_SC_SHELL)
130 C(_SC_SIGQUEUE_MAX)
131 C(_SC_SPAWN)
132 C(_SC_SPIN_LOCKS)
133 C(_SC_SPORADIC_SERVER)
134 C(_SC_SS_REPL_MAX)
135 C(_SC_STREAM_MAX)
136 C(_SC_SYMLOOP_MAX)
137 C(_SC_SYNCHRONIZED_IO)
138 C(_SC_THREAD_ATTR_STACKADDR)
139 C(_SC_THREAD_ATTR_STACKSIZE)
140 C(_SC_THREAD_CPUTIME)
141 C(_SC_THREAD_DESTRUCTOR_ITERATIONS)
142 C(_SC_THREAD_KEYS_MAX)
143 C(_SC_THREAD_PRIO_INHERIT)
144 C(_SC_THREAD_PRIO_PROTECT)
145 C(_SC_THREAD_PRIORITY_SCHEDULING)
146 C(_SC_THREAD_PROCESS_SHARED)
147 C(_SC_THREAD_ROBUST_PRIO_INHERIT)
148 C(_SC_THREAD_ROBUST_PRIO_PROTECT)
149 C(_SC_THREAD_SAFE_FUNCTIONS)
150 C(_SC_THREAD_SPORADIC_SERVER)
151 C(_SC_THREAD_STACK_MIN)
152 C(_SC_THREAD_THREADS_MAX)
153 C(_SC_THREADS)
154 C(_SC_TIMEOUTS)
155 C(_SC_TIMER_MAX)
156 C(_SC_TIMERS)
157 C(_SC_TRACE)
158 C(_SC_TRACE_EVENT_FILTER)
159 C(_SC_TRACE_EVENT_NAME_MAX)
160 C(_SC_TRACE_INHERIT)
161 C(_SC_TRACE_LOG)
162 C(_SC_TRACE_NAME_MAX)
163 C(_SC_TRACE_SYS_MAX)
164 C(_SC_TRACE_USER_EVENT_MAX)
165 C(_SC_TTY_NAME_MAX)
166 C(_SC_TYPED_MEMORY_OBJECTS)
167 C(_SC_TZNAME_MAX)
168 C(_SC_V7_ILP32_OFF32)
169 C(_SC_V7_ILP32_OFFBIG)
170 C(_SC_V7_LP64_OFF64)
171 C(_SC_V7_LPBIG_OFFBIG)
172 C(_SC_VERSION)
173 C(_SC_XOPEN_CRYPT)
174 C(_SC_XOPEN_ENH_I18N)
175 C(_SC_XOPEN_REALTIME)
176 C(_SC_XOPEN_REALTIME_THREADS)
177 C(_SC_XOPEN_SHM)
178 C(_SC_XOPEN_STREAMS)
179 C(_SC_XOPEN_UNIX)
180 C(_SC_XOPEN_UUCP)
181 C(_SC_XOPEN_VERSION)
182 C(STDERR_FILENO)
183 C(STDIN_FILENO)
184 C(STDOUT_FILENO)
185 C(_POSIX_VDISABLE)
186 T(size_t)
187 T(ssize_t)
188 T(uid_t)
189 T(gid_t)
190 T(off_t)
191 T(pid_t)
192 T(intptr_t)
193 void(*p__exit)(int) = _exit;
194 int(*p_access)(const char*,int) = access;
195 unsigned(*p_alarm)(unsigned) = alarm;
196 int(*p_chdir)(const char*) = chdir;
197 int(*p_chown)(const char*,uid_t,gid_t) = chown;
198 int(*p_close)(int) = close;
199 size_t(*p_confstr)(int,char*,size_t) = confstr;
200 char*(*p_ctermid)(char*) = ctermid;
201 int(*p_dup)(int) = dup;
202 int(*p_dup2)(int,int) = dup2;
203 {char **x = environ};
204 int(*p_execl)(const char*,const char*,...) = execl;
205 int(*p_execle)(const char*,const char*,...) = execle;
206 int(*p_execlp)(const char*,const char*,...) = execlp;
207 int(*p_execv)(const char*,char*const[]) = execv;
208 int(*p_execve)(const char*,char*const[],char*const[]) = execve;
209 int(*p_execvp)(const char*,char*const[]) = execvp;
210 int(*p_faccessat)(int,const char*,int,int) = faccessat;
211 int(*p_fchdir)(int) = fchdir;
212 int(*p_fchown)(int,uid_t,gid_t) = fchown;
213 int(*p_fchownat)(int,const char*,uid_t,gid_t,int) = fchownat;
214 int(*p_fdatasync)(int) = fdatasync;
215 int(*p_fexecve)(int,char*const[],char*const[]) = fexecve;
216 pid_t(*p_fork)(void) = fork;
217 long(*p_fpathconf)(int,int) = fpathconf;
218 int(*p_fsync)(int) = fsync;
219 int(*p_ftruncate)(int,off_t) = ftruncate;
220 char*(*p_getcwd)(char*,size_t) = getcwd;
221 gid_t(*p_getegid)(void) = getegid;
222 uid_t(*p_geteuid)(void) = geteuid;
223 gid_t(*p_getgid)(void) = getgid;
224 int(*p_getgroups)(int,gid_t[]) = getgroups;
225 int(*p_gethostname)(char*,size_t) = gethostname;
226 char*(*p_getlogin)(void) = getlogin;
227 int(*p_getlogin_r)(char*,size_t) = getlogin_r;
228 int(*p_getopt)(int,char*const[],const char*) = getopt;
229 pid_t(*p_getpgid)(pid_t) = getpgid;
230 pid_t(*p_getpgrp)(void) = getpgrp;
231 pid_t(*p_getpid)(void) = getpid;
232 pid_t(*p_getppid)(void) = getppid;
233 pid_t(*p_getsid)(pid_t) = getsid;
234 uid_t(*p_getuid)(void) = getuid;
235 int(*p_isatty)(int) = isatty;
236 int(*p_lchown)(const char*,uid_t,gid_t) = lchown;
237 int(*p_link)(const char*,const char*) = link;
238 int(*p_linkat)(int,const char*,int,const char*,int) = linkat;
239 off_t(*p_lseek)(int,off_t,int) = lseek;
240 {char *x = optarg;}
241 {int i = opterr;}
242 {int i = optind;}
243 {int i = optopt;}
244 long(*p_pathconf)(const char*,int) = pathconf;
245 int(*p_pause)(void) = pause;
246 int(*p_pipe)(int[]) = pipe;
247 ssize_t(*p_pread)(int,void*,size_t,off_t) = pread;
248 ssize_t(*p_pwrite)(int,const void*,size_t,off_t) = pwrite;
249 ssize_t(*p_read)(int,void*,size_t) = read;
250 ssize_t(*p_readlink)(const char*restrict,char*restrict,size_t) = readlink;
251 ssize_t(*p_readlinkat)(int,const char*restrict,char*restrict,size_t) = readlinkat;
252 int(*p_rmdir)(const char*) = rmdir;
253 int(*p_setegid)(gid_t) = setegid;
254 int(*p_seteuid)(uid_t) = seteuid;
255 int(*p_setgid)(gid_t) = setgid;
256 int(*p_setpgid)(pid_t,pid_t) = setpgid;
257 pid_t(*p_setsid)(void) = setsid;
258 int(*p_setuid)(uid_t) = setuid;
259 unsigned(*p_sleep)(unsigned) = sleep;
260 int(*p_symlink)(const char*,const char*) = symlink;
261 int(*p_symlinkat)(const char*,int,const char*) = symlinkat;
262 long(*p_sysconf)(int) = sysconf;
263 pid_t(*p_tcgetpgrp)(int) = tcgetpgrp;
264 int(*p_tcsetpgrp)(int,pid_t) = tcsetpgrp;
265 int(*p_truncate)(const char*,off_t) = truncate;
266 char*(*p_ttyname)(int) = ttyname;
267 int(*p_ttyname_r)(int,char*,size_t) = ttyname_r;
268 int(*p_unlink)(const char*) = unlink;
269 int(*p_unlinkat)(int,const char*,int) = unlinkat;
270 ssize_t(*p_write)(int,const void*,size_t) = write;
271 #ifdef _XOPEN_SOURCE
272 char*(*p_crypt)(const char*,const char*) = crypt;
273 void(*p_encrypt)(char[],int) = encrypt;
274 long(*p_gethostid)(void) = gethostid;
275 int(*p_lockf)(int,int,off_t) = lockf;
276 int(*p_nice)(int) = nice;
277 int(*p_setregid)(gid_t,gid_t) = setregid;
278 int(*p_setreuid)(uid_t,uid_t) = setreuid;
279 void(*p_swab)(const void*restrict,void*restrict,ssize_t) = swab;
280 void(*p_sync)(void) = sync;
281 #endif
282 }