1 $NetBSD: syscalls.master,v 1.62 2009/01/13 22:27:43 pooka Exp $ 2 3; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4 5; NetBSD COMPAT_FREEBSD system call name/number "master" file. 6; (See syscalls.conf to see what it is processed into.) 7; 8; Fields: number type [type-dependent ...] 9; number system call number, must be in order 10; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 11; the compatibility options defined in syscalls.conf. 12; 13; types: 14; STD always included 15; OBSOL obsolete, not included in system 16; UNIMPL unimplemented, not included in system 17; NODEF included, but don't define the syscall number 18; NOARGS included, but don't define the syscall args structure 19; 20; The compat options are defined in the syscalls.conf file, and the 21; compat option name is prefixed to the syscall name. Other than 22; that, they're like NODEF (for 'compat' options), or STD (for 23; 'libcompat' options). 24; 25; The type-dependent arguments are as follows: 26; For STD, NODEF, NOARGS, and compat syscalls: 27; { pseudo-proto } [alias] 28; For other syscalls: 29; [comment] 30; 31; #ifdef's, etc. may be included, and are copied to the output files. 32; #include's are copied to the syscall names and switch definition files only. 33 34#if defined(_KERNEL_OPT) 35#include "opt_ktrace.h" 36#include "opt_ntp.h" 37#include "opt_sysv.h" 38#include "opt_compat_43.h" 39#include "opt_posix.h" 40 41#include "fs_lfs.h" 42#endif 43 44#include <sys/param.h> 45#include <sys/systm.h> 46#include <sys/signal.h> 47#include <sys/mount.h> 48#include <sys/syscallargs.h> 49 50#include <compat/sys/signal.h> 51#include <compat/sys/time.h> 52 53#include <compat/freebsd/freebsd_syscallargs.h> 54 55#include <machine/freebsd_machdep.h> 56 57%% 58 59; Reserved/unimplemented system calls in the range 0-150 inclusive 60; are reserved for use in future Berkeley releases. 61; Additional system calls implemented in vendor and other 62; redistributions should be placed in the reserved range at the end 63; of the current calls. 64 650 NOARGS { int|sys||nosys(void); } syscall 661 NOARGS { int|sys||exit(int rval); } 672 NOARGS { int|sys||fork(void); } 683 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 694 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 705 NOARGS { int|sys||open(const char *path, int flags, int mode); } 716 NOARGS { int|sys||close(int fd); } 727 NOARGS { int|compat_50_sys||wait4(int pid, int *status, \ 73 int options, struct rusage50 *rusage); } 748 NOARGS { int|compat_43_sys||creat(const char *path, \ 75 int mode); } ocreat 769 NOARGS { int|sys||link(const char *path, const char *link); } 7710 NOARGS { int|sys||unlink(const char *path); } 7811 OBSOL execv 7912 NOARGS { int|sys||chdir(const char *path); } 8013 NOARGS { int|sys||fchdir(int fd); } 8114 NOARGS { int|compat_50_sys||mknod(const char *path, int mode, int dev); } 8215 NOARGS { int|sys||chmod(const char *path, int mode); } 8316 NOARGS { int|sys||chown(const char *path, int uid, int gid); } 8417 NOARGS { int|sys||obreak(char *nsize); } break 8518 NOARGS { int|compat_20_sys||getfsstat(struct statfs12 *buf, \ 86 long bufsize, int flags); } 8719 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 88 int whence); } olseek 8920 NOARGS { pid_t|sys||getpid_with_ppid(void); } 9021 STD { int|freebsd_sys||mount(int type, const char *path, \ 91 int flags, void *data); } 9222 NOARGS { int|sys||unmount(const char *path, int flags); } 9323 NOARGS { int|sys||setuid(uid_t uid); } 9424 NOARGS { uid_t|sys||getuid_with_euid(void); } 9525 NOARGS { uid_t|sys||geteuid(void); } 9626 STD { int|freebsd_sys||ptrace(int req, pid_t pid, \ 97 void *addr, int data); } 9827 NOARGS { int|sys||recvmsg(int s, struct msghdr *msg, \ 99 int flags); } 10028 NOARGS { int|sys||sendmsg(int s, void *msg, int flags); } 10129 NOARGS { int|sys||recvfrom(int s, void *buf, size_t len, \ 102 int flags, void *from, int *fromlenaddr); } 10330 NOARGS { int|sys||accept(int s, void *name, int *anamelen); } 10431 NOARGS { int|sys||getpeername(int fdes, void *asa, \ 105 int *alen); } 10632 NOARGS { int|sys||getsockname(int fdes, void *asa, \ 107 int *alen); } 10833 NOARGS { int|sys||access(const char *path, int flags); } 10934 NOARGS { int|sys||chflags(const char *path, int flags); } 11035 NOARGS { int|sys||fchflags(int fd, int flags); } 11136 NOARGS { int|sys||sync(void); } 11237 NOARGS { int|sys||kill(int pid, int signum); } 11338 NOARGS { int|compat_43_sys||stat(const char *path, \ 114 struct stat43 *ub); } stat43 11539 NOARGS { pid_t|sys||getppid(void); } 11640 NOARGS { int|compat_43_sys||lstat(const char *path, \ 117 struct stat43 *ub); } lstat43 11841 NOARGS { int|sys||dup(u_int fd); } 11942 NOARGS { int|sys||pipe(void); } 12043 NOARGS { gid_t|sys||getegid(void); } 12144 NOARGS { int|sys||profil(void *samples, u_int size, \ 122 u_int offset, u_int scale); } 123#ifdef KTRACE 12445 NOARGS { int|sys||ktrace(char *fname, int ops, int facs, \ 125 int pid); } 126#else 12745 EXCL ktrace 128#endif 12946 NOARGS { int|compat_13_sys||sigaction(int signum, \ 130 const struct sigaction13 *nsa, \ 131 struct sigaction13 *osa); } 13247 NOARGS { gid_t|sys||getgid_with_egid(void); } 13348 NOARGS { int|compat_13_sys||sigprocmask(int how, \ 134 int mask); } 13549 NOARGS { int|sys||__getlogin(char *namebuf, u_int namelen); } 13650 NOARGS { int|sys||__setlogin(char *namebuf); } 13751 NOARGS { int|sys||acct(char *path); } 13852 NOARGS { int|compat_13_sys||sigpending(void); } 13953 NOARGS { int|compat_13_sys||sigaltstack( \ 140 const struct sigaltstack13 *nss, \ 141 struct sigaltstack13 *oss); } 14254 STD { int|freebsd_sys||ioctl(int fd, u_long com, \ 143 void *data); } 14455 NOARGS { int|sys||reboot(int opt); } oreboot 14556 NOARGS { int|sys||revoke(const char *path); } 14657 NOARGS { int|sys||symlink(const char *path, const char *link); } 14758 NOARGS { int|sys||readlink(const char *path, \ 148 char *buf, int count); } 14959 NOARGS { int|sys||execve(const char *path, \ 150 char **argp, char **envp); } 15160 NOARGS { int|sys||umask(int newmask); } 15261 NOARGS { int|sys||chroot(const char *path); } 15362 NOARGS { int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \ 154 fstat43 15563 NOARGS { int|compat_43_sys||getkerninfo(int op, char *where, \ 156 int *size, int arg); } ogetkerninfo 15764 NOARGS { int|compat_43_sys||getpagesize(void); } ogetpagesize 15865 STD { int|freebsd_sys||msync(void *addr, size_t len, \ 159 int flags); } 16066 NOARGS { int|sys||vfork(void); } 16167 OBSOL vread 16268 OBSOL vwrite 16369 NOARGS { int|sys||sbrk(intptr_t incr); } 16470 NOARGS { int|sys||sstk(int incr); } 16571 NOARGS { int|compat_43_sys||mmap(void *addr, size_t len, \ 166 int prot, int flags, int fd, long pos); } ommap 16772 NOARGS { int|sys||ovadvise(int anom); } vadvise 16873 NOARGS { int|sys||munmap(void *addr, size_t len); } 16974 NOARGS { int|sys||mprotect(void *addr, size_t len, \ 170 int prot); } 17175 NOARGS { int|sys||madvise(void *addr, size_t len, \ 172 int behav); } 17376 OBSOL vhangup 17477 OBSOL vlimit 17578 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 17679 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 17780 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 17881 NOARGS { int|sys||getpgrp(void); } 17982 NOARGS { int|sys||setpgid(int pid, int pgid); } 18083 NOARGS { int|compat_50_sys||setitimer(u_int which, \ 181 struct itimerval50 *itv, struct itimerval50 *oitv); } 18284 NOARGS { int|compat_43_sys||wait(void); } owait 18385 NOARGS { int|compat_12_sys||swapon(char *name); } 18486 NOARGS { int|compat_50_sys||getitimer(u_int which, \ 185 struct itimerval50 *itv); } 18687 NOARGS { int|compat_43_sys||gethostname(char *hostname, \ 187 u_int len); } ogethostname 18888 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 189 u_int len); } osethostname 19089 NOARGS { int|compat_43_sys||getdtablesize(void); } \ 191 ogetdtablesize 19290 NOARGS { int|sys||dup2(u_int from, u_int to); } 19391 UNIMPL getdopt 19492 NOARGS { int|sys||fcntl(int fd, int cmd, void *arg); } 19593 NOARGS { int|compat_50_sys||select(u_int nd, fd_set *in, \ 196 fd_set *ou, fd_set *ex, struct timeval50 *tv); } 19794 UNIMPL setdopt 19895 NOARGS { int|sys||fsync(int fd); } 19996 NOARGS { int|sys||setpriority(int which, int who, int prio); } 20097 NOARGS { int|compat_30_sys||socket(int domain, int type, int protocol); } 20198 NOARGS { int|sys||connect(int s, void *name, int namelen); } 20299 NOARGS { int|compat_43_sys||accept(int s, void *name, \ 203 int *anamelen); } oaccept 204100 NOARGS { int|sys||getpriority(int which, int who); } 205101 NOARGS { int|compat_43_sys||send(int s, void *buf, int len, \ 206 int flags); } osend 207102 NOARGS { int|compat_43_sys||recv(int s, void *buf, int len, \ 208 int flags); } orecv 209103 STD { int|freebsd_sys||sigreturn( \ 210 struct freebsd_sigcontext *scp); } 211104 NOARGS { int|sys||bind(int s, void *name, int namelen); } 212105 NOARGS { int|sys||setsockopt(int s, int level, int name, \ 213 void *val, int valsize); } 214106 NOARGS { int|sys||listen(int s, int backlog); } 215107 OBSOL vtimes 216108 NOARGS { int|compat_43_sys||sigvec(int signum, \ 217 struct sigvec *nsv, struct sigvec *osv); } osigvec 218109 NOARGS { int|compat_43_sys||sigblock(int mask); } osigblock 219110 NOARGS { int|compat_43_sys||sigsetmask(int mask); } osigsetmask 220111 NOARGS { int|compat_13_sys||sigsuspend(int mask); } 221112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \ 222 struct sigstack *oss); } osigstack 223113 NOARGS { int|compat_43_sys||recvmsg(int s, \ 224 struct omsghdr *msg, int flags); } orecvmsg 225114 NOARGS { int|compat_43_sys||sendmsg(int s, void *msg, \ 226 int flags); } osendmsg 227#ifdef TRACE 228115 NOARGS { int|sys||vtrace(int request, int value); } 229#else 230115 OBSOL vtrace 231#endif 232116 NOARGS { int|compat_50_sys||gettimeofday(struct timeval50 *tp, \ 233 struct timezone *tzp); } 234117 NOARGS { int|compat_50_sys||getrusage(int who, \ 235 struct rusage50 *rusage); } 236118 NOARGS { int|sys||getsockopt(int s, int level, int name, \ 237 void *val, int *avalsize); } 238119 OBSOL resuba 239120 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ 240 u_int iovcnt); } 241121 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ 242 u_int iovcnt); } 243122 NOARGS { int|compat_50_sys||settimeofday(struct timeval50 *tv, \ 244 struct timezone50 *tzp); } 245123 NOARGS { int|sys||fchown(int fd, int uid, int gid); } 246124 NOARGS { int|sys||fchmod(int fd, int mode); } 247125 NOARGS { int|compat_43_sys||recvfrom(int s, void *buf, \ 248 size_t len, int flags, void *from, \ 249 int *fromlenaddr); } orecvfrom 250126 NOARGS { int|sys||setreuid(int ruid, int euid); } 251127 NOARGS { int|sys||setregid(int rgid, int egid); } 252128 NOARGS { int|sys||rename(const char *from, const char *to); } 253129 NOARGS { int|compat_43_sys||truncate(const char *path, \ 254 long length); } otruncate 255130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } \ 256 oftruncate 257131 NOARGS { int|sys||flock(int fd, int how); } 258132 NOARGS { int|sys||mkfifo(const char *path, int mode); } 259133 NOARGS { int|sys||sendto(int s, void *buf, size_t len, \ 260 int flags, void *to, int tolen); } 261134 NOARGS { int|sys||shutdown(int s, int how); } 262135 NOARGS { int|sys||socketpair(int domain, int type, \ 263 int protocol, int *rsv); } 264136 NOARGS { int|sys||mkdir(const char *path, int mode); } 265137 NOARGS { int|sys||rmdir(const char *path); } 266138 NOARGS { int|compat_50_sys||utimes(char *path, \ 267 struct timeval50 *tptr); } 268139 OBSOL 4.2 sigreturn 269140 NOARGS { int|compat_50_sys||adjtime(struct timeval50 *delta, \ 270 struct timeval50 *olddelta); } 271141 NOARGS { int|compat_43_sys||getpeername(int fdes, void *asa, \ 272 int *alen); } ogetpeername 273142 NOARGS { int32_t|compat_43_sys||gethostid(void); } ogethostid 274143 NOARGS { int|compat_43_sys||sethostid(int32_t hostid); } \ 275 osethostid 276144 NOARGS { int|compat_43_sys||getrlimit(u_int which, \ 277 struct orlimit *rlp); } ogetrlimit 278145 NOARGS { int|compat_43_sys||setrlimit(u_int which, \ 279 struct orlimit *rlp); } osetrlimit 280146 NOARGS { int|compat_43_sys||killpg(int pgid, int signum); } \ 281 okillpg 282147 NOARGS { int|sys||setsid(void); } 283148 NOARGS { int|sys||quotactl(char *path, int cmd, int uid, \ 284 void *arg); } 285149 NOARGS { int|compat_43_sys||quota(void); } oquota 286150 NOARGS { int|compat_43_sys||getsockname(int fdec, void *asa, \ 287 int *alen); } ogetsockname 288 289; Syscalls 151-180 inclusive are reserved for vendor-specific 290; system calls. (This includes various calls added for compatibity 291; with other Unix variants.) 292; Some of these calls are now supported by BSD... 293151 UNIMPL sem_lock 294152 UNIMPL sem_wakeup 295153 UNIMPL asyncdaemon 296154 UNIMPL 297155 UNIMPL nfssvc 298156 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 299 u_int count, long *basep); } ogetdirentries 300157 NOARGS { int|compat_20_sys||statfs(const char *path, \ 301 struct statfs12 *buf); } 302158 NOARGS { int|compat_20_sys||fstatfs(int fd, \ 303 struct statfs12 *buf); } 304159 UNIMPL 305160 UNIMPL 306#ifdef NFS 307161 NOARGS { int|compat_30_sys||getfh(const char *fname, \ 308 struct compat_30_fhandle *fhp); } 309#else 310161 UNIMPL getfh 311#endif 312162 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \ 313 int len); } 314163 NOARGS { int|compat_09_sys||setdomainname(char *domainname, \ 315 int len); } 316164 NOARGS { int|compat_09_sys||uname(struct outsname *name); } 317165 NOARGS { int|sys||sysarch(int op, char *parms); } 318166 STD { int|freebsd_sys||rtprio(int function, pid_t pid, \ 319 struct freebsd_rtprio *rtp); } 320167 UNIMPL 321168 UNIMPL 322; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 323#if defined(SYSVSEM) && !defined(_LP64) 324169 STD { int|freebsd_sys||semsys(int which, int a2, int a3, \ 325 int a4, int a5); } 326#else 327169 UNIMPL 1.0 semsys 328#endif 329; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 330#if defined(SYSVMSG) && !defined(_LP64) 331170 STD { int|freebsd_sys||msgsys(int which, int a2, int a3, \ 332 int a4, int a5, int a6); } 333#else 334170 UNIMPL 1.0 msgsys 335#endif 336; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 337#if defined(SYSVSHM) && !defined(_LP64) 338171 STD { int|freebsd_sys||shmsys(int which, int a2, int a3, \ 339 int a4); } 340#else 341171 UNIMPL 1.0 shmsys 342#endif 343172 UNIMPL 344173 NOARGS { ssize_t|sys||pread(int fd, void *buf, \ 345 size_t nbyte, int pad, off_t offset); } 346174 NOARGS { ssize_t|sys||pwrite(int fd, const void *buf, \ 347 size_t nbyte, int pad, off_t offset); } 348175 UNIMPL 349#ifdef NTP 350176 STD { int|freebsd||ntp_adjtime(struct freebsd_timex *tp); } 351#else 352176 EXCL ntp_adjtime 353#endif 354177 UNIMPL sfork 355178 UNIMPL getdescriptor 356179 UNIMPL setdescriptor 357180 UNIMPL 358 359; Syscalls 180-199 are used by/reserved for BSD 360181 NOARGS { int|sys||setgid(gid_t gid); } 361182 NOARGS { int|sys||setegid(gid_t egid); } 362183 NOARGS { int|sys||seteuid(uid_t euid); } 363#ifdef LFS 364184 NOARGS { int|sys||lfs_bmapv(fsid_t *fsidp, \ 365 struct block_info *blkiov, int blkcnt); } 366185 NOARGS { int|sys||lfs_markv(fsid_t *fsidp, \ 367 struct block_info *blkiov, int blkcnt); } 368186 NOARGS { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); } 369187 NOARGS { int|compat_50_sys||lfs_segwait(fsid_t *fsidp, \ 370 struct timeval50 *tv); } 371#else 372184 UNIMPL 373185 UNIMPL 374186 UNIMPL 375187 UNIMPL 376#endif 377188 NOARGS { int|compat_12_sys||stat(const char *path, \ 378 struct stat12 *ub); } 379189 NOARGS { int|compat_12_sys||fstat(int fd, \ 380 struct stat12 *sb); } 381190 NOARGS { int|compat_12_sys||lstat(const char *path, \ 382 struct stat12 *ub); } 383191 NOARGS { int|sys||pathconf(const char *path, int name); } 384192 NOARGS { int|sys||fpathconf(int fd, int name); } 385193 UNIMPL 386194 NOARGS { int|sys||getrlimit(u_int which, struct rlimit *rlp); } 387195 NOARGS { int|sys||setrlimit(u_int which, struct rlimit *rlp); } 388196 NOARGS { int|compat_12_sys||getdirentries(int fd, char *buf, \ 389 u_int count, long *basep); } 390197 STD { void *|freebsd_sys||mmap(void *addr, size_t len, \ 391 int prot, int flags, int fd, long pad, off_t pos); } 392198 NOARGS { int|sys||nosys(void); } __syscall 393199 NOARGS { off_t|sys||lseek(int fd, int pad, off_t offset, \ 394 int whence); } 395200 NOARGS { int|sys||truncate(const char *path, int pad, \ 396 off_t length); } 397201 NOARGS { int|sys||ftruncate(int fd, int pad, off_t length); } 398202 STD { int|freebsd_sys||sysctl(int *name, u_int namelen, \ 399 void *old, size_t *oldlenp, void *new, \ 400 size_t newlen); } 401203 NOARGS { int|sys||mlock(void *addr, size_t len); } 402204 NOARGS { int|sys||munlock(void *addr, size_t len); } 403#ifdef FREEBSD_BASED_ON_44LITE_R2 404205 STD { int|freebsd_sys||undelete(char *path); } 405#else 406205 UNIMPL undelete 407#endif 408206 NOARGS { int|compat_50_sys||futimes(int fd, \ 409 const struct timeval50 *tptr); } 410207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 411#if 0 412208 NOARGS { int|sys||reboot(int opt, char *bootstr); } 413#else 414208 UNIMPL newreboot 415#endif 416209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 417 int timeout); } 418; 419; Syscalls 210-219 are reserved for dynamically loaded syscalls 420; 421210 UNIMPL 422211 UNIMPL 423212 UNIMPL 424213 UNIMPL 425214 UNIMPL 426215 UNIMPL 427216 UNIMPL 428217 UNIMPL 429218 UNIMPL 430219 UNIMPL 431; 432; Syscalls 220-239 are reserved for syscalls imported from NetBSD 433; 434#ifdef SYSVSEM 435220 NOARGS { int|compat_14_sys||__semctl(int semid, int semnum, \ 436 int cmd, union __semun *arg); } 437221 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 438222 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 439 u_int nsops); } 440223 NOARGS { int|sys||semconfig(int flag); } 441#else 442220 UNIMPL semctl 443221 UNIMPL semget 444222 UNIMPL semop 445223 UNIMPL semconfig 446#endif 447#ifdef SYSVMSG 448224 NOARGS { int|compat_14_sys||msgctl(int msqid, int cmd, \ 449 struct msqid14_ds *buf); } 450225 NOARGS { int|sys||msgget(key_t key, int msgflg); } 451226 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 452 int msgflg); } 453227 NOARGS { int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \ 454 long msgtyp, int msgflg); } 455#else 456224 UNIMPL msgctl 457225 UNIMPL msgget 458226 UNIMPL msgsnd 459227 UNIMPL msgrcv 460#endif 461#ifdef SYSVSHM 462228 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 463229 NOARGS { int|compat_14_sys||shmctl(int shmid, int cmd, \ 464 struct shmid_ds14 *buf); } 465230 NOARGS { int|sys||shmdt(void *shmaddr); } 466231 NOARGS { int|sys||shmget(key_t key, int size, int shmflg); } 467#else 468228 UNIMPL shmat 469229 UNIMPL shmctl 470230 UNIMPL shmdt 471231 UNIMPL shmget 472#endif 473; 474; XXXX 475232 NOARGS { int|compat_50_sys||clock_gettime(clockid_t clock_id, \ 476 struct timespec50 *tp); } 477233 NOARGS { int|compat_50_sys||clock_settime(clockid_t clock_id, \ 478 const struct timespec50 *tp); } 479234 NOARGS { int|compat_50_sys||clock_getres(clockid_t clock_id, \ 480 struct timespec50 *tp); } 481235 UNIMPL timer_create 482236 UNIMPL timer_delete 483237 UNIMPL timer_settime 484238 UNIMPL timer_gettime 485239 UNIMPL timer_getoverrun 486240 NOARGS { int|compat_50_sys||nanosleep( \ 487 const struct timespec50 *rqtp, \ 488 struct timespec50 *rmtp); } 489241 UNIMPL 490242 UNIMPL 491243 UNIMPL 492244 UNIMPL 493245 UNIMPL 494246 UNIMPL 495247 UNIMPL 496248 UNIMPL 497249 UNIMPL 498; syscall numbers initially used in OpenBSD 499250 NOARGS { int|sys||minherit(void *addr, size_t len, \ 500 int inherit); } 501251 STD { int|freebsd_sys||rfork(int flags); } 502252 UNIMPL openbsd_poll 503253 NOARGS { int|sys||issetugid(void); } 504254 NOARGS { int|sys||lchown(const char *path, int uid, int gid); } 505255 UNIMPL 506256 UNIMPL 507257 UNIMPL 508258 UNIMPL 509259 UNIMPL 510260 UNIMPL 511261 UNIMPL 512262 UNIMPL 513263 UNIMPL 514264 UNIMPL 515265 UNIMPL 516266 UNIMPL 517267 UNIMPL 518268 UNIMPL 519269 UNIMPL 520270 UNIMPL 521271 UNIMPL 522272 NOARGS { int|compat_30_sys||getdents(int fd, char *buf, size_t count); } 523273 UNIMPL 524274 NOARGS { int|sys||lchmod(const char *path, mode_t mode); } 525275 NOARGS { int|sys||lchown(const char *path, uid_t uid, \ 526 gid_t gid); } netbsd_lchown 527276 NOARGS { int|compat_50_sys||lutimes(const char *path, \ 528 const struct timeval50 *tptr); } 529277 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 530278 NOARGS { int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); } 531279 NOARGS { int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); } 532280 NOARGS { int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);} 533281 UNIMPL 534282 UNIMPL 535283 UNIMPL 536284 UNIMPL 537285 UNIMPL 538286 UNIMPL 539287 UNIMPL 540288 UNIMPL 541289 UNIMPL 542290 UNIMPL 543291 UNIMPL 544292 UNIMPL 545293 UNIMPL 546294 UNIMPL 547295 UNIMPL 548296 UNIMPL 549297 NOARGS { int|compat_20_sys||fhstatfs(const struct \ 550 compat_30_fhandle *fhp, \ 551 struct statfs12 *buf); } 552298 NOARGS { int|compat_30_sys||fhopen(const \ 553 struct compat_30_fhandle *fhp, int flags); } 554299 NOARGS { int|compat_30_sys||fhstat(const \ 555 struct cocmpat_30_fhandlez *fhp, \ 556 struct stat13 *sb); } 557; syscall numbers for FreeBSD 558300 UNIMPL modnext 559301 UNIMPL modstat 560302 UNIMPL modfnext 561303 UNIMPL modfind 562304 UNIMPL kldload 563305 UNIMPL kldunload 564306 UNIMPL kldfind 565307 UNIMPL kldnext 566308 UNIMPL kldstat 567309 UNIMPL kldfirstmod 568310 NOARGS { pid_t|sys||getsid(pid_t pid); } 569311 UNIMPL setresuid 570312 UNIMPL setresgid 571313 UNIMPL signanosleep 572314 UNIMPL aio_return 573315 UNIMPL aio_suspend 574316 UNIMPL aio_cancel 575317 UNIMPL aio_error 576318 UNIMPL aio_read 577319 UNIMPL aio_write 578320 UNIMPL lio_listio 579321 NOARGS { void|freebsd_sys||yield(void); } 580322 UNIMPL thr_sleep 581323 UNIMPL thr_wakeup 582324 NOARGS { int|sys||mlockall(int flags); } 583325 NOARGS { int|sys||munlockall(void); } 584326 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 585327 STD { int|freebsd_sys||sched_setparam(pid_t pid, \ 586 const struct freebsd_sched_param *sp); } 587328 STD { int|freebsd_sys||sched_getparam(pid_t pid, \ 588 struct freebsd_sched_param *sp); } 589329 STD { int|freebsd_sys||sched_setscheduler(pid_t pid, \ 590 int policy, const struct sched_param *sp); } 591330 STD { int|freebsd_sys||sched_getscheduler(pid_t pid); } 592331 STD { int|freebsd_sys||sched_yield(void); } 593332 STD { int|freebsd_sys||sched_get_priority_max(int policy); } 594333 STD { int|freebsd_sys||sched_get_priority_min(int policy); } 595334 UNIMPL sched_rr_get_interval 596335 STD { int|freebsd_sys||utrace(void *addr, size_t len); } 597336 UNIMPL sendfile 598337 UNIMPL kldsym 599338 UNIMPL jail 600339 UNIMPL pioctl 601340 NOARGS { int|sys|14|sigprocmask(int how, \ 602 const sigset_t *set, \ 603 sigset_t *oset); } 604341 NOARGS { int|sys|14|sigsuspend(const sigset_t *set); } 605342 STD { int|freebsd_sys||sigaction4(int signum, \ 606 const struct freebsd_sigaction4 *nsa, \ 607 struct freebsd_sigaction4 *osa); } 608343 NOARGS { int|sys|14|sigpending(const sigset_t *set); } 609344 UNIMPL 4.0 sigreturn 610345 UNIMPL sigtimedwait 611346 UNIMPL sigwaitinfo 612347 UNIMPL __acl_get_file 613348 UNIMPL __acl_set_file 614349 UNIMPL __acl_get_fd 615350 UNIMPL __acl_set_fd 616351 UNIMPL __acl_delete_file 617352 UNIMPL __acl_delete_fd 618353 UNIMPL __acl_aclcheck_file 619354 UNIMPL __acl_aclcheck_fd 620355 UNIMPL extattrctl 621356 UNIMPL extattr_set_file 622357 UNIMPL extattr_get_file 623358 UNIMPL extattr_delete_file 624359 UNIMPL aio_waitcomplete 625360 UNIMPL getresuid 626361 UNIMPL getresgid 627362 UNIMPL kqueue 628363 UNIMPL kevent 629364 UNIMPL __cap_get_proc 630365 UNIMPL __cap_set_proc 631366 UNIMPL __cap_get_fd 632367 UNIMPL __cap_get_file 633368 UNIMPL __cap_set_fd 634369 UNIMPL __cap_set_file 635370 UNIMPL lkmressym 636371 UNIMPL extattr_set_fd 637372 UNIMPL extattr_get_fd 638373 UNIMPL extattr_delete_fd 639374 UNIMPL __setugid 640375 UNIMPL nfsclnt 641376 UNIMPL eaccess 642377 UNIMPL afs_syscall 643378 UNIMPL nmount 644379 UNIMPL kse_exit 645380 UNIMPL kse_wakeup 646381 UNIMPL kse_create 647382 UNIMPL kse_thr_interrupt 648383 UNIMPL kse_release 649384 UNIMPL __mac_get_proc 650385 UNIMPL __mac_set_proc 651386 UNIMPL __mac_get_fd 652387 UNIMPL __mac_get_file 653388 UNIMPL __mac_set_fd 654389 UNIMPL __mac_set_file 655390 UNIMPL kenv 656391 NOARGS { int|sys||lchflags(const char *path, u_long flags); } 657392 NOARGS { int|sys||uuidgen(struct uuid *store, int count); } 658393 UNIMPL sendfile 659394 UNIMPL mac_syscall 660395 UNIMPL getfsstat 661396 UNIMPL statfs 662397 UNIMPL fsstatfs 663398 UNIMPL fhstatfs 664399 UNIMPL nosys 665#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL) 666400 NOARGS { int|sys||_ksem_close(intptr_t id); } 667401 NOARGS { int|sys||_ksem_post(intptr_t id); } 668402 NOARGS { int|sys||_ksem_wait(intptr_t id); } 669403 NOARGS { int|sys||_ksem_trywait(intptr_t id); } 670404 UNIMPL ksem_init 671405 UNIMPL ksem_open 672406 NOARGS { int|sys||_ksem_unlink(const char *name); } 673407 NOARGS { int|sys||_ksem_getvalue(intptr_t id, \ 674 unsigned int *value); } 675408 NOARGS { int|sys||_ksem_destroy(intptr_t id); } 676#else 677400 EXCL ksem_close 678401 EXCL ksem_post 679402 EXCL ksem_wait 680403 EXCL ksem_trywait 681404 EXCL ksem_init 682405 EXCL ksem_open 683406 EXCL ksem_unlink 684407 EXCL ksem_getvalue 685408 EXCL ksem_destroy 686#endif 687409 UNIMPL __mac_get_pid 688410 UNIMPL __mac_get_link 689411 UNIMPL __mac_set_link 690412 UNIMPL extattr_set_link 691413 UNIMPL extattr_get_link 692414 UNIMPL extattr_delete_link 693415 UNIMPL __mac_execve 694416 UNIMPL sigaction 695417 UNIMPL sigreturn 696418 UNIMPL __xstat 697419 UNIMPL __xfstat 698420 UNIMPL __xlstat 699421 UNIMPL getcontext 700422 UNIMPL setcontext 701423 UNIMPL swapcontext 702424 UNIMPL swapoff 703425 UNIMPL __acl_get_link 704426 UNIMPL __acl_set_link 705427 UNIMPL __acl_delete_link 706428 UNIMPL __acl_aclcheck_link 707429 UNIMPL sigwait 708430 UNIMPL thr_create 709431 UNIMPL thr_exit 710432 UNIMPL thr_self 711433 UNIMPL thr_kill 712434 UNIMPL _umtx_lock 713435 UNIMPL _umtx_unlock 714436 UNIMPL jail_attach 715437 UNIMPL extattr_list_fd 716438 UNIMPL extattr_list_file 717439 UNIMPL extattr_list_link 718