1 $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; 4; System call name/number master file. 5; Processed to created init_sysent.c, syscalls.c and syscall.h. 6 7; Columns: number [MPSAFE] type nargs namespc name alt{name,tag,rtyp}/comments 8; number system call number, must be in order 9; MPSAFE optional field, specifies that syscall does not want the 10; BGL grabbed automatically (it is SMP safe). 11; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, 12; NODEF, NOARGS, NOPROTO, NOIMPL 13; namespc one of POSIX, BSD, NOHIDE 14; name psuedo-prototype of syscall routine 15; If one of the following alts is different, then all appear: 16; altname name of system call if different 17; alttag name of args struct tag if different from [o]`name'"_args" 18; altrtyp return type if not int (bogus - syscalls always return int) 19; for UNIMPL/OBSOL, name continues with comments 20 21; types: 22; STD always included 23; COMPAT included on COMPAT #ifdef 24; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 25; OBSOL obsolete, not included in system, only specifies name 26; UNIMPL not implemented, placeholder only 27 28; #ifdef's, etc. may be included, and are copied to the output files. 29 30#include <sys/param.h> 31#include <sys/sysent.h> 32#include <sys/sysproto.h> 33 34; Reserved/unimplemented system calls in the range 0-150 inclusive 35; are reserved for use in future Berkeley releases. 36; Additional system calls implemented in vendor and other 37; redistributions should be placed in the reserved range at the end 38; of the current calls. 39 400 STD NOHIDE { int nosys(void); } syscall nosys_args int 411 STD NOHIDE { void sys_exit(int rval); } exit sys_exit_args void 422 STD POSIX { int fork(void); } 433 STD POSIX { ssize_t read(int fd, void *buf, size_t nbyte); } 444 STD POSIX { ssize_t write(int fd, const void *buf, size_t nbyte); } 455 STD POSIX { int open(char *path, int flags, int mode); } 46; XXX should be { int open(const char *path, int flags, ...); } 47; but we're not ready for `const' or varargs. 48; XXX man page says `mode_t mode'. 496 STD POSIX { int close(int fd); } 507 STD BSD { int wait4(int pid, int *status, int options, \ 51 struct rusage *rusage); } wait4 wait_args int 528 COMPAT BSD { int creat(char *path, int mode); } 539 STD POSIX { int link(char *path, char *link); } 5410 STD POSIX { int unlink(char *path); } 5511 OBSOL NOHIDE execv 5612 STD POSIX { int chdir(char *path); } 5713 STD BSD { int fchdir(int fd); } 5814 STD POSIX { int mknod(char *path, int mode, int dev); } 5915 STD POSIX { int chmod(char *path, int mode); } 6016 STD POSIX { int chown(char *path, int uid, int gid); } 6117 STD BSD { int obreak(char *nsize); } break obreak_args int 6218 STD BSD { int getfsstat(struct statfs *buf, long bufsize, \ 63 int flags); } 6419 COMPAT POSIX { long lseek(int fd, long offset, int whence); } 6520 STD POSIX { pid_t getpid(void); } 6621 STD BSD { int mount(char *type, char *path, int flags, \ 67 caddr_t data); } 68; XXX `path' should have type `const char *' but we're not ready for that. 6922 STD BSD { int unmount(char *path, int flags); } 7023 STD POSIX { int setuid(uid_t uid); } 7124 MPSAFE STD POSIX { uid_t getuid(void); } 7225 MPSAFE STD POSIX { uid_t geteuid(void); } 7326 STD BSD { int ptrace(int req, pid_t pid, caddr_t addr, \ 74 int data); } 7527 STD BSD { int recvmsg(int s, struct msghdr *msg, int flags); } 7628 STD BSD { int sendmsg(int s, caddr_t msg, int flags); } 7729 STD BSD { int recvfrom(int s, caddr_t buf, size_t len, \ 78 int flags, caddr_t from, int *fromlenaddr); } 7930 STD BSD { int accept(int s, caddr_t name, int *anamelen); } 8031 STD BSD { int getpeername(int fdes, caddr_t asa, int *alen); } 8132 STD BSD { int getsockname(int fdes, caddr_t asa, int *alen); } 8233 STD POSIX { int access(char *path, int flags); } 8334 STD BSD { int chflags(char *path, int flags); } 8435 STD BSD { int fchflags(int fd, int flags); } 8536 STD BSD { int sync(void); } 8637 STD POSIX { int kill(int pid, int signum); } 8738 COMPAT POSIX { int stat(char *path, struct ostat *ub); } 8839 STD POSIX { pid_t getppid(void); } 8940 COMPAT POSIX { int lstat(char *path, struct ostat *ub); } 9041 STD POSIX { int dup(u_int fd); } 9142 STD POSIX { int pipe(void); } 9243 STD POSIX { gid_t getegid(void); } 9344 STD BSD { int profil(caddr_t samples, size_t size, \ 94 size_t offset, u_int scale); } 9545 STD BSD { int ktrace(const char *fname, int ops, int facs, \ 96 int pid); } 9746 COMPAT POSIX { int sigaction(int signum, struct osigaction *nsa, \ 98 struct osigaction *osa); } 9947 MPSAFE STD POSIX { gid_t getgid(void); } 10048 MPSAFE COMPAT POSIX { int sigprocmask(int how, osigset_t mask); } 101; XXX note nonstandard (bogus) calling convention - the libc stub passes 102; us the mask, not a pointer to it, and we return the old mask as the 103; (int) return value. 10449 STD BSD { int getlogin(char *namebuf, u_int namelen); } 10550 STD BSD { int setlogin(char *namebuf); } 10651 STD BSD { int acct(char *path); } 10752 COMPAT POSIX { int sigpending(void); } 10853 STD BSD { int sigaltstack(stack_t *ss, stack_t *oss); } 10954 STD POSIX { int ioctl(int fd, u_long com, caddr_t data); } 11055 STD BSD { int reboot(int opt); } 11156 STD POSIX { int revoke(char *path); } 11257 STD POSIX { int symlink(char *path, char *link); } 11358 STD POSIX { int readlink(char *path, char *buf, int count); } 11459 STD POSIX { int execve(char *fname, char **argv, char **envv); } 11560 MPSAFE STD POSIX { int umask(int newmask); } umask umask_args int 11661 STD BSD { int chroot(char *path); } 11762 COMPAT POSIX { int fstat(int fd, struct ostat *sb); } 11863 COMPAT BSD { int getkerninfo(int op, char *where, size_t *size, \ 119 int arg); } getkerninfo getkerninfo_args int 12064 COMPAT BSD { int getpagesize(void); } \ 121 getpagesize getpagesize_args int 12265 STD BSD { int msync(void *addr, size_t len, int flags); } 12366 STD BSD { int vfork(void); } 12467 OBSOL NOHIDE vread 12568 OBSOL NOHIDE vwrite 12669 STD BSD { int sbrk(int incr); } 12770 STD BSD { int sstk(int incr); } 12871 COMPAT BSD { int mmap(void *addr, int len, int prot, \ 129 int flags, int fd, long pos); } 13072 STD BSD { int ovadvise(int anom); } vadvise ovadvise_args int 13173 STD BSD { int munmap(void *addr, size_t len); } 13274 STD BSD { int mprotect(const void *addr, size_t len, int prot); } 13375 STD BSD { int madvise(void *addr, size_t len, int behav); } 13476 OBSOL NOHIDE vhangup 13577 OBSOL NOHIDE vlimit 13678 STD BSD { int mincore(const void *addr, size_t len, \ 137 char *vec); } 13879 STD POSIX { int getgroups(u_int gidsetsize, gid_t *gidset); } 13980 STD POSIX { int setgroups(u_int gidsetsize, gid_t *gidset); } 14081 MPSAFE STD POSIX { int getpgrp(void); } 14182 STD POSIX { int setpgid(int pid, int pgid); } 14283 STD BSD { int setitimer(u_int which, struct itimerval *itv, \ 143 struct itimerval *oitv); } 14484 COMPAT BSD { int wait(void); } 14585 STD BSD { int swapon(char *name); } 14686 STD BSD { int getitimer(u_int which, struct itimerval *itv); } 14787 COMPAT BSD { int gethostname(char *hostname, u_int len); } \ 148 gethostname gethostname_args int 14988 COMPAT BSD { int sethostname(char *hostname, u_int len); } \ 150 sethostname sethostname_args int 15189 STD BSD { int getdtablesize(void); } 15290 STD POSIX { int dup2(u_int from, u_int to); } 15391 UNIMPL BSD getdopt 15492 STD POSIX { int fcntl(int fd, int cmd, long arg); } 155; XXX should be { int fcntl(int fd, int cmd, ...); } 156; but we're not ready for varargs. 157; XXX man page says `int arg' too. 15893 STD BSD { int select(int nd, fd_set *in, fd_set *ou, \ 159 fd_set *ex, struct timeval *tv); } 16094 UNIMPL BSD setdopt 16195 STD POSIX { int fsync(int fd); } 16296 STD BSD { int setpriority(int which, int who, int prio); } 16397 STD BSD { int socket(int domain, int type, int protocol); } 16498 STD BSD { int connect(int s, caddr_t name, int namelen); } 16599 CPT_NOA BSD { int accept(int s, caddr_t name, int *anamelen); } \ 166 accept accept_args int 167100 STD BSD { int getpriority(int which, int who); } 168101 COMPAT BSD { int send(int s, caddr_t buf, int len, int flags); } 169102 COMPAT BSD { int recv(int s, caddr_t buf, int len, int flags); } 170103 COMPAT BSD { int sigreturn(struct osigcontext *sigcntxp); } 171104 STD BSD { int bind(int s, caddr_t name, int namelen); } 172105 STD BSD { int setsockopt(int s, int level, int name, \ 173 caddr_t val, int valsize); } 174106 STD BSD { int listen(int s, int backlog); } 175107 OBSOL NOHIDE vtimes 176108 COMPAT BSD { int sigvec(int signum, struct sigvec *nsv, \ 177 struct sigvec *osv); } 178109 COMPAT BSD { int sigblock(int mask); } 179110 COMPAT BSD { int sigsetmask(int mask); } 180111 COMPAT POSIX { int sigsuspend(osigset_t mask); } 181; XXX note nonstandard (bogus) calling convention - the libc stub passes 182; us the mask, not a pointer to it. 183112 COMPAT BSD { int sigstack(struct sigstack *nss, \ 184 struct sigstack *oss); } 185113 COMPAT BSD { int recvmsg(int s, struct omsghdr *msg, int flags); } 186114 COMPAT BSD { int sendmsg(int s, caddr_t msg, int flags); } 187115 OBSOL NOHIDE vtrace 188116 MPSAFE STD BSD { int gettimeofday(struct timeval *tp, \ 189 struct timezone *tzp); } 190117 STD BSD { int getrusage(int who, struct rusage *rusage); } 191118 STD BSD { int getsockopt(int s, int level, int name, \ 192 caddr_t val, int *avalsize); } 193119 UNIMPL NOHIDE resuba (BSD/OS 2.x) 194120 STD BSD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 195121 STD BSD { int writev(int fd, struct iovec *iovp, \ 196 u_int iovcnt); } 197122 STD BSD { int settimeofday(struct timeval *tv, \ 198 struct timezone *tzp); } 199123 STD BSD { int fchown(int fd, int uid, int gid); } 200124 STD BSD { int fchmod(int fd, int mode); } 201125 CPT_NOA BSD { int recvfrom(int s, caddr_t buf, size_t len, \ 202 int flags, caddr_t from, int *fromlenaddr); } \ 203 recvfrom recvfrom_args int 204126 STD BSD { int setreuid(int ruid, int euid); } 205127 STD BSD { int setregid(int rgid, int egid); } 206128 STD POSIX { int rename(char *from, char *to); } 207129 COMPAT BSD { int truncate(char *path, long length); } 208130 COMPAT BSD { int ftruncate(int fd, long length); } 209131 STD BSD { int flock(int fd, int how); } 210132 STD POSIX { int mkfifo(char *path, int mode); } 211133 STD BSD { int sendto(int s, caddr_t buf, size_t len, \ 212 int flags, caddr_t to, int tolen); } 213134 STD BSD { int shutdown(int s, int how); } 214135 STD BSD { int socketpair(int domain, int type, int protocol, \ 215 int *rsv); } 216136 STD POSIX { int mkdir(char *path, int mode); } 217137 STD POSIX { int rmdir(char *path); } 218138 STD BSD { int utimes(char *path, struct timeval *tptr); } 219139 OBSOL NOHIDE 4.2 sigreturn 220140 STD BSD { int adjtime(struct timeval *delta, \ 221 struct timeval *olddelta); } 222141 COMPAT BSD { int getpeername(int fdes, caddr_t asa, int *alen); } 223142 COMPAT BSD { long gethostid(void); } 224143 COMPAT BSD { int sethostid(long hostid); } 225144 COMPAT BSD { int getrlimit(u_int which, struct orlimit *rlp); } 226145 COMPAT BSD { int setrlimit(u_int which, struct orlimit *rlp); } 227146 COMPAT BSD { int killpg(int pgid, int signum); } 228147 STD POSIX { int setsid(void); } 229148 STD BSD { int quotactl(char *path, int cmd, int uid, \ 230 caddr_t arg); } 231149 COMPAT BSD { int quota(void); } 232150 CPT_NOA BSD { int getsockname(int fdec, caddr_t asa, int *alen); }\ 233 getsockname getsockname_args int 234 235; Syscalls 151-180 inclusive are reserved for vendor-specific 236; system calls. (This includes various calls added for compatibity 237; with other Unix variants.) 238; Some of these calls are now supported by BSD... 239151 UNIMPL NOHIDE sem_lock (BSD/OS 2.x) 240152 UNIMPL NOHIDE sem_wakeup (BSD/OS 2.x) 241153 UNIMPL NOHIDE asyncdaemon (BSD/OS 2.x) 242154 UNIMPL NOHIDE nosys 243; 155 is initialized by the NFS code, if present. 244155 NOIMPL BSD { int nfssvc(int flag, caddr_t argp); } 245156 COMPAT BSD { int getdirentries(int fd, char *buf, u_int count, \ 246 long *basep); } 247157 STD BSD { int statfs(char *path, struct statfs *buf); } 248158 STD BSD { int fstatfs(int fd, struct statfs *buf); } 249159 UNIMPL NOHIDE nosys 250160 UNIMPL NOHIDE nosys 251; 161 is initialized by the NFS code, if present. 252161 STD BSD { int getfh(char *fname, struct fhandle *fhp); } 253162 STD BSD { int getdomainname(char *domainname, int len); } 254163 STD BSD { int setdomainname(char *domainname, int len); } 255164 STD BSD { int uname(struct utsname *name); } 256165 STD BSD { int sysarch(int op, char *parms); } 257166 STD BSD { int rtprio(int function, pid_t pid, \ 258 struct rtprio *rtp); } 259167 UNIMPL NOHIDE nosys 260168 UNIMPL NOHIDE nosys 261169 STD BSD { int semsys(int which, int a2, int a3, int a4, \ 262 int a5); } 263; XXX should be { int semsys(int which, ...); } 264170 STD BSD { int msgsys(int which, int a2, int a3, int a4, \ 265 int a5, int a6); } 266; XXX should be { int msgsys(int which, ...); } 267171 STD BSD { int shmsys(int which, int a2, int a3, int a4); } 268; XXX should be { int shmsys(int which, ...); } 269172 UNIMPL NOHIDE nosys 270173 STD POSIX { ssize_t pread(int fd, void *buf, size_t nbyte, \ 271 int pad, off_t offset); } 272174 STD POSIX { ssize_t pwrite(int fd, const void *buf, \ 273 size_t nbyte, int pad, off_t offset); } 274175 UNIMPL NOHIDE nosys 275176 STD BSD { int ntp_adjtime(struct timex *tp); } 276177 UNIMPL NOHIDE sfork (BSD/OS 2.x) 277178 UNIMPL NOHIDE getdescriptor (BSD/OS 2.x) 278179 UNIMPL NOHIDE setdescriptor (BSD/OS 2.x) 279180 UNIMPL NOHIDE nosys 280 281; Syscalls 181-199 are used by/reserved for BSD 282181 STD POSIX { int setgid(gid_t gid); } 283182 STD BSD { int setegid(gid_t egid); } 284183 STD BSD { int seteuid(uid_t euid); } 285184 UNIMPL BSD lfs_bmapv 286185 UNIMPL BSD lfs_markv 287186 UNIMPL BSD lfs_segclean 288187 UNIMPL BSD lfs_segwait 289188 STD POSIX { int stat(char *path, struct stat *ub); } 290189 STD POSIX { int fstat(int fd, struct stat *sb); } 291190 STD POSIX { int lstat(char *path, struct stat *ub); } 292191 STD POSIX { int pathconf(char *path, int name); } 293192 STD POSIX { int fpathconf(int fd, int name); } 294193 UNIMPL NOHIDE nosys 295194 STD BSD { int getrlimit(u_int which, \ 296 struct rlimit *rlp); } \ 297 getrlimit __getrlimit_args int 298195 STD BSD { int setrlimit(u_int which, \ 299 struct rlimit *rlp); } \ 300 setrlimit __setrlimit_args int 301196 STD BSD { int getdirentries(int fd, char *buf, u_int count, \ 302 long *basep); } 303197 STD BSD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 304 int flags, int fd, int pad, off_t pos); } 305198 STD NOHIDE { int nosys(void); } __syscall __syscall_args int 306199 STD POSIX { off_t lseek(int fd, int pad, off_t offset, \ 307 int whence); } 308200 STD BSD { int truncate(char *path, int pad, off_t length); } 309201 STD BSD { int ftruncate(int fd, int pad, off_t length); } 310202 STD BSD { int __sysctl(int *name, u_int namelen, void *old, \ 311 size_t *oldlenp, void *new, size_t newlen); } \ 312 __sysctl sysctl_args int 313; properly, __sysctl should be a NOHIDE, but making an exception 314; here allows to avoid one in libc/sys/Makefile.inc. 315203 STD BSD { int mlock(const void *addr, size_t len); } 316204 STD BSD { int munlock(const void *addr, size_t len); } 317205 STD BSD { int undelete(char *path); } 318206 STD BSD { int futimes(int fd, struct timeval *tptr); } 319207 STD BSD { int getpgid(pid_t pid); } 320208 UNIMPL NOHIDE newreboot (NetBSD) 321209 STD BSD { int poll(struct pollfd *fds, u_int nfds, \ 322 int timeout); } 323 324; 325; The following are reserved for loadable syscalls 326; 327210 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 328211 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 329212 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 330213 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 331214 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 332215 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 333216 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 334217 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 335218 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 336219 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 337 338; 339; The following were introduced with NetBSD/4.4Lite-2 340; 341220 STD BSD { int __semctl(int semid, int semnum, int cmd, \ 342 union semun *arg); } 343221 STD BSD { int semget(key_t key, int nsems, int semflg); } 344222 STD BSD { int semop(int semid, struct sembuf *sops, \ 345 u_int nsops); } 346223 UNIMPL NOHIDE semconfig 347224 STD BSD { int msgctl(int msqid, int cmd, \ 348 struct msqid_ds *buf); } 349225 STD BSD { int msgget(key_t key, int msgflg); } 350226 STD BSD { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 351 int msgflg); } 352227 STD BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 353 long msgtyp, int msgflg); } 354228 STD BSD { int shmat(int shmid, void *shmaddr, int shmflg); } 355229 STD BSD { int shmctl(int shmid, int cmd, \ 356 struct shmid_ds *buf); } 357230 STD BSD { int shmdt(void *shmaddr); } 358231 STD BSD { int shmget(key_t key, int size, int shmflg); } 359; 360232 STD POSIX { int clock_gettime(clockid_t clock_id, \ 361 struct timespec *tp); } 362233 STD POSIX { int clock_settime(clockid_t clock_id, \ 363 const struct timespec *tp); } 364234 STD POSIX { int clock_getres(clockid_t clock_id, \ 365 struct timespec *tp); } 366235 UNIMPL NOHIDE timer_create 367236 UNIMPL NOHIDE timer_delete 368237 UNIMPL NOHIDE timer_settime 369238 UNIMPL NOHIDE timer_gettime 370239 UNIMPL NOHIDE timer_getoverrun 371240 STD POSIX { int nanosleep(const struct timespec *rqtp, \ 372 struct timespec *rmtp); } 373241 UNIMPL NOHIDE nosys 374242 UNIMPL NOHIDE nosys 375243 UNIMPL NOHIDE nosys 376244 UNIMPL NOHIDE nosys 377245 UNIMPL NOHIDE nosys 378246 UNIMPL NOHIDE nosys 379247 UNIMPL NOHIDE nosys 380248 UNIMPL NOHIDE nosys 381249 UNIMPL NOHIDE nosys 382; syscall numbers initially used in OpenBSD 383250 STD BSD { int minherit(void *addr, size_t len, int inherit); } 384251 STD BSD { int rfork(int flags); } 385252 STD BSD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 386 int timeout); } 387253 STD BSD { int issetugid(void); } 388254 STD BSD { int lchown(char *path, int uid, int gid); } 389255 UNIMPL NOHIDE nosys 390256 UNIMPL NOHIDE nosys 391257 UNIMPL NOHIDE nosys 392258 UNIMPL NOHIDE nosys 393259 UNIMPL NOHIDE nosys 394260 UNIMPL NOHIDE nosys 395261 UNIMPL NOHIDE nosys 396262 UNIMPL NOHIDE nosys 397263 UNIMPL NOHIDE nosys 398264 UNIMPL NOHIDE nosys 399265 UNIMPL NOHIDE nosys 400266 UNIMPL NOHIDE nosys 401267 UNIMPL NOHIDE nosys 402268 UNIMPL NOHIDE nosys 403269 UNIMPL NOHIDE nosys 404270 UNIMPL NOHIDE nosys 405271 UNIMPL NOHIDE nosys 406272 STD BSD { int getdents(int fd, char *buf, size_t count); } 407273 UNIMPL NOHIDE nosys 408274 STD BSD { int lchmod(char *path, mode_t mode); } 409275 NOPROTO BSD { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 410276 STD BSD { int lutimes(char *path, struct timeval *tptr); } 411277 NOPROTO BSD { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 412278 STD BSD { int nstat(char *path, struct nstat *ub); } 413279 STD BSD { int nfstat(int fd, struct nstat *sb); } 414280 STD BSD { int nlstat(char *path, struct nstat *ub); } 415281 UNIMPL NOHIDE nosys 416282 UNIMPL NOHIDE nosys 417283 UNIMPL NOHIDE nosys 418284 UNIMPL NOHIDE nosys 419285 UNIMPL NOHIDE nosys 420286 UNIMPL NOHIDE nosys 421287 UNIMPL NOHIDE nosys 422288 UNIMPL NOHIDE nosys 423289 UNIMPL NOHIDE nosys 424290 UNIMPL NOHIDE nosys 425291 UNIMPL NOHIDE nosys 426292 UNIMPL NOHIDE nosys 427293 UNIMPL NOHIDE nosys 428294 UNIMPL NOHIDE nosys 429295 UNIMPL NOHIDE nosys 430296 UNIMPL NOHIDE nosys 431; XXX 297 is 300 in NetBSD 432297 STD BSD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 433298 STD BSD { int fhopen(const struct fhandle *u_fhp, int flags); } 434299 STD BSD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 435; syscall numbers for FreeBSD 436300 STD BSD { int modnext(int modid); } 437301 STD BSD { int modstat(int modid, struct module_stat* stat); } 438302 STD BSD { int modfnext(int modid); } 439303 STD BSD { int modfind(const char *name); } 440304 STD BSD { int kldload(const char *file); } 441305 STD BSD { int kldunload(int fileid); } 442306 STD BSD { int kldfind(const char *file); } 443307 STD BSD { int kldnext(int fileid); } 444308 STD BSD { int kldstat(int fileid, struct kld_file_stat* stat); } 445309 STD BSD { int kldfirstmod(int fileid); } 446310 STD BSD { int getsid(pid_t pid); } 447311 STD BSD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 448312 STD BSD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 449313 OBSOL NOHIDE signanosleep 450314 STD BSD { int aio_return(struct aiocb *aiocbp); } 451315 STD BSD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 452316 STD BSD { int aio_cancel(int fd, struct aiocb *aiocbp); } 453317 STD BSD { int aio_error(struct aiocb *aiocbp); } 454318 STD BSD { int aio_read(struct aiocb *aiocbp); } 455319 STD BSD { int aio_write(struct aiocb *aiocbp); } 456320 STD BSD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 457321 STD BSD { int yield(void); } 458322 STD BSD { int thr_sleep(const struct timespec *timeout); } 459323 STD BSD { int thr_wakeup(pid_t pid); } 460324 STD BSD { int mlockall(int how); } 461325 STD BSD { int munlockall(void); } 462326 STD BSD { int __getcwd(u_char *buf, u_int buflen); } 463 464327 STD POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); } 465328 STD POSIX { int sched_getparam (pid_t pid, struct sched_param *param); } 466 467329 STD POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 468330 STD POSIX { int sched_getscheduler (pid_t pid); } 469 470331 STD POSIX { int sched_yield (void); } 471332 STD POSIX { int sched_get_priority_max (int policy); } 472333 STD POSIX { int sched_get_priority_min (int policy); } 473334 STD POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 474335 STD BSD { int utrace(const void *addr, size_t len); } 475336 COMPAT BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 476 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 477337 STD BSD { int kldsym(int fileid, int cmd, void *data); } 478338 STD BSD { int jail(struct jail *jail); } 479339 UNIMPL BSD pioctl 480340 MPSAFE STD POSIX { int sigprocmask(int how, const sigset_t *set, \ 481 sigset_t *oset); } 482341 STD POSIX { int sigsuspend(const sigset_t *sigmask); } 483342 STD POSIX { int sigaction(int sig, const struct sigaction *act, \ 484 struct sigaction *oact); } 485343 STD POSIX { int sigpending(sigset_t *set); } 486344 STD BSD { int sigreturn(ucontext_t *sigcntxp); } 487345 UNIMPL NOHIDE sigtimedwait 488346 UNIMPL NOHIDE sigwaitinfo 489347 STD BSD { int __acl_get_file(const char *path, \ 490 acl_type_t type, struct acl *aclp); } 491348 STD BSD { int __acl_set_file(const char *path, \ 492 acl_type_t type, struct acl *aclp); } 493349 STD BSD { int __acl_get_fd(int filedes, acl_type_t type, \ 494 struct acl *aclp); } 495350 STD BSD { int __acl_set_fd(int filedes, acl_type_t type, \ 496 struct acl *aclp); } 497351 STD BSD { int __acl_delete_file(const char *path, \ 498 acl_type_t type); } 499352 STD BSD { int __acl_delete_fd(int filedes, acl_type_t type); } 500353 STD BSD { int __acl_aclcheck_file(const char *path, \ 501 acl_type_t type, struct acl *aclp); } 502354 STD BSD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 503 struct acl *aclp); } 504355 STD BSD { int extattrctl(const char *path, int cmd, \ 505 const char *attrname, char *arg); } 506356 STD BSD { int extattr_set_file(const char *path, \ 507 const char *attrname, struct iovec *iovp, \ 508 unsigned iovcnt); } 509357 STD BSD { int extattr_get_file(const char *path, \ 510 const char *attrname, struct iovec *iovp, \ 511 unsigned iovcnt); } 512358 STD BSD { int extattr_delete_file(const char *path, \ 513 const char *attrname); } 514359 STD BSD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 515360 STD BSD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 516361 STD BSD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 517362 STD BSD { int kqueue(void); } 518363 STD BSD { int kevent(int fd, \ 519 const struct kevent *changelist, int nchanges, \ 520 struct kevent *eventlist, int nevents, \ 521 const struct timespec *timeout); } 522 523364 UNIMPL NOHIDE nosys 524365 UNIMPL NOHIDE nosys 525366 UNIMPL NOHIDE nosys 526367 UNIMPL NOHIDE nosys 527368 UNIMPL NOHIDE nosys 528369 UNIMPL NOHIDE nosys 529370 UNIMPL NOHIDE nosys 530371 UNIMPL NOHIDE nosys 531372 UNIMPL NOHIDE nosys 532373 UNIMPL NOHIDE nosys 533374 UNIMPL NOHIDE nosys 534375 UNIMPL NOHIDE nosys 535376 UNIMPL NOHIDE nosys 536377 UNIMPL NOHIDE nosys 537378 UNIMPL NOHIDE nosys 538379 UNIMPL NOHIDE nosys 539380 UNIMPL NOHIDE nosys 540381 UNIMPL NOHIDE nosys 541382 UNIMPL NOHIDE nosys 542383 UNIMPL NOHIDE nosys 543384 UNIMPL NOHIDE nosys 544385 UNIMPL NOHIDE nosys 545386 UNIMPL NOHIDE nosys 546387 UNIMPL NOHIDE nosys 547388 UNIMPL NOHIDE nosys 548389 UNIMPL NOHIDE nosys 549390 UNIMPL NOHIDE nosys 550391 UNIMPL NOHIDE nosys 551392 UNIMPL NOHIDE nosys 552393 STD BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 553 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 554