1# syscall.conf -- system call prototypes
2# See ltrace.conf(5) for description of syntax of this file.
3
4# Special value used to indicate the *at functions should use the
5# current working directory.
6typedef at_dirfd_t = enum[int](AT_FDCWD=-100);
7
8addr brk(addr);
9int close(int);
10int execve(string,addr,addr);
11void exit(int);
12void exit_group(int);
13int fork();
14int getcwd(+string2,ulong);
15int getpid();
16
17# XXX the last argument should be off_t
18addr mmap(addr,ulong,int,int,int,long);
19
20int munmap(addr,ulong);
21int open(string, hex(uint), oct(uint));
22int personality(uint);
23long read(int,+string0,ulong);
24int stat(string,addr);
25octal umask(octal);
26int uname(addr);
27long write(int,string3,ulong);
28int sync();
29int setxattr(string,string,addr,uint,int);
30int lsetxattr(string,string,addr,uint,int);
31int fsetxattr(int,string,addr,uint,int);
32int getxattr(string,string,addr,uint);
33int lgetxattr(string,string,addr,uint);
34int fgetxattr(int,string,addr,uint);
35int listxattr(string,addr,uint);
36int llistxattr(string,addr,uint);
37int flistxattr(int,addr,uint);
38int removexattr(string,string);
39int lremovexattr(string,string);
40int fremovexattr(int,string);
41int chdir(string);
42int fchdir(int);
43int chmod(string,octal);
44int fchmod(int,octal);
45int chown(string,int,int);
46int fchown(int,int,int);
47int lchown(string,int,int);
48int chroot(string);
49int dup(int);
50int dup2(int,int);
51int fdatasync(int);
52int fsync(int);
53int getpriority(int,int);
54int setpriority(int,int,int);
55int getrlimit(int,addr);
56int setrlimit(int,addr);
57int gettimeofday(addr,addr);
58int settimeofday(addr,addr);
59int setfsgid(int);
60int setfsuid(int);
61int getuid();
62int setuid(int);
63int getgid();
64int setgid(int);
65int getsid(int);
66int setsid(int);
67int setreuid(int,int);
68int setregid(int,int);
69int geteuid();
70int getegid();
71int setpgid(int,int);
72int getresuid(addr,addr,addr);
73int setresuid(int,int,int);
74int getresgid(addr,addr,addr);
75int setresgid(int,int,int);
76int kill(int,int);
77int link(string,string);
78int madvise(addr,ulong,int);
79int mkdir(string,octal);
80int mknod(string,octal,int);
81int msync(addr,ulong,int);
82int nice(int);
83int poll(addr,uint,int);
84int readdir(uint,addr,uint);
85int readlink(string,string,ulong);
86int reboot(int,int,int,addr);
87int rename(string,string);
88int rmdir(string);
89int sigaltstack(addr,addr);
90int statfs(string,addr);
91int fstatfs(int,addr);
92int fstat(int,addr);
93int lstat(string,addr);
94int stime(addr);
95int symlink(string, string);
96int sysinfo(addr);
97int syslog(int,string,int);
98int truncate(string,long);
99int ftruncate(int,long);
100int mount(string,string,string,ulong,addr);
101int umount(string);
102int umount2(string,int);
103int unlink(string);
104int utime(string,addr);
105long lseek(int,long,int);
106addr signal(int,addr);
107int sigaction(int,addr,addr);
108int pause();
109int sigpending(addr);
110int sigprocmask(int,addr,addr);
111int sigqueue(int,int,addr);
112int sigsuspend(addr);
113int wait(addr);
114int waitpid(int,addr,int);
115ulong readv(int,addr,int);
116ulong writev(int,addr,int);
117int mprotect(addr,int,int);
118int access(string,octal);
119int getdents(uint, void *, uint);
120
121int openat(at_dirfd_t, string, hex(uint), oct(uint));
122int mknodat(at_dirfd_t, string, oct(uint), ushort)
123int mkdirat(at_dirfd_t, string, oct(uint));
124int unlinkat(at_dirfd_t, string, hex(uint));
125int symlinkat(string, at_dirfd_t, string);
126int linkat(at_dirfd_t, string, at_dirfd_t, string, hex(uint));
127int renameat(at_dirfd_t, string, at_dirfd_t, string);
128int faccessat(at_dirfd_t, string, oct(uint), hex(uint));
129int fchmodat(at_dirfd_t, string, oct(uint), hex(uint));
130int fchownat(at_dirfd_t, string, int, int, hex(uint));
131int readlinkat(at_dirfd_t, string, +string[arg4], ulong);
132int fstatat(at_dirfd_t, string, addr, hex(uint));
133int utimensat(at_dirfd_t, string, addr, hex(uint));
134int futimens(int, addr);
135int futimesat(at_dirfd_t, string, addr);
136addr shmat(int, addr, hex(uint));
137int shmdt(addr);
138
139typedef fid_type = enum(FILEID_ROOT=0, FILEID_INO32_GEN=1, FILEID_INO32_GEN_PARENT=2, FILEID_BTRFS_WITHOUT_PARENT=0x4d, FILEID_BTRFS_WITH_PARENT=0x4e, FILEID_BTRFS_WITH_PARENT_ROOT=0x4f, FILEID_UDF_WITHOUT_PARENT=0x51, FILEID_UDF_WITH_PARENT=0x52, FILEID_NILFS_WITHOUT_PARENT=0x61, FILEID_NILFS_WITH_PARENT=0x62);
140typedef file_handle = struct(uint, fid_type, array(hex(char), elt1)*);
141int name_to_handle_at(at_dirfd_t, string, file_handle, int*, hex(uint));
142int open_by_handle_at(at_dirfd_t, file_handle, hex(uint));
143
144int newfstatat(at_dirfd_t, string, addr, hex(uint));
145int creat(string, oct(int));
146int ustat(ushort, addr);
147