1 $NetBSD: syscalls.master,v 1.25 2006/09/01 20:58:18 matt Exp $
2 ; based on NetBSD: syscalls.master,v 1.150 2005/11/29 22:52:02 yamt Exp
3
4 ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
5
6 ; NetBSD system call name/number "master" file.
7 ; (See syscalls.conf to see what it is processed into.)
8 ;
9 ; Fields: number type [type-dependent ...]
10 ; number system call number, must be in order
11 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
12 ; the compatibility options defined in syscalls.conf.
13 ;
14 ; An optional field, MPSAFE, after the type field, indicates that
15 ; the system call is MP-safe.
16 ;
17 ; types:
18 ; STD always included
19 ; OBSOL obsolete, not included in system
20 ; UNIMPL unimplemented, not included in system
21 ; EXCL implemented, but not included in system
22 ; NODEF included, but don't define the syscall number
23 ; NOARGS included, but don't define the syscall args structure
24 ; INDIR included, but don't define the syscall args structure,
25 ; and allow it to be "really" varargs.
26 ;
27 ; The compat options are defined in the syscalls.conf file, and the
28 ; compat option name is prefixed to the syscall name. Other than
29 ; that, they're like NODEF (for 'compat' options), or STD (for
30 ; 'libcompat' options).
31 ;
32 ; The type-dependent arguments are as follows:
33 ; For STD, NODEF, NOARGS, and compat syscalls:
34 ; { pseudo-proto } [alias]
35 ; For other syscalls:
36 ; [comment]
37 ;
38 ; #ifdef's, etc. may be included, and are copied to the output files.
39 ; #include's are copied to the syscall names and switch definition files only.
40
41 #if defined(_KERNEL_OPT)
42 #include "opt_ktrace.h"
43 #include "opt_nfsserver.h"
44 #include "opt_ntp.h"
45 #include "opt_compat_netbsd.h"
46 #include "opt_sysv.h"
47 #include "opt_compat_43.h"
48 #include "opt_posix.h"
49
50 #include "fs_lfs.h"
51 #include "fs_nfs.h"
52 #endif
53
54 #include <sys/param.h>
55 #include <sys/systm.h>
56 #include <sys/signal.h>
57 #include <sys/mount.h>
58 #include <sys/sa.h>
59 #include <sys/shm.h>
60 #include <sys/syscallargs.h>
61 #include <compat/pecoff/pecoff_syscallargs.h>
62 #include <compat/sys/shm.h>
63
64 %%
65
66 ; Reserved/unimplemented system calls in the range 0-150 inclusive
67 ; are reserved for use in future Berkeley releases.
68 ; Additional system calls implemented in vendor and other
69 ; redistributions should be placed in the reserved range at the end
70 ; of the current calls.
71
72 0 INDIR { int sys_syscall(int number, ...); }
73 1 NOARGS { void sys_exit(int rval); }
74 2 NOARGS { int sys_fork(void); }
75 3 NOARGS { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
76 4 NOARGS { ssize_t sys_write(int fd, const void *buf, \
77 size_t nbyte); }
78 5 STD { int pecoff_sys_open(const char *path, \
79 int flags, ... mode_t mode); }
80 6 NOARGS { int sys_close(int fd); }
81 7 NOARGS { int sys_wait4(int pid, int *status, int options, \
82 struct rusage *rusage); }
83 8 EXCL { int sys_creat(const char *path, mode_t mode); } ocreat
84 9 STD { int pecoff_sys_link(const char *path, \
85 const char *link); }
86 10 STD { int pecoff_sys_unlink(const char *path); }
87 11 OBSOL execv
88 12 STD { int pecoff_sys_chdir(const char *path); }
89 13 NOARGS { int sys_fchdir(int fd); }
90 14 NOARGS { int sys_mknod(const char *path, mode_t mode, \
91 dev_t dev); }
92 15 STD { int pecoff_sys_chmod(const char *path, mode_t mode); }
93 16 STD { int pecoff_sys_chown(const char *path, uid_t uid, \
94 gid_t gid); }
95 17 NOARGS { int sys_obreak(char *nsize); } break
96 #ifdef COMPAT_20
97 18 NOARGS { int compat_20_sys_getfsstat(struct statfs12 *buf, \
98 long bufsize, int flags); }
99 #else
100 18 EXCL compat_20_sys_getfsstat
101 #endif
102 19 EXCL { long sys_lseek(int fd, long offset, int whence); } \
103 olseek
104 #ifdef COMPAT_43
105 20 NOARGS { pid_t sys_getpid_with_ppid(void); } getpid
106 #else
107 20 NOARGS MPSAFE { pid_t sys_getpid(void); }
108 #endif
109 21 NOARGS { int sys_mount(const char *type, const char *path, \
110 int flags, void *data); }
111 22 STD { int pecoff_sys_unmount(const char *path, int flags); }
112 23 NOARGS { int sys_setuid(uid_t uid); }
113 #ifdef COMPAT_43
114 24 NOARGS { uid_t sys_getuid_with_euid(void); } getuid
115 #else
116 24 NOARGS { uid_t sys_getuid(void); }
117 #endif
118 25 NOARGS { uid_t sys_geteuid(void); }
119 26 NOARGS { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
120 int data); }
121 27 NOARGS { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
122 int flags); }
123 28 NOARGS { ssize_t sys_sendmsg(int s, \
124 const struct msghdr *msg, int flags); }
125 29 NOARGS { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
126 int flags, struct sockaddr *from, \
127 unsigned int *fromlenaddr); }
128 30 NOARGS { int sys_accept(int s, struct sockaddr *name, \
129 unsigned int *anamelen); }
130 31 NOARGS { int sys_getpeername(int fdes, struct sockaddr *asa, \
131 unsigned int *alen); }
132 32 NOARGS { int sys_getsockname(int fdes, struct sockaddr *asa, \
133 unsigned int *alen); }
134 33 STD { int pecoff_sys_access(const char *path, int flags); }
135 34 STD { int pecoff_sys_chflags(const char *path, \
136 u_long flags); }
137 35 NOARGS { int sys_fchflags(int fd, u_long flags); }
138 36 NOARGS { void sys_sync(void); }
139 37 NOARGS { int sys_kill(int pid, int signum); }
140 38 EXCL { int pecoff_compat_43_sys_stat(const char *path, \
141 struct stat43 *ub); } stat43
142 39 NOARGS { pid_t sys_getppid(void); }
143 40 EXCL { int pecoff_compat_43_sys_lstat(const char *path, \
144 struct stat43 *ub); } lstat43
145 41 NOARGS { int sys_dup(int fd); }
146 42 NOARGS { int sys_pipe(void); }
147 43 NOARGS { gid_t sys_getegid(void); }
148 44 NOARGS { int sys_profil(caddr_t samples, size_t size, \
149 u_long offset, u_int scale); }
150 #if defined(KTRACE) || !defined(_KERNEL)
151 45 NOARGS { int sys_ktrace(const char *fname, int ops, \
152 int facs, int pid); }
153 #else
154 45 EXCL ktrace
155 #endif
156 46 EXCL { int sys_sigaction(int signum, \
157 const struct sigaction13 *nsa, \
158 struct sigaction13 *osa); } sigaction13
159 #ifdef COMPAT_43
160 47 NOARGS { gid_t sys_getgid_with_egid(void); } getgid
161 #else
162 47 NOARGS { gid_t sys_getgid(void); }
163 #endif
164 48 EXCL { int sys_sigprocmask(int how, \
165 int mask); } sigprocmask13
166 49 NOARGS { int sys___getlogin(char *namebuf, size_t namelen); }
167 50 NOARGS { int sys___setlogin(const char *namebuf); }
168 51 NOARGS { int sys_acct(const char *path); }
169 52 EXCL { int sys_sigpending(void); } sigpending13
170 53 EXCL { int sys_sigaltstack( \
171 const struct sigaltstack13 *nss, \
172 struct sigaltstack13 *oss); } sigaltstack13
173 54 NOARGS { int sys_ioctl(int fd, \
174 u_long com, ... void *data); }
175 55 EXCL { int sys_reboot(int opt); } oreboot
176 56 STD { int pecoff_sys_revoke(const char *path); }
177 57 STD { int pecoff_sys_symlink(const char *path, \
178 const char *link); }
179 58 STD { ssize_t pecoff_sys_readlink(const char *path, char *buf, \
180 size_t count); }
181 59 STD { int pecoff_sys_execve(const char *path, \
182 char * const *argp, char * const *envp); }
183 60 NOARGS { mode_t sys_umask(mode_t newmask); }
184 61 STD { int pecoff_sys_chroot(const char *path); }
185 62 EXCL { int sys_fstat(int fd, struct stat43 *sb); } fstat43
186 63 EXCL { int sys_getkerninfo(int op, char *where, int *size, \
187 int arg); } ogetkerninfo
188 64 EXCL { int sys_getpagesize(void); } ogetpagesize
189 65 EXCL { int sys_msync(caddr_t addr, size_t len); }
190 ; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)?
191 66 NOARGS { int sys_vfork(void); }
192 67 OBSOL vread
193 68 OBSOL vwrite
194 69 NOARGS { int sys_sbrk(intptr_t incr); }
195 70 NOARGS { int sys_sstk(int incr); }
196 71 EXCL { int sys_mmap(caddr_t addr, size_t len, int prot, \
197 int flags, int fd, long pos); } ommap
198 72 NOARGS { int sys_ovadvise(int anom); } vadvise
199 73 NOARGS { int sys_munmap(void *addr, size_t len); }
200 74 NOARGS { int sys_mprotect(void *addr, size_t len, \
201 int prot); }
202 75 NOARGS { int sys_madvise(void *addr, size_t len, \
203 int behav); }
204 76 OBSOL vhangup
205 77 OBSOL vlimit
206 78 NOARGS { int sys_mincore(void *addr, size_t len, \
207 char *vec); }
208 79 NOARGS { int sys_getgroups(int gidsetsize, \
209 gid_t *gidset); }
210 80 NOARGS { int sys_setgroups(int gidsetsize, \
211 const gid_t *gidset); }
212 81 NOARGS { int sys_getpgrp(void); }
213 82 NOARGS { int sys_setpgid(int pid, int pgid); }
214 83 NOARGS { int sys_setitimer(int which, \
215 const struct itimerval *itv, \
216 struct itimerval *oitv); }
217 84 EXCL { int sys_wait(void); } owait
218 85 EXCL { int sys_swapon(const char *name); } oswapon
219 86 NOARGS { int sys_getitimer(int which, \
220 struct itimerval *itv); }
221 87 EXCL { int sys_gethostname(char *hostname, u_int len); } \
222 ogethostname
223 88 EXCL { int sys_sethostname(char *hostname, u_int len); } \
224 osethostname
225 89 EXCL { int sys_getdtablesize(void); } ogetdtablesize
226 90 NOARGS { int sys_dup2(int from, int to); }
227 91 UNIMPL getdopt
228 92 NOARGS { int sys_fcntl(int fd, int cmd, ... void *arg); }
229 93 NOARGS { int sys_select(int nd, fd_set *in, fd_set *ou, \
230 fd_set *ex, struct timeval *tv); }
231 94 UNIMPL setdopt
232 95 NOARGS { int sys_fsync(int fd); }
233 96 NOARGS { int sys_setpriority(int which, id_t who, int prio); }
234 97 NOARGS { int compat_30_sys_socket(int domain, int type, int protocol); }
235 98 NOARGS { int sys_connect(int s, const struct sockaddr *name, \
236 unsigned int namelen); }
237 99 EXCL { int sys_accept(int s, caddr_t name, \
238 int *anamelen); } oaccept
239 100 NOARGS { int sys_getpriority(int which, id_t who); }
240 101 EXCL { int sys_send(int s, caddr_t buf, int len, \
241 int flags); } osend
242 102 EXCL { int sys_recv(int s, caddr_t buf, int len, \
243 int flags); } orecv
244 103 EXCL { int sys_sigreturn(struct sigcontext13 *sigcntxp); } \
245 sigreturn13
246 104 NOARGS { int sys_bind(int s, const struct sockaddr *name, \
247 unsigned int namelen); }
248 105 NOARGS { int sys_setsockopt(int s, int level, int name, \
249 const void *val, unsigned int valsize); }
250 106 NOARGS { int sys_listen(int s, int backlog); }
251 107 OBSOL vtimes
252 108 EXCL { int sys_sigvec(int signum, struct sigvec *nsv, \
253 struct sigvec *osv); } osigvec
254 109 EXCL { int sys_sigblock(int mask); } osigblock
255 110 EXCL { int sys_sigsetmask(int mask); } osigsetmask
256 111 EXCL { int sys_sigsuspend(int mask); } sigsuspend13
257 112 EXCL { int sys_sigstack(struct sigstack *nss, \
258 struct sigstack *oss); } osigstack
259 113 EXCL { int sys_recvmsg(int s, struct omsghdr *msg, \
260 int flags); } orecvmsg
261 114 EXCL { int sys_sendmsg(int s, caddr_t msg, int flags); } \
262 osendmsg
263 115 OBSOL vtrace
264 116 NOARGS { int sys_gettimeofday(struct timeval *tp, \
265 void *tzp); }
266 117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
267 118 NOARGS { int sys_getsockopt(int s, int level, int name, \
268 void *val, unsigned int *avalsize); }
269 119 OBSOL resuba
270 120 NOARGS { ssize_t sys_readv(int fd, \
271 const struct iovec *iovp, int iovcnt); }
272 121 NOARGS { ssize_t sys_writev(int fd, \
273 const struct iovec *iovp, int iovcnt); }
274 122 NOARGS { int sys_settimeofday(const struct timeval *tv, \
275 void *tzp); }
276 123 NOARGS { int sys_fchown(int fd, uid_t uid, gid_t gid); }
277 124 NOARGS { int sys_fchmod(int fd, mode_t mode); }
278 125 EXCL { int sys_recvfrom(int s, caddr_t buf, size_t len, \
279 int flags, caddr_t from, int *fromlenaddr); } \
280 orecvfrom
281 126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); }
282 127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); }
283 128 STD { int pecoff_sys_rename(const char *from, \
284 const char *to); }
285 129 EXCL { int pecoff_compat_43_sys_truncate(const char *path, \
286 long length); } otruncate
287 130 EXCL { int sys_ftruncate(int fd, long length); } oftruncate
288 131 NOARGS { int sys_flock(int fd, int how); }
289 132 NOARGS { int sys_mkfifo(const char *path, mode_t mode); }
290 133 NOARGS { ssize_t sys_sendto(int s, const void *buf, \
291 size_t len, int flags, const struct sockaddr *to, \
292 unsigned int tolen); }
293 134 NOARGS { int sys_shutdown(int s, int how); }
294 135 NOARGS { int sys_socketpair(int domain, int type, \
295 int protocol, int *rsv); }
296 136 NOARGS { int sys_mkdir(const char *path, mode_t mode); }
297 137 STD { int pecoff_sys_rmdir(const char *path); }
298 138 STD { int pecoff_sys_utimes(const char *path, \
299 const struct timeval *tptr); }
300 139 OBSOL 4.2 sigreturn
301 140 NOARGS { int sys_adjtime(const struct timeval *delta, \
302 struct timeval *olddelta); }
303 141 EXCL { int sys_getpeername(int fdes, caddr_t asa, \
304 int *alen); } ogetpeername
305 142 EXCL { int32_t sys_gethostid(void); } ogethostid
306 143 EXCL { int sys_sethostid(int32_t hostid); } osethostid
307 144 EXCL { int sys_getrlimit(int which, \
308 struct orlimit *rlp); } ogetrlimit
309 145 EXCL { int sys_setrlimit(int which, \
310 const struct orlimit *rlp); } osetrlimit
311 146 EXCL { int sys_killpg(int pgid, int signum); } okillpg
312 147 NOARGS { int sys_setsid(void); }
313 148 NOARGS { int sys_quotactl(const char *path, int cmd, \
314 int uid, caddr_t arg); }
315 149 EXCL { int sys_quota(void); } oquota
316 150 EXCL { int sys_getsockname(int fdec, caddr_t asa, \
317 int *alen); } ogetsockname
318
319 ; Syscalls 151-180 inclusive are reserved for vendor-specific
320 ; system calls. (This includes various calls added for compatibity
321 ; with other Unix variants.)
322 ; Some of these calls are now supported by BSD...
323 151 UNIMPL
324 152 UNIMPL
325 153 UNIMPL
326 154 UNIMPL
327 #if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL)
328 155 NOARGS { int sys_nfssvc(int flag, void *argp); }
329 #else
330 155 EXCL nfssvc
331 #endif
332 156 EXCL { int sys_getdirentries(int fd, char *buf, \
333 u_int count, long *basep); } ogetdirentries
334 157 STD { int pecoff_sys_statfs(const char *path, \
335 struct statvfs12 *buf); }
336 #ifdef COMPAT_20
337 158 NOARGS { int compat_20_sys_fstatfs(int fd, \
338 struct statfs12 *buf); }
339 #else
340 158 EXCL compat_20_sys_fstatfs
341 #endif
342 159 UNIMPL
343 160 UNIMPL
344 #ifdef COMPAT_30
345 161 STD { int pecoff_compat_30_sys_getfh(const char *fname, \
346 struct commpat_30_fhandle *fhp); }
347 #else
348 161 EXCL compat_30_sys_getfh
349 #endif
350 162 EXCL { int sys_getdomainname(char *domainname, int len); } \
351 ogetdomainname
352 163 EXCL { int sys_setdomainname(char *domainname, int len); } \
353 osetdomainname
354 164 EXCL { int sys_uname(struct outsname *name); } ouname
355 165 NOARGS { int sys_sysarch(int op, void *parms); }
356 166 UNIMPL
357 167 UNIMPL
358 168 UNIMPL
359 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
360 #if (defined(SYSVSEM) || !defined(_KERNEL)) && !defined(_LP64)
361 169 EXCL { int sys_semsys(int which, int a2, int a3, int a4, \
362 int a5); } osemsys
363 #else
364 169 EXCL 1.0 semsys
365 #endif
366 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
367 #if (defined(SYSVMSG) || !defined(_KERNEL)) && !defined(_LP64)
368 170 EXCL { int sys_msgsys(int which, int a2, int a3, int a4, \
369 int a5, int a6); } omsgsys
370 #else
371 170 EXCL 1.0 msgsys
372 #endif
373 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
374 #if (defined(SYSVSHM) || !defined(_KERNEL)) && !defined(_LP64)
375 171 EXCL { int sys_shmsys(int which, int a2, int a3, int a4); } \
376 oshmsys
377 #else
378 171 EXCL 1.0 shmsys
379 #endif
380 172 UNIMPL
381 173 NOARGS { ssize_t sys_pread(int fd, void *buf, \
382 size_t nbyte, int pad, off_t offset); }
383 174 NOARGS { ssize_t sys_pwrite(int fd, const void *buf, \
384 size_t nbyte, int pad, off_t offset); }
385 175 UNIMPL { int sys_ntp_gettime(struct ntptimeval *ntvp); }
386 #if defined(NTP) || !defined(_KERNEL)
387 176 NOARGS { int sys_ntp_adjtime(struct timex *tp); }
388 #else
389 176 EXCL ntp_adjtime
390 #endif
391 177 UNIMPL
392 178 UNIMPL
393 179 UNIMPL
394 180 UNIMPL
395
396 ; Syscalls 180-199 are used by/reserved for BSD
397 181 NOARGS { int sys_setgid(gid_t gid); }
398 182 NOARGS { int sys_setegid(gid_t egid); }
399 183 NOARGS { int sys_seteuid(uid_t euid); }
400 #if defined(LFS) || !defined(_KERNEL)
401 184 NOARGS { int sys_lfs_bmapv(fsid_t *fsidp, \
402 struct block_info *blkiov, int blkcnt); }
403 185 NOARGS { int sys_lfs_markv(fsid_t *fsidp, \
404 struct block_info *blkiov, int blkcnt); }
405 186 NOARGS { int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
406 187 NOARGS { int sys_lfs_segwait(fsid_t *fsidp, \
407 struct timeval *tv); }
408 #else
409 184 EXCL lfs_bmapv
410 185 EXCL lfs_markv
411 186 EXCL lfs_segclean
412 187 EXCL lfs_segwait
413 #endif
414 188 EXCL { int pecoff_compat_12_sys_stat(const char *path, \
415 struct stat12 *ub); } stat12
416 189 EXCL { int sys_fstat(int fd, struct stat12 *sb); } fstat12
417 190 EXCL { int pecoff_compat_12_sys_lstat(const char *path, \
418 struct stat12 *ub); } lstat12
419 191 STD { long pecoff_sys_pathconf(const char *path, int name); }
420 192 NOARGS { long sys_fpathconf(int fd, int name); }
421 193 UNIMPL
422 194 NOARGS { int sys_getrlimit(int which, \
423 struct rlimit *rlp); }
424 195 NOARGS { int sys_setrlimit(int which, \
425 const struct rlimit *rlp); }
426 196 EXCL { int sys_getdirentries(int fd, char *buf, \
427 u_int count, long *basep); }
428 197 NOARGS { void *sys_mmap(void *addr, size_t len, int prot, \
429 int flags, int fd, long pad, off_t pos); }
430 198 INDIR { quad_t sys___syscall(quad_t num, ...); }
431 199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \
432 int whence); }
433 200 STD { int pecoff_sys_truncate(const char *path, int pad, \
434 off_t length); }
435 201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); }
436 202 NOARGS { int sys___sysctl(const int *name, u_int namelen, \
437 void *old, size_t *oldlenp, const void *new, \
438 size_t newlen); }
439 203 NOARGS { int sys_mlock(const void *addr, size_t len); }
440 204 NOARGS { int sys_munlock(const void *addr, size_t len); }
441 205 STD { int pecoff_sys_undelete(const char *path); }
442 206 NOARGS { int sys_futimes(int fd, \
443 const struct timeval *tptr); }
444 207 NOARGS { pid_t sys_getpgid(pid_t pid); }
445 208 NOARGS { int sys_reboot(int opt, char *bootstr); }
446 209 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \
447 int timeout); }
448 ;
449 ; Syscalls 210-219 are reserved for dynamically loaded syscalls
450 ;
451 #if defined(LKM) || !defined(_KERNEL)
452 210 NODEF { int sys_lkmnosys(void); }
453 211 NODEF { int sys_lkmnosys(void); }
454 212 NODEF { int sys_lkmnosys(void); }
455 213 NODEF { int sys_lkmnosys(void); }
456 214 NODEF { int sys_lkmnosys(void); }
457 215 NODEF { int sys_lkmnosys(void); }
458 216 NODEF { int sys_lkmnosys(void); }
459 217 NODEF { int sys_lkmnosys(void); }
460 218 NODEF { int sys_lkmnosys(void); }
461 219 NODEF { int sys_lkmnosys(void); }
462 #else /* !LKM */
463 210 EXCL lkmnosys
464 211 EXCL lkmnosys
465 212 EXCL lkmnosys
466 213 EXCL lkmnosys
467 214 EXCL lkmnosys
468 215 EXCL lkmnosys
469 216 EXCL lkmnosys
470 217 EXCL lkmnosys
471 218 EXCL lkmnosys
472 219 EXCL lkmnosys
473 #endif /* !LKM */
474 ; System calls 220-300 are reserved for use by NetBSD
475 #if defined(SYSVSEM) || !defined(_KERNEL)
476 220 EXCL { int sys___semctl(int semid, int semnum, int cmd, \
477 union __semun *arg); }
478 221 NOARGS { int sys_semget(key_t key, int nsems, int semflg); }
479 222 NOARGS { int sys_semop(int semid, struct sembuf *sops, \
480 size_t nsops); }
481 223 NOARGS { int sys_semconfig(int flag); }
482 #else
483 220 EXCL compat_14_semctl
484 221 EXCL semget
485 222 EXCL semop
486 223 EXCL semconfig
487 #endif
488 #if defined(SYSVMSG) || !defined(_KERNEL)
489 224 EXCL { int sys_msgctl(int msqid, int cmd, \
490 struct msqid_ds14 *buf); }
491 225 NOARGS { int sys_msgget(key_t key, int msgflg); }
492 226 NOARGS { int sys_msgsnd(int msqid, const void *msgp, \
493 size_t msgsz, int msgflg); }
494 227 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \
495 size_t msgsz, long msgtyp, int msgflg); }
496 #else
497 224 EXCL compat_14_msgctl
498 225 EXCL msgget
499 226 EXCL msgsnd
500 227 EXCL msgrcv
501 #endif
502 #if defined(SYSVSHM) || !defined(_KERNEL)
503 228 NOARGS { void *sys_shmat(int shmid, const void *shmaddr, \
504 int shmflg); }
505 229 EXCL { int sys_shmctl(int shmid, int cmd, \
506 struct shmid_ds14 *buf); }
507 230 NOARGS { int sys_shmdt(const void *shmaddr); }
508 231 NOARGS { int sys_shmget(key_t key, size_t size, int shmflg); }
509 #else
510 228 EXCL shmat
511 229 EXCL compat_14_shmctl
512 230 EXCL shmdt
513 231 EXCL shmget
514 #endif
515 232 NOARGS { int sys_clock_gettime(clockid_t clock_id, \
516 struct timespec *tp); }
517 233 NOARGS { int sys_clock_settime(clockid_t clock_id, \
518 const struct timespec *tp); }
519 234 NOARGS { int sys_clock_getres(clockid_t clock_id, \
520 struct timespec *tp); }
521 235 NOARGS { int sys_timer_create(clockid_t clock_id, \
522 struct sigevent *evp, timer_t *timerid); }
523 236 NOARGS { int sys_timer_delete(timer_t timerid); }
524 237 NOARGS { int sys_timer_settime(timer_t timerid, int flags, \
525 const struct itimerspec *value, \
526 struct itimerspec *ovalue); }
527 238 NOARGS { int sys_timer_gettime(timer_t timerid, struct \
528 itimerspec *value); }
529 239 NOARGS { int sys_timer_getoverrun(timer_t timerid); }
530 ;
531 ; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
532 ;
533 240 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
534 struct timespec *rmtp); }
535 241 NOARGS { int sys_fdatasync(int fd); }
536 242 NOARGS { int sys_mlockall(int flags); }
537 243 NOARGS { int sys_munlockall(void); }
538 244 NOARGS { int sys___sigtimedwait(const sigset_t *set, \
539 siginfo_t *info, \
540 struct timespec *timeout); }
541 245 UNIMPL sys_sigqueue
542 ;
543 ; Syscall 246 is free for any use
544 ;
545 246 UNIMPL
546 #if defined(P1003_1B_SEMAPHORE) || (!defined(_KERNEL) && defined(_LIBC))
547 247 NOARGS { int sys__ksem_init(unsigned int value, semid_t *idp); }
548 248 NOARGS { int sys__ksem_open(const char *name, int oflag, \
549 mode_t mode, unsigned int value, semid_t *idp); }
550 249 NOARGS { int sys__ksem_unlink(const char *name); }
551 250 NOARGS { int sys__ksem_close(semid_t id); }
552 251 NOARGS { int sys__ksem_post(semid_t id); }
553 252 NOARGS { int sys__ksem_wait(semid_t id); }
554 253 NOARGS { int sys__ksem_trywait(semid_t id); }
555 254 NOARGS { int sys__ksem_getvalue(semid_t id, \
556 unsigned int *value); }
557 255 NOARGS { int sys__ksem_destroy(semid_t id); }
558 256 UNIMPL sys__ksem_timedwait
559 #else
560 247 EXCL sys__ksem_init
561 248 EXCL sys__ksem_open
562 249 EXCL sys__ksem_unlink
563 250 EXCL sys__ksem_close
564 251 EXCL sys__ksem_post
565 252 EXCL sys__ksem_wait
566 253 EXCL sys__ksem_trywait
567 254 EXCL sys__ksem_getvalue
568 255 EXCL sys__ksem_destroy
569 256 UNIMPL sys__ksem_timedwait
570 #endif
571 257 UNIMPL sys_mq_open
572 258 UNIMPL sys_mq_close
573 259 UNIMPL sys_mq_unlink
574 260 UNIMPL sys_mq_getattr
575 261 UNIMPL sys_mq_setattr
576 262 UNIMPL sys_mq_notify
577 263 UNIMPL sys_mq_send
578 264 UNIMPL sys_mq_receive
579 265 UNIMPL sys_mq_timedsend
580 266 UNIMPL sys_mq_timedreceive
581 267 UNIMPL
582 268 UNIMPL
583 269 UNIMPL
584 270 STD { int pecoff_sys___posix_rename(const char *from, \
585 const char *to); }
586 271 NOARGS { int sys_swapctl(int cmd, void *arg, int misc); }
587 #ifdef COMPAT_30
588 272 NOARGS { int compat_30_sys_getdents(int fd, char *buf, size_t count); }
589 #endif
590 273 NOARGS { int sys_minherit(void *addr, size_t len, \
591 int inherit); }
592 274 STD { int pecoff_sys_lchmod(const char *path, mode_t mode); }
593 275 STD { int pecoff_sys_lchown(const char *path, uid_t uid, \
594 gid_t gid); }
595 276 STD { int pecoff_sys_lutimes(const char *path, \
596 const struct timeval *tptr); }
597 277 NOARGS { int sys___msync13(void *addr, size_t len, int flags); }
598 #ifdef COMPAT_30
599 278 STD { int pecoff_sys___stat13(const char *path, \
600 struct stat30 *ub); }
601 279 NOARGS { int compat_30_sys___fstat13(int fd, struct stat30 *sb); }
602 280 STD { int pecoff_sys___lstat13(const char *path, \
603 struct stat30 *ub); }
604 #endif
605 281 NOARGS { int sys___sigaltstack14( \
606 const struct sigaltstack *nss, \
607 struct sigaltstack *oss); }
608 282 NOARGS { int sys___vfork14(void); }
609 283 STD { int pecoff_sys___posix_chown(const char *path, \
610 uid_t uid, gid_t gid); }
611 284 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \
612 gid_t gid); }
613 285 STD { int pecoff_sys___posix_lchown(const char *path, uid_t uid, \
614 gid_t gid); }
615 286 NOARGS { pid_t sys_getsid(pid_t pid); }
616 287 NOARGS { pid_t sys___clone(int flags, void *stack); }
617 #if defined(KTRACE) || !defined(_KERNEL)
618 288 NOARGS { int sys_fktrace(const int fd, int ops, \
619 int facs, int pid); }
620 #else
621 288 EXCL ktrace
622 #endif
623 289 NOARGS { ssize_t sys_preadv(int fd, \
624 const struct iovec *iovp, int iovcnt, \
625 int pad, off_t offset); }
626 290 NOARGS { ssize_t sys_pwritev(int fd, \
627 const struct iovec *iovp, int iovcnt, \
628 int pad, off_t offset); }
629 #ifdef COMPAT_16
630 291 NOARGS { int compat_16_sys___sigaction14(int signum, \
631 const struct sigaction *nsa, \
632 struct sigaction *osa); }
633 #else
634 291 EXCL compat_16_sys___sigaction14
635 #endif
636 292 NOARGS { int sys___sigpending14(sigset_t *set); }
637 293 NOARGS { int sys___sigprocmask14(int how, \
638 const sigset_t *set, \
639 sigset_t *oset); }
640 294 NOARGS { int sys___sigsuspend14(const sigset_t *set); }
641 #ifdef COMPAT_16
642 295 NOARGS { int compat_16_sys___sigreturn14(struct sigcontext *sigcntxp); }
643 #else
644 295 EXCL compat_16_sys___sigreturn14
645 #endif
646 296 NOARGS { int sys___getcwd(char *bufp, size_t length); }
647 297 NOARGS { int sys_fchroot(int fd); }
648 #ifdef COMPAT_30
649 298 NOARGS { int compat_30_sys_fhopen(const fhandle_t *fhp, \
650 int flags); }
651 299 NOARGS { int compat_30_sys_fhstat(const fhandle_t *fhp, \
652 struct stat13 *sb); }
653 #else
654 298 EXCL compat_30_sys_fhopen
655 299 EXCL compat_30_sys_fhstat
656 #endif
657 #ifdef COMPAT_20
658 300 NOARGS { int compat_20_sys_fhstatfs(const struct compat_30_fhandle *fhp, \
659 struct statfs12 *buf); }
660 #else
661 300 EXCL compat_20_sys_fhstatfs
662 #endif
663 #if defined(SYSVSEM) || !defined(_KERNEL)
664 301 NOARGS { int sys_____semctl13(int semid, int semnum, int cmd, \
665 ... union __semun *arg); }
666 #else
667 301 EXCL ____semctl13
668 #endif
669 #if defined(SYSVMSG) || !defined(_KERNEL)
670 302 NOARGS { int sys___msgctl13(int msqid, int cmd, \
671 struct msqid_ds *buf); }
672 #else
673 302 EXCL __msgctl13
674 #endif
675 #if defined(SYSVSHM) || !defined(_KERNEL)
676 303 NOARGS { int sys___shmctl13(int shmid, int cmd, \
677 struct shmid_ds *buf); }
678 #else
679 303 EXCL __shmctl13
680 #endif
681 304 STD { int pecoff_sys_lchflags(const char *path, u_long flags); }
682 305 NOARGS { int sys_issetugid(void); }
683 306 NOARGS { int sys_utrace(const char *label, void *addr, \
684 size_t len); }
685 307 NOARGS { int sys_getcontext(struct __ucontext *ucp); }
686 308 NOARGS { int sys_setcontext(const struct __ucontext *ucp); }
687 309 NOARGS { int sys__lwp_create(const struct __ucontext *ucp, \
688 u_long flags, lwpid_t *new_lwp); }
689 310 NOARGS { int sys__lwp_exit(void); }
690 311 NOARGS { lwpid_t sys__lwp_self(void); }
691 312 NOARGS { int sys__lwp_wait(lwpid_t wait_for, \
692 lwpid_t *departed); }
693 313 NOARGS { int sys__lwp_suspend(lwpid_t target); }
694 314 NOARGS { int sys__lwp_continue(lwpid_t target); }
695 315 NOARGS { int sys__lwp_wakeup(lwpid_t target); }
696 316 NOARGS { void *sys__lwp_getprivate(void); }
697 317 NOARGS { void sys__lwp_setprivate(void *ptr); }
698 ; Syscalls 318-329 reserved for remaining Solaris-compatible LWP calls.
699 318 UNIMPL
700 319 UNIMPL
701 320 UNIMPL
702 321 UNIMPL
703 322 UNIMPL
704 323 UNIMPL
705 324 UNIMPL
706 325 UNIMPL
707 326 UNIMPL
708 327 UNIMPL
709 328 UNIMPL
710 329 UNIMPL
711 ; Scheduler activation syscalls
712 330 NOARGS { int sys_sa_register(sa_upcall_t new, \
713 sa_upcall_t *old, int flags, \
714 ssize_t stackinfo_offset); }
715 331 NOARGS { int sys_sa_stacks(int num, stack_t *stacks); }
716 332 NOARGS { int sys_sa_enable(void); }
717 333 NOARGS { int sys_sa_setconcurrency(int concurrency); }
718 334 NOARGS { int sys_sa_yield(void); }
719 335 NOARGS { int sys_sa_preempt(int sa_id); }
720 336 OBSOL sys_sa_unblockyield
721 ;
722 ; Syscalls 337-339 are reserved for other scheduler activation syscalls.
723 ;
724 337 UNIMPL
725 338 UNIMPL
726 339 UNIMPL
727 340 NOARGS { int sys___sigaction_sigtramp(int signum, \
728 const struct sigaction *nsa, \
729 struct sigaction *osa, \
730 const void *tramp, int vers); }
731 341 NOARGS { int sys_pmc_get_info(int ctr, int op, void *args); }
732 342 NOARGS { int sys_pmc_control(int ctr, int op, void *args); }
733 343 NOARGS { int sys_rasctl(caddr_t addr, size_t len, int op); }
734 344 NOARGS { int sys_kqueue(void); }
735 345 NOARGS { int sys_kevent(int fd, \
736 const struct kevent *changelist, size_t nchanges, \
737 struct kevent *eventlist, size_t nevents, \
738 const struct timespec *timeout); }
739 ;
740 ; Syscalls 346-353 are reserved for the IEEE Std1003.1b scheduling syscalls
741 ;
742 346 UNIMPL sys_sched_setparam
743 347 UNIMPL sys_sched_getparam
744 348 UNIMPL sys_sched_setscheduler
745 349 UNIMPL sys_sched_getscheduler
746 350 UNIMPL sys_sched_yield
747 351 UNIMPL sys_sched_get_priority_max
748 352 UNIMPL sys_sched_get_priority_min
749 353 UNIMPL sys_sched_rr_get_interval
750
751 354 NOARGS { int sys_fsync_range(int fd, int flags, off_t start, \
752 off_t length); }
753 355 NOARGS { int sys_uuidgen(struct uuid *store, int count); }
754 356 NOARGS { int sys_getvfsstat(struct statvfs *buf, \
755 size_t bufsize, int flags); }
756 357 NOARGS { int sys_statvfs1(const char *path, \
757 struct statvfs *buf, int flags); }
758 358 NOARGS { int sys_fstatvfs1(int fd, struct statvfs *buf, \
759 int flags); }
760 #ifdef COMPAT_30
761 359 NOARGS { int compat_30_sys_fhstatvfs1(const fhandle_t *fhp, \
762 struct statvfs *buf, int flags); }
763 #else
764 359 EXCL compat_30_sys_fhstatvfs1
765 #endif
766 360 NOARGS { int sys_extattrctl(const char *path, int cmd, \
767 const char *filename, int attrnamespace, \
768 const char *attrname); }
769 361 NOARGS { int sys_extattr_set_file(const char *path, \
770 int attrnamespace, const char *attrname, \
771 const void *data, size_t nbytes); }
772 362 NOARGS { ssize_t sys_extattr_get_file(const char *path, \
773 int attrnamespace, const char *attrname, \
774 void *data, size_t nbytes); }
775 363 NOARGS { int sys_extattr_delete_file(const char *path, \
776 int attrnamespace, const char *attrname); }
777 364 NOARGS { int sys_extattr_set_fd(int fd, \
778 int attrnamespace, const char *attrname, \
779 const void *data, size_t nbytes); }
780 365 NOARGS { ssize_t sys_extattr_get_fd(int fd, \
781 int attrnamespace, const char *attrname, \
782 void *data, size_t nbytes); }
783 366 NOARGS { int sys_extattr_delete_fd(int fd, \
784 int attrnamespace, const char *attrname); }
785 367 NOARGS { int sys_extattr_set_link(const char *path, \
786 int attrnamespace, const char *attrname, \
787 const void *data, size_t nbytes); }
788 368 NOARGS { ssize_t sys_extattr_get_link(const char *path, \
789 int attrnamespace, const char *attrname, \
790 void *data, size_t nbytes); }
791 369 NOARGS { int sys_extattr_delete_link(const char *path, \
792 int attrnamespace, const char *attrname); }
793 370 NOARGS { ssize_t sys_extattr_list_fd(int fd, \
794 int attrnamespace, void *data, size_t nbytes); }
795 371 NOARGS { ssize_t sys_extattr_list_file(const char *path, \
796 int attrnamespace, void *data, size_t nbytes); }
797 372 NOARGS { ssize_t sys_extattr_list_link(const char *path, \
798 int attrnamespace, void *data, size_t nbytes); }
799 373 NOARGS { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
800 fd_set *ex, const struct timespec *ts, \
801 const sigset_t *mask); }
802 374 NOARGS { int sys_pollts(struct pollfd *fds, u_int nfds, \
803 const struct timespec *ts, const sigset_t *mask); }
804 375 NOARGS { int sys_setxattr(const char *path, \
805 const char *name, void *value, size_t size, \
806 int flags); }
807 376 NOARGS { int sys_lsetxattr(const char *path, \
808 const char *name, void *value, size_t size, \
809 int flags); }
810 377 NOARGS { int sys_fsetxattr(int fd, \
811 const char *name, void *value, size_t size, \
812 int flags); }
813 378 NOARGS { int sys_getxattr(const char *path, \
814 const char *name, void *value, size_t size); }
815 379 NOARGS { int sys_lgetxattr(const char *path, \
816 const char *name, void *value, size_t size); }
817 380 NOARGS { int sys_fgetxattr(int fd, \
818 const char *name, void *value, size_t size); }
819 381 NOARGS { int sys_listxattr(const char *path, \
820 char *list, size_t size); }
821 382 NOARGS { int sys_llistxattr(const char *path, \
822 char *list, size_t size); }
823 383 NOARGS { int sys_flistxattr(int fd, \
824 char *list, size_t size); }
825 384 NOARGS { int sys_removexattr(const char *path, \
826 const char *name); }
827 385 NOARGS { int sys_lremovexattr(const char *path, \
828 const char *name); }
829 386 NOARGS { int sys_fremovexattr(int fd, \
830 const char *name); }
831 387 STD { int pecoff_sys___stat30(const char *path, struct stat *ub); }
832 388 NOARGS { int sys___fstat30(int fd, struct stat *sb); }
833 389 STD { int pecoff_sys___lstat30(const char *path, struct stat *ub); }
834 390 NOARGS { int sys___getdents30(int fd, char *buf, size_t count); }
835 391 NOARGS { int sys_posix_fadvise(int fd, off_t offset, \
836 off_t len, int advice); }
837 #ifdef COMPAT_30
838 392 NOARGS { int compat_30_sys___fhstat30(const fhandle_t *fhp, \
839 struct stat *sb); }
840 #else
841 392 EXCL compat_30_sys___fhstat30
842 #endif
843 393 NOARGS { int sys___ntp_gettime30(struct ntptimeval *ntvp); }
844 394 NOARGS { int sys___socket30(int domain, int type, int protocol); }
845 395 STD { int pecoff_sys___getfh30(const char *fname, \
846 void *fhp, size_t *fh_size); }
847 396 NOARGS { int sys___fhopen40(const void *fhp, size_t fh_size,\
848 int flags); }
849 397 NOARGS { int sys___fhstatvfs140(const void *fhp, \
850 size_t fh_size, struct statvfs *buf, int flags); }
851 398 NOARGS { int sys___fhstat40(const void *fhp, \
Cache object: 444fd01af4e062a1caf74e5b5ce35ea7
|