Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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> |
Al Viro | ecec5ba | 2007-05-15 20:36:00 +0100 | [diff] [blame] | 12 | #include <kern_constants.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | |
| 14 | typedef long syscall_handler_t(void); |
| 15 | |
Jeff Dike | e32dacb | 2005-09-03 15:57:42 -0700 | [diff] [blame] | 16 | extern syscall_handler_t *sys_call_table[]; |
| 17 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 | #define EXECUTE_SYSCALL(syscall, regs) \ |
| 19 | (((long (*)(long, long, long, long, long, long)) \ |
| 20 | (*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(®s->regs), \ |
| 21 | UPT_SYSCALL_ARG2(®s->regs), \ |
| 22 | UPT_SYSCALL_ARG3(®s->regs), \ |
| 23 | UPT_SYSCALL_ARG4(®s->regs), \ |
| 24 | UPT_SYSCALL_ARG5(®s->regs), \ |
| 25 | UPT_SYSCALL_ARG6(®s->regs))) |
| 26 | |
| 27 | extern long old_mmap(unsigned long addr, unsigned long len, |
| 28 | unsigned long prot, unsigned long flags, |
| 29 | unsigned long fd, unsigned long pgoff); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 30 | extern syscall_handler_t sys_modify_ldt; |
| 31 | extern syscall_handler_t sys_arch_prctl; |
| 32 | |
Al Viro | ecec5ba | 2007-05-15 20:36:00 +0100 | [diff] [blame] | 33 | #define NR_syscalls (UM_NR_syscall_max + 1) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 34 | |
| 35 | #endif |