| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (C) 2000 Jeff Dike (jdike@karaya.com) | 
|  | 3 | * Licensed under the GPL | 
|  | 4 | */ | 
|  | 5 |  | 
|  | 6 | #include "asm/unistd.h" | 
|  | 7 | #include "sysdep/ptrace.h" | 
|  | 8 |  | 
|  | 9 | typedef long syscall_handler_t(struct pt_regs); | 
|  | 10 |  | 
|  | 11 | /* Not declared on x86, incompatible declarations on x86_64, so these have | 
|  | 12 | * to go here rather than in sys_call_table.c | 
|  | 13 | */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | extern syscall_handler_t sys_rt_sigaction; | 
|  | 15 |  | 
|  | 16 | extern syscall_handler_t old_mmap_i386; | 
|  | 17 |  | 
| Jeff Dike | e32dacb | 2005-09-03 15:57:42 -0700 | [diff] [blame] | 18 | extern syscall_handler_t *sys_call_table[]; | 
|  | 19 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | #define EXECUTE_SYSCALL(syscall, regs) \ | 
|  | 21 | ((long (*)(struct syscall_args)) (*sys_call_table[syscall]))(SYSCALL_ARGS(®s->regs)) | 
|  | 22 |  | 
|  | 23 | extern long sys_mmap2(unsigned long addr, unsigned long len, | 
|  | 24 | unsigned long prot, unsigned long flags, | 
|  | 25 | unsigned long fd, unsigned long pgoff); |