syscall.h revision 34d6eabc451f16d5f168fc1595ee604f21bccc51
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