123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- /*
- * Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2008
- * The President and Fellows of Harvard College.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
- #ifndef _KERN_SYSCALL_H_
- #define _KERN_SYSCALL_H_
- /*
- * System call numbers.
- *
- * To foster compatibility, this file contains a number for every
- * more-or-less standard Unix system call that someone might
- * conceivably implement on OS/161. The commented-out ones are ones
- * we're pretty sure you won't be implementing. The others, you might
- * or might not. Check your own course materials to find out what's
- * specifically required of you.
- *
- * Caution: this file is parsed by a shell script to generate the assembly
- * language system call stubs. Don't add weird stuff between the markers.
- */
- /*CALLBEGIN*/
- // -- Process-related --
- #define SYS_fork 0
- #define SYS_vfork 1
- #define SYS_execv 2
- #define SYS__exit 3
- #define SYS_waitpid 4
- #define SYS_getpid 5
- #define SYS_getppid 6
- // (virtual memory)
- #define SYS_sbrk 7
- #define SYS_mmap 8
- #define SYS_munmap 9
- #define SYS_mprotect 10
- //#define SYS_madvise 11
- //#define SYS_mincore 12
- //#define SYS_mlock 13
- //#define SYS_munlock 14
- //#define SYS_munlockall 15
- //#define SYS_minherit 16
- // (security/credentials)
- #define SYS_umask 17
- #define SYS_issetugid 18
- #define SYS_getresuid 19
- #define SYS_setresuid 20
- #define SYS_getresgid 21
- #define SYS_setresgid 22
- #define SYS_getgroups 23
- #define SYS_setgroups 24
- #define SYS___getlogin 25
- #define SYS___setlogin 26
- // (signals)
- #define SYS_kill 27
- #define SYS_sigaction 28
- #define SYS_sigpending 29
- #define SYS_sigprocmask 30
- #define SYS_sigsuspend 31
- #define SYS_sigreturn 32
- //#define SYS_sigaltstack 33
- // (resource tracking and usage)
- //#define SYS_wait4 34
- //#define SYS_getrusage 35
- // (resource limits)
- //#define SYS_getrlimit 36
- //#define SYS_setrlimit 37
- // (process priority control)
- //#define SYS_getpriority 38
- //#define SYS_setpriority 39
- // (process groups, sessions, and job control)
- //#define SYS_getpgid 40
- //#define SYS_setpgid 41
- //#define SYS_getsid 42
- //#define SYS_setsid 43
- // (userlevel debugging)
- //#define SYS_ptrace 44
- // -- File-handle-related --
- #define SYS_open 45
- #define SYS_pipe 46
- #define SYS_dup 47
- #define SYS_dup2 48
- #define SYS_close 49
- #define SYS_read 50
- #define SYS_pread 51
- //#define SYS_readv 52
- //#define SYS_preadv 53
- #define SYS_getdirentry 54
- #define SYS_write 55
- #define SYS_pwrite 56
- //#define SYS_writev 57
- //#define SYS_pwritev 58
- #define SYS_lseek 59
- #define SYS_flock 60
- #define SYS_ftruncate 61
- #define SYS_fsync 62
- #define SYS_fcntl 63
- #define SYS_ioctl 64
- #define SYS_select 65
- #define SYS_poll 66
- // -- Pathname-related --
- #define SYS_link 67
- #define SYS_remove 68
- #define SYS_mkdir 69
- #define SYS_rmdir 70
- #define SYS_mkfifo 71
- #define SYS_rename 72
- #define SYS_access 73
- // (current directory)
- #define SYS_chdir 74
- #define SYS_fchdir 75
- #define SYS___getcwd 76
- // (symbolic links)
- #define SYS_symlink 77
- #define SYS_readlink 78
- // (mount)
- #define SYS_mount 79
- #define SYS_unmount 80
- // -- Any-file-related --
- #define SYS_stat 81
- #define SYS_fstat 82
- #define SYS_lstat 83
- // (timestamps)
- #define SYS_utimes 84
- #define SYS_futimes 85
- #define SYS_lutimes 86
- // (security/permissions)
- #define SYS_chmod 87
- #define SYS_chown 88
- #define SYS_fchmod 89
- #define SYS_fchown 90
- #define SYS_lchmod 91
- #define SYS_lchown 92
- // (file system info)
- //#define SYS_statfs 93
- //#define SYS_fstatfs 94
- //#define SYS_getfsstat 95
- // (POSIX dynamic system limits stuff)
- //#define SYS_pathconf 96
- //#define SYS_fpathconf 97
- // -- Sockets and networking --
- #define SYS_socket 98
- #define SYS_bind 99
- #define SYS_connect 100
- #define SYS_listen 101
- #define SYS_accept 102
- //#define SYS_socketpair 103
- #define SYS_shutdown 104
- #define SYS_getsockname 105
- #define SYS_getpeername 106
- #define SYS_getsockopt 107
- #define SYS_setsockopt 108
- //#define SYS_recvfrom 109
- //#define SYS_sendto 110
- //#define SYS_recvmsg 111
- //#define SYS_sendmsg 112
- // -- Time-related --
- #define SYS___time 113
- #define SYS___settime 114
- #define SYS_nanosleep 115
- //#define SYS_getitimer 116
- //#define SYS_setitimer 117
- // -- Other --
- #define SYS_sync 118
- #define SYS_reboot 119
- //#define SYS___sysctl 120
- /*CALLEND*/
- #endif /* _KERN_SYSCALL_H_ */
|