3f31c649d1
This code is mostly taken from the 1.1 port (which was in turn taken from Dave Mills's kern.tar.Z example). A few significant differences: 1) ntp_gettime() is now a MIB variable rather than a system call. A few fiddles are done in libc to make it behave the same. 2) mono_time does not participate in the PLL adjustments. 3) A new interface has been defined (in <machine/clock.h>) for doing possibly machine-dependent things around the time of the clock update. This is used in Pentium kernels to disable interrupts, set `time', and reset the CPU cycle counter as quickly as possible to avoid jitter in microtime(). Measurements show an apparent resolution of a bit more than 8.14usec, which is reasonable given system-call overhead.
316 lines
7.4 KiB
Plaintext
316 lines
7.4 KiB
Plaintext
$Id: syscalls.master,v 1.8 1994/09/13 14:46:54 dfr Exp $
|
|
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
|
|
;
|
|
; System call name/number master file.
|
|
; Processed to created init_sysent.c, syscalls.c and syscall.h.
|
|
|
|
; Columns: number type nargs namespc name altname/comments
|
|
; number system call number, must be in order
|
|
; type one of STD, OBSOL, UNIMPL, COMPAT
|
|
; nargs number of arguments
|
|
; namespc one of POSIX, BSD, NOHIDE
|
|
; name name of syscall routine
|
|
; altname name of system call if different
|
|
; for UNIMPL/OBSOL, name continues with comments
|
|
|
|
; types:
|
|
; STD always included
|
|
; COMPAT included on COMPAT #ifdef
|
|
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
|
|
; OBSOL obsolete, not included in system, only specifies name
|
|
; UNIMPL not implemented, placeholder only
|
|
|
|
; #ifdef's, etc. may be included, and are copied to the output files.
|
|
|
|
; Reserved/unimplemented system calls in the range 0-150 inclusive
|
|
; are reserved for use in future Berkeley releases.
|
|
; Additional system calls implemented in vendor and other
|
|
; redistributions should be placed in the reserved range at the end
|
|
; of the current calls.
|
|
|
|
0 STD 0 NOHIDE nosys syscall
|
|
1 STD 1 NOHIDE exit
|
|
2 STD 0 POSIX fork
|
|
3 STD 3 POSIX read
|
|
4 STD 3 POSIX write
|
|
5 STD 3 POSIX open
|
|
6 STD 1 POSIX close
|
|
7 STD 4 BSD wait4
|
|
8 COMPAT 2 BSD creat
|
|
9 STD 2 POSIX link
|
|
10 STD 1 POSIX unlink
|
|
11 OBSOL 2 NOHIDE execv
|
|
12 STD 1 POSIX chdir
|
|
13 STD 1 BSD fchdir
|
|
14 STD 3 POSIX mknod
|
|
15 STD 2 POSIX chmod
|
|
16 STD 3 POSIX chown
|
|
17 STD 1 BSD obreak break
|
|
18 STD 3 BSD getfsstat
|
|
19 COMPAT 3 POSIX lseek
|
|
20 STD 0 POSIX getpid
|
|
21 STD 4 BSD mount
|
|
22 STD 2 BSD unmount
|
|
23 STD 1 POSIX setuid
|
|
24 STD 0 POSIX getuid
|
|
25 STD 0 POSIX geteuid
|
|
26 STD 4 BSD ptrace
|
|
27 STD 3 BSD recvmsg
|
|
28 STD 3 BSD sendmsg
|
|
29 STD 6 BSD recvfrom
|
|
30 STD 3 BSD accept
|
|
31 STD 3 BSD getpeername
|
|
32 STD 3 BSD getsockname
|
|
33 STD 2 POSIX access
|
|
34 STD 2 BSD chflags
|
|
35 STD 2 BSD fchflags
|
|
36 STD 0 BSD sync
|
|
37 STD 2 POSIX kill
|
|
38 COMPAT 2 POSIX stat
|
|
39 STD 0 POSIX getppid
|
|
40 COMPAT 2 POSIX lstat
|
|
41 STD 2 POSIX dup
|
|
42 STD 0 POSIX pipe
|
|
43 STD 0 POSIX getegid
|
|
44 STD 4 BSD profil
|
|
#ifdef KTRACE
|
|
45 STD 4 BSD ktrace
|
|
#else
|
|
45 UNIMPL 0 BSD ktrace
|
|
#endif
|
|
46 STD 3 POSIX sigaction
|
|
47 STD 0 POSIX getgid
|
|
48 STD 2 POSIX sigprocmask
|
|
49 STD 2 BSD getlogin
|
|
50 STD 1 BSD setlogin
|
|
51 STD 1 BSD acct
|
|
52 STD 0 POSIX sigpending
|
|
53 STD 2 BSD sigaltstack
|
|
54 STD 3 POSIX ioctl
|
|
55 STD 1 BSD reboot
|
|
56 STD 1 POSIX revoke
|
|
57 STD 2 POSIX symlink
|
|
58 STD 3 POSIX readlink
|
|
59 STD 3 POSIX execve
|
|
60 STD 1 POSIX umask
|
|
61 STD 1 BSD chroot
|
|
62 COMPAT 2 POSIX fstat
|
|
63 COMPAT 4 BSD getkerninfo
|
|
64 COMPAT 0 BSD getpagesize
|
|
65 STD 2 BSD msync
|
|
66 STD 0 BSD vfork
|
|
67 OBSOL 0 NOHIDE vread
|
|
68 OBSOL 0 NOHIDE vwrite
|
|
69 STD 1 BSD sbrk
|
|
70 STD 1 BSD sstk
|
|
71 COMPAT 6 BSD mmap
|
|
72 STD 1 BSD ovadvise vadvise
|
|
73 STD 2 BSD munmap
|
|
74 STD 3 BSD mprotect
|
|
75 STD 3 BSD madvise
|
|
76 OBSOL 0 NOHIDE vhangup
|
|
77 OBSOL 0 NOHIDE vlimit
|
|
78 STD 3 BSD mincore
|
|
79 STD 2 POSIX getgroups
|
|
80 STD 2 POSIX setgroups
|
|
81 STD 0 POSIX getpgrp
|
|
82 STD 2 POSIX setpgid
|
|
83 STD 3 BSD setitimer
|
|
84 COMPAT 0 BSD wait
|
|
85 STD 1 BSD swapon
|
|
86 STD 2 BSD getitimer
|
|
87 COMPAT 2 BSD gethostname
|
|
88 COMPAT 2 BSD sethostname
|
|
89 STD 0 BSD getdtablesize
|
|
90 STD 2 POSIX dup2
|
|
91 UNIMPL 2 BSD getdopt
|
|
92 STD 3 POSIX fcntl
|
|
93 STD 5 BSD select
|
|
94 UNIMPL 2 BSD setdopt
|
|
95 STD 1 POSIX fsync
|
|
96 STD 3 BSD setpriority
|
|
97 STD 3 BSD socket
|
|
98 STD 3 BSD connect
|
|
99 COMPAT 3 BSD accept
|
|
100 STD 2 BSD getpriority
|
|
101 COMPAT 4 BSD send
|
|
102 COMPAT 4 BSD recv
|
|
103 STD 1 BSD sigreturn
|
|
104 STD 3 BSD bind
|
|
105 STD 5 BSD setsockopt
|
|
106 STD 2 BSD listen
|
|
107 OBSOL 0 NOHIDE vtimes
|
|
108 COMPAT 3 BSD sigvec
|
|
109 COMPAT 1 BSD sigblock
|
|
110 COMPAT 1 BSD sigsetmask
|
|
111 STD 1 POSIX sigsuspend
|
|
112 COMPAT 2 BSD sigstack
|
|
113 COMPAT 3 BSD recvmsg
|
|
114 COMPAT 3 BSD sendmsg
|
|
#ifdef TRACE
|
|
115 STD 2 BSD vtrace
|
|
#else
|
|
115 OBSOL 2 NOHIDE vtrace
|
|
#endif
|
|
116 STD 2 BSD gettimeofday
|
|
117 STD 2 BSD getrusage
|
|
118 STD 5 BSD getsockopt
|
|
#ifdef vax
|
|
119 STD 1 BSD resuba
|
|
#else
|
|
119 UNIMPL 0 NOHIDE nosys
|
|
#endif
|
|
120 STD 3 BSD readv
|
|
121 STD 3 BSD writev
|
|
122 STD 2 BSD settimeofday
|
|
123 STD 3 BSD fchown
|
|
124 STD 2 BSD fchmod
|
|
125 COMPAT 6 BSD recvfrom
|
|
126 COMPAT 2 BSD setreuid
|
|
127 COMPAT 2 BSD setregid
|
|
128 STD 2 POSIX rename
|
|
129 COMPAT 2 BSD truncate
|
|
130 COMPAT 2 BSD ftruncate
|
|
131 STD 2 BSD flock
|
|
132 STD 2 POSIX mkfifo
|
|
133 STD 6 BSD sendto
|
|
134 STD 2 BSD shutdown
|
|
135 STD 5 BSD socketpair
|
|
136 STD 2 POSIX mkdir
|
|
137 STD 1 POSIX rmdir
|
|
138 STD 2 BSD utimes
|
|
139 OBSOL 0 NOHIDE 4.2 sigreturn
|
|
140 STD 2 BSD adjtime
|
|
141 COMPAT 3 BSD getpeername
|
|
142 COMPAT 0 BSD gethostid
|
|
143 COMPAT 1 BSD sethostid
|
|
144 COMPAT 2 BSD getrlimit
|
|
145 COMPAT 2 BSD setrlimit
|
|
146 COMPAT 2 BSD killpg
|
|
147 STD 0 POSIX setsid
|
|
148 STD 4 BSD quotactl
|
|
149 COMPAT 4 BSD quota
|
|
150 COMPAT 3 BSD getsockname
|
|
|
|
; Syscalls 151-180 inclusive are reserved for vendor-specific
|
|
; system calls. (This includes various calls added for compatibity
|
|
; with other Unix variants.)
|
|
; Some of these calls are now supported by BSD...
|
|
151 UNIMPL 0 NOHIDE nosys
|
|
152 UNIMPL 0 NOHIDE nosys
|
|
153 UNIMPL 0 NOHIDE nosys
|
|
154 UNIMPL 0 NOHIDE nosys
|
|
#ifdef NFS
|
|
155 STD 2 BSD nfssvc
|
|
#else
|
|
155 UNIMPL 0 BSD nosys
|
|
#endif
|
|
156 COMPAT 4 BSD getdirentries
|
|
157 STD 2 BSD statfs
|
|
158 STD 2 BSD fstatfs
|
|
159 UNIMPL 0 NOHIDE nosys
|
|
160 UNIMPL 0 NOHIDE nosys
|
|
#ifdef NFS
|
|
161 STD 2 BSD getfh
|
|
#else
|
|
161 UNIMPL 0 BSD nosys
|
|
#endif
|
|
162 STD 2 BSD getdomainname
|
|
163 STD 2 BSD setdomainname
|
|
164 STD 1 BSD uname
|
|
165 STD 2 BSD sysarch
|
|
166 STD 2 BSD rtprio
|
|
167 UNIMPL 0 NOHIDE nosys
|
|
168 UNIMPL 0 NOHIDE nosys
|
|
#ifdef SYSVSEM
|
|
169 STD 5 BSD semsys
|
|
#else
|
|
169 UNIMPL 0 NOHIDE nosys
|
|
#endif
|
|
#ifdef SYSVMSG
|
|
170 STD 6 BSD msgsys
|
|
#else
|
|
170 UNIMPL 0 NOHIDE nosys
|
|
#endif
|
|
#ifdef SYSVSHM
|
|
171 STD 4 BSD shmsys
|
|
#else
|
|
171 UNIMPL 0 BSD nosys
|
|
#endif
|
|
172 UNIMPL 0 NOHIDE nosys
|
|
173 UNIMPL 0 NOHIDE nosys
|
|
174 UNIMPL 0 NOHIDE nosys
|
|
175 UNIMPL 0 NOHIDE nosys
|
|
176 STD 1 BSD nosys ntp_adjtime
|
|
177 UNIMPL 0 NOHIDE nosys
|
|
178 UNIMPL 0 NOHIDE nosys
|
|
179 UNIMPL 0 NOHIDE nosys
|
|
180 UNIMPL 0 NOHIDE nosys
|
|
|
|
; Syscalls 180-199 are used by/reserved for BSD
|
|
181 STD 1 POSIX setgid
|
|
182 STD 1 BSD setegid
|
|
183 STD 1 BSD seteuid
|
|
#ifdef LFS
|
|
184 STD 3 BSD lfs_bmapv
|
|
185 STD 3 BSD lfs_markv
|
|
186 STD 2 BSD lfs_segclean
|
|
187 STD 2 BSD lfs_segwait
|
|
#else
|
|
184 UNIMPL 0 BSD nosys
|
|
185 UNIMPL 0 BSD nosys
|
|
186 UNIMPL 0 BSD nosys
|
|
187 UNIMPL 0 BSD nosys
|
|
#endif
|
|
188 STD 2 POSIX stat
|
|
189 STD 2 POSIX fstat
|
|
190 STD 2 POSIX lstat
|
|
191 STD 2 POSIX pathconf
|
|
192 STD 2 POSIX fpathconf
|
|
193 UNIMPL 0 NOHIDE nosys
|
|
194 STD 2 BSD getrlimit
|
|
195 STD 2 BSD setrlimit
|
|
196 STD 4 BSD getdirentries
|
|
197 STD 8 BSD mmap
|
|
198 STD 0 NOHIDE nosys __syscall
|
|
199 STD 5 POSIX lseek
|
|
200 STD 4 BSD truncate
|
|
201 STD 4 BSD ftruncate
|
|
202 STD 6 BSD __sysctl
|
|
; properly, __sysctl should be a NOHIDE, but making an exception
|
|
; here allows to avoid one in libc/sys/Makefile.inc.
|
|
203 STD 2 BSD mlock
|
|
204 STD 2 BSD munlock
|
|
205 UNIMPL 0 NOHIDE nosys
|
|
206 UNIMPL 0 NOHIDE nosys
|
|
207 UNIMPL 0 NOHIDE nosys
|
|
208 UNIMPL 0 NOHIDE nosys
|
|
209 UNIMPL 0 NOHIDE nosys
|
|
|
|
;
|
|
; The following are reserved for loadable syscalls
|
|
;
|
|
#ifdef LKM
|
|
210 NODEF 0 NOHIDE lkmnosys
|
|
211 NODEF 0 NOHIDE lkmnosys
|
|
212 NODEF 0 NOHIDE lkmnosys
|
|
213 NODEF 0 NOHIDE lkmnosys
|
|
214 NODEF 0 NOHIDE lkmnosys
|
|
215 NODEF 0 NOHIDE lkmnosys
|
|
216 NODEF 0 NOHIDE lkmnosys
|
|
217 NODEF 0 NOHIDE lkmnosys
|
|
218 NODEF 0 NOHIDE lkmnosys
|
|
219 NODEF 0 NOHIDE lkmnosys
|
|
#else
|
|
210 UNIMPL 0 NOHIDE nosys
|
|
211 UNIMPL 0 NOHIDE nosys
|
|
212 UNIMPL 0 NOHIDE nosys
|
|
213 UNIMPL 0 NOHIDE nosys
|
|
214 UNIMPL 0 NOHIDE nosys
|
|
215 UNIMPL 0 NOHIDE nosys
|
|
216 UNIMPL 0 NOHIDE nosys
|
|
217 UNIMPL 0 NOHIDE nosys
|
|
218 UNIMPL 0 NOHIDE nosys
|
|
219 UNIMPL 0 NOHIDE nosys
|
|
#endif
|