]>
Commit | Line | Data |
---|---|---|
b07edab2 HC |
1 | #include <linux/syscalls.h> |
2 | #include <linux/compat.h> | |
3 | ||
4 | #define COMPAT_SYSCALL_WRAP1(name, ...) \ | |
5 | COMPAT_SYSCALL_WRAPx(1, _##name, __VA_ARGS__) | |
6 | #define COMPAT_SYSCALL_WRAP2(name, ...) \ | |
7 | COMPAT_SYSCALL_WRAPx(2, _##name, __VA_ARGS__) | |
8 | #define COMPAT_SYSCALL_WRAP3(name, ...) \ | |
9 | COMPAT_SYSCALL_WRAPx(3, _##name, __VA_ARGS__) | |
10 | #define COMPAT_SYSCALL_WRAP4(name, ...) \ | |
11 | COMPAT_SYSCALL_WRAPx(4, _##name, __VA_ARGS__) | |
12 | #define COMPAT_SYSCALL_WRAP5(name, ...) \ | |
13 | COMPAT_SYSCALL_WRAPx(5, _##name, __VA_ARGS__) | |
14 | #define COMPAT_SYSCALL_WRAP6(name, ...) \ | |
15 | COMPAT_SYSCALL_WRAPx(6, _##name, __VA_ARGS__) | |
16 | ||
17 | #define COMPAT_SYSCALL_WRAPx(x, name, ...) \ | |
18 | asmlinkage long compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | |
19 | asmlinkage long compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | |
20 | { \ | |
21 | return sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ | |
22 | } | |
23 | ||
24 | COMPAT_SYSCALL_WRAP1(exit, int, error_code); | |
25 | COMPAT_SYSCALL_WRAP1(close, unsigned int, fd); | |
26 | COMPAT_SYSCALL_WRAP2(creat, const char __user *, pathname, umode_t, mode); | |
27 | COMPAT_SYSCALL_WRAP2(link, const char __user *, oldname, const char __user *, newname); | |
28 | COMPAT_SYSCALL_WRAP1(unlink, const char __user *, pathname); | |
29 | COMPAT_SYSCALL_WRAP1(chdir, const char __user *, filename); | |
30 | COMPAT_SYSCALL_WRAP3(mknod, const char __user *, filename, umode_t, mode, unsigned, dev); | |
31 | COMPAT_SYSCALL_WRAP2(chmod, const char __user *, filename, umode_t, mode); | |
32 | COMPAT_SYSCALL_WRAP1(oldumount, char __user *, name); | |
33 | COMPAT_SYSCALL_WRAP1(alarm, unsigned int, seconds); | |
34 | COMPAT_SYSCALL_WRAP2(access, const char __user *, filename, int, mode); | |
35 | COMPAT_SYSCALL_WRAP1(nice, int, increment); | |
473a0657 HC |
36 | COMPAT_SYSCALL_WRAP2(kill, int, pid, int, sig); |
37 | COMPAT_SYSCALL_WRAP2(rename, const char __user *, oldname, const char __user *, newname); | |
38 | COMPAT_SYSCALL_WRAP2(mkdir, const char __user *, pathname, umode_t, mode); | |
39 | COMPAT_SYSCALL_WRAP1(rmdir, const char __user *, pathname); | |
40 | COMPAT_SYSCALL_WRAP1(dup, unsigned int, fildes); | |
41 | COMPAT_SYSCALL_WRAP1(pipe, int __user *, fildes); | |
42 | COMPAT_SYSCALL_WRAP1(brk, compat_ulong_t, brk); | |
43 | COMPAT_SYSCALL_WRAP2(signal, int, sig, __sighandler_t, handler); | |
44 | COMPAT_SYSCALL_WRAP1(acct, const char __user *, name); | |
45 | COMPAT_SYSCALL_WRAP2(umount, char __user *, name, int, flags); | |
be06fbf8 HC |
46 | COMPAT_SYSCALL_WRAP2(setpgid, compat_pid_t, pid, compat_pid_t, pgid); |
47 | COMPAT_SYSCALL_WRAP1(umask, int, mask); | |
48 | COMPAT_SYSCALL_WRAP1(chroot, const char __user *, filename); | |
49 | COMPAT_SYSCALL_WRAP2(dup2, unsigned int, oldfd, unsigned int, newfd); | |
50 | COMPAT_SYSCALL_WRAP3(sigsuspend, int, unused1, int, unused2, compat_old_sigset_t, mask); | |
51 | COMPAT_SYSCALL_WRAP2(sethostname, char __user *, name, int, len); | |
52 | COMPAT_SYSCALL_WRAP2(symlink, const char __user *, old, const char __user *, new); | |
53 | COMPAT_SYSCALL_WRAP3(readlink, const char __user *, path, char __user *, buf, int, bufsiz); | |
54 | COMPAT_SYSCALL_WRAP1(uselib, const char __user *, library); | |
55 | COMPAT_SYSCALL_WRAP2(swapon, const char __user *, specialfile, int, swap_flags); | |
c355ce18 HC |
56 | COMPAT_SYSCALL_WRAP4(reboot, int, magic1, int, magic2, unsigned int, cmd, void __user *, arg); |
57 | COMPAT_SYSCALL_WRAP2(munmap, compat_ulong_t, addr, compat_size_t, len); | |
58 | COMPAT_SYSCALL_WRAP2(fchmod, unsigned int, fd, umode_t, mode); | |
59 | COMPAT_SYSCALL_WRAP2(getpriority, int, which, int, who); | |
60 | COMPAT_SYSCALL_WRAP3(setpriority, int, which, int, who, int, niceval); | |
61 | COMPAT_SYSCALL_WRAP3(syslog, int, type, char __user *, buf, int, len); | |
62 | COMPAT_SYSCALL_WRAP1(swapoff, const char __user *, specialfile); | |
63 | COMPAT_SYSCALL_WRAP1(fsync, unsigned int, fd); | |
64 | COMPAT_SYSCALL_WRAP2(setdomainname, char __user *, name, int, len); | |
65 | COMPAT_SYSCALL_WRAP1(newuname, struct new_utsname __user *, name); |