]> granicus.if.org Git - strace/blob - linux/syscall.h
port SSI clustering mods to OpenSSI on Linux
[strace] / linux / syscall.h
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$
29  */
30
31 #include "dummy.h"
32
33 /* primary syscalls */
34
35 int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
36 int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
37 int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
38 int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
39 int sys_lseek(), sys_getpid(), sys_mount(), sys_umount(), sys_umount2();
40 int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
41 int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
42 int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
43 int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
44 int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
45 int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
46 int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
47 int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
48 int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
49 int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
50 int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
51 int sys_setreuid(), sys_setregid(), sys_sigsuspend();
52 int sys_sigpending(), sys_sethostname(), sys_setrlimit();
53 int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
54 int sys_settimeofday(), sys_getgroups(), sys_setgroups();
55 int sys_setgroups32(), sys_getgroups32();
56 int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
57 int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
58 int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
59 int sys_fchmod(), sys_fchown(), sys_getpriority();
60 int sys_setpriority(), sys_profil(), sys_statfs(), sys_fstatfs();
61 int sys_ioperm(), sys_socketcall(), sys_syslog(), sys_setitimer();
62 int sys_getitimer(), sys_stat(), sys_lstat(), sys_fstat();
63 int sys_uname(), sys_iopl(), sys_vhangup(), sys_idle(), sys_vm86();
64 int sys_wait4(), sys_swapoff(), sys_ipc(), sys_sigreturn();
65 int sys_fsync(), sys_clone(), sys_setdomainname(), sys_sysinfo();
66 int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
67 int sys_sigprocmask(), sys_create_module(), sys_init_module();
68 int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
69 int sys_getpgid(), sys_fchdir(), sys_bdflush();
70 int sys_sysfs(), sys_personality(), sys_afs_syscall();
71 int sys_setfsuid(), sys_setfsgid(), sys_llseek();
72 int sys_getdents(), sys_flock(), sys_msync();
73 int sys_readv(), sys_writev(), sys_select();
74 int sys_getsid(), sys_fdatasync(), sys_sysctl();
75 int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall(), sys_madvise();
76 int sys_sched_setparam(), sys_sched_getparam();
77 int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
78 int sys_sched_get_priority_max(), sys_sched_get_priority_min();
79 int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap();
80 int sys_sendmsg(), sys_recvmsg(), sys_setresuid(), sys_setresgid();
81 int sys_getresuid(), sys_getresgid(), sys_pread(), sys_pwrite(), sys_getcwd();
82 int sys_sigaltstack(), sys_rt_sigprocmask(), sys_rt_sigaction();
83 int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo();
84 int sys_rt_sigtimedwait(), sys_prctl(), sys_poll(), sys_vfork();
85 int sys_sendfile(), sys_old_mmap(), sys_stat64(), sys_lstat64(), sys_fstat64();
86 int sys_truncate64(), sys_ftruncate64(), sys_pivotroot();
87 int sys_getdents64();
88 int sys_getpmsg(), sys_putpmsg(), sys_readahead(), sys_sendfile64();
89 int sys_setxattr(), sys_fsetxattr(), sys_getxattr(), sys_fgetxattr();
90 int sys_listxattr(), sys_flistxattr(), sys_removexattr(), sys_fremovexattr();
91 int sys_sched_setaffinity(), sys_sched_getaffinity(), sys_futex();
92 int sys_set_thread_area(), sys_get_thread_area(), sys_remap_file_pages();
93 int sys_timer_create(), sys_timer_delete(), sys_timer_getoverrun();
94 int sys_timer_gettime(), sys_timer_settime(), sys_clock_settime();
95 int sys_clock_gettime(), sys_clock_getres(), sys_clock_nanosleep();
96 int sys_semtimedop(), sys_statfs64(), sys_fstatfs64(), sys_tgkill();
97
98
99 /* OpenSSI cluster syscalls */
100
101 int sys_ssisys(), sys_rfork(), sys_rexecve(), sys_migrate();
102
103 /* Where are the silly numbers defined? */
104
105 #define SYS_ssisys      290
106 #define SYS_rfork       (SYS_ssisys + 1)
107 #define SYS_rexecve     (SYS_ssisys + 2)
108 #define SYS_migrate     (SYS_ssisys + 3)
109
110
111 /* sys_socketcall subcalls */
112
113 int sys_socket(), sys_bind(), sys_connect(), sys_listen();
114 int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
115 int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
116 int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
117
118 /* new ones */
119 int sys_query_module();
120 int sys_poll();
121 int sys_mincore();
122
123 /* architecture-specific calls */
124 #ifdef ALPHA
125 int sys_osf_select();
126 int sys_osf_gettimeofday();
127 int sys_osf_settimeofday();
128 int sys_osf_getitimer();
129 int sys_osf_setitimer();
130 int sys_osf_getrusage();
131 int sys_osf_wait4();
132 int sys_osf_utimes();
133 #endif
134
135
136 #if !defined(ALPHA) && !defined(MIPS) && !defined(HPPA) && !defined(X86_64)
137 # ifdef IA64
138 /*
139  *  IA64 syscall numbers (the only ones available from standard header
140  *  files) are disjoint from IA32 syscall numbers.  We need to define
141  *  the IA32 socket call number here.
142  */
143 #  define SYS_socketcall        102
144
145 #  undef SYS_socket
146 #  undef SYS_bind
147 #  undef SYS_connect
148 #  undef SYS_listen
149 #  undef SYS_accept
150 #  undef SYS_getsockname
151 #  undef SYS_getpeername
152 #  undef SYS_socketpair
153 #  undef SYS_send
154 #  undef SYS_recv
155 #  undef SYS_sendto
156 #  undef SYS_recvfrom
157 #  undef SYS_shutdown
158 #  undef SYS_setsockopt
159 #  undef SYS_getsockopt
160 #  undef SYS_sendmsg
161 #  undef SYS_recvmsg
162 # endif /* IA64 */
163 # if defined POWERPC
164 #  define SYS_socket_subcall    256
165 # else
166 #  define SYS_socket_subcall    300
167 # endif
168 #define SYS_socket              (SYS_socket_subcall + 1)
169 #define SYS_bind                (SYS_socket_subcall + 2)
170 #define SYS_connect             (SYS_socket_subcall + 3)
171 #define SYS_listen              (SYS_socket_subcall + 4)
172 #define SYS_accept              (SYS_socket_subcall + 5)
173 #define SYS_getsockname         (SYS_socket_subcall + 6)
174 #define SYS_getpeername         (SYS_socket_subcall + 7)
175 #define SYS_socketpair          (SYS_socket_subcall + 8)
176 #define SYS_send                (SYS_socket_subcall + 9)
177 #define SYS_recv                (SYS_socket_subcall + 10)
178 #define SYS_sendto              (SYS_socket_subcall + 11)
179 #define SYS_recvfrom            (SYS_socket_subcall + 12)
180 #define SYS_shutdown            (SYS_socket_subcall + 13)
181 #define SYS_setsockopt          (SYS_socket_subcall + 14)
182 #define SYS_getsockopt          (SYS_socket_subcall + 15)
183 #define SYS_sendmsg             (SYS_socket_subcall + 16)
184 #define SYS_recvmsg             (SYS_socket_subcall + 17)
185
186 #define SYS_socket_nsubcalls    18
187 #endif /* !(ALPHA || MIPS || HPPA || X86_64) */
188
189 /* sys_ipc subcalls */
190
191 int sys_semget(), sys_semctl(), sys_semop();
192 int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
193 int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
194
195 #if !defined(ALPHA) && !defined(MIPS) && !defined(SPARC) && !defined(HPPA) && !defined(X86_64)
196 # ifdef IA64
197    /*
198     * IA64 syscall numbers (the only ones available from standard
199     * header files) are disjoint from IA32 syscall numbers.  We need
200     * to define the IA32 socket call number here.  Fortunately, this
201     * symbol, `SYS_ipc', is not used by any of the IA64 code so
202     * re-defining this symbol will not cause a problem.
203    */
204 #  undef SYS_ipc
205 #  define SYS_ipc               117
206 #  undef SYS_semop
207 #  undef SYS_semget
208 #  undef SYS_semctl
209 #  undef SYS_msgsnd
210 #  undef SYS_msgrcv
211 #  undef SYS_msgget
212 #  undef SYS_msgctl
213 #  undef SYS_shmat
214 #  undef SYS_shmdt
215 #  undef SYS_shmget
216 #  undef SYS_shmctl
217 # endif /* IA64 */
218 #define SYS_ipc_subcall         ((SYS_socket_subcall)+(SYS_socket_nsubcalls))
219 #define SYS_semop               (SYS_ipc_subcall + 1)
220 #define SYS_semget              (SYS_ipc_subcall + 2)
221 #define SYS_semctl              (SYS_ipc_subcall + 3)
222 #define SYS_semtimedop          (SYS_ipc_subcall + 4)
223 #define SYS_msgsnd              (SYS_ipc_subcall + 11)
224 #define SYS_msgrcv              (SYS_ipc_subcall + 12)
225 #define SYS_msgget              (SYS_ipc_subcall + 13)
226 #define SYS_msgctl              (SYS_ipc_subcall + 14)
227 #define SYS_shmat               (SYS_ipc_subcall + 21)
228 #define SYS_shmdt               (SYS_ipc_subcall + 22)
229 #define SYS_shmget              (SYS_ipc_subcall + 23)
230 #define SYS_shmctl              (SYS_ipc_subcall + 24)
231
232 #define SYS_ipc_nsubcalls       25
233 #endif /* !(ALPHA || MIPS || SPARC || HPPA || X86_64) */
234
235 #ifdef IA64
236   /*
237    * IA64 syscall numbers (the only ones available from standard header
238    * files) are disjoint from IA32 syscall numbers.  We need to define
239    * some IA32 specific syscalls here.
240    */
241 # define SYS_fork       2
242 # define SYS_vfork      190
243 # define SYS32_exit     1
244 # define SYS_waitpid    7
245 # define SYS32_wait4    114
246 # define SYS32_execve   11
247 #endif /* IA64 */
248
249 #if defined(ALPHA) || defined(IA64)
250 int sys_getpagesize();
251 #endif
252
253 #ifdef ALPHA
254 int osf_statfs(), osf_fstatfs();
255 #endif
256
257 #ifdef IA64
258 int sys_getpmsg(), sys_putpmsg();       /* STREAMS stuff */
259 #endif
260
261 #ifdef MIPS
262 int sys_sysmips();
263 #endif
264
265 int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
266 int sys_capget(), sys_capset();
267
268 #ifdef M68K
269 int sys_cacheflush();
270 #endif