GNU Linux-libre 4.9.317-gnu1
[releases.git] / arch / x86 / um / shared / sysdep / syscalls_64.h
1 /*
2  * Copyright 2003 PathScale, Inc.
3  *
4  * Licensed under the GPL
5  */
6
7 #ifndef __SYSDEP_X86_64_SYSCALLS_H__
8 #define __SYSDEP_X86_64_SYSCALLS_H__
9
10 #include <linux/msg.h>
11 #include <linux/shm.h>
12
13 typedef long syscall_handler_t(long, long, long, long, long, long);
14
15 extern syscall_handler_t *sys_call_table[];
16
17 #define EXECUTE_SYSCALL(syscall, regs) \
18         (((*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(&regs->regs), \
19                                       UPT_SYSCALL_ARG2(&regs->regs), \
20                                       UPT_SYSCALL_ARG3(&regs->regs), \
21                                       UPT_SYSCALL_ARG4(&regs->regs), \
22                                       UPT_SYSCALL_ARG5(&regs->regs), \
23                                       UPT_SYSCALL_ARG6(&regs->regs)))
24
25 extern long old_mmap(unsigned long addr, unsigned long len,
26                      unsigned long prot, unsigned long flags,
27                      unsigned long fd, unsigned long pgoff);
28 extern syscall_handler_t sys_modify_ldt;
29 extern syscall_handler_t sys_arch_prctl;
30
31 #endif