1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
|
$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
|