1 #ifndef _ASM_PARISC_UNISTD_H_
2 #define _ASM_PARISC_UNISTD_H_
5 * This file contains the system call numbers.
9 * HP-UX system calls get their native numbers for binary compatibility.
12 #define __NR_HPUX_exit 1
13 #define __NR_HPUX_fork 2
14 #define __NR_HPUX_read 3
15 #define __NR_HPUX_write 4
16 #define __NR_HPUX_open 5
17 #define __NR_HPUX_close 6
18 #define __NR_HPUX_wait 7
19 #define __NR_HPUX_creat 8
20 #define __NR_HPUX_link 9
21 #define __NR_HPUX_unlink 10
22 #define __NR_HPUX_execv 11
23 #define __NR_HPUX_chdir 12
24 #define __NR_HPUX_time 13
25 #define __NR_HPUX_mknod 14
26 #define __NR_HPUX_chmod 15
27 #define __NR_HPUX_chown 16
28 #define __NR_HPUX_break 17
29 #define __NR_HPUX_lchmod 18
30 #define __NR_HPUX_lseek 19
31 #define __NR_HPUX_getpid 20
32 #define __NR_HPUX_mount 21
33 #define __NR_HPUX_umount 22
34 #define __NR_HPUX_setuid 23
35 #define __NR_HPUX_getuid 24
36 #define __NR_HPUX_stime 25
37 #define __NR_HPUX_ptrace 26
38 #define __NR_HPUX_alarm 27
39 #define __NR_HPUX_oldfstat 28
40 #define __NR_HPUX_pause 29
41 #define __NR_HPUX_utime 30
42 #define __NR_HPUX_stty 31
43 #define __NR_HPUX_gtty 32
44 #define __NR_HPUX_access 33
45 #define __NR_HPUX_nice 34
46 #define __NR_HPUX_ftime 35
47 #define __NR_HPUX_sync 36
48 #define __NR_HPUX_kill 37
49 #define __NR_HPUX_stat 38
50 #define __NR_HPUX_setpgrp3 39
51 #define __NR_HPUX_lstat 40
52 #define __NR_HPUX_dup 41
53 #define __NR_HPUX_pipe 42
54 #define __NR_HPUX_times 43
55 #define __NR_HPUX_profil 44
56 #define __NR_HPUX_ki_call 45
57 #define __NR_HPUX_setgid 46
58 #define __NR_HPUX_getgid 47
59 #define __NR_HPUX_sigsys 48
60 #define __NR_HPUX_reserved1 49
61 #define __NR_HPUX_reserved2 50
62 #define __NR_HPUX_acct 51
63 #define __NR_HPUX_set_userthreadid 52
64 #define __NR_HPUX_oldlock 53
65 #define __NR_HPUX_ioctl 54
66 #define __NR_HPUX_reboot 55
67 #define __NR_HPUX_symlink 56
68 #define __NR_HPUX_utssys 57
69 #define __NR_HPUX_readlink 58
70 #define __NR_HPUX_execve 59
71 #define __NR_HPUX_umask 60
72 #define __NR_HPUX_chroot 61
73 #define __NR_HPUX_fcntl 62
74 #define __NR_HPUX_ulimit 63
75 #define __NR_HPUX_getpagesize 64
76 #define __NR_HPUX_mremap 65
77 #define __NR_HPUX_vfork 66
78 #define __NR_HPUX_vread 67
79 #define __NR_HPUX_vwrite 68
80 #define __NR_HPUX_sbrk 69
81 #define __NR_HPUX_sstk 70
82 #define __NR_HPUX_mmap 71
83 #define __NR_HPUX_vadvise 72
84 #define __NR_HPUX_munmap 73
85 #define __NR_HPUX_mprotect 74
86 #define __NR_HPUX_madvise 75
87 #define __NR_HPUX_vhangup 76
88 #define __NR_HPUX_swapoff 77
89 #define __NR_HPUX_mincore 78
90 #define __NR_HPUX_getgroups 79
91 #define __NR_HPUX_setgroups 80
92 #define __NR_HPUX_getpgrp2 81
93 #define __NR_HPUX_setpgrp2 82
94 #define __NR_HPUX_setitimer 83
95 #define __NR_HPUX_wait3 84
96 #define __NR_HPUX_swapon 85
97 #define __NR_HPUX_getitimer 86
98 #define __NR_HPUX_gethostname42 87
99 #define __NR_HPUX_sethostname42 88
100 #define __NR_HPUX_getdtablesize 89
101 #define __NR_HPUX_dup2 90
102 #define __NR_HPUX_getdopt 91
103 #define __NR_HPUX_fstat 92
104 #define __NR_HPUX_select 93
105 #define __NR_HPUX_setdopt 94
106 #define __NR_HPUX_fsync 95
107 #define __NR_HPUX_setpriority 96
108 #define __NR_HPUX_socket_old 97
109 #define __NR_HPUX_connect_old 98
110 #define __NR_HPUX_accept_old 99
111 #define __NR_HPUX_getpriority 100
112 #define __NR_HPUX_send_old 101
113 #define __NR_HPUX_recv_old 102
114 #define __NR_HPUX_socketaddr_old 103
115 #define __NR_HPUX_bind_old 104
116 #define __NR_HPUX_setsockopt_old 105
117 #define __NR_HPUX_listen_old 106
118 #define __NR_HPUX_vtimes_old 107
119 #define __NR_HPUX_sigvector 108
120 #define __NR_HPUX_sigblock 109
121 #define __NR_HPUX_siggetmask 110
122 #define __NR_HPUX_sigpause 111
123 #define __NR_HPUX_sigstack 112
124 #define __NR_HPUX_recvmsg_old 113
125 #define __NR_HPUX_sendmsg_old 114
126 #define __NR_HPUX_vtrace_old 115
127 #define __NR_HPUX_gettimeofday 116
128 #define __NR_HPUX_getrusage 117
129 #define __NR_HPUX_getsockopt_old 118
130 #define __NR_HPUX_resuba_old 119
131 #define __NR_HPUX_readv 120
132 #define __NR_HPUX_writev 121
133 #define __NR_HPUX_settimeofday 122
134 #define __NR_HPUX_fchown 123
135 #define __NR_HPUX_fchmod 124
136 #define __NR_HPUX_recvfrom_old 125
137 #define __NR_HPUX_setresuid 126
138 #define __NR_HPUX_setresgid 127
139 #define __NR_HPUX_rename 128
140 #define __NR_HPUX_truncate 129
141 #define __NR_HPUX_ftruncate 130
142 #define __NR_HPUX_flock_old 131
143 #define __NR_HPUX_sysconf 132
144 #define __NR_HPUX_sendto_old 133
145 #define __NR_HPUX_shutdown_old 134
146 #define __NR_HPUX_socketpair_old 135
147 #define __NR_HPUX_mkdir 136
148 #define __NR_HPUX_rmdir 137
149 #define __NR_HPUX_utimes_old 138
150 #define __NR_HPUX_sigcleanup_old 139
151 #define __NR_HPUX_setcore 140
152 #define __NR_HPUX_getpeername_old 141
153 #define __NR_HPUX_gethostid 142
154 #define __NR_HPUX_sethostid 143
155 #define __NR_HPUX_getrlimit 144
156 #define __NR_HPUX_setrlimit 145
157 #define __NR_HPUX_killpg_old 146
158 #define __NR_HPUX_cachectl 147
159 #define __NR_HPUX_quotactl 148
160 #define __NR_HPUX_get_sysinfo 149
161 #define __NR_HPUX_getsockname_old 150
162 #define __NR_HPUX_privgrp 151
163 #define __NR_HPUX_rtprio 152
164 #define __NR_HPUX_plock 153
165 #define __NR_HPUX_reserved3 154
166 #define __NR_HPUX_lockf 155
167 #define __NR_HPUX_semget 156
168 #define __NR_HPUX_osemctl 157
169 #define __NR_HPUX_semop 158
170 #define __NR_HPUX_msgget 159
171 #define __NR_HPUX_omsgctl 160
172 #define __NR_HPUX_msgsnd 161
173 #define __NR_HPUX_msgrecv 162
174 #define __NR_HPUX_shmget 163
175 #define __NR_HPUX_oshmctl 164
176 #define __NR_HPUX_shmat 165
177 #define __NR_HPUX_shmdt 166
178 #define __NR_HPUX_m68020_advise 167
179 /* [168,189] are for Discless/DUX */
180 #define __NR_HPUX_csp 168
181 #define __NR_HPUX_cluster 169
182 #define __NR_HPUX_mkrnod 170
183 #define __NR_HPUX_test 171
184 #define __NR_HPUX_unsp_open 172
185 #define __NR_HPUX_reserved4 173
186 #define __NR_HPUX_getcontext_old 174
187 #define __NR_HPUX_osetcontext 175
188 #define __NR_HPUX_bigio 176
189 #define __NR_HPUX_pipenode 177
190 #define __NR_HPUX_lsync 178
191 #define __NR_HPUX_getmachineid 179
192 #define __NR_HPUX_cnodeid 180
193 #define __NR_HPUX_cnodes 181
194 #define __NR_HPUX_swapclients 182
195 #define __NR_HPUX_rmt_process 183
196 #define __NR_HPUX_dskless_stats 184
197 #define __NR_HPUX_sigprocmask 185
198 #define __NR_HPUX_sigpending 186
199 #define __NR_HPUX_sigsuspend 187
200 #define __NR_HPUX_sigaction 188
201 #define __NR_HPUX_reserved5 189
202 #define __NR_HPUX_nfssvc 190
203 #define __NR_HPUX_getfh 191
204 #define __NR_HPUX_getdomainname 192
205 #define __NR_HPUX_setdomainname 193
206 #define __NR_HPUX_async_daemon 194
207 #define __NR_HPUX_getdirentries 195
208 #define __NR_HPUX_statfs 196
209 #define __NR_HPUX_fstatfs 197
210 #define __NR_HPUX_vfsmount 198
211 #define __NR_HPUX_reserved6 199
212 #define __NR_HPUX_waitpid 200
213 /* 201 - 223 missing */
214 #define __NR_HPUX_sigsetreturn 224
215 #define __NR_HPUX_sigsetstatemask 225
217 #define __NR_HPUX_cs 227
218 #define __NR_HPUX_cds 228
219 #define __NR_HPUX_set_no_trunc 229
220 #define __NR_HPUX_pathconf 230
221 #define __NR_HPUX_fpathconf 231
222 /* 232, 233 missing */
223 #define __NR_HPUX_nfs_fcntl 234
224 #define __NR_HPUX_ogetacl 235
225 #define __NR_HPUX_ofgetacl 236
226 #define __NR_HPUX_osetacl 237
227 #define __NR_HPUX_ofsetacl 238
228 #define __NR_HPUX_pstat 239
229 #define __NR_HPUX_getaudid 240
230 #define __NR_HPUX_setaudid 241
231 #define __NR_HPUX_getaudproc 242
232 #define __NR_HPUX_setaudproc 243
233 #define __NR_HPUX_getevent 244
234 #define __NR_HPUX_setevent 245
235 #define __NR_HPUX_audwrite 246
236 #define __NR_HPUX_audswitch 247
237 #define __NR_HPUX_audctl 248
238 #define __NR_HPUX_ogetaccess 249
239 #define __NR_HPUX_fsctl 250
240 /* 251 - 258 missing */
241 #define __NR_HPUX_swapfs 259
242 #define __NR_HPUX_fss 260
243 /* 261 - 266 missing */
244 #define __NR_HPUX_tsync 267
245 #define __NR_HPUX_getnumfds 268
246 #define __NR_HPUX_poll 269
247 #define __NR_HPUX_getmsg 270
248 #define __NR_HPUX_putmsg 271
249 #define __NR_HPUX_fchdir 272
250 #define __NR_HPUX_getmount_cnt 273
251 #define __NR_HPUX_getmount_entry 274
252 #define __NR_HPUX_accept 275
253 #define __NR_HPUX_bind 276
254 #define __NR_HPUX_connect 277
255 #define __NR_HPUX_getpeername 278
256 #define __NR_HPUX_getsockname 279
257 #define __NR_HPUX_getsockopt 280
258 #define __NR_HPUX_listen 281
259 #define __NR_HPUX_recv 282
260 #define __NR_HPUX_recvfrom 283
261 #define __NR_HPUX_recvmsg 284
262 #define __NR_HPUX_send 285
263 #define __NR_HPUX_sendmsg 286
264 #define __NR_HPUX_sendto 287
265 #define __NR_HPUX_setsockopt 288
266 #define __NR_HPUX_shutdown 289
267 #define __NR_HPUX_socket 290
268 #define __NR_HPUX_socketpair 291
269 #define __NR_HPUX_proc_open 292
270 #define __NR_HPUX_proc_close 293
271 #define __NR_HPUX_proc_send 294
272 #define __NR_HPUX_proc_recv 295
273 #define __NR_HPUX_proc_sendrecv 296
274 #define __NR_HPUX_proc_syscall 297
275 /* 298 - 311 missing */
276 #define __NR_HPUX_semctl 312
277 #define __NR_HPUX_msgctl 313
278 #define __NR_HPUX_shmctl 314
279 #define __NR_HPUX_mpctl 315
280 #define __NR_HPUX_exportfs 316
281 #define __NR_HPUX_getpmsg 317
282 #define __NR_HPUX_putpmsg 318
284 #define __NR_HPUX_msync 320
285 #define __NR_HPUX_msleep 321
286 #define __NR_HPUX_mwakeup 322
287 #define __NR_HPUX_msem_init 323
288 #define __NR_HPUX_msem_remove 324
289 #define __NR_HPUX_adjtime 325
290 #define __NR_HPUX_kload 326
291 #define __NR_HPUX_fattach 327
292 #define __NR_HPUX_fdetach 328
293 #define __NR_HPUX_serialize 329
294 #define __NR_HPUX_statvfs 330
295 #define __NR_HPUX_fstatvfs 331
296 #define __NR_HPUX_lchown 332
297 #define __NR_HPUX_getsid 333
298 #define __NR_HPUX_sysfs 334
299 /* 335, 336 missing */
300 #define __NR_HPUX_sched_setparam 337
301 #define __NR_HPUX_sched_getparam 338
302 #define __NR_HPUX_sched_setscheduler 339
303 #define __NR_HPUX_sched_getscheduler 340
304 #define __NR_HPUX_sched_yield 341
305 #define __NR_HPUX_sched_get_priority_max 342
306 #define __NR_HPUX_sched_get_priority_min 343
307 #define __NR_HPUX_sched_rr_get_interval 344
308 #define __NR_HPUX_clock_settime 345
309 #define __NR_HPUX_clock_gettime 346
310 #define __NR_HPUX_clock_getres 347
311 #define __NR_HPUX_timer_create 348
312 #define __NR_HPUX_timer_delete 349
313 #define __NR_HPUX_timer_settime 350
314 #define __NR_HPUX_timer_gettime 351
315 #define __NR_HPUX_timer_getoverrun 352
316 #define __NR_HPUX_nanosleep 353
317 #define __NR_HPUX_toolbox 354
319 #define __NR_HPUX_getdents 356
320 #define __NR_HPUX_getcontext 357
321 #define __NR_HPUX_sysinfo 358
322 #define __NR_HPUX_fcntl64 359
323 #define __NR_HPUX_ftruncate64 360
324 #define __NR_HPUX_fstat64 361
325 #define __NR_HPUX_getdirentries64 362
326 #define __NR_HPUX_getrlimit64 363
327 #define __NR_HPUX_lockf64 364
328 #define __NR_HPUX_lseek64 365
329 #define __NR_HPUX_lstat64 366
330 #define __NR_HPUX_mmap64 367
331 #define __NR_HPUX_setrlimit64 368
332 #define __NR_HPUX_stat64 369
333 #define __NR_HPUX_truncate64 370
334 #define __NR_HPUX_ulimit64 371
335 #define __NR_HPUX_pread 372
336 #define __NR_HPUX_preadv 373
337 #define __NR_HPUX_pwrite 374
338 #define __NR_HPUX_pwritev 375
339 #define __NR_HPUX_pread64 376
340 #define __NR_HPUX_preadv64 377
341 #define __NR_HPUX_pwrite64 378
342 #define __NR_HPUX_pwritev64 379
343 #define __NR_HPUX_setcontext 380
344 #define __NR_HPUX_sigaltstack 381
345 #define __NR_HPUX_waitid 382
346 #define __NR_HPUX_setpgrp 383
347 #define __NR_HPUX_recvmsg2 384
348 #define __NR_HPUX_sendmsg2 385
349 #define __NR_HPUX_socket2 386
350 #define __NR_HPUX_socketpair2 387
351 #define __NR_HPUX_setregid 388
352 #define __NR_HPUX_lwp_create 389
353 #define __NR_HPUX_lwp_terminate 390
354 #define __NR_HPUX_lwp_wait 391
355 #define __NR_HPUX_lwp_suspend 392
356 #define __NR_HPUX_lwp_resume 393
358 #define __NR_HPUX_lwp_abort_syscall 395
359 #define __NR_HPUX_lwp_info 396
360 #define __NR_HPUX_lwp_kill 397
361 #define __NR_HPUX_ksleep 398
362 #define __NR_HPUX_kwakeup 399
364 #define __NR_HPUX_pstat_getlwp 401
365 #define __NR_HPUX_lwp_exit 402
366 #define __NR_HPUX_lwp_continue 403
367 #define __NR_HPUX_getacl 404
368 #define __NR_HPUX_fgetacl 405
369 #define __NR_HPUX_setacl 406
370 #define __NR_HPUX_fsetacl 407
371 #define __NR_HPUX_getaccess 408
372 #define __NR_HPUX_lwp_mutex_init 409
373 #define __NR_HPUX_lwp_mutex_lock_sys 410
374 #define __NR_HPUX_lwp_mutex_unlock 411
375 #define __NR_HPUX_lwp_cond_init 412
376 #define __NR_HPUX_lwp_cond_signal 413
377 #define __NR_HPUX_lwp_cond_broadcast 414
378 #define __NR_HPUX_lwp_cond_wait_sys 415
379 #define __NR_HPUX_lwp_getscheduler 416
380 #define __NR_HPUX_lwp_setscheduler 417
381 #define __NR_HPUX_lwp_getstate 418
382 #define __NR_HPUX_lwp_setstate 419
383 #define __NR_HPUX_lwp_detach 420
384 #define __NR_HPUX_mlock 421
385 #define __NR_HPUX_munlock 422
386 #define __NR_HPUX_mlockall 423
387 #define __NR_HPUX_munlockall 424
388 #define __NR_HPUX_shm_open 425
389 #define __NR_HPUX_shm_unlink 426
390 #define __NR_HPUX_sigqueue 427
391 #define __NR_HPUX_sigwaitinfo 428
392 #define __NR_HPUX_sigtimedwait 429
393 #define __NR_HPUX_sigwait 430
394 #define __NR_HPUX_aio_read 431
395 #define __NR_HPUX_aio_write 432
396 #define __NR_HPUX_lio_listio 433
397 #define __NR_HPUX_aio_error 434
398 #define __NR_HPUX_aio_return 435
399 #define __NR_HPUX_aio_cancel 436
400 #define __NR_HPUX_aio_suspend 437
401 #define __NR_HPUX_aio_fsync 438
402 #define __NR_HPUX_mq_open 439
403 #define __NR_HPUX_mq_close 440
404 #define __NR_HPUX_mq_unlink 441
405 #define __NR_HPUX_mq_send 442
406 #define __NR_HPUX_mq_receive 443
407 #define __NR_HPUX_mq_notify 444
408 #define __NR_HPUX_mq_setattr 445
409 #define __NR_HPUX_mq_getattr 446
410 #define __NR_HPUX_ksem_open 447
411 #define __NR_HPUX_ksem_unlink 448
412 #define __NR_HPUX_ksem_close 449
413 #define __NR_HPUX_ksem_post 450
414 #define __NR_HPUX_ksem_wait 451
415 #define __NR_HPUX_ksem_read 452
416 #define __NR_HPUX_ksem_trywait 453
417 #define __NR_HPUX_lwp_rwlock_init 454
418 #define __NR_HPUX_lwp_rwlock_destroy 455
419 #define __NR_HPUX_lwp_rwlock_rdlock_sys 456
420 #define __NR_HPUX_lwp_rwlock_wrlock_sys 457
421 #define __NR_HPUX_lwp_rwlock_tryrdlock 458
422 #define __NR_HPUX_lwp_rwlock_trywrlock 459
423 #define __NR_HPUX_lwp_rwlock_unlock 460
424 #define __NR_HPUX_ttrace 461
425 #define __NR_HPUX_ttrace_wait 462
426 #define __NR_HPUX_lf_wire_mem 463
427 #define __NR_HPUX_lf_unwire_mem 464
428 #define __NR_HPUX_lf_send_pin_map 465
429 #define __NR_HPUX_lf_free_buf 466
430 #define __NR_HPUX_lf_wait_nq 467
431 #define __NR_HPUX_lf_wakeup_conn_q 468
432 #define __NR_HPUX_lf_unused 469
433 #define __NR_HPUX_lwp_sema_init 470
434 #define __NR_HPUX_lwp_sema_post 471
435 #define __NR_HPUX_lwp_sema_wait 472
436 #define __NR_HPUX_lwp_sema_trywait 473
437 #define __NR_HPUX_lwp_sema_destroy 474
438 #define __NR_HPUX_statvfs64 475
439 #define __NR_HPUX_fstatvfs64 476
440 #define __NR_HPUX_msh_register 477
441 #define __NR_HPUX_ptrace64 478
442 #define __NR_HPUX_sendfile 479
443 #define __NR_HPUX_sendpath 480
444 #define __NR_HPUX_sendfile64 481
445 #define __NR_HPUX_sendpath64 482
446 #define __NR_HPUX_modload 483
447 #define __NR_HPUX_moduload 484
448 #define __NR_HPUX_modpath 485
449 #define __NR_HPUX_getksym 486
450 #define __NR_HPUX_modadm 487
451 #define __NR_HPUX_modstat 488
452 #define __NR_HPUX_lwp_detached_exit 489
453 #define __NR_HPUX_crashconf 490
454 #define __NR_HPUX_siginhibit 491
455 #define __NR_HPUX_sigenable 492
456 #define __NR_HPUX_spuctl 493
457 #define __NR_HPUX_zerokernelsum 494
458 #define __NR_HPUX_nfs_kstat 495
459 #define __NR_HPUX_aio_read64 496
460 #define __NR_HPUX_aio_write64 497
461 #define __NR_HPUX_aio_error64 498
462 #define __NR_HPUX_aio_return64 499
463 #define __NR_HPUX_aio_cancel64 500
464 #define __NR_HPUX_aio_suspend64 501
465 #define __NR_HPUX_aio_fsync64 502
466 #define __NR_HPUX_lio_listio64 503
467 #define __NR_HPUX_recv2 504
468 #define __NR_HPUX_recvfrom2 505
469 #define __NR_HPUX_send2 506
470 #define __NR_HPUX_sendto2 507
471 #define __NR_HPUX_acl 508
472 #define __NR_HPUX___cnx_p2p_ctl 509
473 #define __NR_HPUX___cnx_gsched_ctl 510
474 #define __NR_HPUX___cnx_pmon_ctl 511
476 #define __NR_HPUX_syscalls 512
479 * Linux system call numbers.
481 * Cary Coutant says that we should just use another syscall gateway
482 * page to avoid clashing with the HPUX space, and I think he's right:
483 * it will would keep a branch out of our syscall entry path, at the
484 * very least. If we decide to change it later, we can ``just'' tweak
485 * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be
486 * 1024 or something. Oh, and recompile libc. =)
488 * 64-bit HPUX binaries get the syscall gateway address passed in a register
489 * from the kernel at startup, which seems a sane strategy.
493 #define __NR_restart_syscall (__NR_Linux + 0)
494 #define __NR_exit (__NR_Linux + 1)
495 #define __NR_fork (__NR_Linux + 2)
496 #define __NR_read (__NR_Linux + 3)
497 #define __NR_write (__NR_Linux + 4)
498 #define __NR_open (__NR_Linux + 5)
499 #define __NR_close (__NR_Linux + 6)
500 #define __NR_waitpid (__NR_Linux + 7)
501 #define __NR_creat (__NR_Linux + 8)
502 #define __NR_link (__NR_Linux + 9)
503 #define __NR_unlink (__NR_Linux + 10)
504 #define __NR_execve (__NR_Linux + 11)
505 #define __NR_chdir (__NR_Linux + 12)
506 #define __NR_time (__NR_Linux + 13)
507 #define __NR_mknod (__NR_Linux + 14)
508 #define __NR_chmod (__NR_Linux + 15)
509 #define __NR_lchown (__NR_Linux + 16)
510 #define __NR_socket (__NR_Linux + 17)
511 #define __NR_stat (__NR_Linux + 18)
512 #define __NR_lseek (__NR_Linux + 19)
513 #define __NR_getpid (__NR_Linux + 20)
514 #define __NR_mount (__NR_Linux + 21)
515 #define __NR_bind (__NR_Linux + 22)
516 #define __NR_setuid (__NR_Linux + 23)
517 #define __NR_getuid (__NR_Linux + 24)
518 #define __NR_stime (__NR_Linux + 25)
519 #define __NR_ptrace (__NR_Linux + 26)
520 #define __NR_alarm (__NR_Linux + 27)
521 #define __NR_fstat (__NR_Linux + 28)
522 #define __NR_pause (__NR_Linux + 29)
523 #define __NR_utime (__NR_Linux + 30)
524 #define __NR_connect (__NR_Linux + 31)
525 #define __NR_listen (__NR_Linux + 32)
526 #define __NR_access (__NR_Linux + 33)
527 #define __NR_nice (__NR_Linux + 34)
528 #define __NR_accept (__NR_Linux + 35)
529 #define __NR_sync (__NR_Linux + 36)
530 #define __NR_kill (__NR_Linux + 37)
531 #define __NR_rename (__NR_Linux + 38)
532 #define __NR_mkdir (__NR_Linux + 39)
533 #define __NR_rmdir (__NR_Linux + 40)
534 #define __NR_dup (__NR_Linux + 41)
535 #define __NR_pipe (__NR_Linux + 42)
536 #define __NR_times (__NR_Linux + 43)
537 #define __NR_getsockname (__NR_Linux + 44)
538 #define __NR_brk (__NR_Linux + 45)
539 #define __NR_setgid (__NR_Linux + 46)
540 #define __NR_getgid (__NR_Linux + 47)
541 #define __NR_signal (__NR_Linux + 48)
542 #define __NR_geteuid (__NR_Linux + 49)
543 #define __NR_getegid (__NR_Linux + 50)
544 #define __NR_acct (__NR_Linux + 51)
545 #define __NR_umount2 (__NR_Linux + 52)
546 #define __NR_getpeername (__NR_Linux + 53)
547 #define __NR_ioctl (__NR_Linux + 54)
548 #define __NR_fcntl (__NR_Linux + 55)
549 #define __NR_socketpair (__NR_Linux + 56)
550 #define __NR_setpgid (__NR_Linux + 57)
551 #define __NR_send (__NR_Linux + 58)
552 #define __NR_uname (__NR_Linux + 59)
553 #define __NR_umask (__NR_Linux + 60)
554 #define __NR_chroot (__NR_Linux + 61)
555 #define __NR_ustat (__NR_Linux + 62)
556 #define __NR_dup2 (__NR_Linux + 63)
557 #define __NR_getppid (__NR_Linux + 64)
558 #define __NR_getpgrp (__NR_Linux + 65)
559 #define __NR_setsid (__NR_Linux + 66)
560 #define __NR_pivot_root (__NR_Linux + 67)
561 #define __NR_sgetmask (__NR_Linux + 68)
562 #define __NR_ssetmask (__NR_Linux + 69)
563 #define __NR_setreuid (__NR_Linux + 70)
564 #define __NR_setregid (__NR_Linux + 71)
565 #define __NR_mincore (__NR_Linux + 72)
566 #define __NR_sigpending (__NR_Linux + 73)
567 #define __NR_sethostname (__NR_Linux + 74)
568 #define __NR_setrlimit (__NR_Linux + 75)
569 #define __NR_getrlimit (__NR_Linux + 76)
570 #define __NR_getrusage (__NR_Linux + 77)
571 #define __NR_gettimeofday (__NR_Linux + 78)
572 #define __NR_settimeofday (__NR_Linux + 79)
573 #define __NR_getgroups (__NR_Linux + 80)
574 #define __NR_setgroups (__NR_Linux + 81)
575 #define __NR_sendto (__NR_Linux + 82)
576 #define __NR_symlink (__NR_Linux + 83)
577 #define __NR_lstat (__NR_Linux + 84)
578 #define __NR_readlink (__NR_Linux + 85)
579 #define __NR_uselib (__NR_Linux + 86)
580 #define __NR_swapon (__NR_Linux + 87)
581 #define __NR_reboot (__NR_Linux + 88)
582 #define __NR_mmap2 (__NR_Linux + 89)
583 #define __NR_mmap (__NR_Linux + 90)
584 #define __NR_munmap (__NR_Linux + 91)
585 #define __NR_truncate (__NR_Linux + 92)
586 #define __NR_ftruncate (__NR_Linux + 93)
587 #define __NR_fchmod (__NR_Linux + 94)
588 #define __NR_fchown (__NR_Linux + 95)
589 #define __NR_getpriority (__NR_Linux + 96)
590 #define __NR_setpriority (__NR_Linux + 97)
591 #define __NR_recv (__NR_Linux + 98)
592 #define __NR_statfs (__NR_Linux + 99)
593 #define __NR_fstatfs (__NR_Linux + 100)
594 #define __NR_stat64 (__NR_Linux + 101)
595 /* #define __NR_socketcall (__NR_Linux + 102) */
596 #define __NR_syslog (__NR_Linux + 103)
597 #define __NR_setitimer (__NR_Linux + 104)
598 #define __NR_getitimer (__NR_Linux + 105)
599 #define __NR_capget (__NR_Linux + 106)
600 #define __NR_capset (__NR_Linux + 107)
601 #define __NR_pread64 (__NR_Linux + 108)
602 #define __NR_pwrite64 (__NR_Linux + 109)
603 #define __NR_getcwd (__NR_Linux + 110)
604 #define __NR_vhangup (__NR_Linux + 111)
605 #define __NR_fstat64 (__NR_Linux + 112)
606 #define __NR_vfork (__NR_Linux + 113)
607 #define __NR_wait4 (__NR_Linux + 114)
608 #define __NR_swapoff (__NR_Linux + 115)
609 #define __NR_sysinfo (__NR_Linux + 116)
610 #define __NR_shutdown (__NR_Linux + 117)
611 #define __NR_fsync (__NR_Linux + 118)
612 #define __NR_madvise (__NR_Linux + 119)
613 #define __NR_clone (__NR_Linux + 120)
614 #define __NR_setdomainname (__NR_Linux + 121)
615 #define __NR_sendfile (__NR_Linux + 122)
616 #define __NR_recvfrom (__NR_Linux + 123)
617 #define __NR_adjtimex (__NR_Linux + 124)
618 #define __NR_mprotect (__NR_Linux + 125)
619 #define __NR_sigprocmask (__NR_Linux + 126)
620 #define __NR_create_module (__NR_Linux + 127)
621 #define __NR_init_module (__NR_Linux + 128)
622 #define __NR_delete_module (__NR_Linux + 129)
623 #define __NR_get_kernel_syms (__NR_Linux + 130)
624 #define __NR_quotactl (__NR_Linux + 131)
625 #define __NR_getpgid (__NR_Linux + 132)
626 #define __NR_fchdir (__NR_Linux + 133)
627 #define __NR_bdflush (__NR_Linux + 134)
628 #define __NR_sysfs (__NR_Linux + 135)
629 #define __NR_personality (__NR_Linux + 136)
630 #define __NR_afs_syscall (__NR_Linux + 137) /* Syscall for Andrew File System */
631 #define __NR_setfsuid (__NR_Linux + 138)
632 #define __NR_setfsgid (__NR_Linux + 139)
633 #define __NR__llseek (__NR_Linux + 140)
634 #define __NR_getdents (__NR_Linux + 141)
635 #define __NR__newselect (__NR_Linux + 142)
636 #define __NR_flock (__NR_Linux + 143)
637 #define __NR_msync (__NR_Linux + 144)
638 #define __NR_readv (__NR_Linux + 145)
639 #define __NR_writev (__NR_Linux + 146)
640 #define __NR_getsid (__NR_Linux + 147)
641 #define __NR_fdatasync (__NR_Linux + 148)
642 #define __NR__sysctl (__NR_Linux + 149)
643 #define __NR_mlock (__NR_Linux + 150)
644 #define __NR_munlock (__NR_Linux + 151)
645 #define __NR_mlockall (__NR_Linux + 152)
646 #define __NR_munlockall (__NR_Linux + 153)
647 #define __NR_sched_setparam (__NR_Linux + 154)
648 #define __NR_sched_getparam (__NR_Linux + 155)
649 #define __NR_sched_setscheduler (__NR_Linux + 156)
650 #define __NR_sched_getscheduler (__NR_Linux + 157)
651 #define __NR_sched_yield (__NR_Linux + 158)
652 #define __NR_sched_get_priority_max (__NR_Linux + 159)
653 #define __NR_sched_get_priority_min (__NR_Linux + 160)
654 #define __NR_sched_rr_get_interval (__NR_Linux + 161)
655 #define __NR_nanosleep (__NR_Linux + 162)
656 #define __NR_mremap (__NR_Linux + 163)
657 #define __NR_setresuid (__NR_Linux + 164)
658 #define __NR_getresuid (__NR_Linux + 165)
659 #define __NR_sigaltstack (__NR_Linux + 166)
660 #define __NR_query_module (__NR_Linux + 167)
661 #define __NR_poll (__NR_Linux + 168)
662 #define __NR_nfsservctl (__NR_Linux + 169)
663 #define __NR_setresgid (__NR_Linux + 170)
664 #define __NR_getresgid (__NR_Linux + 171)
665 #define __NR_prctl (__NR_Linux + 172)
666 #define __NR_rt_sigreturn (__NR_Linux + 173)
667 #define __NR_rt_sigaction (__NR_Linux + 174)
668 #define __NR_rt_sigprocmask (__NR_Linux + 175)
669 #define __NR_rt_sigpending (__NR_Linux + 176)
670 #define __NR_rt_sigtimedwait (__NR_Linux + 177)
671 #define __NR_rt_sigqueueinfo (__NR_Linux + 178)
672 #define __NR_rt_sigsuspend (__NR_Linux + 179)
673 #define __NR_chown (__NR_Linux + 180)
674 #define __NR_setsockopt (__NR_Linux + 181)
675 #define __NR_getsockopt (__NR_Linux + 182)
676 #define __NR_sendmsg (__NR_Linux + 183)
677 #define __NR_recvmsg (__NR_Linux + 184)
678 #define __NR_semop (__NR_Linux + 185)
679 #define __NR_semget (__NR_Linux + 186)
680 #define __NR_semctl (__NR_Linux + 187)
681 #define __NR_msgsnd (__NR_Linux + 188)
682 #define __NR_msgrcv (__NR_Linux + 189)
683 #define __NR_msgget (__NR_Linux + 190)
684 #define __NR_msgctl (__NR_Linux + 191)
685 #define __NR_shmat (__NR_Linux + 192)
686 #define __NR_shmdt (__NR_Linux + 193)
687 #define __NR_shmget (__NR_Linux + 194)
688 #define __NR_shmctl (__NR_Linux + 195)
690 #define __NR_getpmsg (__NR_Linux + 196) /* Somebody *wants* streams? */
691 #define __NR_putpmsg (__NR_Linux + 197)
693 #define __NR_lstat64 (__NR_Linux + 198)
694 #define __NR_truncate64 (__NR_Linux + 199)
695 #define __NR_ftruncate64 (__NR_Linux + 200)
696 #define __NR_getdents64 (__NR_Linux + 201)
697 #define __NR_fcntl64 (__NR_Linux + 202)
698 #define __NR_attrctl (__NR_Linux + 203)
699 #define __NR_acl_get (__NR_Linux + 204)
700 #define __NR_acl_set (__NR_Linux + 205)
701 #define __NR_gettid (__NR_Linux + 206)
702 #define __NR_readahead (__NR_Linux + 207)
703 #define __NR_tkill (__NR_Linux + 208)
704 #define __NR_sendfile64 (__NR_Linux + 209)
705 #define __NR_futex (__NR_Linux + 210)
706 #define __NR_sched_setaffinity (__NR_Linux + 211)
707 #define __NR_sched_getaffinity (__NR_Linux + 212)
708 #define __NR_set_thread_area (__NR_Linux + 213)
709 #define __NR_get_thread_area (__NR_Linux + 214)
710 #define __NR_io_setup (__NR_Linux + 215)
711 #define __NR_io_destroy (__NR_Linux + 216)
712 #define __NR_io_getevents (__NR_Linux + 217)
713 #define __NR_io_submit (__NR_Linux + 218)
714 #define __NR_io_cancel (__NR_Linux + 219)
715 #define __NR_alloc_hugepages (__NR_Linux + 220)
716 #define __NR_free_hugepages (__NR_Linux + 221)
717 #define __NR_exit_group (__NR_Linux + 222)
718 #define __NR_lookup_dcookie (__NR_Linux + 223)
719 #define __NR_epoll_create (__NR_Linux + 224)
720 #define __NR_epoll_ctl (__NR_Linux + 225)
721 #define __NR_epoll_wait (__NR_Linux + 226)
722 #define __NR_remap_file_pages (__NR_Linux + 227)
723 #define __NR_semtimedop (__NR_Linux + 228)
724 #define __NR_mq_open (__NR_Linux + 229)
725 #define __NR_mq_unlink (__NR_Linux + 230)
726 #define __NR_mq_timedsend (__NR_Linux + 231)
727 #define __NR_mq_timedreceive (__NR_Linux + 232)
728 #define __NR_mq_notify (__NR_Linux + 233)
729 #define __NR_mq_getsetattr (__NR_Linux + 234)
730 #define __NR_waitid (__NR_Linux + 235)
731 #define __NR_fadvise64_64 (__NR_Linux + 236)
732 #define __NR_set_tid_address (__NR_Linux + 237)
733 #define __NR_setxattr (__NR_Linux + 238)
734 #define __NR_lsetxattr (__NR_Linux + 239)
735 #define __NR_fsetxattr (__NR_Linux + 240)
736 #define __NR_getxattr (__NR_Linux + 241)
737 #define __NR_lgetxattr (__NR_Linux + 242)
738 #define __NR_fgetxattr (__NR_Linux + 243)
739 #define __NR_listxattr (__NR_Linux + 244)
740 #define __NR_llistxattr (__NR_Linux + 245)
741 #define __NR_flistxattr (__NR_Linux + 246)
742 #define __NR_removexattr (__NR_Linux + 247)
743 #define __NR_lremovexattr (__NR_Linux + 248)
744 #define __NR_fremovexattr (__NR_Linux + 249)
745 #define __NR_timer_create (__NR_Linux + 250)
746 #define __NR_timer_settime (__NR_Linux + 251)
747 #define __NR_timer_gettime (__NR_Linux + 252)
748 #define __NR_timer_getoverrun (__NR_Linux + 253)
749 #define __NR_timer_delete (__NR_Linux + 254)
750 #define __NR_clock_settime (__NR_Linux + 255)
751 #define __NR_clock_gettime (__NR_Linux + 256)
752 #define __NR_clock_getres (__NR_Linux + 257)
753 #define __NR_clock_nanosleep (__NR_Linux + 258)
754 #define __NR_tgkill (__NR_Linux + 259)
755 #define __NR_mbind (__NR_Linux + 260)
756 #define __NR_get_mempolicy (__NR_Linux + 261)
757 #define __NR_set_mempolicy (__NR_Linux + 262)
758 #define __NR_vserver (__NR_Linux + 263)
759 #define __NR_add_key (__NR_Linux + 264)
760 #define __NR_request_key (__NR_Linux + 265)
761 #define __NR_keyctl (__NR_Linux + 266)
762 #define __NR_ioprio_set (__NR_Linux + 267)
763 #define __NR_ioprio_get (__NR_Linux + 268)
764 #define __NR_inotify_init (__NR_Linux + 269)
765 #define __NR_inotify_add_watch (__NR_Linux + 270)
766 #define __NR_inotify_rm_watch (__NR_Linux + 271)
767 #define __NR_migrate_pages (__NR_Linux + 272)
768 #define __NR_pselect6 (__NR_Linux + 273)
769 #define __NR_ppoll (__NR_Linux + 274)
770 #define __NR_openat (__NR_Linux + 275)
771 #define __NR_mkdirat (__NR_Linux + 276)
772 #define __NR_mknodat (__NR_Linux + 277)
773 #define __NR_fchownat (__NR_Linux + 278)
774 #define __NR_futimesat (__NR_Linux + 279)
775 #define __NR_newfstatat (__NR_Linux + 280)
776 #define __NR_unlinkat (__NR_Linux + 281)
777 #define __NR_renameat (__NR_Linux + 282)
778 #define __NR_linkat (__NR_Linux + 283)
779 #define __NR_symlinkat (__NR_Linux + 284)
780 #define __NR_readlinkat (__NR_Linux + 285)
781 #define __NR_fchmodat (__NR_Linux + 286)
782 #define __NR_faccessat (__NR_Linux + 287)
783 #define __NR_unshare (__NR_Linux + 288)
784 #define __NR_set_robust_list (__NR_Linux + 289)
785 #define __NR_get_robust_list (__NR_Linux + 290)
786 #define __NR_splice (__NR_Linux + 291)
787 #define __NR_sync_file_range (__NR_Linux + 292)
788 #define __NR_tee (__NR_Linux + 293)
790 #define __NR_Linux_syscalls 294
792 #define HPUX_GATEWAY_ADDR 0xC0000004
793 #define LINUX_GATEWAY_ADDR 0x100
797 #define SYS_ify(syscall_name) __NR_##syscall_name
799 /* Assume all syscalls are done from PIC code just to be
800 * safe. The worst case scenario is that you lose a register
801 * and save/restore r19 across the syscall. */
805 # define ASM_LINE_SEP ;
808 /* Definition taken from glibc 2.3.3
809 * sysdeps/unix/sysv/linux/hppa/sysdep.h
813 /* WARNING: CANNOT BE USED IN A NOP! */
814 # define K_STW_ASM_PIC " copy %%r19, %%r4\n"
815 # define K_LDW_ASM_PIC " copy %%r4, %%r19\n"
816 # define K_USING_GR4 "%r4",
818 # define K_STW_ASM_PIC " \n"
819 # define K_LDW_ASM_PIC " \n"
823 /* GCC has to be warned that a syscall may clobber all the ABI
824 registers listed as "caller-saves", see page 8, Table 2
825 in section 2.2.6 of the PA-RISC RUN-TIME architecture
826 document. However! r28 is the result and will conflict with
827 the clobber list so it is left out. Also the input arguments
828 registers r20 -> r26 will conflict with the list so they
829 are treated specially. Although r19 is clobbered by the syscall
830 we cannot say this because it would violate ABI, thus we say
831 r4 is clobbered and use that register to save/restore r19
832 across the syscall. */
834 #define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \
835 "%r20", "%r29", "%r31"
837 #undef K_INLINE_SYSCALL
838 #define K_INLINE_SYSCALL(name, nr, args...) ({ \
841 register unsigned long __res __asm__("r28"); \
842 K_LOAD_ARGS_##nr(args) \
843 /* FIXME: HACK stw/ldw r19 around syscall */ \
846 " ble 0x100(%%sr2, %%r0)\n" \
850 : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \
851 : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \
853 __sys_res = (long)__res; \
855 if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){ \
856 errno = -__sys_res; \
862 #define K_LOAD_ARGS_0()
863 #define K_LOAD_ARGS_1(r26) \
864 register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
866 #define K_LOAD_ARGS_2(r26,r25) \
867 register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
869 #define K_LOAD_ARGS_3(r26,r25,r24) \
870 register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
871 K_LOAD_ARGS_2(r26,r25)
872 #define K_LOAD_ARGS_4(r26,r25,r24,r23) \
873 register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
874 K_LOAD_ARGS_3(r26,r25,r24)
875 #define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \
876 register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
877 K_LOAD_ARGS_4(r26,r25,r24,r23)
878 #define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
879 register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
880 K_LOAD_ARGS_5(r26,r25,r24,r23,r22)
882 /* Even with zero args we use r20 for the syscall number */
884 #define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26)
885 #define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25)
886 #define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24)
887 #define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23)
888 #define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22)
889 #define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21)
891 /* The registers not listed as inputs but clobbered */
892 #define K_CLOB_ARGS_6
893 #define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21"
894 #define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22"
895 #define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23"
896 #define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24"
897 #define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25"
898 #define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26"
900 #define _syscall0(type,name) \
903 return K_INLINE_SYSCALL(name, 0); \
906 #define _syscall1(type,name,type1,arg1) \
907 type name(type1 arg1) \
909 return K_INLINE_SYSCALL(name, 1, arg1); \
912 #define _syscall2(type,name,type1,arg1,type2,arg2) \
913 type name(type1 arg1, type2 arg2) \
915 return K_INLINE_SYSCALL(name, 2, arg1, arg2); \
918 #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
919 type name(type1 arg1, type2 arg2, type3 arg3) \
921 return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \
924 #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
925 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
927 return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \
930 /* select takes 5 arguments */
931 #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
932 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
934 return K_INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5); \
938 #define __ARCH_WANT_OLD_READDIR
939 #define __ARCH_WANT_STAT64
940 #define __ARCH_WANT_SYS_ALARM
941 #define __ARCH_WANT_SYS_GETHOSTNAME
942 #define __ARCH_WANT_SYS_PAUSE
943 #define __ARCH_WANT_SYS_SGETMASK
944 #define __ARCH_WANT_SYS_SIGNAL
945 #define __ARCH_WANT_SYS_TIME
946 #define __ARCH_WANT_COMPAT_SYS_TIME
947 #define __ARCH_WANT_SYS_UTIME
948 #define __ARCH_WANT_SYS_WAITPID
949 #define __ARCH_WANT_SYS_SOCKETCALL
950 #define __ARCH_WANT_SYS_FADVISE64
951 #define __ARCH_WANT_SYS_GETPGRP
952 #define __ARCH_WANT_SYS_LLSEEK
953 #define __ARCH_WANT_SYS_NICE
954 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
955 #define __ARCH_WANT_SYS_OLDUMOUNT
956 #define __ARCH_WANT_SYS_SIGPENDING
957 #define __ARCH_WANT_SYS_SIGPROCMASK
958 #define __ARCH_WANT_SYS_RT_SIGACTION
961 /* mmap & mmap2 take 6 arguments */
962 #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6) \
963 type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6) \
965 return K_INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6); \
968 #ifdef __KERNEL_SYSCALLS__
970 #include <asm/current.h>
971 #include <linux/compiler.h>
972 #include <linux/types.h>
973 #include <linux/syscalls.h>
975 static inline pid_t
setsid(void)
980 static inline int write(int fd
, const char *buf
, off_t count
)
982 return sys_write(fd
, buf
, count
);
985 static inline int read(int fd
, char *buf
, off_t count
)
987 return sys_read(fd
, buf
, count
);
990 static inline off_t
lseek(int fd
, off_t offset
, int count
)
992 return sys_lseek(fd
, offset
, count
);
995 static inline int dup(int fd
)
1000 static inline int execve(char *filename
, char * argv
[],
1003 extern int __execve(char *, char **, char **, struct task_struct
*);
1004 return __execve(filename
, argv
, envp
, current
);
1007 static inline int open(const char *file
, int flag
, int mode
)
1009 return sys_open(file
, flag
, mode
);
1012 static inline int close(int fd
)
1014 return sys_close(fd
);
1017 static inline void _exit(int exitcode
)
1022 static inline pid_t
waitpid(pid_t pid
, int *wait_stat
, int options
)
1024 return sys_wait4(pid
, wait_stat
, options
, NULL
);
1027 asmlinkage
unsigned long sys_mmap(unsigned long addr
, unsigned long len
,
1028 unsigned long prot
, unsigned long flags
,
1029 unsigned long fd
, unsigned long offset
);
1030 asmlinkage
unsigned long sys_mmap2(unsigned long addr
, unsigned long len
,
1031 unsigned long prot
, unsigned long flags
,
1032 unsigned long fd
, unsigned long pgoff
);
1034 asmlinkage
int sys_execve(struct pt_regs
*regs
);
1035 int sys_clone(unsigned long clone_flags
, unsigned long usp
,
1036 struct pt_regs
*regs
);
1037 int sys_vfork(struct pt_regs
*regs
);
1038 int sys_pipe(int *fildes
);
1040 asmlinkage
long sys_rt_sigaction(int sig
,
1041 const struct sigaction __user
*act
,
1042 struct sigaction __user
*oact
,
1045 #endif /* __KERNEL_SYSCALLS__ */
1047 #endif /* __ASSEMBLY__ */
1052 * "Conditional" syscalls
1054 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
1055 * but it doesn't work on all toolchains, so we just do it by hand
1057 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
1059 #endif /* _ASM_PARISC_UNISTD_H_ */