use aros_target_toolchain to determine if we need to use the wrappers
[AROS.git] / compiler / posixc / posixc.conf
blob2200d0bccdd397bdfd90debc1800b8e5f32a18b3
1 ##begin config
2 version 0.1
3 basename PosixC
4 libbasetypeextern struct PosixCBase
5 libbasetype struct PosixCIntBase
6 options pertaskbase
7 ##end config
9 ##begin cdef
10 #include <libraries/posixc.h>
11 #include <stdlib.h>
12 #include <grp.h>
13 #include <time.h>
14 #include <unistd.h>
15 #include <stdio.h>
16 #include <sys/stat.h>
17 #include <dirent.h>
18 #include <sys/resource.h>
19 #include <sys/mount.h>
20 #include <sys/time.h>
21 #include <sys/times.h>
22 #include <signal.h>
23 #include <regex.h>
24 #include <sys/utsname.h>
25 #include <termios.h>
26 #include <utime.h>
28 #undef __assert /* We replace the aroscstddos __assert with our own */
29 ##end cdef
31 ##begin cdefprivate
32 #include "__posixc_intbase.h"
33 ##end cdefprivate
35 ##begin startup
36 #include "posixc_startup.c"
37 ##end startup
39 ##begin functionlist
40 # == internal functions ==
41 int __posixc_nixmain(int (*main)(int argc, char *argv[]), int argc, char *argv[])
42 .skip 9
44 # == POSIX.1-2008 ==
45 # * aio.h
46 .skip 8
47 #int aio_cancel(int, struct aiocb *)
48 #int aio_error(const struct aiocb *)
49 #int aio_fsync(int, struct aiocb *)
50 #int aio_read(struct aiocb *)
51 #ssize_t aio_return(struct aiocb *)
52 #int aio_suspend(const struct aiocb *const [], int, const struct timespec *)
53 #int aio_write(struct aiocb *)
54 #int lio_listio(int, struct aiocb *restrict const [restrict], int, struct sigevent *restrict)
56 # * arpa/inet.h
57 .skip 8
58 #uint32_t htonl(uint32_t)
59 #uint16_t htons(uint16_t)
60 #uint32_t ntohl(uint32_t)
61 #uint16_t ntohs(uint16_t)
62 #in_addr_t inet_addr(const char *)
63 #char *inet_ntoa(struct in_addr)
64 #const char  *inet_ntop(int, const void *restrict, char *restrict, socklen_t)
65 #int inet_pton(int, const char *restrict, void *restrict)
67 # * assert.h
68 void __posixc_assert (const char *, const char *, unsigned int)
69 .alias __assert
71 # * complex.h: not implemented in posixc.library
73 # * cpio.h: no functions in cpio.h
75 # * ctype.h: Reserve the LVOs, we may want to provide our own implementation
76 .skip 32
77 #int isalnum(int)
78 #int isalnum_l(int, locale_t)
79 #int isalpha(int)
80 #int isalpha_l(int, locale_t)
81 #int isascii(int)
82 #int isblank(int)
83 #int isblank_l(int, locale_t)
84 #int iscntrl(int)
85 #int iscntrl_l(int, locale_t)
86 #int isdigit(int)
87 #int isdigit_l(int, locale_t)
88 #int isgraph(int)
89 #int isgraph_l(int, locale_t)
90 #int islower(int)
91 #int islower_l(int, locale_t)
92 #int isprint(int)
93 #int isprint_l(int, locale_t)
94 #int ispunct(int)
95 #int ispunct_l(int, locale_t)
96 #int isspace(int)
97 #int isspace_l(int, locale_t)
98 #int isupper(int)
99 #int isupper_l(int, locale_t)
100 #int isxdigit(int)
101 #int isxdigit_l(int, locale_t)
102 #int toascii(int)
103 #int tolower(int)
104 #int tolower_l(int, locale_t)
105 #int toupper(int)
106 #int toupper_l(int, locale_t)
107 #int _toupper(int)
108 #int _tolower(int)
110 # * dirent.h
111 .skip 1
112 #int alphasort(const struct dirent **a, const struct dirent **b)
113 int closedir(DIR *dir)
114 int dirfd(DIR *dir)
115 .skip 1
116 #DIR *fdopendir(int)
117 DIR *opendir(const char *filename)
118 struct dirent *readdir(DIR *dir)
119 .skip 1
120 #int readdir_r(DIR *restrict, struct dirent *restrict, struct dirent **restrict)
121 void rewinddir(DIR *dir)
122 .skip 1
123 #int scandir (const char *dir, struct dirent ***namelist, int (*select)(const struct dirent *), int (*compar)(const struct dirent **, const struct dirent **))
124 void seekdir(DIR *dir, off_t loc)
125 long telldir(DIR *dir)
127 # * dlfcn.h
128 .skip 4
129 #int dlclose(void *)
130 #char *dlerror(void)
131 #void *dlopen(const char *, int)
132 #void *dlsym(void *restrict, const char *restrict)
134 # * errno.h: no functions in errno.h
136 # * fcntl.h
137 int creat (const char * filename, int mode)
138 int fcntl (int fd, int cmd, ...)
139 int open  (const char * filename, int flags, ...)
140 .skip 3
141 #int openat(int, const char *, int, ...)
142 #int posix_fadvise(int fd, off_t offset, size_t len, int advice)
143 #int posix_fallocate(int fd, off_t offset, size_t len)
145 # * fenv.h: not implemented in posixc.library
147 # * float.h: not implemented in posixc.library
149 # * fmtmsg.h
150 .skip 1
151 #int fmtmsg(long, const char *, int, const char *, const char *, const char *)
153 # * fnmatch.h
154 .skip 1
155 #int fnmatch(const char *, const char *, int)
157 # * ftw.h
158 .skip 2
159 #int ftw(const char *, int (*)(const char *, const struct stat *, int), int)
160 #int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int)
162 # * glob.h
163 .skip 2
164 #int glob(const char *restrict, int, int(*)(const char *, int), glob_t *restrict)
165 #void globfree(glob_t *)
167 # * grp.h
168 void endgrent(void)
169 struct group *getgrent(void)
170 struct group *getgrgid(gid_t)
171 .skip 1
172 #int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **)
173 struct group *getgrnam(const char *)
174 .skip 1
175 #int getgrnam_r(const char *, struct group *, char *, size_t , struct group **)
176 void setgrent(void)
178 # * iconv.h
179 .skip 3
180 #size_t iconv(iconv_t, char **restrict, size_t *restrict, char **restrict, size_t *restrict)
181 #int iconv_close(iconv_t)
182 #iconv_t iconv_open(const char *, const char *)
184 # * inttypes.h: no POSIX specific functions in inttypes.h
186 # * iso646.h: no functions in iso646.h
188 # * langinfo.h
189 .skip 2
190 #char *nl_langinfo(nl_item)
191 #char *nl_langinfo_l(nl_item, locale_t)
193 # * libgen.h
194 char *basename(char *)
195 char *dirname(char *)
197 # * limits.h: no functions in limits.h
199 # * locale.h: Reserve the LVOs, we may want to provide our own implementation
200 .skip 6
201 #locale_t duplocale(locale_t)
202 #void freelocale(locale_t)
203 #struct lconv *localeconv(void)
204 #locale_t newlocale(int, const char *, locale_t)
205 #char *setlocale(int, const char *)
206 #locale_t uselocale (locale_t)
208 # * math.h: not implemented in posixc.library
210 # * monetary.h
211 .skip 2
212 #ssize_t strfmon(char *restrict, size_t, const char *restrict, ...)
213 #ssize_t strfmon_l(char *restrict, size_t, locale_t, const char *restrict, ...)
215 # * mqueue.h
216 .skip 10
217 #int mq_close(mqd_t)
218 #int mq_getattr(mqd_t, struct mq_attr *)
219 #int mq_notify(mqd_t, const struct sigevent *)
220 #mqd_t mq_open(const char *, int, ...)
221 #ssize_t mq_receive(mqd_t, char *, size_t, unsigned *)
222 #int mq_send(mqd_t, const char *, size_t, unsigned)
223 #int mq_setattr(mqd_t, const struct mq_attr *restrict, struct mq_attr *restrict)
224 #ssize_t mq_timedreceive(mqd_t, char *restrict, size_t, unsigned *restrict, const struct timespec *restrict)
225 #int mq_timedsend(mqd_t, const char *, size_t, unsigned, const struct timespec *)
226 #int mq_unlink(const char *)
228 # * ndbm.h
229 .skip 9
230 #int dbm_clearerr(DBM *)
231 #void dbm_close(DBM *)
232 #int dbm_delete(DBM *, datum)
233 #int dbm_error(DBM *)
234 #datum dbm_fetch(DBM *, datum)
235 #datum dbm_firstkey(DBM *)
236 #datum dbm_nextkey(DBM *)
237 #DBM *dbm_open(const char *, int, mode_t)
238 #int dbm_store(DBM *, datum, datum, int)
240 # * net/if.h
241 .skip 4
242 #void if_freenameindex(struct if_nameindex *)
243 #char *if_indextoname(unsigned, char *)
244 #struct if_nameindex *if_nameindex(void)
245 #unsigned if_nametoindex(const char *)
247 # * netdb.h
248 .skip 22
249 #void endhostent(void)
250 #void endnetent(void)
251 #void endprotoent(void)
252 #void endservent(void)
253 #void freeaddrinfo(struct addrinfo *)
254 #const char *gai_strerror(int)
255 #int getaddrinfo(const char *restrict, const char *restrict, const struct addrinfo *restrict, struct addrinfo **restrict)
256 #struct hostent *gethostent(void)
257 #int getnameinfo(const struct sockaddr *restrict, socklen_t, char *restrict, socklen_t, char *restrict, socklen_t, int)
258 #struct netent *getnetbyaddr(uint32_t, int)
259 #struct netent *getnetbyname(const char *)
260 #struct netent *getnetent(void)
261 #struct protoent *getprotobyname(const char *)
262 #struct protoent *getprotobynumber(int)
263 #struct protoent *getprotoent(void)
264 #struct servent *getservbyname(const char *, const char *)
265 #struct servent *getservbyport(int, const char *)
266 #struct servent *getservent(void)
267 #void sethostent(int)
268 #void setnetent(int)
269 #void setprotoent(int)
270 #void setservent(int)
272 # * netinit/in.h: no functions in netinet/in.h
274 # * netinit/tcp.h: no functions in netinet/tcp.h
276 # * nl_types.h
277 .skip 3
278 #int catclose(nl_catd)
279 #char *catgets(nl_catd, int, int, const char *)
280 #nl_catd catopen(const char *, int)
282 # * poll.h
283 .skip 1
284 #int poll(struct pollfd [], nfds_t, int)
286 # * pthread.h
287 .skip 100
288 #int pthread_atfork(void (*)(void), void (*)(void), void(*)(void))
289 #int pthread_attr_destroy(pthread_attr_t *)
290 #int pthread_attr_getdetachstate(const pthread_attr_t *, int *)
291 #int pthread_attr_getguardsize(const pthread_attr_t *restrict, size_t *restrict)
292 #int pthread_attr_getinheritsched(const pthread_attr_t *restrict, int *restrict)
293 #int pthread_attr_getschedparam(const pthread_attr_t *restrict, struct sched_param *restrict)
294 #int pthread_attr_getschedpolicy(const pthread_attr_t *restrict, int *restrict)
295 #int pthread_attr_getscope(const pthread_attr_t *restrict, int *restrict)
296 #int pthread_attr_getstack(const pthread_attr_t *restrict, void **restrict, size_t *restrict)
297 #int pthread_attr_getstacksize(const pthread_attr_t *restrict, size_t *restrict)
298 #int pthread_attr_init(pthread_attr_t *)
299 #int pthread_attr_setdetachstate(pthread_attr_t *, int)
300 #int pthread_attr_setguardsize(pthread_attr_t *, size_t)
301 #int pthread_attr_setinheritsched(pthread_attr_t *, int)
302 #int pthread_attr_setschedparam(pthread_attr_t *restrict, const struct sched_param *restrict)
303 #int pthread_attr_setschedpolicy(pthread_attr_t *, int)
304 #int pthread_attr_setscope(pthread_attr_t *, int)
305 #int pthread_attr_setstack(pthread_attr_t *, void *, size_t)
306 #int pthread_attr_setstacksize(pthread_attr_t *, size_t)
307 #int pthread_barrier_destroy(pthread_barrier_t *)
308 #int pthread_barrier_init(pthread_barrier_t *restrict, const pthread_barrierattr_t *restrict, unsigned)
309 #int pthread_barrier_wait(pthread_barrier_t *)
310 #int pthread_barrierattr_destroy(pthread_barrierattr_t *)
311 #int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict, int *restrict)
312 #int pthread_barrierattr_init(pthread_barrierattr_t *)
313 #int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int)
314 #int pthread_cancel(pthread_t)
315 #void pthread_cleanup_pop(int)
316 #void pthread_cleanup_push(void (*)(void*), void *)
317 #int pthread_cond_broadcast(pthread_cond_t *)
318 #int pthread_cond_destroy(pthread_cond_t *)
319 #int pthread_cond_init(pthread_cond_t *restrict, const pthread_condattr_t *restrict)
320 #int pthread_cond_signal(pthread_cond_t *)
321 #int pthread_cond_timedwait(pthread_cond_t *restrict, pthread_mutex_t *restrict, const struct timespec *restrict)
322 #int pthread_cond_wait(pthread_cond_t *restrict, pthread_mutex_t *restrict)
323 #int pthread_condattr_destroy(pthread_condattr_t *)
324 #int pthread_condattr_getclock(const pthread_condattr_t *restrict, clockid_t *restrict)
325 #int pthread_condattr_getpshared(const pthread_condattr_t *restrict, int *restrict)
326 #int pthread_condattr_init(pthread_condattr_t *)
327 #int pthread_condattr_setclock(pthread_condattr_t *, clockid_t)
328 #int pthread_condattr_setpshared(pthread_condattr_t *, int)
329 #int pthread_create(pthread_t *restrict, const pthread_attr_t *restrict, void *(*)(void*), void *restrict)
330 #int pthread_detach(pthread_t)
331 #int pthread_equal(pthread_t, pthread_t)
332 #void pthread_exit(void *)
333 #int pthread_getconcurrency(void)
334 #int pthread_getcpuclockid(pthread_t, clockid_t *)
335 #int pthread_getschedparam(pthread_t, int *restrict, struct sched_param *restrict)
336 #void *pthread_getspecific(pthread_key_t)
337 #int pthread_join(pthread_t, void **)
338 #int pthread_key_create(pthread_key_t *, void (*)(void*))
339 #int pthread_key_delete(pthread_key_t)
340 #int pthread_mutex_consistent(pthread_mutex_t *)
341 #int pthread_mutex_destroy(pthread_mutex_t *)
342 #int pthread_mutex_getprioceiling(const pthread_mutex_t *restrict, int *restrict)
343 #int pthread_mutex_init(pthread_mutex_t *restrict, const pthread_mutexattr_t *restrict)
344 #int pthread_mutex_lock(pthread_mutex_t *)
345 #int pthread_mutex_setprioceiling(pthread_mutex_t *restrict, int, int *restrict)
346 #int pthread_mutex_timedlock(pthread_mutex_t *restrict, const struct timespec *restrict)
347 #int pthread_mutex_trylock(pthread_mutex_t *)
348 #int pthread_mutex_unlock(pthread_mutex_t *)
349 #int pthread_mutexattr_destroy(pthread_mutexattr_t *)
350 #int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *restrict, int *restrict)
351 #int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict, int *restrict)
352 #int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict, int *restrict)
353 #int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict, int *restrict)
354 #int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict, int *restrict)
355 #int pthread_mutexattr_init(pthread_mutexattr_t *)
356 #int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int)
357 #int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int)
358 #int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int)
359 #int pthread_mutexattr_setrobust(pthread_mutexattr_t *, int)
360 #int pthread_mutexattr_settype(pthread_mutexattr_t *, int)
361 #int pthread_once(pthread_once_t *, void (*)(void))
362 #int pthread_rwlock_destroy(pthread_rwlock_t *)
363 #int pthread_rwlock_init(pthread_rwlock_t *restrict, const pthread_rwlockattr_t *restrict)
364 #int pthread_rwlock_rdlock(pthread_rwlock_t *)
365 #int pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict, const struct timespec *restrict)
366 #int pthread_rwlock_timedwrlock(pthread_rwlock_t *restrict, const struct timespec *restrict)
367 #int pthread_rwlock_tryrdlock(pthread_rwlock_t *)
368 #int pthread_rwlock_trywrlock(pthread_rwlock_t *)
369 #int pthread_rwlock_unlock(pthread_rwlock_t *)
370 #int pthread_rwlock_wrlock(pthread_rwlock_t *)
371 #int pthread_rwlockattr_destroy(pthread_rwlockattr_t *)
372 #int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict, int *restrict)
373 #int pthread_rwlockattr_init(pthread_rwlockattr_t *)
374 #int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int)
375 #pthread_t pthread_self(void)
376 #int pthread_setcancelstate(int, int *)
377 #int pthread_setcanceltype(int, int *)
378 #int pthread_setconcurrency(int)
379 #int pthread_setschedparam(pthread_t, int, const struct sched_param *)
380 #int pthread_setschedprio(pthread_t, int)
381 #int pthread_setspecific(pthread_key_t, const void *)
382 #int pthread_spin_destroy(pthread_spinlock_t *)
383 #int pthread_spin_init(pthread_spinlock_t *, int)
384 #int pthread_spin_lock(pthread_spinlock_t *)
385 #int pthread_spin_trylock(pthread_spinlock_t *)
386 #int pthread_spin_unlock(pthread_spinlock_t *)
387 #void pthread_testcancel(void)
389 # * pwd.h
390 void endpwent(void)
391 struct passwd *getpwent(void)
392 struct passwd *getpwnam(const char *)
393 .skip 1
394 #int getpwnam_r(const char *, struct passwd *, char *, size_t, struct passwd **)
395 struct passwd *getpwuid(uid_t);
396 .skip 1
397 #int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
398 void setpwent(void)
400 # * regex.h
401 .skip 4
402 int regcomp(regex_t *restrict, const char *restrict, int)
403 size_t regerror(int, const regex_t *restrict, char *restrict, size_t)
404 int regexec(const regex_t *restrict, const char *restrict, size_t, regmatch_t [], int)
405 void regfree(regex_t *)
407 # * sched.h
408 .skip 8
409 #int sched_get_priority_max(int)
410 #int sched_get_priority_min(int)
411 #int sched_getparam(pid_t, struct sched_param *)
412 #int sched_getscheduler(pid_t)
413 #int sched_rr_get_interval(pid_t, struct timespec *)
414 #int sched_setparam(pid_t, const struct sched_param *)
415 #int sched_setscheduler(pid_t, int, const struct sched_param *)
416 #int sched_yield(void)
418 # * search.h
419 .skip 11
420 #int hcreate(size_t)
421 #void hdestroy(void)
422 #ENTRY *hsearch(ENTRY, ACTION)
423 #void insque(void *, void *)
424 #void *lfind(const void *, const void *, size_t *, size_t, int (*)(const void *, const void *))
425 #void *lsearch(const void *, void *, size_t *, size_t, int (*)(const void *, const void *))
426 #void remque(void *)
427 #void *tdelete(const void *restrict, void **restrict, int(*)(const void *, const void *))
428 #void *tfind(const void *, void *const *, int(*)(const void *, const void *))
429 #void *tsearch(const void *, void **, int(*)(const void *, const void *))
430 #void twalk(const void *, void (*)(const void *, VISIT, int ))
432 # * semaphore.h
433 .skip 10
434 #int sem_close(sem_t *)
435 #int sem_destroy(sem_t *)
436 #int sem_getvalue(sem_t *restrict, int *restrict)
437 #int sem_init(sem_t *, int, unsigned)
438 #sem_t *sem_open(const char *, int, ...)
439 #int sem_post(sem_t *)
440 #int sem_timedwait(sem_t *restrict, const struct timespec *restrict)
441 #int sem_trywait(sem_t *)
442 #int sem_unlink(const char *)
443 #int sem_wait(sem_t *)
445 # * setjmp.h: Only POSIX.1-2008 specific functions are included here
446 .skip 2
447 #void siglongjmp(sigjmp_buf, int)
448 #int sigsetjmp(sigjmp_buf, int)
450 # * signal.h: Also reserve LVO for C99 funcs, we may want to overload them later on
451 int kill(pid_t, int)
452 .skip 6
453 #int killpg(pid_t, int)
454 #void psiginfo(const siginfo_t *, const char *)
455 #void psignal(int, const char *)
456 #int pthread_kill(pthread_t, int)
457 #int pthread_sigmask(int, const sigset_t *restrict, sigset_t *restrict)
458 #int raise(int)
459 int sigaction(int, const struct sigaction *, struct sigaction *)
460 int sigaddset(sigset_t *, int)
461 .skip 1
462 #int sigaltstack(const stack_t *, stack_t *)
463 int sigdelset(sigset_t *, int)
464 int sigemptyset(sigset_t *)
465 int sigfillset(sigset_t *)
466 .skip 3
467 #int sighold(int)
468 #int sigignore(int)
469 #int siginterrupt(int)
470 int sigismember(const sigset_t *, int)
471 .skip 2
472 #void (*signal(int, void (*)(int)))(int)
473 #int sigpause(int)
474 int sigpending(sigset_t *)
475 int sigprocmask(int, const sigset_t *, sigset_t *)
476 .skip 3
477 #int sigqueue(pid_t, int, const union sigval)
478 #int sigrelse(int)
479 #int sigset(__sighandler_t *, int)
480 int sigsuspend(const sigset_t *)
481 .skip 3
482 #int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *)
483 #int sigwait(const sigset_t *, int *)
484 #int sigwaitinfo(const sigset_t *, siginfo_t *)
486 # * spawn.h
487 .skip 21
488 #int posix_spawn(pid_t *restrict, const char *restrict, const posix_spawn_file_actions_t *, const posix_spawnattr_t *restrict, char *const [restrict], char *const [restrict])
489 #int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int)
490 #int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, int)
491 #int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *restrict, int, const char *restrict, int, mode_t)
492 #int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *)
493 #int posix_spawn_file_actions_init(posix_spawn_file_actions_t *)
494 #int posix_spawnattr_destroy(posix_spawnattr_t *)
495 #int posix_spawnattr_getflags(const posix_spawnattr_t *restrict, short *restrict)
496 #int posix_spawnattr_getpgroup(const posix_spawnattr_t *restrict, pid_t *restrict)
497 #int posix_spawnattr_getschedparam(const posix_spawnattr_t *restrict, struct sched_param *restrict)
498 #int posix_spawnattr_getschedpolicy(const posix_spawnattr_t *restrict, int *restrict)
499 #int posix_spawnattr_getsigdefault(const posix_spawnattr_t *restrict, sigset_t *restrict)
500 #int posix_spawnattr_getsigmask(const posix_spawnattr_t *restrict, sigset_t *restrict)
501 #int posix_spawnattr_init(posix_spawnattr_t *)
502 #int posix_spawnattr_setflags(posix_spawnattr_t *, short)
503 #int posix_spawnattr_setpgroup(posix_spawnattr_t *, pid_t)
504 #int posix_spawnattr_setschedparam(posix_spawnattr_t *restrict, const struct sched_param *restrict)
505 #int posix_spawnattr_setschedpolicy(posix_spawnattr_t *, int)
506 #int posix_spawnattr_setsigdefault(posix_spawnattr_t *restrict, const sigset_t *restrict)
507 #int posix_spawnattr_setsigmask(posix_spawnattr_t *restrict, const sigset_t *restrict)
508 #int posix_spawnp(pid_t *restrict, const char *restrict, const posix_spawn_file_actions_t *, const posix_spawnattr_t *restrict, char *const [restrict], char *const [restrict])
510 # * stdarg.h: not implemented in posixc.library
512 # * stdbool.h: no functions in stdbool.h
514 # * stddef.h: not implemented in posixc.library
516 # * stdint.h: not implemented in posixc.library
518 # * stdio.h: Also reserve LVO for C99 funcs, we may want to overload them later on
519 void clearerr(FILE *)
520 .skip 2
521 #char *ctermid(char *)
522 #int dprintf(int, const char *restrict, ...)
523 int fclose(FILE *)
524 FILE *fdopen(int, const char *)
525 int feof(FILE *)
526 int ferror(FILE *)
527 int fflush(FILE *)
528 int fgetc(FILE *)
529 .alias getc
530 int fgetpos(FILE *restrict, fpos_t *restrict)
531 char *fgets(char *restrict, int, FILE *restrict)
532 int fileno(FILE *)
533 .skip 2
534 #void flockfile(FILE *)
535 #FILE *fmemopen(void *restrict, size_t, const char *restrict)
536 FILE *fopen(const char *restrict, const char *restrict)
537 int fprintf(FILE *restrict, const char *restrict, ...)
538 int fputc(int, FILE *)
539 .alias putc
540 int fputs(const char *restrict, FILE *restrict)
541 size_t fread(void *restrict, size_t, size_t, FILE *restrict)
542 FILE *freopen(const char *restrict, const char *restrict, FILE *restrict)
543 int fscanf(FILE *restrict, const char *restrict, ...)
544 int fseek(FILE *, long, int)
545 int fseeko(FILE *, off_t, int)
546 int fsetpos(FILE *, const fpos_t *)
547 long ftell(FILE *)
548 off_t ftello(FILE *)
549 .skip 2
550 #int ftrylockfile(FILE *)
551 #void funlockfile(FILE *)
552 size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict)
553 # getc alias from fgetc
554 int getchar(void)
555 .skip 4
556 #int getc_unlocked(FILE *)
557 #int getchar_unlocked(void)
558 #ssize_t getdelim(char **restrict, size_t *restrict, int, FILE *restrict)
559 #ssize_t  getline(char **restrict, size_t *restrict, FILE *restrict)
560 char *gets(char *)
561 .skip 1
562 #FILE *open_memstream(char **, size_t *)
563 int pclose(FILE *)
564 void perror(const char *)
565 FILE *popen(const char *, const char *)
566 int printf(const char *restrict, ...)
567 # putc alias from fputc
568 int putchar(int)
569 .skip 2
570 #int putc_unlocked(int, FILE *)
571 #int putchar_unlocked(int)
572 int puts(const char *)
573 int __posixc_remove(const char *)
574 .alias remove
575 .alias unlink
576 int __posixc_rename(const char *, const char *)
577 .alias rename
578 .skip 1
579 #int renameat(int, const char *, int, const char *)
580 void rewind(FILE *)
581 int scanf(const char *restrict, ...)
582 void setbuf(FILE *restrict, char *restrict)
583 int setvbuf(FILE *restrict, char *restrict, int, size_t)
584 .skip 3
585 #int snprintf(char *restrict, size_t, const char *restrict, ...)
586 #int sprintf(char *restrict, const char *restrict, ...)
587 #int sscanf(const char *restrict, const char *restrict, ...)
588 char *tempnam(const char *, const char *)
589 FILE *tmpfile(void)
590 char *tmpnam(char *)
591 int ungetc(int, FILE *)
592 .skip 1
593 #int vdprintf(int, const char *restrict, va_list)
594 int vfprintf(FILE *restrict, const char *restrict, va_list)
595 int vfscanf(FILE *restrict, const char *restrict, va_list)
596 int vprintf(const char *restrict, va_list)
597 int vscanf(const char *restrict, va_list)
598 .skip 3
599 #int vsnprintf(char *restrict, size_t, const char *restrict, va_list)
600 #int vsprintf(char *restrict, const char *restrict, va_list)
601 #int vsscanf(const char *restrict, const char *restrict, va_list)
603 # * stdlib.h: only POSIX.1-2008 specific functions and
604 #             getenv(), system() overriding posixc.library version
605 .skip 1
606 #long a64l(const char *)
607 double drand48(void)
608 double erand48(unsigned short [3])
609 char *getenv(const char *name)
610 .skip 2
611 #int getsubopt(char **, char *const *, char **)
612 #int grantpt(int)
613 char *initstate(unsigned, char *, int)
614 long int jrand48(unsigned short [3])
615 .skip 1
616 #char *l64a(long)
617 void lcong48(unsigned short [7])
618 long int lrand48(void)
619 .skip 1
620 #char *mkdtemp(char *)
621 int mkstemp(char *)
622 char *mktemp(char *)
623 long int mrand48(void)
624 long int nrand48(unsigned short [3])
625 int posix_memalign(void **, size_t, size_t)
626 .skip 2
627 #int posix_openpt(int)
628 #char *ptsname(int)
629 int putenv(const char *)
630 .skip 1
631 #int rand_r(unsigned int *)
632 long random(void)
633 char *realpath(const char * restrict , char * restrict)
634 unsigned short int *seed48(unsigned short [3])
635 int setenv(const char *, const char *, int)
636 .skip 1
637 #void setkey(const char *)
638 char *setstate(char *)
639 void srand48(long)
640 void srandom(unsigned)
641 int system(const char *string)
642 .skip 1
643 #int unlockpt(int)
644 void unsetenv(const char *)
645 int getloadavg(double [], int)
647 # * string.h: all function are in stdc.library, only strerror is overloaded
648 char *__posixc_strerror(int)
649 .alias strerror
651 # * strings.h: reserve LVO for str(n)casecmp, we may want to overload them later
652 .skip 4
653 #int strcasecmp(const char *, const char *)
654 #int strcasecmp_l(const char *, const char *, locale_t)
655 #int strncasecmp(const char *, const char *, size_t)
656 #int strncasecmp_l(const char *, const char *, size_t, locale_t)
658 # * stropts.h
659 .skip 8
660 #int fattach(int, const char *)
661 #int fdetach(const char *)
662 #int getmsg(int, struct strbuf *restrict, struct strbuf *restrict, int *restrict)
663 #int getpmsg(int, struct strbuf *restrict, struct strbuf *restrict, int *restrict, int *restrict)
664 int ioctl(int, int, ...)
665 #int isastream(int)
666 #int putmsg(int, const struct strbuf *, const struct strbuf *, int)
667 #int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int)
669 # * sys/ipc.h
670 .skip 1
671 #key_t ftok(const char *, int)
673 # * sys/mman.h
674 .skip 14
675 #int mlock(const void *, size_t)
676 #int mlockall(int)
677 #void *mmap(void *, size_t, int, int, int, off_t)
678 #int mprotect(void *, size_t, int)
679 #int msync(void *, size_t, int)
680 #int munlock(const void *, size_t)
681 #int munlockall(void)
682 #int munmap(void *, size_t)
683 #int posix_madvise(void *, size_t, int)
684 #int posix_mem_offset(const void *restrict, size_t, off_t *restrict, size_t *restrict, int *restrict)
685 #int posix_typed_mem_get_info(int, struct posix_typed_mem_info *)
686 #int posix_typed_mem_open(const char *, int, int)
687 #int shm_open(const char *, int, mode_t)
688 #int shm_unlink(const char *)
690 # * sys/msg.h
691 .skip 4
692 #int msgctl(int, int, struct msqid_ds *)
693 #int msgget(key_t, int)
694 #ssize_t msgrcv(int, void *, size_t, long, int)
695 #int msgsnd(int, const void *, size_t, int)
697 # * sys/resource.h
698 .skip 1
699 #int getpriority(int, id_t)
700 int getrlimit(int, struct rlimit *)
701 .skip 2
702 #int getrusage(int, struct rusage *)
703 #int setpriority(int, id_t, int)
704 int setrlimit(int, const struct rlimit *)
706 # * sys/select.h: Reserve also LVO for FD_xxx()
707 .skip 6
708 #void FD_CLR(int, fd_set *)
709 #int FD_ISSET(int, fd_set *)
710 #void FD_SET(int, fd_set *)
711 #void FD_ZERO(fd_set *)
712 #int pselect(int, fd_set *restrict, fd_set *restrict, fd_set *restrict, const struct timespec *restrict, const sigset_t *restrict)
713 #int select(int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timeval *restrict)
715 # * sys/sem.h
716 .skip 3
717 #int semctl(int, int, int, ...)
718 #int semget(key_t, int, int)
719 #int semop(int, struct sembuf *, size_t)
721 # * sys/shm.h
722 .skip 4
723 #void *shmat(int, const void *, int)
724 #int   shmctl(int, int, struct shmid_ds *)
725 #int   shmdt(const void *)
726 #int   shmget(key_t, size_t, int)
728 # * sys/socket.h: also reserve LVO for bsdsocket.library functions
729 .skip 18
730 #int accept(int, struct sockaddr *restrict, socklen_t *restrict)
731 #int bind(int, const struct sockaddr *, socklen_t)
732 #int connect(int, const struct sockaddr *, socklen_t)
733 #int getpeername(int, struct sockaddr *restrict, socklen_t *restrict)
734 #int getsockname(int, struct sockaddr *restrict, socklen_t *restrict)
735 #int getsockopt(int, int, int, void *restrict, socklen_t *restrict)
736 #int listen(int, int)
737 #ssize_t recv(int, void *, size_t, int)
738 #ssize_t recvfrom(int, void *restrict, size_t, int, struct sockaddr *restrict, socklen_t *restrict)
739 #ssize_t recvmsg(int, struct msghdr *, int)
740 #ssize_t send(int, const void *, size_t, int)
741 #ssize_t sendmsg(int, const struct msghdr *, int)
742 #ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t)
743 #int setsockopt(int, int, int, const void *, socklen_t)
744 #int shutdown(int, int)
745 #int sockatmark(int)
746 #int socket(int, int, int)
747 #int socketpair(int, int, int, int [2])
749 # * sys/stat.h
750 int chmod(const char *path, mode_t mode)
751 int fchmod(int fildes, mode_t mode)
752 .skip 1
753 #int fchmodat(int, const char *, mode_t, int)
754 int fstat(int fd, struct stat *sb)
755 .skip 2
756 #int fstatat(int, const char *restrict, struct stat *restrict, int)
757 #int futimens(int, const struct timespec [2])
758 int lstat(const char * restrict path, struct stat * restrict sb)
759 int mkdir(const char *path, mode_t mode)
760 .skip 3
761 #int mkdirat(int, const char *, mode_t)
762 #int mkfifo(const char *path, mode_t mode)
763 #int mkfifoat(int, const char *, mode_t)
764 int mknod(const char *path, mode_t mode, dev_t dev)
765 .skip 1
766 #int mknodat(int, const char *, mode_t, dev_t)
767 int stat(const char * restrict path, struct stat * restrict sb)
768 mode_t umask(mode_t numask)
769 .skip 1
770 #int utimensat(int, const char *, const struct timespec [2], int)
772 # * sys/statvfs.h
773 .skip 2
774 #int fstatvfs(int, struct statvfs *)
775 #int statvfs(const char *restrict, struct statvfs *restrict)
777 # * sys/time.h
778 .skip 1
779 #int getitimer(int which, struct itimerval *)
780 int gettimeofday(struct timeval * restrict, struct timezone * restrict)
781 .skip 2
782 #int setitimer(int which, const struct itimerval * restrict, struct itimerval * restrict)
783 #int select(int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timeval *restrict)
784 int utimes(const char *, const struct timeval [2])
786 # * sys/times.h
787 clock_t times(struct tms *)
789 # * sys/types.h: no functions in sys/types.h
791 # * sys/uio.h
792 .skip 2
793 #ssize_t readv(int, const struct iovec *, int)
794 #ssize_t writev(int, const struct iovec *, int)
796 # * sys/un.h: no functions in sys/un.h
798 # * sys/utsname.h
799 int uname(struct utsname *)
801 # * sys/wait.h
802 pid_t wait(int *)
803 .skip 1
804 #int waitid(idtype_t, id_t, siginfo_t *, int)
805 pid_t waitpid(pid_t, int *, int)
807 # <syslog.h>
808 .skip 4
809 #void closelog(void)
810 #void openlog(const char *, int, int)
811 #int setlogmask(int)
812 #void syslog(int, const char *, ...)
814 # * tar.h: no functions in tar.h
816 # * termios.h
817 speed_t cfgetispeed(const struct termios *)
818 speed_t cfgetospeed(const struct termios *)
819 int cfsetispeed(struct termios *, speed_t)
820 int cfsetospeed(struct termios *, speed_t)
821 .skip 3
822 #int tcdrain(int)
823 #int tcflow(int, int)
824 #int tcflush(int, int)
825 int tcgetattr(int, struct termios *)
826 .skip 2
827 #pid_t tcgetsid(int)
828 #int tcsendbreak(int, int)
829 int tcsetattr(int, int, const struct termios *)
831 # * tgmath.h: not implemented in posixc.library
833 # * time.h: Also reserve LVO for C99 funcs that may depend on locale
834 .skip 11
835 #char *asctime(const struct tm *)
836 #char *asctime_r(const struct tm *restrict, char *restrict)
837 #clock_t clock(void)
838 #int clock_getcpuclockid(pid_t, clockid_t *)
839 #int clock_getres(clockid_t, struct timespec *)
840 #int clock_gettime(clockid_t, struct timespec *)
841 #int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *)
842 #int clock_settime(clockid_t, const struct timespec *)
843 #struct tm *getdate(const char *)
844 #struct tm *localtime(const time_t *)
845 #struct tm *localtime_r(const time_t *restrict, struct tm *restrict)
846 int nanosleep(const struct timespec *, struct timespec *)
847 .skip 2
848 #size_t strftime(char *restrict, size_t, const char *restrict, const struct tm *restrict)
849 #size_t strftime_l(char *restrict, size_t, const char *restrict, const struct tm *restrict, locale_t)
850 char *strptime(const char *, const char *, struct tm *)
851 .skip 6
852 #int timer_create(clockid_t, struct sigevent *, timer_t *)
853 #int timer_delete(timer_t)
854 #int timer_getoverrun(timer_t)
855 #int timer_gettime(timer_t, struct itimerspec *)
856 #int timer_settime(timer_t, int, const struct itimerspec *, struct itimerspec *)
857 #void tzset(void)
859 # * trace.h
860 .skip 50
861 #int posix_trace_attr_destroy(trace_attr_t *)
862 #int posix_trace_attr_getclockres(const trace_attr_t *, struct timespec *)
863 #int posix_trace_attr_getcreatetime(const trace_attr_t *, struct timespec *)
864 #int posix_trace_attr_getgenversion(const trace_attr_t *, char *)
865 #int posix_trace_attr_getinherited(const trace_attr_t *restrict, int *restrict)
866 #int posix_trace_attr_getlogfullpolicy(const trace_attr_t *restrict, int *restrict)
867 #int posix_trace_attr_getlogsize(const trace_attr_t *restrict, size_t *restrict)
868 #int posix_trace_attr_getmaxdatasize(const trace_attr_t *restrict, size_t *restrict)
869 #int posix_trace_attr_getmaxsystemeventsize(const trace_attr_t *restrict, size_t *restrict)
870 #int posix_trace_attr_getmaxusereventsize(const trace_attr_t *restrict, size_t, size_t *restrict)
871 #int posix_trace_attr_getname(const trace_attr_t *, char *)
872 #int posix_trace_attr_getstreamfullpolicy(const trace_attr_t *restrict, int *restrict)
873 #int posix_trace_attr_getstreamsize(const trace_attr_t *restrict, size_t *restrict)
874 #int posix_trace_attr_init(trace_attr_t *)
875 #int posix_trace_attr_setinherited(trace_attr_t *, int)
876 #int posix_trace_attr_setlogfullpolicy(trace_attr_t *, int)
877 #int posix_trace_attr_setlogsize(trace_attr_t *, size_t)
878 #int posix_trace_attr_setmaxdatasize(trace_attr_t *, size_t)
879 #int posix_trace_attr_setname(trace_attr_t *, const char *)
880 #int posix_trace_attr_setstreamfullpolicy(trace_attr_t *, int)
881 #int posix_trace_attr_setstreamsize(trace_attr_t *, size_t)
882 #int posix_trace_clear(trace_id_t)
883 #int posix_trace_close(trace_id_t)
884 #int posix_trace_create(pid_t, const trace_attr_t *restrict, trace_id_t *restrict)
885 #int posix_trace_create_withlog(pid_t, const trace_attr_t *restrict, int, trace_id_t *restrict)
886 #void posix_trace_event(trace_event_id_t, const void *restrict, size_t)
887 #int posix_trace_eventid_equal(trace_id_t, trace_event_id_t, trace_event_id_t)
888 #int posix_trace_eventid_get_name(trace_id_t, trace_event_id_t, char *)
889 #int posix_trace_eventid_open(const char *restrict, trace_event_id_t *restrict)
890 #int posix_trace_eventset_add(trace_event_id_t, trace_event_set_t *)
891 #int posix_trace_eventset_del(trace_event_id_t, trace_event_set_t *)
892 #int posix_trace_eventset_empty(trace_event_set_t *)
893 #int posix_trace_eventset_fill(trace_event_set_t *, int)
894 #int posix_trace_eventset_ismember(trace_event_id_t, const trace_event_set_t *restrict, int *restrict)
895 #int posix_trace_eventtypelist_getnext_id(trace_id_t, trace_event_id_t *restrict, int *restrict)
896 #int posix_trace_eventtypelist_rewind(trace_id_t)
897 #int posix_trace_flush(trace_id_t)
898 #int posix_trace_get_attr(trace_id_t, trace_attr_t *)
899 #int posix_trace_get_filter(trace_id_t, trace_event_set_t *)
900 #int posix_trace_get_status(trace_id_t, struct posix_trace_status_info *)
901 #int posix_trace_getnext_event(trace_id_t, struct posix_trace_event_info *restrict, void *restrict, size_t, size_t *restrict, int *restrict)
902 #int posix_trace_open(int, trace_id_t *)
903 #int posix_trace_rewind(trace_id_t)
904 #int posix_trace_set_filter(trace_id_t, const trace_event_set_t *, int)
905 #int posix_trace_shutdown(trace_id_t)
906 #int posix_trace_start(trace_id_t)
907 #int posix_trace_stop(trace_id_t)
908 #int posix_trace_timedgetnext_event(trace_id_t, struct posix_trace_event_info *restrict, void *restrict, size_t, size_t *restrict, int *restrict, const struct timespec *restrict)
909 #int posix_trace_trid_eventid_open(trace_id_t, const char *restrict, trace_event_id_t *restrict)
910 #int posix_trace_trygetnext_event(trace_id_t, struct posix_trace_event_info *restrict, void *restrict, size_t, size_t *restrict, int *restrict)
912 # * ulimit.h
913 .skip 1
914 #long ulimit(int, ...)
916 # * unistd.h
917 int access(const char *path, int mode)
918 .skip 1
919 #unsigned alarm(unsigned)
920 int chdir(const char *path)
921 int chown(const char *path, uid_t owner, gid_t group)
922 int close(int fd)
923 .skip 3
924 #size_t confstr(int, char *, size_t)
925 #char *crypt(const char *, const char *)
926 #char *ctermid(char *)
927 int dup(int oldfd)
928 int dup2(int oldfd, int newfd)
929 .skip 2
930 #void _exit(int) ; is alias from _Exit in stdc.library
931 #void encrypt(char [64], int)
932 int execl(const char *path, const char *arg, ...)
933 .skip 1
934 #int execle(const char *path, const char *arg, ...)
935 int execlp(const char *path, const char *arg, ...)
936 int execv(const char *path, char *const argv[])
937 int execve(const char *path, char *const argv[], char *const envp[])
938 int execvp(const char *path, char *const argv[])
939 .skip 1
940 #int faccessat(int, const char *, int, int)
941 int fchdir(int fd)
942 int fchown(int fd, uid_t owner, gid_t group)
943 .skip 5
944 #int fchownat(int, const char *, uid_t, gid_t, int)
945 #int fdatasync(int)
946 #long fpathconf(int fd, int name)
947 #int fexecve(int, char *const [], char *const [])
948 #pid_t fork(void)
949 int fsync(int fd)
950 int ftruncate(int fd, off_t length)
951 char *getcwd(char *buf, size_t size)
952 gid_t getegid(void)
953 uid_t geteuid(void)
954 gid_t getgid(void)
955 int getgroups(int gidsetlen, gid_t *gidset)
956 .skip 2
957 #long gethostid(void)
958 #int gethostname(char *name, size_t namelen)
959 char *getlogin(void)
960 .skip  3
961 #int getlogin_r(char *, size_t)
962 #int getopt(int argc, char * const argv[], const char *optstring)
963 #pid_t getpgid(pid_t)
964 pid_t getpgrp(void)
965 pid_t getpid(void)
966 pid_t getppid(void)
967 .skip 1
968 #pid_t getsid(pid_t pid)
969 uid_t getuid(void)
970 int isatty(int fd)
971 .skip 1
972 #int lchown(const char *path, uid_t owner, gid_t group)
973 int link(const char *name1, const char *name2)
974 .skip 2
975 #int linkat(int, const char *, int, const char *, int)
976 #int lockf(int filedes, int function, off_t size)
977 off_t lseek(int filedes, off_t offset, int whence)
978 .skip 1
979 #int nice(int incr)
980 long pathconf(const char *path, int name)
981 .skip 1
982 #int pause(void)
983 int pipe(int filedes[2])
984 .skip 2
985 #ssize_t pread(int d, void *buf, size_t nbytes, off_t offset)
986 #ssize_t pwrite(int d, const void *buf, size_t nbytes, off_t offset)
987 ssize_t read(int d, void *buf, size_t nbytes)
988 ssize_t readlink(const char * restrict path, char * restrict buf, size_t bufsize)
989 .skip 1
990 #ssize_t readlinkat(int, const char *restrict, char *restrict, size_t)
991 int rmdir(const char *path)
992 .skip 2
993 #int setegid(gid_t egid)
994 #int seteuid(uid_t euid)
995 int setgid(gid_t gid)
996 .skip 5
997 #int setpgid(pid_t pid, pid_t pgrp)
998 #int setpgrp(pid_t pid, pid_t pgrp)
999 #int setregid(gid_t rgid, gid_t egid)
1000 #int setreuid(uid_t ruid, uid_t euid)
1001 #pid_t setsid(void)
1002 int setuid(uid_t uid)
1003 unsigned sleep(unsigned)
1004 void swab(const void * restrict src, void * restrict dst, size_t len)
1005 int symlink(const char *name1, const char *name2)
1006 .skip 1
1007 #int symlinkat(const char *, int, const char *)
1008 void sync(void)
1009 long sysconf(int name)
1010 .skip 2
1011 #pid_t tcgetpgrp(int fd)
1012 #int tcsetpgrp(int fd, pid_t pgrp_id)
1013 int truncate(const char *path, off_t length)
1014 char *ttyname(int fd)
1015 .skip 1
1016 #int ttyname_r(int fd, char *buf, size_t len)
1017 #int unlink(const char *) ; alias of remove()
1018 #int unlinkat(int, const char *, int)
1019 ssize_t write(int fd, const void *buf, size_t nbytes)
1021 # <utime.h>
1022 int utime(const char *, const struct utimbuf *)
1024 # * utmpx.h
1025 .skip 6
1026 #void endutxent(void)
1027 #struct utmpx *getutxent(void)
1028 #struct utmpx *getutxid(const struct utmpx *)
1029 #struct utmpx *getutxline(const struct utmpx *)
1030 #struct utmpx *pututxline(const struct utmpx *)
1031 #void setutxent(void)
1033 # * wchar.h: Reserve LVOs, we may want to provide own implementation
1034 .skip 89
1035 #wint_t btowc(int)
1036 #wint_t fgetwc(FILE *)
1037 #wchar_t *fgetws(wchar_t *restrict, int, FILE *restrict)
1038 #wint_t fputwc(wchar_t, FILE *)
1039 #int fputws(const wchar_t *restrict, FILE *restrict)
1040 #int fwide(FILE *, int)
1041 #int fwprintf(FILE *restrict, const wchar_t *restrict, ...)
1042 #int fwscanf(FILE *restrict, const wchar_t *restrict, ...)
1043 #wint_t getwc(FILE *)
1044 #wint_t getwchar(void)
1045 #int iswalnum(wint_t)
1046 #int iswalpha(wint_t)
1047 #int iswcntrl(wint_t)
1048 #int iswctype(wint_t, wctype_t)
1049 #int iswdigit(wint_t)
1050 #int iswgraph(wint_t)
1051 #int iswlower(wint_t)
1052 #int iswprint(wint_t)
1053 #int iswpunct(wint_t)
1054 #int iswspace(wint_t)
1055 #int iswupper(wint_t)
1056 #int iswxdigit(wint_t)
1057 #size_t mbrlen(const char *restrict, size_t, mbstate_t *restrict)
1058 #size_t mbrtowc(wchar_t *restrict, const char *restrict, size_t, mbstate_t *restrict)
1059 #int mbsinit(const mbstate_t *)
1060 #size_t mbsnrtowcs(wchar_t *restrict, const char **restrict, size_t, size_t, mbstate_t *restrict)
1061 #size_t mbsrtowcs(wchar_t *restrict, const char **restrict, size_t, mbstate_t *restrict)
1062 #FILE *open_wmemstream(wchar_t **, size_t *)
1063 #wint_t putwc(wchar_t, FILE *)
1064 #wint_t putwchar(wchar_t)
1065 #int swprintf(wchar_t *restrict, size_t, const wchar_t *restrict, ...)
1066 #int swscanf(const wchar_t *restrict, const wchar_t *restrict, ...)
1067 #wint_t towlower(wint_t)
1068 #wint_t towupper(wint_t)
1069 #wint_t ungetwc(wint_t, FILE *)
1070 #int vfwprintf(FILE *restrict, const wchar_t *restrict, va_list)
1071 #int vfwscanf(FILE *restrict, const wchar_t *restrict, va_list)
1072 #int vswprintf(wchar_t *restrict, size_t, const wchar_t *restrict, va_list)
1073 #int vswscanf(const wchar_t *restrict, const wchar_t *restrict, va_list)
1074 #int vwprintf(const wchar_t *restrict, va_list)
1075 #int vwscanf(const wchar_t *restrict, va_list)
1076 #wchar_t *wcpcpy(wchar_t restrict*, const wchar_t *restrict)
1077 #wchar_t *wcpncpy(wchar_t restrict *, const wchar_t *restrict, size_t)
1078 #size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict)
1079 #int wcscasecmp(const wchar_t *, const wchar_t *)
1080 #int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t)
1081 #wchar_t *wcscat(wchar_t *restrict, const wchar_t *restrict)
1082 #wchar_t *wcschr(const wchar_t *, wchar_t)
1083 #int wcscmp(const wchar_t *, const wchar_t *)
1084 #int wcscoll(const wchar_t *, const wchar_t *)
1085 #int wcscoll_l(const wchar_t *, const wchar_t *, locale_t)
1086 #wchar_t *wcscpy(wchar_t *restrict, const wchar_t *restrict)
1087 #size_t wcscspn(const wchar_t *, const wchar_t *)
1088 #wchar_t *wcsdup(const wchar_t *)
1089 #size_t wcsftime(wchar_t *restrict, size_t, const wchar_t *restrict, const struct tm *restrict)
1090 #size_t wcslen(const wchar_t *)
1091 #int wcsncasecmp(const wchar_t *, const wchar_t *, size_t)
1092 #int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t)
1093 #wchar_t *wcsncat(wchar_t *restrict, const wchar_t *restrict, size_t)
1094 #int wcsncmp(const wchar_t *, const wchar_t *, size_t)
1095 #wchar_t *wcsncpy(wchar_t *restrict, const wchar_t *restrict, size_t)
1096 #size_t wcsnlen(const wchar_t *, size_t)
1097 #size_t wcsnrtombs(char *restrict, const wchar_t **restrict, size_t, size_t, mbstate_t *restrict)
1098 #wchar_t *wcspbrk(const wchar_t *, const wchar_t *)
1099 #wchar_t *wcsrchr(const wchar_t *, wchar_t)
1100 #size_t wcsrtombs(char *restrict, const wchar_t **restrict, size_t, mbstate_t *restrict)
1101 #size_t wcsspn(const wchar_t *, const wchar_t *)
1102 #wchar_t *wcsstr(const wchar_t *restrict, const wchar_t *restrict)
1103 #double wcstod(const wchar_t *restrict, wchar_t **restrict)
1104 #float wcstof(const wchar_t *restrict, wchar_t **restrict)
1105 #wchar_t *wcstok(wchar_t *restrict, const wchar_t *restrict, wchar_t **restrict)
1106 #long wcstol(const wchar_t *restrict, wchar_t **restrict, int)
1107 #long double wcstold(const wchar_t *restrict, wchar_t **restrict)
1108 #long long wcstoll(const wchar_t *restrict, wchar_t **restrict, int)
1109 #unsigned long wcstoul(const wchar_t *restrict, wchar_t **restrict, int)
1110 #unsigned long long wcstoull(const wchar_t *restrict, wchar_t **restrict, int)
1111 #int wcswidth(const wchar_t *, size_t)
1112 #size_t wcsxfrm(wchar_t *restrict, const wchar_t *restrict, size_t)
1113 #size_t wcsxfrm_l(wchar_t *restrict, const wchar_t *restrict, size_t, locale_t)
1114 #int wctob(wint_t)
1115 #wctype_t wctype(const char *)
1116 #int wcwidth(wchar_t)
1117 #wchar_t *wmemchr(const wchar_t *, wchar_t, size_t)
1118 #int wmemcmp(const wchar_t *, const wchar_t *, size_t)
1119 #wchar_t *wmemcpy(wchar_t *restrict, const wchar_t *restrict, size_t)
1120 #wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t)
1121 #wchar_t *wmemset(wchar_t *, wchar_t, size_t)
1122 #int wprintf(const wchar_t *restrict, ...)
1123 #int wscanf(const wchar_t *restrict, ...)
1125 # * wctype.h: Reserve LVOs, we may want to provide own implementation
1126 .skip 36
1127 #int iswalnum(wint_t)
1128 #int iswalnum_l(wint_t, locale_t)
1129 #int iswalpha(wint_t)
1130 #int iswalpha_l(wint_t, locale_t)
1131 #int iswblank(wint_t)
1132 #int iswblank_l(wint_t, locale_t)
1133 #int iswcntrl(wint_t)
1134 #int iswcntrl_l(wint_t, locale_t)
1135 #int iswctype(wint_t, wctype_t)
1136 #int iswctype_l(wint_t, wctype_t, locale_t)
1137 #int iswdigit(wint_t)
1138 #int iswdigit_l(wint_t, locale_t)
1139 #int iswgraph(wint_t)
1140 #int iswgraph_l(wint_t, locale_t)
1141 #int iswlower(wint_t)
1142 #int iswlower_l(wint_t, locale_t)
1143 #int iswprint(wint_t)
1144 #int iswprint_l(wint_t, locale_t)
1145 #int iswpunct(wint_t)
1146 #int iswpunct_l(wint_t, locale_t)
1147 #int iswspace(wint_t)
1148 #int iswspace_l(wint_t, locale_t)
1149 #int iswupper(wint_t)
1150 #int iswupper_l(wint_t, locale_t)
1151 #int iswxdigit(wint_t)
1152 #int iswxdigit_l(wint_t, locale_t)
1153 #wint_t towctrans(wint_t, wctrans_t)
1154 #wint_t towctrans_l(wint_t, wctrans_t, locale_t)
1155 #wint_t towlower(wint_t)
1156 #wint_t towlower_l(wint_t, locale_t)
1157 #wint_t towupper(wint_t)
1158 #wint_t towupper_l(wint_t, locale_t)
1159 #wctrans_t wctrans(const char *)
1160 #wctrans_t wctrans_l(const char *, locale_t)
1161 #wctype_t wctype(const char *)
1162 #wctype_t wctype_l(const char *, locale_t)
1164 # * wordexp.h
1165 .skip 2
1166 #int wordexp(const char *restrict, wordexp_t *restrict, int)
1167 #void wordfree(wordexp_t *)
1169 # == Extensions ==
1170 # * stdio.h: amiga/AROS specific
1171 void updatestdio(void)
1172 int __get_default_file (int, long *)
1174 # * sys/file.h: BSD
1175 int flock(int, int)
1177 # * sys/mount.h: BSD
1178 int getfsstat (struct statfs *, long, int);
1179 int statfs(const char *, struct statfs *);
1181 # * unistd.h: Legacy support, amiga/AROS extension
1182 int __posixc_set_environptr(char ***environptr)
1183 char ***__posixc_get_environptr(void)
1184 .skip 1
1185 #useconds_t ualarm(useconds_t, useconds_t)
1186 int usleep(useconds_t microseconds)
1187 pid_t vfork(void)
1189 ##end functionlist