Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
unistd.h
Go to the documentation of this file.
1 #ifndef _ASM_X86_UNISTD_H
2 #define _ASM_X86_UNISTD_H 1
3 
4 /* x32 syscall flag bit */
5 #define __X32_SYSCALL_BIT 0x40000000
6 
7 #ifdef __KERNEL__
8 
9 # ifdef CONFIG_X86_X32_ABI
10 # define __SYSCALL_MASK (~(__X32_SYSCALL_BIT))
11 # else
12 # define __SYSCALL_MASK (~0)
13 # endif
14 
15 # ifdef CONFIG_X86_32
16 
17 # include <asm/unistd_32.h>
18 # define __ARCH_WANT_STAT64
19 # define __ARCH_WANT_SYS_IPC
20 # define __ARCH_WANT_SYS_OLD_MMAP
21 # define __ARCH_WANT_SYS_OLD_SELECT
22 
23 # else
24 
25 # include <asm/unistd_64.h>
26 # include <asm/unistd_64_x32.h>
27 # define __ARCH_WANT_COMPAT_SYS_TIME
28 
29 # endif
30 
31 # define __ARCH_WANT_OLD_READDIR
32 # define __ARCH_WANT_OLD_STAT
33 # define __ARCH_WANT_SYS_ALARM
34 # define __ARCH_WANT_SYS_FADVISE64
35 # define __ARCH_WANT_SYS_GETHOSTNAME
36 # define __ARCH_WANT_SYS_GETPGRP
37 # define __ARCH_WANT_SYS_LLSEEK
38 # define __ARCH_WANT_SYS_NICE
39 # define __ARCH_WANT_SYS_OLDUMOUNT
40 # define __ARCH_WANT_SYS_OLD_GETRLIMIT
41 # define __ARCH_WANT_SYS_OLD_UNAME
42 # define __ARCH_WANT_SYS_PAUSE
43 # define __ARCH_WANT_SYS_RT_SIGACTION
44 # define __ARCH_WANT_SYS_RT_SIGSUSPEND
45 # define __ARCH_WANT_SYS_SGETMASK
46 # define __ARCH_WANT_SYS_SIGNAL
47 # define __ARCH_WANT_SYS_SIGPENDING
48 # define __ARCH_WANT_SYS_SIGPROCMASK
49 # define __ARCH_WANT_SYS_SOCKETCALL
50 # define __ARCH_WANT_SYS_TIME
51 # define __ARCH_WANT_SYS_UTIME
52 # define __ARCH_WANT_SYS_WAITPID
53 # define __ARCH_WANT_SYS_EXECVE
54 
55 /*
56  * "Conditional" syscalls
57  *
58  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
59  * but it doesn't work on all toolchains, so we just do it by hand
60  */
61 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
62 
63 #else
64 # ifdef __i386__
65 # include <asm/unistd_32.h>
66 # elif defined(__ILP32__)
67 # include <asm/unistd_x32.h>
68 # else
69 # include <asm/unistd_64.h>
70 # endif
71 #endif
72 
73 #endif /* _ASM_X86_UNISTD_H */