1//===-- linux_syscall_hooks.h ---------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file is a part of public sanitizer interface.
11//
12// System call handlers.
13//
14// Interface methods declared in this header implement pre- and post- syscall
15// actions for the active sanitizer.
16// Usage:
17//   __sanitizer_syscall_pre_getfoo(...args...);
18//   long res = syscall(__NR_getfoo, ...args...);
19//   __sanitizer_syscall_post_getfoo(res, ...args...);
20//===----------------------------------------------------------------------===//
21#ifndef SANITIZER_LINUX_SYSCALL_HOOKS_H
22#define SANITIZER_LINUX_SYSCALL_HOOKS_H
23
24#define __sanitizer_syscall_pre_time(tloc) \
25  __sanitizer_syscall_pre_impl_time((long)(tloc))
26#define __sanitizer_syscall_post_time(res, tloc) \
27  __sanitizer_syscall_post_impl_time(res, (long)(tloc))
28#define __sanitizer_syscall_pre_stime(tptr) \
29  __sanitizer_syscall_pre_impl_stime((long)(tptr))
30#define __sanitizer_syscall_post_stime(res, tptr) \
31  __sanitizer_syscall_post_impl_stime(res, (long)(tptr))
32#define __sanitizer_syscall_pre_gettimeofday(tv, tz) \
33  __sanitizer_syscall_pre_impl_gettimeofday((long)(tv), (long)(tz))
34#define __sanitizer_syscall_post_gettimeofday(res, tv, tz) \
35  __sanitizer_syscall_post_impl_gettimeofday(res, (long)(tv), (long)(tz))
36#define __sanitizer_syscall_pre_settimeofday(tv, tz) \
37  __sanitizer_syscall_pre_impl_settimeofday((long)(tv), (long)(tz))
38#define __sanitizer_syscall_post_settimeofday(res, tv, tz) \
39  __sanitizer_syscall_post_impl_settimeofday(res, (long)(tv), (long)(tz))
40#define __sanitizer_syscall_pre_adjtimex(txc_p) \
41  __sanitizer_syscall_pre_impl_adjtimex((long)(txc_p))
42#define __sanitizer_syscall_post_adjtimex(res, txc_p) \
43  __sanitizer_syscall_post_impl_adjtimex(res, (long)(txc_p))
44#define __sanitizer_syscall_pre_times(tbuf) \
45  __sanitizer_syscall_pre_impl_times((long)(tbuf))
46#define __sanitizer_syscall_post_times(res, tbuf) \
47  __sanitizer_syscall_post_impl_times(res, (long)(tbuf))
48#define __sanitizer_syscall_pre_gettid() __sanitizer_syscall_pre_impl_gettid()
49#define __sanitizer_syscall_post_gettid(res) \
50  __sanitizer_syscall_post_impl_gettid(res)
51#define __sanitizer_syscall_pre_nanosleep(rqtp, rmtp) \
52  __sanitizer_syscall_pre_impl_nanosleep((long)(rqtp), (long)(rmtp))
53#define __sanitizer_syscall_post_nanosleep(res, rqtp, rmtp) \
54  __sanitizer_syscall_post_impl_nanosleep(res, (long)(rqtp), (long)(rmtp))
55#define __sanitizer_syscall_pre_alarm(seconds) \
56  __sanitizer_syscall_pre_impl_alarm((long)(seconds))
57#define __sanitizer_syscall_post_alarm(res, seconds) \
58  __sanitizer_syscall_post_impl_alarm(res, (long)(seconds))
59#define __sanitizer_syscall_pre_getpid() __sanitizer_syscall_pre_impl_getpid()
60#define __sanitizer_syscall_post_getpid(res) \
61  __sanitizer_syscall_post_impl_getpid(res)
62#define __sanitizer_syscall_pre_getppid() __sanitizer_syscall_pre_impl_getppid()
63#define __sanitizer_syscall_post_getppid(res) \
64  __sanitizer_syscall_post_impl_getppid(res)
65#define __sanitizer_syscall_pre_getuid() __sanitizer_syscall_pre_impl_getuid()
66#define __sanitizer_syscall_post_getuid(res) \
67  __sanitizer_syscall_post_impl_getuid(res)
68#define __sanitizer_syscall_pre_geteuid() __sanitizer_syscall_pre_impl_geteuid()
69#define __sanitizer_syscall_post_geteuid(res) \
70  __sanitizer_syscall_post_impl_geteuid(res)
71#define __sanitizer_syscall_pre_getgid() __sanitizer_syscall_pre_impl_getgid()
72#define __sanitizer_syscall_post_getgid(res) \
73  __sanitizer_syscall_post_impl_getgid(res)
74#define __sanitizer_syscall_pre_getegid() __sanitizer_syscall_pre_impl_getegid()
75#define __sanitizer_syscall_post_getegid(res) \
76  __sanitizer_syscall_post_impl_getegid(res)
77#define __sanitizer_syscall_pre_getresuid(ruid, euid, suid)          \
78  __sanitizer_syscall_pre_impl_getresuid((long)(ruid), (long)(euid), \
79                                         (long)(suid))
80#define __sanitizer_syscall_post_getresuid(res, ruid, euid, suid)          \
81  __sanitizer_syscall_post_impl_getresuid(res, (long)(ruid), (long)(euid), \
82                                          (long)(suid))
83#define __sanitizer_syscall_pre_getresgid(rgid, egid, sgid)          \
84  __sanitizer_syscall_pre_impl_getresgid((long)(rgid), (long)(egid), \
85                                         (long)(sgid))
86#define __sanitizer_syscall_post_getresgid(res, rgid, egid, sgid)          \
87  __sanitizer_syscall_post_impl_getresgid(res, (long)(rgid), (long)(egid), \
88                                          (long)(sgid))
89#define __sanitizer_syscall_pre_getpgid(pid) \
90  __sanitizer_syscall_pre_impl_getpgid((long)(pid))
91#define __sanitizer_syscall_post_getpgid(res, pid) \
92  __sanitizer_syscall_post_impl_getpgid(res, (long)(pid))
93#define __sanitizer_syscall_pre_getpgrp() __sanitizer_syscall_pre_impl_getpgrp()
94#define __sanitizer_syscall_post_getpgrp(res) \
95  __sanitizer_syscall_post_impl_getpgrp(res)
96#define __sanitizer_syscall_pre_getsid(pid) \
97  __sanitizer_syscall_pre_impl_getsid((long)(pid))
98#define __sanitizer_syscall_post_getsid(res, pid) \
99  __sanitizer_syscall_post_impl_getsid(res, (long)(pid))
100#define __sanitizer_syscall_pre_getgroups(gidsetsize, grouplist) \
101  __sanitizer_syscall_pre_impl_getgroups((long)(gidsetsize), (long)(grouplist))
102#define __sanitizer_syscall_post_getgroups(res, gidsetsize, grouplist) \
103  __sanitizer_syscall_post_impl_getgroups(res, (long)(gidsetsize),     \
104                                          (long)(grouplist))
105#define __sanitizer_syscall_pre_setregid(rgid, egid) \
106  __sanitizer_syscall_pre_impl_setregid((long)(rgid), (long)(egid))
107#define __sanitizer_syscall_post_setregid(res, rgid, egid) \
108  __sanitizer_syscall_post_impl_setregid(res, (long)(rgid), (long)(egid))
109#define __sanitizer_syscall_pre_setgid(gid) \
110  __sanitizer_syscall_pre_impl_setgid((long)(gid))
111#define __sanitizer_syscall_post_setgid(res, gid) \
112  __sanitizer_syscall_post_impl_setgid(res, (long)(gid))
113#define __sanitizer_syscall_pre_setreuid(ruid, euid) \
114  __sanitizer_syscall_pre_impl_setreuid((long)(ruid), (long)(euid))
115#define __sanitizer_syscall_post_setreuid(res, ruid, euid) \
116  __sanitizer_syscall_post_impl_setreuid(res, (long)(ruid), (long)(euid))
117#define __sanitizer_syscall_pre_setuid(uid) \
118  __sanitizer_syscall_pre_impl_setuid((long)(uid))
119#define __sanitizer_syscall_post_setuid(res, uid) \
120  __sanitizer_syscall_post_impl_setuid(res, (long)(uid))
121#define __sanitizer_syscall_pre_setresuid(ruid, euid, suid)          \
122  __sanitizer_syscall_pre_impl_setresuid((long)(ruid), (long)(euid), \
123                                         (long)(suid))
124#define __sanitizer_syscall_post_setresuid(res, ruid, euid, suid)          \
125  __sanitizer_syscall_post_impl_setresuid(res, (long)(ruid), (long)(euid), \
126                                          (long)(suid))
127#define __sanitizer_syscall_pre_setresgid(rgid, egid, sgid)          \
128  __sanitizer_syscall_pre_impl_setresgid((long)(rgid), (long)(egid), \
129                                         (long)(sgid))
130#define __sanitizer_syscall_post_setresgid(res, rgid, egid, sgid)          \
131  __sanitizer_syscall_post_impl_setresgid(res, (long)(rgid), (long)(egid), \
132                                          (long)(sgid))
133#define __sanitizer_syscall_pre_setfsuid(uid) \
134  __sanitizer_syscall_pre_impl_setfsuid((long)(uid))
135#define __sanitizer_syscall_post_setfsuid(res, uid) \
136  __sanitizer_syscall_post_impl_setfsuid(res, (long)(uid))
137#define __sanitizer_syscall_pre_setfsgid(gid) \
138  __sanitizer_syscall_pre_impl_setfsgid((long)(gid))
139#define __sanitizer_syscall_post_setfsgid(res, gid) \
140  __sanitizer_syscall_post_impl_setfsgid(res, (long)(gid))
141#define __sanitizer_syscall_pre_setpgid(pid, pgid) \
142  __sanitizer_syscall_pre_impl_setpgid((long)(pid), (long)(pgid))
143#define __sanitizer_syscall_post_setpgid(res, pid, pgid) \
144  __sanitizer_syscall_post_impl_setpgid(res, (long)(pid), (long)(pgid))
145#define __sanitizer_syscall_pre_setsid() __sanitizer_syscall_pre_impl_setsid()
146#define __sanitizer_syscall_post_setsid(res) \
147  __sanitizer_syscall_post_impl_setsid(res)
148#define __sanitizer_syscall_pre_setgroups(gidsetsize, grouplist) \
149  __sanitizer_syscall_pre_impl_setgroups((long)(gidsetsize), (long)(grouplist))
150#define __sanitizer_syscall_post_setgroups(res, gidsetsize, grouplist) \
151  __sanitizer_syscall_post_impl_setgroups(res, (long)(gidsetsize),     \
152                                          (long)(grouplist))
153#define __sanitizer_syscall_pre_acct(name) \
154  __sanitizer_syscall_pre_impl_acct((long)(name))
155#define __sanitizer_syscall_post_acct(res, name) \
156  __sanitizer_syscall_post_impl_acct(res, (long)(name))
157#define __sanitizer_syscall_pre_capget(header, dataptr) \
158  __sanitizer_syscall_pre_impl_capget((long)(header), (long)(dataptr))
159#define __sanitizer_syscall_post_capget(res, header, dataptr) \
160  __sanitizer_syscall_post_impl_capget(res, (long)(header), (long)(dataptr))
161#define __sanitizer_syscall_pre_capset(header, data) \
162  __sanitizer_syscall_pre_impl_capset((long)(header), (long)(data))
163#define __sanitizer_syscall_post_capset(res, header, data) \
164  __sanitizer_syscall_post_impl_capset(res, (long)(header), (long)(data))
165#define __sanitizer_syscall_pre_personality(personality) \
166  __sanitizer_syscall_pre_impl_personality((long)(personality))
167#define __sanitizer_syscall_post_personality(res, personality) \
168  __sanitizer_syscall_post_impl_personality(res, (long)(personality))
169#define __sanitizer_syscall_pre_sigpending(set) \
170  __sanitizer_syscall_pre_impl_sigpending((long)(set))
171#define __sanitizer_syscall_post_sigpending(res, set) \
172  __sanitizer_syscall_post_impl_sigpending(res, (long)(set))
173#define __sanitizer_syscall_pre_sigprocmask(how, set, oset)          \
174  __sanitizer_syscall_pre_impl_sigprocmask((long)(how), (long)(set), \
175                                           (long)(oset))
176#define __sanitizer_syscall_post_sigprocmask(res, how, set, oset)          \
177  __sanitizer_syscall_post_impl_sigprocmask(res, (long)(how), (long)(set), \
178                                            (long)(oset))
179#define __sanitizer_syscall_pre_getitimer(which, value) \
180  __sanitizer_syscall_pre_impl_getitimer((long)(which), (long)(value))
181#define __sanitizer_syscall_post_getitimer(res, which, value) \
182  __sanitizer_syscall_post_impl_getitimer(res, (long)(which), (long)(value))
183#define __sanitizer_syscall_pre_setitimer(which, value, ovalue)        \
184  __sanitizer_syscall_pre_impl_setitimer((long)(which), (long)(value), \
185                                         (long)(ovalue))
186#define __sanitizer_syscall_post_setitimer(res, which, value, ovalue)        \
187  __sanitizer_syscall_post_impl_setitimer(res, (long)(which), (long)(value), \
188                                          (long)(ovalue))
189#define __sanitizer_syscall_pre_timer_create(which_clock, timer_event_spec, \
190                                             created_timer_id)              \
191  __sanitizer_syscall_pre_impl_timer_create(                                \
192      (long)(which_clock), (long)(timer_event_spec), (long)(created_timer_id))
193#define __sanitizer_syscall_post_timer_create(                         \
194    res, which_clock, timer_event_spec, created_timer_id)              \
195  __sanitizer_syscall_post_impl_timer_create(res, (long)(which_clock), \
196                                             (long)(timer_event_spec), \
197                                             (long)(created_timer_id))
198#define __sanitizer_syscall_pre_timer_gettime(timer_id, setting) \
199  __sanitizer_syscall_pre_impl_timer_gettime((long)(timer_id), (long)(setting))
200#define __sanitizer_syscall_post_timer_gettime(res, timer_id, setting) \
201  __sanitizer_syscall_post_impl_timer_gettime(res, (long)(timer_id),   \
202                                              (long)(setting))
203#define __sanitizer_syscall_pre_timer_getoverrun(timer_id) \
204  __sanitizer_syscall_pre_impl_timer_getoverrun((long)(timer_id))
205#define __sanitizer_syscall_post_timer_getoverrun(res, timer_id) \
206  __sanitizer_syscall_post_impl_timer_getoverrun(res, (long)(timer_id))
207#define __sanitizer_syscall_pre_timer_settime(timer_id, flags, new_setting,   \
208                                              old_setting)                    \
209  __sanitizer_syscall_pre_impl_timer_settime((long)(timer_id), (long)(flags), \
210                                             (long)(new_setting),             \
211                                             (long)(old_setting))
212#define __sanitizer_syscall_post_timer_settime(res, timer_id, flags,     \
213                                               new_setting, old_setting) \
214  __sanitizer_syscall_post_impl_timer_settime(                           \
215      res, (long)(timer_id), (long)(flags), (long)(new_setting),         \
216      (long)(old_setting))
217#define __sanitizer_syscall_pre_timer_delete(timer_id) \
218  __sanitizer_syscall_pre_impl_timer_delete((long)(timer_id))
219#define __sanitizer_syscall_post_timer_delete(res, timer_id) \
220  __sanitizer_syscall_post_impl_timer_delete(res, (long)(timer_id))
221#define __sanitizer_syscall_pre_clock_settime(which_clock, tp) \
222  __sanitizer_syscall_pre_impl_clock_settime((long)(which_clock), (long)(tp))
223#define __sanitizer_syscall_post_clock_settime(res, which_clock, tp)    \
224  __sanitizer_syscall_post_impl_clock_settime(res, (long)(which_clock), \
225                                              (long)(tp))
226#define __sanitizer_syscall_pre_clock_gettime(which_clock, tp) \
227  __sanitizer_syscall_pre_impl_clock_gettime((long)(which_clock), (long)(tp))
228#define __sanitizer_syscall_post_clock_gettime(res, which_clock, tp)    \
229  __sanitizer_syscall_post_impl_clock_gettime(res, (long)(which_clock), \
230                                              (long)(tp))
231#define __sanitizer_syscall_pre_clock_adjtime(which_clock, tx) \
232  __sanitizer_syscall_pre_impl_clock_adjtime((long)(which_clock), (long)(tx))
233#define __sanitizer_syscall_post_clock_adjtime(res, which_clock, tx)    \
234  __sanitizer_syscall_post_impl_clock_adjtime(res, (long)(which_clock), \
235                                              (long)(tx))
236#define __sanitizer_syscall_pre_clock_getres(which_clock, tp) \
237  __sanitizer_syscall_pre_impl_clock_getres((long)(which_clock), (long)(tp))
238#define __sanitizer_syscall_post_clock_getres(res, which_clock, tp)    \
239  __sanitizer_syscall_post_impl_clock_getres(res, (long)(which_clock), \
240                                             (long)(tp))
241#define __sanitizer_syscall_pre_clock_nanosleep(which_clock, flags, rqtp, \
242                                                rmtp)                     \
243  __sanitizer_syscall_pre_impl_clock_nanosleep(                           \
244      (long)(which_clock), (long)(flags), (long)(rqtp), (long)(rmtp))
245#define __sanitizer_syscall_post_clock_nanosleep(res, which_clock, flags, \
246                                                 rqtp, rmtp)              \
247  __sanitizer_syscall_post_impl_clock_nanosleep(                          \
248      res, (long)(which_clock), (long)(flags), (long)(rqtp), (long)(rmtp))
249#define __sanitizer_syscall_pre_nice(increment) \
250  __sanitizer_syscall_pre_impl_nice((long)(increment))
251#define __sanitizer_syscall_post_nice(res, increment) \
252  __sanitizer_syscall_post_impl_nice(res, (long)(increment))
253#define __sanitizer_syscall_pre_sched_setscheduler(pid, policy, param)         \
254  __sanitizer_syscall_pre_impl_sched_setscheduler((long)(pid), (long)(policy), \
255                                                  (long)(param))
256#define __sanitizer_syscall_post_sched_setscheduler(res, pid, policy, param) \
257  __sanitizer_syscall_post_impl_sched_setscheduler(                          \
258      res, (long)(pid), (long)(policy), (long)(param))
259#define __sanitizer_syscall_pre_sched_setparam(pid, param) \
260  __sanitizer_syscall_pre_impl_sched_setparam((long)(pid), (long)(param))
261#define __sanitizer_syscall_post_sched_setparam(res, pid, param) \
262  __sanitizer_syscall_post_impl_sched_setparam(res, (long)(pid), (long)(param))
263#define __sanitizer_syscall_pre_sched_getscheduler(pid) \
264  __sanitizer_syscall_pre_impl_sched_getscheduler((long)(pid))
265#define __sanitizer_syscall_post_sched_getscheduler(res, pid) \
266  __sanitizer_syscall_post_impl_sched_getscheduler(res, (long)(pid))
267#define __sanitizer_syscall_pre_sched_getparam(pid, param) \
268  __sanitizer_syscall_pre_impl_sched_getparam((long)(pid), (long)(param))
269#define __sanitizer_syscall_post_sched_getparam(res, pid, param) \
270  __sanitizer_syscall_post_impl_sched_getparam(res, (long)(pid), (long)(param))
271#define __sanitizer_syscall_pre_sched_setaffinity(pid, len, user_mask_ptr) \
272  __sanitizer_syscall_pre_impl_sched_setaffinity((long)(pid), (long)(len), \
273                                                 (long)(user_mask_ptr))
274#define __sanitizer_syscall_post_sched_setaffinity(res, pid, len, \
275                                                   user_mask_ptr) \
276  __sanitizer_syscall_post_impl_sched_setaffinity(                \
277      res, (long)(pid), (long)(len), (long)(user_mask_ptr))
278#define __sanitizer_syscall_pre_sched_getaffinity(pid, len, user_mask_ptr) \
279  __sanitizer_syscall_pre_impl_sched_getaffinity((long)(pid), (long)(len), \
280                                                 (long)(user_mask_ptr))
281#define __sanitizer_syscall_post_sched_getaffinity(res, pid, len, \
282                                                   user_mask_ptr) \
283  __sanitizer_syscall_post_impl_sched_getaffinity(                \
284      res, (long)(pid), (long)(len), (long)(user_mask_ptr))
285#define __sanitizer_syscall_pre_sched_yield() \
286  __sanitizer_syscall_pre_impl_sched_yield()
287#define __sanitizer_syscall_post_sched_yield(res) \
288  __sanitizer_syscall_post_impl_sched_yield(res)
289#define __sanitizer_syscall_pre_sched_get_priority_max(policy) \
290  __sanitizer_syscall_pre_impl_sched_get_priority_max((long)(policy))
291#define __sanitizer_syscall_post_sched_get_priority_max(res, policy) \
292  __sanitizer_syscall_post_impl_sched_get_priority_max(res, (long)(policy))
293#define __sanitizer_syscall_pre_sched_get_priority_min(policy) \
294  __sanitizer_syscall_pre_impl_sched_get_priority_min((long)(policy))
295#define __sanitizer_syscall_post_sched_get_priority_min(res, policy) \
296  __sanitizer_syscall_post_impl_sched_get_priority_min(res, (long)(policy))
297#define __sanitizer_syscall_pre_sched_rr_get_interval(pid, interval) \
298  __sanitizer_syscall_pre_impl_sched_rr_get_interval((long)(pid),    \
299                                                     (long)(interval))
300#define __sanitizer_syscall_post_sched_rr_get_interval(res, pid, interval) \
301  __sanitizer_syscall_post_impl_sched_rr_get_interval(res, (long)(pid),    \
302                                                      (long)(interval))
303#define __sanitizer_syscall_pre_setpriority(which, who, niceval)       \
304  __sanitizer_syscall_pre_impl_setpriority((long)(which), (long)(who), \
305                                           (long)(niceval))
306#define __sanitizer_syscall_post_setpriority(res, which, who, niceval)       \
307  __sanitizer_syscall_post_impl_setpriority(res, (long)(which), (long)(who), \
308                                            (long)(niceval))
309#define __sanitizer_syscall_pre_getpriority(which, who) \
310  __sanitizer_syscall_pre_impl_getpriority((long)(which), (long)(who))
311#define __sanitizer_syscall_post_getpriority(res, which, who) \
312  __sanitizer_syscall_post_impl_getpriority(res, (long)(which), (long)(who))
313#define __sanitizer_syscall_pre_shutdown(arg0, arg1) \
314  __sanitizer_syscall_pre_impl_shutdown((long)(arg0), (long)(arg1))
315#define __sanitizer_syscall_post_shutdown(res, arg0, arg1) \
316  __sanitizer_syscall_post_impl_shutdown(res, (long)(arg0), (long)(arg1))
317#define __sanitizer_syscall_pre_reboot(magic1, magic2, cmd, arg)      \
318  __sanitizer_syscall_pre_impl_reboot((long)(magic1), (long)(magic2), \
319                                      (long)(cmd), (long)(arg))
320#define __sanitizer_syscall_post_reboot(res, magic1, magic2, cmd, arg)      \
321  __sanitizer_syscall_post_impl_reboot(res, (long)(magic1), (long)(magic2), \
322                                       (long)(cmd), (long)(arg))
323#define __sanitizer_syscall_pre_restart_syscall() \
324  __sanitizer_syscall_pre_impl_restart_syscall()
325#define __sanitizer_syscall_post_restart_syscall(res) \
326  __sanitizer_syscall_post_impl_restart_syscall(res)
327#define __sanitizer_syscall_pre_kexec_load(entry, nr_segments, segments,      \
328                                           flags)                             \
329  __sanitizer_syscall_pre_impl_kexec_load((long)(entry), (long)(nr_segments), \
330                                          (long)(segments), (long)(flags))
331#define __sanitizer_syscall_post_kexec_load(res, entry, nr_segments, segments, \
332                                            flags)                             \
333  __sanitizer_syscall_post_impl_kexec_load(res, (long)(entry),                 \
334                                           (long)(nr_segments),                \
335                                           (long)(segments), (long)(flags))
336#define __sanitizer_syscall_pre_exit(error_code) \
337  __sanitizer_syscall_pre_impl_exit((long)(error_code))
338#define __sanitizer_syscall_post_exit(res, error_code) \
339  __sanitizer_syscall_post_impl_exit(res, (long)(error_code))
340#define __sanitizer_syscall_pre_exit_group(error_code) \
341  __sanitizer_syscall_pre_impl_exit_group((long)(error_code))
342#define __sanitizer_syscall_post_exit_group(res, error_code) \
343  __sanitizer_syscall_post_impl_exit_group(res, (long)(error_code))
344#define __sanitizer_syscall_pre_wait4(pid, stat_addr, options, ru)   \
345  __sanitizer_syscall_pre_impl_wait4((long)(pid), (long)(stat_addr), \
346                                     (long)(options), (long)(ru))
347#define __sanitizer_syscall_post_wait4(res, pid, stat_addr, options, ru)   \
348  __sanitizer_syscall_post_impl_wait4(res, (long)(pid), (long)(stat_addr), \
349                                      (long)(options), (long)(ru))
350#define __sanitizer_syscall_pre_waitid(which, pid, infop, options, ru) \
351  __sanitizer_syscall_pre_impl_waitid(                                 \
352      (long)(which), (long)(pid), (long)(infop), (long)(options), (long)(ru))
353#define __sanitizer_syscall_post_waitid(res, which, pid, infop, options, ru) \
354  __sanitizer_syscall_post_impl_waitid(res, (long)(which), (long)(pid),      \
355                                       (long)(infop), (long)(options),       \
356                                       (long)(ru))
357#define __sanitizer_syscall_pre_waitpid(pid, stat_addr, options)       \
358  __sanitizer_syscall_pre_impl_waitpid((long)(pid), (long)(stat_addr), \
359                                       (long)(options))
360#define __sanitizer_syscall_post_waitpid(res, pid, stat_addr, options)       \
361  __sanitizer_syscall_post_impl_waitpid(res, (long)(pid), (long)(stat_addr), \
362                                        (long)(options))
363#define __sanitizer_syscall_pre_set_tid_address(tidptr) \
364  __sanitizer_syscall_pre_impl_set_tid_address((long)(tidptr))
365#define __sanitizer_syscall_post_set_tid_address(res, tidptr) \
366  __sanitizer_syscall_post_impl_set_tid_address(res, (long)(tidptr))
367#define __sanitizer_syscall_pre_init_module(umod, len, uargs)         \
368  __sanitizer_syscall_pre_impl_init_module((long)(umod), (long)(len), \
369                                           (long)(uargs))
370#define __sanitizer_syscall_post_init_module(res, umod, len, uargs)         \
371  __sanitizer_syscall_post_impl_init_module(res, (long)(umod), (long)(len), \
372                                            (long)(uargs))
373#define __sanitizer_syscall_pre_delete_module(name_user, flags) \
374  __sanitizer_syscall_pre_impl_delete_module((long)(name_user), (long)(flags))
375#define __sanitizer_syscall_post_delete_module(res, name_user, flags) \
376  __sanitizer_syscall_post_impl_delete_module(res, (long)(name_user), \
377                                              (long)(flags))
378#define __sanitizer_syscall_pre_rt_sigprocmask(how, set, oset, sigsetsize) \
379  __sanitizer_syscall_pre_impl_rt_sigprocmask(                             \
380      (long)(how), (long)(set), (long)(oset), (long)(sigsetsize))
381#define __sanitizer_syscall_post_rt_sigprocmask(res, how, set, oset, \
382                                                sigsetsize)          \
383  __sanitizer_syscall_post_impl_rt_sigprocmask(                      \
384      res, (long)(how), (long)(set), (long)(oset), (long)(sigsetsize))
385#define __sanitizer_syscall_pre_rt_sigpending(set, sigsetsize) \
386  __sanitizer_syscall_pre_impl_rt_sigpending((long)(set), (long)(sigsetsize))
387#define __sanitizer_syscall_post_rt_sigpending(res, set, sigsetsize) \
388  __sanitizer_syscall_post_impl_rt_sigpending(res, (long)(set),      \
389                                              (long)(sigsetsize))
390#define __sanitizer_syscall_pre_rt_sigtimedwait(uthese, uinfo, uts, \
391                                                sigsetsize)         \
392  __sanitizer_syscall_pre_impl_rt_sigtimedwait(                     \
393      (long)(uthese), (long)(uinfo), (long)(uts), (long)(sigsetsize))
394#define __sanitizer_syscall_post_rt_sigtimedwait(res, uthese, uinfo, uts, \
395                                                 sigsetsize)              \
396  __sanitizer_syscall_post_impl_rt_sigtimedwait(                          \
397      res, (long)(uthese), (long)(uinfo), (long)(uts), (long)(sigsetsize))
398#define __sanitizer_syscall_pre_rt_tgsigqueueinfo(tgid, pid, sig, uinfo)    \
399  __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo((long)(tgid), (long)(pid), \
400                                                 (long)(sig), (long)(uinfo))
401#define __sanitizer_syscall_post_rt_tgsigqueueinfo(res, tgid, pid, sig, uinfo) \
402  __sanitizer_syscall_post_impl_rt_tgsigqueueinfo(                             \
403      res, (long)(tgid), (long)(pid), (long)(sig), (long)(uinfo))
404#define __sanitizer_syscall_pre_kill(pid, sig) \
405  __sanitizer_syscall_pre_impl_kill((long)(pid), (long)(sig))
406#define __sanitizer_syscall_post_kill(res, pid, sig) \
407  __sanitizer_syscall_post_impl_kill(res, (long)(pid), (long)(sig))
408#define __sanitizer_syscall_pre_tgkill(tgid, pid, sig) \
409  __sanitizer_syscall_pre_impl_tgkill((long)(tgid), (long)(pid), (long)(sig))
410#define __sanitizer_syscall_post_tgkill(res, tgid, pid, sig)           \
411  __sanitizer_syscall_post_impl_tgkill(res, (long)(tgid), (long)(pid), \
412                                       (long)(sig))
413#define __sanitizer_syscall_pre_tkill(pid, sig) \
414  __sanitizer_syscall_pre_impl_tkill((long)(pid), (long)(sig))
415#define __sanitizer_syscall_post_tkill(res, pid, sig) \
416  __sanitizer_syscall_post_impl_tkill(res, (long)(pid), (long)(sig))
417#define __sanitizer_syscall_pre_rt_sigqueueinfo(pid, sig, uinfo)         \
418  __sanitizer_syscall_pre_impl_rt_sigqueueinfo((long)(pid), (long)(sig), \
419                                               (long)(uinfo))
420#define __sanitizer_syscall_post_rt_sigqueueinfo(res, pid, sig, uinfo)         \
421  __sanitizer_syscall_post_impl_rt_sigqueueinfo(res, (long)(pid), (long)(sig), \
422                                                (long)(uinfo))
423#define __sanitizer_syscall_pre_sgetmask() \
424  __sanitizer_syscall_pre_impl_sgetmask()
425#define __sanitizer_syscall_post_sgetmask(res) \
426  __sanitizer_syscall_post_impl_sgetmask(res)
427#define __sanitizer_syscall_pre_ssetmask(newmask) \
428  __sanitizer_syscall_pre_impl_ssetmask((long)(newmask))
429#define __sanitizer_syscall_post_ssetmask(res, newmask) \
430  __sanitizer_syscall_post_impl_ssetmask(res, (long)(newmask))
431#define __sanitizer_syscall_pre_signal(sig, handler) \
432  __sanitizer_syscall_pre_impl_signal((long)(sig), (long)(handler))
433#define __sanitizer_syscall_post_signal(res, sig, handler) \
434  __sanitizer_syscall_post_impl_signal(res, (long)(sig), (long)(handler))
435#define __sanitizer_syscall_pre_pause() __sanitizer_syscall_pre_impl_pause()
436#define __sanitizer_syscall_post_pause(res) \
437  __sanitizer_syscall_post_impl_pause(res)
438#define __sanitizer_syscall_pre_sync() __sanitizer_syscall_pre_impl_sync()
439#define __sanitizer_syscall_post_sync(res) \
440  __sanitizer_syscall_post_impl_sync(res)
441#define __sanitizer_syscall_pre_fsync(fd) \
442  __sanitizer_syscall_pre_impl_fsync((long)(fd))
443#define __sanitizer_syscall_post_fsync(res, fd) \
444  __sanitizer_syscall_post_impl_fsync(res, (long)(fd))
445#define __sanitizer_syscall_pre_fdatasync(fd) \
446  __sanitizer_syscall_pre_impl_fdatasync((long)(fd))
447#define __sanitizer_syscall_post_fdatasync(res, fd) \
448  __sanitizer_syscall_post_impl_fdatasync(res, (long)(fd))
449#define __sanitizer_syscall_pre_bdflush(func, data) \
450  __sanitizer_syscall_pre_impl_bdflush((long)(func), (long)(data))
451#define __sanitizer_syscall_post_bdflush(res, func, data) \
452  __sanitizer_syscall_post_impl_bdflush(res, (long)(func), (long)(data))
453#define __sanitizer_syscall_pre_mount(dev_name, dir_name, type, flags, data) \
454  __sanitizer_syscall_pre_impl_mount((long)(dev_name), (long)(dir_name),     \
455                                     (long)(type), (long)(flags),            \
456                                     (long)(data))
457#define __sanitizer_syscall_post_mount(res, dev_name, dir_name, type, flags,   \
458                                       data)                                   \
459  __sanitizer_syscall_post_impl_mount(res, (long)(dev_name), (long)(dir_name), \
460                                      (long)(type), (long)(flags),             \
461                                      (long)(data))
462#define __sanitizer_syscall_pre_umount(name, flags) \
463  __sanitizer_syscall_pre_impl_umount((long)(name), (long)(flags))
464#define __sanitizer_syscall_post_umount(res, name, flags) \
465  __sanitizer_syscall_post_impl_umount(res, (long)(name), (long)(flags))
466#define __sanitizer_syscall_pre_oldumount(name) \
467  __sanitizer_syscall_pre_impl_oldumount((long)(name))
468#define __sanitizer_syscall_post_oldumount(res, name) \
469  __sanitizer_syscall_post_impl_oldumount(res, (long)(name))
470#define __sanitizer_syscall_pre_truncate(path, length) \
471  __sanitizer_syscall_pre_impl_truncate((long)(path), (long)(length))
472#define __sanitizer_syscall_post_truncate(res, path, length) \
473  __sanitizer_syscall_post_impl_truncate(res, (long)(path), (long)(length))
474#define __sanitizer_syscall_pre_ftruncate(fd, length) \
475  __sanitizer_syscall_pre_impl_ftruncate((long)(fd), (long)(length))
476#define __sanitizer_syscall_post_ftruncate(res, fd, length) \
477  __sanitizer_syscall_post_impl_ftruncate(res, (long)(fd), (long)(length))
478#define __sanitizer_syscall_pre_stat(filename, statbuf) \
479  __sanitizer_syscall_pre_impl_stat((long)(filename), (long)(statbuf))
480#define __sanitizer_syscall_post_stat(res, filename, statbuf) \
481  __sanitizer_syscall_post_impl_stat(res, (long)(filename), (long)(statbuf))
482#define __sanitizer_syscall_pre_statfs(path, buf) \
483  __sanitizer_syscall_pre_impl_statfs((long)(path), (long)(buf))
484#define __sanitizer_syscall_post_statfs(res, path, buf) \
485  __sanitizer_syscall_post_impl_statfs(res, (long)(path), (long)(buf))
486#define __sanitizer_syscall_pre_statfs64(path, sz, buf) \
487  __sanitizer_syscall_pre_impl_statfs64((long)(path), (long)(sz), (long)(buf))
488#define __sanitizer_syscall_post_statfs64(res, path, sz, buf)           \
489  __sanitizer_syscall_post_impl_statfs64(res, (long)(path), (long)(sz), \
490                                         (long)(buf))
491#define __sanitizer_syscall_pre_fstatfs(fd, buf) \
492  __sanitizer_syscall_pre_impl_fstatfs((long)(fd), (long)(buf))
493#define __sanitizer_syscall_post_fstatfs(res, fd, buf) \
494  __sanitizer_syscall_post_impl_fstatfs(res, (long)(fd), (long)(buf))
495#define __sanitizer_syscall_pre_fstatfs64(fd, sz, buf) \
496  __sanitizer_syscall_pre_impl_fstatfs64((long)(fd), (long)(sz), (long)(buf))
497#define __sanitizer_syscall_post_fstatfs64(res, fd, sz, buf)           \
498  __sanitizer_syscall_post_impl_fstatfs64(res, (long)(fd), (long)(sz), \
499                                          (long)(buf))
500#define __sanitizer_syscall_pre_lstat(filename, statbuf) \
501  __sanitizer_syscall_pre_impl_lstat((long)(filename), (long)(statbuf))
502#define __sanitizer_syscall_post_lstat(res, filename, statbuf) \
503  __sanitizer_syscall_post_impl_lstat(res, (long)(filename), (long)(statbuf))
504#define __sanitizer_syscall_pre_fstat(fd, statbuf) \
505  __sanitizer_syscall_pre_impl_fstat((long)(fd), (long)(statbuf))
506#define __sanitizer_syscall_post_fstat(res, fd, statbuf) \
507  __sanitizer_syscall_post_impl_fstat(res, (long)(fd), (long)(statbuf))
508#define __sanitizer_syscall_pre_newstat(filename, statbuf) \
509  __sanitizer_syscall_pre_impl_newstat((long)(filename), (long)(statbuf))
510#define __sanitizer_syscall_post_newstat(res, filename, statbuf) \
511  __sanitizer_syscall_post_impl_newstat(res, (long)(filename), (long)(statbuf))
512#define __sanitizer_syscall_pre_newlstat(filename, statbuf) \
513  __sanitizer_syscall_pre_impl_newlstat((long)(filename), (long)(statbuf))
514#define __sanitizer_syscall_post_newlstat(res, filename, statbuf) \
515  __sanitizer_syscall_post_impl_newlstat(res, (long)(filename), (long)(statbuf))
516#define __sanitizer_syscall_pre_newfstat(fd, statbuf) \
517  __sanitizer_syscall_pre_impl_newfstat((long)(fd), (long)(statbuf))
518#define __sanitizer_syscall_post_newfstat(res, fd, statbuf) \
519  __sanitizer_syscall_post_impl_newfstat(res, (long)(fd), (long)(statbuf))
520#define __sanitizer_syscall_pre_ustat(dev, ubuf) \
521  __sanitizer_syscall_pre_impl_ustat((long)(dev), (long)(ubuf))
522#define __sanitizer_syscall_post_ustat(res, dev, ubuf) \
523  __sanitizer_syscall_post_impl_ustat(res, (long)(dev), (long)(ubuf))
524#define __sanitizer_syscall_pre_stat64(filename, statbuf) \
525  __sanitizer_syscall_pre_impl_stat64((long)(filename), (long)(statbuf))
526#define __sanitizer_syscall_post_stat64(res, filename, statbuf) \
527  __sanitizer_syscall_post_impl_stat64(res, (long)(filename), (long)(statbuf))
528#define __sanitizer_syscall_pre_fstat64(fd, statbuf) \
529  __sanitizer_syscall_pre_impl_fstat64((long)(fd), (long)(statbuf))
530#define __sanitizer_syscall_post_fstat64(res, fd, statbuf) \
531  __sanitizer_syscall_post_impl_fstat64(res, (long)(fd), (long)(statbuf))
532#define __sanitizer_syscall_pre_lstat64(filename, statbuf) \
533  __sanitizer_syscall_pre_impl_lstat64((long)(filename), (long)(statbuf))
534#define __sanitizer_syscall_post_lstat64(res, filename, statbuf) \
535  __sanitizer_syscall_post_impl_lstat64(res, (long)(filename), (long)(statbuf))
536#define __sanitizer_syscall_pre_setxattr(path, name, value, size, flags) \
537  __sanitizer_syscall_pre_impl_setxattr(                                 \
538      (long)(path), (long)(name), (long)(value), (long)(size), (long)(flags))
539#define __sanitizer_syscall_post_setxattr(res, path, name, value, size, flags) \
540  __sanitizer_syscall_post_impl_setxattr(res, (long)(path), (long)(name),      \
541                                         (long)(value), (long)(size),          \
542                                         (long)(flags))
543#define __sanitizer_syscall_pre_lsetxattr(path, name, value, size, flags) \
544  __sanitizer_syscall_pre_impl_lsetxattr(                                 \
545      (long)(path), (long)(name), (long)(value), (long)(size), (long)(flags))
546#define __sanitizer_syscall_post_lsetxattr(res, path, name, value, size,   \
547                                           flags)                          \
548  __sanitizer_syscall_post_impl_lsetxattr(res, (long)(path), (long)(name), \
549                                          (long)(value), (long)(size),     \
550                                          (long)(flags))
551#define __sanitizer_syscall_pre_fsetxattr(fd, name, value, size, flags) \
552  __sanitizer_syscall_pre_impl_fsetxattr(                               \
553      (long)(fd), (long)(name), (long)(value), (long)(size), (long)(flags))
554#define __sanitizer_syscall_post_fsetxattr(res, fd, name, value, size, flags) \
555  __sanitizer_syscall_post_impl_fsetxattr(res, (long)(fd), (long)(name),      \
556                                          (long)(value), (long)(size),        \
557                                          (long)(flags))
558#define __sanitizer_syscall_pre_getxattr(path, name, value, size)   \
559  __sanitizer_syscall_pre_impl_getxattr((long)(path), (long)(name), \
560                                        (long)(value), (long)(size))
561#define __sanitizer_syscall_post_getxattr(res, path, name, value, size)   \
562  __sanitizer_syscall_post_impl_getxattr(res, (long)(path), (long)(name), \
563                                         (long)(value), (long)(size))
564#define __sanitizer_syscall_pre_lgetxattr(path, name, value, size)   \
565  __sanitizer_syscall_pre_impl_lgetxattr((long)(path), (long)(name), \
566                                         (long)(value), (long)(size))
567#define __sanitizer_syscall_post_lgetxattr(res, path, name, value, size)   \
568  __sanitizer_syscall_post_impl_lgetxattr(res, (long)(path), (long)(name), \
569                                          (long)(value), (long)(size))
570#define __sanitizer_syscall_pre_fgetxattr(fd, name, value, size)   \
571  __sanitizer_syscall_pre_impl_fgetxattr((long)(fd), (long)(name), \
572                                         (long)(value), (long)(size))
573#define __sanitizer_syscall_post_fgetxattr(res, fd, name, value, size)   \
574  __sanitizer_syscall_post_impl_fgetxattr(res, (long)(fd), (long)(name), \
575                                          (long)(value), (long)(size))
576#define __sanitizer_syscall_pre_listxattr(path, list, size)          \
577  __sanitizer_syscall_pre_impl_listxattr((long)(path), (long)(list), \
578                                         (long)(size))
579#define __sanitizer_syscall_post_listxattr(res, path, list, size)          \
580  __sanitizer_syscall_post_impl_listxattr(res, (long)(path), (long)(list), \
581                                          (long)(size))
582#define __sanitizer_syscall_pre_llistxattr(path, list, size)          \
583  __sanitizer_syscall_pre_impl_llistxattr((long)(path), (long)(list), \
584                                          (long)(size))
585#define __sanitizer_syscall_post_llistxattr(res, path, list, size)          \
586  __sanitizer_syscall_post_impl_llistxattr(res, (long)(path), (long)(list), \
587                                           (long)(size))
588#define __sanitizer_syscall_pre_flistxattr(fd, list, size)          \
589  __sanitizer_syscall_pre_impl_flistxattr((long)(fd), (long)(list), \
590                                          (long)(size))
591#define __sanitizer_syscall_post_flistxattr(res, fd, list, size)          \
592  __sanitizer_syscall_post_impl_flistxattr(res, (long)(fd), (long)(list), \
593                                           (long)(size))
594#define __sanitizer_syscall_pre_removexattr(path, name) \
595  __sanitizer_syscall_pre_impl_removexattr((long)(path), (long)(name))
596#define __sanitizer_syscall_post_removexattr(res, path, name) \
597  __sanitizer_syscall_post_impl_removexattr(res, (long)(path), (long)(name))
598#define __sanitizer_syscall_pre_lremovexattr(path, name) \
599  __sanitizer_syscall_pre_impl_lremovexattr((long)(path), (long)(name))
600#define __sanitizer_syscall_post_lremovexattr(res, path, name) \
601  __sanitizer_syscall_post_impl_lremovexattr(res, (long)(path), (long)(name))
602#define __sanitizer_syscall_pre_fremovexattr(fd, name) \
603  __sanitizer_syscall_pre_impl_fremovexattr((long)(fd), (long)(name))
604#define __sanitizer_syscall_post_fremovexattr(res, fd, name) \
605  __sanitizer_syscall_post_impl_fremovexattr(res, (long)(fd), (long)(name))
606#define __sanitizer_syscall_pre_brk(brk) \
607  __sanitizer_syscall_pre_impl_brk((long)(brk))
608#define __sanitizer_syscall_post_brk(res, brk) \
609  __sanitizer_syscall_post_impl_brk(res, (long)(brk))
610#define __sanitizer_syscall_pre_mprotect(start, len, prot)          \
611  __sanitizer_syscall_pre_impl_mprotect((long)(start), (long)(len), \
612                                        (long)(prot))
613#define __sanitizer_syscall_post_mprotect(res, start, len, prot)          \
614  __sanitizer_syscall_post_impl_mprotect(res, (long)(start), (long)(len), \
615                                         (long)(prot))
616#define __sanitizer_syscall_pre_mremap(addr, old_len, new_len, flags, \
617                                       new_addr)                      \
618  __sanitizer_syscall_pre_impl_mremap((long)(addr), (long)(old_len),  \
619                                      (long)(new_len), (long)(flags), \
620                                      (long)(new_addr))
621#define __sanitizer_syscall_post_mremap(res, addr, old_len, new_len, flags, \
622                                        new_addr)                           \
623  __sanitizer_syscall_post_impl_mremap(res, (long)(addr), (long)(old_len),  \
624                                       (long)(new_len), (long)(flags),      \
625                                       (long)(new_addr))
626#define __sanitizer_syscall_pre_remap_file_pages(start, size, prot, pgoff, \
627                                                 flags)                    \
628  __sanitizer_syscall_pre_impl_remap_file_pages(                           \
629      (long)(start), (long)(size), (long)(prot), (long)(pgoff), (long)(flags))
630#define __sanitizer_syscall_post_remap_file_pages(res, start, size, prot,    \
631                                                  pgoff, flags)              \
632  __sanitizer_syscall_post_impl_remap_file_pages(res, (long)(start),         \
633                                                 (long)(size), (long)(prot), \
634                                                 (long)(pgoff), (long)(flags))
635#define __sanitizer_syscall_pre_msync(start, len, flags) \
636  __sanitizer_syscall_pre_impl_msync((long)(start), (long)(len), (long)(flags))
637#define __sanitizer_syscall_post_msync(res, start, len, flags)         \
638  __sanitizer_syscall_post_impl_msync(res, (long)(start), (long)(len), \
639                                      (long)(flags))
640#define __sanitizer_syscall_pre_munmap(addr, len) \
641  __sanitizer_syscall_pre_impl_munmap((long)(addr), (long)(len))
642#define __sanitizer_syscall_post_munmap(res, addr, len) \
643  __sanitizer_syscall_post_impl_munmap(res, (long)(addr), (long)(len))
644#define __sanitizer_syscall_pre_mlock(start, len) \
645  __sanitizer_syscall_pre_impl_mlock((long)(start), (long)(len))
646#define __sanitizer_syscall_post_mlock(res, start, len) \
647  __sanitizer_syscall_post_impl_mlock(res, (long)(start), (long)(len))
648#define __sanitizer_syscall_pre_munlock(start, len) \
649  __sanitizer_syscall_pre_impl_munlock((long)(start), (long)(len))
650#define __sanitizer_syscall_post_munlock(res, start, len) \
651  __sanitizer_syscall_post_impl_munlock(res, (long)(start), (long)(len))
652#define __sanitizer_syscall_pre_mlockall(flags) \
653  __sanitizer_syscall_pre_impl_mlockall((long)(flags))
654#define __sanitizer_syscall_post_mlockall(res, flags) \
655  __sanitizer_syscall_post_impl_mlockall(res, (long)(flags))
656#define __sanitizer_syscall_pre_munlockall() \
657  __sanitizer_syscall_pre_impl_munlockall()
658#define __sanitizer_syscall_post_munlockall(res) \
659  __sanitizer_syscall_post_impl_munlockall(res)
660#define __sanitizer_syscall_pre_madvise(start, len, behavior)      \
661  __sanitizer_syscall_pre_impl_madvise((long)(start), (long)(len), \
662                                       (long)(behavior))
663#define __sanitizer_syscall_post_madvise(res, start, len, behavior)      \
664  __sanitizer_syscall_post_impl_madvise(res, (long)(start), (long)(len), \
665                                        (long)(behavior))
666#define __sanitizer_syscall_pre_mincore(start, len, vec) \
667  __sanitizer_syscall_pre_impl_mincore((long)(start), (long)(len), (long)(vec))
668#define __sanitizer_syscall_post_mincore(res, start, len, vec)           \
669  __sanitizer_syscall_post_impl_mincore(res, (long)(start), (long)(len), \
670                                        (long)(vec))
671#define __sanitizer_syscall_pre_pivot_root(new_root, put_old) \
672  __sanitizer_syscall_pre_impl_pivot_root((long)(new_root), (long)(put_old))
673#define __sanitizer_syscall_post_pivot_root(res, new_root, put_old) \
674  __sanitizer_syscall_post_impl_pivot_root(res, (long)(new_root),   \
675                                           (long)(put_old))
676#define __sanitizer_syscall_pre_chroot(filename) \
677  __sanitizer_syscall_pre_impl_chroot((long)(filename))
678#define __sanitizer_syscall_post_chroot(res, filename) \
679  __sanitizer_syscall_post_impl_chroot(res, (long)(filename))
680#define __sanitizer_syscall_pre_mknod(filename, mode, dev)           \
681  __sanitizer_syscall_pre_impl_mknod((long)(filename), (long)(mode), \
682                                     (long)(dev))
683#define __sanitizer_syscall_post_mknod(res, filename, mode, dev)           \
684  __sanitizer_syscall_post_impl_mknod(res, (long)(filename), (long)(mode), \
685                                      (long)(dev))
686#define __sanitizer_syscall_pre_link(oldname, newname) \
687  __sanitizer_syscall_pre_impl_link((long)(oldname), (long)(newname))
688#define __sanitizer_syscall_post_link(res, oldname, newname) \
689  __sanitizer_syscall_post_impl_link(res, (long)(oldname), (long)(newname))
690#define __sanitizer_syscall_pre_symlink(old, new_) \
691  __sanitizer_syscall_pre_impl_symlink((long)(old), (long)(new_))
692#define __sanitizer_syscall_post_symlink(res, old, new_) \
693  __sanitizer_syscall_post_impl_symlink(res, (long)(old), (long)(new_))
694#define __sanitizer_syscall_pre_unlink(pathname) \
695  __sanitizer_syscall_pre_impl_unlink((long)(pathname))
696#define __sanitizer_syscall_post_unlink(res, pathname) \
697  __sanitizer_syscall_post_impl_unlink(res, (long)(pathname))
698#define __sanitizer_syscall_pre_rename(oldname, newname) \
699  __sanitizer_syscall_pre_impl_rename((long)(oldname), (long)(newname))
700#define __sanitizer_syscall_post_rename(res, oldname, newname) \
701  __sanitizer_syscall_post_impl_rename(res, (long)(oldname), (long)(newname))
702#define __sanitizer_syscall_pre_chmod(filename, mode) \
703  __sanitizer_syscall_pre_impl_chmod((long)(filename), (long)(mode))
704#define __sanitizer_syscall_post_chmod(res, filename, mode) \
705  __sanitizer_syscall_post_impl_chmod(res, (long)(filename), (long)(mode))
706#define __sanitizer_syscall_pre_fchmod(fd, mode) \
707  __sanitizer_syscall_pre_impl_fchmod((long)(fd), (long)(mode))
708#define __sanitizer_syscall_post_fchmod(res, fd, mode) \
709  __sanitizer_syscall_post_impl_fchmod(res, (long)(fd), (long)(mode))
710#define __sanitizer_syscall_pre_fcntl(fd, cmd, arg) \
711  __sanitizer_syscall_pre_impl_fcntl((long)(fd), (long)(cmd), (long)(arg))
712#define __sanitizer_syscall_post_fcntl(res, fd, cmd, arg) \
713  __sanitizer_syscall_post_impl_fcntl(res, (long)(fd), (long)(cmd), (long)(arg))
714#define __sanitizer_syscall_pre_fcntl64(fd, cmd, arg) \
715  __sanitizer_syscall_pre_impl_fcntl64((long)(fd), (long)(cmd), (long)(arg))
716#define __sanitizer_syscall_post_fcntl64(res, fd, cmd, arg)           \
717  __sanitizer_syscall_post_impl_fcntl64(res, (long)(fd), (long)(cmd), \
718                                        (long)(arg))
719#define __sanitizer_syscall_pre_pipe(fildes) \
720  __sanitizer_syscall_pre_impl_pipe((long)(fildes))
721#define __sanitizer_syscall_post_pipe(res, fildes) \
722  __sanitizer_syscall_post_impl_pipe(res, (long)(fildes))
723#define __sanitizer_syscall_pre_pipe2(fildes, flags) \
724  __sanitizer_syscall_pre_impl_pipe2((long)(fildes), (long)(flags))
725#define __sanitizer_syscall_post_pipe2(res, fildes, flags) \
726  __sanitizer_syscall_post_impl_pipe2(res, (long)(fildes), (long)(flags))
727#define __sanitizer_syscall_pre_dup(fildes) \
728  __sanitizer_syscall_pre_impl_dup((long)(fildes))
729#define __sanitizer_syscall_post_dup(res, fildes) \
730  __sanitizer_syscall_post_impl_dup(res, (long)(fildes))
731#define __sanitizer_syscall_pre_dup2(oldfd, newfd) \
732  __sanitizer_syscall_pre_impl_dup2((long)(oldfd), (long)(newfd))
733#define __sanitizer_syscall_post_dup2(res, oldfd, newfd) \
734  __sanitizer_syscall_post_impl_dup2(res, (long)(oldfd), (long)(newfd))
735#define __sanitizer_syscall_pre_dup3(oldfd, newfd, flags) \
736  __sanitizer_syscall_pre_impl_dup3((long)(oldfd), (long)(newfd), (long)(flags))
737#define __sanitizer_syscall_post_dup3(res, oldfd, newfd, flags)         \
738  __sanitizer_syscall_post_impl_dup3(res, (long)(oldfd), (long)(newfd), \
739                                     (long)(flags))
740#define __sanitizer_syscall_pre_ioperm(from, num, on) \
741  __sanitizer_syscall_pre_impl_ioperm((long)(from), (long)(num), (long)(on))
742#define __sanitizer_syscall_post_ioperm(res, from, num, on)            \
743  __sanitizer_syscall_post_impl_ioperm(res, (long)(from), (long)(num), \
744                                       (long)(on))
745#define __sanitizer_syscall_pre_ioctl(fd, cmd, arg) \
746  __sanitizer_syscall_pre_impl_ioctl((long)(fd), (long)(cmd), (long)(arg))
747#define __sanitizer_syscall_post_ioctl(res, fd, cmd, arg) \
748  __sanitizer_syscall_post_impl_ioctl(res, (long)(fd), (long)(cmd), (long)(arg))
749#define __sanitizer_syscall_pre_flock(fd, cmd) \
750  __sanitizer_syscall_pre_impl_flock((long)(fd), (long)(cmd))
751#define __sanitizer_syscall_post_flock(res, fd, cmd) \
752  __sanitizer_syscall_post_impl_flock(res, (long)(fd), (long)(cmd))
753#define __sanitizer_syscall_pre_io_setup(nr_reqs, ctx) \
754  __sanitizer_syscall_pre_impl_io_setup((long)(nr_reqs), (long)(ctx))
755#define __sanitizer_syscall_post_io_setup(res, nr_reqs, ctx) \
756  __sanitizer_syscall_post_impl_io_setup(res, (long)(nr_reqs), (long)(ctx))
757#define __sanitizer_syscall_pre_io_destroy(ctx) \
758  __sanitizer_syscall_pre_impl_io_destroy((long)(ctx))
759#define __sanitizer_syscall_post_io_destroy(res, ctx) \
760  __sanitizer_syscall_post_impl_io_destroy(res, (long)(ctx))
761#define __sanitizer_syscall_pre_io_getevents(ctx_id, min_nr, nr, events,    \
762                                             timeout)                       \
763  __sanitizer_syscall_pre_impl_io_getevents((long)(ctx_id), (long)(min_nr), \
764                                            (long)(nr), (long)(events),     \
765                                            (long)(timeout))
766#define __sanitizer_syscall_post_io_getevents(res, ctx_id, min_nr, nr, events, \
767                                              timeout)                         \
768  __sanitizer_syscall_post_impl_io_getevents(res, (long)(ctx_id),              \
769                                             (long)(min_nr), (long)(nr),       \
770                                             (long)(events), (long)(timeout))
771#define __sanitizer_syscall_pre_io_submit(ctx_id, arg1, arg2)          \
772  __sanitizer_syscall_pre_impl_io_submit((long)(ctx_id), (long)(arg1), \
773                                         (long)(arg2))
774#define __sanitizer_syscall_post_io_submit(res, ctx_id, arg1, arg2)          \
775  __sanitizer_syscall_post_impl_io_submit(res, (long)(ctx_id), (long)(arg1), \
776                                          (long)(arg2))
777#define __sanitizer_syscall_pre_io_cancel(ctx_id, iocb, result)        \
778  __sanitizer_syscall_pre_impl_io_cancel((long)(ctx_id), (long)(iocb), \
779                                         (long)(result))
780#define __sanitizer_syscall_post_io_cancel(res, ctx_id, iocb, result)        \
781  __sanitizer_syscall_post_impl_io_cancel(res, (long)(ctx_id), (long)(iocb), \
782                                          (long)(result))
783#define __sanitizer_syscall_pre_sendfile(out_fd, in_fd, offset, count) \
784  __sanitizer_syscall_pre_impl_sendfile((long)(out_fd), (long)(in_fd), \
785                                        (long)(offset), (long)(count))
786#define __sanitizer_syscall_post_sendfile(res, out_fd, in_fd, offset, count) \
787  __sanitizer_syscall_post_impl_sendfile(res, (long)(out_fd), (long)(in_fd), \
788                                         (long)(offset), (long)(count))
789#define __sanitizer_syscall_pre_sendfile64(out_fd, in_fd, offset, count) \
790  __sanitizer_syscall_pre_impl_sendfile64((long)(out_fd), (long)(in_fd), \
791                                          (long)(offset), (long)(count))
792#define __sanitizer_syscall_post_sendfile64(res, out_fd, in_fd, offset, count) \
793  __sanitizer_syscall_post_impl_sendfile64(res, (long)(out_fd), (long)(in_fd), \
794                                           (long)(offset), (long)(count))
795#define __sanitizer_syscall_pre_readlink(path, buf, bufsiz)        \
796  __sanitizer_syscall_pre_impl_readlink((long)(path), (long)(buf), \
797                                        (long)(bufsiz))
798#define __sanitizer_syscall_post_readlink(res, path, buf, bufsiz)        \
799  __sanitizer_syscall_post_impl_readlink(res, (long)(path), (long)(buf), \
800                                         (long)(bufsiz))
801#define __sanitizer_syscall_pre_creat(pathname, mode) \
802  __sanitizer_syscall_pre_impl_creat((long)(pathname), (long)(mode))
803#define __sanitizer_syscall_post_creat(res, pathname, mode) \
804  __sanitizer_syscall_post_impl_creat(res, (long)(pathname), (long)(mode))
805#define __sanitizer_syscall_pre_open(filename, flags, mode)          \
806  __sanitizer_syscall_pre_impl_open((long)(filename), (long)(flags), \
807                                    (long)(mode))
808#define __sanitizer_syscall_post_open(res, filename, flags, mode)          \
809  __sanitizer_syscall_post_impl_open(res, (long)(filename), (long)(flags), \
810                                     (long)(mode))
811#define __sanitizer_syscall_pre_close(fd) \
812  __sanitizer_syscall_pre_impl_close((long)(fd))
813#define __sanitizer_syscall_post_close(res, fd) \
814  __sanitizer_syscall_post_impl_close(res, (long)(fd))
815#define __sanitizer_syscall_pre_access(filename, mode) \
816  __sanitizer_syscall_pre_impl_access((long)(filename), (long)(mode))
817#define __sanitizer_syscall_post_access(res, filename, mode) \
818  __sanitizer_syscall_post_impl_access(res, (long)(filename), (long)(mode))
819#define __sanitizer_syscall_pre_vhangup() __sanitizer_syscall_pre_impl_vhangup()
820#define __sanitizer_syscall_post_vhangup(res) \
821  __sanitizer_syscall_post_impl_vhangup(res)
822#define __sanitizer_syscall_pre_chown(filename, user, group)         \
823  __sanitizer_syscall_pre_impl_chown((long)(filename), (long)(user), \
824                                     (long)(group))
825#define __sanitizer_syscall_post_chown(res, filename, user, group)         \
826  __sanitizer_syscall_post_impl_chown(res, (long)(filename), (long)(user), \
827                                      (long)(group))
828#define __sanitizer_syscall_pre_lchown(filename, user, group)         \
829  __sanitizer_syscall_pre_impl_lchown((long)(filename), (long)(user), \
830                                      (long)(group))
831#define __sanitizer_syscall_post_lchown(res, filename, user, group)         \
832  __sanitizer_syscall_post_impl_lchown(res, (long)(filename), (long)(user), \
833                                       (long)(group))
834#define __sanitizer_syscall_pre_fchown(fd, user, group) \
835  __sanitizer_syscall_pre_impl_fchown((long)(fd), (long)(user), (long)(group))
836#define __sanitizer_syscall_post_fchown(res, fd, user, group)         \
837  __sanitizer_syscall_post_impl_fchown(res, (long)(fd), (long)(user), \
838                                       (long)(group))
839#define __sanitizer_syscall_pre_chown16(filename, user, group)       \
840  __sanitizer_syscall_pre_impl_chown16((long)(filename), (long)user, \
841                                       (long)group)
842#define __sanitizer_syscall_post_chown16(res, filename, user, group)       \
843  __sanitizer_syscall_post_impl_chown16(res, (long)(filename), (long)user, \
844                                        (long)group)
845#define __sanitizer_syscall_pre_lchown16(filename, user, group)       \
846  __sanitizer_syscall_pre_impl_lchown16((long)(filename), (long)user, \
847                                        (long)group)
848#define __sanitizer_syscall_post_lchown16(res, filename, user, group)       \
849  __sanitizer_syscall_post_impl_lchown16(res, (long)(filename), (long)user, \
850                                         (long)group)
851#define __sanitizer_syscall_pre_fchown16(fd, user, group) \
852  __sanitizer_syscall_pre_impl_fchown16((long)(fd), (long)user, (long)group)
853#define __sanitizer_syscall_post_fchown16(res, fd, user, group)       \
854  __sanitizer_syscall_post_impl_fchown16(res, (long)(fd), (long)user, \
855                                         (long)group)
856#define __sanitizer_syscall_pre_setregid16(rgid, egid) \
857  __sanitizer_syscall_pre_impl_setregid16((long)rgid, (long)egid)
858#define __sanitizer_syscall_post_setregid16(res, rgid, egid) \
859  __sanitizer_syscall_post_impl_setregid16(res, (long)rgid, (long)egid)
860#define __sanitizer_syscall_pre_setgid16(gid) \
861  __sanitizer_syscall_pre_impl_setgid16((long)gid)
862#define __sanitizer_syscall_post_setgid16(res, gid) \
863  __sanitizer_syscall_post_impl_setgid16(res, (long)gid)
864#define __sanitizer_syscall_pre_setreuid16(ruid, euid) \
865  __sanitizer_syscall_pre_impl_setreuid16((long)ruid, (long)euid)
866#define __sanitizer_syscall_post_setreuid16(res, ruid, euid) \
867  __sanitizer_syscall_post_impl_setreuid16(res, (long)ruid, (long)euid)
868#define __sanitizer_syscall_pre_setuid16(uid) \
869  __sanitizer_syscall_pre_impl_setuid16((long)uid)
870#define __sanitizer_syscall_post_setuid16(res, uid) \
871  __sanitizer_syscall_post_impl_setuid16(res, (long)uid)
872#define __sanitizer_syscall_pre_setresuid16(ruid, euid, suid) \
873  __sanitizer_syscall_pre_impl_setresuid16((long)ruid, (long)euid, (long)suid)
874#define __sanitizer_syscall_post_setresuid16(res, ruid, euid, suid)      \
875  __sanitizer_syscall_post_impl_setresuid16(res, (long)ruid, (long)euid, \
876                                            (long)suid)
877#define __sanitizer_syscall_pre_getresuid16(ruid, euid, suid)          \
878  __sanitizer_syscall_pre_impl_getresuid16((long)(ruid), (long)(euid), \
879                                           (long)(suid))
880#define __sanitizer_syscall_post_getresuid16(res, ruid, euid, suid)          \
881  __sanitizer_syscall_post_impl_getresuid16(res, (long)(ruid), (long)(euid), \
882                                            (long)(suid))
883#define __sanitizer_syscall_pre_setresgid16(rgid, egid, sgid) \
884  __sanitizer_syscall_pre_impl_setresgid16((long)rgid, (long)egid, (long)sgid)
885#define __sanitizer_syscall_post_setresgid16(res, rgid, egid, sgid)      \
886  __sanitizer_syscall_post_impl_setresgid16(res, (long)rgid, (long)egid, \
887                                            (long)sgid)
888#define __sanitizer_syscall_pre_getresgid16(rgid, egid, sgid)          \
889  __sanitizer_syscall_pre_impl_getresgid16((long)(rgid), (long)(egid), \
890                                           (long)(sgid))
891#define __sanitizer_syscall_post_getresgid16(res, rgid, egid, sgid)          \
892  __sanitizer_syscall_post_impl_getresgid16(res, (long)(rgid), (long)(egid), \
893                                            (long)(sgid))
894#define __sanitizer_syscall_pre_setfsuid16(uid) \
895  __sanitizer_syscall_pre_impl_setfsuid16((long)uid)
896#define __sanitizer_syscall_post_setfsuid16(res, uid) \
897  __sanitizer_syscall_post_impl_setfsuid16(res, (long)uid)
898#define __sanitizer_syscall_pre_setfsgid16(gid) \
899  __sanitizer_syscall_pre_impl_setfsgid16((long)gid)
900#define __sanitizer_syscall_post_setfsgid16(res, gid) \
901  __sanitizer_syscall_post_impl_setfsgid16(res, (long)gid)
902#define __sanitizer_syscall_pre_getgroups16(gidsetsize, grouplist) \
903  __sanitizer_syscall_pre_impl_getgroups16((long)(gidsetsize),     \
904                                           (long)(grouplist))
905#define __sanitizer_syscall_post_getgroups16(res, gidsetsize, grouplist) \
906  __sanitizer_syscall_post_impl_getgroups16(res, (long)(gidsetsize),     \
907                                            (long)(grouplist))
908#define __sanitizer_syscall_pre_setgroups16(gidsetsize, grouplist) \
909  __sanitizer_syscall_pre_impl_setgroups16((long)(gidsetsize),     \
910                                           (long)(grouplist))
911#define __sanitizer_syscall_post_setgroups16(res, gidsetsize, grouplist) \
912  __sanitizer_syscall_post_impl_setgroups16(res, (long)(gidsetsize),     \
913                                            (long)(grouplist))
914#define __sanitizer_syscall_pre_getuid16() \
915  __sanitizer_syscall_pre_impl_getuid16()
916#define __sanitizer_syscall_post_getuid16(res) \
917  __sanitizer_syscall_post_impl_getuid16(res)
918#define __sanitizer_syscall_pre_geteuid16() \
919  __sanitizer_syscall_pre_impl_geteuid16()
920#define __sanitizer_syscall_post_geteuid16(res) \
921  __sanitizer_syscall_post_impl_geteuid16(res)
922#define __sanitizer_syscall_pre_getgid16() \
923  __sanitizer_syscall_pre_impl_getgid16()
924#define __sanitizer_syscall_post_getgid16(res) \
925  __sanitizer_syscall_post_impl_getgid16(res)
926#define __sanitizer_syscall_pre_getegid16() \
927  __sanitizer_syscall_pre_impl_getegid16()
928#define __sanitizer_syscall_post_getegid16(res) \
929  __sanitizer_syscall_post_impl_getegid16(res)
930#define __sanitizer_syscall_pre_utime(filename, times) \
931  __sanitizer_syscall_pre_impl_utime((long)(filename), (long)(times))
932#define __sanitizer_syscall_post_utime(res, filename, times) \
933  __sanitizer_syscall_post_impl_utime(res, (long)(filename), (long)(times))
934#define __sanitizer_syscall_pre_utimes(filename, utimes) \
935  __sanitizer_syscall_pre_impl_utimes((long)(filename), (long)(utimes))
936#define __sanitizer_syscall_post_utimes(res, filename, utimes) \
937  __sanitizer_syscall_post_impl_utimes(res, (long)(filename), (long)(utimes))
938#define __sanitizer_syscall_pre_lseek(fd, offset, origin) \
939  __sanitizer_syscall_pre_impl_lseek((long)(fd), (long)(offset), (long)(origin))
940#define __sanitizer_syscall_post_lseek(res, fd, offset, origin)        \
941  __sanitizer_syscall_post_impl_lseek(res, (long)(fd), (long)(offset), \
942                                      (long)(origin))
943#define __sanitizer_syscall_pre_llseek(fd, offset_high, offset_low, result, \
944                                       origin)                              \
945  __sanitizer_syscall_pre_impl_llseek((long)(fd), (long)(offset_high),      \
946                                      (long)(offset_low), (long)(result),   \
947                                      (long)(origin))
948#define __sanitizer_syscall_post_llseek(res, fd, offset_high, offset_low,    \
949                                        result, origin)                      \
950  __sanitizer_syscall_post_impl_llseek(res, (long)(fd), (long)(offset_high), \
951                                       (long)(offset_low), (long)(result),   \
952                                       (long)(origin))
953#define __sanitizer_syscall_pre_read(fd, buf, count) \
954  __sanitizer_syscall_pre_impl_read((long)(fd), (long)(buf), (long)(count))
955#define __sanitizer_syscall_post_read(res, fd, buf, count)         \
956  __sanitizer_syscall_post_impl_read(res, (long)(fd), (long)(buf), \
957                                     (long)(count))
958#define __sanitizer_syscall_pre_readv(fd, vec, vlen) \
959  __sanitizer_syscall_pre_impl_readv((long)(fd), (long)(vec), (long)(vlen))
960#define __sanitizer_syscall_post_readv(res, fd, vec, vlen)          \
961  __sanitizer_syscall_post_impl_readv(res, (long)(fd), (long)(vec), \
962                                      (long)(vlen))
963#define __sanitizer_syscall_pre_write(fd, buf, count) \
964  __sanitizer_syscall_pre_impl_write((long)(fd), (long)(buf), (long)(count))
965#define __sanitizer_syscall_post_write(res, fd, buf, count)         \
966  __sanitizer_syscall_post_impl_write(res, (long)(fd), (long)(buf), \
967                                      (long)(count))
968#define __sanitizer_syscall_pre_writev(fd, vec, vlen) \
969  __sanitizer_syscall_pre_impl_writev((long)(fd), (long)(vec), (long)(vlen))
970#define __sanitizer_syscall_post_writev(res, fd, vec, vlen)          \
971  __sanitizer_syscall_post_impl_writev(res, (long)(fd), (long)(vec), \
972                                       (long)(vlen))
973
974#ifdef _LP64
975#define __sanitizer_syscall_pre_pread64(fd, buf, count, pos)                   \
976  __sanitizer_syscall_pre_impl_pread64((long)(fd), (long)(buf), (long)(count), \
977                                       (long)(pos))
978#define __sanitizer_syscall_post_pread64(res, fd, buf, count, pos)    \
979  __sanitizer_syscall_post_impl_pread64(res, (long)(fd), (long)(buf), \
980                                        (long)(count), (long)(pos))
981#define __sanitizer_syscall_pre_pwrite64(fd, buf, count, pos)    \
982  __sanitizer_syscall_pre_impl_pwrite64((long)(fd), (long)(buf), \
983                                        (long)(count), (long)(pos))
984#define __sanitizer_syscall_post_pwrite64(res, fd, buf, count, pos)    \
985  __sanitizer_syscall_post_impl_pwrite64(res, (long)(fd), (long)(buf), \
986                                         (long)(count), (long)(pos))
987#else
988#define __sanitizer_syscall_pre_pread64(fd, buf, count, pos0, pos1)            \
989  __sanitizer_syscall_pre_impl_pread64((long)(fd), (long)(buf), (long)(count), \
990                                       (long)(pos0), (long)(pos1))
991#define __sanitizer_syscall_post_pread64(res, fd, buf, count, pos0, pos1) \
992  __sanitizer_syscall_post_impl_pread64(res, (long)(fd), (long)(buf),     \
993                                        (long)(count), (long)(pos0), \
994                                        (long)(pos1))
995#define __sanitizer_syscall_pre_pwrite64(fd, buf, count, pos0, pos1) \
996  __sanitizer_syscall_pre_impl_pwrite64(                             \
997      (long)(fd), (long)(buf), (long)(count), (long)(pos0), (long)(pos1))
998#define __sanitizer_syscall_post_pwrite64(res, fd, buf, count, pos0, pos1) \
999  __sanitizer_syscall_post_impl_pwrite64(                                  \
1000      res, (long)(fd), (long)(buf), (long)(count), (long)(pos0), (long)(pos1))
1001#endif
1002
1003#define __sanitizer_syscall_pre_preadv(fd, vec, vlen, pos_l, pos_h)          \
1004  __sanitizer_syscall_pre_impl_preadv((long)(fd), (long)(vec), (long)(vlen), \
1005                                      (long)(pos_l), (long)(pos_h))
1006#define __sanitizer_syscall_post_preadv(res, fd, vec, vlen, pos_l, pos_h) \
1007  __sanitizer_syscall_post_impl_preadv(res, (long)(fd), (long)(vec),      \
1008                                       (long)(vlen), (long)(pos_l),       \
1009                                       (long)(pos_h))
1010#define __sanitizer_syscall_pre_pwritev(fd, vec, vlen, pos_l, pos_h)          \
1011  __sanitizer_syscall_pre_impl_pwritev((long)(fd), (long)(vec), (long)(vlen), \
1012                                       (long)(pos_l), (long)(pos_h))
1013#define __sanitizer_syscall_post_pwritev(res, fd, vec, vlen, pos_l, pos_h) \
1014  __sanitizer_syscall_post_impl_pwritev(res, (long)(fd), (long)(vec),      \
1015                                        (long)(vlen), (long)(pos_l),       \
1016                                        (long)(pos_h))
1017#define __sanitizer_syscall_pre_getcwd(buf, size) \
1018  __sanitizer_syscall_pre_impl_getcwd((long)(buf), (long)(size))
1019#define __sanitizer_syscall_post_getcwd(res, buf, size) \
1020  __sanitizer_syscall_post_impl_getcwd(res, (long)(buf), (long)(size))
1021#define __sanitizer_syscall_pre_mkdir(pathname, mode) \
1022  __sanitizer_syscall_pre_impl_mkdir((long)(pathname), (long)(mode))
1023#define __sanitizer_syscall_post_mkdir(res, pathname, mode) \
1024  __sanitizer_syscall_post_impl_mkdir(res, (long)(pathname), (long)(mode))
1025#define __sanitizer_syscall_pre_chdir(filename) \
1026  __sanitizer_syscall_pre_impl_chdir((long)(filename))
1027#define __sanitizer_syscall_post_chdir(res, filename) \
1028  __sanitizer_syscall_post_impl_chdir(res, (long)(filename))
1029#define __sanitizer_syscall_pre_fchdir(fd) \
1030  __sanitizer_syscall_pre_impl_fchdir((long)(fd))
1031#define __sanitizer_syscall_post_fchdir(res, fd) \
1032  __sanitizer_syscall_post_impl_fchdir(res, (long)(fd))
1033#define __sanitizer_syscall_pre_rmdir(pathname) \
1034  __sanitizer_syscall_pre_impl_rmdir((long)(pathname))
1035#define __sanitizer_syscall_post_rmdir(res, pathname) \
1036  __sanitizer_syscall_post_impl_rmdir(res, (long)(pathname))
1037#define __sanitizer_syscall_pre_lookup_dcookie(cookie64, buf, len)           \
1038  __sanitizer_syscall_pre_impl_lookup_dcookie((long)(cookie64), (long)(buf), \
1039                                              (long)(len))
1040#define __sanitizer_syscall_post_lookup_dcookie(res, cookie64, buf, len) \
1041  __sanitizer_syscall_post_impl_lookup_dcookie(res, (long)(cookie64),    \
1042                                               (long)(buf), (long)(len))
1043#define __sanitizer_syscall_pre_quotactl(cmd, special, id, addr)      \
1044  __sanitizer_syscall_pre_impl_quotactl((long)(cmd), (long)(special), \
1045                                        (long)(id), (long)(addr))
1046#define __sanitizer_syscall_post_quotactl(res, cmd, special, id, addr)      \
1047  __sanitizer_syscall_post_impl_quotactl(res, (long)(cmd), (long)(special), \
1048                                         (long)(id), (long)(addr))
1049#define __sanitizer_syscall_pre_getdents(fd, dirent, count)         \
1050  __sanitizer_syscall_pre_impl_getdents((long)(fd), (long)(dirent), \
1051                                        (long)(count))
1052#define __sanitizer_syscall_post_getdents(res, fd, dirent, count)         \
1053  __sanitizer_syscall_post_impl_getdents(res, (long)(fd), (long)(dirent), \
1054                                         (long)(count))
1055#define __sanitizer_syscall_pre_getdents64(fd, dirent, count)         \
1056  __sanitizer_syscall_pre_impl_getdents64((long)(fd), (long)(dirent), \
1057                                          (long)(count))
1058#define __sanitizer_syscall_post_getdents64(res, fd, dirent, count)         \
1059  __sanitizer_syscall_post_impl_getdents64(res, (long)(fd), (long)(dirent), \
1060                                           (long)(count))
1061#define __sanitizer_syscall_pre_setsockopt(fd, level, optname, optval, optlen) \
1062  __sanitizer_syscall_pre_impl_setsockopt((long)(fd), (long)(level),           \
1063                                          (long)(optname), (long)(optval),     \
1064                                          (long)(optlen))
1065#define __sanitizer_syscall_post_setsockopt(res, fd, level, optname, optval, \
1066                                            optlen)                          \
1067  __sanitizer_syscall_post_impl_setsockopt(res, (long)(fd), (long)(level),   \
1068                                           (long)(optname), (long)(optval),  \
1069                                           (long)(optlen))
1070#define __sanitizer_syscall_pre_getsockopt(fd, level, optname, optval, optlen) \
1071  __sanitizer_syscall_pre_impl_getsockopt((long)(fd), (long)(level),           \
1072                                          (long)(optname), (long)(optval),     \
1073                                          (long)(optlen))
1074#define __sanitizer_syscall_post_getsockopt(res, fd, level, optname, optval, \
1075                                            optlen)                          \
1076  __sanitizer_syscall_post_impl_getsockopt(res, (long)(fd), (long)(level),   \
1077                                           (long)(optname), (long)(optval),  \
1078                                           (long)(optlen))
1079#define __sanitizer_syscall_pre_bind(arg0, arg1, arg2) \
1080  __sanitizer_syscall_pre_impl_bind((long)(arg0), (long)(arg1), (long)(arg2))
1081#define __sanitizer_syscall_post_bind(res, arg0, arg1, arg2)          \
1082  __sanitizer_syscall_post_impl_bind(res, (long)(arg0), (long)(arg1), \
1083                                     (long)(arg2))
1084#define __sanitizer_syscall_pre_connect(arg0, arg1, arg2) \
1085  __sanitizer_syscall_pre_impl_connect((long)(arg0), (long)(arg1), (long)(arg2))
1086#define __sanitizer_syscall_post_connect(res, arg0, arg1, arg2)          \
1087  __sanitizer_syscall_post_impl_connect(res, (long)(arg0), (long)(arg1), \
1088                                        (long)(arg2))
1089#define __sanitizer_syscall_pre_accept(arg0, arg1, arg2) \
1090  __sanitizer_syscall_pre_impl_accept((long)(arg0), (long)(arg1), (long)(arg2))
1091#define __sanitizer_syscall_post_accept(res, arg0, arg1, arg2)          \
1092  __sanitizer_syscall_post_impl_accept(res, (long)(arg0), (long)(arg1), \
1093                                       (long)(arg2))
1094#define __sanitizer_syscall_pre_accept4(arg0, arg1, arg2, arg3)    \
1095  __sanitizer_syscall_pre_impl_accept4((long)(arg0), (long)(arg1), \
1096                                       (long)(arg2), (long)(arg3))
1097#define __sanitizer_syscall_post_accept4(res, arg0, arg1, arg2, arg3)    \
1098  __sanitizer_syscall_post_impl_accept4(res, (long)(arg0), (long)(arg1), \
1099                                        (long)(arg2), (long)(arg3))
1100#define __sanitizer_syscall_pre_getsockname(arg0, arg1, arg2)          \
1101  __sanitizer_syscall_pre_impl_getsockname((long)(arg0), (long)(arg1), \
1102                                           (long)(arg2))
1103#define __sanitizer_syscall_post_getsockname(res, arg0, arg1, arg2)          \
1104  __sanitizer_syscall_post_impl_getsockname(res, (long)(arg0), (long)(arg1), \
1105                                            (long)(arg2))
1106#define __sanitizer_syscall_pre_getpeername(arg0, arg1, arg2)          \
1107  __sanitizer_syscall_pre_impl_getpeername((long)(arg0), (long)(arg1), \
1108                                           (long)(arg2))
1109#define __sanitizer_syscall_post_getpeername(res, arg0, arg1, arg2)          \
1110  __sanitizer_syscall_post_impl_getpeername(res, (long)(arg0), (long)(arg1), \
1111                                            (long)(arg2))
1112#define __sanitizer_syscall_pre_send(arg0, arg1, arg2, arg3)                  \
1113  __sanitizer_syscall_pre_impl_send((long)(arg0), (long)(arg1), (long)(arg2), \
1114                                    (long)(arg3))
1115#define __sanitizer_syscall_post_send(res, arg0, arg1, arg2, arg3)    \
1116  __sanitizer_syscall_post_impl_send(res, (long)(arg0), (long)(arg1), \
1117                                     (long)(arg2), (long)(arg3))
1118#define __sanitizer_syscall_pre_sendto(arg0, arg1, arg2, arg3, arg4, arg5) \
1119  __sanitizer_syscall_pre_impl_sendto((long)(arg0), (long)(arg1),          \
1120                                      (long)(arg2), (long)(arg3),          \
1121                                      (long)(arg4), (long)(arg5))
1122#define __sanitizer_syscall_post_sendto(res, arg0, arg1, arg2, arg3, arg4, \
1123                                        arg5)                              \
1124  __sanitizer_syscall_post_impl_sendto(res, (long)(arg0), (long)(arg1),    \
1125                                       (long)(arg2), (long)(arg3),         \
1126                                       (long)(arg4), (long)(arg5))
1127#define __sanitizer_syscall_pre_sendmsg(fd, msg, flags) \
1128  __sanitizer_syscall_pre_impl_sendmsg((long)(fd), (long)(msg), (long)(flags))
1129#define __sanitizer_syscall_post_sendmsg(res, fd, msg, flags)         \
1130  __sanitizer_syscall_post_impl_sendmsg(res, (long)(fd), (long)(msg), \
1131                                        (long)(flags))
1132#define __sanitizer_syscall_pre_sendmmsg(fd, msg, vlen, flags)                 \
1133  __sanitizer_syscall_pre_impl_sendmmsg((long)(fd), (long)(msg), (long)(vlen), \
1134                                        (long)(flags))
1135#define __sanitizer_syscall_post_sendmmsg(res, fd, msg, vlen, flags)   \
1136  __sanitizer_syscall_post_impl_sendmmsg(res, (long)(fd), (long)(msg), \
1137                                         (long)(vlen), (long)(flags))
1138#define __sanitizer_syscall_pre_recv(arg0, arg1, arg2, arg3)                  \
1139  __sanitizer_syscall_pre_impl_recv((long)(arg0), (long)(arg1), (long)(arg2), \
1140                                    (long)(arg3))
1141#define __sanitizer_syscall_post_recv(res, arg0, arg1, arg2, arg3)    \
1142  __sanitizer_syscall_post_impl_recv(res, (long)(arg0), (long)(arg1), \
1143                                     (long)(arg2), (long)(arg3))
1144#define __sanitizer_syscall_pre_recvfrom(arg0, arg1, arg2, arg3, arg4, arg5) \
1145  __sanitizer_syscall_pre_impl_recvfrom((long)(arg0), (long)(arg1),          \
1146                                        (long)(arg2), (long)(arg3),          \
1147                                        (long)(arg4), (long)(arg5))
1148#define __sanitizer_syscall_post_recvfrom(res, arg0, arg1, arg2, arg3, arg4, \
1149                                          arg5)                              \
1150  __sanitizer_syscall_post_impl_recvfrom(res, (long)(arg0), (long)(arg1),    \
1151                                         (long)(arg2), (long)(arg3),         \
1152                                         (long)(arg4), (long)(arg5))
1153#define __sanitizer_syscall_pre_recvmsg(fd, msg, flags) \
1154  __sanitizer_syscall_pre_impl_recvmsg((long)(fd), (long)(msg), (long)(flags))
1155#define __sanitizer_syscall_post_recvmsg(res, fd, msg, flags)         \
1156  __sanitizer_syscall_post_impl_recvmsg(res, (long)(fd), (long)(msg), \
1157                                        (long)(flags))
1158#define __sanitizer_syscall_pre_recvmmsg(fd, msg, vlen, flags, timeout)        \
1159  __sanitizer_syscall_pre_impl_recvmmsg((long)(fd), (long)(msg), (long)(vlen), \
1160                                        (long)(flags), (long)(timeout))
1161#define __sanitizer_syscall_post_recvmmsg(res, fd, msg, vlen, flags, timeout) \
1162  __sanitizer_syscall_post_impl_recvmmsg(res, (long)(fd), (long)(msg),        \
1163                                         (long)(vlen), (long)(flags),         \
1164                                         (long)(timeout))
1165#define __sanitizer_syscall_pre_socket(arg0, arg1, arg2) \
1166  __sanitizer_syscall_pre_impl_socket((long)(arg0), (long)(arg1), (long)(arg2))
1167#define __sanitizer_syscall_post_socket(res, arg0, arg1, arg2)          \
1168  __sanitizer_syscall_post_impl_socket(res, (long)(arg0), (long)(arg1), \
1169                                       (long)(arg2))
1170#define __sanitizer_syscall_pre_socketpair(arg0, arg1, arg2, arg3)    \
1171  __sanitizer_syscall_pre_impl_socketpair((long)(arg0), (long)(arg1), \
1172                                          (long)(arg2), (long)(arg3))
1173#define __sanitizer_syscall_post_socketpair(res, arg0, arg1, arg2, arg3)    \
1174  __sanitizer_syscall_post_impl_socketpair(res, (long)(arg0), (long)(arg1), \
1175                                           (long)(arg2), (long)(arg3))
1176#define __sanitizer_syscall_pre_socketcall(call, args) \
1177  __sanitizer_syscall_pre_impl_socketcall((long)(call), (long)(args))
1178#define __sanitizer_syscall_post_socketcall(res, call, args) \
1179  __sanitizer_syscall_post_impl_socketcall(res, (long)(call), (long)(args))
1180#define __sanitizer_syscall_pre_listen(arg0, arg1) \
1181  __sanitizer_syscall_pre_impl_listen((long)(arg0), (long)(arg1))
1182#define __sanitizer_syscall_post_listen(res, arg0, arg1) \
1183  __sanitizer_syscall_post_impl_listen(res, (long)(arg0), (long)(arg1))
1184#define __sanitizer_syscall_pre_poll(ufds, nfds, timeout) \
1185  __sanitizer_syscall_pre_impl_poll((long)(ufds), (long)(nfds), (long)(timeout))
1186#define __sanitizer_syscall_post_poll(res, ufds, nfds, timeout)       \
1187  __sanitizer_syscall_post_impl_poll(res, (long)(ufds), (long)(nfds), \
1188                                     (long)(timeout))
1189#define __sanitizer_syscall_pre_select(n, inp, outp, exp, tvp)              \
1190  __sanitizer_syscall_pre_impl_select((long)(n), (long)(inp), (long)(outp), \
1191                                      (long)(exp), (long)(tvp))
1192#define __sanitizer_syscall_post_select(res, n, inp, outp, exp, tvp) \
1193  __sanitizer_syscall_post_impl_select(res, (long)(n), (long)(inp),  \
1194                                       (long)(outp), (long)(exp), (long)(tvp))
1195#define __sanitizer_syscall_pre_old_select(arg) \
1196  __sanitizer_syscall_pre_impl_old_select((long)(arg))
1197#define __sanitizer_syscall_post_old_select(res, arg) \
1198  __sanitizer_syscall_post_impl_old_select(res, (long)(arg))
1199#define __sanitizer_syscall_pre_epoll_create(size) \
1200  __sanitizer_syscall_pre_impl_epoll_create((long)(size))
1201#define __sanitizer_syscall_post_epoll_create(res, size) \
1202  __sanitizer_syscall_post_impl_epoll_create(res, (long)(size))
1203#define __sanitizer_syscall_pre_epoll_create1(flags) \
1204  __sanitizer_syscall_pre_impl_epoll_create1((long)(flags))
1205#define __sanitizer_syscall_post_epoll_create1(res, flags) \
1206  __sanitizer_syscall_post_impl_epoll_create1(res, (long)(flags))
1207#define __sanitizer_syscall_pre_epoll_ctl(epfd, op, fd, event)                 \
1208  __sanitizer_syscall_pre_impl_epoll_ctl((long)(epfd), (long)(op), (long)(fd), \
1209                                         (long)(event))
1210#define __sanitizer_syscall_post_epoll_ctl(res, epfd, op, fd, event)     \
1211  __sanitizer_syscall_post_impl_epoll_ctl(res, (long)(epfd), (long)(op), \
1212                                          (long)(fd), (long)(event))
1213#define __sanitizer_syscall_pre_epoll_wait(epfd, events, maxevents, timeout) \
1214  __sanitizer_syscall_pre_impl_epoll_wait((long)(epfd), (long)(events),      \
1215                                          (long)(maxevents), (long)(timeout))
1216#define __sanitizer_syscall_post_epoll_wait(res, epfd, events, maxevents,     \
1217                                            timeout)                          \
1218  __sanitizer_syscall_post_impl_epoll_wait(res, (long)(epfd), (long)(events), \
1219                                           (long)(maxevents), (long)(timeout))
1220#define __sanitizer_syscall_pre_epoll_pwait(epfd, events, maxevents, timeout, \
1221                                            sigmask, sigsetsize)              \
1222  __sanitizer_syscall_pre_impl_epoll_pwait(                                   \
1223      (long)(epfd), (long)(events), (long)(maxevents), (long)(timeout),       \
1224      (long)(sigmask), (long)(sigsetsize))
1225#define __sanitizer_syscall_post_epoll_pwait(res, epfd, events, maxevents,   \
1226                                             timeout, sigmask, sigsetsize)   \
1227  __sanitizer_syscall_post_impl_epoll_pwait(                                 \
1228      res, (long)(epfd), (long)(events), (long)(maxevents), (long)(timeout), \
1229      (long)(sigmask), (long)(sigsetsize))
1230#define __sanitizer_syscall_pre_gethostname(name, len) \
1231  __sanitizer_syscall_pre_impl_gethostname((long)(name), (long)(len))
1232#define __sanitizer_syscall_post_gethostname(res, name, len) \
1233  __sanitizer_syscall_post_impl_gethostname(res, (long)(name), (long)(len))
1234#define __sanitizer_syscall_pre_sethostname(name, len) \
1235  __sanitizer_syscall_pre_impl_sethostname((long)(name), (long)(len))
1236#define __sanitizer_syscall_post_sethostname(res, name, len) \
1237  __sanitizer_syscall_post_impl_sethostname(res, (long)(name), (long)(len))
1238#define __sanitizer_syscall_pre_setdomainname(name, len) \
1239  __sanitizer_syscall_pre_impl_setdomainname((long)(name), (long)(len))
1240#define __sanitizer_syscall_post_setdomainname(res, name, len) \
1241  __sanitizer_syscall_post_impl_setdomainname(res, (long)(name), (long)(len))
1242#define __sanitizer_syscall_pre_newuname(name) \
1243  __sanitizer_syscall_pre_impl_newuname((long)(name))
1244#define __sanitizer_syscall_post_newuname(res, name) \
1245  __sanitizer_syscall_post_impl_newuname(res, (long)(name))
1246#define __sanitizer_syscall_pre_uname(arg0) \
1247  __sanitizer_syscall_pre_impl_uname((long)(arg0))
1248#define __sanitizer_syscall_post_uname(res, arg0) \
1249  __sanitizer_syscall_post_impl_uname(res, (long)(arg0))
1250#define __sanitizer_syscall_pre_olduname(arg0) \
1251  __sanitizer_syscall_pre_impl_olduname((long)(arg0))
1252#define __sanitizer_syscall_post_olduname(res, arg0) \
1253  __sanitizer_syscall_post_impl_olduname(res, (long)(arg0))
1254#define __sanitizer_syscall_pre_getrlimit(resource, rlim) \
1255  __sanitizer_syscall_pre_impl_getrlimit((long)(resource), (long)(rlim))
1256#define __sanitizer_syscall_post_getrlimit(res, resource, rlim) \
1257  __sanitizer_syscall_post_impl_getrlimit(res, (long)(resource), (long)(rlim))
1258#define __sanitizer_syscall_pre_old_getrlimit(resource, rlim) \
1259  __sanitizer_syscall_pre_impl_old_getrlimit((long)(resource), (long)(rlim))
1260#define __sanitizer_syscall_post_old_getrlimit(res, resource, rlim)  \
1261  __sanitizer_syscall_post_impl_old_getrlimit(res, (long)(resource), \
1262                                              (long)(rlim))
1263#define __sanitizer_syscall_pre_setrlimit(resource, rlim) \
1264  __sanitizer_syscall_pre_impl_setrlimit((long)(resource), (long)(rlim))
1265#define __sanitizer_syscall_post_setrlimit(res, resource, rlim) \
1266  __sanitizer_syscall_post_impl_setrlimit(res, (long)(resource), (long)(rlim))
1267#define __sanitizer_syscall_pre_prlimit64(pid, resource, new_rlim, old_rlim) \
1268  __sanitizer_syscall_pre_impl_prlimit64((long)(pid), (long)(resource),      \
1269                                         (long)(new_rlim), (long)(old_rlim))
1270#define __sanitizer_syscall_post_prlimit64(res, pid, resource, new_rlim,      \
1271                                           old_rlim)                          \
1272  __sanitizer_syscall_post_impl_prlimit64(res, (long)(pid), (long)(resource), \
1273                                          (long)(new_rlim), (long)(old_rlim))
1274#define __sanitizer_syscall_pre_getrusage(who, ru) \
1275  __sanitizer_syscall_pre_impl_getrusage((long)(who), (long)(ru))
1276#define __sanitizer_syscall_post_getrusage(res, who, ru) \
1277  __sanitizer_syscall_post_impl_getrusage(res, (long)(who), (long)(ru))
1278#define __sanitizer_syscall_pre_umask(mask) \
1279  __sanitizer_syscall_pre_impl_umask((long)(mask))
1280#define __sanitizer_syscall_post_umask(res, mask) \
1281  __sanitizer_syscall_post_impl_umask(res, (long)(mask))
1282#define __sanitizer_syscall_pre_msgget(key, msgflg) \
1283  __sanitizer_syscall_pre_impl_msgget((long)(key), (long)(msgflg))
1284#define __sanitizer_syscall_post_msgget(res, key, msgflg) \
1285  __sanitizer_syscall_post_impl_msgget(res, (long)(key), (long)(msgflg))
1286#define __sanitizer_syscall_pre_msgsnd(msqid, msgp, msgsz, msgflg) \
1287  __sanitizer_syscall_pre_impl_msgsnd((long)(msqid), (long)(msgp), \
1288                                      (long)(msgsz), (long)(msgflg))
1289#define __sanitizer_syscall_post_msgsnd(res, msqid, msgp, msgsz, msgflg) \
1290  __sanitizer_syscall_post_impl_msgsnd(res, (long)(msqid), (long)(msgp), \
1291                                       (long)(msgsz), (long)(msgflg))
1292#define __sanitizer_syscall_pre_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg) \
1293  __sanitizer_syscall_pre_impl_msgrcv((long)(msqid), (long)(msgp),         \
1294                                      (long)(msgsz), (long)(msgtyp),       \
1295                                      (long)(msgflg))
1296#define __sanitizer_syscall_post_msgrcv(res, msqid, msgp, msgsz, msgtyp, \
1297                                        msgflg)                          \
1298  __sanitizer_syscall_post_impl_msgrcv(res, (long)(msqid), (long)(msgp), \
1299                                       (long)(msgsz), (long)(msgtyp),    \
1300                                       (long)(msgflg))
1301#define __sanitizer_syscall_pre_msgctl(msqid, cmd, buf) \
1302  __sanitizer_syscall_pre_impl_msgctl((long)(msqid), (long)(cmd), (long)(buf))
1303#define __sanitizer_syscall_post_msgctl(res, msqid, cmd, buf)           \
1304  __sanitizer_syscall_post_impl_msgctl(res, (long)(msqid), (long)(cmd), \
1305                                       (long)(buf))
1306#define __sanitizer_syscall_pre_semget(key, nsems, semflg)        \
1307  __sanitizer_syscall_pre_impl_semget((long)(key), (long)(nsems), \
1308                                      (long)(semflg))
1309#define __sanitizer_syscall_post_semget(res, key, nsems, semflg)        \
1310  __sanitizer_syscall_post_impl_semget(res, (long)(key), (long)(nsems), \
1311                                       (long)(semflg))
1312#define __sanitizer_syscall_pre_semop(semid, sops, nsops) \
1313  __sanitizer_syscall_pre_impl_semop((long)(semid), (long)(sops), (long)(nsops))
1314#define __sanitizer_syscall_post_semop(res, semid, sops, nsops)         \
1315  __sanitizer_syscall_post_impl_semop(res, (long)(semid), (long)(sops), \
1316                                      (long)(nsops))
1317#define __sanitizer_syscall_pre_semctl(semid, semnum, cmd, arg)      \
1318  __sanitizer_syscall_pre_impl_semctl((long)(semid), (long)(semnum), \
1319                                      (long)(cmd), (long)(arg))
1320#define __sanitizer_syscall_post_semctl(res, semid, semnum, cmd, arg)      \
1321  __sanitizer_syscall_post_impl_semctl(res, (long)(semid), (long)(semnum), \
1322                                       (long)(cmd), (long)(arg))
1323#define __sanitizer_syscall_pre_semtimedop(semid, sops, nsops, timeout) \
1324  __sanitizer_syscall_pre_impl_semtimedop((long)(semid), (long)(sops),  \
1325                                          (long)(nsops), (long)(timeout))
1326#define __sanitizer_syscall_post_semtimedop(res, semid, sops, nsops, timeout) \
1327  __sanitizer_syscall_post_impl_semtimedop(res, (long)(semid), (long)(sops),  \
1328                                           (long)(nsops), (long)(timeout))
1329#define __sanitizer_syscall_pre_shmat(shmid, shmaddr, shmflg)        \
1330  __sanitizer_syscall_pre_impl_shmat((long)(shmid), (long)(shmaddr), \
1331                                     (long)(shmflg))
1332#define __sanitizer_syscall_post_shmat(res, shmid, shmaddr, shmflg)        \
1333  __sanitizer_syscall_post_impl_shmat(res, (long)(shmid), (long)(shmaddr), \
1334                                      (long)(shmflg))
1335#define __sanitizer_syscall_pre_shmget(key, size, flag) \
1336  __sanitizer_syscall_pre_impl_shmget((long)(key), (long)(size), (long)(flag))
1337#define __sanitizer_syscall_post_shmget(res, key, size, flag)          \
1338  __sanitizer_syscall_post_impl_shmget(res, (long)(key), (long)(size), \
1339                                       (long)(flag))
1340#define __sanitizer_syscall_pre_shmdt(shmaddr) \
1341  __sanitizer_syscall_pre_impl_shmdt((long)(shmaddr))
1342#define __sanitizer_syscall_post_shmdt(res, shmaddr) \
1343  __sanitizer_syscall_post_impl_shmdt(res, (long)(shmaddr))
1344#define __sanitizer_syscall_pre_shmctl(shmid, cmd, buf) \
1345  __sanitizer_syscall_pre_impl_shmctl((long)(shmid), (long)(cmd), (long)(buf))
1346#define __sanitizer_syscall_post_shmctl(res, shmid, cmd, buf)           \
1347  __sanitizer_syscall_post_impl_shmctl(res, (long)(shmid), (long)(cmd), \
1348                                       (long)(buf))
1349#define __sanitizer_syscall_pre_ipc(call, first, second, third, ptr, fifth)    \
1350  __sanitizer_syscall_pre_impl_ipc((long)(call), (long)(first),                \
1351                                   (long)(second), (long)(third), (long)(ptr), \
1352                                   (long)(fifth))
1353#define __sanitizer_syscall_post_ipc(res, call, first, second, third, ptr, \
1354                                     fifth)                                \
1355  __sanitizer_syscall_post_impl_ipc(res, (long)(call), (long)(first),      \
1356                                    (long)(second), (long)(third),         \
1357                                    (long)(ptr), (long)(fifth))
1358#define __sanitizer_syscall_pre_mq_open(name, oflag, mode, attr)    \
1359  __sanitizer_syscall_pre_impl_mq_open((long)(name), (long)(oflag), \
1360                                       (long)(mode), (long)(attr))
1361#define __sanitizer_syscall_post_mq_open(res, name, oflag, mode, attr)    \
1362  __sanitizer_syscall_post_impl_mq_open(res, (long)(name), (long)(oflag), \
1363                                        (long)(mode), (long)(attr))
1364#define __sanitizer_syscall_pre_mq_unlink(name) \
1365  __sanitizer_syscall_pre_impl_mq_unlink((long)(name))
1366#define __sanitizer_syscall_post_mq_unlink(res, name) \
1367  __sanitizer_syscall_post_impl_mq_unlink(res, (long)(name))
1368#define __sanitizer_syscall_pre_mq_timedsend(mqdes, msg_ptr, msg_len,          \
1369                                             msg_prio, abs_timeout)            \
1370  __sanitizer_syscall_pre_impl_mq_timedsend((long)(mqdes), (long)(msg_ptr),    \
1371                                            (long)(msg_len), (long)(msg_prio), \
1372                                            (long)(abs_timeout))
1373#define __sanitizer_syscall_post_mq_timedsend(res, mqdes, msg_ptr, msg_len,   \
1374                                              msg_prio, abs_timeout)          \
1375  __sanitizer_syscall_post_impl_mq_timedsend(                                 \
1376      res, (long)(mqdes), (long)(msg_ptr), (long)(msg_len), (long)(msg_prio), \
1377      (long)(abs_timeout))
1378#define __sanitizer_syscall_pre_mq_timedreceive(mqdes, msg_ptr, msg_len, \
1379                                                msg_prio, abs_timeout)   \
1380  __sanitizer_syscall_pre_impl_mq_timedreceive(                          \
1381      (long)(mqdes), (long)(msg_ptr), (long)(msg_len), (long)(msg_prio), \
1382      (long)(abs_timeout))
1383#define __sanitizer_syscall_post_mq_timedreceive(res, mqdes, msg_ptr, msg_len, \
1384                                                 msg_prio, abs_timeout)        \
1385  __sanitizer_syscall_post_impl_mq_timedreceive(                               \
1386      res, (long)(mqdes), (long)(msg_ptr), (long)(msg_len), (long)(msg_prio),  \
1387      (long)(abs_timeout))
1388#define __sanitizer_syscall_pre_mq_notify(mqdes, notification) \
1389  __sanitizer_syscall_pre_impl_mq_notify((long)(mqdes), (long)(notification))
1390#define __sanitizer_syscall_post_mq_notify(res, mqdes, notification) \
1391  __sanitizer_syscall_post_impl_mq_notify(res, (long)(mqdes),        \
1392                                          (long)(notification))
1393#define __sanitizer_syscall_pre_mq_getsetattr(mqdes, mqstat, omqstat)       \
1394  __sanitizer_syscall_pre_impl_mq_getsetattr((long)(mqdes), (long)(mqstat), \
1395                                             (long)(omqstat))
1396#define __sanitizer_syscall_post_mq_getsetattr(res, mqdes, mqstat, omqstat) \
1397  __sanitizer_syscall_post_impl_mq_getsetattr(res, (long)(mqdes),           \
1398                                              (long)(mqstat), (long)(omqstat))
1399#define __sanitizer_syscall_pre_pciconfig_iobase(which, bus, devfn)         \
1400  __sanitizer_syscall_pre_impl_pciconfig_iobase((long)(which), (long)(bus), \
1401                                                (long)(devfn))
1402#define __sanitizer_syscall_post_pciconfig_iobase(res, which, bus, devfn) \
1403  __sanitizer_syscall_post_impl_pciconfig_iobase(res, (long)(which),      \
1404                                                 (long)(bus), (long)(devfn))
1405#define __sanitizer_syscall_pre_pciconfig_read(bus, dfn, off, len, buf) \
1406  __sanitizer_syscall_pre_impl_pciconfig_read(                          \
1407      (long)(bus), (long)(dfn), (long)(off), (long)(len), (long)(buf))
1408#define __sanitizer_syscall_post_pciconfig_read(res, bus, dfn, off, len, buf) \
1409  __sanitizer_syscall_post_impl_pciconfig_read(                               \
1410      res, (long)(bus), (long)(dfn), (long)(off), (long)(len), (long)(buf))
1411#define __sanitizer_syscall_pre_pciconfig_write(bus, dfn, off, len, buf) \
1412  __sanitizer_syscall_pre_impl_pciconfig_write(                          \
1413      (long)(bus), (long)(dfn), (long)(off), (long)(len), (long)(buf))
1414#define __sanitizer_syscall_post_pciconfig_write(res, bus, dfn, off, len, buf) \
1415  __sanitizer_syscall_post_impl_pciconfig_write(                               \
1416      res, (long)(bus), (long)(dfn), (long)(off), (long)(len), (long)(buf))
1417#define __sanitizer_syscall_pre_swapon(specialfile, swap_flags) \
1418  __sanitizer_syscall_pre_impl_swapon((long)(specialfile), (long)(swap_flags))
1419#define __sanitizer_syscall_post_swapon(res, specialfile, swap_flags) \
1420  __sanitizer_syscall_post_impl_swapon(res, (long)(specialfile),      \
1421                                       (long)(swap_flags))
1422#define __sanitizer_syscall_pre_swapoff(specialfile) \
1423  __sanitizer_syscall_pre_impl_swapoff((long)(specialfile))
1424#define __sanitizer_syscall_post_swapoff(res, specialfile) \
1425  __sanitizer_syscall_post_impl_swapoff(res, (long)(specialfile))
1426#define __sanitizer_syscall_pre_sysctl(args) \
1427  __sanitizer_syscall_pre_impl_sysctl((long)(args))
1428#define __sanitizer_syscall_post_sysctl(res, args) \
1429  __sanitizer_syscall_post_impl_sysctl(res, (long)(args))
1430#define __sanitizer_syscall_pre_sysinfo(info) \
1431  __sanitizer_syscall_pre_impl_sysinfo((long)(info))
1432#define __sanitizer_syscall_post_sysinfo(res, info) \
1433  __sanitizer_syscall_post_impl_sysinfo(res, (long)(info))
1434#define __sanitizer_syscall_pre_sysfs(option, arg1, arg2) \
1435  __sanitizer_syscall_pre_impl_sysfs((long)(option), (long)(arg1), (long)(arg2))
1436#define __sanitizer_syscall_post_sysfs(res, option, arg1, arg2)          \
1437  __sanitizer_syscall_post_impl_sysfs(res, (long)(option), (long)(arg1), \
1438                                      (long)(arg2))
1439#define __sanitizer_syscall_pre_syslog(type, buf, len) \
1440  __sanitizer_syscall_pre_impl_syslog((long)(type), (long)(buf), (long)(len))
1441#define __sanitizer_syscall_post_syslog(res, type, buf, len)           \
1442  __sanitizer_syscall_post_impl_syslog(res, (long)(type), (long)(buf), \
1443                                       (long)(len))
1444#define __sanitizer_syscall_pre_uselib(library) \
1445  __sanitizer_syscall_pre_impl_uselib((long)(library))
1446#define __sanitizer_syscall_post_uselib(res, library) \
1447  __sanitizer_syscall_post_impl_uselib(res, (long)(library))
1448#define __sanitizer_syscall_pre_ni_syscall() \
1449  __sanitizer_syscall_pre_impl_ni_syscall()
1450#define __sanitizer_syscall_post_ni_syscall(res) \
1451  __sanitizer_syscall_post_impl_ni_syscall(res)
1452#define __sanitizer_syscall_pre_ptrace(request, pid, addr, data)    \
1453  __sanitizer_syscall_pre_impl_ptrace((long)(request), (long)(pid), \
1454                                      (long)(addr), (long)(data))
1455#define __sanitizer_syscall_post_ptrace(res, request, pid, addr, data)    \
1456  __sanitizer_syscall_post_impl_ptrace(res, (long)(request), (long)(pid), \
1457                                       (long)(addr), (long)(data))
1458#define __sanitizer_syscall_pre_add_key(_type, _description, _payload, plen, \
1459                                        destringid)                          \
1460  __sanitizer_syscall_pre_impl_add_key((long)(_type), (long)(_description),  \
1461                                       (long)(_payload), (long)(plen),       \
1462                                       (long)(destringid))
1463#define __sanitizer_syscall_post_add_key(res, _type, _description, _payload, \
1464                                         plen, destringid)                   \
1465  __sanitizer_syscall_post_impl_add_key(                                     \
1466      res, (long)(_type), (long)(_description), (long)(_payload),            \
1467      (long)(plen), (long)(destringid))
1468#define __sanitizer_syscall_pre_request_key(_type, _description,       \
1469                                            _callout_info, destringid) \
1470  __sanitizer_syscall_pre_impl_request_key(                            \
1471      (long)(_type), (long)(_description), (long)(_callout_info),      \
1472      (long)(destringid))
1473#define __sanitizer_syscall_post_request_key(res, _type, _description,  \
1474                                             _callout_info, destringid) \
1475  __sanitizer_syscall_post_impl_request_key(                            \
1476      res, (long)(_type), (long)(_description), (long)(_callout_info),  \
1477      (long)(destringid))
1478#define __sanitizer_syscall_pre_keyctl(cmd, arg2, arg3, arg4, arg5)            \
1479  __sanitizer_syscall_pre_impl_keyctl((long)(cmd), (long)(arg2), (long)(arg3), \
1480                                      (long)(arg4), (long)(arg5))
1481#define __sanitizer_syscall_post_keyctl(res, cmd, arg2, arg3, arg4, arg5) \
1482  __sanitizer_syscall_post_impl_keyctl(res, (long)(cmd), (long)(arg2),    \
1483                                       (long)(arg3), (long)(arg4),        \
1484                                       (long)(arg5))
1485#define __sanitizer_syscall_pre_ioprio_set(which, who, ioprio)        \
1486  __sanitizer_syscall_pre_impl_ioprio_set((long)(which), (long)(who), \
1487                                          (long)(ioprio))
1488#define __sanitizer_syscall_post_ioprio_set(res, which, who, ioprio)        \
1489  __sanitizer_syscall_post_impl_ioprio_set(res, (long)(which), (long)(who), \
1490                                           (long)(ioprio))
1491#define __sanitizer_syscall_pre_ioprio_get(which, who) \
1492  __sanitizer_syscall_pre_impl_ioprio_get((long)(which), (long)(who))
1493#define __sanitizer_syscall_post_ioprio_get(res, which, who) \
1494  __sanitizer_syscall_post_impl_ioprio_get(res, (long)(which), (long)(who))
1495#define __sanitizer_syscall_pre_set_mempolicy(mode, nmask, maxnode)       \
1496  __sanitizer_syscall_pre_impl_set_mempolicy((long)(mode), (long)(nmask), \
1497                                             (long)(maxnode))
1498#define __sanitizer_syscall_post_set_mempolicy(res, mode, nmask, maxnode) \
1499  __sanitizer_syscall_post_impl_set_mempolicy(res, (long)(mode),          \
1500                                              (long)(nmask), (long)(maxnode))
1501#define __sanitizer_syscall_pre_migrate_pages(pid, maxnode, from, to)      \
1502  __sanitizer_syscall_pre_impl_migrate_pages((long)(pid), (long)(maxnode), \
1503                                             (long)(from), (long)(to))
1504#define __sanitizer_syscall_post_migrate_pages(res, pid, maxnode, from, to) \
1505  __sanitizer_syscall_post_impl_migrate_pages(                              \
1506      res, (long)(pid), (long)(maxnode), (long)(from), (long)(to))
1507#define __sanitizer_syscall_pre_move_pages(pid, nr_pages, pages, nodes,  \
1508                                           status, flags)                \
1509  __sanitizer_syscall_pre_impl_move_pages((long)(pid), (long)(nr_pages), \
1510                                          (long)(pages), (long)(nodes),  \
1511                                          (long)(status), (long)(flags))
1512#define __sanitizer_syscall_post_move_pages(res, pid, nr_pages, pages, nodes,  \
1513                                            status, flags)                     \
1514  __sanitizer_syscall_post_impl_move_pages(res, (long)(pid), (long)(nr_pages), \
1515                                           (long)(pages), (long)(nodes),       \
1516                                           (long)(status), (long)(flags))
1517#define __sanitizer_syscall_pre_mbind(start, len, mode, nmask, maxnode, flags) \
1518  __sanitizer_syscall_pre_impl_mbind((long)(start), (long)(len), (long)(mode), \
1519                                     (long)(nmask), (long)(maxnode),           \
1520                                     (long)(flags))
1521#define __sanitizer_syscall_post_mbind(res, start, len, mode, nmask, maxnode, \
1522                                       flags)                                 \
1523  __sanitizer_syscall_post_impl_mbind(res, (long)(start), (long)(len),        \
1524                                      (long)(mode), (long)(nmask),            \
1525                                      (long)(maxnode), (long)(flags))
1526#define __sanitizer_syscall_pre_get_mempolicy(policy, nmask, maxnode, addr, \
1527                                              flags)                        \
1528  __sanitizer_syscall_pre_impl_get_mempolicy((long)(policy), (long)(nmask), \
1529                                             (long)(maxnode), (long)(addr), \
1530                                             (long)(flags))
1531#define __sanitizer_syscall_post_get_mempolicy(res, policy, nmask, maxnode,   \
1532                                               addr, flags)                   \
1533  __sanitizer_syscall_post_impl_get_mempolicy(res, (long)(policy),            \
1534                                              (long)(nmask), (long)(maxnode), \
1535                                              (long)(addr), (long)(flags))
1536#define __sanitizer_syscall_pre_inotify_init() \
1537  __sanitizer_syscall_pre_impl_inotify_init()
1538#define __sanitizer_syscall_post_inotify_init(res) \
1539  __sanitizer_syscall_post_impl_inotify_init(res)
1540#define __sanitizer_syscall_pre_inotify_init1(flags) \
1541  __sanitizer_syscall_pre_impl_inotify_init1((long)(flags))
1542#define __sanitizer_syscall_post_inotify_init1(res, flags) \
1543  __sanitizer_syscall_post_impl_inotify_init1(res, (long)(flags))
1544#define __sanitizer_syscall_pre_inotify_add_watch(fd, path, mask)          \
1545  __sanitizer_syscall_pre_impl_inotify_add_watch((long)(fd), (long)(path), \
1546                                                 (long)(mask))
1547#define __sanitizer_syscall_post_inotify_add_watch(res, fd, path, mask) \
1548  __sanitizer_syscall_post_impl_inotify_add_watch(res, (long)(fd),      \
1549                                                  (long)(path), (long)(mask))
1550#define __sanitizer_syscall_pre_inotify_rm_watch(fd, wd) \
1551  __sanitizer_syscall_pre_impl_inotify_rm_watch((long)(fd), (long)(wd))
1552#define __sanitizer_syscall_post_inotify_rm_watch(res, fd, wd) \
1553  __sanitizer_syscall_post_impl_inotify_rm_watch(res, (long)(fd), (long)(wd))
1554#define __sanitizer_syscall_pre_spu_run(fd, unpc, ustatus)       \
1555  __sanitizer_syscall_pre_impl_spu_run((long)(fd), (long)(unpc), \
1556                                       (long)(ustatus))
1557#define __sanitizer_syscall_post_spu_run(res, fd, unpc, ustatus)       \
1558  __sanitizer_syscall_post_impl_spu_run(res, (long)(fd), (long)(unpc), \
1559                                        (long)(ustatus))
1560#define __sanitizer_syscall_pre_spu_create(name, flags, mode, fd)      \
1561  __sanitizer_syscall_pre_impl_spu_create((long)(name), (long)(flags), \
1562                                          (long)(mode), (long)(fd))
1563#define __sanitizer_syscall_post_spu_create(res, name, flags, mode, fd)      \
1564  __sanitizer_syscall_post_impl_spu_create(res, (long)(name), (long)(flags), \
1565                                           (long)(mode), (long)(fd))
1566#define __sanitizer_syscall_pre_mknodat(dfd, filename, mode, dev)     \
1567  __sanitizer_syscall_pre_impl_mknodat((long)(dfd), (long)(filename), \
1568                                       (long)(mode), (long)(dev))
1569#define __sanitizer_syscall_post_mknodat(res, dfd, filename, mode, dev)     \
1570  __sanitizer_syscall_post_impl_mknodat(res, (long)(dfd), (long)(filename), \
1571                                        (long)(mode), (long)(dev))
1572#define __sanitizer_syscall_pre_mkdirat(dfd, pathname, mode)          \
1573  __sanitizer_syscall_pre_impl_mkdirat((long)(dfd), (long)(pathname), \
1574                                       (long)(mode))
1575#define __sanitizer_syscall_post_mkdirat(res, dfd, pathname, mode)          \
1576  __sanitizer_syscall_post_impl_mkdirat(res, (long)(dfd), (long)(pathname), \
1577                                        (long)(mode))
1578#define __sanitizer_syscall_pre_unlinkat(dfd, pathname, flag)          \
1579  __sanitizer_syscall_pre_impl_unlinkat((long)(dfd), (long)(pathname), \
1580                                        (long)(flag))
1581#define __sanitizer_syscall_post_unlinkat(res, dfd, pathname, flag)          \
1582  __sanitizer_syscall_post_impl_unlinkat(res, (long)(dfd), (long)(pathname), \
1583                                         (long)(flag))
1584#define __sanitizer_syscall_pre_symlinkat(oldname, newdfd, newname)       \
1585  __sanitizer_syscall_pre_impl_symlinkat((long)(oldname), (long)(newdfd), \
1586                                         (long)(newname))
1587#define __sanitizer_syscall_post_symlinkat(res, oldname, newdfd, newname) \
1588  __sanitizer_syscall_post_impl_symlinkat(res, (long)(oldname),           \
1589                                          (long)(newdfd), (long)(newname))
1590#define __sanitizer_syscall_pre_linkat(olddfd, oldname, newdfd, newname, \
1591                                       flags)                            \
1592  __sanitizer_syscall_pre_impl_linkat((long)(olddfd), (long)(oldname),   \
1593                                      (long)(newdfd), (long)(newname),   \
1594                                      (long)(flags))
1595#define __sanitizer_syscall_post_linkat(res, olddfd, oldname, newdfd, newname, \
1596                                        flags)                                 \
1597  __sanitizer_syscall_post_impl_linkat(res, (long)(olddfd), (long)(oldname),   \
1598                                       (long)(newdfd), (long)(newname),        \
1599                                       (long)(flags))
1600#define __sanitizer_syscall_pre_renameat(olddfd, oldname, newdfd, newname) \
1601  __sanitizer_syscall_pre_impl_renameat((long)(olddfd), (long)(oldname),   \
1602                                        (long)(newdfd), (long)(newname))
1603#define __sanitizer_syscall_post_renameat(res, olddfd, oldname, newdfd,        \
1604                                          newname)                             \
1605  __sanitizer_syscall_post_impl_renameat(res, (long)(olddfd), (long)(oldname), \
1606                                         (long)(newdfd), (long)(newname))
1607#define __sanitizer_syscall_pre_futimesat(dfd, filename, utimes)        \
1608  __sanitizer_syscall_pre_impl_futimesat((long)(dfd), (long)(filename), \
1609                                         (long)(utimes))
1610#define __sanitizer_syscall_post_futimesat(res, dfd, filename, utimes)        \
1611  __sanitizer_syscall_post_impl_futimesat(res, (long)(dfd), (long)(filename), \
1612                                          (long)(utimes))
1613#define __sanitizer_syscall_pre_faccessat(dfd, filename, mode)          \
1614  __sanitizer_syscall_pre_impl_faccessat((long)(dfd), (long)(filename), \
1615                                         (long)(mode))
1616#define __sanitizer_syscall_post_faccessat(res, dfd, filename, mode)          \
1617  __sanitizer_syscall_post_impl_faccessat(res, (long)(dfd), (long)(filename), \
1618                                          (long)(mode))
1619#define __sanitizer_syscall_pre_fchmodat(dfd, filename, mode)          \
1620  __sanitizer_syscall_pre_impl_fchmodat((long)(dfd), (long)(filename), \
1621                                        (long)(mode))
1622#define __sanitizer_syscall_post_fchmodat(res, dfd, filename, mode)          \
1623  __sanitizer_syscall_post_impl_fchmodat(res, (long)(dfd), (long)(filename), \
1624                                         (long)(mode))
1625#define __sanitizer_syscall_pre_fchownat(dfd, filename, user, group, flag) \
1626  __sanitizer_syscall_pre_impl_fchownat((long)(dfd), (long)(filename),     \
1627                                        (long)(user), (long)(group),       \
1628                                        (long)(flag))
1629#define __sanitizer_syscall_post_fchownat(res, dfd, filename, user, group,   \
1630                                          flag)                              \
1631  __sanitizer_syscall_post_impl_fchownat(res, (long)(dfd), (long)(filename), \
1632                                         (long)(user), (long)(group),        \
1633                                         (long)(flag))
1634#define __sanitizer_syscall_pre_openat(dfd, filename, flags, mode)   \
1635  __sanitizer_syscall_pre_impl_openat((long)(dfd), (long)(filename), \
1636                                      (long)(flags), (long)(mode))
1637#define __sanitizer_syscall_post_openat(res, dfd, filename, flags, mode)   \
1638  __sanitizer_syscall_post_impl_openat(res, (long)(dfd), (long)(filename), \
1639                                       (long)(flags), (long)(mode))
1640#define __sanitizer_syscall_pre_newfstatat(dfd, filename, statbuf, flag) \
1641  __sanitizer_syscall_pre_impl_newfstatat((long)(dfd), (long)(filename), \
1642                                          (long)(statbuf), (long)(flag))
1643#define __sanitizer_syscall_post_newfstatat(res, dfd, filename, statbuf, flag) \
1644  __sanitizer_syscall_post_impl_newfstatat(res, (long)(dfd), (long)(filename), \
1645                                           (long)(statbuf), (long)(flag))
1646#define __sanitizer_syscall_pre_fstatat64(dfd, filename, statbuf, flag) \
1647  __sanitizer_syscall_pre_impl_fstatat64((long)(dfd), (long)(filename), \
1648                                         (long)(statbuf), (long)(flag))
1649#define __sanitizer_syscall_post_fstatat64(res, dfd, filename, statbuf, flag) \
1650  __sanitizer_syscall_post_impl_fstatat64(res, (long)(dfd), (long)(filename), \
1651                                          (long)(statbuf), (long)(flag))
1652#define __sanitizer_syscall_pre_readlinkat(dfd, path, buf, bufsiz)   \
1653  __sanitizer_syscall_pre_impl_readlinkat((long)(dfd), (long)(path), \
1654                                          (long)(buf), (long)(bufsiz))
1655#define __sanitizer_syscall_post_readlinkat(res, dfd, path, buf, bufsiz)   \
1656  __sanitizer_syscall_post_impl_readlinkat(res, (long)(dfd), (long)(path), \
1657                                           (long)(buf), (long)(bufsiz))
1658#define __sanitizer_syscall_pre_utimensat(dfd, filename, utimes, flags) \
1659  __sanitizer_syscall_pre_impl_utimensat((long)(dfd), (long)(filename), \
1660                                         (long)(utimes), (long)(flags))
1661#define __sanitizer_syscall_post_utimensat(res, dfd, filename, utimes, flags) \
1662  __sanitizer_syscall_post_impl_utimensat(res, (long)(dfd), (long)(filename), \
1663                                          (long)(utimes), (long)(flags))
1664#define __sanitizer_syscall_pre_unshare(unshare_flags) \
1665  __sanitizer_syscall_pre_impl_unshare((long)(unshare_flags))
1666#define __sanitizer_syscall_post_unshare(res, unshare_flags) \
1667  __sanitizer_syscall_post_impl_unshare(res, (long)(unshare_flags))
1668#define __sanitizer_syscall_pre_splice(fd_in, off_in, fd_out, off_out, len, \
1669                                       flags)                               \
1670  __sanitizer_syscall_pre_impl_splice((long)(fd_in), (long)(off_in),        \
1671                                      (long)(fd_out), (long)(off_out),      \
1672                                      (long)(len), (long)(flags))
1673#define __sanitizer_syscall_post_splice(res, fd_in, off_in, fd_out, off_out, \
1674                                        len, flags)                          \
1675  __sanitizer_syscall_post_impl_splice(res, (long)(fd_in), (long)(off_in),   \
1676                                       (long)(fd_out), (long)(off_out),      \
1677                                       (long)(len), (long)(flags))
1678#define __sanitizer_syscall_pre_vmsplice(fd, iov, nr_segs, flags) \
1679  __sanitizer_syscall_pre_impl_vmsplice((long)(fd), (long)(iov),  \
1680                                        (long)(nr_segs), (long)(flags))
1681#define __sanitizer_syscall_post_vmsplice(res, fd, iov, nr_segs, flags) \
1682  __sanitizer_syscall_post_impl_vmsplice(res, (long)(fd), (long)(iov),  \
1683                                         (long)(nr_segs), (long)(flags))
1684#define __sanitizer_syscall_pre_tee(fdin, fdout, len, flags)                 \
1685  __sanitizer_syscall_pre_impl_tee((long)(fdin), (long)(fdout), (long)(len), \
1686                                   (long)(flags))
1687#define __sanitizer_syscall_post_tee(res, fdin, fdout, len, flags)    \
1688  __sanitizer_syscall_post_impl_tee(res, (long)(fdin), (long)(fdout), \
1689                                    (long)(len), (long)(flags))
1690#define __sanitizer_syscall_pre_get_robust_list(pid, head_ptr, len_ptr)       \
1691  __sanitizer_syscall_pre_impl_get_robust_list((long)(pid), (long)(head_ptr), \
1692                                               (long)(len_ptr))
1693#define __sanitizer_syscall_post_get_robust_list(res, pid, head_ptr, len_ptr) \
1694  __sanitizer_syscall_post_impl_get_robust_list(                              \
1695      res, (long)(pid), (long)(head_ptr), (long)(len_ptr))
1696#define __sanitizer_syscall_pre_set_robust_list(head, len) \
1697  __sanitizer_syscall_pre_impl_set_robust_list((long)(head), (long)(len))
1698#define __sanitizer_syscall_post_set_robust_list(res, head, len) \
1699  __sanitizer_syscall_post_impl_set_robust_list(res, (long)(head), (long)(len))
1700#define __sanitizer_syscall_pre_getcpu(cpu, node, cache) \
1701  __sanitizer_syscall_pre_impl_getcpu((long)(cpu), (long)(node), (long)(cache))
1702#define __sanitizer_syscall_post_getcpu(res, cpu, node, cache)         \
1703  __sanitizer_syscall_post_impl_getcpu(res, (long)(cpu), (long)(node), \
1704                                       (long)(cache))
1705#define __sanitizer_syscall_pre_signalfd(ufd, user_mask, sizemask)      \
1706  __sanitizer_syscall_pre_impl_signalfd((long)(ufd), (long)(user_mask), \
1707                                        (long)(sizemask))
1708#define __sanitizer_syscall_post_signalfd(res, ufd, user_mask, sizemask)      \
1709  __sanitizer_syscall_post_impl_signalfd(res, (long)(ufd), (long)(user_mask), \
1710                                         (long)(sizemask))
1711#define __sanitizer_syscall_pre_signalfd4(ufd, user_mask, sizemask, flags) \
1712  __sanitizer_syscall_pre_impl_signalfd4((long)(ufd), (long)(user_mask),   \
1713                                         (long)(sizemask), (long)(flags))
1714#define __sanitizer_syscall_post_signalfd4(res, ufd, user_mask, sizemask,      \
1715                                           flags)                              \
1716  __sanitizer_syscall_post_impl_signalfd4(res, (long)(ufd), (long)(user_mask), \
1717                                          (long)(sizemask), (long)(flags))
1718#define __sanitizer_syscall_pre_timerfd_create(clockid, flags) \
1719  __sanitizer_syscall_pre_impl_timerfd_create((long)(clockid), (long)(flags))
1720#define __sanitizer_syscall_post_timerfd_create(res, clockid, flags) \
1721  __sanitizer_syscall_post_impl_timerfd_create(res, (long)(clockid), \
1722                                               (long)(flags))
1723#define __sanitizer_syscall_pre_timerfd_settime(ufd, flags, utmr, otmr)    \
1724  __sanitizer_syscall_pre_impl_timerfd_settime((long)(ufd), (long)(flags), \
1725                                               (long)(utmr), (long)(otmr))
1726#define __sanitizer_syscall_post_timerfd_settime(res, ufd, flags, utmr, otmr) \
1727  __sanitizer_syscall_post_impl_timerfd_settime(                              \
1728      res, (long)(ufd), (long)(flags), (long)(utmr), (long)(otmr))
1729#define __sanitizer_syscall_pre_timerfd_gettime(ufd, otmr) \
1730  __sanitizer_syscall_pre_impl_timerfd_gettime((long)(ufd), (long)(otmr))
1731#define __sanitizer_syscall_post_timerfd_gettime(res, ufd, otmr) \
1732  __sanitizer_syscall_post_impl_timerfd_gettime(res, (long)(ufd), (long)(otmr))
1733#define __sanitizer_syscall_pre_eventfd(count) \
1734  __sanitizer_syscall_pre_impl_eventfd((long)(count))
1735#define __sanitizer_syscall_post_eventfd(res, count) \
1736  __sanitizer_syscall_post_impl_eventfd(res, (long)(count))
1737#define __sanitizer_syscall_pre_eventfd2(count, flags) \
1738  __sanitizer_syscall_pre_impl_eventfd2((long)(count), (long)(flags))
1739#define __sanitizer_syscall_post_eventfd2(res, count, flags) \
1740  __sanitizer_syscall_post_impl_eventfd2(res, (long)(count), (long)(flags))
1741#define __sanitizer_syscall_pre_old_readdir(arg0, arg1, arg2)          \
1742  __sanitizer_syscall_pre_impl_old_readdir((long)(arg0), (long)(arg1), \
1743                                           (long)(arg2))
1744#define __sanitizer_syscall_post_old_readdir(res, arg0, arg1, arg2)          \
1745  __sanitizer_syscall_post_impl_old_readdir(res, (long)(arg0), (long)(arg1), \
1746                                            (long)(arg2))
1747#define __sanitizer_syscall_pre_pselect6(arg0, arg1, arg2, arg3, arg4, arg5) \
1748  __sanitizer_syscall_pre_impl_pselect6((long)(arg0), (long)(arg1),          \
1749                                        (long)(arg2), (long)(arg3),          \
1750                                        (long)(arg4), (long)(arg5))
1751#define __sanitizer_syscall_post_pselect6(res, arg0, arg1, arg2, arg3, arg4, \
1752                                          arg5)                              \
1753  __sanitizer_syscall_post_impl_pselect6(res, (long)(arg0), (long)(arg1),    \
1754                                         (long)(arg2), (long)(arg3),         \
1755                                         (long)(arg4), (long)(arg5))
1756#define __sanitizer_syscall_pre_ppoll(arg0, arg1, arg2, arg3, arg4)            \
1757  __sanitizer_syscall_pre_impl_ppoll((long)(arg0), (long)(arg1), (long)(arg2), \
1758                                     (long)(arg3), (long)(arg4))
1759#define __sanitizer_syscall_post_ppoll(res, arg0, arg1, arg2, arg3, arg4) \
1760  __sanitizer_syscall_post_impl_ppoll(res, (long)(arg0), (long)(arg1),    \
1761                                      (long)(arg2), (long)(arg3),         \
1762                                      (long)(arg4))
1763#define __sanitizer_syscall_pre_syncfs(fd) \
1764  __sanitizer_syscall_pre_impl_syncfs((long)(fd))
1765#define __sanitizer_syscall_post_syncfs(res, fd) \
1766  __sanitizer_syscall_post_impl_syncfs(res, (long)(fd))
1767#define __sanitizer_syscall_pre_perf_event_open(attr_uptr, pid, cpu, group_fd, \
1768                                                flags)                         \
1769  __sanitizer_syscall_pre_impl_perf_event_open((long)(attr_uptr), (long)(pid), \
1770                                               (long)(cpu), (long)(group_fd),  \
1771                                               (long)(flags))
1772#define __sanitizer_syscall_post_perf_event_open(res, attr_uptr, pid, cpu, \
1773                                                 group_fd, flags)          \
1774  __sanitizer_syscall_post_impl_perf_event_open(                           \
1775      res, (long)(attr_uptr), (long)(pid), (long)(cpu), (long)(group_fd),  \
1776      (long)(flags))
1777#define __sanitizer_syscall_pre_mmap_pgoff(addr, len, prot, flags, fd, pgoff) \
1778  __sanitizer_syscall_pre_impl_mmap_pgoff((long)(addr), (long)(len),          \
1779                                          (long)(prot), (long)(flags),        \
1780                                          (long)(fd), (long)(pgoff))
1781#define __sanitizer_syscall_post_mmap_pgoff(res, addr, len, prot, flags, fd, \
1782                                            pgoff)                           \
1783  __sanitizer_syscall_post_impl_mmap_pgoff(res, (long)(addr), (long)(len),   \
1784                                           (long)(prot), (long)(flags),      \
1785                                           (long)(fd), (long)(pgoff))
1786#define __sanitizer_syscall_pre_old_mmap(arg) \
1787  __sanitizer_syscall_pre_impl_old_mmap((long)(arg))
1788#define __sanitizer_syscall_post_old_mmap(res, arg) \
1789  __sanitizer_syscall_post_impl_old_mmap(res, (long)(arg))
1790#define __sanitizer_syscall_pre_name_to_handle_at(dfd, name, handle, mnt_id, \
1791                                                  flag)                      \
1792  __sanitizer_syscall_pre_impl_name_to_handle_at(                            \
1793      (long)(dfd), (long)(name), (long)(handle), (long)(mnt_id), (long)(flag))
1794#define __sanitizer_syscall_post_name_to_handle_at(res, dfd, name, handle, \
1795                                                   mnt_id, flag)           \
1796  __sanitizer_syscall_post_impl_name_to_handle_at(                         \
1797      res, (long)(dfd), (long)(name), (long)(handle), (long)(mnt_id),      \
1798      (long)(flag))
1799#define __sanitizer_syscall_pre_open_by_handle_at(mountdirfd, handle, flags) \
1800  __sanitizer_syscall_pre_impl_open_by_handle_at(                            \
1801      (long)(mountdirfd), (long)(handle), (long)(flags))
1802#define __sanitizer_syscall_post_open_by_handle_at(res, mountdirfd, handle, \
1803                                                   flags)                   \
1804  __sanitizer_syscall_post_impl_open_by_handle_at(                          \
1805      res, (long)(mountdirfd), (long)(handle), (long)(flags))
1806#define __sanitizer_syscall_pre_setns(fd, nstype) \
1807  __sanitizer_syscall_pre_impl_setns((long)(fd), (long)(nstype))
1808#define __sanitizer_syscall_post_setns(res, fd, nstype) \
1809  __sanitizer_syscall_post_impl_setns(res, (long)(fd), (long)(nstype))
1810#define __sanitizer_syscall_pre_process_vm_readv(pid, lvec, liovcnt, rvec, \
1811                                                 riovcnt, flags)           \
1812  __sanitizer_syscall_pre_impl_process_vm_readv(                           \
1813      (long)(pid), (long)(lvec), (long)(liovcnt), (long)(rvec),            \
1814      (long)(riovcnt), (long)(flags))
1815#define __sanitizer_syscall_post_process_vm_readv(res, pid, lvec, liovcnt, \
1816                                                  rvec, riovcnt, flags)    \
1817  __sanitizer_syscall_post_impl_process_vm_readv(                          \
1818      res, (long)(pid), (long)(lvec), (long)(liovcnt), (long)(rvec),       \
1819      (long)(riovcnt), (long)(flags))
1820#define __sanitizer_syscall_pre_process_vm_writev(pid, lvec, liovcnt, rvec, \
1821                                                  riovcnt, flags)           \
1822  __sanitizer_syscall_pre_impl_process_vm_writev(                           \
1823      (long)(pid), (long)(lvec), (long)(liovcnt), (long)(rvec),             \
1824      (long)(riovcnt), (long)(flags))
1825#define __sanitizer_syscall_post_process_vm_writev(res, pid, lvec, liovcnt, \
1826                                                   rvec, riovcnt, flags)    \
1827  __sanitizer_syscall_post_impl_process_vm_writev(                          \
1828      res, (long)(pid), (long)(lvec), (long)(liovcnt), (long)(rvec),        \
1829      (long)(riovcnt), (long)(flags))
1830#define __sanitizer_syscall_pre_fork() \
1831  __sanitizer_syscall_pre_impl_fork()
1832#define __sanitizer_syscall_post_fork(res) \
1833  __sanitizer_syscall_post_impl_fork(res)
1834#define __sanitizer_syscall_pre_vfork() \
1835  __sanitizer_syscall_pre_impl_vfork()
1836#define __sanitizer_syscall_post_vfork(res) \
1837  __sanitizer_syscall_post_impl_vfork(res)
1838
1839// And now a few syscalls we don't handle yet.
1840#define __sanitizer_syscall_pre_afs_syscall(...)
1841#define __sanitizer_syscall_pre_arch_prctl(...)
1842#define __sanitizer_syscall_pre_break(...)
1843#define __sanitizer_syscall_pre_chown32(...)
1844#define __sanitizer_syscall_pre_clone(...)
1845#define __sanitizer_syscall_pre_create_module(...)
1846#define __sanitizer_syscall_pre_epoll_ctl_old(...)
1847#define __sanitizer_syscall_pre_epoll_wait_old(...)
1848#define __sanitizer_syscall_pre_execve(...)
1849#define __sanitizer_syscall_pre_fadvise64(...)
1850#define __sanitizer_syscall_pre_fadvise64_64(...)
1851#define __sanitizer_syscall_pre_fallocate(...)
1852#define __sanitizer_syscall_pre_fanotify_init(...)
1853#define __sanitizer_syscall_pre_fanotify_mark(...)
1854#define __sanitizer_syscall_pre_fchown32(...)
1855#define __sanitizer_syscall_pre_ftime(...)
1856#define __sanitizer_syscall_pre_ftruncate64(...)
1857#define __sanitizer_syscall_pre_futex(...)
1858#define __sanitizer_syscall_pre_getegid32(...)
1859#define __sanitizer_syscall_pre_geteuid32(...)
1860#define __sanitizer_syscall_pre_getgid32(...)
1861#define __sanitizer_syscall_pre_getgroups32(...)
1862#define __sanitizer_syscall_pre_get_kernel_syms(...)
1863#define __sanitizer_syscall_pre_getpmsg(...)
1864#define __sanitizer_syscall_pre_getresgid32(...)
1865#define __sanitizer_syscall_pre_getresuid32(...)
1866#define __sanitizer_syscall_pre_get_thread_area(...)
1867#define __sanitizer_syscall_pre_getuid32(...)
1868#define __sanitizer_syscall_pre_gtty(...)
1869#define __sanitizer_syscall_pre_idle(...)
1870#define __sanitizer_syscall_pre_iopl(...)
1871#define __sanitizer_syscall_pre_lchown32(...)
1872#define __sanitizer_syscall_pre__llseek(...)
1873#define __sanitizer_syscall_pre_lock(...)
1874#define __sanitizer_syscall_pre_madvise1(...)
1875#define __sanitizer_syscall_pre_mmap(...)
1876#define __sanitizer_syscall_pre_mmap2(...)
1877#define __sanitizer_syscall_pre_modify_ldt(...)
1878#define __sanitizer_syscall_pre_mpx(...)
1879#define __sanitizer_syscall_pre__newselect(...)
1880#define __sanitizer_syscall_pre_nfsservctl(...)
1881#define __sanitizer_syscall_pre_oldfstat(...)
1882#define __sanitizer_syscall_pre_oldlstat(...)
1883#define __sanitizer_syscall_pre_oldolduname(...)
1884#define __sanitizer_syscall_pre_oldstat(...)
1885#define __sanitizer_syscall_pre_prctl(...)
1886#define __sanitizer_syscall_pre_prof(...)
1887#define __sanitizer_syscall_pre_profil(...)
1888#define __sanitizer_syscall_pre_putpmsg(...)
1889#define __sanitizer_syscall_pre_query_module(...)
1890#define __sanitizer_syscall_pre_readahead(...)
1891#define __sanitizer_syscall_pre_readdir(...)
1892#define __sanitizer_syscall_pre_rt_sigaction(...)
1893#define __sanitizer_syscall_pre_rt_sigreturn(...)
1894#define __sanitizer_syscall_pre_rt_sigsuspend(...)
1895#define __sanitizer_syscall_pre_security(...)
1896#define __sanitizer_syscall_pre_setfsgid32(...)
1897#define __sanitizer_syscall_pre_setfsuid32(...)
1898#define __sanitizer_syscall_pre_setgid32(...)
1899#define __sanitizer_syscall_pre_setgroups32(...)
1900#define __sanitizer_syscall_pre_setregid32(...)
1901#define __sanitizer_syscall_pre_setresgid32(...)
1902#define __sanitizer_syscall_pre_setresuid32(...)
1903#define __sanitizer_syscall_pre_setreuid32(...)
1904#define __sanitizer_syscall_pre_set_thread_area(...)
1905#define __sanitizer_syscall_pre_setuid32(...)
1906#define __sanitizer_syscall_pre_sigaction(...)
1907#define __sanitizer_syscall_pre_sigaltstack(...)
1908#define __sanitizer_syscall_pre_sigreturn(...)
1909#define __sanitizer_syscall_pre_sigsuspend(...)
1910#define __sanitizer_syscall_pre_stty(...)
1911#define __sanitizer_syscall_pre_sync_file_range(...)
1912#define __sanitizer_syscall_pre__sysctl(...)
1913#define __sanitizer_syscall_pre_truncate64(...)
1914#define __sanitizer_syscall_pre_tuxcall(...)
1915#define __sanitizer_syscall_pre_ugetrlimit(...)
1916#define __sanitizer_syscall_pre_ulimit(...)
1917#define __sanitizer_syscall_pre_umount2(...)
1918#define __sanitizer_syscall_pre_vm86(...)
1919#define __sanitizer_syscall_pre_vm86old(...)
1920#define __sanitizer_syscall_pre_vserver(...)
1921
1922#define __sanitizer_syscall_post_afs_syscall(res, ...)
1923#define __sanitizer_syscall_post_arch_prctl(res, ...)
1924#define __sanitizer_syscall_post_break(res, ...)
1925#define __sanitizer_syscall_post_chown32(res, ...)
1926#define __sanitizer_syscall_post_clone(res, ...)
1927#define __sanitizer_syscall_post_create_module(res, ...)
1928#define __sanitizer_syscall_post_epoll_ctl_old(res, ...)
1929#define __sanitizer_syscall_post_epoll_wait_old(res, ...)
1930#define __sanitizer_syscall_post_execve(res, ...)
1931#define __sanitizer_syscall_post_fadvise64(res, ...)
1932#define __sanitizer_syscall_post_fadvise64_64(res, ...)
1933#define __sanitizer_syscall_post_fallocate(res, ...)
1934#define __sanitizer_syscall_post_fanotify_init(res, ...)
1935#define __sanitizer_syscall_post_fanotify_mark(res, ...)
1936#define __sanitizer_syscall_post_fchown32(res, ...)
1937#define __sanitizer_syscall_post_ftime(res, ...)
1938#define __sanitizer_syscall_post_ftruncate64(res, ...)
1939#define __sanitizer_syscall_post_futex(res, ...)
1940#define __sanitizer_syscall_post_getegid32(res, ...)
1941#define __sanitizer_syscall_post_geteuid32(res, ...)
1942#define __sanitizer_syscall_post_getgid32(res, ...)
1943#define __sanitizer_syscall_post_getgroups32(res, ...)
1944#define __sanitizer_syscall_post_get_kernel_syms(res, ...)
1945#define __sanitizer_syscall_post_getpmsg(res, ...)
1946#define __sanitizer_syscall_post_getresgid32(res, ...)
1947#define __sanitizer_syscall_post_getresuid32(res, ...)
1948#define __sanitizer_syscall_post_get_thread_area(res, ...)
1949#define __sanitizer_syscall_post_getuid32(res, ...)
1950#define __sanitizer_syscall_post_gtty(res, ...)
1951#define __sanitizer_syscall_post_idle(res, ...)
1952#define __sanitizer_syscall_post_iopl(res, ...)
1953#define __sanitizer_syscall_post_lchown32(res, ...)
1954#define __sanitizer_syscall_post__llseek(res, ...)
1955#define __sanitizer_syscall_post_lock(res, ...)
1956#define __sanitizer_syscall_post_madvise1(res, ...)
1957#define __sanitizer_syscall_post_mmap2(res, ...)
1958#define __sanitizer_syscall_post_mmap(res, ...)
1959#define __sanitizer_syscall_post_modify_ldt(res, ...)
1960#define __sanitizer_syscall_post_mpx(res, ...)
1961#define __sanitizer_syscall_post__newselect(res, ...)
1962#define __sanitizer_syscall_post_nfsservctl(res, ...)
1963#define __sanitizer_syscall_post_oldfstat(res, ...)
1964#define __sanitizer_syscall_post_oldlstat(res, ...)
1965#define __sanitizer_syscall_post_oldolduname(res, ...)
1966#define __sanitizer_syscall_post_oldstat(res, ...)
1967#define __sanitizer_syscall_post_prctl(res, ...)
1968#define __sanitizer_syscall_post_profil(res, ...)
1969#define __sanitizer_syscall_post_prof(res, ...)
1970#define __sanitizer_syscall_post_putpmsg(res, ...)
1971#define __sanitizer_syscall_post_query_module(res, ...)
1972#define __sanitizer_syscall_post_readahead(res, ...)
1973#define __sanitizer_syscall_post_readdir(res, ...)
1974#define __sanitizer_syscall_post_rt_sigaction(res, ...)
1975#define __sanitizer_syscall_post_rt_sigreturn(res, ...)
1976#define __sanitizer_syscall_post_rt_sigsuspend(res, ...)
1977#define __sanitizer_syscall_post_security(res, ...)
1978#define __sanitizer_syscall_post_setfsgid32(res, ...)
1979#define __sanitizer_syscall_post_setfsuid32(res, ...)
1980#define __sanitizer_syscall_post_setgid32(res, ...)
1981#define __sanitizer_syscall_post_setgroups32(res, ...)
1982#define __sanitizer_syscall_post_setregid32(res, ...)
1983#define __sanitizer_syscall_post_setresgid32(res, ...)
1984#define __sanitizer_syscall_post_setresuid32(res, ...)
1985#define __sanitizer_syscall_post_setreuid32(res, ...)
1986#define __sanitizer_syscall_post_set_thread_area(res, ...)
1987#define __sanitizer_syscall_post_setuid32(res, ...)
1988#define __sanitizer_syscall_post_sigaction(res, ...)
1989#define __sanitizer_syscall_post_sigaltstack(res, ...)
1990#define __sanitizer_syscall_post_sigreturn(res, ...)
1991#define __sanitizer_syscall_post_sigsuspend(res, ...)
1992#define __sanitizer_syscall_post_stty(res, ...)
1993#define __sanitizer_syscall_post_sync_file_range(res, ...)
1994#define __sanitizer_syscall_post__sysctl(res, ...)
1995#define __sanitizer_syscall_post_truncate64(res, ...)
1996#define __sanitizer_syscall_post_tuxcall(res, ...)
1997#define __sanitizer_syscall_post_ugetrlimit(res, ...)
1998#define __sanitizer_syscall_post_ulimit(res, ...)
1999#define __sanitizer_syscall_post_umount2(res, ...)
2000#define __sanitizer_syscall_post_vm86old(res, ...)
2001#define __sanitizer_syscall_post_vm86(res, ...)
2002#define __sanitizer_syscall_post_vserver(res, ...)
2003
2004#ifdef __cplusplus
2005extern "C" {
2006#endif
2007
2008// Private declarations. Do not call directly from user code. Use macros above.
2009void __sanitizer_syscall_pre_impl_time(long tloc);
2010void __sanitizer_syscall_post_impl_time(long res, long tloc);
2011void __sanitizer_syscall_pre_impl_stime(long tptr);
2012void __sanitizer_syscall_post_impl_stime(long res, long tptr);
2013void __sanitizer_syscall_pre_impl_gettimeofday(long tv, long tz);
2014void __sanitizer_syscall_post_impl_gettimeofday(long res, long tv, long tz);
2015void __sanitizer_syscall_pre_impl_settimeofday(long tv, long tz);
2016void __sanitizer_syscall_post_impl_settimeofday(long res, long tv, long tz);
2017void __sanitizer_syscall_pre_impl_adjtimex(long txc_p);
2018void __sanitizer_syscall_post_impl_adjtimex(long res, long txc_p);
2019void __sanitizer_syscall_pre_impl_times(long tbuf);
2020void __sanitizer_syscall_post_impl_times(long res, long tbuf);
2021void __sanitizer_syscall_pre_impl_gettid();
2022void __sanitizer_syscall_post_impl_gettid(long res);
2023void __sanitizer_syscall_pre_impl_nanosleep(long rqtp, long rmtp);
2024void __sanitizer_syscall_post_impl_nanosleep(long res, long rqtp, long rmtp);
2025void __sanitizer_syscall_pre_impl_alarm(long seconds);
2026void __sanitizer_syscall_post_impl_alarm(long res, long seconds);
2027void __sanitizer_syscall_pre_impl_getpid();
2028void __sanitizer_syscall_post_impl_getpid(long res);
2029void __sanitizer_syscall_pre_impl_getppid();
2030void __sanitizer_syscall_post_impl_getppid(long res);
2031void __sanitizer_syscall_pre_impl_getuid();
2032void __sanitizer_syscall_post_impl_getuid(long res);
2033void __sanitizer_syscall_pre_impl_geteuid();
2034void __sanitizer_syscall_post_impl_geteuid(long res);
2035void __sanitizer_syscall_pre_impl_getgid();
2036void __sanitizer_syscall_post_impl_getgid(long res);
2037void __sanitizer_syscall_pre_impl_getegid();
2038void __sanitizer_syscall_post_impl_getegid(long res);
2039void __sanitizer_syscall_pre_impl_getresuid(long ruid, long euid, long suid);
2040void __sanitizer_syscall_post_impl_getresuid(long res, long ruid, long euid,
2041                                             long suid);
2042void __sanitizer_syscall_pre_impl_getresgid(long rgid, long egid, long sgid);
2043void __sanitizer_syscall_post_impl_getresgid(long res, long rgid, long egid,
2044                                             long sgid);
2045void __sanitizer_syscall_pre_impl_getpgid(long pid);
2046void __sanitizer_syscall_post_impl_getpgid(long res, long pid);
2047void __sanitizer_syscall_pre_impl_getpgrp();
2048void __sanitizer_syscall_post_impl_getpgrp(long res);
2049void __sanitizer_syscall_pre_impl_getsid(long pid);
2050void __sanitizer_syscall_post_impl_getsid(long res, long pid);
2051void __sanitizer_syscall_pre_impl_getgroups(long gidsetsize, long grouplist);
2052void __sanitizer_syscall_post_impl_getgroups(long res, long gidsetsize,
2053                                             long grouplist);
2054void __sanitizer_syscall_pre_impl_setregid(long rgid, long egid);
2055void __sanitizer_syscall_post_impl_setregid(long res, long rgid, long egid);
2056void __sanitizer_syscall_pre_impl_setgid(long gid);
2057void __sanitizer_syscall_post_impl_setgid(long res, long gid);
2058void __sanitizer_syscall_pre_impl_setreuid(long ruid, long euid);
2059void __sanitizer_syscall_post_impl_setreuid(long res, long ruid, long euid);
2060void __sanitizer_syscall_pre_impl_setuid(long uid);
2061void __sanitizer_syscall_post_impl_setuid(long res, long uid);
2062void __sanitizer_syscall_pre_impl_setresuid(long ruid, long euid, long suid);
2063void __sanitizer_syscall_post_impl_setresuid(long res, long ruid, long euid,
2064                                             long suid);
2065void __sanitizer_syscall_pre_impl_setresgid(long rgid, long egid, long sgid);
2066void __sanitizer_syscall_post_impl_setresgid(long res, long rgid, long egid,
2067                                             long sgid);
2068void __sanitizer_syscall_pre_impl_setfsuid(long uid);
2069void __sanitizer_syscall_post_impl_setfsuid(long res, long uid);
2070void __sanitizer_syscall_pre_impl_setfsgid(long gid);
2071void __sanitizer_syscall_post_impl_setfsgid(long res, long gid);
2072void __sanitizer_syscall_pre_impl_setpgid(long pid, long pgid);
2073void __sanitizer_syscall_post_impl_setpgid(long res, long pid, long pgid);
2074void __sanitizer_syscall_pre_impl_setsid();
2075void __sanitizer_syscall_post_impl_setsid(long res);
2076void __sanitizer_syscall_pre_impl_setgroups(long gidsetsize, long grouplist);
2077void __sanitizer_syscall_post_impl_setgroups(long res, long gidsetsize,
2078                                             long grouplist);
2079void __sanitizer_syscall_pre_impl_acct(long name);
2080void __sanitizer_syscall_post_impl_acct(long res, long name);
2081void __sanitizer_syscall_pre_impl_capget(long header, long dataptr);
2082void __sanitizer_syscall_post_impl_capget(long res, long header, long dataptr);
2083void __sanitizer_syscall_pre_impl_capset(long header, long data);
2084void __sanitizer_syscall_post_impl_capset(long res, long header, long data);
2085void __sanitizer_syscall_pre_impl_personality(long personality);
2086void __sanitizer_syscall_post_impl_personality(long res, long personality);
2087void __sanitizer_syscall_pre_impl_sigpending(long set);
2088void __sanitizer_syscall_post_impl_sigpending(long res, long set);
2089void __sanitizer_syscall_pre_impl_sigprocmask(long how, long set, long oset);
2090void __sanitizer_syscall_post_impl_sigprocmask(long res, long how, long set,
2091                                               long oset);
2092void __sanitizer_syscall_pre_impl_getitimer(long which, long value);
2093void __sanitizer_syscall_post_impl_getitimer(long res, long which, long value);
2094void __sanitizer_syscall_pre_impl_setitimer(long which, long value,
2095                                            long ovalue);
2096void __sanitizer_syscall_post_impl_setitimer(long res, long which, long value,
2097                                             long ovalue);
2098void __sanitizer_syscall_pre_impl_timer_create(long which_clock,
2099                                               long timer_event_spec,
2100                                               long created_timer_id);
2101void __sanitizer_syscall_post_impl_timer_create(long res, long which_clock,
2102                                                long timer_event_spec,
2103                                                long created_timer_id);
2104void __sanitizer_syscall_pre_impl_timer_gettime(long timer_id, long setting);
2105void __sanitizer_syscall_post_impl_timer_gettime(long res, long timer_id,
2106                                                 long setting);
2107void __sanitizer_syscall_pre_impl_timer_getoverrun(long timer_id);
2108void __sanitizer_syscall_post_impl_timer_getoverrun(long res, long timer_id);
2109void __sanitizer_syscall_pre_impl_timer_settime(long timer_id, long flags,
2110                                                long new_setting,
2111                                                long old_setting);
2112void __sanitizer_syscall_post_impl_timer_settime(long res, long timer_id,
2113                                                 long flags, long new_setting,
2114                                                 long old_setting);
2115void __sanitizer_syscall_pre_impl_timer_delete(long timer_id);
2116void __sanitizer_syscall_post_impl_timer_delete(long res, long timer_id);
2117void __sanitizer_syscall_pre_impl_clock_settime(long which_clock, long tp);
2118void __sanitizer_syscall_post_impl_clock_settime(long res, long which_clock,
2119                                                 long tp);
2120void __sanitizer_syscall_pre_impl_clock_gettime(long which_clock, long tp);
2121void __sanitizer_syscall_post_impl_clock_gettime(long res, long which_clock,
2122                                                 long tp);
2123void __sanitizer_syscall_pre_impl_clock_adjtime(long which_clock, long tx);
2124void __sanitizer_syscall_post_impl_clock_adjtime(long res, long which_clock,
2125                                                 long tx);
2126void __sanitizer_syscall_pre_impl_clock_getres(long which_clock, long tp);
2127void __sanitizer_syscall_post_impl_clock_getres(long res, long which_clock,
2128                                                long tp);
2129void __sanitizer_syscall_pre_impl_clock_nanosleep(long which_clock, long flags,
2130                                                  long rqtp, long rmtp);
2131void __sanitizer_syscall_post_impl_clock_nanosleep(long res, long which_clock,
2132                                                   long flags, long rqtp,
2133                                                   long rmtp);
2134void __sanitizer_syscall_pre_impl_nice(long increment);
2135void __sanitizer_syscall_post_impl_nice(long res, long increment);
2136void __sanitizer_syscall_pre_impl_sched_setscheduler(long pid, long policy,
2137                                                     long param);
2138void __sanitizer_syscall_post_impl_sched_setscheduler(long res, long pid,
2139                                                      long policy, long param);
2140void __sanitizer_syscall_pre_impl_sched_setparam(long pid, long param);
2141void __sanitizer_syscall_post_impl_sched_setparam(long res, long pid,
2142                                                  long param);
2143void __sanitizer_syscall_pre_impl_sched_getscheduler(long pid);
2144void __sanitizer_syscall_post_impl_sched_getscheduler(long res, long pid);
2145void __sanitizer_syscall_pre_impl_sched_getparam(long pid, long param);
2146void __sanitizer_syscall_post_impl_sched_getparam(long res, long pid,
2147                                                  long param);
2148void __sanitizer_syscall_pre_impl_sched_setaffinity(long pid, long len,
2149                                                    long user_mask_ptr);
2150void __sanitizer_syscall_post_impl_sched_setaffinity(long res, long pid,
2151                                                     long len,
2152                                                     long user_mask_ptr);
2153void __sanitizer_syscall_pre_impl_sched_getaffinity(long pid, long len,
2154                                                    long user_mask_ptr);
2155void __sanitizer_syscall_post_impl_sched_getaffinity(long res, long pid,
2156                                                     long len,
2157                                                     long user_mask_ptr);
2158void __sanitizer_syscall_pre_impl_sched_yield();
2159void __sanitizer_syscall_post_impl_sched_yield(long res);
2160void __sanitizer_syscall_pre_impl_sched_get_priority_max(long policy);
2161void __sanitizer_syscall_post_impl_sched_get_priority_max(long res,
2162                                                          long policy);
2163void __sanitizer_syscall_pre_impl_sched_get_priority_min(long policy);
2164void __sanitizer_syscall_post_impl_sched_get_priority_min(long res,
2165                                                          long policy);
2166void __sanitizer_syscall_pre_impl_sched_rr_get_interval(long pid,
2167                                                        long interval);
2168void __sanitizer_syscall_post_impl_sched_rr_get_interval(long res, long pid,
2169                                                         long interval);
2170void __sanitizer_syscall_pre_impl_setpriority(long which, long who,
2171                                              long niceval);
2172void __sanitizer_syscall_post_impl_setpriority(long res, long which, long who,
2173                                               long niceval);
2174void __sanitizer_syscall_pre_impl_getpriority(long which, long who);
2175void __sanitizer_syscall_post_impl_getpriority(long res, long which, long who);
2176void __sanitizer_syscall_pre_impl_shutdown(long arg0, long arg1);
2177void __sanitizer_syscall_post_impl_shutdown(long res, long arg0, long arg1);
2178void __sanitizer_syscall_pre_impl_reboot(long magic1, long magic2, long cmd,
2179                                         long arg);
2180void __sanitizer_syscall_post_impl_reboot(long res, long magic1, long magic2,
2181                                          long cmd, long arg);
2182void __sanitizer_syscall_pre_impl_restart_syscall();
2183void __sanitizer_syscall_post_impl_restart_syscall(long res);
2184void __sanitizer_syscall_pre_impl_kexec_load(long entry, long nr_segments,
2185                                             long segments, long flags);
2186void __sanitizer_syscall_post_impl_kexec_load(long res, long entry,
2187                                              long nr_segments, long segments,
2188                                              long flags);
2189void __sanitizer_syscall_pre_impl_exit(long error_code);
2190void __sanitizer_syscall_post_impl_exit(long res, long error_code);
2191void __sanitizer_syscall_pre_impl_exit_group(long error_code);
2192void __sanitizer_syscall_post_impl_exit_group(long res, long error_code);
2193void __sanitizer_syscall_pre_impl_wait4(long pid, long stat_addr, long options,
2194                                        long ru);
2195void __sanitizer_syscall_post_impl_wait4(long res, long pid, long stat_addr,
2196                                         long options, long ru);
2197void __sanitizer_syscall_pre_impl_waitid(long which, long pid, long infop,
2198                                         long options, long ru);
2199void __sanitizer_syscall_post_impl_waitid(long res, long which, long pid,
2200                                          long infop, long options, long ru);
2201void __sanitizer_syscall_pre_impl_waitpid(long pid, long stat_addr,
2202                                          long options);
2203void __sanitizer_syscall_post_impl_waitpid(long res, long pid, long stat_addr,
2204                                           long options);
2205void __sanitizer_syscall_pre_impl_set_tid_address(long tidptr);
2206void __sanitizer_syscall_post_impl_set_tid_address(long res, long tidptr);
2207void __sanitizer_syscall_pre_impl_init_module(long umod, long len, long uargs);
2208void __sanitizer_syscall_post_impl_init_module(long res, long umod, long len,
2209                                               long uargs);
2210void __sanitizer_syscall_pre_impl_delete_module(long name_user, long flags);
2211void __sanitizer_syscall_post_impl_delete_module(long res, long name_user,
2212                                                 long flags);
2213void __sanitizer_syscall_pre_impl_rt_sigprocmask(long how, long set, long oset,
2214                                                 long sigsetsize);
2215void __sanitizer_syscall_post_impl_rt_sigprocmask(long res, long how, long set,
2216                                                  long oset, long sigsetsize);
2217void __sanitizer_syscall_pre_impl_rt_sigpending(long set, long sigsetsize);
2218void __sanitizer_syscall_post_impl_rt_sigpending(long res, long set,
2219                                                 long sigsetsize);
2220void __sanitizer_syscall_pre_impl_rt_sigtimedwait(long uthese, long uinfo,
2221                                                  long uts, long sigsetsize);
2222void __sanitizer_syscall_post_impl_rt_sigtimedwait(long res, long uthese,
2223                                                   long uinfo, long uts,
2224                                                   long sigsetsize);
2225void __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo(long tgid, long pid,
2226                                                    long sig, long uinfo);
2227void __sanitizer_syscall_post_impl_rt_tgsigqueueinfo(long res, long tgid,
2228                                                     long pid, long sig,
2229                                                     long uinfo);
2230void __sanitizer_syscall_pre_impl_kill(long pid, long sig);
2231void __sanitizer_syscall_post_impl_kill(long res, long pid, long sig);
2232void __sanitizer_syscall_pre_impl_tgkill(long tgid, long pid, long sig);
2233void __sanitizer_syscall_post_impl_tgkill(long res, long tgid, long pid,
2234                                          long sig);
2235void __sanitizer_syscall_pre_impl_tkill(long pid, long sig);
2236void __sanitizer_syscall_post_impl_tkill(long res, long pid, long sig);
2237void __sanitizer_syscall_pre_impl_rt_sigqueueinfo(long pid, long sig,
2238                                                  long uinfo);
2239void __sanitizer_syscall_post_impl_rt_sigqueueinfo(long res, long pid, long sig,
2240                                                   long uinfo);
2241void __sanitizer_syscall_pre_impl_sgetmask();
2242void __sanitizer_syscall_post_impl_sgetmask(long res);
2243void __sanitizer_syscall_pre_impl_ssetmask(long newmask);
2244void __sanitizer_syscall_post_impl_ssetmask(long res, long newmask);
2245void __sanitizer_syscall_pre_impl_signal(long sig, long handler);
2246void __sanitizer_syscall_post_impl_signal(long res, long sig, long handler);
2247void __sanitizer_syscall_pre_impl_pause();
2248void __sanitizer_syscall_post_impl_pause(long res);
2249void __sanitizer_syscall_pre_impl_sync();
2250void __sanitizer_syscall_post_impl_sync(long res);
2251void __sanitizer_syscall_pre_impl_fsync(long fd);
2252void __sanitizer_syscall_post_impl_fsync(long res, long fd);
2253void __sanitizer_syscall_pre_impl_fdatasync(long fd);
2254void __sanitizer_syscall_post_impl_fdatasync(long res, long fd);
2255void __sanitizer_syscall_pre_impl_bdflush(long func, long data);
2256void __sanitizer_syscall_post_impl_bdflush(long res, long func, long data);
2257void __sanitizer_syscall_pre_impl_mount(long dev_name, long dir_name, long type,
2258                                        long flags, long data);
2259void __sanitizer_syscall_post_impl_mount(long res, long dev_name, long dir_name,
2260                                         long type, long flags, long data);
2261void __sanitizer_syscall_pre_impl_umount(long name, long flags);
2262void __sanitizer_syscall_post_impl_umount(long res, long name, long flags);
2263void __sanitizer_syscall_pre_impl_oldumount(long name);
2264void __sanitizer_syscall_post_impl_oldumount(long res, long name);
2265void __sanitizer_syscall_pre_impl_truncate(long path, long length);
2266void __sanitizer_syscall_post_impl_truncate(long res, long path, long length);
2267void __sanitizer_syscall_pre_impl_ftruncate(long fd, long length);
2268void __sanitizer_syscall_post_impl_ftruncate(long res, long fd, long length);
2269void __sanitizer_syscall_pre_impl_stat(long filename, long statbuf);
2270void __sanitizer_syscall_post_impl_stat(long res, long filename, long statbuf);
2271void __sanitizer_syscall_pre_impl_statfs(long path, long buf);
2272void __sanitizer_syscall_post_impl_statfs(long res, long path, long buf);
2273void __sanitizer_syscall_pre_impl_statfs64(long path, long sz, long buf);
2274void __sanitizer_syscall_post_impl_statfs64(long res, long path, long sz,
2275                                            long buf);
2276void __sanitizer_syscall_pre_impl_fstatfs(long fd, long buf);
2277void __sanitizer_syscall_post_impl_fstatfs(long res, long fd, long buf);
2278void __sanitizer_syscall_pre_impl_fstatfs64(long fd, long sz, long buf);
2279void __sanitizer_syscall_post_impl_fstatfs64(long res, long fd, long sz,
2280                                             long buf);
2281void __sanitizer_syscall_pre_impl_lstat(long filename, long statbuf);
2282void __sanitizer_syscall_post_impl_lstat(long res, long filename, long statbuf);
2283void __sanitizer_syscall_pre_impl_fstat(long fd, long statbuf);
2284void __sanitizer_syscall_post_impl_fstat(long res, long fd, long statbuf);
2285void __sanitizer_syscall_pre_impl_newstat(long filename, long statbuf);
2286void __sanitizer_syscall_post_impl_newstat(long res, long filename,
2287                                           long statbuf);
2288void __sanitizer_syscall_pre_impl_newlstat(long filename, long statbuf);
2289void __sanitizer_syscall_post_impl_newlstat(long res, long filename,
2290                                            long statbuf);
2291void __sanitizer_syscall_pre_impl_newfstat(long fd, long statbuf);
2292void __sanitizer_syscall_post_impl_newfstat(long res, long fd, long statbuf);
2293void __sanitizer_syscall_pre_impl_ustat(long dev, long ubuf);
2294void __sanitizer_syscall_post_impl_ustat(long res, long dev, long ubuf);
2295void __sanitizer_syscall_pre_impl_stat64(long filename, long statbuf);
2296void __sanitizer_syscall_post_impl_stat64(long res, long filename,
2297                                          long statbuf);
2298void __sanitizer_syscall_pre_impl_fstat64(long fd, long statbuf);
2299void __sanitizer_syscall_post_impl_fstat64(long res, long fd, long statbuf);
2300void __sanitizer_syscall_pre_impl_lstat64(long filename, long statbuf);
2301void __sanitizer_syscall_post_impl_lstat64(long res, long filename,
2302                                           long statbuf);
2303void __sanitizer_syscall_pre_impl_setxattr(long path, long name, long value,
2304                                           long size, long flags);
2305void __sanitizer_syscall_post_impl_setxattr(long res, long path, long name,
2306                                            long value, long size, long flags);
2307void __sanitizer_syscall_pre_impl_lsetxattr(long path, long name, long value,
2308                                            long size, long flags);
2309void __sanitizer_syscall_post_impl_lsetxattr(long res, long path, long name,
2310                                             long value, long size, long flags);
2311void __sanitizer_syscall_pre_impl_fsetxattr(long fd, long name, long value,
2312                                            long size, long flags);
2313void __sanitizer_syscall_post_impl_fsetxattr(long res, long fd, long name,
2314                                             long value, long size, long flags);
2315void __sanitizer_syscall_pre_impl_getxattr(long path, long name, long value,
2316                                           long size);
2317void __sanitizer_syscall_post_impl_getxattr(long res, long path, long name,
2318                                            long value, long size);
2319void __sanitizer_syscall_pre_impl_lgetxattr(long path, long name, long value,
2320                                            long size);
2321void __sanitizer_syscall_post_impl_lgetxattr(long res, long path, long name,
2322                                             long value, long size);
2323void __sanitizer_syscall_pre_impl_fgetxattr(long fd, long name, long value,
2324                                            long size);
2325void __sanitizer_syscall_post_impl_fgetxattr(long res, long fd, long name,
2326                                             long value, long size);
2327void __sanitizer_syscall_pre_impl_listxattr(long path, long list, long size);
2328void __sanitizer_syscall_post_impl_listxattr(long res, long path, long list,
2329                                             long size);
2330void __sanitizer_syscall_pre_impl_llistxattr(long path, long list, long size);
2331void __sanitizer_syscall_post_impl_llistxattr(long res, long path, long list,
2332                                              long size);
2333void __sanitizer_syscall_pre_impl_flistxattr(long fd, long list, long size);
2334void __sanitizer_syscall_post_impl_flistxattr(long res, long fd, long list,
2335                                              long size);
2336void __sanitizer_syscall_pre_impl_removexattr(long path, long name);
2337void __sanitizer_syscall_post_impl_removexattr(long res, long path, long name);
2338void __sanitizer_syscall_pre_impl_lremovexattr(long path, long name);
2339void __sanitizer_syscall_post_impl_lremovexattr(long res, long path, long name);
2340void __sanitizer_syscall_pre_impl_fremovexattr(long fd, long name);
2341void __sanitizer_syscall_post_impl_fremovexattr(long res, long fd, long name);
2342void __sanitizer_syscall_pre_impl_brk(long brk);
2343void __sanitizer_syscall_post_impl_brk(long res, long brk);
2344void __sanitizer_syscall_pre_impl_mprotect(long start, long len, long prot);
2345void __sanitizer_syscall_post_impl_mprotect(long res, long start, long len,
2346                                            long prot);
2347void __sanitizer_syscall_pre_impl_mremap(long addr, long old_len, long new_len,
2348                                         long flags, long new_addr);
2349void __sanitizer_syscall_post_impl_mremap(long res, long addr, long old_len,
2350                                          long new_len, long flags,
2351                                          long new_addr);
2352void __sanitizer_syscall_pre_impl_remap_file_pages(long start, long size,
2353                                                   long prot, long pgoff,
2354                                                   long flags);
2355void __sanitizer_syscall_post_impl_remap_file_pages(long res, long start,
2356                                                    long size, long prot,
2357                                                    long pgoff, long flags);
2358void __sanitizer_syscall_pre_impl_msync(long start, long len, long flags);
2359void __sanitizer_syscall_post_impl_msync(long res, long start, long len,
2360                                         long flags);
2361void __sanitizer_syscall_pre_impl_munmap(long addr, long len);
2362void __sanitizer_syscall_post_impl_munmap(long res, long addr, long len);
2363void __sanitizer_syscall_pre_impl_mlock(long start, long len);
2364void __sanitizer_syscall_post_impl_mlock(long res, long start, long len);
2365void __sanitizer_syscall_pre_impl_munlock(long start, long len);
2366void __sanitizer_syscall_post_impl_munlock(long res, long start, long len);
2367void __sanitizer_syscall_pre_impl_mlockall(long flags);
2368void __sanitizer_syscall_post_impl_mlockall(long res, long flags);
2369void __sanitizer_syscall_pre_impl_munlockall();
2370void __sanitizer_syscall_post_impl_munlockall(long res);
2371void __sanitizer_syscall_pre_impl_madvise(long start, long len, long behavior);
2372void __sanitizer_syscall_post_impl_madvise(long res, long start, long len,
2373                                           long behavior);
2374void __sanitizer_syscall_pre_impl_mincore(long start, long len, long vec);
2375void __sanitizer_syscall_post_impl_mincore(long res, long start, long len,
2376                                           long vec);
2377void __sanitizer_syscall_pre_impl_pivot_root(long new_root, long put_old);
2378void __sanitizer_syscall_post_impl_pivot_root(long res, long new_root,
2379                                              long put_old);
2380void __sanitizer_syscall_pre_impl_chroot(long filename);
2381void __sanitizer_syscall_post_impl_chroot(long res, long filename);
2382void __sanitizer_syscall_pre_impl_mknod(long filename, long mode, long dev);
2383void __sanitizer_syscall_post_impl_mknod(long res, long filename, long mode,
2384                                         long dev);
2385void __sanitizer_syscall_pre_impl_link(long oldname, long newname);
2386void __sanitizer_syscall_post_impl_link(long res, long oldname, long newname);
2387void __sanitizer_syscall_pre_impl_symlink(long old, long new_);
2388void __sanitizer_syscall_post_impl_symlink(long res, long old, long new_);
2389void __sanitizer_syscall_pre_impl_unlink(long pathname);
2390void __sanitizer_syscall_post_impl_unlink(long res, long pathname);
2391void __sanitizer_syscall_pre_impl_rename(long oldname, long newname);
2392void __sanitizer_syscall_post_impl_rename(long res, long oldname, long newname);
2393void __sanitizer_syscall_pre_impl_chmod(long filename, long mode);
2394void __sanitizer_syscall_post_impl_chmod(long res, long filename, long mode);
2395void __sanitizer_syscall_pre_impl_fchmod(long fd, long mode);
2396void __sanitizer_syscall_post_impl_fchmod(long res, long fd, long mode);
2397void __sanitizer_syscall_pre_impl_fcntl(long fd, long cmd, long arg);
2398void __sanitizer_syscall_post_impl_fcntl(long res, long fd, long cmd, long arg);
2399void __sanitizer_syscall_pre_impl_fcntl64(long fd, long cmd, long arg);
2400void __sanitizer_syscall_post_impl_fcntl64(long res, long fd, long cmd,
2401                                           long arg);
2402void __sanitizer_syscall_pre_impl_pipe(long fildes);
2403void __sanitizer_syscall_post_impl_pipe(long res, long fildes);
2404void __sanitizer_syscall_pre_impl_pipe2(long fildes, long flags);
2405void __sanitizer_syscall_post_impl_pipe2(long res, long fildes, long flags);
2406void __sanitizer_syscall_pre_impl_dup(long fildes);
2407void __sanitizer_syscall_post_impl_dup(long res, long fildes);
2408void __sanitizer_syscall_pre_impl_dup2(long oldfd, long newfd);
2409void __sanitizer_syscall_post_impl_dup2(long res, long oldfd, long newfd);
2410void __sanitizer_syscall_pre_impl_dup3(long oldfd, long newfd, long flags);
2411void __sanitizer_syscall_post_impl_dup3(long res, long oldfd, long newfd,
2412                                        long flags);
2413void __sanitizer_syscall_pre_impl_ioperm(long from, long num, long on);
2414void __sanitizer_syscall_post_impl_ioperm(long res, long from, long num,
2415                                          long on);
2416void __sanitizer_syscall_pre_impl_ioctl(long fd, long cmd, long arg);
2417void __sanitizer_syscall_post_impl_ioctl(long res, long fd, long cmd, long arg);
2418void __sanitizer_syscall_pre_impl_flock(long fd, long cmd);
2419void __sanitizer_syscall_post_impl_flock(long res, long fd, long cmd);
2420void __sanitizer_syscall_pre_impl_io_setup(long nr_reqs, long ctx);
2421void __sanitizer_syscall_post_impl_io_setup(long res, long nr_reqs, long ctx);
2422void __sanitizer_syscall_pre_impl_io_destroy(long ctx);
2423void __sanitizer_syscall_post_impl_io_destroy(long res, long ctx);
2424void __sanitizer_syscall_pre_impl_io_getevents(long ctx_id, long min_nr,
2425                                               long nr, long events,
2426                                               long timeout);
2427void __sanitizer_syscall_post_impl_io_getevents(long res, long ctx_id,
2428                                                long min_nr, long nr,
2429                                                long events, long timeout);
2430void __sanitizer_syscall_pre_impl_io_submit(long ctx_id, long arg1, long arg2);
2431void __sanitizer_syscall_post_impl_io_submit(long res, long ctx_id, long arg1,
2432                                             long arg2);
2433void __sanitizer_syscall_pre_impl_io_cancel(long ctx_id, long iocb,
2434                                            long result);
2435void __sanitizer_syscall_post_impl_io_cancel(long res, long ctx_id, long iocb,
2436                                             long result);
2437void __sanitizer_syscall_pre_impl_sendfile(long out_fd, long in_fd, long offset,
2438                                           long count);
2439void __sanitizer_syscall_post_impl_sendfile(long res, long out_fd, long in_fd,
2440                                            long offset, long count);
2441void __sanitizer_syscall_pre_impl_sendfile64(long out_fd, long in_fd,
2442                                             long offset, long count);
2443void __sanitizer_syscall_post_impl_sendfile64(long res, long out_fd, long in_fd,
2444                                              long offset, long count);
2445void __sanitizer_syscall_pre_impl_readlink(long path, long buf, long bufsiz);
2446void __sanitizer_syscall_post_impl_readlink(long res, long path, long buf,
2447                                            long bufsiz);
2448void __sanitizer_syscall_pre_impl_creat(long pathname, long mode);
2449void __sanitizer_syscall_post_impl_creat(long res, long pathname, long mode);
2450void __sanitizer_syscall_pre_impl_open(long filename, long flags, long mode);
2451void __sanitizer_syscall_post_impl_open(long res, long filename, long flags,
2452                                        long mode);
2453void __sanitizer_syscall_pre_impl_close(long fd);
2454void __sanitizer_syscall_post_impl_close(long res, long fd);
2455void __sanitizer_syscall_pre_impl_access(long filename, long mode);
2456void __sanitizer_syscall_post_impl_access(long res, long filename, long mode);
2457void __sanitizer_syscall_pre_impl_vhangup();
2458void __sanitizer_syscall_post_impl_vhangup(long res);
2459void __sanitizer_syscall_pre_impl_chown(long filename, long user, long group);
2460void __sanitizer_syscall_post_impl_chown(long res, long filename, long user,
2461                                         long group);
2462void __sanitizer_syscall_pre_impl_lchown(long filename, long user, long group);
2463void __sanitizer_syscall_post_impl_lchown(long res, long filename, long user,
2464                                          long group);
2465void __sanitizer_syscall_pre_impl_fchown(long fd, long user, long group);
2466void __sanitizer_syscall_post_impl_fchown(long res, long fd, long user,
2467                                          long group);
2468void __sanitizer_syscall_pre_impl_chown16(long filename, long user, long group);
2469void __sanitizer_syscall_post_impl_chown16(long res, long filename, long user,
2470                                           long group);
2471void __sanitizer_syscall_pre_impl_lchown16(long filename, long user,
2472                                           long group);
2473void __sanitizer_syscall_post_impl_lchown16(long res, long filename, long user,
2474                                            long group);
2475void __sanitizer_syscall_pre_impl_fchown16(long fd, long user, long group);
2476void __sanitizer_syscall_post_impl_fchown16(long res, long fd, long user,
2477                                            long group);
2478void __sanitizer_syscall_pre_impl_setregid16(long rgid, long egid);
2479void __sanitizer_syscall_post_impl_setregid16(long res, long rgid, long egid);
2480void __sanitizer_syscall_pre_impl_setgid16(long gid);
2481void __sanitizer_syscall_post_impl_setgid16(long res, long gid);
2482void __sanitizer_syscall_pre_impl_setreuid16(long ruid, long euid);
2483void __sanitizer_syscall_post_impl_setreuid16(long res, long ruid, long euid);
2484void __sanitizer_syscall_pre_impl_setuid16(long uid);
2485void __sanitizer_syscall_post_impl_setuid16(long res, long uid);
2486void __sanitizer_syscall_pre_impl_setresuid16(long ruid, long euid, long suid);
2487void __sanitizer_syscall_post_impl_setresuid16(long res, long ruid, long euid,
2488                                               long suid);
2489void __sanitizer_syscall_pre_impl_getresuid16(long ruid, long euid, long suid);
2490void __sanitizer_syscall_post_impl_getresuid16(long res, long ruid, long euid,
2491                                               long suid);
2492void __sanitizer_syscall_pre_impl_setresgid16(long rgid, long egid, long sgid);
2493void __sanitizer_syscall_post_impl_setresgid16(long res, long rgid, long egid,
2494                                               long sgid);
2495void __sanitizer_syscall_pre_impl_getresgid16(long rgid, long egid, long sgid);
2496void __sanitizer_syscall_post_impl_getresgid16(long res, long rgid, long egid,
2497                                               long sgid);
2498void __sanitizer_syscall_pre_impl_setfsuid16(long uid);
2499void __sanitizer_syscall_post_impl_setfsuid16(long res, long uid);
2500void __sanitizer_syscall_pre_impl_setfsgid16(long gid);
2501void __sanitizer_syscall_post_impl_setfsgid16(long res, long gid);
2502void __sanitizer_syscall_pre_impl_getgroups16(long gidsetsize, long grouplist);
2503void __sanitizer_syscall_post_impl_getgroups16(long res, long gidsetsize,
2504                                               long grouplist);
2505void __sanitizer_syscall_pre_impl_setgroups16(long gidsetsize, long grouplist);
2506void __sanitizer_syscall_post_impl_setgroups16(long res, long gidsetsize,
2507                                               long grouplist);
2508void __sanitizer_syscall_pre_impl_getuid16();
2509void __sanitizer_syscall_post_impl_getuid16(long res);
2510void __sanitizer_syscall_pre_impl_geteuid16();
2511void __sanitizer_syscall_post_impl_geteuid16(long res);
2512void __sanitizer_syscall_pre_impl_getgid16();
2513void __sanitizer_syscall_post_impl_getgid16(long res);
2514void __sanitizer_syscall_pre_impl_getegid16();
2515void __sanitizer_syscall_post_impl_getegid16(long res);
2516void __sanitizer_syscall_pre_impl_utime(long filename, long times);
2517void __sanitizer_syscall_post_impl_utime(long res, long filename, long times);
2518void __sanitizer_syscall_pre_impl_utimes(long filename, long utimes);
2519void __sanitizer_syscall_post_impl_utimes(long res, long filename, long utimes);
2520void __sanitizer_syscall_pre_impl_lseek(long fd, long offset, long origin);
2521void __sanitizer_syscall_post_impl_lseek(long res, long fd, long offset,
2522                                         long origin);
2523void __sanitizer_syscall_pre_impl_llseek(long fd, long offset_high,
2524                                         long offset_low, long result,
2525                                         long origin);
2526void __sanitizer_syscall_post_impl_llseek(long res, long fd, long offset_high,
2527                                          long offset_low, long result,
2528                                          long origin);
2529void __sanitizer_syscall_pre_impl_read(long fd, long buf, long count);
2530void __sanitizer_syscall_post_impl_read(long res, long fd, long buf,
2531                                        long count);
2532void __sanitizer_syscall_pre_impl_readv(long fd, long vec, long vlen);
2533void __sanitizer_syscall_post_impl_readv(long res, long fd, long vec,
2534                                         long vlen);
2535void __sanitizer_syscall_pre_impl_write(long fd, long buf, long count);
2536void __sanitizer_syscall_post_impl_write(long res, long fd, long buf,
2537                                         long count);
2538void __sanitizer_syscall_pre_impl_writev(long fd, long vec, long vlen);
2539void __sanitizer_syscall_post_impl_writev(long res, long fd, long vec,
2540                                          long vlen);
2541
2542#ifdef _LP64
2543void __sanitizer_syscall_pre_impl_pread64(long fd, long buf, long count,
2544                                          long pos);
2545void __sanitizer_syscall_post_impl_pread64(long res, long fd, long buf,
2546                                           long count, long pos);
2547void __sanitizer_syscall_pre_impl_pwrite64(long fd, long buf, long count,
2548                                           long pos);
2549void __sanitizer_syscall_post_impl_pwrite64(long res, long fd, long buf,
2550                                            long count, long pos);
2551#else
2552void __sanitizer_syscall_pre_impl_pread64(long fd, long buf, long count,
2553                                          long pos0, long pos1);
2554void __sanitizer_syscall_post_impl_pread64(long res, long fd, long buf,
2555                                           long count, long pos0, long pos1);
2556void __sanitizer_syscall_pre_impl_pwrite64(long fd, long buf, long count,
2557                                           long pos0, long pos1);
2558void __sanitizer_syscall_post_impl_pwrite64(long res, long fd, long buf,
2559                                            long count, long pos0, long pos1);
2560#endif
2561
2562void __sanitizer_syscall_pre_impl_preadv(long fd, long vec, long vlen,
2563                                         long pos_l, long pos_h);
2564void __sanitizer_syscall_post_impl_preadv(long res, long fd, long vec,
2565                                          long vlen, long pos_l, long pos_h);
2566void __sanitizer_syscall_pre_impl_pwritev(long fd, long vec, long vlen,
2567                                          long pos_l, long pos_h);
2568void __sanitizer_syscall_post_impl_pwritev(long res, long fd, long vec,
2569                                           long vlen, long pos_l, long pos_h);
2570void __sanitizer_syscall_pre_impl_getcwd(long buf, long size);
2571void __sanitizer_syscall_post_impl_getcwd(long res, long buf, long size);
2572void __sanitizer_syscall_pre_impl_mkdir(long pathname, long mode);
2573void __sanitizer_syscall_post_impl_mkdir(long res, long pathname, long mode);
2574void __sanitizer_syscall_pre_impl_chdir(long filename);
2575void __sanitizer_syscall_post_impl_chdir(long res, long filename);
2576void __sanitizer_syscall_pre_impl_fchdir(long fd);
2577void __sanitizer_syscall_post_impl_fchdir(long res, long fd);
2578void __sanitizer_syscall_pre_impl_rmdir(long pathname);
2579void __sanitizer_syscall_post_impl_rmdir(long res, long pathname);
2580void __sanitizer_syscall_pre_impl_lookup_dcookie(long cookie64, long buf,
2581                                                 long len);
2582void __sanitizer_syscall_post_impl_lookup_dcookie(long res, long cookie64,
2583                                                  long buf, long len);
2584void __sanitizer_syscall_pre_impl_quotactl(long cmd, long special, long id,
2585                                           long addr);
2586void __sanitizer_syscall_post_impl_quotactl(long res, long cmd, long special,
2587                                            long id, long addr);
2588void __sanitizer_syscall_pre_impl_getdents(long fd, long dirent, long count);
2589void __sanitizer_syscall_post_impl_getdents(long res, long fd, long dirent,
2590                                            long count);
2591void __sanitizer_syscall_pre_impl_getdents64(long fd, long dirent, long count);
2592void __sanitizer_syscall_post_impl_getdents64(long res, long fd, long dirent,
2593                                              long count);
2594void __sanitizer_syscall_pre_impl_setsockopt(long fd, long level, long optname,
2595                                             long optval, long optlen);
2596void __sanitizer_syscall_post_impl_setsockopt(long res, long fd, long level,
2597                                              long optname, long optval,
2598                                              long optlen);
2599void __sanitizer_syscall_pre_impl_getsockopt(long fd, long level, long optname,
2600                                             long optval, long optlen);
2601void __sanitizer_syscall_post_impl_getsockopt(long res, long fd, long level,
2602                                              long optname, long optval,
2603                                              long optlen);
2604void __sanitizer_syscall_pre_impl_bind(long arg0, long arg1, long arg2);
2605void __sanitizer_syscall_post_impl_bind(long res, long arg0, long arg1,
2606                                        long arg2);
2607void __sanitizer_syscall_pre_impl_connect(long arg0, long arg1, long arg2);
2608void __sanitizer_syscall_post_impl_connect(long res, long arg0, long arg1,
2609                                           long arg2);
2610void __sanitizer_syscall_pre_impl_accept(long arg0, long arg1, long arg2);
2611void __sanitizer_syscall_post_impl_accept(long res, long arg0, long arg1,
2612                                          long arg2);
2613void __sanitizer_syscall_pre_impl_accept4(long arg0, long arg1, long arg2,
2614                                          long arg3);
2615void __sanitizer_syscall_post_impl_accept4(long res, long arg0, long arg1,
2616                                           long arg2, long arg3);
2617void __sanitizer_syscall_pre_impl_getsockname(long arg0, long arg1, long arg2);
2618void __sanitizer_syscall_post_impl_getsockname(long res, long arg0, long arg1,
2619                                               long arg2);
2620void __sanitizer_syscall_pre_impl_getpeername(long arg0, long arg1, long arg2);
2621void __sanitizer_syscall_post_impl_getpeername(long res, long arg0, long arg1,
2622                                               long arg2);
2623void __sanitizer_syscall_pre_impl_send(long arg0, long arg1, long arg2,
2624                                       long arg3);
2625void __sanitizer_syscall_post_impl_send(long res, long arg0, long arg1,
2626                                        long arg2, long arg3);
2627void __sanitizer_syscall_pre_impl_sendto(long arg0, long arg1, long arg2,
2628                                         long arg3, long arg4, long arg5);
2629void __sanitizer_syscall_post_impl_sendto(long res, long arg0, long arg1,
2630                                          long arg2, long arg3, long arg4,
2631                                          long arg5);
2632void __sanitizer_syscall_pre_impl_sendmsg(long fd, long msg, long flags);
2633void __sanitizer_syscall_post_impl_sendmsg(long res, long fd, long msg,
2634                                           long flags);
2635void __sanitizer_syscall_pre_impl_sendmmsg(long fd, long msg, long vlen,
2636                                           long flags);
2637void __sanitizer_syscall_post_impl_sendmmsg(long res, long fd, long msg,
2638                                            long vlen, long flags);
2639void __sanitizer_syscall_pre_impl_recv(long arg0, long arg1, long arg2,
2640                                       long arg3);
2641void __sanitizer_syscall_post_impl_recv(long res, long arg0, long arg1,
2642                                        long arg2, long arg3);
2643void __sanitizer_syscall_pre_impl_recvfrom(long arg0, long arg1, long arg2,
2644                                           long arg3, long arg4, long arg5);
2645void __sanitizer_syscall_post_impl_recvfrom(long res, long arg0, long arg1,
2646                                            long arg2, long arg3, long arg4,
2647                                            long arg5);
2648void __sanitizer_syscall_pre_impl_recvmsg(long fd, long msg, long flags);
2649void __sanitizer_syscall_post_impl_recvmsg(long res, long fd, long msg,
2650                                           long flags);
2651void __sanitizer_syscall_pre_impl_recvmmsg(long fd, long msg, long vlen,
2652                                           long flags, long timeout);
2653void __sanitizer_syscall_post_impl_recvmmsg(long res, long fd, long msg,
2654                                            long vlen, long flags,
2655                                            long timeout);
2656void __sanitizer_syscall_pre_impl_socket(long arg0, long arg1, long arg2);
2657void __sanitizer_syscall_post_impl_socket(long res, long arg0, long arg1,
2658                                          long arg2);
2659void __sanitizer_syscall_pre_impl_socketpair(long arg0, long arg1, long arg2,
2660                                             long arg3);
2661void __sanitizer_syscall_post_impl_socketpair(long res, long arg0, long arg1,
2662                                              long arg2, long arg3);
2663void __sanitizer_syscall_pre_impl_socketcall(long call, long args);
2664void __sanitizer_syscall_post_impl_socketcall(long res, long call, long args);
2665void __sanitizer_syscall_pre_impl_listen(long arg0, long arg1);
2666void __sanitizer_syscall_post_impl_listen(long res, long arg0, long arg1);
2667void __sanitizer_syscall_pre_impl_poll(long ufds, long nfds, long timeout);
2668void __sanitizer_syscall_post_impl_poll(long res, long ufds, long nfds,
2669                                        long timeout);
2670void __sanitizer_syscall_pre_impl_select(long n, long inp, long outp, long exp,
2671                                         long tvp);
2672void __sanitizer_syscall_post_impl_select(long res, long n, long inp, long outp,
2673                                          long exp, long tvp);
2674void __sanitizer_syscall_pre_impl_old_select(long arg);
2675void __sanitizer_syscall_post_impl_old_select(long res, long arg);
2676void __sanitizer_syscall_pre_impl_epoll_create(long size);
2677void __sanitizer_syscall_post_impl_epoll_create(long res, long size);
2678void __sanitizer_syscall_pre_impl_epoll_create1(long flags);
2679void __sanitizer_syscall_post_impl_epoll_create1(long res, long flags);
2680void __sanitizer_syscall_pre_impl_epoll_ctl(long epfd, long op, long fd,
2681                                            long event);
2682void __sanitizer_syscall_post_impl_epoll_ctl(long res, long epfd, long op,
2683                                             long fd, long event);
2684void __sanitizer_syscall_pre_impl_epoll_wait(long epfd, long events,
2685                                             long maxevents, long timeout);
2686void __sanitizer_syscall_post_impl_epoll_wait(long res, long epfd, long events,
2687                                              long maxevents, long timeout);
2688void __sanitizer_syscall_pre_impl_epoll_pwait(long epfd, long events,
2689                                              long maxevents, long timeout,
2690                                              long sigmask, long sigsetsize);
2691void __sanitizer_syscall_post_impl_epoll_pwait(long res, long epfd, long events,
2692                                               long maxevents, long timeout,
2693                                               long sigmask, long sigsetsize);
2694void __sanitizer_syscall_pre_impl_gethostname(long name, long len);
2695void __sanitizer_syscall_post_impl_gethostname(long res, long name, long len);
2696void __sanitizer_syscall_pre_impl_sethostname(long name, long len);
2697void __sanitizer_syscall_post_impl_sethostname(long res, long name, long len);
2698void __sanitizer_syscall_pre_impl_setdomainname(long name, long len);
2699void __sanitizer_syscall_post_impl_setdomainname(long res, long name, long len);
2700void __sanitizer_syscall_pre_impl_newuname(long name);
2701void __sanitizer_syscall_post_impl_newuname(long res, long name);
2702void __sanitizer_syscall_pre_impl_uname(long arg0);
2703void __sanitizer_syscall_post_impl_uname(long res, long arg0);
2704void __sanitizer_syscall_pre_impl_olduname(long arg0);
2705void __sanitizer_syscall_post_impl_olduname(long res, long arg0);
2706void __sanitizer_syscall_pre_impl_getrlimit(long resource, long rlim);
2707void __sanitizer_syscall_post_impl_getrlimit(long res, long resource,
2708                                             long rlim);
2709void __sanitizer_syscall_pre_impl_old_getrlimit(long resource, long rlim);
2710void __sanitizer_syscall_post_impl_old_getrlimit(long res, long resource,
2711                                                 long rlim);
2712void __sanitizer_syscall_pre_impl_setrlimit(long resource, long rlim);
2713void __sanitizer_syscall_post_impl_setrlimit(long res, long resource,
2714                                             long rlim);
2715void __sanitizer_syscall_pre_impl_prlimit64(long pid, long resource,
2716                                            long new_rlim, long old_rlim);
2717void __sanitizer_syscall_post_impl_prlimit64(long res, long pid, long resource,
2718                                             long new_rlim, long old_rlim);
2719void __sanitizer_syscall_pre_impl_getrusage(long who, long ru);
2720void __sanitizer_syscall_post_impl_getrusage(long res, long who, long ru);
2721void __sanitizer_syscall_pre_impl_umask(long mask);
2722void __sanitizer_syscall_post_impl_umask(long res, long mask);
2723void __sanitizer_syscall_pre_impl_msgget(long key, long msgflg);
2724void __sanitizer_syscall_post_impl_msgget(long res, long key, long msgflg);
2725void __sanitizer_syscall_pre_impl_msgsnd(long msqid, long msgp, long msgsz,
2726                                         long msgflg);
2727void __sanitizer_syscall_post_impl_msgsnd(long res, long msqid, long msgp,
2728                                          long msgsz, long msgflg);
2729void __sanitizer_syscall_pre_impl_msgrcv(long msqid, long msgp, long msgsz,
2730                                         long msgtyp, long msgflg);
2731void __sanitizer_syscall_post_impl_msgrcv(long res, long msqid, long msgp,
2732                                          long msgsz, long msgtyp, long msgflg);
2733void __sanitizer_syscall_pre_impl_msgctl(long msqid, long cmd, long buf);
2734void __sanitizer_syscall_post_impl_msgctl(long res, long msqid, long cmd,
2735                                          long buf);
2736void __sanitizer_syscall_pre_impl_semget(long key, long nsems, long semflg);
2737void __sanitizer_syscall_post_impl_semget(long res, long key, long nsems,
2738                                          long semflg);
2739void __sanitizer_syscall_pre_impl_semop(long semid, long sops, long nsops);
2740void __sanitizer_syscall_post_impl_semop(long res, long semid, long sops,
2741                                         long nsops);
2742void __sanitizer_syscall_pre_impl_semctl(long semid, long semnum, long cmd,
2743                                         long arg);
2744void __sanitizer_syscall_post_impl_semctl(long res, long semid, long semnum,
2745                                          long cmd, long arg);
2746void __sanitizer_syscall_pre_impl_semtimedop(long semid, long sops, long nsops,
2747                                             long timeout);
2748void __sanitizer_syscall_post_impl_semtimedop(long res, long semid, long sops,
2749                                              long nsops, long timeout);
2750void __sanitizer_syscall_pre_impl_shmat(long shmid, long shmaddr, long shmflg);
2751void __sanitizer_syscall_post_impl_shmat(long res, long shmid, long shmaddr,
2752                                         long shmflg);
2753void __sanitizer_syscall_pre_impl_shmget(long key, long size, long flag);
2754void __sanitizer_syscall_post_impl_shmget(long res, long key, long size,
2755                                          long flag);
2756void __sanitizer_syscall_pre_impl_shmdt(long shmaddr);
2757void __sanitizer_syscall_post_impl_shmdt(long res, long shmaddr);
2758void __sanitizer_syscall_pre_impl_shmctl(long shmid, long cmd, long buf);
2759void __sanitizer_syscall_post_impl_shmctl(long res, long shmid, long cmd,
2760                                          long buf);
2761void __sanitizer_syscall_pre_impl_ipc(long call, long first, long second,
2762                                      long third, long ptr, long fifth);
2763void __sanitizer_syscall_post_impl_ipc(long res, long call, long first,
2764                                       long second, long third, long ptr,
2765                                       long fifth);
2766void __sanitizer_syscall_pre_impl_mq_open(long name, long oflag, long mode,
2767                                          long attr);
2768void __sanitizer_syscall_post_impl_mq_open(long res, long name, long oflag,
2769                                           long mode, long attr);
2770void __sanitizer_syscall_pre_impl_mq_unlink(long name);
2771void __sanitizer_syscall_post_impl_mq_unlink(long res, long name);
2772void __sanitizer_syscall_pre_impl_mq_timedsend(long mqdes, long msg_ptr,
2773                                               long msg_len, long msg_prio,
2774                                               long abs_timeout);
2775void __sanitizer_syscall_post_impl_mq_timedsend(long res, long mqdes,
2776                                                long msg_ptr, long msg_len,
2777                                                long msg_prio,
2778                                                long abs_timeout);
2779void __sanitizer_syscall_pre_impl_mq_timedreceive(long mqdes, long msg_ptr,
2780                                                  long msg_len, long msg_prio,
2781                                                  long abs_timeout);
2782void __sanitizer_syscall_post_impl_mq_timedreceive(long res, long mqdes,
2783                                                   long msg_ptr, long msg_len,
2784                                                   long msg_prio,
2785                                                   long abs_timeout);
2786void __sanitizer_syscall_pre_impl_mq_notify(long mqdes, long notification);
2787void __sanitizer_syscall_post_impl_mq_notify(long res, long mqdes,
2788                                             long notification);
2789void __sanitizer_syscall_pre_impl_mq_getsetattr(long mqdes, long mqstat,
2790                                                long omqstat);
2791void __sanitizer_syscall_post_impl_mq_getsetattr(long res, long mqdes,
2792                                                 long mqstat, long omqstat);
2793void __sanitizer_syscall_pre_impl_pciconfig_iobase(long which, long bus,
2794                                                   long devfn);
2795void __sanitizer_syscall_post_impl_pciconfig_iobase(long res, long which,
2796                                                    long bus, long devfn);
2797void __sanitizer_syscall_pre_impl_pciconfig_read(long bus, long dfn, long off,
2798                                                 long len, long buf);
2799void __sanitizer_syscall_post_impl_pciconfig_read(long res, long bus, long dfn,
2800                                                  long off, long len, long buf);
2801void __sanitizer_syscall_pre_impl_pciconfig_write(long bus, long dfn, long off,
2802                                                  long len, long buf);
2803void __sanitizer_syscall_post_impl_pciconfig_write(long res, long bus, long dfn,
2804                                                   long off, long len,
2805                                                   long buf);
2806void __sanitizer_syscall_pre_impl_swapon(long specialfile, long swap_flags);
2807void __sanitizer_syscall_post_impl_swapon(long res, long specialfile,
2808                                          long swap_flags);
2809void __sanitizer_syscall_pre_impl_swapoff(long specialfile);
2810void __sanitizer_syscall_post_impl_swapoff(long res, long specialfile);
2811void __sanitizer_syscall_pre_impl_sysctl(long args);
2812void __sanitizer_syscall_post_impl_sysctl(long res, long args);
2813void __sanitizer_syscall_pre_impl_sysinfo(long info);
2814void __sanitizer_syscall_post_impl_sysinfo(long res, long info);
2815void __sanitizer_syscall_pre_impl_sysfs(long option, long arg1, long arg2);
2816void __sanitizer_syscall_post_impl_sysfs(long res, long option, long arg1,
2817                                         long arg2);
2818void __sanitizer_syscall_pre_impl_syslog(long type, long buf, long len);
2819void __sanitizer_syscall_post_impl_syslog(long res, long type, long buf,
2820                                          long len);
2821void __sanitizer_syscall_pre_impl_uselib(long library);
2822void __sanitizer_syscall_post_impl_uselib(long res, long library);
2823void __sanitizer_syscall_pre_impl_ni_syscall();
2824void __sanitizer_syscall_post_impl_ni_syscall(long res);
2825void __sanitizer_syscall_pre_impl_ptrace(long request, long pid, long addr,
2826                                         long data);
2827void __sanitizer_syscall_post_impl_ptrace(long res, long request, long pid,
2828                                          long addr, long data);
2829void __sanitizer_syscall_pre_impl_add_key(long _type, long _description,
2830                                          long _payload, long plen,
2831                                          long destringid);
2832void __sanitizer_syscall_post_impl_add_key(long res, long _type,
2833                                           long _description, long _payload,
2834                                           long plen, long destringid);
2835void __sanitizer_syscall_pre_impl_request_key(long _type, long _description,
2836                                              long _callout_info,
2837                                              long destringid);
2838void __sanitizer_syscall_post_impl_request_key(long res, long _type,
2839                                               long _description,
2840                                               long _callout_info,
2841                                               long destringid);
2842void __sanitizer_syscall_pre_impl_keyctl(long cmd, long arg2, long arg3,
2843                                         long arg4, long arg5);
2844void __sanitizer_syscall_post_impl_keyctl(long res, long cmd, long arg2,
2845                                          long arg3, long arg4, long arg5);
2846void __sanitizer_syscall_pre_impl_ioprio_set(long which, long who, long ioprio);
2847void __sanitizer_syscall_post_impl_ioprio_set(long res, long which, long who,
2848                                              long ioprio);
2849void __sanitizer_syscall_pre_impl_ioprio_get(long which, long who);
2850void __sanitizer_syscall_post_impl_ioprio_get(long res, long which, long who);
2851void __sanitizer_syscall_pre_impl_set_mempolicy(long mode, long nmask,
2852                                                long maxnode);
2853void __sanitizer_syscall_post_impl_set_mempolicy(long res, long mode,
2854                                                 long nmask, long maxnode);
2855void __sanitizer_syscall_pre_impl_migrate_pages(long pid, long maxnode,
2856                                                long from, long to);
2857void __sanitizer_syscall_post_impl_migrate_pages(long res, long pid,
2858                                                 long maxnode, long from,
2859                                                 long to);
2860void __sanitizer_syscall_pre_impl_move_pages(long pid, long nr_pages,
2861                                             long pages, long nodes,
2862                                             long status, long flags);
2863void __sanitizer_syscall_post_impl_move_pages(long res, long pid, long nr_pages,
2864                                              long pages, long nodes,
2865                                              long status, long flags);
2866void __sanitizer_syscall_pre_impl_mbind(long start, long len, long mode,
2867                                        long nmask, long maxnode, long flags);
2868void __sanitizer_syscall_post_impl_mbind(long res, long start, long len,
2869                                         long mode, long nmask, long maxnode,
2870                                         long flags);
2871void __sanitizer_syscall_pre_impl_get_mempolicy(long policy, long nmask,
2872                                                long maxnode, long addr,
2873                                                long flags);
2874void __sanitizer_syscall_post_impl_get_mempolicy(long res, long policy,
2875                                                 long nmask, long maxnode,
2876                                                 long addr, long flags);
2877void __sanitizer_syscall_pre_impl_inotify_init();
2878void __sanitizer_syscall_post_impl_inotify_init(long res);
2879void __sanitizer_syscall_pre_impl_inotify_init1(long flags);
2880void __sanitizer_syscall_post_impl_inotify_init1(long res, long flags);
2881void __sanitizer_syscall_pre_impl_inotify_add_watch(long fd, long path,
2882                                                    long mask);
2883void __sanitizer_syscall_post_impl_inotify_add_watch(long res, long fd,
2884                                                     long path, long mask);
2885void __sanitizer_syscall_pre_impl_inotify_rm_watch(long fd, long wd);
2886void __sanitizer_syscall_post_impl_inotify_rm_watch(long res, long fd, long wd);
2887void __sanitizer_syscall_pre_impl_spu_run(long fd, long unpc, long ustatus);
2888void __sanitizer_syscall_post_impl_spu_run(long res, long fd, long unpc,
2889                                           long ustatus);
2890void __sanitizer_syscall_pre_impl_spu_create(long name, long flags, long mode,
2891                                             long fd);
2892void __sanitizer_syscall_post_impl_spu_create(long res, long name, long flags,
2893                                              long mode, long fd);
2894void __sanitizer_syscall_pre_impl_mknodat(long dfd, long filename, long mode,
2895                                          long dev);
2896void __sanitizer_syscall_post_impl_mknodat(long res, long dfd, long filename,
2897                                           long mode, long dev);
2898void __sanitizer_syscall_pre_impl_mkdirat(long dfd, long pathname, long mode);
2899void __sanitizer_syscall_post_impl_mkdirat(long res, long dfd, long pathname,
2900                                           long mode);
2901void __sanitizer_syscall_pre_impl_unlinkat(long dfd, long pathname, long flag);
2902void __sanitizer_syscall_post_impl_unlinkat(long res, long dfd, long pathname,
2903                                            long flag);
2904void __sanitizer_syscall_pre_impl_symlinkat(long oldname, long newdfd,
2905                                            long newname);
2906void __sanitizer_syscall_post_impl_symlinkat(long res, long oldname,
2907                                             long newdfd, long newname);
2908void __sanitizer_syscall_pre_impl_linkat(long olddfd, long oldname, long newdfd,
2909                                         long newname, long flags);
2910void __sanitizer_syscall_post_impl_linkat(long res, long olddfd, long oldname,
2911                                          long newdfd, long newname,
2912                                          long flags);
2913void __sanitizer_syscall_pre_impl_renameat(long olddfd, long oldname,
2914                                           long newdfd, long newname);
2915void __sanitizer_syscall_post_impl_renameat(long res, long olddfd, long oldname,
2916                                            long newdfd, long newname);
2917void __sanitizer_syscall_pre_impl_futimesat(long dfd, long filename,
2918                                            long utimes);
2919void __sanitizer_syscall_post_impl_futimesat(long res, long dfd, long filename,
2920                                             long utimes);
2921void __sanitizer_syscall_pre_impl_faccessat(long dfd, long filename, long mode);
2922void __sanitizer_syscall_post_impl_faccessat(long res, long dfd, long filename,
2923                                             long mode);
2924void __sanitizer_syscall_pre_impl_fchmodat(long dfd, long filename, long mode);
2925void __sanitizer_syscall_post_impl_fchmodat(long res, long dfd, long filename,
2926                                            long mode);
2927void __sanitizer_syscall_pre_impl_fchownat(long dfd, long filename, long user,
2928                                           long group, long flag);
2929void __sanitizer_syscall_post_impl_fchownat(long res, long dfd, long filename,
2930                                            long user, long group, long flag);
2931void __sanitizer_syscall_pre_impl_openat(long dfd, long filename, long flags,
2932                                         long mode);
2933void __sanitizer_syscall_post_impl_openat(long res, long dfd, long filename,
2934                                          long flags, long mode);
2935void __sanitizer_syscall_pre_impl_newfstatat(long dfd, long filename,
2936                                             long statbuf, long flag);
2937void __sanitizer_syscall_post_impl_newfstatat(long res, long dfd, long filename,
2938                                              long statbuf, long flag);
2939void __sanitizer_syscall_pre_impl_fstatat64(long dfd, long filename,
2940                                            long statbuf, long flag);
2941void __sanitizer_syscall_post_impl_fstatat64(long res, long dfd, long filename,
2942                                             long statbuf, long flag);
2943void __sanitizer_syscall_pre_impl_readlinkat(long dfd, long path, long buf,
2944                                             long bufsiz);
2945void __sanitizer_syscall_post_impl_readlinkat(long res, long dfd, long path,
2946                                              long buf, long bufsiz);
2947void __sanitizer_syscall_pre_impl_utimensat(long dfd, long filename,
2948                                            long utimes, long flags);
2949void __sanitizer_syscall_post_impl_utimensat(long res, long dfd, long filename,
2950                                             long utimes, long flags);
2951void __sanitizer_syscall_pre_impl_unshare(long unshare_flags);
2952void __sanitizer_syscall_post_impl_unshare(long res, long unshare_flags);
2953void __sanitizer_syscall_pre_impl_splice(long fd_in, long off_in, long fd_out,
2954                                         long off_out, long len, long flags);
2955void __sanitizer_syscall_post_impl_splice(long res, long fd_in, long off_in,
2956                                          long fd_out, long off_out, long len,
2957                                          long flags);
2958void __sanitizer_syscall_pre_impl_vmsplice(long fd, long iov, long nr_segs,
2959                                           long flags);
2960void __sanitizer_syscall_post_impl_vmsplice(long res, long fd, long iov,
2961                                            long nr_segs, long flags);
2962void __sanitizer_syscall_pre_impl_tee(long fdin, long fdout, long len,
2963                                      long flags);
2964void __sanitizer_syscall_post_impl_tee(long res, long fdin, long fdout,
2965                                       long len, long flags);
2966void __sanitizer_syscall_pre_impl_get_robust_list(long pid, long head_ptr,
2967                                                  long len_ptr);
2968void __sanitizer_syscall_post_impl_get_robust_list(long res, long pid,
2969                                                   long head_ptr, long len_ptr);
2970void __sanitizer_syscall_pre_impl_set_robust_list(long head, long len);
2971void __sanitizer_syscall_post_impl_set_robust_list(long res, long head,
2972                                                   long len);
2973void __sanitizer_syscall_pre_impl_getcpu(long cpu, long node, long cache);
2974void __sanitizer_syscall_post_impl_getcpu(long res, long cpu, long node,
2975                                          long cache);
2976void __sanitizer_syscall_pre_impl_signalfd(long ufd, long user_mask,
2977                                           long sizemask);
2978void __sanitizer_syscall_post_impl_signalfd(long res, long ufd, long user_mask,
2979                                            long sizemask);
2980void __sanitizer_syscall_pre_impl_signalfd4(long ufd, long user_mask,
2981                                            long sizemask, long flags);
2982void __sanitizer_syscall_post_impl_signalfd4(long res, long ufd, long user_mask,
2983                                             long sizemask, long flags);
2984void __sanitizer_syscall_pre_impl_timerfd_create(long clockid, long flags);
2985void __sanitizer_syscall_post_impl_timerfd_create(long res, long clockid,
2986                                                  long flags);
2987void __sanitizer_syscall_pre_impl_timerfd_settime(long ufd, long flags,
2988                                                  long utmr, long otmr);
2989void __sanitizer_syscall_post_impl_timerfd_settime(long res, long ufd,
2990                                                   long flags, long utmr,
2991                                                   long otmr);
2992void __sanitizer_syscall_pre_impl_timerfd_gettime(long ufd, long otmr);
2993void __sanitizer_syscall_post_impl_timerfd_gettime(long res, long ufd,
2994                                                   long otmr);
2995void __sanitizer_syscall_pre_impl_eventfd(long count);
2996void __sanitizer_syscall_post_impl_eventfd(long res, long count);
2997void __sanitizer_syscall_pre_impl_eventfd2(long count, long flags);
2998void __sanitizer_syscall_post_impl_eventfd2(long res, long count, long flags);
2999void __sanitizer_syscall_pre_impl_old_readdir(long arg0, long arg1, long arg2);
3000void __sanitizer_syscall_post_impl_old_readdir(long res, long arg0, long arg1,
3001                                               long arg2);
3002void __sanitizer_syscall_pre_impl_pselect6(long arg0, long arg1, long arg2,
3003                                           long arg3, long arg4, long arg5);
3004void __sanitizer_syscall_post_impl_pselect6(long res, long arg0, long arg1,
3005                                            long arg2, long arg3, long arg4,
3006                                            long arg5);
3007void __sanitizer_syscall_pre_impl_ppoll(long arg0, long arg1, long arg2,
3008                                        long arg3, long arg4);
3009void __sanitizer_syscall_post_impl_ppoll(long res, long arg0, long arg1,
3010                                         long arg2, long arg3, long arg4);
3011void __sanitizer_syscall_pre_impl_fanotify_init(long flags, long event_f_flags);
3012void __sanitizer_syscall_post_impl_fanotify_init(long res, long flags,
3013                                                 long event_f_flags);
3014void __sanitizer_syscall_pre_impl_fanotify_mark(long fanotify_fd, long flags,
3015                                                long mask, long fd,
3016                                                long pathname);
3017void __sanitizer_syscall_post_impl_fanotify_mark(long res, long fanotify_fd,
3018                                                 long flags, long mask, long fd,
3019                                                 long pathname);
3020void __sanitizer_syscall_pre_impl_syncfs(long fd);
3021void __sanitizer_syscall_post_impl_syncfs(long res, long fd);
3022void __sanitizer_syscall_pre_impl_perf_event_open(long attr_uptr, long pid,
3023                                                  long cpu, long group_fd,
3024                                                  long flags);
3025void __sanitizer_syscall_post_impl_perf_event_open(long res, long attr_uptr,
3026                                                   long pid, long cpu,
3027                                                   long group_fd, long flags);
3028void __sanitizer_syscall_pre_impl_mmap_pgoff(long addr, long len, long prot,
3029                                             long flags, long fd, long pgoff);
3030void __sanitizer_syscall_post_impl_mmap_pgoff(long res, long addr, long len,
3031                                              long prot, long flags, long fd,
3032                                              long pgoff);
3033void __sanitizer_syscall_pre_impl_old_mmap(long arg);
3034void __sanitizer_syscall_post_impl_old_mmap(long res, long arg);
3035void __sanitizer_syscall_pre_impl_name_to_handle_at(long dfd, long name,
3036                                                    long handle, long mnt_id,
3037                                                    long flag);
3038void __sanitizer_syscall_post_impl_name_to_handle_at(long res, long dfd,
3039                                                     long name, long handle,
3040                                                     long mnt_id, long flag);
3041void __sanitizer_syscall_pre_impl_open_by_handle_at(long mountdirfd,
3042                                                    long handle, long flags);
3043void __sanitizer_syscall_post_impl_open_by_handle_at(long res, long mountdirfd,
3044                                                     long handle, long flags);
3045void __sanitizer_syscall_pre_impl_setns(long fd, long nstype);
3046void __sanitizer_syscall_post_impl_setns(long res, long fd, long nstype);
3047void __sanitizer_syscall_pre_impl_process_vm_readv(long pid, long lvec,
3048                                                   long liovcnt, long rvec,
3049                                                   long riovcnt, long flags);
3050void __sanitizer_syscall_post_impl_process_vm_readv(long res, long pid,
3051                                                    long lvec, long liovcnt,
3052                                                    long rvec, long riovcnt,
3053                                                    long flags);
3054void __sanitizer_syscall_pre_impl_process_vm_writev(long pid, long lvec,
3055                                                    long liovcnt, long rvec,
3056                                                    long riovcnt, long flags);
3057void __sanitizer_syscall_post_impl_process_vm_writev(long res, long pid,
3058                                                     long lvec, long liovcnt,
3059                                                     long rvec, long riovcnt,
3060                                                     long flags);
3061void __sanitizer_syscall_pre_impl_fork();
3062void __sanitizer_syscall_post_impl_fork(long res);
3063void __sanitizer_syscall_pre_impl_vfork();
3064void __sanitizer_syscall_post_impl_vfork(long res);
3065
3066#ifdef __cplusplus
3067}  // extern "C"
3068#endif
3069
3070#endif  // SANITIZER_LINUX_SYSCALL_HOOKS_H
3071