blob: c3cc42a15af157b14fc7fd55da74f75d39d21616 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 */
David Howells43e40f22012-10-09 09:47:00 +01007#ifndef _ASM_IA64_UNISTD_H
8#define _ASM_IA64_UNISTD_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
David Howells43e40f22012-10-09 09:47:00 +010010#include <uapi/asm/unistd.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
Luck, Tony062fe952013-01-03 10:33:48 -080014#define NR_syscalls 312 /* length of syscall table */
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
Tony Luck9f571952007-05-18 14:15:58 -070016/*
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() */
Tony Lucke56e2dc2009-06-15 16:22:09 -070028#define __IGNORE_umount2 /* umount() */
Tony Luck9f571952007-05-18 14:15:58 -070029
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#define __ARCH_WANT_SYS_RT_SIGACTION
Alexey Dobriyan4a177cb2007-01-23 19:03:17 +030031#define __ARCH_WANT_SYS_RT_SIGSUSPEND
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
Linus Torvalds1da177e2005-04-16 15:20:36 -070033#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
34
35#include <linux/types.h>
36#include <linux/linkage.h>
37#include <linux/compiler.h>
38
39extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);
40
Linus Torvalds1da177e2005-04-16 15:20:36 -070041asmlinkage unsigned long sys_mmap(
42 unsigned long addr, unsigned long len,
43 int prot, int flags,
44 int fd, long off);
45asmlinkage unsigned long sys_mmap2(
46 unsigned long addr, unsigned long len,
47 int prot, int flags,
48 int fd, long pgoff);
49struct pt_regs;
50struct sigaction;
Heiko Carstens11347232009-01-14 14:13:56 +010051asmlinkage long sys_ia64_pipe(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070052asmlinkage long sys_rt_sigaction(int sig,
53 const struct sigaction __user *act,
54 struct sigaction __user *oact,
55 size_t sigsetsize);
56
57/*
58 * "Conditional" syscalls
59 *
60 * Note, this macro can only be used in the file which defines sys_ni_syscall, i.e., in
61 * kernel/sys_ni.c. This version causes warnings because the declaration isn't a
62 * proper prototype, but we can't use __typeof__ either, because not all cond_syscall()
63 * declarations have prototypes at the moment.
64 */
65#define cond_syscall(x) asmlinkage long x (void) __attribute__((weak,alias("sys_ni_syscall")))
66
67#endif /* !__ASSEMBLY__ */
Linus Torvalds1da177e2005-04-16 15:20:36 -070068#endif /* _ASM_IA64_UNISTD_H */