linux/arch/x86/include/asm/syscalls.h
<<
>>
Prefs
   1/*
   2 * syscalls.h - Linux syscall interfaces (arch-specific)
   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_SYSCALLS_H
  11#define _ASM_X86_SYSCALLS_H
  12
  13#include <linux/compiler.h>
  14#include <linux/linkage.h>
  15#include <linux/signal.h>
  16#include <linux/types.h>
  17
  18/* Common in X86_32 and X86_64 */
  19/* kernel/ioport.c */
  20asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
  21
  22/* kernel/process.c */
  23int sys_fork(struct pt_regs *);
  24int sys_vfork(struct pt_regs *);
  25
  26/* kernel/ldt.c */
  27asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
  28
  29/* kernel/signal.c */
  30long sys_rt_sigreturn(struct pt_regs *);
  31
  32/* kernel/tls.c */
  33asmlinkage int sys_set_thread_area(struct user_desc __user *);
  34asmlinkage int sys_get_thread_area(struct user_desc __user *);
  35
  36/* X86_32 only */
  37#ifdef CONFIG_X86_32
  38/* kernel/ioport.c */
  39long sys_iopl(struct pt_regs *);
  40
  41/* kernel/process_32.c */
  42int sys_clone(struct pt_regs *);
  43int sys_execve(struct pt_regs *);
  44
  45/* kernel/signal.c */
  46asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
  47asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
  48                             struct old_sigaction __user *);
  49int sys_sigaltstack(struct pt_regs *);
  50unsigned long sys_sigreturn(struct pt_regs *);
  51
  52/* kernel/sys_i386_32.c */
  53struct mmap_arg_struct;
  54struct sel_arg_struct;
  55struct oldold_utsname;
  56struct old_utsname;
  57
  58asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
  59                          unsigned long, unsigned long, unsigned long);
  60asmlinkage int old_mmap(struct mmap_arg_struct __user *);
  61asmlinkage int old_select(struct sel_arg_struct __user *);
  62asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
  63asmlinkage int sys_uname(struct old_utsname __user *);
  64asmlinkage int sys_olduname(struct oldold_utsname __user *);
  65
  66/* kernel/vm86_32.c */
  67int sys_vm86old(struct pt_regs *);
  68int sys_vm86(struct pt_regs *);
  69
  70#else /* CONFIG_X86_32 */
  71
  72/* X86_64 only */
  73/* kernel/ioport.c */
  74asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
  75
  76/* kernel/process_64.c */
  77asmlinkage long sys_clone(unsigned long, unsigned long,
  78                          void __user *, void __user *,
  79                          struct pt_regs *);
  80asmlinkage long sys_execve(char __user *, char __user * __user *,
  81                           char __user * __user *,
  82                           struct pt_regs *);
  83long sys_arch_prctl(int, unsigned long);
  84
  85/* kernel/signal.c */
  86asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
  87                                struct pt_regs *);
  88
  89/* kernel/sys_x86_64.c */
  90struct new_utsname;
  91
  92asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
  93                         unsigned long, unsigned long, unsigned long);
  94asmlinkage long sys_uname(struct new_utsname __user *);
  95
  96#endif /* CONFIG_X86_32 */
  97#endif /* _ASM_X86_SYSCALLS_H */
  98