1 # See ltrace.conf(5) for description of syntax of this file.
4 typedef in_addr = struct(hex(uint));
5 int inet_aton(string, +in_addr*);
6 hex(uint) inet_addr(string);
7 hex(uint) inet_network(string);
8 string inet_ntoa(in_addr);
9 in_addr inet_makeaddr(hex(int), hex(int));
10 hex(uint) inet_lnaof(in_addr);
11 hex(uint) inet_netof(in_addr);
15 int bfd_set_default_target(string);
16 addr bfd_scan_vma(string, addr, int);
17 addr bfd_openr(string,string);
18 int bfd_check_format(addr,int);
24 addr __ctype_tolower_loc();
25 addr __ctype_toupper_loc();
26 ulong __ctype_get_mb_cur_max();
29 int waddch(addr, char);
30 int mvprintw(int, int, format);
31 int wmove(addr, int, int);
32 int waddnstr(addr, string, int);
33 string tgoto(string, int, int);
37 # We can't portably rely on DIR internals at all. Ideally this would
38 # be implemented in a per-OS config file, but even on Linux, we don't
39 # know whether there's a lock in the structure or not. Luckily the
40 # one interesting datum, file descriptor, we can access reliably.
41 # Having the structure half-defined like this is potentially
42 # problematic as structure size influences parameter passing. But
43 # POSIX always uses pointer to the structure, so it's fine.
45 typedef DIR = struct(int);
47 # XXX We can't represent the following portably without having either
48 # uulong, or directly uint64_t.'
50 typedef ino_t = ulong;
51 typedef ino_t64 = ulong;
52 typedef off_t = ulong;
53 typedef off_t64 = ulong;
55 typedef dirent = struct(ino_t, hide(off_t), hide(ushort), hide(char), string(array(char, zero(256))));
56 typedef dirent64 = struct(ino_t64, hide(off_t64), hide(ushort), hide(char), string(array(char, zero(256))));
58 dirent *readdir(DIR *);
59 dirent64 *readdir64(DIR *);
64 void rewinddir(DIR *);
66 void seekdir(DIR *, long);
69 addr dlopen(string, int);
71 addr dlsym(addr, string);
75 addr __errno_location();
78 int open(string,int,octal); ; WARNING: 3rd argument may not be there
79 int open64(string,int,octal); ; WARNING: 3rd argument may not be there
82 int fnmatch(string, string, int);
85 int getopt_long(int,addr,string,addr,int*);
86 int getopt_long_only(int,addr,string,addr,addr);
90 addr getgrnam(string);
95 string __dcgettext(string,string,int);
96 string bindtextdomain(string, string);
97 string textdomain(string);
101 int _IO_putc(char,file);
104 string 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);
111 int mq_open(string, int, octal, addr); ; WARNING: 3rd and 4th arguments may not be there
113 int mq_unlink(string);
114 int mq_getattr(int, addr);
115 int mq_setattr(int, addr, addr);
116 int mq_notify(int, addr);
117 int mq_send(int, string3, ulong, uint);
118 int mq_timedsend(int, string3, ulong, uint, addr);
119 long mq_receive(int, +string0, ulong, addr);
120 long mq_timedreceive(int, +string0, ulong, addr, addr);
128 void freeaddrinfo(addr);
129 string gai_strerror(int);
130 int getaddrinfo(string, string, addr, addr);
131 addr gethostbyaddr(string, uint, int);
132 addr gethostbyname(string);
134 int getnameinfo(addr, uint, string, uint, string, uint, uint);
135 addr getnetbyaddr(uint, int);
136 addr getnetbyname(string);
138 int getnetgrent(addr, addr, addr);
139 addr getprotobyname(string);
140 addr getprotobynumber(int);
142 addr getservbyname(string, string);
143 addr getservbyport(int, string);
146 string hstrerror(int);
147 int rcmd(addr, ushort, string, string, string, addr);
148 int rcmd_af(addr, ushort, string, string, string, addr, int);
149 int rexec(addr, int, string, string, string, addr);
150 int rexec_af(addr, int, string, string, string, addr, int);
151 int rresvport (addr);
152 int rresvport_af (addr, int);
153 int ruserok(string, int, string, string);
154 int ruserok_af(string, int, string, string, int);
155 void sethostent(int);
157 int setnetgrent(string);
158 void setprotoent(int);
159 void setservent(int);
165 string pcap_lookupdev(addr);
166 addr pcap_open_live(string, int, int, int, addr);
167 int pcap_snapshot(addr);
168 int pcap_lookupnet(string, addr, addr, addr);
169 int pcap_compile(addr, addr, string, int, addr);
172 string getpass(string);
174 addr getpwnam(string);
177 # readline/readline.h
178 string readline(string);
181 typedef 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);
182 typedef sigset_t = bitvec(ulong);
183 # elm3 should be flags
184 typedef sigaction = struct(addr, sigset_t, hex(int), addr);
185 int kill(int, signum);
186 int sigemptyset(+sigset_t*);
187 int sigaddset(+sigset_t*, signum);
188 int sigdelset(+sigset_t*, signum);
189 int sigfillset(+sigset_t*);
190 int sigismember(sigset_t*, signum);
191 addr signal(signum,addr);
192 int sigaction(signum, sigaction*, +sigaction*);
193 int sigprocmask(enum(SIG_BLOCK=1, SIG_UNBLOCK=2, SIG_SETMASK=3), sigset_t*, +sigset_t*);
194 int sigpending(+sigset_t*);
195 int sigsuspend(sigset_t*);
196 int sigisemptyset(sigset_t*);
197 int sigorset(+sigset_t*, sigset_t*, sigset_t*);
198 int sigandset(+sigset_t*, sigset_t*, sigset_t*);
206 addr fgets(+string, int, file);
208 file fopen(string,string);
209 file fopen64(string,string);
210 int fprintf(file,format);
211 int fputc(char,file);
212 int fputs(string,file);
213 ulong fread(addr,ulong,ulong,file);
214 ulong fread_unlocked(addr,ulong,ulong,file);
215 ulong fwrite(string,ulong,ulong,file);
216 ulong fwrite_unlocked(string,ulong,ulong,file);
219 addr popen(string, string);
223 int snprintf(+string2,ulong,format);
224 int sprintf(+string,format);
225 string tempnam(string,string);
226 int vfprintf(file,string,addr);
227 int vsnprintf(+string2,ulong,string,addr);
228 int setvbuf(file,addr,int,ulong);
229 void setbuf(file,addr);
230 void setbuffer(file,addr,ulong);
231 void setlinebuf(file);
232 int rename(string,string);
235 long __strtol_internal(string,addr,int);
236 ulong __strtoul_internal(string,addr,int);
238 addr bsearch(string, addr, ulong, ulong, addr);
239 addr calloc(ulong, ulong);
242 string getenv(string);
244 int setenv(string,string,int);
245 void unsetenv(string);
247 void qsort(addr,ulong,ulong,addr);
248 addr realloc(addr,ulong);
256 void* initstate(uint, void*, ulong);
257 void* setstate(void*);
258 int random_r(void*, +int*);
259 int srandom_r(uint, void*);
260 int initstate_r(uint, void*, ulong, void*);
261 int setstate_r(void*, void*);
263 double erand48(+array(ushort,3)*);
265 long nrand48(+array(ushort,3)*);
267 long jrand48(+array(ushort,3)*);
269 array(ushort,3)* seed48(array(ushort,3)*);
270 void lcong48(array(ushort,7)*);
273 void bcopy(addr,addr,ulong);
274 void bzero(addr,ulong);
275 string basename(string);
276 string index(string,char);
277 addr memchr(string,char,ulong);
278 addr memcpy(addr,string(array(char, arg3)*),ulong);
279 addr memmove(addr,string(array(char, arg3)*),ulong);
280 addr memset(addr,char,long);
281 string rindex(string,char);
282 addr stpcpy(addr,string);
283 int strcasecmp(string, string);
284 string strcat(string, string);
285 string strchr(string,char);
286 int strcoll(string,string);
287 ulong strlen(string);
288 int strcmp(string,string);
289 addr strcpy(addr,string);
291 string strerror(int);
292 int strncmp(string,string,ulong);
293 addr strncpy(addr,string3,ulong);
294 string strrchr(string,char);
295 string strsep(addr,string);
296 ulong strspn(string,string);
297 ulong strcspn(string,string);
298 string strstr(string,string);
299 string strtok(string, string);
302 int ioctl(int, int, addr);
305 int socket(int,int,int);
308 int __fxstat(int,int,addr);
309 int __xstat(int,string,addr);
310 int __lxstat(int,string,addr);
311 int __fxstat64(int,int,addr);
312 int __xstat64(int,string,addr);
313 int __lxstat64(int,string,addr);
314 int chmod(string,octal);
315 int fchmod(int,octal);
316 int mkfifo(string,octal);
323 int statfs(string,addr);
327 void openlog(string,int,int);
328 void syslog(int,format);
331 int tputs(string, int, addr);
334 int tcgetattr(int,addr);
335 int tcsetattr(int,int,addr);
339 int gettimeofday(addr, addr);
341 addr localtime(addr);
342 ulong strftime(+string2,ulong,string,addr);
347 int access(string, int);
350 int chown(string,int,int);
352 string crypt(string,string);
354 int execlp(string,string,addr,addr,addr);
355 int execv(string,addr);
358 int ftruncate(int,ulong);
359 string2 getcwd(addr,ulong);
360 int getdomainname(+string2,ulong);
364 int gethostname(+string2,ulong);
366 int getopt(int,addr,string);
374 int link(string,string);
375 int mkdir(string,octal);
376 long read(int, +string[retval], ulong);
380 int sethostname(+string2,ulong);
381 int setpgid(int,int);
382 int setreuid(uint, uint);
385 int symlink(string,string);
387 int truncate(string,ulong);
391 long write(int, string3, ulong);
394 long lseek(int,long,int);
403 int fwide(addr, int);
407 int waitpid(int,addr,int);
409 # other symbols not included above
416 typedef mntent = struct(string, string, string, string, int, int);
417 int addmntent(file, mntent*);
419 int __endmntent(file);
420 file setmntent(string,string);
421 file __setmntent(string,string);
422 mntent *getmntent(addr);
423 mntent *getmntent_r(file, +mntent*, string, int);
424 mntent *__getmntent_r(file, +mntent*, string, int);
425 string hasmntopt(mntent*, string);