blob: 7cfb0b085655b0554565a6178287d48951e76422 [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>
Al Viroecec5ba2007-05-15 20:36:00 +010012#include <kern_constants.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
14typedef long syscall_handler_t(void);
15
Jeff Dikee32dacb2005-09-03 15:57:42 -070016extern syscall_handler_t *sys_call_table[];
17
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#define EXECUTE_SYSCALL(syscall, regs) \
19 (((long (*)(long, long, long, long, long, long)) \
20 (*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(&regs->regs), \
21 UPT_SYSCALL_ARG2(&regs->regs), \
22 UPT_SYSCALL_ARG3(&regs->regs), \
23 UPT_SYSCALL_ARG4(&regs->regs), \
24 UPT_SYSCALL_ARG5(&regs->regs), \
25 UPT_SYSCALL_ARG6(&regs->regs)))
26
27extern long old_mmap(unsigned long addr, unsigned long len,
28 unsigned long prot, unsigned long flags,
29 unsigned long fd, unsigned long pgoff);
Linus Torvalds1da177e2005-04-16 15:20:36 -070030extern syscall_handler_t sys_modify_ldt;
31extern syscall_handler_t sys_arch_prctl;
32
Linus Torvalds1da177e2005-04-16 15:20:36 -070033#endif