12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- * Copyright (C) 2000 - 2004 Jeff Dike (jdike@karaya.com)
- * Licensed under the GPL
- */
- #ifndef _UM_UNISTD_H_
- #define _UM_UNISTD_H_
- #include <linux/syscalls.h>
- #include "linux/resource.h"
- #include "asm/uaccess.h"
- extern int um_execve(const char *file, char *const argv[], char *const env[]);
- #ifdef __KERNEL__
- /* We get __ARCH_WANT_OLD_STAT and __ARCH_WANT_STAT64 from the base arch */
- #define __ARCH_WANT_IPC_PARSE_VERSION
- #define __ARCH_WANT_OLD_READDIR
- #define __ARCH_WANT_SYS_ALARM
- #define __ARCH_WANT_SYS_GETHOSTNAME
- #define __ARCH_WANT_SYS_PAUSE
- #define __ARCH_WANT_SYS_SGETMASK
- #define __ARCH_WANT_SYS_SIGNAL
- #define __ARCH_WANT_SYS_TIME
- #define __ARCH_WANT_SYS_UTIME
- #define __ARCH_WANT_SYS_WAITPID
- #define __ARCH_WANT_SYS_SOCKETCALL
- #define __ARCH_WANT_SYS_FADVISE64
- #define __ARCH_WANT_SYS_GETPGRP
- #define __ARCH_WANT_SYS_LLSEEK
- #define __ARCH_WANT_SYS_NICE
- #define __ARCH_WANT_SYS_OLD_GETRLIMIT
- #define __ARCH_WANT_SYS_OLDUMOUNT
- #define __ARCH_WANT_SYS_SIGPENDING
- #define __ARCH_WANT_SYS_SIGPROCMASK
- #define __ARCH_WANT_SYS_RT_SIGACTION
- #define __ARCH_WANT_SYS_RT_SIGSUSPEND
- #endif
- #ifdef __KERNEL_SYSCALLS__
- #include <linux/compiler.h>
- #include <linux/types.h>
- static inline int execve(const char *filename, char *const argv[],
- char *const envp[])
- {
- mm_segment_t fs;
- int ret;
- fs = get_fs();
- set_fs(KERNEL_DS);
- ret = um_execve(filename, argv, envp);
- set_fs(fs);
- if (ret >= 0)
- return ret;
- errno = -(long)ret;
- return -1;
- }
- int sys_execve(char *file, char **argv, char **env);
- #endif /* __KERNEL_SYSCALLS__ */
- #undef __KERNEL_SYSCALLS__
- #include "asm/arch/unistd.h"
- #endif /* _UM_UNISTD_H_*/
|