c827049eb62cdf5b111ca0ad8418e1f9f4ebc6da
[linux-3.10.git] / arch / ia64 / include / asm / unistd.h
1 /*
2  * IA-64 Linux syscall numbers and inline-functions.
3  *
4  * Copyright (C) 1998-2005 Hewlett-Packard Co
5  *      David Mosberger-Tang <davidm@hpl.hp.com>
6  */
7 #ifndef _ASM_IA64_UNISTD_H
8 #define _ASM_IA64_UNISTD_H
9
10 #include <uapi/asm/unistd.h>
11
12
13
14 #define NR_syscalls                     312 /* length of syscall table */
15
16 /*
17  * The following defines stop scripts/checksyscalls.sh from complaining about
18  * unimplemented system calls.  Glibc provides for each of these by using
19  * more modern equivalent system calls.
20  */
21 #define __IGNORE_fork           /* clone() */
22 #define __IGNORE_time           /* gettimeofday() */
23 #define __IGNORE_alarm          /* setitimer(ITIMER_REAL, ... */
24 #define __IGNORE_pause          /* rt_sigprocmask(), rt_sigsuspend() */
25 #define __IGNORE_utime          /* utimes() */
26 #define __IGNORE_getpgrp        /* getpgid() */
27 #define __IGNORE_vfork          /* clone() */
28 #define __IGNORE_umount2        /* umount() */
29
30 #define __ARCH_WANT_SYS_RT_SIGACTION
31 #define __ARCH_WANT_SYS_RT_SIGSUSPEND
32
33 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
34
35 #include <linux/types.h>
36 #include <linux/linkage.h>
37 #include <linux/compiler.h>
38
39 extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);
40
41 asmlinkage unsigned long sys_mmap(
42                                 unsigned long addr, unsigned long len,
43                                 int prot, int flags,
44                                 int fd, long off);
45 asmlinkage unsigned long sys_mmap2(
46                                 unsigned long addr, unsigned long len,
47                                 int prot, int flags,
48                                 int fd, long pgoff);
49 struct pt_regs;
50 asmlinkage long sys_ia64_pipe(void);
51
52 /*
53  * "Conditional" syscalls
54  *
55  * Note, this macro can only be used in the file which defines sys_ni_syscall, i.e., in
56  * kernel/sys_ni.c.  This version causes warnings because the declaration isn't a
57  * proper prototype, but we can't use __typeof__ either, because not all cond_syscall()
58  * declarations have prototypes at the moment.
59  */
60 #define cond_syscall(x) asmlinkage long x (void) __attribute__((weak,alias("sys_ni_syscall")))
61
62 #endif /* !__ASSEMBLY__ */
63 #endif /* _ASM_IA64_UNISTD_H */