1/*
2 * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
3 * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote products
15 *    derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 *	$Id: syscall.h,v 1.45 2005/06/07 23:21:28 roland Exp $
29 */
30
31#include "dummy.h"
32
33/* primary syscalls */
34
35int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
36int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
37int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
38int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
39int sys_lseek(), sys_getpid(), sys_mount(), sys_umount(), sys_umount2();
40int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
41int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
42int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
43int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
44int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
45int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
46int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
47int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
48int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
49int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
50int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
51int sys_setreuid(), sys_setregid(), sys_sigsuspend();
52int sys_sigpending(), sys_sethostname(), sys_setrlimit();
53int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
54int sys_settimeofday(), sys_getgroups(), sys_setgroups();
55int sys_setgroups32(), sys_getgroups32();
56int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
57int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
58int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
59int sys_fchmod(), sys_fchown(), sys_getpriority();
60int sys_setpriority(), sys_profil(), sys_statfs(), sys_fstatfs();
61int sys_ioperm(), sys_socketcall(), sys_syslog(), sys_setitimer();
62int sys_getitimer(), sys_stat(), sys_lstat(), sys_fstat();
63int sys_uname(), sys_iopl(), sys_vhangup(), sys_idle(), sys_vm86();
64int sys_wait4(), sys_swapoff(), sys_ipc(), sys_sigreturn();
65int sys_fsync(), sys_clone(), sys_setdomainname(), sys_sysinfo();
66int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
67int sys_sigprocmask(), sys_create_module(), sys_init_module();
68int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
69int sys_getpgid(), sys_fchdir(), sys_bdflush();
70int sys_sysfs(), sys_personality(), sys_afs_syscall();
71int sys_setfsuid(), sys_setfsgid(), sys_llseek();
72int sys_getdents(), sys_flock(), sys_msync();
73int sys_readv(), sys_writev(), sys_select();
74int sys_getsid(), sys_fdatasync(), sys_sysctl();
75int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall(), sys_madvise();
76int sys_sched_setparam(), sys_sched_getparam();
77int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
78int sys_sched_get_priority_max(), sys_sched_get_priority_min();
79int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap();
80int sys_sendmsg(), sys_recvmsg(), sys_setresuid(), sys_setresgid();
81int sys_getresuid(), sys_getresgid(), sys_pread(), sys_pwrite(), sys_getcwd();
82int sys_sigaltstack(), sys_rt_sigprocmask(), sys_rt_sigaction();
83int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo();
84int sys_rt_sigtimedwait(), sys_prctl(), sys_poll(), sys_vfork();
85int sys_sendfile(), sys_old_mmap(), sys_stat64(), sys_lstat64(), sys_fstat64();
86int sys_truncate64(), sys_ftruncate64(), sys_pivotroot();
87int sys_getdents64();
88int sys_getpmsg(), sys_putpmsg(), sys_readahead(), sys_sendfile64();
89int sys_setxattr(), sys_fsetxattr(), sys_getxattr(), sys_fgetxattr();
90int sys_listxattr(), sys_flistxattr(), sys_removexattr(), sys_fremovexattr();
91int sys_sched_setaffinity(), sys_sched_getaffinity(), sys_futex();
92int sys_set_thread_area(), sys_get_thread_area(), sys_remap_file_pages();
93int sys_timer_create(), sys_timer_delete(), sys_timer_getoverrun();
94int sys_timer_gettime(), sys_timer_settime(), sys_clock_settime();
95int sys_clock_gettime(), sys_clock_getres(), sys_clock_nanosleep();
96int sys_semtimedop(), sys_statfs64(), sys_fstatfs64(), sys_tgkill();
97int sys_mq_open(), sys_mq_timedsend(), sys_mq_timedreceive();
98int sys_mq_notify(), sys_mq_getsetattr();
99int sys_epoll_create(), sys_epoll_ctl(), sys_epoll_wait();
100int sys_waitid(), sys_fadvise64(), sys_fadvise64_64();
101int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy();
102int sys_arch_prctl();
103int sys_io_setup(), sys_io_submit(), sys_io_cancel(), sys_io_getevents(), sys_io_destroy();
104
105/* sys_socketcall subcalls */
106
107int sys_socket(), sys_bind(), sys_connect(), sys_listen();
108int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
109int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
110int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
111
112/* new ones */
113int sys_query_module();
114int sys_poll();
115int sys_mincore();
116
117/* architecture-specific calls */
118#ifdef ALPHA
119int sys_osf_select();
120int sys_osf_gettimeofday();
121int sys_osf_settimeofday();
122int sys_osf_getitimer();
123int sys_osf_setitimer();
124int sys_osf_getrusage();
125int sys_osf_wait4();
126int sys_osf_utimes();
127#endif
128
129
130#ifndef SYS_waitid
131# ifdef I386
132#  define SYS_waitid 284
133# elif defined ALPHA
134#  define SYS_waitid 438
135# elif defined ARM
136#  define SYS_waitid (NR_SYSCALL_BASE + 280)
137# elif defined IA64
138#  define SYS_waitid 1270
139# elif defined M68K
140#  define SYS_waitid 277
141# elif defined POWERPC
142#  define SYS_waitid 272
143# elif defined S390 || defined S390X
144#  define SYS_waitid 281
145# elif defined SH64
146#  define SYS_waitid 312
147# elif defined SH64
148#  define SYS_waitid 312
149# elif defined SH
150#  define SYS_waitid 284
151# elif defined SPARC || defined SPARC64
152#  define SYS_waitid 279
153# elif defined X86_64
154#  define SYS_waitid 247
155# endif
156#endif
157
158#if !defined(ALPHA) && !defined(MIPS) && !defined(HPPA)
159# ifdef	IA64
160/*
161 *  IA64 syscall numbers (the only ones available from standard header
162 *  files) are disjoint from IA32 syscall numbers.  We need to define
163 *  the IA32 socket call number here.
164 */
165#  define SYS_socketcall	102
166
167#  undef SYS_socket
168#  undef SYS_bind
169#  undef SYS_connect
170#  undef SYS_listen
171#  undef SYS_accept
172#  undef SYS_getsockname
173#  undef SYS_getpeername
174#  undef SYS_socketpair
175#  undef SYS_send
176#  undef SYS_recv
177#  undef SYS_sendto
178#  undef SYS_recvfrom
179#  undef SYS_shutdown
180#  undef SYS_setsockopt
181#  undef SYS_getsockopt
182#  undef SYS_sendmsg
183#  undef SYS_recvmsg
184# endif /* IA64 */
185#  define SYS_socket_subcall	300
186#define SYS_sub_socket		(SYS_socket_subcall + 1)
187#define SYS_sub_bind		(SYS_socket_subcall + 2)
188#define SYS_sub_connect		(SYS_socket_subcall + 3)
189#define SYS_sub_listen		(SYS_socket_subcall + 4)
190#define SYS_sub_accept		(SYS_socket_subcall + 5)
191#define SYS_sub_getsockname	(SYS_socket_subcall + 6)
192#define SYS_sub_getpeername	(SYS_socket_subcall + 7)
193#define SYS_sub_socketpair	(SYS_socket_subcall + 8)
194#define SYS_sub_send		(SYS_socket_subcall + 9)
195#define SYS_sub_recv		(SYS_socket_subcall + 10)
196#define SYS_sub_sendto		(SYS_socket_subcall + 11)
197#define SYS_sub_recvfrom	(SYS_socket_subcall + 12)
198#define SYS_sub_shutdown	(SYS_socket_subcall + 13)
199#define SYS_sub_setsockopt	(SYS_socket_subcall + 14)
200#define SYS_sub_getsockopt	(SYS_socket_subcall + 15)
201#define SYS_sub_sendmsg		(SYS_socket_subcall + 16)
202#define SYS_sub_recvmsg		(SYS_socket_subcall + 17)
203
204#define SYS_socket_nsubcalls	18
205#endif /* !(ALPHA || MIPS || HPPA) */
206
207/* sys_ipc subcalls */
208
209int sys_semget(), sys_semctl(), sys_semop();
210int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
211int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
212
213#if !defined(ALPHA) && !defined(MIPS) && !defined(SPARC) && !defined(HPPA)
214# ifdef	IA64
215   /*
216    * IA64 syscall numbers (the only ones available from standard
217    * header files) are disjoint from IA32 syscall numbers.  We need
218    * to define the IA32 socket call number here.  Fortunately, this
219    * symbol, `SYS_ipc', is not used by any of the IA64 code so
220    * re-defining this symbol will not cause a problem.
221   */
222#  undef SYS_ipc
223#  define SYS_ipc		117
224#  undef SYS_semop
225#  undef SYS_semget
226#  undef SYS_semctl
227#  undef SYS_semtimedop
228#  undef SYS_msgsnd
229#  undef SYS_msgrcv
230#  undef SYS_msgget
231#  undef SYS_msgctl
232#  undef SYS_shmat
233#  undef SYS_shmdt
234#  undef SYS_shmget
235#  undef SYS_shmctl
236# endif /* IA64 */
237#define SYS_ipc_subcall		((SYS_socket_subcall)+(SYS_socket_nsubcalls))
238#define SYS_sub_semop		(SYS_ipc_subcall + 1)
239#define SYS_sub_semget		(SYS_ipc_subcall + 2)
240#define SYS_sub_semctl		(SYS_ipc_subcall + 3)
241#define SYS_sub_semtimedop	(SYS_ipc_subcall + 4)
242#define SYS_sub_msgsnd		(SYS_ipc_subcall + 11)
243#define SYS_sub_msgrcv		(SYS_ipc_subcall + 12)
244#define SYS_sub_msgget		(SYS_ipc_subcall + 13)
245#define SYS_sub_msgctl		(SYS_ipc_subcall + 14)
246#define SYS_sub_shmat		(SYS_ipc_subcall + 21)
247#define SYS_sub_shmdt		(SYS_ipc_subcall + 22)
248#define SYS_sub_shmget		(SYS_ipc_subcall + 23)
249#define SYS_sub_shmctl		(SYS_ipc_subcall + 24)
250
251#define SYS_ipc_nsubcalls	25
252#endif /* !(ALPHA || MIPS || SPARC || HPPA) */
253
254#if defined SYS_ipc_subcall && !defined SYS_ipc
255# define SYS_ipc SYS_ipc_subcall
256#endif
257#if defined SYS_socket_subcall && !defined SYS_socketcall
258# define SYS_socketcall SYS_socket_subcall
259#endif
260
261#ifdef IA64
262  /*
263   * IA64 syscall numbers (the only ones available from standard header
264   * files) are disjoint from IA32 syscall numbers.  We need to define
265   * some IA32 specific syscalls here.
266   */
267# define SYS_fork	2
268# define SYS_vfork	190
269# define SYS32_exit	1
270# define SYS_waitpid	7
271# define SYS32_wait4	114
272# define SYS32_execve	11
273#endif /* IA64 */
274
275#if defined(ALPHA) || defined(IA64)
276int sys_getpagesize();
277#endif
278
279#ifdef ALPHA
280int osf_statfs(), osf_fstatfs();
281#endif
282
283#ifdef IA64
284int sys_getpmsg(), sys_putpmsg();	/* STREAMS stuff */
285#endif
286
287#ifdef MIPS
288int sys_sysmips();
289#endif
290
291int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
292int sys_capget(), sys_capset();
293
294#ifdef M68K
295int sys_cacheflush();
296#endif
297