unistd.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:9k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _ASM_IA64_UNISTD_H
  2. #define _ASM_IA64_UNISTD_H
  3. /*
  4.  * IA-64 Linux syscall numbers and inline-functions.
  5.  *
  6.  * Copyright (C) 1998-2001 Hewlett-Packard Co
  7.  * David Mosberger-Tang <davidm@hpl.hp.com>
  8.  */
  9. #include <asm/break.h>
  10. #define __BREAK_SYSCALL __IA64_BREAK_SYSCALL
  11. #define __NR_ni_syscall 1024
  12. #define __NR_exit 1025
  13. #define __NR_read 1026
  14. #define __NR_write 1027
  15. #define __NR_open 1028
  16. #define __NR_close 1029
  17. #define __NR_creat 1030
  18. #define __NR_link 1031
  19. #define __NR_unlink 1032
  20. #define __NR_execve 1033
  21. #define __NR_chdir 1034
  22. #define __NR_fchdir 1035
  23. #define __NR_utimes 1036
  24. #define __NR_mknod 1037
  25. #define __NR_chmod 1038
  26. #define __NR_chown 1039
  27. #define __NR_lseek 1040
  28. #define __NR_getpid 1041
  29. #define __NR_getppid 1042
  30. #define __NR_mount 1043
  31. #define __NR_umount 1044
  32. #define __NR_setuid 1045
  33. #define __NR_getuid 1046
  34. #define __NR_geteuid 1047
  35. #define __NR_ptrace 1048
  36. #define __NR_access 1049
  37. #define __NR_sync 1050
  38. #define __NR_fsync 1051
  39. #define __NR_fdatasync 1052
  40. #define __NR_kill 1053
  41. #define __NR_rename 1054
  42. #define __NR_mkdir 1055
  43. #define __NR_rmdir 1056
  44. #define __NR_dup 1057
  45. #define __NR_pipe 1058
  46. #define __NR_times 1059
  47. #define __NR_brk 1060
  48. #define __NR_setgid 1061
  49. #define __NR_getgid 1062
  50. #define __NR_getegid 1063
  51. #define __NR_acct 1064
  52. #define __NR_ioctl 1065
  53. #define __NR_fcntl 1066
  54. #define __NR_umask 1067
  55. #define __NR_chroot 1068
  56. #define __NR_ustat 1069
  57. #define __NR_dup2 1070
  58. #define __NR_setreuid 1071
  59. #define __NR_setregid 1072
  60. #define __NR_getresuid 1073
  61. #define __NR_setresuid 1074
  62. #define __NR_getresgid 1075
  63. #define __NR_setresgid 1076
  64. #define __NR_getgroups 1077
  65. #define __NR_setgroups 1078
  66. #define __NR_getpgid 1079
  67. #define __NR_setpgid 1080
  68. #define __NR_setsid 1081
  69. #define __NR_getsid 1082
  70. #define __NR_sethostname 1083
  71. #define __NR_setrlimit 1084
  72. #define __NR_getrlimit 1085
  73. #define __NR_getrusage 1086
  74. #define __NR_gettimeofday 1087
  75. #define __NR_settimeofday 1088
  76. #define __NR_select 1089
  77. #define __NR_poll 1090
  78. #define __NR_symlink 1091
  79. #define __NR_readlink 1092
  80. #define __NR_uselib 1093
  81. #define __NR_swapon 1094
  82. #define __NR_swapoff 1095
  83. #define __NR_reboot 1096
  84. #define __NR_truncate 1097
  85. #define __NR_ftruncate 1098
  86. #define __NR_fchmod 1099
  87. #define __NR_fchown 1100
  88. #define __NR_getpriority 1101
  89. #define __NR_setpriority 1102
  90. #define __NR_statfs 1103
  91. #define __NR_fstatfs 1104
  92. #define __NR_gettid 1105
  93. #define __NR_semget 1106
  94. #define __NR_semop 1107
  95. #define __NR_semctl 1108
  96. #define __NR_msgget 1109
  97. #define __NR_msgsnd 1110
  98. #define __NR_msgrcv 1111
  99. #define __NR_msgctl 1112
  100. #define __NR_shmget 1113
  101. #define __NR_shmat 1114
  102. #define __NR_shmdt 1115
  103. #define __NR_shmctl 1116
  104. /* also known as klogctl() in GNU libc: */
  105. #define __NR_syslog 1117
  106. #define __NR_setitimer 1118
  107. #define __NR_getitimer 1119
  108. #define __NR_old_stat 1120
  109. #define __NR_old_lstat 1121
  110. #define __NR_old_fstat 1122
  111. #define __NR_vhangup 1123
  112. #define __NR_lchown 1124
  113. #define __NR_vm86 1125
  114. #define __NR_wait4 1126
  115. #define __NR_sysinfo 1127
  116. #define __NR_clone 1128
  117. #define __NR_setdomainname 1129
  118. #define __NR_uname 1130
  119. #define __NR_adjtimex 1131
  120. #define __NR_create_module 1132
  121. #define __NR_init_module 1133
  122. #define __NR_delete_module 1134
  123. #define __NR_get_kernel_syms 1135
  124. #define __NR_query_module 1136
  125. #define __NR_quotactl 1137
  126. #define __NR_bdflush 1138
  127. #define __NR_sysfs 1139
  128. #define __NR_personality 1140
  129. #define __NR_afs_syscall 1141
  130. #define __NR_setfsuid 1142
  131. #define __NR_setfsgid 1143
  132. #define __NR_getdents 1144
  133. #define __NR_flock 1145
  134. #define __NR_readv 1146
  135. #define __NR_writev 1147
  136. #define __NR_pread 1148
  137. #define __NR_pwrite 1149
  138. #define __NR__sysctl 1150
  139. #define __NR_mmap 1151
  140. #define __NR_munmap 1152
  141. #define __NR_mlock 1153
  142. #define __NR_mlockall 1154
  143. #define __NR_mprotect 1155
  144. #define __NR_mremap 1156
  145. #define __NR_msync 1157
  146. #define __NR_munlock 1158
  147. #define __NR_munlockall 1159
  148. #define __NR_sched_getparam 1160
  149. #define __NR_sched_setparam 1161
  150. #define __NR_sched_getscheduler 1162
  151. #define __NR_sched_setscheduler 1163
  152. #define __NR_sched_yield 1164
  153. #define __NR_sched_get_priority_max 1165
  154. #define __NR_sched_get_priority_min 1166
  155. #define __NR_sched_rr_get_interval 1167
  156. #define __NR_nanosleep 1168
  157. #define __NR_nfsservctl 1169
  158. #define __NR_prctl 1170
  159. /* 1171 is reserved for backwards compatibility with old __NR_getpagesize */
  160. #define __NR_mmap2 1172
  161. #define __NR_pciconfig_read 1173
  162. #define __NR_pciconfig_write 1174
  163. #define __NR_perfmonctl 1175
  164. #define __NR_sigaltstack 1176
  165. #define __NR_rt_sigaction 1177
  166. #define __NR_rt_sigpending 1178
  167. #define __NR_rt_sigprocmask 1179
  168. #define __NR_rt_sigqueueinfo 1180
  169. #define __NR_rt_sigreturn 1181
  170. #define __NR_rt_sigsuspend 1182
  171. #define __NR_rt_sigtimedwait 1183
  172. #define __NR_getcwd 1184
  173. #define __NR_capget 1185
  174. #define __NR_capset 1186
  175. #define __NR_sendfile 1187
  176. #define __NR_getpmsg 1188
  177. #define __NR_putpmsg 1189
  178. #define __NR_socket 1190
  179. #define __NR_bind 1191
  180. #define __NR_connect 1192
  181. #define __NR_listen 1193
  182. #define __NR_accept 1194
  183. #define __NR_getsockname 1195
  184. #define __NR_getpeername 1196
  185. #define __NR_socketpair 1197
  186. #define __NR_send 1198
  187. #define __NR_sendto 1199
  188. #define __NR_recv 1200
  189. #define __NR_recvfrom 1201
  190. #define __NR_shutdown 1202
  191. #define __NR_setsockopt 1203
  192. #define __NR_getsockopt 1204
  193. #define __NR_sendmsg 1205
  194. #define __NR_recvmsg 1206
  195. #define __NR_pivot_root 1207
  196. #define __NR_mincore 1208
  197. #define __NR_madvise 1209
  198. #define __NR_stat 1210
  199. #define __NR_lstat 1211
  200. #define __NR_fstat 1212
  201. #define __NR_clone2 1213
  202. #define __NR_getdents64 1214
  203. #define __NR_getunwind 1215
  204. #define __NR_readahead 1216
  205. /*
  206.  * 1217-1228: reserved for xattr
  207.  * 1230-1232: reserved for futex and sched_[sg]etaffinity.
  208.  */
  209. #define __NR_tkill 1229
  210. #define __NR_security 1233 /* syscall for security modules */
  211. #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
  212. extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);
  213. #define _syscall0(type,name)
  214. type
  215. name (void)
  216. {
  217. register long dummy1 __asm__ ("out0");
  218. register long dummy2 __asm__ ("out1");
  219. register long dummy3 __asm__ ("out2");
  220. register long dummy4 __asm__ ("out3");
  221. register long dummy5 __asm__ ("out4");
  222. return __ia64_syscall(dummy1, dummy2, dummy3, dummy4, dummy5,
  223.       __NR_##name);
  224. }
  225. #define _syscall1(type,name,type1,arg1)
  226. type
  227. name (type1 arg1)
  228. {
  229. register long dummy2 __asm__ ("out1");
  230. register long dummy3 __asm__ ("out2");
  231. register long dummy4 __asm__ ("out3");
  232. register long dummy5 __asm__ ("out4");
  233. return __ia64_syscall((long) arg1, dummy2, dummy3, dummy4,
  234.       dummy5, __NR_##name);
  235. }
  236. #define _syscall2(type,name,type1,arg1,type2,arg2)
  237. type
  238. name (type1 arg1, type2 arg2)
  239. {
  240. register long dummy3 __asm__ ("out2");
  241. register long dummy4 __asm__ ("out3");
  242. register long dummy5 __asm__ ("out4");
  243. return __ia64_syscall((long) arg1, (long) arg2, dummy3, dummy4,
  244.       dummy5, __NR_##name);
  245. }
  246. #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)
  247. type
  248. name (type1 arg1, type2 arg2, type3 arg3)
  249. {
  250. register long dummy4 __asm__ ("out3");
  251. register long dummy5 __asm__ ("out4");
  252. return __ia64_syscall((long) arg1, (long) arg2, (long) arg3,
  253.       dummy4, dummy5, __NR_##name);
  254. }
  255. #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)
  256. type
  257. name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)
  258. {
  259. register long dummy5 __asm__ ("out4");
  260. return __ia64_syscall((long) arg1, (long) arg2, (long) arg3,
  261.       (long) arg4, dummy5, __NR_##name);
  262. }
  263. #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5)
  264. type
  265. name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5)
  266. {
  267. return __ia64_syscall((long) arg1, (long) arg2, (long) arg3,
  268.       (long) arg4, (long) arg5, __NR_##name);
  269. }
  270. #ifdef __KERNEL_SYSCALLS__
  271. static inline _syscall0(int,sync)
  272. static inline _syscall0(pid_t,setsid)
  273. static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count)
  274. static inline _syscall3(int,read,int,fd,char *,buf,off_t,count)
  275. static inline _syscall3(off_t,lseek,int,fd,off_t,offset,int,count)
  276. static inline _syscall1(int,dup,int,fd)
  277. static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
  278. static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
  279. static inline _syscall1(int,close,int,fd)
  280. static inline _syscall4(pid_t,wait4,pid_t,pid,int *,wait_stat,int,options,struct rusage*, rusage)
  281. static inline _syscall1(int,delete_module,const char *,name)
  282. static inline _syscall2(pid_t,clone,unsigned long,flags,void*,sp);
  283. #define __NR__exit __NR_exit
  284. static inline _syscall1(int,_exit,int,exitcode)
  285. static inline pid_t
  286. waitpid (int pid, int *wait_stat, int flags)
  287. {
  288. return wait4(pid, wait_stat, flags, NULL);
  289. }
  290. static inline pid_t
  291. wait (int * wait_stat)
  292. {
  293. return wait4(-1, wait_stat, 0, 0);
  294. }
  295. #endif /* __KERNEL_SYSCALLS__ */
  296. #endif /* !__ASSEMBLY__ */
  297. #endif /* _ASM_IA64_UNISTD_H */