syscalls.master revision 125170
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 125170 2004-01-28 23:45:37Z 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 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 NOPROTO { 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 NOPROTO { int link(char *path, char *link); } 5910 NOPROTO { 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 STD { int freebsd32_getfsstat(struct statfs32 *buf, long bufsize, \ 68 int flags); } 6919 OBSOL olseek 7020 MNOPROTO { pid_t getpid(void); } 7121 NOPROTO { int mount(char *type, char *path, int flags, \ 72 caddr_t data); } 7322 NOPROTO { 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 STD { int freebsd32_statfs(char *path, struct statfs32 *buf); } 236158 STD { int freebsd32_fstatfs(int fd, struct statfs32 *buf); } 237159 UNIMPL nosys 238160 UNIMPL nosys 239161 NOPROTO { int getfh(char *fname, struct fhandle *fhp); } 240162 MNOPROTO { int getdomainname(char *domainname, int len); } 241163 MNOPROTO { int setdomainname(char *domainname, int len); } 242164 MNOPROTO { int uname(struct utsname *name); } 243165 MNOPROTO { int sysarch(int op, char *parms); } 244166 MNOPROTO { int rtprio(int function, pid_t pid, \ 245 struct rtprio *rtp); } 246167 UNIMPL nosys 247168 UNIMPL nosys 248169 STD { int freebsd32_semsys(int which, int a2, int a3, int a4, \ 249 int a5); } 250170 STD { int freebsd32_msgsys(int which, int a2, int a3, int a4, \ 251 int a5, int a6); } 252171 STD { int freebsd32_shmsys(int which, int a2, int a3, int a4); } 253172 UNIMPL nosys 254173 STD { ssize_t freebsd32_pread(int fd, void *buf, size_t nbyte, \ 255 int pad, u_int32_t offsetlo, u_int32_t offsethi); } 256; XXX note - bigendian is different 257174 STD { ssize_t freebsd32_pwrite(int fd, const void *buf, \ 258 size_t nbyte, int pad, u_int32_t offsetlo, \ 259 u_int32_t offsethi); } 260; XXX note - bigendian is different 261175 UNIMPL nosys 262176 MNOPROTO { int ntp_adjtime(struct timex *tp); } 263177 UNIMPL sfork (BSD/OS 2.x) 264178 UNIMPL getdescriptor (BSD/OS 2.x) 265179 UNIMPL setdescriptor (BSD/OS 2.x) 266180 UNIMPL nosys 267 268; Syscalls 181-199 are used by/reserved for BSD 269181 MNOPROTO { int setgid(gid_t gid); } 270182 MNOPROTO { int setegid(gid_t egid); } 271183 MNOPROTO { int seteuid(uid_t euid); } 272184 UNIMPL lfs_bmapv 273185 UNIMPL lfs_markv 274186 UNIMPL lfs_segclean 275187 UNIMPL lfs_segwait 276188 STD { int freebsd32_stat(char *path, struct stat32 *ub); } 277189 MSTD { int freebsd32_fstat(int fd, struct stat32 *ub); } 278190 STD { int freebsd32_lstat(char *path, struct stat32 *ub); } 279191 NOPROTO { int pathconf(char *path, int name); } 280192 MNOPROTO { int fpathconf(int fd, int name); } 281193 UNIMPL nosys 282194 MNOPROTO { int getrlimit(u_int which, struct rlimit *rlp); } \ 283 getrlimit __getrlimit_args int 284195 MNOPROTO { int setrlimit(u_int which, struct rlimit *rlp); } \ 285 setrlimit __setrlimit_args int 286196 NOPROTO { int getdirentries(int fd, char *buf, u_int count, \ 287 long *basep); } 288197 STD { caddr_t freebsd32_mmap(caddr_t addr, size_t len, int prot, \ 289 int flags, int fd, int pad, u_int32_t poslo, \ 290 u_int32_t poshi); } 291198 NOPROTO { int nosys(void); } __syscall __syscall_args int 292; XXX note - bigendian is different 293199 STD { off_t freebsd32_lseek(int fd, int pad, u_int32_t offsetlo, \ 294 u_int32_t offsethi, int whence); } 295; XXX note - bigendian is different 296200 STD { int freebsd32_truncate(char *path, int pad, \ 297 u_int32_t lengthlo, u_int32_t lengthhi); } 298; XXX note - bigendian is different 299201 STD { int freebsd32_ftruncate(int fd, int pad, \ 300 u_int32_t lengthlo, u_int32_t lengthhi); } 301202 MSTD { int freebsd32_sysctl(int *name, u_int namelen, void *old, \ 302 u_int32_t *oldlenp, void *new, u_int32_t newlen); } 303203 MNOPROTO { int mlock(const void *addr, size_t len); } 304204 MNOPROTO { int munlock(const void *addr, size_t len); } 305205 NOPROTO { int undelete(char *path); } 306206 NOPROTO { int futimes(int fd, struct timeval *tptr); } 307207 MNOPROTO { int getpgid(pid_t pid); } 308208 UNIMPL newreboot (NetBSD) 309209 MNOPROTO { int poll(struct pollfd *fds, u_int nfds, int timeout); } 310 311; 312; The following are reserved for loadable syscalls 313; 314210 UNIMPL 315211 UNIMPL 316212 UNIMPL 317213 UNIMPL 318214 UNIMPL 319215 UNIMPL 320216 UNIMPL 321217 UNIMPL 322218 UNIMPL 323219 UNIMPL 324 325; 326; The following were introduced with NetBSD/4.4Lite-2 327; They are initialized by thier respective modules/sysinits 328; XXX PROBLEM!! 329220 MNOPROTO { int __semctl(int semid, int semnum, int cmd, \ 330 union semun *arg); } 331221 MNOPROTO { int semget(key_t key, int nsems, int semflg); } 332222 MNOPROTO { int semop(int semid, struct sembuf *sops, u_int nsops); } 333223 UNIMPL semconfig 334224 MNOPROTO { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } 335225 MNOPROTO { int msgget(key_t key, int msgflg); } 336226 MNOPROTO { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 337 int msgflg); } 338227 MNOPROTO { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 339 long msgtyp, int msgflg); } 340228 MNOPROTO { int shmat(int shmid, void *shmaddr, int shmflg); } 341229 MNOPROTO { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } 342230 MNOPROTO { int shmdt(void *shmaddr); } 343231 MNOPROTO { int shmget(key_t key, int size, int shmflg); } 344; 345232 MNOPROTO { int clock_gettime(clockid_t clock_id, struct timespec *tp); } 346233 MNOPROTO { int clock_settime(clockid_t clock_id, \ 347 const struct timespec *tp); } 348234 MNOPROTO { int clock_getres(clockid_t clock_id, struct timespec *tp); } 349235 UNIMPL timer_create 350236 UNIMPL timer_delete 351237 UNIMPL timer_settime 352238 UNIMPL timer_gettime 353239 UNIMPL timer_getoverrun 354240 MNOPROTO { int nanosleep(const struct timespec *rqtp, \ 355 struct timespec *rmtp); } 356241 UNIMPL nosys 357242 UNIMPL nosys 358243 UNIMPL nosys 359244 UNIMPL nosys 360245 UNIMPL nosys 361246 UNIMPL nosys 362247 UNIMPL nosys 363248 UNIMPL nosys 364249 UNIMPL nosys 365; syscall numbers initially used in OpenBSD 366250 MNOPROTO { int minherit(void *addr, size_t len, int inherit); } 367251 MNOPROTO { int rfork(int flags); } 368252 MNOPROTO { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 369 int timeout); } 370253 MNOPROTO { int issetugid(void); } 371254 NOPROTO { int lchown(char *path, int uid, int gid); } 372255 UNIMPL nosys 373256 UNIMPL nosys 374257 UNIMPL nosys 375258 UNIMPL nosys 376259 UNIMPL nosys 377260 UNIMPL nosys 378261 UNIMPL nosys 379262 UNIMPL nosys 380263 UNIMPL nosys 381264 UNIMPL nosys 382265 UNIMPL nosys 383266 UNIMPL nosys 384267 UNIMPL nosys 385268 UNIMPL nosys 386269 UNIMPL nosys 387270 UNIMPL nosys 388271 UNIMPL nosys 389272 NOPROTO { int getdents(int fd, char *buf, size_t count); } 390273 UNIMPL nosys 391274 NOPROTO { int lchmod(char *path, mode_t mode); } 392275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } \ 393 netbsd_lchown lchown_args int 394276 NOPROTO { int lutimes(char *path, struct timeval *tptr); } 395277 MNOPROTO { int msync(void *addr, size_t len, int flags); } \ 396 netbsd_msync msync_args int 397278 NOPROTO { int nstat(char *path, struct nstat *ub); } 398279 MNOPROTO { int nfstat(int fd, struct nstat *sb); } 399280 NOPROTO { int nlstat(char *path, struct nstat *ub); } 400281 UNIMPL nosys 401282 UNIMPL nosys 402283 UNIMPL nosys 403284 UNIMPL nosys 404285 UNIMPL nosys 405286 UNIMPL nosys 406287 UNIMPL nosys 407288 UNIMPL nosys 408289 UNIMPL nosys 409290 UNIMPL nosys 410291 UNIMPL nosys 411292 UNIMPL nosys 412293 UNIMPL nosys 413294 UNIMPL nosys 414295 UNIMPL nosys 415296 UNIMPL nosys 416; XXX 297 is 300 in NetBSD 417297 NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ 418 struct statfs *buf); } 419298 NOPROTO { int fhopen(const struct fhandle *u_fhp, int flags); } 420299 NOPROTO { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 421; syscall numbers for FreeBSD 422300 MNOPROTO { int modnext(int modid); } 423301 MNOPROTO { int modstat(int modid, struct module_stat* stat); } 424302 MNOPROTO { int modfnext(int modid); } 425303 MNOPROTO { int modfind(const char *name); } 426304 MNOPROTO { int kldload(const char *file); } 427305 MNOPROTO { int kldunload(int fileid); } 428306 MNOPROTO { int kldfind(const char *file); } 429307 MNOPROTO { int kldnext(int fileid); } 430308 MNOPROTO { int kldstat(int fileid, struct kld_file_stat* stat); } 431309 MNOPROTO { int kldfirstmod(int fileid); } 432310 MNOPROTO { int getsid(pid_t pid); } 433311 MNOPROTO { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 434312 MNOPROTO { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 435313 OBSOL signanosleep 436314 UNIMPL aio_return 437315 UNIMPL aio_suspend 438316 UNIMPL aio_cancel 439317 UNIMPL aio_error 440318 UNIMPL aio_read 441319 UNIMPL aio_write 442320 UNIMPL lio_listio 443321 MNOPROTO { int yield(void); } 444322 OBSOL thr_sleep 445323 OBSOL thr_wakeup 446324 MNOPROTO { int mlockall(int how); } 447325 MNOPROTO { int munlockall(void); } 448326 NOPROTO { int __getcwd(u_char *buf, u_int buflen); } 449 450327 MNOPROTO { int sched_setparam (pid_t pid, \ 451 const struct sched_param *param); } 452328 MNOPROTO { int sched_getparam (pid_t pid, struct sched_param *param); } 453 454329 MNOPROTO { int sched_setscheduler (pid_t pid, int policy, \ 455 const struct sched_param *param); } 456330 MNOPROTO { int sched_getscheduler (pid_t pid); } 457 458331 MNOPROTO { int sched_yield (void); } 459332 MNOPROTO { int sched_get_priority_max (int policy); } 460333 MNOPROTO { int sched_get_priority_min (int policy); } 461334 MNOPROTO { int sched_rr_get_interval (pid_t pid, \ 462 struct timespec *interval); } 463335 MNOPROTO { int utrace(const void *addr, size_t len); } 464; XXX note - bigendian is different 465336 MCOMPAT4 { int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \ 466 u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \ 467 off_t *sbytes, int flags); } 468337 NOPROTO { int kldsym(int fileid, int cmd, void *data); } 469338 MNOPROTO { int jail(struct jail *jail); } 470339 UNIMPL pioctl 471340 MNOPROTO { int sigprocmask(int how, const sigset_t *set, \ 472 sigset_t *oset); } 473341 MNOPROTO { int sigsuspend(const sigset_t *sigmask); } 474342 MCOMPAT4 { int freebsd32_sigaction(int sig, struct sigaction32 *act, \ 475 struct sigaction32 *oact); } 476343 MNOPROTO { int sigpending(sigset_t *set); } 477344 MCOMPAT4 { int freebsd32_sigreturn( \ 478 const struct __ucontext *sigcntxp); } 479; XXX implement 480345 UNIMPL sigtimedwait 481; XXX implement 482346 UNIMPL sigwaitinfo 483347 MNOPROTO { int __acl_get_file(const char *path, acl_type_t type, \ 484 struct acl *aclp); } 485348 MNOPROTO { int __acl_set_file(const char *path, acl_type_t type, \ 486 struct acl *aclp); } 487349 MNOPROTO { int __acl_get_fd(int filedes, acl_type_t type, \ 488 struct acl *aclp); } 489350 MNOPROTO { int __acl_set_fd(int filedes, acl_type_t type, \ 490 struct acl *aclp); } 491351 MNOPROTO { int __acl_delete_file(const char *path, acl_type_t type); } 492352 MNOPROTO { int __acl_delete_fd(int filedes, acl_type_t type); } 493353 MNOPROTO { int __acl_aclcheck_file(const char *path, acl_type_t type, \ 494 struct acl *aclp); } 495354 MNOPROTO { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 496 struct acl *aclp); } 497355 NOPROTO { int extattrctl(const char *path, int cmd, \ 498 const char *filename, int attrnamespace, \ 499 const char *attrname); } 500356 NOPROTO { int extattr_set_file(const char *path, \ 501 int attrnamespace, const char *attrname, \ 502 void *data, size_t nbytes); } 503357 NOPROTO { ssize_t extattr_get_file(const char *path, \ 504 int attrnamespace, const char *attrname, \ 505 void *data, size_t nbytes); } 506358 NOPROTO { int extattr_delete_file(const char *path, \ 507 int attrnamespace, const char *attrname); } 508359 UNIMPL aio_waitcomplete 509360 MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 510361 MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 511362 MNOPROTO { int kqueue(void); } 512363 MSTD { int freebsd32_kevent(int fd, \ 513 const struct kevent *changelist, int nchanges, \ 514 struct kevent *eventlist, int nevents, \ 515 const struct timespec *timeout); } 516364 UNIMPL __cap_get_proc 517365 UNIMPL __cap_set_proc 518366 UNIMPL __cap_get_fd 519367 UNIMPL __cap_get_file 520368 UNIMPL __cap_set_fd 521369 UNIMPL __cap_set_file 522370 UNIMPL lkmressys 523371 NOPROTO { int extattr_set_fd(int fd, int attrnamespace, \ 524 const char *attrname, void *data, size_t nbytes); } 525372 NOPROTO { ssize_t extattr_get_fd(int fd, int attrnamespace, \ 526 const char *attrname, void *data, size_t nbytes); } 527373 NOPROTO { int extattr_delete_fd(int fd, int attrnamespace, \ 528 const char *attrname); } 529374 MNOPROTO { int __setugid(int flag); } 530375 UNIMPL nfsclnt 531376 NOPROTO { int eaccess(char *path, int flags); } 532377 UNIMPL afs_syscall 533378 NOPROTO { int nmount(struct iovec *iovp, unsigned int iovcnt, \ 534 int flags); } 535379 NOPROTO { int kse_exit(void); } 536380 NOPROTO { int kse_wakeup(struct kse_mailbox *mbx); } 537381 NOPROTO { int kse_create(struct kse_mailbox *mbx, int newgroup); } 538382 NOPROTO { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); } 539383 NOPROTO { int kse_release(void); } 540384 UNIMPL __mac_get_proc 541385 UNIMPL __mac_set_proc 542386 UNIMPL __mac_get_fd 543387 UNIMPL __mac_get_file 544388 UNIMPL __mac_set_fd 545389 UNIMPL __mac_set_file 546390 NOPROTO { int kenv(int what, const char *name, char *value, int len); } 547391 NOPROTO { int lchflags(const char *path, int flags); } 548392 NOPROTO { int uuidgen(struct uuid *store, int count); } 549393 MSTD { int freebsd32_sendfile(int fd, int s, u_int32_t offsetlo, \ 550 u_int32_t offsethi, size_t nbytes, struct sf_hdtr *hdtr, \ 551 off_t *sbytes, int flags); } 552394 UNIMPL mac_syscall 553395 UNIMPL nosys 554396 UNIMPL nosys 555397 UNIMPL nosys 556398 UNIMPL nosys 557399 UNIMPL nosys 558; XXX implement these? 559400 UNIMPL ksem_close 560401 UNIMPL ksem_post 561402 UNIMPL ksem_wait 562403 UNIMPL ksem_trywait 563404 UNIMPL ksem_init 564405 UNIMPL ksem_open 565406 UNIMPL ksem_unlink 566407 UNIMPL ksem_getvalue 567408 UNIMPL ksem_destroy 568409 UNIMPL __mac_get_pid 569410 UNIMPL __mac_get_link 570411 UNIMPL __mac_set_link 571412 UNIMPL extattr_set_link 572413 UNIMPL extattr_get_link 573414 UNIMPL extattr_delete_link 574415 UNIMPL __mac_execve 575416 STD { int freebsd32_sigaction(int sig, struct sigaction32 *act, \ 576 struct sigaction32 *oact); } 577417 MSTD { int freebsd32_sigreturn( \ 578 const struct freebsd32_ucontext *sigcntxp); } 579418 UNIMPL __xstat 580419 UNIMPL __xfstat 581420 UNIMPL __xlstat 582; XXX implement 583421 UNIMPL getcontext 584; XXX implement 585422 UNIMPL setcontext 586; XXX implement 587423 UNIMPL swapcontext 588424 UNIMPL swapoff 589425 UNIMPL __acl_get_link 590426 UNIMPL __acl_set_link 591427 UNIMPL __acl_delete_link 592428 UNIMPL __acl_aclcheck_link 593; XXX implement 594429 UNIMPL sigwait 595430 MNOPROTO { int thr_create(ucontext_t *ctx, thr_id_t *id, int flag s); } 596431 MNOPROTO { void thr_exit(void); } 597432 MNOPROTO { int thr_self(thr_id_t *id); } 598433 MNOPROTO { int thr_kill(thr_id_t id, int sig); } 599434 MNOPROTO { int _umtx_lock(struct umtx *umtx); } 600435 MNOPROTO { int _umtx_unlock(struct umtx *umtx); } 601436 MNOPROTO { int jail_attach(int jid); } 602437 UNIMPL extattr_list_fd 603438 UNIMPL extattr_list_file 604439 UNIMPL extattr_list_link 605440 UNIMPL kse_switchin 606