unistd.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:18k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
  7.  *
  8.  * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
  9.  * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
  10.  */
  11. #ifndef _ASM_UNISTD_H
  12. #define _ASM_UNISTD_H
  13. #define __NR_Linux 4000
  14. #define __NR_syscall (__NR_Linux +   0)
  15. #define __NR_exit (__NR_Linux +   1)
  16. #define __NR_fork (__NR_Linux +   2)
  17. #define __NR_read (__NR_Linux +   3)
  18. #define __NR_write (__NR_Linux +   4)
  19. #define __NR_open (__NR_Linux +   5)
  20. #define __NR_close (__NR_Linux +   6)
  21. #define __NR_waitpid (__NR_Linux +   7)
  22. #define __NR_creat (__NR_Linux +   8)
  23. #define __NR_link (__NR_Linux +   9)
  24. #define __NR_unlink (__NR_Linux +  10)
  25. #define __NR_execve (__NR_Linux +  11)
  26. #define __NR_chdir (__NR_Linux +  12)
  27. #define __NR_time (__NR_Linux +  13)
  28. #define __NR_mknod (__NR_Linux +  14)
  29. #define __NR_chmod (__NR_Linux +  15)
  30. #define __NR_lchown (__NR_Linux +  16)
  31. #define __NR_break (__NR_Linux +  17)
  32. #define __NR_oldstat (__NR_Linux +  18)
  33. #define __NR_lseek (__NR_Linux +  19)
  34. #define __NR_getpid (__NR_Linux +  20)
  35. #define __NR_mount (__NR_Linux +  21)
  36. #define __NR_umount (__NR_Linux +  22)
  37. #define __NR_setuid (__NR_Linux +  23)
  38. #define __NR_getuid (__NR_Linux +  24)
  39. #define __NR_stime (__NR_Linux +  25)
  40. #define __NR_ptrace (__NR_Linux +  26)
  41. #define __NR_alarm (__NR_Linux +  27)
  42. #define __NR_oldfstat (__NR_Linux +  28)
  43. #define __NR_pause (__NR_Linux +  29)
  44. #define __NR_utime (__NR_Linux +  30)
  45. #define __NR_stty (__NR_Linux +  31)
  46. #define __NR_gtty (__NR_Linux +  32)
  47. #define __NR_access (__NR_Linux +  33)
  48. #define __NR_nice (__NR_Linux +  34)
  49. #define __NR_ftime (__NR_Linux +  35)
  50. #define __NR_sync (__NR_Linux +  36)
  51. #define __NR_kill (__NR_Linux +  37)
  52. #define __NR_rename (__NR_Linux +  38)
  53. #define __NR_mkdir (__NR_Linux +  39)
  54. #define __NR_rmdir (__NR_Linux +  40)
  55. #define __NR_dup (__NR_Linux +  41)
  56. #define __NR_pipe (__NR_Linux +  42)
  57. #define __NR_times (__NR_Linux +  43)
  58. #define __NR_prof (__NR_Linux +  44)
  59. #define __NR_brk (__NR_Linux +  45)
  60. #define __NR_setgid (__NR_Linux +  46)
  61. #define __NR_getgid (__NR_Linux +  47)
  62. #define __NR_signal (__NR_Linux +  48)
  63. #define __NR_geteuid (__NR_Linux +  49)
  64. #define __NR_getegid (__NR_Linux +  50)
  65. #define __NR_acct (__NR_Linux +  51)
  66. #define __NR_umount2 (__NR_Linux +  52)
  67. #define __NR_lock (__NR_Linux +  53)
  68. #define __NR_ioctl (__NR_Linux +  54)
  69. #define __NR_fcntl (__NR_Linux +  55)
  70. #define __NR_mpx (__NR_Linux +  56)
  71. #define __NR_setpgid (__NR_Linux +  57)
  72. #define __NR_ulimit (__NR_Linux +  58)
  73. #define __NR_unused59 (__NR_Linux +  59)
  74. #define __NR_umask (__NR_Linux +  60)
  75. #define __NR_chroot (__NR_Linux +  61)
  76. #define __NR_ustat (__NR_Linux +  62)
  77. #define __NR_dup2 (__NR_Linux +  63)
  78. #define __NR_getppid (__NR_Linux +  64)
  79. #define __NR_getpgrp (__NR_Linux +  65)
  80. #define __NR_setsid (__NR_Linux +  66)
  81. #define __NR_sigaction (__NR_Linux +  67)
  82. #define __NR_sgetmask (__NR_Linux +  68)
  83. #define __NR_ssetmask (__NR_Linux +  69)
  84. #define __NR_setreuid (__NR_Linux +  70)
  85. #define __NR_setregid (__NR_Linux +  71)
  86. #define __NR_sigsuspend (__NR_Linux +  72)
  87. #define __NR_sigpending (__NR_Linux +  73)
  88. #define __NR_sethostname (__NR_Linux +  74)
  89. #define __NR_setrlimit (__NR_Linux +  75)
  90. #define __NR_getrlimit (__NR_Linux +  76)
  91. #define __NR_getrusage (__NR_Linux +  77)
  92. #define __NR_gettimeofday (__NR_Linux +  78)
  93. #define __NR_settimeofday (__NR_Linux +  79)
  94. #define __NR_getgroups (__NR_Linux +  80)
  95. #define __NR_setgroups (__NR_Linux +  81)
  96. #define __NR_reserved82 (__NR_Linux +  82)
  97. #define __NR_symlink (__NR_Linux +  83)
  98. #define __NR_oldlstat (__NR_Linux +  84)
  99. #define __NR_readlink (__NR_Linux +  85)
  100. #define __NR_uselib (__NR_Linux +  86)
  101. #define __NR_swapon (__NR_Linux +  87)
  102. #define __NR_reboot (__NR_Linux +  88)
  103. #define __NR_readdir (__NR_Linux +  89)
  104. #define __NR_mmap (__NR_Linux +  90)
  105. #define __NR_munmap (__NR_Linux +  91)
  106. #define __NR_truncate (__NR_Linux +  92)
  107. #define __NR_ftruncate (__NR_Linux +  93)
  108. #define __NR_fchmod (__NR_Linux +  94)
  109. #define __NR_fchown (__NR_Linux +  95)
  110. #define __NR_getpriority (__NR_Linux +  96)
  111. #define __NR_setpriority (__NR_Linux +  97)
  112. #define __NR_profil (__NR_Linux +  98)
  113. #define __NR_statfs (__NR_Linux +  99)
  114. #define __NR_fstatfs (__NR_Linux + 100)
  115. #define __NR_ioperm (__NR_Linux + 101)
  116. #define __NR_socketcall (__NR_Linux + 102)
  117. #define __NR_syslog (__NR_Linux + 103)
  118. #define __NR_setitimer (__NR_Linux + 104)
  119. #define __NR_getitimer (__NR_Linux + 105)
  120. #define __NR_stat (__NR_Linux + 106)
  121. #define __NR_lstat (__NR_Linux + 107)
  122. #define __NR_fstat (__NR_Linux + 108)
  123. #define __NR_unused109 (__NR_Linux + 109)
  124. #define __NR_iopl (__NR_Linux + 110)
  125. #define __NR_vhangup (__NR_Linux + 111)
  126. #define __NR_idle (__NR_Linux + 112)
  127. #define __NR_vm86 (__NR_Linux + 113)
  128. #define __NR_wait4 (__NR_Linux + 114)
  129. #define __NR_swapoff (__NR_Linux + 115)
  130. #define __NR_sysinfo (__NR_Linux + 116)
  131. #define __NR_ipc (__NR_Linux + 117)
  132. #define __NR_fsync (__NR_Linux + 118)
  133. #define __NR_sigreturn (__NR_Linux + 119)
  134. #define __NR_clone (__NR_Linux + 120)
  135. #define __NR_setdomainname (__NR_Linux + 121)
  136. #define __NR_uname (__NR_Linux + 122)
  137. #define __NR_modify_ldt (__NR_Linux + 123)
  138. #define __NR_adjtimex (__NR_Linux + 124)
  139. #define __NR_mprotect (__NR_Linux + 125)
  140. #define __NR_sigprocmask (__NR_Linux + 126)
  141. #define __NR_create_module (__NR_Linux + 127)
  142. #define __NR_init_module (__NR_Linux + 128)
  143. #define __NR_delete_module (__NR_Linux + 129)
  144. #define __NR_get_kernel_syms (__NR_Linux + 130)
  145. #define __NR_quotactl (__NR_Linux + 131)
  146. #define __NR_getpgid (__NR_Linux + 132)
  147. #define __NR_fchdir (__NR_Linux + 133)
  148. #define __NR_bdflush (__NR_Linux + 134)
  149. #define __NR_sysfs (__NR_Linux + 135)
  150. #define __NR_personality (__NR_Linux + 136)
  151. #define __NR_afs_syscall (__NR_Linux + 137) /* Syscall for Andrew File System */
  152. #define __NR_setfsuid (__NR_Linux + 138)
  153. #define __NR_setfsgid (__NR_Linux + 139)
  154. #define __NR__llseek (__NR_Linux + 140)
  155. #define __NR_getdents (__NR_Linux + 141)
  156. #define __NR__newselect (__NR_Linux + 142)
  157. #define __NR_flock (__NR_Linux + 143)
  158. #define __NR_msync (__NR_Linux + 144)
  159. #define __NR_readv (__NR_Linux + 145)
  160. #define __NR_writev (__NR_Linux + 146)
  161. #define __NR_cacheflush (__NR_Linux + 147)
  162. #define __NR_cachectl (__NR_Linux + 148)
  163. #define __NR_sysmips (__NR_Linux + 149)
  164. #define __NR_unused150 (__NR_Linux + 150)
  165. #define __NR_getsid (__NR_Linux + 151)
  166. #define __NR_fdatasync (__NR_Linux + 152)
  167. #define __NR__sysctl (__NR_Linux + 153)
  168. #define __NR_mlock (__NR_Linux + 154)
  169. #define __NR_munlock (__NR_Linux + 155)
  170. #define __NR_mlockall (__NR_Linux + 156)
  171. #define __NR_munlockall (__NR_Linux + 157)
  172. #define __NR_sched_setparam (__NR_Linux + 158)
  173. #define __NR_sched_getparam (__NR_Linux + 159)
  174. #define __NR_sched_setscheduler (__NR_Linux + 160)
  175. #define __NR_sched_getscheduler (__NR_Linux + 161)
  176. #define __NR_sched_yield (__NR_Linux + 162)
  177. #define __NR_sched_get_priority_max (__NR_Linux + 163)
  178. #define __NR_sched_get_priority_min (__NR_Linux + 164)
  179. #define __NR_sched_rr_get_interval (__NR_Linux + 165)
  180. #define __NR_nanosleep (__NR_Linux + 166)
  181. #define __NR_mremap (__NR_Linux + 167)
  182. #define __NR_accept (__NR_Linux + 168)
  183. #define __NR_bind (__NR_Linux + 169)
  184. #define __NR_connect (__NR_Linux + 170)
  185. #define __NR_getpeername (__NR_Linux + 171)
  186. #define __NR_getsockname (__NR_Linux + 172)
  187. #define __NR_getsockopt (__NR_Linux + 173)
  188. #define __NR_listen (__NR_Linux + 174)
  189. #define __NR_recv (__NR_Linux + 175)
  190. #define __NR_recvfrom (__NR_Linux + 176)
  191. #define __NR_recvmsg (__NR_Linux + 177)
  192. #define __NR_send (__NR_Linux + 178)
  193. #define __NR_sendmsg (__NR_Linux + 179)
  194. #define __NR_sendto (__NR_Linux + 180)
  195. #define __NR_setsockopt (__NR_Linux + 181)
  196. #define __NR_shutdown (__NR_Linux + 182)
  197. #define __NR_socket (__NR_Linux + 183)
  198. #define __NR_socketpair (__NR_Linux + 184)
  199. #define __NR_setresuid (__NR_Linux + 185)
  200. #define __NR_getresuid (__NR_Linux + 186)
  201. #define __NR_query_module (__NR_Linux + 187)
  202. #define __NR_poll (__NR_Linux + 188)
  203. #define __NR_nfsservctl (__NR_Linux + 189)
  204. #define __NR_setresgid (__NR_Linux + 190)
  205. #define __NR_getresgid (__NR_Linux + 191)
  206. #define __NR_prctl (__NR_Linux + 192)
  207. #define __NR_rt_sigreturn (__NR_Linux + 193)
  208. #define __NR_rt_sigaction (__NR_Linux + 194)
  209. #define __NR_rt_sigprocmask (__NR_Linux + 195)
  210. #define __NR_rt_sigpending (__NR_Linux + 196)
  211. #define __NR_rt_sigtimedwait (__NR_Linux + 197)
  212. #define __NR_rt_sigqueueinfo (__NR_Linux + 198)
  213. #define __NR_rt_sigsuspend (__NR_Linux + 199)
  214. #define __NR_pread (__NR_Linux + 200)
  215. #define __NR_pwrite (__NR_Linux + 201)
  216. #define __NR_chown (__NR_Linux + 202)
  217. #define __NR_getcwd (__NR_Linux + 203)
  218. #define __NR_capget (__NR_Linux + 204)
  219. #define __NR_capset (__NR_Linux + 205)
  220. #define __NR_sigaltstack (__NR_Linux + 206)
  221. #define __NR_sendfile (__NR_Linux + 207)
  222. #define __NR_getpmsg (__NR_Linux + 208)
  223. #define __NR_putpmsg (__NR_Linux + 209)
  224. #define __NR_mmap2 (__NR_Linux + 210)
  225. #define __NR_truncate64 (__NR_Linux + 211)
  226. #define __NR_ftruncate64 (__NR_Linux + 212)
  227. #define __NR_stat64 (__NR_Linux + 213)
  228. #define __NR_lstat64 (__NR_Linux + 214)
  229. #define __NR_fstat64 (__NR_Linux + 215)
  230. #define __NR_pivot_root (__NR_Linux + 216)
  231. #define __NR_mincore (__NR_Linux + 217)
  232. #define __NR_madvise (__NR_Linux + 218)
  233. #define __NR_getdents64 (__NR_Linux + 219)
  234. #define __NR_fcntl64 (__NR_Linux + 220)
  235. /*
  236.  * Offset of the last Linux flavoured syscall
  237.  */
  238. #define __NR_Linux_syscalls 220
  239. #ifndef _LANGUAGE_ASSEMBLY
  240. /* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
  241. #define _syscall0(type,name) 
  242. type name(void) 
  243. long __res, __err; 
  244. __asm__ volatile ("lit$2,%2nt" 
  245.   "syscallnt" 
  246.   "movet%0, $2nt" 
  247.   "movet%1, $7" 
  248.                   : "=r" (__res), "=r" (__err) 
  249.                   : "i" (__NR_##name) 
  250.                   : "$2","$7","$8","$9","$10","$11","$12","$13","$14","$15", 
  251.     "$24"); 
  252. if (__err == 0) 
  253. return (type) __res; 
  254. errno = __res; 
  255. return -1; 
  256. }
  257. /*
  258.  * DANGER: This macro isn't usable for the pipe(2) call
  259.  * which has a unusual return convention.
  260.  */
  261. #define _syscall1(type,name,atype,a) 
  262. type name(atype a) 
  263. long __res, __err; 
  264. __asm__ volatile ("movet$4,%3nt" 
  265.   "lit$2,%2nt" 
  266.   "syscallnt" 
  267.   "movet%0, $2nt" 
  268.   "movet%1, $7" 
  269.   : "=r" (__res), "=r" (__err) 
  270.   : "i" (__NR_##name),"r" ((long)(a)) 
  271.   : "$2","$4","$7","$8","$9","$10","$11","$12","$13","$14","$15","$24"); 
  272. if (__err == 0) 
  273. return (type) __res; 
  274. errno = __res; 
  275. return -1; 
  276. }
  277. #define _syscall2(type,name,atype,a,btype,b) 
  278. type name(atype a,btype b) 
  279. long __res, __err; 
  280. __asm__ volatile ("movet$4,%3nt" 
  281.                   "movet$5,%4nt" 
  282.   "lit$2,%2nt" 
  283.   "syscallnt" 
  284.   "movet%0, $2nt" 
  285.   "movet%1, $7" 
  286.                   : "=r" (__res), "=r" (__err) 
  287.                   : "i" (__NR_##name),"r" ((long)(a)), 
  288.                                       "r" ((long)(b)) 
  289.                   : "$2","$4","$5","$7","$8","$9","$10","$11","$12","$13", 
  290.     "$14","$15", "$24"); 
  291. if (__err == 0) 
  292. return (type) __res; 
  293. errno = __res; 
  294. return -1; 
  295. }
  296. #define _syscall3(type,name,atype,a,btype,b,ctype,c) 
  297. type name (atype a, btype b, ctype c) 
  298. long __res, __err; 
  299. __asm__ volatile ("movet$4,%3nt" 
  300.                   "movet$5,%4nt" 
  301.                   "movet$6,%5nt" 
  302.   "lit$2,%2nt" 
  303.   "syscallnt" 
  304.   "movet%0, $2nt" 
  305.   "movet%1, $7" 
  306.                   : "=r" (__res), "=r" (__err) 
  307.                   : "i" (__NR_##name),"r" ((long)(a)), 
  308.                                       "r" ((long)(b)), 
  309.                                       "r" ((long)(c)) 
  310.                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", 
  311.     "$13","$14","$15","$24"); 
  312. if (__err == 0) 
  313. return (type) __res; 
  314. errno = __res; 
  315. return -1; 
  316. }
  317. #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) 
  318. type name (atype a, btype b, ctype c, dtype d) 
  319. long __res, __err; 
  320. __asm__ volatile ("movet$4,%3nt" 
  321.                   "movet$5,%4nt" 
  322.                   "movet$6,%5nt" 
  323.                   "movet$7,%6nt" 
  324.   "lit$2,%2nt" 
  325.   "syscallnt" 
  326.   "movet%0, $2nt" 
  327.   "movet%1, $7" 
  328.                   : "=r" (__res), "=r" (__err) 
  329.                   : "i" (__NR_##name),"r" ((long)(a)), 
  330.                                       "r" ((long)(b)), 
  331.                                       "r" ((long)(c)), 
  332.                                       "r" ((long)(d)) 
  333.                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", 
  334.     "$13","$14","$15","$24"); 
  335. if (__err == 0) 
  336. return (type) __res; 
  337. errno = __res; 
  338. return -1; 
  339. }
  340. #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) 
  341. type name (atype a,btype b,ctype c,dtype d,etype e) 
  342. long __res, __err; 
  343. __asm__ volatile ("movet$4,%3nt" 
  344.                   "movet$5,%4nt" 
  345.                   "movet$6,%5nt" 
  346.   "lwt$2,%7nt" 
  347.                   "movet$7,%6nt" 
  348.   "subut$29,24nt" 
  349.   "swt$2,16($29)nt" 
  350.   "lit$2,%2nt" 
  351.   "syscallnt" 
  352.   "movet%0, $2nt" 
  353.   "movet%1, $7nt" 
  354.   "addiut$29,24" 
  355.                   : "=r" (__res), "=r" (__err) 
  356.                   : "i" (__NR_##name),"r" ((long)(a)), 
  357.                                       "r" ((long)(b)), 
  358.                                       "r" ((long)(c)), 
  359.                                       "r" ((long)(d)), 
  360.                                       "m" ((long)(e)) 
  361.                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", 
  362.                     "$13","$14","$15","$24"); 
  363. if (__err == 0) 
  364. return (type) __res; 
  365. errno = __res; 
  366. return -1; 
  367. }
  368. #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) 
  369. type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) 
  370. long __res, __err; 
  371. __asm__ volatile ("movet$4,%3nt" 
  372.                   "movet$5,%4nt" 
  373.                   "movet$6,%5nt" 
  374.   "lwt$2,%7nt" 
  375.   "lwt$3,%8nt" 
  376.                   "movet$7,%6nt" 
  377.   "subut$29,24nt" 
  378.   "swt$2,16($29)nt" 
  379.   "swt$3,20($29)nt" 
  380.   "lit$2,%2nt" 
  381.   "syscallnt" 
  382.   "movet%0, $2nt" 
  383.   "movet%1, $7nt" 
  384.   "addiut$29,24" 
  385.                   : "=r" (__res), "=r" (__err) 
  386.                   : "i" (__NR_##name),"r" ((long)(a)), 
  387.                                       "r" ((long)(b)), 
  388.                                       "r" ((long)(c)), 
  389.                                       "r" ((long)(d)), 
  390.                                       "m" ((long)(e)), 
  391.                                       "m" ((long)(f)) 
  392.                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", 
  393.                     "$12","$13","$14","$15","$24"); 
  394. if (__err == 0) 
  395. return (type) __res; 
  396. errno = __res; 
  397. return -1; 
  398. }
  399. #define _syscall7(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f,gtype,g) 
  400. type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) 
  401. long __res, __err; 
  402. __asm__ volatile ("movet$4,%3nt" 
  403.                   "movet$5,%4nt" 
  404.                   "movet$6,%5nt" 
  405.   "lwt$2,%7nt" 
  406.   "lwt$3,%8nt" 
  407.                   "movet$7,%6nt" 
  408.   "subut$29,32nt" 
  409.   "swt$2,16($29)nt" 
  410.   "lwt$2,%9nt" 
  411.   "swt$3,20($29)nt" 
  412.   "swt$2,24($29)nt" 
  413.   "lit$2,%2nt" 
  414.   "syscallnt" 
  415.   "movet%0, $2nt" 
  416.   "movet%1, $7nt" 
  417.   "addiut$29,32" 
  418.                   : "=r" (__res), "=r" (__err) 
  419.                   : "i" (__NR_##name),"r" ((long)(a)), 
  420.                                       "r" ((long)(b)), 
  421.                                       "r" ((long)(c)), 
  422.                                       "r" ((long)(d)), 
  423.                                       "m" ((long)(e)), 
  424.                                       "m" ((long)(f)), 
  425.                                       "m" ((long)(g)) 
  426.                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", 
  427.                     "$12","$13","$14","$15","$24"); 
  428. if (__err == 0) 
  429. return (type) __res; 
  430. errno = __res; 
  431. return -1; 
  432. }
  433. #ifdef __KERNEL_SYSCALLS__
  434. /*
  435.  * we need this inline - forking from kernel space will result
  436.  * in NO COPY ON WRITE (!!!), until an execve is executed. This
  437.  * is no problem, but for the stack. This is handled by not letting
  438.  * main() use the stack at all after fork(). Thus, no function
  439.  * calls - which means inline code for fork too, as otherwise we
  440.  * would use the stack upon exit from 'fork()'.
  441.  *
  442.  * Actually only pause and fork are needed inline, so that there
  443.  * won't be any messing with the stack from main(), but we define
  444.  * some others too.
  445.  */
  446. #define __NR__exit __NR_exit
  447. static inline _syscall0(int,sync)
  448. static inline _syscall0(pid_t,setsid)
  449. static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count)
  450. static inline _syscall3(int,read,int,fd,char *,buf,off_t,count)
  451. static inline _syscall3(off_t,lseek,int,fd,off_t,offset,int,count)
  452. static inline _syscall1(int,dup,int,fd)
  453. static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
  454. static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
  455. static inline _syscall1(int,close,int,fd)
  456. static inline _syscall1(int,_exit,int,exitcode)
  457. static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
  458. static inline _syscall1(int,delete_module,const char *,name)
  459. static inline pid_t wait(int * wait_stat)
  460. {
  461. return waitpid(-1,wait_stat,0);
  462. }
  463. #endif /* !defined (__KERNEL_SYSCALLS__) */
  464. #endif /* !defined (_LANGUAGE_ASSEMBLY) */
  465. #endif /* _ASM_UNISTD_H */