1ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# See ltrace.conf(5) for description of syntax of this file.
2ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata
30bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata# XXX ltrace misses long double and long long support
40bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatatypedef ldouble = double;
50bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatatypedef llong = long;
60bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatatypedef ullong = ulong;
70bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
80bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatavoid __libc_start_main(hide(void*), hide(int), array(string, arg2));
90bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
10ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# arpa/inet.h
114e5fe9d600a20a9110db205d9842078047a3d535Petr Machatatypedef in_addr = struct(hex(uint));
124e5fe9d600a20a9110db205d9842078047a3d535Petr Machataint inet_aton(string, +in_addr*);
134e5fe9d600a20a9110db205d9842078047a3d535Petr Machatahex(uint) inet_addr(string);
144e5fe9d600a20a9110db205d9842078047a3d535Petr Machatahex(uint) inet_network(string);
154e5fe9d600a20a9110db205d9842078047a3d535Petr Machatastring inet_ntoa(in_addr);
164e5fe9d600a20a9110db205d9842078047a3d535Petr Machatain_addr inet_makeaddr(hex(int), hex(int));
174e5fe9d600a20a9110db205d9842078047a3d535Petr Machatahex(uint) inet_lnaof(in_addr);
184e5fe9d600a20a9110db205d9842078047a3d535Petr Machatahex(uint) inet_netof(in_addr);
19ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedes
20ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# bfd.h
215b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid bfd_init();
22e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesint bfd_set_default_target(string);
23e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesaddr bfd_scan_vma(string, addr, int);
24e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesaddr bfd_openr(string,string);
25e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesint bfd_check_format(addr,int);
26e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedes
27ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# ctype.h
2828f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedeschar tolower(char);
2928f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedeschar toupper(char);
305b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr __ctype_b_loc();
315b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr __ctype_tolower_loc();
325b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr __ctype_toupper_loc();
334e5fe9d600a20a9110db205d9842078047a3d535Petr Machataulong __ctype_get_mb_cur_max();
3428f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedes
35ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# curses.h
365b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint waddch(addr, char);
375b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint mvprintw(int, int, format);
385b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint wmove(addr, int, int);
395b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint waddnstr(addr, string, int);
405b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesstring tgoto(string, int, int);
415b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedes
42ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# dirent.h
434394755b0307a24b86f348755eb0443284132378Petr Machata
44ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# We can't portably rely on DIR internals at all.  Ideally this would
45ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# be implemented in a per-OS config file, but even on Linux, we don't
46ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# know whether there's a lock in the structure or not.  Luckily the
47ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# one interesting datum, file descriptor, we can access reliably.
48ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# Having the structure half-defined like this is potentially
49ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# problematic as structure size influences parameter passing.  But
50ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# POSIX always uses pointer to the structure, so it's fine.
514394755b0307a24b86f348755eb0443284132378Petr Machata
524394755b0307a24b86f348755eb0443284132378Petr Machatatypedef DIR = struct(int);
53c00837c2928da53a3515b107399b742ea157e78aPetr Machatatypedef FILE = addr;
544394755b0307a24b86f348755eb0443284132378Petr Machata
55ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# XXX We can't represent the following portably without having either
56ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# uulong, or directly uint64_t.'
574394755b0307a24b86f348755eb0443284132378Petr Machata
584394755b0307a24b86f348755eb0443284132378Petr Machatatypedef ino_t = ulong;
594394755b0307a24b86f348755eb0443284132378Petr Machatatypedef ino_t64 = ulong;
604394755b0307a24b86f348755eb0443284132378Petr Machatatypedef off_t = ulong;
614394755b0307a24b86f348755eb0443284132378Petr Machatatypedef off_t64 = ulong;
624394755b0307a24b86f348755eb0443284132378Petr Machata
634394755b0307a24b86f348755eb0443284132378Petr Machatatypedef dirent = struct(ino_t, hide(off_t), hide(ushort), hide(char), string(array(char, zero(256))));
644394755b0307a24b86f348755eb0443284132378Petr Machatatypedef dirent64 = struct(ino_t64, hide(off_t64), hide(ushort), hide(char), string(array(char, zero(256))));
654394755b0307a24b86f348755eb0443284132378Petr Machata
664394755b0307a24b86f348755eb0443284132378Petr Machatadirent *readdir(DIR *);
674394755b0307a24b86f348755eb0443284132378Petr Machatadirent64 *readdir64(DIR *);
684394755b0307a24b86f348755eb0443284132378Petr Machataint closedir(DIR *);
694394755b0307a24b86f348755eb0443284132378Petr MachataDIR *opendir(string);
704394755b0307a24b86f348755eb0443284132378Petr MachataDIR *fdopendir(int);
714394755b0307a24b86f348755eb0443284132378Petr Machataint dirfd(DIR *);
724394755b0307a24b86f348755eb0443284132378Petr Machatavoid rewinddir(DIR *);
734394755b0307a24b86f348755eb0443284132378Petr Machatalong telldir(DIR *);
744394755b0307a24b86f348755eb0443284132378Petr Machatavoid seekdir(DIR *, long);
7528f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedes
76ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# dlfcn.h
77e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesaddr  dlopen(string, int);
785b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatastring dlerror();
79e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesaddr  dlsym(addr, string);
80e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesint dlclose(addr);
81e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedes
82ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# errno.h
835b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr __errno_location();
845e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
85ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# fcntl.h
865e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint open(string,int,octal);		; WARNING: 3rd argument may not be there
87504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint open64(string,int,octal);		; WARNING: 3rd argument may not be there
885e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
89ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# fnmatch.h
9053eabb1effd85e837bb2c5a43acd5a66712e5184Juan Cespedesint fnmatch(string, string, int);
9153eabb1effd85e837bb2c5a43acd5a66712e5184Juan Cespedes
92ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# getopt.h
937bafff09cc66e23519512a54e2d1ebd3664a1a70Steve Finkint getopt_long(int,addr,string,addr,int*);
9481690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint getopt_long_only(int,addr,string,addr,addr);
9581690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
96ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# grp.h
975b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endgrent();
9881690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesaddr getgrnam(string);
995b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid setgrent();
1005b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr getgrent();
1015e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
102ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# libintl.h
103666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesstring __dcgettext(string,string,int);
1045e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesstring bindtextdomain(string, string);
1055e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesstring textdomain(string);
1065e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
107ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# libio.h
108ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedeschar _IO_getc(file);
1095e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint _IO_putc(char,file);
1105e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
111ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# locale.h
1124e5fe9d600a20a9110db205d9842078047a3d535Petr Machatastring setlocale(enum(LC_CTYPE=0, LC_NUMERIC=1, LC_TIME=2, LC_COLLATE=3, LC_MONETARY=4, LC_MESSAGES=5, LC_ALL=6, LC_PAPER=7, LC_NAME=8, LC_ADDRESS=9, LC_TELEPHONE=10, LC_MEASUREMENT=11, LC_IDENTIFICATION=12), string);
1135e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
114ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# mcheck.h
1155b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid mtrace();
1165b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid muntrace();
117d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes
118ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# mqueue.h
119d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_open(string, int, octal, addr);  ; WARNING: 3rd and 4th arguments may not be there
120d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_close(int);
121d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_unlink(string);
122d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_getattr(int, addr);
123d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_setattr(int, addr, addr);
124d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_notify(int, addr);
125d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_send(int, string3, ulong, uint);
126d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint mq_timedsend(int, string3, ulong, uint, addr);
127d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedeslong mq_receive(int, +string0, ulong, addr);
128d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedeslong mq_timedreceive(int, +string0, ulong, addr, addr);
129d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes
130ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# netdb.h
1315b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endhostent();
1325b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endnetent();
1335b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endnetgrent();
1345b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endprotoent();
1355b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endservent();
1366ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid freeaddrinfo(addr);
1376ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesstring gai_strerror(int);
1386ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint getaddrinfo(string, string, addr, addr);
1396ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr gethostbyaddr(string, uint, int);
140ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesaddr gethostbyname(string);
1415b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr gethostent();
142d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint getnameinfo(addr, uint, string, uint, string, uint, uint);
1436ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr getnetbyaddr(uint, int);
1446ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr getnetbyname(string);
1455b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr getnetent();
1466ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint getnetgrent(addr, addr, addr);
147ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesaddr getprotobyname(string);
1486ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr getprotobynumber(int);
1495b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr getprotoent();
1506ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr getservbyname(string, string);
1516ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesaddr getservbyport(int, string);
1525b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr getservent();
1536ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid herror(string);
1546ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesstring hstrerror(int);
1556fa27c330f9e07c5be553614b9c6e2f08461780fSteve Finkint rcmd(addr, ushort, string, string, string, addr);
1566fa27c330f9e07c5be553614b9c6e2f08461780fSteve Finkint rcmd_af(addr, ushort, string, string, string, addr, int);
1576ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint rexec(addr, int, string, string, string, addr);
1586ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint rexec_af(addr, int, string, string, string, addr, int);
1596ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint rresvport (addr);
1606ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint rresvport_af (addr, int);
1616ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint ruserok(string, int, string, string);
1626ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint ruserok_af(string, int, string, string, int);
1636ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid sethostent(int);
1646ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid setnetent(int);
1656ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint setnetgrent(string);
1666ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid setprotoent(int);
1676ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesvoid setservent(int);
168ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedes
169ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# netinet/in.h
170370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesuint ntohs(uint);
171370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedes
172ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# pcap.h
173370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesstring pcap_lookupdev(addr);
174370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesaddr pcap_open_live(string, int, int, int, addr);
175370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesint pcap_snapshot(addr);
176370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesint pcap_lookupnet(string, addr, addr, addr);
177370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesint pcap_compile(addr, addr, string, int, addr);
178370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedes
179ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# pwd.h
1805e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesstring getpass(string);
1815b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endpwent();
18281690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesaddr getpwnam(string);
1835b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid setpwent();
18481690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
185ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# readline/readline.h
186273ea6d18164e35ee40524e853a6f04706d3bdffJuan Cespedesstring readline(string);
187273ea6d18164e35ee40524e853a6f04706d3bdffJuan Cespedes
188ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# signal.h
189528d1b2a6491b29a1af42f229b48d0258b437833Petr Machatatypedef signum = enum(SIGHUP=1, SIGINT=2, SIGQUIT=3, SIGILL=4, SIGTRAP=5, SIGABRT=6, SIGBUS=7, SIGFPE=8, SIGKILL=9, SIGUSR1=10, SIGSEGV=11, SIGUSR2=12, SIGPIPE=13, SIGALRM=14, SIGTERM=15, SIGSTKFLT=16, SIGCHLD=17, SIGCONT=18, SIGSTOP=19, SIGTSTP=20, SIGTTIN=21, SIGTTOU=22, SIGURG=23, SIGXCPU=24, SIGXFSZ=25, SIGVTALRM=26, SIGPROF=27, SIGWINCH=28, SIGIO=29, SIGPWR=30, SIGSYS=31, SIGRTMIN_0=32, SIGRTMIN_1=33, SIGRTMIN_2=34, SIGRTMIN_3=35, SIGRTMIN_4=36, SIGRTMIN_5=37, SIGRTMIN_6=38, SIGRTMIN_7=39, SIGRTMIN_8=40, SIGRTMIN_9=41, SIGRTMIN_10=42, SIGRTMIN_11=43, SIGRTMIN_12=44, SIGRTMIN_13=45, SIGRTMIN_14=46, SIGRTMIN_15=47, SIGRTMIN_16=48, SIGRTMIN_17=49, SIGRTMIN_18=50, SIGRTMIN_19=51, SIGRTMIN_20=52, SIGRTMIN_21=53, SIGRTMIN_22=54, SIGRTMIN_23=55, SIGRTMIN_24=56, SIGRTMIN_25=57, SIGRTMIN_26=58, SIGRTMIN_27=59, SIGRTMIN_28=60, SIGRTMIN_29=61, SIGRTMIN_30=62, SIGRTMIN_31=63);
190528d1b2a6491b29a1af42f229b48d0258b437833Petr Machatatypedef sigset_t = bitvec(ulong);
191ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# elm3 should be flags
192528d1b2a6491b29a1af42f229b48d0258b437833Petr Machatatypedef sigaction = struct(addr, sigset_t, hex(int), addr);
193528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint kill(int, signum);
194528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigemptyset(+sigset_t*);
195528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigaddset(+sigset_t*, signum);
196528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigdelset(+sigset_t*, signum);
197528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigfillset(+sigset_t*);
198528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigismember(sigset_t*, signum);
199528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataaddr signal(signum,addr);
200528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigaction(signum, sigaction*, +sigaction*);
201528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigprocmask(enum(SIG_BLOCK=1, SIG_UNBLOCK=2, SIG_SETMASK=3), sigset_t*, +sigset_t*);
202528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigpending(+sigset_t*);
203528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigsuspend(sigset_t*);
204528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigisemptyset(sigset_t*);
205528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigorset(+sigset_t*, sigset_t*, sigset_t*);
206528d1b2a6491b29a1af42f229b48d0258b437833Petr Machataint sigandset(+sigset_t*, sigset_t*, sigset_t*);
20781690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
208ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# stdio.h
2095e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint fclose(file);
210666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint feof(file);
21181690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint ferror(file);
21281690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint fflush(file);
2135e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedeschar fgetc(file);
214d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr fgets(+string, int, file);
2151fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint fileno(file);
216ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesfile fopen(string,string);
217504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesfile fopen64(string,string);
218aa85b1c9aa3a595c7db6f2e173760f0f42fb6497Petr Machatafile fdopen(int, string);
2195e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint fprintf(file,format);
22081690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint fputc(char,file);
2215e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint fputs(string,file);
222d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong fread(addr,ulong,ulong,file);
223d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong fread_unlocked(addr,ulong,ulong,file);
224d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong fwrite(string,ulong,ulong,file);
225d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong fwrite_unlocked(string,ulong,ulong,file);
226e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesint pclose(addr);
227370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesvoid perror(string);
228e3eb9aa37086f16c0c8c2778dcd8020a39a92564Juan Cespedesaddr popen(string, string);
2295e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint printf(format);
23028f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedesint puts(string);
23128f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedesint remove(string);
232d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint snprintf(+string2,ulong,format);
23381690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint sprintf(+string,format);
234ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesstring tempnam(string,string);
235666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint vfprintf(file,string,addr);
236d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint vsnprintf(+string2,ulong,string,addr);
237d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint setvbuf(file,addr,int,ulong);
238504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesvoid setbuf(file,addr);
239d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesvoid setbuffer(file,addr,ulong);
240504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesvoid setlinebuf(file);
241504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint rename(string,string);
2425e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
2430bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata# xlocale.h
2440bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatatypedef locale_t = void*;
2450bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatalocale_t newlocale(hex(int), string, locale_t);
2460bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
247ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# stdlib.h
2480bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatalong __strtol_internal(string, +string*, int);
2490bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machataulong __strtoul_internal(string, +string*, int);
2500bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
2510bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatadouble strtod(string, +string*);
2520bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatafloat strtof(string, +string*);
2530bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machataldouble strtold(string, +string*);
2540bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
2550bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatadouble strtod_l(string, +string*, locale_t);
2560bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatafloat strtof_l(string, +string*, locale_t);
2570bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machataldouble strtold_l(string, +string*, locale_t);
2580bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata
2595e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint atexit(addr);
260d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr bsearch(string, addr, ulong, ulong, addr);
261d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr calloc(ulong, ulong);
2625e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesvoid exit(int);
2635e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesvoid free(addr);
2642c4a8cbb737f8752e100f8905bd23c4029c83f83Juan Cespedesstring getenv(string);
265ee86a7327df10a561952d87ef521277ed1c20e4fIan Wienandint putenv(string);
266504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint setenv(string,string,int);
267504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesvoid unsetenv(string);
268d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr malloc(ulong);
269d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesvoid qsort(addr,ulong,ulong,addr);
270d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr realloc(addr,ulong);
2719efdbb7fe77c7723fb467802ed0123d6c0fcd4c4Juan Cespedesint system(string);
2725e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
2738dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint rand();
2748dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint rand_r(uint*);
2758dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid srand(uint);
2768dc71a2561afc99411374dc04d4881439581bf9bPetr Machatalong random();
2778dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid srandom(uint);
2788dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid* initstate(uint, void*, ulong);
2798dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid* setstate(void*);
2808dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint random_r(void*, +int*);
2818dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint srandom_r(uint, void*);
2828dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint initstate_r(uint, void*, ulong, void*);
2838dc71a2561afc99411374dc04d4881439581bf9bPetr Machataint setstate_r(void*, void*);
2848dc71a2561afc99411374dc04d4881439581bf9bPetr Machatadouble drand48();
2858dc71a2561afc99411374dc04d4881439581bf9bPetr Machatadouble erand48(+array(ushort,3)*);
2868dc71a2561afc99411374dc04d4881439581bf9bPetr Machatalong lrand48();
2878dc71a2561afc99411374dc04d4881439581bf9bPetr Machatalong nrand48(+array(ushort,3)*);
2888dc71a2561afc99411374dc04d4881439581bf9bPetr Machatalong mrand48();
2898dc71a2561afc99411374dc04d4881439581bf9bPetr Machatalong jrand48(+array(ushort,3)*);
2908dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid srand48(long);
2918dc71a2561afc99411374dc04d4881439581bf9bPetr Machataarray(ushort,3)* seed48(array(ushort,3)*);
2928dc71a2561afc99411374dc04d4881439581bf9bPetr Machatavoid lcong48(array(ushort,7)*);
2938dc71a2561afc99411374dc04d4881439581bf9bPetr Machata
294ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# string.h
295d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesvoid bcopy(addr,addr,ulong);
296d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesvoid bzero(addr,ulong);
2972c4a8cbb737f8752e100f8905bd23c4029c83f83Juan Cespedesstring basename(string);
298370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesstring index(string,char);
299d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr memchr(string,char,ulong);
30090c426cdc732b05caa1855565ff19772113c2313Petr Machataaddr memcpy(addr,string(array(char, arg3)*),ulong);
30190c426cdc732b05caa1855565ff19772113c2313Petr Machataaddr memmove(addr,string(array(char, arg3)*),ulong);
302d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr memset(addr,char,long);
3035e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesstring rindex(string,char);
3042c4a8cbb737f8752e100f8905bd23c4029c83f83Juan Cespedesaddr stpcpy(addr,string);
3051b9cfd6ad305ad909e8ff17139111a7c78f01464Juan Cespedesint strcasecmp(string, string);
3061fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesstring strcat(string, string);
30781690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesstring strchr(string,char);
3085b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint strcoll(string,string);
309d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong strlen(string);
3105e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesint strcmp(string,string);
3115e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesaddr strcpy(addr,string);
3125e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesaddr strdup(string);
31381690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesstring strerror(int);
314d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint strncmp(string,string,ulong);
315d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr strncpy(addr,string3,ulong);
3165e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesstring strrchr(string,char);
317ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesstring strsep(addr,string);
318d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong strspn(string,string);
319d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong strcspn(string,string);
3205e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedesstring strstr(string,string);
3216ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesstring strtok(string, string);
3225e01f654d83a95f2acffa86df57a4c2db9b0cae9Juan Cespedes
323ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/ioctl.h
3241b9cfd6ad305ad909e8ff17139111a7c78f01464Juan Cespedesint ioctl(int, int, addr);
3251b9cfd6ad305ad909e8ff17139111a7c78f01464Juan Cespedes
326ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/socket.h
327ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesint socket(int,int,int);
328ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedes
329ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/stat.h
330ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesint __fxstat(int,int,addr);
331ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesint __xstat(int,string,addr);
332504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint __lxstat(int,string,addr);
333504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint __fxstat64(int,int,addr);
334504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint __xstat64(int,string,addr);
335504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint __lxstat64(int,string,addr);
33681690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint chmod(string,octal);
33728f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedesint fchmod(int,octal);
33881690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint mkfifo(string,octal);
33981690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesoctal umask(octal);
34081690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
341ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/utsname.h
34281690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint uname(addr);
34381690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
344ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/vfs.h
34581690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint statfs(string,addr);
34681690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
347ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# syslog.h
3485b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid closelog();
3495e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesvoid openlog(string,int,int);
3505e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesvoid syslog(int,format);
3515e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedes
352ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# term.h
3531fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint tputs(string, int, addr);
3541fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedes
355ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# termios.h
356666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint tcgetattr(int,addr);
357666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint tcsetattr(int,int,addr);
358666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedes
359ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# time.h
360ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesstring ctime(addr);
3615b3ffdf2e696273d38434ff7b3c26349fff5a0eaJuan Cespedesint gettimeofday(addr, addr);
362ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesaddr gmtime(addr);
363ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesaddr localtime(addr);
364d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesulong strftime(+string2,ulong,string,addr);
365d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedeslong time(addr);
3660bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata# XXX in fact (time_t, long), which may be (llong, long) on 32-bit
3670bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machata# arches.  We don't have llong as of this writing.
3680bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machatatypedef timespec = struct(long, long);
3690bb3f397f7e2cb9bafec4e37623d3b11bcb6a411Petr Machataint nanosleep(timespec*, timespec*);
37081690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedes
371ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# unistd.h
372370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesvoid _exit(int);
373370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesint access(string, int);
374370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesuint alarm(uint);
375666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint chdir(string);
37681690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint chown(string,int,int);
3771fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint close(int);
378370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesstring crypt(string,string);
379370c8e68abbb8fb80959d9132ebb0fadd6b5e1edJuan Cespedesint dup2(int,int);
3801fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint execlp(string,string,addr,addr,addr);
381666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint execv(string,addr);
382666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint fchdir(int);
3835b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint fork();
384d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint ftruncate(int,ulong);
385d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesstring2 getcwd(addr,ulong);
386d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint getdomainname(+string2,ulong);
3875b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint geteuid();
3885b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getegid();
3895b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getgid();
390d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint gethostname(+string2,ulong);
3915b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatastring getlogin();
392ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedesint getopt(int,addr,string);
3935b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getpid();
3945b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getppid();
3955b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getuid();
3965b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getpgrp();
3975b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint setpgrp();
398504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint getpgid(int);
3991fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint isatty(int);
400666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesint link(string,string);
4011fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesint mkdir(string,octal);
4026a48a6d7f428cd7f0796477a3892603a83fcce99Steve Finklong read(int, +string[retval], ulong);
40381690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint rmdir(string);
4046ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint seteuid(uint);
4055e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesint setgid(int);
406d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint sethostname(+string2,ulong);
4075e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesint setpgid(int,int);
4086ff816fb8f8c76f9f603ca0ce006e8f980950db6Juan Cespedesint setreuid(uint, uint);
4095e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesint setuid(int);
4101fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedesuint sleep(uint);
41181690ef1a83d7a093daaebc1a87cdb9ec6f74589Juan Cespedesint symlink(string,string);
4125b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint sync();
413d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesint truncate(string,ulong);
4145e0acdb26c98f0d95a5266e579669b5c19eb02ceJuan Cespedesstring ttyname(int);
41528f60197b93b45422a73e5d1a6aa581584d6c4a5Juan Cespedesint unlink(string);
416666da8b03c6ba375606fff621f8dc4866a818531Juan Cespedesvoid usleep(uint);
417d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedeslong write(int, string3, ulong);
418d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedesaddr sbrk(long);
4195b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataint getpagesize();
420d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedeslong lseek(int,long,int);
421504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint pipe(addr);
4221fe93d5b55ad2b8d4009a63e343db19cc1f21bb0Juan Cespedes
423ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# utmp.h
4245b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid endutent();
4255b9a241728a0163ef5e6c982871bea14b18f303aPetr Machataaddr getutent();
4265b9a241728a0163ef5e6c982871bea14b18f303aPetr Machatavoid setutent();
427ac3db297f7c6f08b02a7edfb32e441875fd7c1d7Juan Cespedes
428ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# wchar.h
429c00837c2928da53a3515b107399b742ea157e78aPetr Machatatypedef wchar_t = string(uint);
430c00837c2928da53a3515b107399b742ea157e78aPetr Machatatypedef wint_t = string(int);
431c00837c2928da53a3515b107399b742ea157e78aPetr Machatatypedef wstring_t = string(array(uint, zero)*);
432a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatatypedef wstring2_t = string(array(uint, zero(arg2))*);
433a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatatypedef wstring3_t = string(array(uint, zero(arg3))*);
434c00837c2928da53a3515b107399b742ea157e78aPetr Machata
435c00837c2928da53a3515b107399b742ea157e78aPetr Machataint fwide(FILE*, int);
436c00837c2928da53a3515b107399b742ea157e78aPetr Machatawint_t btowc(int);
437a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
438a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t getwc(FILE *);
439a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t getwchar();
440c00837c2928da53a3515b107399b742ea157e78aPetr Machatawint_t fgetwc(FILE*);
441a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t fgetws(+wstring2_t, int, FILE*);
442a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t ungetwc(wint_t, FILE*);
443a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
444c00837c2928da53a3515b107399b742ea157e78aPetr Machatawint_t fputwc(wchar_t, FILE*);
445c00837c2928da53a3515b107399b742ea157e78aPetr Machataint fputws(wstring_t, FILE*);
446a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t putwc(wchar_t, FILE*);
447a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t putwchar(wchar_t);
448a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
449a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wprintf(format(wstring_t));
450c00837c2928da53a3515b107399b742ea157e78aPetr Machataint fwprintf(FILE*, format(wstring_t));
451a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint swprintf(+wstring2_t, ulong, format(wstring_t));
452a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint vfwprintf(FILE*, wstring_t, addr);
453a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint vwprintf(wstring_t, addr);
454a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint vswprintf(+wstring2_t, ulong, wstring_t, addr);
455a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
456a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata; int wscanf(const wchar_t *restrict, ...);
457c00837c2928da53a3515b107399b742ea157e78aPetr Machata; int fwscanf(FILE *restrict, const wchar_t *restrict, ...);
458a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata; int swscanf(const wchar_t *restrict, const wchar_t *restrict, ...);
459a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata; int vfwscanf(FILE *restrict, const wchar_t *restrict, va_list);
460a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata; int vswscanf(const wchar_t *restrict, const wchar_t *restrict, va_list);
461a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata; int vwscanf(const wchar_t *restrict, va_list);
462a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
463c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswalnum(wint_t);
464c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswalpha(wint_t);
465c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswcntrl(wint_t);
466c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswdigit(wint_t);
467c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswgraph(wint_t);
468c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswlower(wint_t);
469c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswprint(wint_t);
470c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswpunct(wint_t);
471c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswspace(wint_t);
472c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswupper(wint_t);
473c00837c2928da53a3515b107399b742ea157e78aPetr Machataint iswxdigit(wint_t);
474a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatauint wctype(string);
475a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint iswctype(wint_t, uint);
476a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
477c00837c2928da53a3515b107399b742ea157e78aPetr Machataulong mbrlen(string, ulong, addr);
478c00837c2928da53a3515b107399b742ea157e78aPetr Machataulong mbrtowc(+wchar_t*, string[arg3], ulong, addr);
479a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong mbsrtowcs(+wstring3_t, string*, ulong, addr);
480a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wctomb(+string0, wchar_t);
481a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcrtomb(+string0, wchar_t, addr);
482a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcsrtombs(+string3, wstring_t*, ulong, addr);
483c00837c2928da53a3515b107399b742ea157e78aPetr Machataint mbsinit(addr);
484a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
485a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t towlower(wint_t);
486a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawint_t towupper(wint_t);
487a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
488a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcscat(wstring_t, wstring_t);
489a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcsncat(wstring3_t, wstring_t, ulong);
490a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcschr(wstring_t, wchar_t);
491a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcsrchr(wstring_t, wchar_t);
492a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wcscmp(wstring_t, wstring_t);
493a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wcsncmp(wstring3_t, wstring3_t, ulong);
494a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wcscoll(wstring_t, wstring_t);
495a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataaddr wcscpy(addr, wstring_t);
496a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataaddr wcsncpy(addr, wstring_t, ulong);
497a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcslen(wstring_t);
498a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
499a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcsstr(wstring_t, wstring_t);
500a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcswcs(wstring_t, wstring_t);
501a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
502a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcscspn(wstring_t, wstring_t);
503a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcsspn(wstring_t, wstring_t);
504a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcspbrk(wstring_t, wstring_t);
505a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wcstok(wstring_t, wstring_t, +wstring_t*);
506a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
507a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcsftime(+wstring2_t, ulong, wstring_t, addr);
508a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
509a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatadouble wcstod(wstring_t, +wstring_t*);
510a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatafloat wcstof(wstring_t, +wstring_t*);
511a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataldouble wcstold(wstring_t, +wstring_t*);
512a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatalong wcstol(wstring_t, +wstring_t*, int);
513a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatallong wcstoll(wstring_t, +wstring_t*, int);
514a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataulong wcstoul(wstring_t, +wstring_t*, int);
515a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataullong wcstoull(wstring_t, +wstring_t*, int);
516a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
517a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wcwidth(wchar_t);
518a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wcswidth(wstring2_t, ulong);
519a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machata
520a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring_t wmemchr(wstring3_t, wchar_t, ulong);
521a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wmemcmp(wstring3_t, wstring3_t, ulong);
522a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machataint wctob(wint_t);
523a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring3_t wmemcpy(addr, wstring3_t, ulong);
524a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring3_t wmemmove(addr, wstring3_t, ulong);
525a09fb66ce739338ba1a1b4a64409d4b2ae789b86Petr Machatawstring3_t wmemset(addr, wchar_t, ulong);
526d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes
527ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# sys/wait.h
528504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint wait(addr);
529504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedesint waitpid(int,addr,int);
530504a385858a49352bcfceca444ba4f1a7bfd20cdJuan Cespedes
531ff5606a61647623b1f490a91a985e55c1ee6253dPetr Machata# other symbols not included above
5324e5fe9d600a20a9110db205d9842078047a3d535Petr Machatalong a64l(string);
5334e5fe9d600a20a9110db205d9842078047a3d535Petr Machatastring l64a(long);
5344e5fe9d600a20a9110db205d9842078047a3d535Petr Machatavoid abort();
5354e5fe9d600a20a9110db205d9842078047a3d535Petr Machataint abs(int);
5364e5fe9d600a20a9110db205d9842078047a3d535Petr Machatalong labs(long);
5374e5fe9d600a20a9110db205d9842078047a3d535Petr Machata
5384e5fe9d600a20a9110db205d9842078047a3d535Petr Machatatypedef mntent = struct(string, string, string, string, int, int);
5394e5fe9d600a20a9110db205d9842078047a3d535Petr Machataint addmntent(file, mntent*);
5404e5fe9d600a20a9110db205d9842078047a3d535Petr Machataint endmntent(file);
5414e5fe9d600a20a9110db205d9842078047a3d535Petr Machataint __endmntent(file);
5424e5fe9d600a20a9110db205d9842078047a3d535Petr Machatafile setmntent(string,string);
5434e5fe9d600a20a9110db205d9842078047a3d535Petr Machatafile __setmntent(string,string);
5444e5fe9d600a20a9110db205d9842078047a3d535Petr Machatamntent *getmntent(addr);
5454e5fe9d600a20a9110db205d9842078047a3d535Petr Machatamntent *getmntent_r(file, +mntent*, string, int);
5464e5fe9d600a20a9110db205d9842078047a3d535Petr Machatamntent *__getmntent_r(file, +mntent*, string, int);
5474e5fe9d600a20a9110db205d9842078047a3d535Petr Machatastring hasmntopt(mntent*, string);
548