Home | History | Annotate | Download | only in linux
      1 /*
      2  * Copyright (c) 1993 Branko Lankester <branko (at) hacktic.nl>
      3  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs (at) 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 
     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 int sys_mq_open(), sys_mq_timedsend(), sys_mq_timedreceive();
     98 int sys_mq_notify(), sys_mq_getsetattr();
     99 int sys_epoll_create(), sys_epoll_ctl(), sys_epoll_wait();
    100 int sys_waitid(), sys_fadvise64(), sys_fadvise64_64();
    101 int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy();
    102 int sys_arch_prctl();
    103 int sys_io_setup(), sys_io_submit(), sys_io_cancel(), sys_io_getevents(), sys_io_destroy();
    104 
    105 /* sys_socketcall subcalls */
    106 
    107 int sys_socket(), sys_bind(), sys_connect(), sys_listen();
    108 int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
    109 int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
    110 int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
    111 
    112 /* new ones */
    113 int sys_query_module();
    114 int sys_poll();
    115 int sys_mincore();
    116 
    117 /* architecture-specific calls */
    118 #ifdef ALPHA
    119 int sys_osf_select();
    120 int sys_osf_gettimeofday();
    121 int sys_osf_settimeofday();
    122 int sys_osf_getitimer();
    123 int sys_osf_setitimer();
    124 int sys_osf_getrusage();
    125 int sys_osf_wait4();
    126 int 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 
    209 int sys_semget(), sys_semctl(), sys_semop();
    210 int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
    211 int 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)
    276 int sys_getpagesize();
    277 #endif
    278 
    279 #ifdef ALPHA
    280 int osf_statfs(), osf_fstatfs();
    281 #endif
    282 
    283 #ifdef IA64
    284 int sys_getpmsg(), sys_putpmsg();	/* STREAMS stuff */
    285 #endif
    286 
    287 #ifdef MIPS
    288 int sys_sysmips();
    289 #endif
    290 
    291 int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
    292 int sys_capget(), sys_capset();
    293 
    294 #ifdef M68K
    295 int sys_cacheflush();
    296 #endif
    297