syscalls.master revision 140482
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 140482 2005-01-19 17:53:06Z ps $ 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 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; name psuedo-prototype of syscall routine 14; If one of the following alts is different, then all appear: 15; altname name of system call if different 16; alttag name of args struct tag if different from [o]`name'"_args" 17; altrtyp return type if not int (bogus - syscalls always return int) 18; for UNIMPL/OBSOL, name continues with comments 19 20; types: 21; [M] e.g. like MSTD -- means the system call is MP-safe. If no 22; M prefix is used, the syscall wrapper will obtain the Giant 23; lock for the syscall. 24; STD always included 25; COMPAT included on COMPAT #ifdef 26; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 27; OBSOL obsolete, not included in system, only specifies name 28; UNIMPL not implemented, placeholder only 29; NOSTD implemented but as a lkm that can be statically 30; compiled in sysent entry will be filled with lkmsys 31; so the SYSCALL_MODULE macro works 32 33; #ifdef's, etc. may be included, and are copied to the output files. 34 35#include <sys/param.h> 36#include <sys/sysent.h> 37#include <sys/sysproto.h> 38#include <sys/mount.h> 39#include <compat/freebsd32/freebsd32.h> 40#include <compat/freebsd32/freebsd32_proto.h> 41 42; Reserved/unimplemented system calls in the range 0-150 inclusive 43; are reserved for use in future Berkeley releases. 44; Additional system calls implemented in vendor and other 45; redistributions should be placed in the reserved range at the end 46; of the current calls. 47 480 MNOPROTO { int nosys(void); } syscall nosys_args int 491 MNOPROTO { void sys_exit(int rval); } exit sys_exit_args void 502 MNOPROTO { int fork(void); } 513 MNOPROTO { ssize_t read(int fd, void *buf, size_t nbyte); } 524 MNOPROTO { ssize_t write(int fd, const void *buf, size_t nbyte); } 535 MNOPROTO { int open(char *path, int flags, int mode); } 546 MNOPROTO { int close(int fd); } 557 MSTD { int freebsd32_wait4(int pid, int *status, int options, \ 56 struct rusage32 *rusage); } 578 OBSOL old creat 589 MNOPROTO { int link(char *path, char *link); } 5910 MNOPROTO { int unlink(char *path); } 6011 OBSOL execv 6112 NOPROTO { int chdir(char *path); } 6213 NOPROTO { int fchdir(int fd); } 6314 NOPROTO { int mknod(char *path, int mode, int dev); } 6415 NOPROTO { int chmod(char *path, int mode); } 6516 NOPROTO { int chown(char *path, int uid, int gid); } 6617 MNOPROTO { int obreak(char *nsize); } break obreak_args int 6718 COMPAT4 { int freebsd32_getfsstat(struct statfs32 *buf, \ 68 long bufsize, int flags); } 6919 OBSOL olseek 7020 MNOPROTO { pid_t getpid(void); } 7121 MNOPROTO { int mount(char *type, char *path, int flags, \ 72 caddr_t data); } 7322 MNOPROTO { int unmount(char *path, int flags); } 7423 MNOPROTO { int setuid(uid_t uid); } 7524 MNOPROTO { uid_t getuid(void); } 7625 MNOPROTO { uid_t geteuid(void); } 7726 MNOPROTO { int ptrace(int req, pid_t pid, caddr_t addr, int data); } 78; XXX implement 7927 UNIMPL recvmsg 8028 MNOPROTO { int sendmsg(int s, caddr_t msg, int flags); } 8129 MNOPROTO { int recvfrom(int s, caddr_t buf, size_t len, int flags, \ 82 caddr_t from, int *fromlenaddr); } 8330 MNOPROTO { int accept(int s, caddr_t name, int *anamelen); } 8431 MNOPROTO { int getpeername(int fdes, caddr_t asa, int *alen); } 8532 MNOPROTO { int getsockname(int fdes, caddr_t asa, int *alen); } 8633 NOPROTO { int access(char *path, int flags); } 8734 NOPROTO { int chflags(char *path, int flags); } 8835 NOPROTO { int fchflags(int fd, int flags); } 8936 NOPROTO { int sync(void); } 9037 MNOPROTO { int kill(int pid, int signum); } 9138 UNIMPL ostat 9239 MNOPROTO { pid_t getppid(void); } 9340 UNIMPL olstat 9441 MNOPROTO { int dup(u_int fd); } 9542 MNOPROTO { int pipe(void); } 9643 MNOPROTO { gid_t getegid(void); } 9744 MNOPROTO { int profil(caddr_t samples, size_t size, size_t offset, \ 98 u_int scale); } 9945 MNOPROTO { int ktrace(const char *fname, int ops, int facs, int pid); } 10046 UNIMPL osigaction 10147 MNOPROTO { gid_t getgid(void); } 10248 UNIMPL osigprocmask 10349 MNOPROTO { int getlogin(char *namebuf, u_int namelen); } 10450 MNOPROTO { int setlogin(char *namebuf); } 10551 MNOPROTO { int acct(char *path); } 10652 OBSOL osigpending 10753 MSTD { int freebsd32_sigaltstack(struct sigaltstack32 *ss, \ 108 struct sigaltstack32 *oss); } 10954 MNOPROTO { int ioctl(int fd, u_long com, caddr_t data); } 11055 MNOPROTO { int reboot(int opt); } 11156 NOPROTO { int revoke(char *path); } 11257 NOPROTO { int symlink(char *path, char *link); } 11358 NOPROTO { int readlink(char *path, char *buf, int count); } 11459 STD { int freebsd32_execve(char *fname, u_int32_t *argv, \ 115 u_int32_t *envv); } 11660 MNOPROTO { int umask(int newmask); } umask umask_args int 11761 NOPROTO { int chroot(char *path); } 11862 OBSOL ofstat 11963 OBSOL ogetkerninfo 12064 OBSOL ogetpagesize 121; XXX implement (not OBSOL at all) 12265 OBSOL omsync 12366 MNOPROTO { int vfork(void); } 12467 OBSOL vread 12568 OBSOL vwrite 12669 MNOPROTO { int sbrk(int incr); } 12770 MNOPROTO { int sstk(int incr); } 12871 OBSOL ommap 12972 MNOPROTO { int ovadvise(int anom); } vadvise ovadvise_args int 13073 MNOPROTO { int munmap(void *addr, size_t len); } 13174 MNOPROTO { int mprotect(const void *addr, size_t len, int prot); } 13275 MNOPROTO { int madvise(void *addr, size_t len, int behav); } 13376 OBSOL vhangup 13477 OBSOL vlimit 13578 MNOPROTO { int mincore(const void *addr, size_t len, char *vec); } 13679 MNOPROTO { int getgroups(u_int gidsetsize, gid_t *gidset); } 13780 MNOPROTO { int setgroups(u_int gidsetsize, gid_t *gidset); } 13881 MNOPROTO { int getpgrp(void); } 13982 MNOPROTO { int setpgid(int pid, int pgid); } 14083 STD { int freebsd32_setitimer(u_int which, \ 141 struct itimerval32 *itv, struct itimerval32 *oitv); } 14284 OBSOL owait 143; XXX implement 14485 OBSOL oswapon 14586 STD { int freebsd32_getitimer(u_int which, \ 146 struct itimerval32 *itv); } 14787 OBSOL ogethostname 14888 OBSOL osethostname 14989 MNOPROTO { int getdtablesize(void); } 15090 MNOPROTO { int dup2(u_int from, u_int to); } 15191 UNIMPL getdopt 15292 MNOPROTO { int fcntl(int fd, int cmd, long arg); } 15393 STD { int freebsd32_select(int nd, fd_set *in, fd_set *ou, \ 154 fd_set *ex, struct timeval32 *tv); } 155; XXX need to override for big-endian - little-endian should work fine. 15694 UNIMPL setdopt 15795 NOPROTO { int fsync(int fd); } 15896 MNOPROTO { int setpriority(int which, int who, int prio); } 15997 MNOPROTO { int socket(int domain, int type, int protocol); } 16098 MNOPROTO { int connect(int s, caddr_t name, int namelen); } 16199 OBSOL oaccept 162100 MNOPROTO { int getpriority(int which, int who); } 163101 OBSOL osend 164102 OBSOL orecv 165103 OBSOL osigreturn 166104 MNOPROTO { int bind(int s, caddr_t name, int namelen); } 167105 MNOPROTO { int setsockopt(int s, int level, int name, caddr_t val, \ 168 int valsize); } 169106 MNOPROTO { int listen(int s, int backlog); } 170107 OBSOL vtimes 171108 OBSOL osigvec 172109 OBSOL osigblock 173110 OBSOL osigsetmask 174111 OBSOL osigsuspend 175112 OBSOL osigstack 176113 OBSOL orecvmsg 177114 OBSOL osendmsg 178115 OBSOL vtrace 179116 MSTD { int freebsd32_gettimeofday(struct timeval32 *tp, \ 180 struct timezone *tzp); } 181117 STD { int freebsd32_getrusage(int who, struct rusage32 *rusage); } 182118 MNOPROTO { int getsockopt(int s, int level, int name, caddr_t val, \ 183 int *avalsize); } 184119 UNIMPL resuba (BSD/OS 2.x) 185120 STD { int freebsd32_readv(int fd, struct iovec32 *iovp, \ 186 u_int iovcnt); } 187121 STD { int freebsd32_writev(int fd, struct iovec32 *iovp, \ 188 u_int iovcnt); } 189122 STD { int freebsd32_settimeofday(struct timeval32 *tv, \ 190 struct timezone *tzp); } 191123 NOPROTO { int fchown(int fd, int uid, int gid); } 192124 NOPROTO { int fchmod(int fd, int mode); } 193125 OBSOL orecvfrom 194126 MNOPROTO { int setreuid(int ruid, int euid); } 195127 MNOPROTO { int setregid(int rgid, int egid); } 196128 NOPROTO { int rename(char *from, char *to); } 197129 OBSOL otruncate 198130 OBSOL ftruncate 199131 MNOPROTO { int flock(int fd, int how); } 200132 NOPROTO { int mkfifo(char *path, int mode); } 201133 MNOPROTO { int sendto(int s, caddr_t buf, size_t len, int flags, \ 202 caddr_t to, int tolen); } 203134 MNOPROTO { int shutdown(int s, int how); } 204135 MNOPROTO { int socketpair(int domain, int type, int protocol, \ 205 int *rsv); } 206136 NOPROTO { int mkdir(char *path, int mode); } 207137 NOPROTO { int rmdir(char *path); } 208138 STD { int freebsd32_utimes(char *path, struct timeval32 *tptr); } 209139 OBSOL 4.2 sigreturn 210140 STD { int freebsd32_adjtime(struct timeval32 *delta, \ 211 struct timeval32 *olddelta); } 212141 OBSOL ogetpeername 213142 OBSOL ogethostid 214143 OBSOL sethostid 215144 OBSOL getrlimit 216145 OBSOL setrlimit 217146 OBSOL killpg 218147 MNOPROTO { int setsid(void); } 219148 NOPROTO { int quotactl(char *path, int cmd, int uid, caddr_t arg); } 220149 OBSOL oquota 221150 OBSOL ogetsockname 222 223; Syscalls 151-180 inclusive are reserved for vendor-specific 224; system calls. (This includes various calls added for compatibity 225; with other Unix variants.) 226; Some of these calls are now supported by BSD... 227151 UNIMPL sem_lock (BSD/OS 2.x) 228152 UNIMPL sem_wakeup (BSD/OS 2.x) 229153 UNIMPL asyncdaemon (BSD/OS 2.x) 230154 UNIMPL nosys 231; 155 is initialized by the NFS code, if present. 232; XXX this is a problem!!! 233155 UNIMPL nfssvc 234156 OBSOL ogetdirentries 235157 COMPAT4 { int freebsd32_statfs(char *path, \ 236 struct statfs32 *buf); } 237158 COMPAT4 { int freebsd32_fstatfs(int fd, struct statfs32 *buf);} 238159 UNIMPL nosys 239160 UNIMPL nosys 240161 NOPROTO { int getfh(char *fname, struct fhandle *fhp); } 241162 MNOPROTO { int getdomainname(char *domainname, int len); } 242163 MNOPROTO { int setdomainname(char *domainname, int len); } 243164 MNOPROTO { int uname(struct utsname *name); } 244165 MNOPROTO { int sysarch(int op, char *parms); } 245166 MNOPROTO { int rtprio(int function, pid_t pid, \ 246 struct rtprio *rtp); } 247167 UNIMPL nosys 248168 UNIMPL nosys 249169 STD { int freebsd32_semsys(int which, int a2, int a3, int a4, \ 250 int a5); } 251170 STD { int freebsd32_msgsys(int which, int a2, int a3, int a4, \ 252 int a5, int a6); } 253171 STD { int freebsd32_shmsys(int which, int a2, int a3, int a4); } 254172 UNIMPL nosys 255173 STD { ssize_t freebsd32_pread(int fd, void *buf, size_t nbyte, \ 256 int pad, u_int32_t offsetlo, u_int32_t offsethi); } 257; XXX note - bigendian is different 258174 STD { ssize_t freebsd32_pwrite(int fd, const void *buf, \ 259 size_t nbyte, int pad, u_int32_t offsetlo, \ 260 u_int32_t offsethi); } 261; XXX note - bigendian is different 262175 UNIMPL nosys 263176 MNOPROTO { int ntp_adjtime(struct timex *tp); } 264177 UNIMPL sfork (BSD/OS 2.x) 265178 UNIMPL getdescriptor (BSD/OS 2.x) 266179 UNIMPL setdescriptor (BSD/OS 2.x) 267180 UNIMPL nosys 268 269; Syscalls 181-199 are used by/reserved for BSD 270181 MNOPROTO { int setgid(gid_t gid); } 271182 MNOPROTO { int setegid(gid_t egid); } 272183 MNOPROTO { int seteuid(uid_t euid); } 273184 UNIMPL lfs_bmapv 274185 UNIMPL lfs_markv 275186 UNIMPL lfs_segclean 276187 UNIMPL lfs_segwait 277188 STD { int freebsd32_stat(char *path, struct stat32 *ub); } 278189 MSTD { int freebsd32_fstat(int fd, struct stat32 *ub); } 279190 STD { int freebsd32_lstat(char *path, struct stat32 *ub); } 280191 NOPROTO { int pathconf(char *path, int name); } 281192 MNOPROTO { int fpathconf(int fd, int name); } 282193 UNIMPL nosys 283194 MNOPROTO { int getrlimit(u_int which, struct rlimit *rlp); } \ 284 getrlimit __getrlimit_args int 285195 MNOPROTO { int setrlimit(u_int which, struct rlimit *rlp); } \ 286 setrlimit __setrlimit_args int 287196 NOPROTO { int getdirentries(int fd, char *buf, u_int count, \ 288 long *basep); } 289197 STD { caddr_t freebsd32_mmap(caddr_t addr, size_t len, int prot, \ 290 int flags, int fd, int pad, u_int32_t poslo, \ 291 u_int32_t poshi); } 292198 NOPROTO { int nosys(void); } __syscall __syscall_args int 293; XXX note - bigendian is different 294199 STD { off_t freebsd32_lseek(int fd, int pad, u_int32_t offsetlo, \ 295 u_int32_t offsethi, int whence); } 296; XXX note - bigendian is different 297200 STD { int freebsd32_truncate(char *path, int pad, \ 298 u_int32_t lengthlo, u_int32_t lengthhi); } 299; XXX note - bigendian is different 300201 STD { int freebsd32_ftruncate(int fd, int pad, \ 301 u_int32_t lengthlo, u_int32_t lengthhi); } 302202 MSTD { int freebsd32_sysctl(int *name, u_int namelen, void *old, \ 303 u_int32_t *oldlenp, void *new, u_int32_t newlen); } 304203 MNOPROTO { int mlock(const void *addr, size_t len); } 305204 MNOPROTO { int munlock(const void *addr, size_t len); } 306205 NOPROTO { int undelete(char *path); } 307206 NOPROTO { int futimes(int fd, struct timeval *tptr); } 308207 MNOPROTO { int getpgid(pid_t pid); } 309208 UNIMPL newreboot (NetBSD) 310209 MNOPROTO { int poll(struct pollfd *fds, u_int nfds, int timeout); } 311 312; 313; The following are reserved for loadable syscalls 314; 315210 UNIMPL 316211 UNIMPL 317212 UNIMPL 318213 UNIMPL 319214 UNIMPL 320215 UNIMPL 321216 UNIMPL 322217 UNIMPL 323218 UNIMPL 324219 UNIMPL 325 326; 327; The following were introduced with NetBSD/4.4Lite-2 328; They are initialized by thier respective modules/sysinits 329; XXX PROBLEM!! 330220 MNOPROTO { int __semctl(int semid, int semnum, int cmd, \ 331 union semun *arg); } 332221 MNOPROTO { int semget(key_t key, int nsems, int semflg); } 333222 MNOPROTO { int semop(int semid, struct sembuf *sops, u_int nsops); } 334223 UNIMPL semconfig 335224 MNOPROTO { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } 336225 MNOPROTO { int msgget(key_t key, int msgflg); } 337226 MNOPROTO { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 338 int msgflg); } 339227 MNOPROTO { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 340 long msgtyp, int msgflg); } 341228 MNOPROTO { int shmat(int shmid, void *shmaddr, int shmflg); } 342229 MNOPROTO { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } 343230 MNOPROTO { int shmdt(void *shmaddr); } 344231 MNOPROTO { int shmget(key_t key, int size, int shmflg); } 345; 346232 MNOPROTO { int clock_gettime(clockid_t clock_id, struct timespec *tp); } 347233 MNOPROTO { int clock_settime(clockid_t clock_id, \ 348 const struct timespec *tp); } 349234 MNOPROTO { int clock_getres(clockid_t clock_id, struct timespec *tp); } 350235 UNIMPL timer_create 351236 UNIMPL timer_delete 352237 UNIMPL timer_settime 353238 UNIMPL timer_gettime 354239 UNIMPL timer_getoverrun 355240 MSTD { int freebsd32_nanosleep(const struct timespec *rqtp, \ 356 struct timespec *rmtp); } 357241 UNIMPL nosys 358242 UNIMPL nosys 359243 UNIMPL nosys 360244 UNIMPL nosys 361245 UNIMPL nosys 362246 UNIMPL nosys 363247 UNIMPL nosys 364248 UNIMPL ntp_gettime 365249 UNIMPL nosys 366; syscall numbers initially used in OpenBSD 367250 MNOPROTO { int minherit(void *addr, size_t len, int inherit); } 368251 MNOPROTO { int rfork(int flags); } 369252 MNOPROTO { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 370 int timeout); } 371253 MNOPROTO { int issetugid(void); } 372254 NOPROTO { int lchown(char *path, int uid, int gid); } 373255 UNIMPL nosys 374256 UNIMPL nosys 375257 UNIMPL nosys 376258 UNIMPL nosys 377259 UNIMPL nosys 378260 UNIMPL nosys 379261 UNIMPL nosys 380262 UNIMPL nosys 381263 UNIMPL nosys 382264 UNIMPL nosys 383265 UNIMPL nosys 384266 UNIMPL nosys 385267 UNIMPL nosys 386268 UNIMPL nosys 387269 UNIMPL nosys 388270 UNIMPL nosys 389271 UNIMPL nosys 390272 NOPROTO { int getdents(int fd, char *buf, size_t count); } 391273 UNIMPL nosys 392274 NOPROTO { int lchmod(char *path, mode_t mode); } 393275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } \ 394 netbsd_lchown lchown_args int 395276 NOPROTO { int lutimes(char *path, struct timeval *tptr); } 396277 MNOPROTO { int msync(void *addr, size_t len, int flags); } \ 397 netbsd_msync msync_args int 398278 NOPROTO { int nstat(char *path, struct nstat *ub); } 399279 MNOPROTO { int nfstat(int fd, struct nstat *sb); } 400280 NOPROTO { int nlstat(char *path, struct nstat *ub); } 401281 UNIMPL nosys 402282 UNIMPL nosys 403283 UNIMPL nosys 404284 UNIMPL nosys 405285 UNIMPL nosys 406286 UNIMPL nosys 407287 UNIMPL nosys 408288 UNIMPL nosys 409289 UNIMPL nosys 410290 UNIMPL nosys 411291 UNIMPL nosys 412292 UNIMPL nosys 413293 UNIMPL nosys 414294 UNIMPL nosys 415295 UNIMPL nosys 416296 UNIMPL nosys 417; XXX 297 is 300 in NetBSD 418297 COMPAT4 { int freebsd32_fhstatfs(const struct fhandle *u_fhp, \ 419 struct statfs32 *buf); } 420298 NOPROTO { int fhopen(const struct fhandle *u_fhp, int flags); } 421299 NOPROTO { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 422; syscall numbers for FreeBSD 423300 MNOPROTO { int modnext(int modid); } 424301 MSTD { int freebsd32_modstat(int modid, struct module_stat32* stat); } 425302 MNOPROTO { int modfnext(int modid); } 426303 MNOPROTO { int modfind(const char *name); } 427304 MNOPROTO { int kldload(const char *file); } 428305 MNOPROTO { int kldunload(int fileid); } 429306 MNOPROTO { int kldfind(const char *file); } 430307 MNOPROTO { int kldnext(int fileid); } 431308 MNOPROTO { int kldstat(int fileid, struct kld_file_stat* stat); } 432309 MNOPROTO { int kldfirstmod(int fileid); } 433310 MNOPROTO { int getsid(pid_t pid); } 434311 MNOPROTO { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 435312 MNOPROTO { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 436313 OBSOL signanosleep 437314 UNIMPL aio_return 438315 UNIMPL aio_suspend 439316 UNIMPL aio_cancel 440317 UNIMPL aio_error 441318 UNIMPL aio_read 442319 UNIMPL aio_write 443320 UNIMPL lio_listio 444321 MNOPROTO { int yield(void); } 445322 OBSOL thr_sleep 446323 OBSOL thr_wakeup 447324 MNOPROTO { int mlockall(int how); } 448325 MNOPROTO { int munlockall(void); } 449326 NOPROTO { int __getcwd(u_char *buf, u_int buflen); } 450 451327 MNOPROTO { int sched_setparam (pid_t pid, \ 452 const struct sched_param *param); } 453328 MNOPROTO { int sched_getparam (pid_t pid, struct sched_param *param); } 454 455329 MNOPROTO { int sched_setscheduler (pid_t pid, int policy, \ 456 const struct sched_param *param); } 457330 MNOPROTO { int sched_getscheduler (pid_t pid); } 458 459331 MNOPROTO { int sched_yield (void); } 460332 MNOPROTO { int sched_get_priority_max (int policy); } 461333 MNOPROTO { int sched_get_priority_min (int policy); } 462334 MNOPROTO { int sched_rr_get_interval (pid_t pid, \ 463 struct timespec *interval); } 464335 MNOPROTO { int utrace(const void *addr, size_t len); } 465; XXX note - bigendian is different 466336 MCOMPAT4 { int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \ 467 u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \ 468 off_t *sbytes, int flags); } 469337 NOPROTO { int kldsym(int fileid, int cmd, void *data); } 470338 MNOPROTO { int jail(struct jail *jail); } 471339 UNIMPL pioctl 472340 MNOPROTO { int sigprocmask(int how, const sigset_t *set, \ 473 sigset_t *oset); } 474341 MNOPROTO { int sigsuspend(const sigset_t *sigmask); } 475342 MCOMPAT4 { int freebsd32_sigaction(int sig, struct sigaction32 *act, \ 476 struct sigaction32 *oact); } 477343 MNOPROTO { int sigpending(sigset_t *set); } 478344 MCOMPAT4 { int freebsd32_sigreturn( \ 479 const struct freebsd4_freebsd32_ucontext *sigcntxp); } 480; XXX implement 481345 UNIMPL sigtimedwait 482; XXX implement 483346 UNIMPL sigwaitinfo 484347 MNOPROTO { int __acl_get_file(const char *path, acl_type_t type, \ 485 struct acl *aclp); } 486348 MNOPROTO { int __acl_set_file(const char *path, acl_type_t type, \ 487 struct acl *aclp); } 488349 MNOPROTO { int __acl_get_fd(int filedes, acl_type_t type, \ 489 struct acl *aclp); } 490350 MNOPROTO { int __acl_set_fd(int filedes, acl_type_t type, \ 491 struct acl *aclp); } 492351 MNOPROTO { int __acl_delete_file(const char *path, acl_type_t type); } 493352 MNOPROTO { int __acl_delete_fd(int filedes, acl_type_t type); } 494353 MNOPROTO { int __acl_aclcheck_file(const char *path, acl_type_t type, \ 495 struct acl *aclp); } 496354 MNOPROTO { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 497 struct acl *aclp); } 498355 NOPROTO { int extattrctl(const char *path, int cmd, \ 499 const char *filename, int attrnamespace, \ 500 const char *attrname); } 501356 NOPROTO { int extattr_set_file(const char *path, \ 502 int attrnamespace, const char *attrname, \ 503 void *data, size_t nbytes); } 504357 NOPROTO { ssize_t extattr_get_file(const char *path, \ 505 int attrnamespace, const char *attrname, \ 506 void *data, size_t nbytes); } 507358 NOPROTO { int extattr_delete_file(const char *path, \ 508 int attrnamespace, const char *attrname); } 509359 UNIMPL aio_waitcomplete 510360 MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 511361 MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 512362 MNOPROTO { int kqueue(void); } 513363 MSTD { int freebsd32_kevent(int fd, \ 514 const struct kevent *changelist, int nchanges, \ 515 struct kevent *eventlist, int nevents, \ 516 const struct timespec *timeout); } 517364 UNIMPL __cap_get_proc 518365 UNIMPL __cap_set_proc 519366 UNIMPL __cap_get_fd 520367 UNIMPL __cap_get_file 521368 UNIMPL __cap_set_fd 522369 UNIMPL __cap_set_file 523370 UNIMPL lkmressys 524371 NOPROTO { int extattr_set_fd(int fd, int attrnamespace, \ 525 const char *attrname, void *data, size_t nbytes); } 526372 NOPROTO { ssize_t extattr_get_fd(int fd, int attrnamespace, \ 527 const char *attrname, void *data, size_t nbytes); } 528373 NOPROTO { int extattr_delete_fd(int fd, int attrnamespace, \ 529 const char *attrname); } 530374 MNOPROTO { int __setugid(int flag); } 531375 UNIMPL nfsclnt 532376 NOPROTO { int eaccess(char *path, int flags); } 533377 UNIMPL afs_syscall 534378 MNOPROTO { int nmount(struct iovec *iovp, unsigned int iovcnt, \ 535 int flags); } 536379 NOPROTO { int kse_exit(void); } 537380 NOPROTO { int kse_wakeup(struct kse_mailbox *mbx); } 538381 NOPROTO { int kse_create(struct kse_mailbox *mbx, int newgroup); } 539382 NOPROTO { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); } 540383 NOPROTO { int kse_release(void); } 541384 UNIMPL __mac_get_proc 542385 UNIMPL __mac_set_proc 543386 UNIMPL __mac_get_fd 544387 UNIMPL __mac_get_file 545388 UNIMPL __mac_set_fd 546389 UNIMPL __mac_set_file 547390 NOPROTO { int kenv(int what, const char *name, char *value, int len); } 548391 NOPROTO { int lchflags(const char *path, int flags); } 549392 MNOPROTO { int uuidgen(struct uuid *store, int count); } 550393 MSTD { int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \ 551 u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \ 552 off_t *sbytes, int flags); } 553394 UNIMPL mac_syscall 554395 NOPROTO { int getfsstat(struct statfs *buf, long bufsize, \ 555 int flags); } 556396 NOPROTO { int statfs(char *path, struct statfs *buf); } 557397 NOPROTO { int fstatfs(int fd, struct statfs *buf); } 558398 NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ 559 struct statfs *buf); } 560399 UNIMPL nosys 561; XXX implement these? 562400 UNIMPL ksem_close 563401 UNIMPL ksem_post 564402 UNIMPL ksem_wait 565403 UNIMPL ksem_trywait 566404 UNIMPL ksem_init 567405 UNIMPL ksem_open 568406 UNIMPL ksem_unlink 569407 UNIMPL ksem_getvalue 570408 UNIMPL ksem_destroy 571409 UNIMPL __mac_get_pid 572410 UNIMPL __mac_get_link 573411 UNIMPL __mac_set_link 574412 UNIMPL extattr_set_link 575413 UNIMPL extattr_get_link 576414 UNIMPL extattr_delete_link 577415 UNIMPL __mac_execve 578416 MSTD { int freebsd32_sigaction(int sig, struct sigaction32 *act, \ 579 struct sigaction32 *oact); } 580417 MSTD { int freebsd32_sigreturn( \ 581 const struct freebsd32_ucontext *sigcntxp); } 582418 UNIMPL __xstat 583419 UNIMPL __xfstat 584420 UNIMPL __xlstat 585; XXX implement 586421 UNIMPL getcontext 587; XXX implement 588422 UNIMPL setcontext 589; XXX implement 590423 UNIMPL swapcontext 591424 UNIMPL swapoff 592425 UNIMPL __acl_get_link 593426 UNIMPL __acl_set_link 594427 UNIMPL __acl_delete_link 595428 UNIMPL __acl_aclcheck_link 596; XXX implement 597429 UNIMPL sigwait 598430 MNOPROTO { int thr_create(ucontext_t *ctx, long *id, int flag s); } 599431 MNOPROTO { void thr_exit(long *state); } 600432 MNOPROTO { int thr_self(long *id); } 601433 MNOPROTO { int thr_kill(long id, int sig); } 602434 MNOPROTO { int _umtx_lock(struct umtx *umtx); } 603435 MNOPROTO { int _umtx_unlock(struct umtx *umtx); } 604436 MNOPROTO { int jail_attach(int jid); } 605437 UNIMPL extattr_list_fd 606438 UNIMPL extattr_list_file 607439 UNIMPL extattr_list_link 608440 UNIMPL kse_switchin 609441 UNIMPL ksem_timedwait 610442 MNOPROTO { int thr_suspend(const struct timespec *timeout); } 611443 MNOPROTO { int thr_wake(long id); } 612444 MNOPROTO { int kldunloadf(int fileid, int flags); } 613445 UNIMPL audit 614446 UNIMPL auditon 615447 UNIMPL getauid 616448 UNIMPL setauid 617449 UNIMPL getaudit 618450 UNIMPL setaudit 619451 UNIMPL getaudit_addr 620452 UNIMPL setaudit_addr 621453 UNIMPL auditctl 622454 UNIMPL _umtx_op 623