home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-um / unistd.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.6 KB  |  71 lines

  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. #define __ARCH_WANT_SYS_RT_SIGSUSPEND
  38. #endif
  39.  
  40. #ifdef __KERNEL_SYSCALLS__
  41.  
  42. #include <linux/compiler.h>
  43. #include <linux/types.h>
  44.  
  45. static inline int execve(const char *filename, char *const argv[],
  46.              char *const envp[])
  47. {
  48.     mm_segment_t fs;
  49.     int ret;
  50.  
  51.     fs = get_fs();
  52.     set_fs(KERNEL_DS);
  53.     ret = um_execve(filename, argv, envp);
  54.     set_fs(fs);
  55.  
  56.     if (ret >= 0)
  57.         return ret;
  58.  
  59.     errno = -(long)ret;
  60.     return -1;
  61. }
  62.  
  63. int sys_execve(char *file, char **argv, char **env);
  64.  
  65. #endif /* __KERNEL_SYSCALLS__ */
  66.  
  67. #undef __KERNEL_SYSCALLS__
  68. #include "asm/arch/unistd.h"
  69.  
  70. #endif /* _UM_UNISTD_H_*/
  71.