File: /usr/src/linux/include/asm-parisc/unistd.h

1     #ifndef _ASM_PARISC_UNISTD_H_
2     #define _ASM_PARISC_UNISTD_H_
3     
4     /*
5      * This file contains the system call numbers.
6      */
7     
8     /*
9      *   HP-UX system calls get their native numbers for binary compatibility.
10      */
11     
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
216     /* 226 missing */
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
283     /* 319 missing */
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
318     /* 355 missing */
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
357     /* 394 missing */
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
363     /* 400 missing */
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
475     
476     #define __NR_HPUX_syscalls		512
477     
478     /*
479      * Linux system call numbers.
480      *
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. =)
487      *
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.
490      */
491     
492     #define __NR_Linux                0
493     #define __NR_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_readdir             (__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_ioperm             (__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_pread              (__NR_Linux + 108)
602     #define __NR_pwrite             (__NR_Linux + 109)
603     #define __NR_getcwd             (__NR_Linux + 110)
604     #define __NR_vhangup            (__NR_Linux + 111)
605     #define __NR_idle               (__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)
689     
690     #define __NR_getpmsg            (__NR_Linux + 196)      /* some people actually want streams */
691     #define __NR_putpmsg            (__NR_Linux + 197)      /* some people actually want streams */
692     
693     #define __NR_Linux_syscalls     197
694     
695     #define HPUX_GATEWAY_ADDR       0xC0000004
696     #define LINUX_GATEWAY_ADDR      0x100
697     #define LINUX_GATEWAY_STR       "0x100"
698     
699     /* The old syscall code here didn't work, and it looks like it's only used
700      * by applications such as fdisk which for some reason need to produce
701      * their own syscall instead of using same from libc.  The code below
702      * is leveraged from glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h where
703      * it is essentially duplicated -- which sucks.  -PB
704      */
705     
706     #define SYS_ify(syscall_name)   __NR_##syscall_name
707     
708     /* The system call number MUST ALWAYS be loaded in the delay slot of
709        the ble instruction, or restarting system calls WILL NOT WORK.  See
710        arch/parisc/kernel/signal.c - dhd, 2000-07-26 */
711     #define K_INLINE_SYSCALL(name, nr, args...)       ({              \
712             unsigned long __sys_res;                                \
713             {                                                       \
714                     register unsigned long __res asm("r28");        \
715                     K_LOAD_ARGS_##nr(args)                            \
716                     asm volatile(                                   \
717     			"ble  0x100(%%sr2, %%r0)\n\t"           \
718                             " ldi %1, %%r20"                        \
719                             : "=r" (__res)                          \
720                             : "i" (SYS_ify(name)) K_ASM_ARGS_##nr   \
721     			  );                                    \
722                     __sys_res = __res;                              \
723             }                                                       \
724             if (__sys_res >= (unsigned long)-4095) {                \
725     		errno = -__sys_res;				\
726                     __sys_res == (unsigned long)-1;                 \
727             }                                                       \
728             __sys_res;                                              \
729     })
730     
731     #define K_LOAD_ARGS_0()
732     #define K_LOAD_ARGS_1(r26)                                        \
733             register unsigned long __r26 __asm__("r26") = (unsigned long)r26;       \
734             K_LOAD_ARGS_0()
735     #define K_LOAD_ARGS_2(r26,r25)                                    \
736             register unsigned long __r25 __asm__("r25") = (unsigned long)r25;       \
737             K_LOAD_ARGS_1(r26)
738     #define K_LOAD_ARGS_3(r26,r25,r24)                                \
739             register unsigned long __r24 __asm__("r24") = (unsigned long)r24;       \
740             K_LOAD_ARGS_2(r26,r25)
741     #define K_LOAD_ARGS_4(r26,r25,r24,r23)                            \
742             register unsigned long __r23 __asm__("r23") = (unsigned long)r23;       \
743             K_LOAD_ARGS_3(r26,r25,r24)
744     #define K_LOAD_ARGS_5(r26,r25,r24,r23,r22)                        \
745             register unsigned long __r22 __asm__("r22") = (unsigned long)r22;       \
746             K_LOAD_ARGS_4(r26,r25,r24,r23)
747     #define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21)                    \
748             register unsigned long __r21 __asm__("r21") = (unsigned long)r21;       \
749             K_LOAD_ARGS_5(r26,r25,r24,r23,r22)
750     
751     #define K_ASM_ARGS_0
752     #define K_ASM_ARGS_1 , "r" (__r26)
753     #define K_ASM_ARGS_2 , "r" (__r26), "r" (__r25)
754     #define K_ASM_ARGS_3 , "r" (__r26), "r" (__r25), "r" (__r24)
755     #define K_ASM_ARGS_4 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23)
756     #define K_ASM_ARGS_5 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22)
757     #define K_ASM_ARGS_6 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22), "r" (__r21)
758     
759     #define _syscall0(type,name)						      \
760     type name(void)								      \
761     {									      \
762         return K_INLINE_SYSCALL(name, 0);	\
763     }
764     
765     #define _syscall1(type,name,type1,arg1)					      \
766     type name(type1 arg1)							      \
767     {									      \
768         return K_INLINE_SYSCALL(name, 1, arg1);	\
769     }
770     
771     #define _syscall2(type,name,type1,arg1,type2,arg2)			      \
772     type name(type1 arg1, type2 arg2)					      \
773     {									      \
774         return K_INLINE_SYSCALL(name, 2, arg1, arg2);	\
775     }
776     
777     #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)		      \
778     type name(type1 arg1, type2 arg2, type3 arg3)				      \
779     {									      \
780         return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3);	\
781     }
782     
783     #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)      \
784     type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4)		      \
785     {									      \
786         return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4);	\
787     }
788     
789     /* select takes 5 arguments */
790     #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
791     type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5)	\
792     {									\
793         return K_INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5);	\
794     }
795     
796     
797     /* mmap takes 6 arguments */
798     
799     #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6) \
800     type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6) \
801     {									\
802         return K_INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6);	\
803     }
804     
805     #ifdef __KERNEL_SYSCALLS__
806     
807     static inline int idle(void)
808     {
809     	extern int sys_idle(void);
810     	return sys_idle();
811     }
812     
813     static inline int pause(void)
814     {
815     	extern int sys_pause(void);
816     	return sys_pause();
817     }
818     
819     static inline int sync(void)
820     {
821     	extern int sys_sync(void);
822     	return sys_sync();
823     }
824     
825     static inline pid_t setsid(void)
826     {
827     	extern int sys_setsid(void);
828     	return sys_setsid();
829     }
830     
831     static inline int write(int fd, const char *buf, off_t count)
832     {
833     	extern int sys_write(int, const char *, int);
834     	return sys_write(fd, buf, count);
835     }
836     
837     static inline int read(int fd, char *buf, off_t count)
838     {
839     	extern int sys_read(int, char *, int);
840     	return sys_read(fd, buf, count);
841     }
842     
843     static inline off_t lseek(int fd, off_t offset, int count)
844     {
845     	extern off_t sys_lseek(int, off_t, int);
846     	return sys_lseek(fd, offset, count);
847     }
848     
849     static inline int dup(int fd)
850     {
851     	extern int sys_dup(int);
852     	return sys_dup(fd);
853     }
854     
855     static inline int open(const char *file, int flag, int mode)
856     {
857     	extern long sys_open(const char *, int, int);
858     	return sys_open(file, flag, mode);
859     }
860     
861     static inline int close(int fd)
862     {
863     	return sys_close(fd);
864     }
865     
866     static inline int _exit(int exitcode)
867     {
868     	extern int sys_exit(int) __attribute__((noreturn));
869     	return sys_exit(exitcode);
870     }
871     
872     static inline pid_t waitpid(pid_t pid, int *wait_stat, int options)
873     {
874     	extern int sys_wait4(int, int *, int, struct rusage *);
875     	return sys_wait4((int)pid, wait_stat, options, NULL);
876     }
877     
878     static inline int delete_module(const char *name)
879     {
880     	extern int sys_delete_module(const char *name);
881     	return sys_delete_module(name);
882     }
883     
884     static inline pid_t wait(int * wait_stat)
885     {
886     	extern int sys_wait4(int, int *, int, struct rusage *);
887     	return sys_wait4(-1, wait_stat, 0, NULL);
888     }
889     
890     static inline int execve(char *filename, char * argv [],
891     	char * envp[])
892     {
893     	extern int __execve(char *, char **, char **, struct task_struct *);
894     	return __execve(filename, argv, envp, current);
895     }
896     
897     #endif
898     
899     #undef STR
900     
901     #endif /* _ASM_PARISC_UNISTD_H_ */
902