syscalls.master revision 123416
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 123416 2003-12-10 22:33:27Z peter $ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; from: src/sys/kern/syscalls.master 1.107 4; 5; System call name/number master file. 6; Processed to created init_sysent.c, syscalls.c and syscall.h. 7 8; Columns: number [M]type nargs namespc name alt{name,tag,rtyp}/comments 9; number system call number, must be in order 10; type one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA, 11; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL, 12; [M]NOSTD 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; [M] e.g. like MSTD -- means the system call is MP-safe. If no 23; M prefix is used, the syscall wrapper will obtain the Giant 24; lock for the syscall. 25; STD always included 26; COMPAT included on COMPAT #ifdef 27; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 28; OBSOL obsolete, not included in system, only specifies name 29; UNIMPL not implemented, placeholder only 30; NOSTD implemented but as a lkm that can be statically 31; compiled in sysent entry will be filled with lkmsys 32; so the SYSCALL_MODULE macro works 33 34; #ifdef's, etc. may be included, and are copied to the output files. 35 36#include <sys/param.h> 37#include <sys/sysent.h> 38#include <sys/sysproto.h> 39#include <sys/mount.h> 40#include <compat/freebsd32/freebsd32.h> 41#include <compat/freebsd32/freebsd32_proto.h> 42 43; Reserved/unimplemented system calls in the range 0-150 inclusive 44; are reserved for use in future Berkeley releases. 45; Additional system calls implemented in vendor and other 46; redistributions should be placed in the reserved range at the end 47; of the current calls. 48 490 MNOPROTO NOHIDE { int nosys(void); } syscall nosys_args int 501 MNOPROTO NOHIDE { void sys_exit(int rval); } exit sys_exit_args void 512 MNOPROTO POSIX { int fork(void); } 523 MNOPROTO POSIX { ssize_t read(int fd, void *buf, size_t nbyte); } 534 MNOPROTO POSIX { ssize_t write(int fd, const void *buf, size_t nbyte); } 545 STD POSIX { int freebsd32_open(char *path, int flags, int mode); } 55; XXX should be { int open(const char *path, int flags, ...); } 56; but we're not ready for `const' or varargs. 57; XXX man page says `mode_t mode'. 586 MNOPROTO POSIX { int close(int fd); } 597 MSTD BSD { int freebsd32_wait4(int pid, int *status, int options, \ 60 struct rusage32 *rusage); } 618 OBSOL BSD old creat 629 NOPROTO POSIX { int link(char *path, char *link); } 6310 NOPROTO POSIX { int unlink(char *path); } 6411 OBSOL NOHIDE execv 6512 NOPROTO POSIX { int chdir(char *path); } 6613 NOPROTO BSD { int fchdir(int fd); } 6714 NOPROTO POSIX { int mknod(char *path, int mode, int dev); } 6815 NOPROTO POSIX { int chmod(char *path, int mode); } 6916 NOPROTO POSIX { int chown(char *path, int uid, int gid); } 7017 MNOPROTO BSD { int obreak(char *nsize); } break obreak_args int 7118 STD BSD { int freebsd32_getfsstat(struct statfs32 *buf, \ 72 long bufsize, int flags); } 7319 OBSOL POSIX olseek 7420 MNOPROTO POSIX { pid_t getpid(void); } 7521 NOPROTO BSD { int mount(char *type, char *path, int flags, \ 76 caddr_t data); } 77; XXX `path' should have type `const char *' but we're not ready for that. 7822 NOPROTO BSD { int unmount(char *path, int flags); } 7923 MNOPROTO POSIX { int setuid(uid_t uid); } 8024 MNOPROTO POSIX { uid_t getuid(void); } 8125 MNOPROTO POSIX { uid_t geteuid(void); } 8226 MNOPROTO BSD { int ptrace(int req, pid_t pid, caddr_t addr, \ 83 int data); } 84; XXX implement 8527 UNIMPL BSD recvmsg 8628 MNOPROTO BSD { int sendmsg(int s, caddr_t msg, int flags); } 8729 MNOPROTO BSD { int recvfrom(int s, caddr_t buf, size_t len, \ 88 int flags, caddr_t from, int *fromlenaddr); } 8930 MNOPROTO BSD { int accept(int s, caddr_t name, int *anamelen); } 9031 MNOPROTO BSD { int getpeername(int fdes, caddr_t asa, int *alen); } 9132 MNOPROTO BSD { int getsockname(int fdes, caddr_t asa, int *alen); } 9233 STD POSIX { int freebsd32_access(char *path, int flags); } 9334 STD BSD { int freebsd32_chflags(char *path, int flags); } 9435 NOPROTO BSD { int fchflags(int fd, int flags); } 9536 NOPROTO BSD { int sync(void); } 9637 MNOPROTO POSIX { int kill(int pid, int signum); } 9738 UNIMPL POSIX ostat 9839 MNOPROTO POSIX { pid_t getppid(void); } 9940 UNIMPL POSIX olstat 10041 MNOPROTO POSIX { int dup(u_int fd); } 10142 MNOPROTO POSIX { int pipe(void); } 10243 MNOPROTO POSIX { gid_t getegid(void); } 10344 MNOPROTO BSD { int profil(caddr_t samples, size_t size, \ 104 size_t offset, u_int scale); } 10545 MNOPROTO BSD { int ktrace(const char *fname, int ops, int facs, \ 106 int pid); } 10746 UNIMPL POSIX osigaction 10847 MNOPROTO POSIX { gid_t getgid(void); } 10948 UNIMPL POSIX osigprocmask 11049 MNOPROTO BSD { int getlogin(char *namebuf, u_int namelen); } 11150 MNOPROTO BSD { int setlogin(char *namebuf); } 11251 MNOPROTO BSD { int acct(char *path); } 11352 OBSOL POSIX osigpending 11453 MSTD BSD { int freebsd32_sigaltstack(struct sigaltstack32 *ss, \ 115 struct sigaltstack32 *oss); } 11654 MNOPROTO POSIX { int ioctl(int fd, u_long com, caddr_t data); } 11755 MNOPROTO BSD { int reboot(int opt); } 11856 NOPROTO POSIX { int revoke(char *path); } 11957 NOPROTO POSIX { int symlink(char *path, char *link); } 12058 NOPROTO POSIX { int readlink(char *path, char *buf, int count); } 12159 STD POSIX { int freebsd32_execve(char *fname, u_int32_t *argv, \ 122 u_int32_t *envv); } 12360 MNOPROTO POSIX { int umask(int newmask); } umask umask_args int 12461 NOPROTO BSD { int chroot(char *path); } 12562 OBSOL POSIX ofstat 12663 OBSOL BSD ogetkerninfo 12764 OBSOL BSD ogetpagesize 128; XXX implement (not OBSOL at all) 12965 OBSOL BSD omsync 13066 MNOPROTO BSD { int vfork(void); } 13167 OBSOL NOHIDE vread 13268 OBSOL NOHIDE vwrite 13369 MNOPROTO BSD { int sbrk(int incr); } 13470 MNOPROTO BSD { int sstk(int incr); } 13571 OBSOL BSD ommap 13672 MNOPROTO BSD { int ovadvise(int anom); } vadvise ovadvise_args int 13773 MNOPROTO BSD { int munmap(void *addr, size_t len); } 13874 MNOPROTO BSD { int mprotect(const void *addr, size_t len, \ 139 int prot); } 14075 MNOPROTO BSD { int madvise(void *addr, size_t len, int behav); } 14176 OBSOL NOHIDE vhangup 14277 OBSOL NOHIDE vlimit 14378 MNOPROTO BSD { int mincore(const void *addr, size_t len, \ 144 char *vec); } 14579 MNOPROTO POSIX { int getgroups(u_int gidsetsize, gid_t *gidset); } 14680 MNOPROTO POSIX { int setgroups(u_int gidsetsize, gid_t *gidset); } 14781 MNOPROTO POSIX { int getpgrp(void); } 14882 MNOPROTO POSIX { int setpgid(int pid, int pgid); } 14983 STD BSD { int freebsd32_setitimer(u_int which, \ 150 struct itimerval32 *itv, \ 151 struct itimerval32 *oitv); } 15284 OBSOL BSD owait 153; XXX implement 15485 OBSOL BSD oswapon 155; XXX implement 15686 OBSOL BSD ogetitimer 15787 OBSOL BSD ogethostname 15888 OBSOL BSD osethostname 15989 MNOPROTO BSD { int getdtablesize(void); } 16090 MNOPROTO POSIX { int dup2(u_int from, u_int to); } 16191 UNIMPL BSD getdopt 16292 MNOPROTO POSIX { int fcntl(int fd, int cmd, long arg); } 163; XXX should be { int fcntl(int fd, int cmd, ...); } 164; but we're not ready for varargs. 165; XXX man page says `int arg' too. 16693 STD BSD { int freebsd32_select(int nd, fd_set *in, fd_set *ou, \ 167 fd_set *ex, struct timeval32 *tv); } 168; XXX need to override for big-endian - little-endian should work fine. 16994 UNIMPL BSD setdopt 17095 NOPROTO POSIX { int fsync(int fd); } 17196 MNOPROTO BSD { int setpriority(int which, int who, int prio); } 17297 MNOPROTO BSD { int socket(int domain, int type, int protocol); } 17398 MNOPROTO BSD { int connect(int s, caddr_t name, int namelen); } 17499 OBSOL BSD oaccept 175100 MNOPROTO BSD { int getpriority(int which, int who); } 176101 OBSOL BSD osend 177102 OBSOL BSD orecv 178103 OBSOL BSD osigreturn 179104 MNOPROTO BSD { int bind(int s, caddr_t name, int namelen); } 180105 MNOPROTO BSD { int setsockopt(int s, int level, int name, \ 181 caddr_t val, int valsize); } 182106 MNOPROTO BSD { int listen(int s, int backlog); } 183107 OBSOL NOHIDE vtimes 184108 OBSOL BSD osigvec 185109 OBSOL BSD osigblock 186110 OBSOL BSD osigsetmask 187111 OBSOL POSIX osigsuspend 188112 OBSOL BSD osigstack 189113 OBSOL BSD orecvmsg 190114 OBSOL BSD osendmsg 191115 OBSOL NOHIDE vtrace 192116 STD BSD { int freebsd32_gettimeofday(struct timeval32 *tp, \ 193 struct timezone *tzp); } 194117 STD BSD { int freebsd32_getrusage(int who, \ 195 struct rusage32 *rusage); } 196118 MNOPROTO BSD { int getsockopt(int s, int level, int name, \ 197 caddr_t val, int *avalsize); } 198119 UNIMPL NOHIDE resuba (BSD/OS 2.x) 199120 STD BSD { int freebsd32_readv(int fd, struct iovec32 *iovp, \ 200 u_int iovcnt); } 201121 STD BSD { int freebsd32_writev(int fd, struct iovec32 *iovp, \ 202 u_int iovcnt); } 203122 STD BSD { int freebsd32_settimeofday(struct timeval32 *tv, \ 204 struct timezone *tzp); } 205123 NOPROTO BSD { int fchown(int fd, int uid, int gid); } 206124 NOPROTO BSD { int fchmod(int fd, int mode); } 207125 OBSOL BSD orecvfrom 208126 MNOPROTO BSD { int setreuid(int ruid, int euid); } 209127 MNOPROTO BSD { int setregid(int rgid, int egid); } 210128 NOPROTO POSIX { int rename(char *from, char *to); } 211129 OBSOL BSD otruncate 212130 OBSOL BSD ftruncate 213131 MNOPROTO BSD { int flock(int fd, int how); } 214132 NOPROTO POSIX { int mkfifo(char *path, int mode); } 215133 MNOPROTO BSD { int sendto(int s, caddr_t buf, size_t len, \ 216 int flags, caddr_t to, int tolen); } 217134 MNOPROTO BSD { int shutdown(int s, int how); } 218135 MNOPROTO BSD { int socketpair(int domain, int type, int protocol, \ 219 int *rsv); } 220136 NOPROTO POSIX { int mkdir(char *path, int mode); } 221137 NOPROTO POSIX { int rmdir(char *path); } 222138 STD BSD { int freebsd32_utimes(char *path, \ 223 struct timeval32 *tptr); } 224139 OBSOL NOHIDE 4.2 sigreturn 225140 STD BSD { int freebsd32_adjtime(struct timeval32 *delta, \ 226 struct timeval32 *olddelta); } 227141 OBSOL BSD ogetpeername 228142 OBSOL BSD ogethostid 229143 OBSOL BSD sethostid 230144 OBSOL BSD getrlimit 231145 OBSOL BSD setrlimit 232146 OBSOL BSD killpg 233147 MNOPROTO POSIX { int setsid(void); } 234148 NOPROTO BSD { int quotactl(char *path, int cmd, int uid, \ 235 caddr_t arg); } 236149 OBSOL BSD oquota 237150 OBSOL BSD ogetsockname 238 239; Syscalls 151-180 inclusive are reserved for vendor-specific 240; system calls. (This includes various calls added for compatibity 241; with other Unix variants.) 242; Some of these calls are now supported by BSD... 243151 UNIMPL NOHIDE sem_lock (BSD/OS 2.x) 244152 UNIMPL NOHIDE sem_wakeup (BSD/OS 2.x) 245153 UNIMPL NOHIDE asyncdaemon (BSD/OS 2.x) 246154 UNIMPL NOHIDE nosys 247; 155 is initialized by the NFS code, if present. 248155 UNIMPL NOHIDE nfssvc 249156 OBSOL BSD ogetdirentries 250157 STD BSD { int freebsd32_statfs(char *path, \ 251 struct statfs32 *buf); } 252158 STD BSD { int freebsd32_fstatfs(int fd, struct statfs32 *buf); } 253159 UNIMPL NOHIDE nosys 254160 UNIMPL NOHIDE nosys 255161 NOPROTO BSD { int getfh(char *fname, struct fhandle *fhp); } 256162 MNOPROTO BSD { int getdomainname(char *domainname, int len); } 257163 MNOPROTO BSD { int setdomainname(char *domainname, int len); } 258164 MNOPROTO BSD { int uname(struct utsname *name); } 259165 MNOPROTO BSD { int sysarch(int op, char *parms); } 260166 MNOPROTO BSD { int rtprio(int function, pid_t pid, \ 261 struct rtprio *rtp); } 262167 UNIMPL NOHIDE nosys 263168 UNIMPL NOHIDE nosys 264169 STD BSD { int freebsd32_semsys(int which, int a2, int a3, \ 265 int a4, int a5); } 266170 STD BSD { int freebsd32_msgsys(int which, int a2, int a3, \ 267 int a4, int a5, int a6); } 268171 STD BSD { int freebsd32_shmsys(int which, int a2, int a3, \ 269 int a4); } 270172 UNIMPL NOHIDE nosys 271173 STD POSIX { ssize_t freebsd32_pread(int fd, void *buf, \ 272 size_t nbyte, int pad, u_int32_t offsetlo, \ 273 u_int32_t offsethi); } 274; XXX note - bigendian is different 275174 STD POSIX { ssize_t freebsd32_pwrite(int fd, const void *buf, \ 276 size_t nbyte, int pad, u_int32_t offsetlo, \ 277 u_int32_t offsethi); } 278; XXX note - bigendian is different 279175 UNIMPL NOHIDE nosys 280176 MNOPROTO BSD { int ntp_adjtime(struct timex *tp); } 281177 UNIMPL NOHIDE sfork (BSD/OS 2.x) 282178 UNIMPL NOHIDE getdescriptor (BSD/OS 2.x) 283179 UNIMPL NOHIDE setdescriptor (BSD/OS 2.x) 284180 UNIMPL NOHIDE nosys 285 286; Syscalls 181-199 are used by/reserved for BSD 287181 MNOPROTO POSIX { int setgid(gid_t gid); } 288182 MNOPROTO BSD { int setegid(gid_t egid); } 289183 MNOPROTO BSD { int seteuid(uid_t euid); } 290184 UNIMPL BSD lfs_bmapv 291185 UNIMPL BSD lfs_markv 292186 UNIMPL BSD lfs_segclean 293187 UNIMPL BSD lfs_segwait 294188 STD POSIX { int freebsd32_stat(char *path, struct stat32 *ub); } 295189 STD POSIX { int freebsd32_fstat(int fd, struct stat32 *ub); } 296190 STD POSIX { int freebsd32_lstat(char *path, struct stat32 *ub); } 297191 NOPROTO POSIX { int pathconf(char *path, int name); } 298192 MNOPROTO POSIX { int fpathconf(int fd, int name); } 299193 UNIMPL NOHIDE nosys 300194 MNOPROTO BSD { int getrlimit(u_int which, \ 301 struct rlimit *rlp); } \ 302 getrlimit __getrlimit_args int 303195 MNOPROTO BSD { int setrlimit(u_int which, \ 304 struct rlimit *rlp); } \ 305 setrlimit __setrlimit_args int 306196 NOPROTO BSD { int getdirentries(int fd, char *buf, u_int count, \ 307 long *basep); } 308197 STD BSD { caddr_t freebsd32_mmap(caddr_t addr, size_t len, \ 309 int prot, int flags, int fd, int pad, \ 310 u_int32_t poslo, u_int32_t poshi); } 311198 NOPROTO NOHIDE { int nosys(void); } __syscall __syscall_args int 312; XXX note - bigendian is different 313199 STD POSIX { off_t freebsd32_lseek(int fd, int pad, \ 314 u_int32_t offsetlo, u_int32_t offsethi, \ 315 int whence); } 316; XXX note - bigendian is different 317200 STD BSD { int freebsd32_truncate(char *path, int pad, \ 318 u_int32_t lengthlo, u_int32_t lengthhi); } 319; XXX note - bigendian is different 320201 STD BSD { int freebsd32_ftruncate(int fd, int pad, \ 321 u_int32_t lengthlo, u_int32_t lengthhi); } 322202 MSTD BSD { int freebsd32_sysctl(int *name, u_int namelen, \ 323 void *old, u_int32_t *oldlenp, void *new, \ 324 u_int32_t newlen); } 325203 MNOPROTO BSD { int mlock(const void *addr, size_t len); } 326204 MNOPROTO BSD { int munlock(const void *addr, size_t len); } 327205 NOPROTO BSD { int undelete(char *path); } 328206 NOPROTO BSD { int futimes(int fd, struct timeval *tptr); } 329207 MNOPROTO BSD { int getpgid(pid_t pid); } 330208 UNIMPL NOHIDE newreboot (NetBSD) 331209 MNOPROTO BSD { int poll(struct pollfd *fds, u_int nfds, \ 332 int timeout); } 333 334; 335; The following are reserved for loadable syscalls 336; 337210 UNIMPL NOHIDE 338211 UNIMPL NOHIDE 339212 UNIMPL NOHIDE 340213 UNIMPL NOHIDE 341214 UNIMPL NOHIDE 342215 UNIMPL NOHIDE 343216 UNIMPL NOHIDE 344217 UNIMPL NOHIDE 345218 UNIMPL NOHIDE 346219 UNIMPL NOHIDE 347 348; 349; The following were introduced with NetBSD/4.4Lite-2 350; They are initialized by thier respective modules/sysinits 351220 MNOPROTO BSD { int __semctl(int semid, int semnum, int cmd, \ 352 union semun *arg); } 353221 MNOPROTO BSD { int semget(key_t key, int nsems, int semflg); } 354222 MNOPROTO BSD { int semop(int semid, struct sembuf *sops, \ 355 u_int nsops); } 356223 UNIMPL NOHIDE semconfig 357224 MNOPROTO BSD { int msgctl(int msqid, int cmd, \ 358 struct msqid_ds *buf); } 359225 MNOPROTO BSD { int msgget(key_t key, int msgflg); } 360226 MNOPROTO BSD { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 361 int msgflg); } 362227 MNOPROTO BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 363 long msgtyp, int msgflg); } 364228 MNOPROTO BSD { int shmat(int shmid, void *shmaddr, int shmflg); } 365229 MNOPROTO BSD { int shmctl(int shmid, int cmd, \ 366 struct shmid_ds *buf); } 367230 MNOPROTO BSD { int shmdt(void *shmaddr); } 368231 MNOPROTO BSD { int shmget(key_t key, int size, int shmflg); } 369; 370232 MNOPROTO POSIX { int clock_gettime(clockid_t clock_id, \ 371 struct timespec *tp); } 372233 MNOPROTO POSIX { int clock_settime(clockid_t clock_id, \ 373 const struct timespec *tp); } 374234 MNOPROTO POSIX { int clock_getres(clockid_t clock_id, \ 375 struct timespec *tp); } 376235 UNIMPL NOHIDE timer_create 377236 UNIMPL NOHIDE timer_delete 378237 UNIMPL NOHIDE timer_settime 379238 UNIMPL NOHIDE timer_gettime 380239 UNIMPL NOHIDE timer_getoverrun 381240 MNOPROTO POSIX { int nanosleep(const struct timespec *rqtp, \ 382 struct timespec *rmtp); } 383241 UNIMPL NOHIDE nosys 384242 UNIMPL NOHIDE nosys 385243 UNIMPL NOHIDE nosys 386244 UNIMPL NOHIDE nosys 387245 UNIMPL NOHIDE nosys 388246 UNIMPL NOHIDE nosys 389247 UNIMPL NOHIDE nosys 390248 UNIMPL NOHIDE nosys 391249 UNIMPL NOHIDE nosys 392; syscall numbers initially used in OpenBSD 393250 MNOPROTO BSD { int minherit(void *addr, size_t len, int inherit); } 394251 MNOPROTO BSD { int rfork(int flags); } 395252 MNOPROTO BSD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 396 int timeout); } 397253 MNOPROTO BSD { int issetugid(void); } 398254 NOPROTO BSD { int lchown(char *path, int uid, int gid); } 399255 UNIMPL NOHIDE nosys 400256 UNIMPL NOHIDE nosys 401257 UNIMPL NOHIDE nosys 402258 UNIMPL NOHIDE nosys 403259 UNIMPL NOHIDE nosys 404260 UNIMPL NOHIDE nosys 405261 UNIMPL NOHIDE nosys 406262 UNIMPL NOHIDE nosys 407263 UNIMPL NOHIDE nosys 408264 UNIMPL NOHIDE nosys 409265 UNIMPL NOHIDE nosys 410266 UNIMPL NOHIDE nosys 411267 UNIMPL NOHIDE nosys 412268 UNIMPL NOHIDE nosys 413269 UNIMPL NOHIDE nosys 414270 UNIMPL NOHIDE nosys 415271 UNIMPL NOHIDE nosys 416272 NOPROTO BSD { int getdents(int fd, char *buf, size_t count); } 417273 UNIMPL NOHIDE nosys 418274 NOPROTO BSD { int lchmod(char *path, mode_t mode); } 419275 NOPROTO BSD { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 420276 NOPROTO BSD { int lutimes(char *path, struct timeval *tptr); } 421277 MNOPROTO BSD { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 422278 NOPROTO BSD { int nstat(char *path, struct nstat *ub); } 423279 MNOPROTO BSD { int nfstat(int fd, struct nstat *sb); } 424280 NOPROTO BSD { int nlstat(char *path, struct nstat *ub); } 425281 UNIMPL NOHIDE nosys 426282 UNIMPL NOHIDE nosys 427283 UNIMPL NOHIDE nosys 428284 UNIMPL NOHIDE nosys 429285 UNIMPL NOHIDE nosys 430286 UNIMPL NOHIDE nosys 431287 UNIMPL NOHIDE nosys 432288 UNIMPL NOHIDE nosys 433289 UNIMPL NOHIDE nosys 434290 UNIMPL NOHIDE nosys 435291 UNIMPL NOHIDE nosys 436292 UNIMPL NOHIDE nosys 437293 UNIMPL NOHIDE nosys 438294 UNIMPL NOHIDE nosys 439295 UNIMPL NOHIDE nosys 440296 UNIMPL NOHIDE nosys 441; XXX 297 is 300 in NetBSD 442297 NOPROTO BSD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 443298 NOPROTO BSD { int fhopen(const struct fhandle *u_fhp, int flags); } 444299 NOPROTO BSD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 445; syscall numbers for FreeBSD 446300 MNOPROTO BSD { int modnext(int modid); } 447301 MNOPROTO BSD { int modstat(int modid, struct module_stat* stat); } 448302 MNOPROTO BSD { int modfnext(int modid); } 449303 MNOPROTO BSD { int modfind(const char *name); } 450304 MNOPROTO BSD { int kldload(const char *file); } 451305 MNOPROTO BSD { int kldunload(int fileid); } 452306 MNOPROTO BSD { int kldfind(const char *file); } 453307 MNOPROTO BSD { int kldnext(int fileid); } 454308 MNOPROTO BSD { int kldstat(int fileid, struct kld_file_stat* stat); } 455309 MNOPROTO BSD { int kldfirstmod(int fileid); } 456310 MNOPROTO BSD { int getsid(pid_t pid); } 457311 MNOPROTO BSD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 458312 MNOPROTO BSD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 459313 OBSOL NOHIDE signanosleep 460314 UNIMPL NOHIDE aio_return 461315 UNIMPL NOHIDE aio_suspend 462316 UNIMPL NOHIDE aio_cancel 463317 UNIMPL NOHIDE aio_error 464318 UNIMPL NOHIDE aio_read 465319 UNIMPL NOHIDE aio_write 466320 UNIMPL NOHIDE lio_listio 467321 MNOPROTO BSD { int yield(void); } 468322 OBSOL NOHIDE thr_sleep 469323 OBSOL NOHIDE thr_wakeup 470324 MNOPROTO BSD { int mlockall(int how); } 471325 MNOPROTO BSD { int munlockall(void); } 472326 NOPROTO BSD { int __getcwd(u_char *buf, u_int buflen); } 473 474327 MNOPROTO POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); } 475328 MNOPROTO POSIX { int sched_getparam (pid_t pid, struct sched_param *param); } 476 477329 MNOPROTO POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 478330 MNOPROTO POSIX { int sched_getscheduler (pid_t pid); } 479 480331 MNOPROTO POSIX { int sched_yield (void); } 481332 MNOPROTO POSIX { int sched_get_priority_max (int policy); } 482333 MNOPROTO POSIX { int sched_get_priority_min (int policy); } 483334 MNOPROTO POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 484335 MNOPROTO BSD { int utrace(const void *addr, size_t len); } 485; XXX note - bigendian is different 486336 MCOMPAT4 BSD { int freebsd32_sendfile(int fd, int s, \ 487 u_int32_t offsetlo,u_int32_t offsethi, \ 488 size_t nbytes, struct sf_hdtr *hdtr, \ 489 off_t *sbytes, int flags); } 490337 NOPROTO BSD { int kldsym(int fileid, int cmd, void *data); } 491338 MNOPROTO BSD { int jail(struct jail *jail); } 492339 UNIMPL BSD pioctl 493340 MNOPROTO POSIX { int sigprocmask(int how, const sigset_t *set, \ 494 sigset_t *oset); } 495341 MNOPROTO POSIX { int sigsuspend(const sigset_t *sigmask); } 496342 MCOMPAT4 POSIX { int freebsd32_sigaction(int sig, \ 497 struct sigaction32 *act, \ 498 struct sigaction32 *oact); } 499343 MNOPROTO POSIX { int sigpending(sigset_t *set); } 500344 MCOMPAT4 BSD { int freebsd32_sigreturn( \ 501 const struct __ucontext *sigcntxp); } 502; XXX implement 503345 UNIMPL NOHIDE sigtimedwait 504; XXX implement 505346 UNIMPL NOHIDE sigwaitinfo 506347 MNOPROTO BSD { int __acl_get_file(const char *path, \ 507 acl_type_t type, struct acl *aclp); } 508348 MNOPROTO BSD { int __acl_set_file(const char *path, \ 509 acl_type_t type, struct acl *aclp); } 510349 MNOPROTO BSD { int __acl_get_fd(int filedes, acl_type_t type, \ 511 struct acl *aclp); } 512350 MNOPROTO BSD { int __acl_set_fd(int filedes, acl_type_t type, \ 513 struct acl *aclp); } 514351 MNOPROTO BSD { int __acl_delete_file(const char *path, \ 515 acl_type_t type); } 516352 MNOPROTO BSD { int __acl_delete_fd(int filedes, acl_type_t type); } 517353 MNOPROTO BSD { int __acl_aclcheck_file(const char *path, \ 518 acl_type_t type, struct acl *aclp); } 519354 MNOPROTO BSD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 520 struct acl *aclp); } 521355 NOPROTO BSD { int extattrctl(const char *path, int cmd, \ 522 const char *filename, int attrnamespace, \ 523 const char *attrname); } 524356 NOPROTO BSD { int extattr_set_file(const char *path, \ 525 int attrnamespace, const char *attrname, \ 526 void *data, size_t nbytes); } 527357 NOPROTO BSD { ssize_t extattr_get_file(const char *path, \ 528 int attrnamespace, const char *attrname, \ 529 void *data, size_t nbytes); } 530358 NOPROTO BSD { int extattr_delete_file(const char *path, \ 531 int attrnamespace, const char *attrname); } 532359 UNIMPL NOHIDE aio_waitcomplete 533360 MNOPROTO BSD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 534361 MNOPROTO BSD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 535362 MNOPROTO BSD { int kqueue(void); } 536363 MSTD BSD { int freebsd32_kevent(int fd, \ 537 const struct kevent *changelist, int nchanges, \ 538 struct kevent *eventlist, int nevents, \ 539 const struct timespec *timeout); } 540364 UNIMPL NOHIDE __cap_get_proc 541365 UNIMPL NOHIDE __cap_set_proc 542366 UNIMPL NOHIDE __cap_get_fd 543367 UNIMPL NOHIDE __cap_get_file 544368 UNIMPL NOHIDE __cap_set_fd 545369 UNIMPL NOHIDE __cap_set_file 546370 UNIMPL NOHIDE lkmressys 547371 NOPROTO BSD { int extattr_set_fd(int fd, int attrnamespace, \ 548 const char *attrname, void *data, \ 549 size_t nbytes); } 550372 NOPROTO BSD { ssize_t extattr_get_fd(int fd, int attrnamespace, \ 551 const char *attrname, void *data, size_t nbytes); } 552373 NOPROTO BSD { int extattr_delete_fd(int fd, int attrnamespace, \ 553 const char *attrname); } 554374 MNOPROTO BSD { int __setugid(int flag); } 555375 UNIMPL BSD nfsclnt 556376 NOPROTO BSD { int eaccess(char *path, int flags); } 557377 UNIMPL BSD afs_syscall 558378 NOPROTO BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \ 559 int flags); } 560379 NOPROTO BSD { int kse_exit(void); } 561380 NOPROTO BSD { int kse_wakeup(struct kse_mailbox *mbx); } 562381 NOPROTO BSD { int kse_create(struct kse_mailbox *mbx, \ 563 int newgroup); } 564382 NOPROTO BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); } 565383 NOPROTO BSD { int kse_release(void); } 566384 UNIMPL BSD __mac_get_proc 567385 UNIMPL BSD __mac_set_proc 568386 UNIMPL BSD __mac_get_fd 569387 UNIMPL BSD __mac_get_file 570388 UNIMPL BSD __mac_set_fd 571389 UNIMPL BSD __mac_set_file 572390 NOPROTO BSD { int kenv(int what, const char *name, char *value, \ 573 int len); } 574391 NOPROTO BSD { int lchflags(const char *path, int flags); } 575392 NOPROTO BSD { int uuidgen(struct uuid *store, int count); } 576393 MSTD BSD { int freebsd32_sendfile(int fd, int s, \ 577 u_int32_t offsetlo, u_int32_t offsethi, \ 578 size_t nbytes, struct sf_hdtr *hdtr, \ 579 off_t *sbytes, int flags); } 580394 UNIMPL NOHIDE mac_syscall 581395 UNIMPL NOHIDE nosys 582396 UNIMPL NOHIDE nosys 583397 UNIMPL NOHIDE nosys 584398 UNIMPL NOHIDE nosys 585399 UNIMPL NOHIDE nosys 586; XXX implement these? 587400 UNIMPL NOHIDE ksem_close 588401 UNIMPL NOHIDE ksem_post 589402 UNIMPL NOHIDE ksem_wait 590403 UNIMPL NOHIDE ksem_trywait 591404 UNIMPL NOHIDE ksem_init 592405 UNIMPL NOHIDE ksem_open 593406 UNIMPL NOHIDE ksem_unlink 594407 UNIMPL NOHIDE ksem_getvalue 595408 UNIMPL NOHIDE ksem_destroy 596409 UNIMPL BSD __mac_get_pid 597410 UNIMPL BSD __mac_get_link 598411 UNIMPL BSD __mac_set_link 599412 UNIMPL BSD extattr_set_link 600413 UNIMPL BSD extattr_get_link 601414 UNIMPL BSD extattr_delete_link 602415 UNIMPL BSD __mac_execve 603416 STD POSIX { int freebsd32_sigaction(int sig, \ 604 struct sigaction32 *act, \ 605 struct sigaction32 *oact); } 606417 MSTD BSD { int freebsd32_sigreturn( \ 607 const struct freebsd32_ucontext *sigcntxp); } 608418 UNIMPL BSD __xstat 609419 UNIMPL BSD __xfstat 610420 UNIMPL BSD __xlstat 611; XXX implement 612421 UNIMPL BSD getcontext 613; XXX implement 614422 UNIMPL BSD setcontext 615; XXX implement 616423 UNIMPL BSD swapcontext 617424 UNIMPL BSD swapoff 618425 UNIMPL BSD __acl_get_link 619426 UNIMPL BSD __acl_set_link 620427 UNIMPL BSD __acl_delete_link 621428 UNIMPL BSD __acl_aclcheck_link 622; XXX implement 623429 UNIMPL NOHIDE sigwait 624430 MNOPROTO BSD { int thr_create(ucontext_t *ctx, thr_id_t *id, \ 625 int flag s); } 626431 MNOPROTO BSD { void thr_exit(void); } 627432 MNOPROTO BSD { int thr_self(thr_id_t *id); } 628433 MNOPROTO BSD { int thr_kill(thr_id_t id, int sig); } 629434 MNOPROTO BSD { int _umtx_lock(struct umtx *umtx); } 630435 MNOPROTO BSD { int _umtx_unlock(struct umtx *umtx); } 631436 MNOPROTO BSD { int jail_attach(int jid); } 632437 UNIMPL BSD extattr_list_fd 633438 UNIMPL BSD extattr_list_file 634439 UNIMPL BSD extattr_list_link 635440 UNIMPL BSD kse_switchin 636