blob: e06f83e80f4a9e8aa57d5cf5ff26cd455e367d89 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
13typedef long syscall_handler_t(void);
14
15extern syscall_handler_t *ia32_sys_call_table[];
16
Jeff Dikee32dacb2005-09-03 15:57:42 -070017extern syscall_handler_t *sys_call_table[];
18
Linus Torvalds1da177e2005-04-16 15:20:36 -070019#define EXECUTE_SYSCALL(syscall, regs) \
20 (((long (*)(long, long, long, long, long, long)) \
21 (*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(&regs->regs), \
22 UPT_SYSCALL_ARG2(&regs->regs), \
23 UPT_SYSCALL_ARG3(&regs->regs), \
24 UPT_SYSCALL_ARG4(&regs->regs), \
25 UPT_SYSCALL_ARG5(&regs->regs), \
26 UPT_SYSCALL_ARG6(&regs->regs)))
27
28extern long old_mmap(unsigned long addr, unsigned long len,
29 unsigned long prot, unsigned long flags,
30 unsigned long fd, unsigned long pgoff);
Linus Torvalds1da177e2005-04-16 15:20:36 -070031extern syscall_handler_t sys_modify_ldt;
32extern syscall_handler_t sys_arch_prctl;
33
Paolo 'Blaisorblade' Giarrusso80f95072005-05-01 08:58:55 -070034#define NR_syscalls (__NR_syscall_max + 1)
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36#endif