diff options
Diffstat (limited to 'include/asm-um/unistd.h')
-rw-r--r-- | include/asm-um/unistd.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/include/asm-um/unistd.h b/include/asm-um/unistd.h new file mode 100644 index 000000000000..6fdde45cc053 --- /dev/null +++ b/include/asm-um/unistd.h | |||
@@ -0,0 +1,69 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2000 - 2004 Jeff Dike (jdike@karaya.com) | ||
3 | * Licensed under the GPL | ||
4 | */ | ||
5 | |||
6 | #ifndef _UM_UNISTD_H_ | ||
7 | #define _UM_UNISTD_H_ | ||
8 | |||
9 | #include <linux/syscalls.h> | ||
10 | #include "linux/resource.h" | ||
11 | #include "asm/uaccess.h" | ||
12 | |||
13 | extern int um_execve(const char *file, char *const argv[], char *const env[]); | ||
14 | |||
15 | #ifdef __KERNEL__ | ||
16 | /* We get __ARCH_WANT_OLD_STAT and __ARCH_WANT_STAT64 from the base arch */ | ||
17 | #define __ARCH_WANT_IPC_PARSE_VERSION | ||
18 | #define __ARCH_WANT_OLD_READDIR | ||
19 | #define __ARCH_WANT_SYS_ALARM | ||
20 | #define __ARCH_WANT_SYS_GETHOSTNAME | ||
21 | #define __ARCH_WANT_SYS_PAUSE | ||
22 | #define __ARCH_WANT_SYS_SGETMASK | ||
23 | #define __ARCH_WANT_SYS_SIGNAL | ||
24 | #define __ARCH_WANT_SYS_TIME | ||
25 | #define __ARCH_WANT_SYS_UTIME | ||
26 | #define __ARCH_WANT_SYS_WAITPID | ||
27 | #define __ARCH_WANT_SYS_SOCKETCALL | ||
28 | #define __ARCH_WANT_SYS_FADVISE64 | ||
29 | #define __ARCH_WANT_SYS_GETPGRP | ||
30 | #define __ARCH_WANT_SYS_LLSEEK | ||
31 | #define __ARCH_WANT_SYS_NICE | ||
32 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT | ||
33 | #define __ARCH_WANT_SYS_OLDUMOUNT | ||
34 | #define __ARCH_WANT_SYS_SIGPENDING | ||
35 | #define __ARCH_WANT_SYS_SIGPROCMASK | ||
36 | #define __ARCH_WANT_SYS_RT_SIGACTION | ||
37 | #endif | ||
38 | |||
39 | #ifdef __KERNEL_SYSCALLS__ | ||
40 | |||
41 | #include <linux/compiler.h> | ||
42 | #include <linux/types.h> | ||
43 | |||
44 | static inline int execve(const char *filename, char *const argv[], | ||
45 | char *const envp[]) | ||
46 | { | ||
47 | mm_segment_t fs; | ||
48 | int ret; | ||
49 | |||
50 | fs = get_fs(); | ||
51 | set_fs(KERNEL_DS); | ||
52 | ret = um_execve(filename, argv, envp); | ||
53 | set_fs(fs); | ||
54 | |||
55 | if (ret >= 0) | ||
56 | return ret; | ||
57 | |||
58 | errno = -(long)ret; | ||
59 | return -1; | ||
60 | } | ||
61 | |||
62 | int sys_execve(char *file, char **argv, char **env); | ||
63 | |||
64 | #endif /* __KERNEL_SYSCALLS__ */ | ||
65 | |||
66 | #undef __KERNEL_SYSCALLS__ | ||
67 | #include "asm/arch/unistd.h" | ||
68 | |||
69 | #endif /* _UM_UNISTD_H_*/ | ||