1 /*
2  * sys_ia32.h - Linux ia32 syscall interfaces
3  *
4  * Copyright (c) 2008 Jaswinder Singh Rajput
5  *
6  * This file is released under the GPLv2.
7  * See the file COPYING for more details.
8  */
9 
10 #ifndef _ASM_X86_SYS_IA32_H
11 #define _ASM_X86_SYS_IA32_H
12 
13 #include <linux/compiler.h>
14 #include <linux/linkage.h>
15 #include <linux/types.h>
16 #include <linux/signal.h>
17 #include <asm/compat.h>
18 #include <asm/ia32.h>
19 
20 /* ia32/sys_ia32.c */
21 asmlinkage long sys32_truncate64(const char __user *, unsigned long, unsigned long);
22 asmlinkage long sys32_ftruncate64(unsigned int, unsigned long, unsigned long);
23 
24 asmlinkage long sys32_stat64(const char __user *, struct stat64 __user *);
25 asmlinkage long sys32_lstat64(const char __user *, struct stat64 __user *);
26 asmlinkage long sys32_fstat64(unsigned int, struct stat64 __user *);
27 asmlinkage long sys32_fstatat(unsigned int, const char __user *,
28 			      struct stat64 __user *, int);
29 struct mmap_arg_struct32;
30 asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *);
31 asmlinkage long sys32_mprotect(unsigned long, size_t, unsigned long);
32 
33 struct sigaction32;
34 struct old_sigaction32;
35 asmlinkage long sys32_rt_sigaction(int, struct sigaction32 __user *,
36 				   struct sigaction32 __user *, unsigned int);
37 asmlinkage long sys32_sigaction(int, struct old_sigaction32 __user *,
38 				struct old_sigaction32 __user *);
39 asmlinkage long sys32_rt_sigprocmask(int, compat_sigset_t __user *,
40 				     compat_sigset_t __user *, unsigned int);
41 asmlinkage long sys32_alarm(unsigned int);
42 
43 asmlinkage long sys32_waitpid(compat_pid_t, unsigned int *, int);
44 asmlinkage long sys32_sysfs(int, u32, u32);
45 
46 asmlinkage long sys32_sched_rr_get_interval(compat_pid_t,
47 					    struct compat_timespec __user *);
48 asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *, compat_size_t);
49 asmlinkage long sys32_rt_sigqueueinfo(int, int, compat_siginfo_t __user *);
50 
51 asmlinkage long sys32_pread(unsigned int, char __user *, u32, u32, u32);
52 asmlinkage long sys32_pwrite(unsigned int, const char __user *, u32, u32, u32);
53 
54 asmlinkage long sys32_personality(unsigned long);
55 asmlinkage long sys32_sendfile(int, int, compat_off_t __user *, s32);
56 
57 asmlinkage long sys32_execve(const char __user *, compat_uptr_t __user *,
58 			     compat_uptr_t __user *, struct pt_regs *);
59 asmlinkage long sys32_clone(unsigned int, unsigned int, struct pt_regs *);
60 
61 long sys32_lseek(unsigned int, int, unsigned int);
62 long sys32_kill(int, int);
63 long sys32_fadvise64_64(int, __u32, __u32, __u32, __u32, int);
64 long sys32_vm86_warning(void);
65 long sys32_lookup_dcookie(u32, u32, char __user *, size_t);
66 
67 asmlinkage ssize_t sys32_readahead(int, unsigned, unsigned, size_t);
68 asmlinkage long sys32_sync_file_range(int, unsigned, unsigned,
69 				      unsigned, unsigned, int);
70 asmlinkage long sys32_fadvise64(int, unsigned, unsigned, size_t, int);
71 asmlinkage long sys32_fallocate(int, int, unsigned,
72 				unsigned, unsigned, unsigned);
73 
74 /* ia32/ia32_signal.c */
75 asmlinkage long sys32_sigsuspend(int, int, old_sigset_t);
76 asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *,
77 				  stack_ia32_t __user *, struct pt_regs *);
78 asmlinkage long sys32_sigreturn(struct pt_regs *);
79 asmlinkage long sys32_rt_sigreturn(struct pt_regs *);
80 
81 /* ia32/ipc32.c */
82 asmlinkage long sys32_ipc(u32, int, int, int, compat_uptr_t, u32);
83 
84 asmlinkage long sys32_fanotify_mark(int, unsigned int, u32, u32, int,
85 				    const char __user *);
86 #endif /* _ASM_X86_SYS_IA32_H */
87