Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial
[pandora-kernel.git] / include / asm-alpha / unistd.h
1 #ifndef _ALPHA_UNISTD_H
2 #define _ALPHA_UNISTD_H
3
4 #define __NR_osf_syscall          0     /* not implemented */
5 #define __NR_exit                 1
6 #define __NR_fork                 2
7 #define __NR_read                 3
8 #define __NR_write                4
9 #define __NR_osf_old_open         5     /* not implemented */
10 #define __NR_close                6
11 #define __NR_osf_wait4            7
12 #define __NR_osf_old_creat        8     /* not implemented */
13 #define __NR_link                 9
14 #define __NR_unlink              10
15 #define __NR_osf_execve          11     /* not implemented */
16 #define __NR_chdir               12
17 #define __NR_fchdir              13
18 #define __NR_mknod               14
19 #define __NR_chmod               15
20 #define __NR_chown               16
21 #define __NR_brk                 17
22 #define __NR_osf_getfsstat       18     /* not implemented */
23 #define __NR_lseek               19
24 #define __NR_getxpid             20
25 #define __NR_osf_mount           21
26 #define __NR_umount              22
27 #define __NR_setuid              23
28 #define __NR_getxuid             24
29 #define __NR_exec_with_loader    25     /* not implemented */
30 #define __NR_ptrace              26
31 #define __NR_osf_nrecvmsg        27     /* not implemented */
32 #define __NR_osf_nsendmsg        28     /* not implemented */
33 #define __NR_osf_nrecvfrom       29     /* not implemented */
34 #define __NR_osf_naccept         30     /* not implemented */
35 #define __NR_osf_ngetpeername    31     /* not implemented */
36 #define __NR_osf_ngetsockname    32     /* not implemented */
37 #define __NR_access              33
38 #define __NR_osf_chflags         34     /* not implemented */
39 #define __NR_osf_fchflags        35     /* not implemented */
40 #define __NR_sync                36
41 #define __NR_kill                37
42 #define __NR_osf_old_stat        38     /* not implemented */
43 #define __NR_setpgid             39
44 #define __NR_osf_old_lstat       40     /* not implemented */
45 #define __NR_dup                 41
46 #define __NR_pipe                42
47 #define __NR_osf_set_program_attributes 43
48 #define __NR_osf_profil          44     /* not implemented */
49 #define __NR_open                45
50 #define __NR_osf_old_sigaction   46     /* not implemented */
51 #define __NR_getxgid             47
52 #define __NR_osf_sigprocmask     48
53 #define __NR_osf_getlogin        49     /* not implemented */
54 #define __NR_osf_setlogin        50     /* not implemented */
55 #define __NR_acct                51
56 #define __NR_sigpending          52
57
58 #define __NR_ioctl               54
59 #define __NR_osf_reboot          55     /* not implemented */
60 #define __NR_osf_revoke          56     /* not implemented */
61 #define __NR_symlink             57
62 #define __NR_readlink            58
63 #define __NR_execve              59
64 #define __NR_umask               60
65 #define __NR_chroot              61
66 #define __NR_osf_old_fstat       62     /* not implemented */
67 #define __NR_getpgrp             63
68 #define __NR_getpagesize         64
69 #define __NR_osf_mremap          65     /* not implemented */
70 #define __NR_vfork               66
71 #define __NR_stat                67
72 #define __NR_lstat               68
73 #define __NR_osf_sbrk            69     /* not implemented */
74 #define __NR_osf_sstk            70     /* not implemented */
75 #define __NR_mmap                71     /* OSF/1 mmap is superset of Linux */
76 #define __NR_osf_old_vadvise     72     /* not implemented */
77 #define __NR_munmap              73
78 #define __NR_mprotect            74
79 #define __NR_madvise             75
80 #define __NR_vhangup             76
81 #define __NR_osf_kmodcall        77     /* not implemented */
82 #define __NR_osf_mincore         78     /* not implemented */
83 #define __NR_getgroups           79
84 #define __NR_setgroups           80
85 #define __NR_osf_old_getpgrp     81     /* not implemented */
86 #define __NR_setpgrp             82     /* BSD alias for setpgid */
87 #define __NR_osf_setitimer       83
88 #define __NR_osf_old_wait        84     /* not implemented */
89 #define __NR_osf_table           85     /* not implemented */
90 #define __NR_osf_getitimer       86
91 #define __NR_gethostname         87
92 #define __NR_sethostname         88
93 #define __NR_getdtablesize       89
94 #define __NR_dup2                90
95 #define __NR_fstat               91
96 #define __NR_fcntl               92
97 #define __NR_osf_select          93
98 #define __NR_poll                94
99 #define __NR_fsync               95
100 #define __NR_setpriority         96
101 #define __NR_socket              97
102 #define __NR_connect             98
103 #define __NR_accept              99
104 #define __NR_getpriority        100
105 #define __NR_send               101
106 #define __NR_recv               102
107 #define __NR_sigreturn          103
108 #define __NR_bind               104
109 #define __NR_setsockopt         105
110 #define __NR_listen             106
111 #define __NR_osf_plock          107     /* not implemented */
112 #define __NR_osf_old_sigvec     108     /* not implemented */
113 #define __NR_osf_old_sigblock   109     /* not implemented */
114 #define __NR_osf_old_sigsetmask 110     /* not implemented */
115 #define __NR_sigsuspend         111
116 #define __NR_osf_sigstack       112
117 #define __NR_recvmsg            113
118 #define __NR_sendmsg            114
119 #define __NR_osf_old_vtrace     115     /* not implemented */
120 #define __NR_osf_gettimeofday   116
121 #define __NR_osf_getrusage      117
122 #define __NR_getsockopt         118
123
124 #define __NR_readv              120
125 #define __NR_writev             121
126 #define __NR_osf_settimeofday   122
127 #define __NR_fchown             123
128 #define __NR_fchmod             124
129 #define __NR_recvfrom           125
130 #define __NR_setreuid           126
131 #define __NR_setregid           127
132 #define __NR_rename             128
133 #define __NR_truncate           129
134 #define __NR_ftruncate          130
135 #define __NR_flock              131
136 #define __NR_setgid             132
137 #define __NR_sendto             133
138 #define __NR_shutdown           134
139 #define __NR_socketpair         135
140 #define __NR_mkdir              136
141 #define __NR_rmdir              137
142 #define __NR_osf_utimes         138
143 #define __NR_osf_old_sigreturn  139     /* not implemented */
144 #define __NR_osf_adjtime        140     /* not implemented */
145 #define __NR_getpeername        141
146 #define __NR_osf_gethostid      142     /* not implemented */
147 #define __NR_osf_sethostid      143     /* not implemented */
148 #define __NR_getrlimit          144
149 #define __NR_setrlimit          145
150 #define __NR_osf_old_killpg     146     /* not implemented */
151 #define __NR_setsid             147
152 #define __NR_quotactl           148
153 #define __NR_osf_oldquota       149     /* not implemented */
154 #define __NR_getsockname        150
155
156 #define __NR_osf_pid_block      153     /* not implemented */
157 #define __NR_osf_pid_unblock    154     /* not implemented */
158
159 #define __NR_sigaction          156
160 #define __NR_osf_sigwaitprim    157     /* not implemented */
161 #define __NR_osf_nfssvc         158     /* not implemented */
162 #define __NR_osf_getdirentries  159
163 #define __NR_osf_statfs         160
164 #define __NR_osf_fstatfs        161
165
166 #define __NR_osf_asynch_daemon  163     /* not implemented */
167 #define __NR_osf_getfh          164     /* not implemented */   
168 #define __NR_osf_getdomainname  165
169 #define __NR_setdomainname      166
170
171 #define __NR_osf_exportfs       169     /* not implemented */
172
173 #define __NR_osf_alt_plock      181     /* not implemented */
174
175 #define __NR_osf_getmnt         184     /* not implemented */
176
177 #define __NR_osf_alt_sigpending 187     /* not implemented */
178 #define __NR_osf_alt_setsid     188     /* not implemented */
179
180 #define __NR_osf_swapon         199
181 #define __NR_msgctl             200
182 #define __NR_msgget             201
183 #define __NR_msgrcv             202
184 #define __NR_msgsnd             203
185 #define __NR_semctl             204
186 #define __NR_semget             205
187 #define __NR_semop              206
188 #define __NR_osf_utsname        207
189 #define __NR_lchown             208
190 #define __NR_osf_shmat          209
191 #define __NR_shmctl             210
192 #define __NR_shmdt              211
193 #define __NR_shmget             212
194 #define __NR_osf_mvalid         213     /* not implemented */
195 #define __NR_osf_getaddressconf 214     /* not implemented */
196 #define __NR_osf_msleep         215     /* not implemented */
197 #define __NR_osf_mwakeup        216     /* not implemented */
198 #define __NR_msync              217
199 #define __NR_osf_signal         218     /* not implemented */
200 #define __NR_osf_utc_gettime    219     /* not implemented */
201 #define __NR_osf_utc_adjtime    220     /* not implemented */
202
203 #define __NR_osf_security       222     /* not implemented */
204 #define __NR_osf_kloadcall      223     /* not implemented */
205
206 #define __NR_getpgid            233
207 #define __NR_getsid             234
208 #define __NR_sigaltstack        235
209 #define __NR_osf_waitid         236     /* not implemented */
210 #define __NR_osf_priocntlset    237     /* not implemented */
211 #define __NR_osf_sigsendset     238     /* not implemented */
212 #define __NR_osf_set_speculative        239     /* not implemented */
213 #define __NR_osf_msfs_syscall   240     /* not implemented */
214 #define __NR_osf_sysinfo        241
215 #define __NR_osf_uadmin         242     /* not implemented */
216 #define __NR_osf_fuser          243     /* not implemented */
217 #define __NR_osf_proplist_syscall    244
218 #define __NR_osf_ntp_adjtime    245     /* not implemented */
219 #define __NR_osf_ntp_gettime    246     /* not implemented */
220 #define __NR_osf_pathconf       247     /* not implemented */
221 #define __NR_osf_fpathconf      248     /* not implemented */
222
223 #define __NR_osf_uswitch        250     /* not implemented */
224 #define __NR_osf_usleep_thread  251
225 #define __NR_osf_audcntl        252     /* not implemented */
226 #define __NR_osf_audgen         253     /* not implemented */
227 #define __NR_sysfs              254
228 #define __NR_osf_subsys_info    255     /* not implemented */
229 #define __NR_osf_getsysinfo     256
230 #define __NR_osf_setsysinfo     257
231 #define __NR_osf_afs_syscall    258     /* not implemented */
232 #define __NR_osf_swapctl        259     /* not implemented */
233 #define __NR_osf_memcntl        260     /* not implemented */
234 #define __NR_osf_fdatasync      261     /* not implemented */
235
236
237 /*
238  * Linux-specific system calls begin at 300
239  */
240 #define __NR_bdflush            300
241 #define __NR_sethae             301
242 #define __NR_mount              302
243 #define __NR_old_adjtimex       303
244 #define __NR_swapoff            304
245 #define __NR_getdents           305
246 #define __NR_create_module      306
247 #define __NR_init_module        307
248 #define __NR_delete_module      308
249 #define __NR_get_kernel_syms    309
250 #define __NR_syslog             310
251 #define __NR_reboot             311
252 #define __NR_clone              312
253 #define __NR_uselib             313
254 #define __NR_mlock              314
255 #define __NR_munlock            315
256 #define __NR_mlockall           316
257 #define __NR_munlockall         317
258 #define __NR_sysinfo            318
259 #define __NR__sysctl            319
260 /* 320 was sys_idle.  */
261 #define __NR_oldumount          321
262 #define __NR_swapon             322
263 #define __NR_times              323
264 #define __NR_personality        324
265 #define __NR_setfsuid           325
266 #define __NR_setfsgid           326
267 #define __NR_ustat              327
268 #define __NR_statfs             328
269 #define __NR_fstatfs            329
270 #define __NR_sched_setparam             330
271 #define __NR_sched_getparam             331
272 #define __NR_sched_setscheduler         332
273 #define __NR_sched_getscheduler         333
274 #define __NR_sched_yield                334
275 #define __NR_sched_get_priority_max     335
276 #define __NR_sched_get_priority_min     336
277 #define __NR_sched_rr_get_interval      337
278 #define __NR_afs_syscall                338
279 #define __NR_uname                      339
280 #define __NR_nanosleep                  340
281 #define __NR_mremap                     341
282 #define __NR_nfsservctl                 342
283 #define __NR_setresuid                  343
284 #define __NR_getresuid                  344
285 #define __NR_pciconfig_read             345
286 #define __NR_pciconfig_write            346
287 #define __NR_query_module               347
288 #define __NR_prctl                      348
289 #define __NR_pread64                    349
290 #define __NR_pwrite64                   350
291 #define __NR_rt_sigreturn               351
292 #define __NR_rt_sigaction               352
293 #define __NR_rt_sigprocmask             353
294 #define __NR_rt_sigpending              354
295 #define __NR_rt_sigtimedwait            355
296 #define __NR_rt_sigqueueinfo            356
297 #define __NR_rt_sigsuspend              357
298 #define __NR_select                     358
299 #define __NR_gettimeofday               359
300 #define __NR_settimeofday               360
301 #define __NR_getitimer                  361
302 #define __NR_setitimer                  362
303 #define __NR_utimes                     363
304 #define __NR_getrusage                  364
305 #define __NR_wait4                      365
306 #define __NR_adjtimex                   366
307 #define __NR_getcwd                     367
308 #define __NR_capget                     368
309 #define __NR_capset                     369
310 #define __NR_sendfile                   370
311 #define __NR_setresgid                  371
312 #define __NR_getresgid                  372
313 #define __NR_dipc                       373
314 #define __NR_pivot_root                 374
315 #define __NR_mincore                    375
316 #define __NR_pciconfig_iobase           376
317 #define __NR_getdents64                 377
318 #define __NR_gettid                     378
319 #define __NR_readahead                  379
320 /* 380 is unused */
321 #define __NR_tkill                      381
322 #define __NR_setxattr                   382
323 #define __NR_lsetxattr                  383
324 #define __NR_fsetxattr                  384
325 #define __NR_getxattr                   385
326 #define __NR_lgetxattr                  386
327 #define __NR_fgetxattr                  387
328 #define __NR_listxattr                  388
329 #define __NR_llistxattr                 389
330 #define __NR_flistxattr                 390
331 #define __NR_removexattr                391
332 #define __NR_lremovexattr               392
333 #define __NR_fremovexattr               393
334 #define __NR_futex                      394
335 #define __NR_sched_setaffinity          395     
336 #define __NR_sched_getaffinity          396
337 #define __NR_tuxcall                    397
338 #define __NR_io_setup                   398
339 #define __NR_io_destroy                 399
340 #define __NR_io_getevents               400
341 #define __NR_io_submit                  401
342 #define __NR_io_cancel                  402
343 #define __NR_exit_group                 405
344 #define __NR_lookup_dcookie             406
345 #define __NR_sys_epoll_create           407
346 #define __NR_sys_epoll_ctl              408
347 #define __NR_sys_epoll_wait             409
348 #define __NR_remap_file_pages           410
349 #define __NR_set_tid_address            411
350 #define __NR_restart_syscall            412
351 #define __NR_fadvise64                  413
352 #define __NR_timer_create               414
353 #define __NR_timer_settime              415
354 #define __NR_timer_gettime              416
355 #define __NR_timer_getoverrun           417
356 #define __NR_timer_delete               418
357 #define __NR_clock_settime              419
358 #define __NR_clock_gettime              420
359 #define __NR_clock_getres               421
360 #define __NR_clock_nanosleep            422
361 #define __NR_semtimedop                 423
362 #define __NR_tgkill                     424
363 #define __NR_stat64                     425
364 #define __NR_lstat64                    426
365 #define __NR_fstat64                    427
366 #define __NR_vserver                    428
367 #define __NR_mbind                      429
368 #define __NR_get_mempolicy              430
369 #define __NR_set_mempolicy              431
370 #define __NR_mq_open                    432
371 #define __NR_mq_unlink                  433
372 #define __NR_mq_timedsend               434
373 #define __NR_mq_timedreceive            435
374 #define __NR_mq_notify                  436
375 #define __NR_mq_getsetattr              437
376 #define __NR_waitid                     438
377 #define __NR_add_key                    439
378 #define __NR_request_key                440
379 #define __NR_keyctl                     441
380 #define __NR_ioprio_set                 442
381 #define __NR_ioprio_get                 443
382 #define __NR_inotify_init               444
383 #define __NR_inotify_add_watch          445
384 #define __NR_inotify_rm_watch           446
385
386 #ifdef __KERNEL__
387
388 #define NR_SYSCALLS                     447
389
390 #if defined(__GNUC__)
391
392 #define _syscall_return(type)                                           \
393         return (_sc_err ? errno = _sc_ret, _sc_ret = -1L : 0), (type) _sc_ret
394
395 #define _syscall_clobbers                                               \
396         "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",                 \
397         "$22", "$23", "$24", "$25", "$27", "$28"                        \
398
399 #define _syscall0(type, name)                                           \
400 type name(void)                                                         \
401 {                                                                       \
402         long _sc_ret, _sc_err;                                          \
403         {                                                               \
404                 register long _sc_0 __asm__("$0");                      \
405                 register long _sc_19 __asm__("$19");                    \
406                                                                         \
407                 _sc_0 = __NR_##name;                                    \
408                 __asm__("callsys # %0 %1 %2"                            \
409                         : "=r"(_sc_0), "=r"(_sc_19)                     \
410                         : "0"(_sc_0)                                    \
411                         : _syscall_clobbers);                           \
412                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
413         }                                                               \
414         _syscall_return(type);                                          \
415 }
416
417 #define _syscall1(type,name,type1,arg1)                                 \
418 type name(type1 arg1)                                                   \
419 {                                                                       \
420         long _sc_ret, _sc_err;                                          \
421         {                                                               \
422                 register long _sc_0 __asm__("$0");                      \
423                 register long _sc_16 __asm__("$16");                    \
424                 register long _sc_19 __asm__("$19");                    \
425                                                                         \
426                 _sc_0 = __NR_##name;                                    \
427                 _sc_16 = (long) (arg1);                                 \
428                 __asm__("callsys # %0 %1 %2 %3"                         \
429                         : "=r"(_sc_0), "=r"(_sc_19)                     \
430                         : "0"(_sc_0), "r"(_sc_16)                       \
431                         : _syscall_clobbers);                           \
432                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
433         }                                                               \
434         _syscall_return(type);                                          \
435 }
436
437 #define _syscall2(type,name,type1,arg1,type2,arg2)                      \
438 type name(type1 arg1,type2 arg2)                                        \
439 {                                                                       \
440         long _sc_ret, _sc_err;                                          \
441         {                                                               \
442                 register long _sc_0 __asm__("$0");                      \
443                 register long _sc_16 __asm__("$16");                    \
444                 register long _sc_17 __asm__("$17");                    \
445                 register long _sc_19 __asm__("$19");                    \
446                                                                         \
447                 _sc_0 = __NR_##name;                                    \
448                 _sc_16 = (long) (arg1);                                 \
449                 _sc_17 = (long) (arg2);                                 \
450                 __asm__("callsys # %0 %1 %2 %3 %4"                      \
451                         : "=r"(_sc_0), "=r"(_sc_19)                     \
452                         : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17)          \
453                         : _syscall_clobbers);                           \
454                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
455         }                                                               \
456         _syscall_return(type);                                          \
457 }
458
459 #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)           \
460 type name(type1 arg1,type2 arg2,type3 arg3)                             \
461 {                                                                       \
462         long _sc_ret, _sc_err;                                          \
463         {                                                               \
464                 register long _sc_0 __asm__("$0");                      \
465                 register long _sc_16 __asm__("$16");                    \
466                 register long _sc_17 __asm__("$17");                    \
467                 register long _sc_18 __asm__("$18");                    \
468                 register long _sc_19 __asm__("$19");                    \
469                                                                         \
470                 _sc_0 = __NR_##name;                                    \
471                 _sc_16 = (long) (arg1);                                 \
472                 _sc_17 = (long) (arg2);                                 \
473                 _sc_18 = (long) (arg3);                                 \
474                 __asm__("callsys # %0 %1 %2 %3 %4 %5"                   \
475                         : "=r"(_sc_0), "=r"(_sc_19)                     \
476                         : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),         \
477                           "r"(_sc_18)                                   \
478                         : _syscall_clobbers);                           \
479                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
480         }                                                               \
481         _syscall_return(type);                                          \
482 }
483
484 #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
485 type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)               \
486 {                                                                        \
487         long _sc_ret, _sc_err;                                          \
488         {                                                               \
489                 register long _sc_0 __asm__("$0");                      \
490                 register long _sc_16 __asm__("$16");                    \
491                 register long _sc_17 __asm__("$17");                    \
492                 register long _sc_18 __asm__("$18");                    \
493                 register long _sc_19 __asm__("$19");                    \
494                                                                         \
495                 _sc_0 = __NR_##name;                                    \
496                 _sc_16 = (long) (arg1);                                 \
497                 _sc_17 = (long) (arg2);                                 \
498                 _sc_18 = (long) (arg3);                                 \
499                 _sc_19 = (long) (arg4);                                 \
500                 __asm__("callsys # %0 %1 %2 %3 %4 %5 %6"                \
501                         : "=r"(_sc_0), "=r"(_sc_19)                     \
502                         : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),         \
503                           "r"(_sc_18), "1"(_sc_19)                      \
504                         : _syscall_clobbers);                           \
505                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
506         }                                                               \
507         _syscall_return(type);                                          \
508
509
510 #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
511           type5,arg5)                                                    \
512 type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5)      \
513 {                                                                       \
514         long _sc_ret, _sc_err;                                          \
515         {                                                               \
516                 register long _sc_0 __asm__("$0");                      \
517                 register long _sc_16 __asm__("$16");                    \
518                 register long _sc_17 __asm__("$17");                    \
519                 register long _sc_18 __asm__("$18");                    \
520                 register long _sc_19 __asm__("$19");                    \
521                 register long _sc_20 __asm__("$20");                    \
522                                                                         \
523                 _sc_0 = __NR_##name;                                    \
524                 _sc_16 = (long) (arg1);                                 \
525                 _sc_17 = (long) (arg2);                                 \
526                 _sc_18 = (long) (arg3);                                 \
527                 _sc_19 = (long) (arg4);                                 \
528                 _sc_20 = (long) (arg5);                                 \
529                 __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7"             \
530                         : "=r"(_sc_0), "=r"(_sc_19)                     \
531                         : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),         \
532                           "r"(_sc_18), "1"(_sc_19), "r"(_sc_20)         \
533                         : _syscall_clobbers);                           \
534                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
535         }                                                               \
536         _syscall_return(type);                                          \
537 }
538
539 #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
540           type5,arg5,type6,arg6)                                         \
541 type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6)\
542 {                                                                       \
543         long _sc_ret, _sc_err;                                          \
544         {                                                               \
545                 register long _sc_0 __asm__("$0");                      \
546                 register long _sc_16 __asm__("$16");                    \
547                 register long _sc_17 __asm__("$17");                    \
548                 register long _sc_18 __asm__("$18");                    \
549                 register long _sc_19 __asm__("$19");                    \
550                 register long _sc_20 __asm__("$20");                    \
551                 register long _sc_21 __asm__("$21");                    \
552                                                                         \
553                 _sc_0 = __NR_##name;                                    \
554                 _sc_16 = (long) (arg1);                                 \
555                 _sc_17 = (long) (arg2);                                 \
556                 _sc_18 = (long) (arg3);                                 \
557                 _sc_19 = (long) (arg4);                                 \
558                 _sc_20 = (long) (arg5);                                 \
559                 _sc_21 = (long) (arg6);                                 \
560                 __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7 %8"          \
561                         : "=r"(_sc_0), "=r"(_sc_19)                     \
562                         : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17),         \
563                           "r"(_sc_18), "1"(_sc_19), "r"(_sc_20), "r"(_sc_21) \
564                         : _syscall_clobbers);                           \
565                 _sc_ret = _sc_0, _sc_err = _sc_19;                      \
566         }                                                               \
567         _syscall_return(type);                                          \
568 }
569
570 #endif /* __GNUC__ */
571
572 #define __ARCH_WANT_IPC_PARSE_VERSION
573 #define __ARCH_WANT_OLD_READDIR
574 #define __ARCH_WANT_STAT64
575 #define __ARCH_WANT_SYS_GETHOSTNAME
576 #define __ARCH_WANT_SYS_SOCKETCALL
577 #define __ARCH_WANT_SYS_FADVISE64
578 #define __ARCH_WANT_SYS_GETPGRP
579 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
580 #define __ARCH_WANT_SYS_OLDUMOUNT
581 #define __ARCH_WANT_SYS_SIGPENDING
582
583 /* "Conditional" syscalls.  What we want is
584
585         __attribute__((weak,alias("sys_ni_syscall")))
586
587    but that raises the problem of what type to give the symbol.  If we use
588    a prototype, it'll conflict with the definition given in this file and
589    others.  If we use __typeof, we discover that not all symbols actually
590    have declarations.  If we use no prototype, then we get warnings from
591    -Wstrict-prototypes.  Ho hum.  */
592
593 #define cond_syscall(x)  asm(".weak\t" #x "\n" #x " = sys_ni_syscall")
594
595 #endif /* __KERNEL__ */
596 #endif /* _ALPHA_UNISTD_H */