2008-07-21 21:34:13 +05:30
/*
* syscalls . h - Linux syscall interfaces ( arch - specific )
*
2009-04-11 00:03:10 +05:30
* Copyright ( c ) 2008 Jaswinder Singh Rajput
2008-07-21 21:34:13 +05:30
*
* This file is released under the GPLv2 .
* See the file COPYING for more details .
*/
# ifndef _ASM_X86_SYSCALLS_H
# define _ASM_X86_SYSCALLS_H
# include <linux/compiler.h>
# include <linux/linkage.h>
# include <linux/signal.h>
2009-04-11 00:03:10 +05:30
# include <linux/types.h>
2008-07-21 21:34:13 +05:30
/* Common in X86_32 and X86_64 */
/* kernel/ioport.c */
asmlinkage long sys_ioperm ( unsigned long , unsigned long , int ) ;
2009-12-09 19:01:52 -05:00
long sys_iopl ( unsigned int , struct pt_regs * ) ;
2008-07-21 21:34:13 +05:30
2009-04-11 00:03:10 +05:30
/* kernel/process.c */
int sys_fork ( struct pt_regs * ) ;
int sys_vfork ( struct pt_regs * ) ;
2010-08-17 23:52:56 +01:00
long sys_execve ( const char __user * ,
const char __user * const __user * ,
const char __user * const __user * , struct pt_regs * ) ;
2009-12-09 19:01:56 -05:00
long sys_clone ( unsigned long , unsigned long , void __user * ,
void __user * , struct pt_regs * ) ;
2009-04-11 00:03:10 +05:30
2008-12-15 22:26:30 +05:30
/* kernel/ldt.c */
asmlinkage int sys_modify_ldt ( int , void __user * , unsigned long ) ;
2009-04-11 00:03:10 +05:30
/* kernel/signal.c */
long sys_rt_sigreturn ( struct pt_regs * ) ;
2009-12-09 19:01:54 -05:00
long sys_sigaltstack ( const stack_t __user * , stack_t __user * ,
struct pt_regs * ) ;
2009-04-11 00:03:10 +05:30
2008-12-17 23:18:52 +05:30
/* kernel/tls.c */
asmlinkage int sys_set_thread_area ( struct user_desc __user * ) ;
asmlinkage int sys_get_thread_area ( struct user_desc __user * ) ;
2008-07-21 21:34:13 +05:30
/* X86_32 only */
# ifdef CONFIG_X86_32
2009-04-11 00:03:10 +05:30
/* kernel/signal.c */
2008-07-21 21:34:13 +05:30
asmlinkage int sys_sigsuspend ( int , int , old_sigset_t ) ;
asmlinkage int sys_sigaction ( int , const struct old_sigaction __user * ,
struct old_sigaction __user * ) ;
2009-02-11 16:43:58 -05:00
unsigned long sys_sigreturn ( struct pt_regs * ) ;
2008-07-21 21:34:13 +05:30
2008-07-23 17:31:02 +05:30
/* kernel/vm86_32.c */
2009-12-09 19:01:55 -05:00
int sys_vm86old ( struct vm86_struct __user * , struct pt_regs * ) ;
int sys_vm86 ( unsigned long , unsigned long , struct pt_regs * ) ;
2008-07-23 17:31:02 +05:30
2008-07-21 21:34:13 +05:30
# else /* CONFIG_X86_32 */
/* X86_64 only */
/* kernel/process_64.c */
2009-02-02 21:48:33 +05:30
long sys_arch_prctl ( int , unsigned long ) ;
2008-07-21 21:34:13 +05:30
/* kernel/sys_x86_64.c */
asmlinkage long sys_mmap ( unsigned long , unsigned long , unsigned long ,
unsigned long , unsigned long , unsigned long ) ;
# endif /* CONFIG_X86_32 */
# endif /* _ASM_X86_SYSCALLS_H */