1; $OpenBSD: syscalls.master,v 1.173 2016/06/27 16:50:07 jsing Exp $ 2; $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $ 3 4; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 5 6; OpenBSD system call name/number "master" file. 7; (See syscalls.conf to see what it is processed into.) 8; 9; Fields: number type [type-dependent ...] 10; number system call number, must be in order 11; type one of the types described below, or one of the 12; compatibility options defined in syscalls.conf 13; 14; types: 15; INDIR included, but don't define the syscall args structure, 16; and allow it to be "really" varargs 17; NOARGS included, but don't define the syscall args structure 18; NODEF included, but don't define the syscall number 19; NOLOCK don't acquire the kernel lock when calling this syscall 20; OBSOL obsolete, not included in system 21; STD always included 22; UNIMPL unimplemented, not included in system 23; 24; The compat options are defined in the syscalls.conf file, and the 25; compat option name is prefixed to the syscall name. Other than 26; that, they're like NODEF (for 'compat' options), or STD (for 27; 'libcompat' options). 28; 29; The type-dependent arguments are as follows: 30; For STD, NODEF, NOARGS, and compat syscalls: 31; { pseudo-proto } [alias] 32; For other syscalls: 33; [comment] 34; 35; #ifdef's, etc. may be included, and are copied to the output files. 36; #include's are copied to the syscall switch definition file only. 37 38#include <sys/param.h> 39#include <sys/systm.h> 40#include <sys/signal.h> 41#include <sys/mount.h> 42#include <sys/syscallargs.h> 43#include <sys/poll.h> 44 45; Reserved/unimplemented system calls in the range 0-150 inclusive 46; are reserved for use in future Berkeley releases. 47; Additional system calls implemented in vendor and other 48; redistributions should be placed in the reserved range at the end 49; of the current calls. 50 510 INDIR { int sys_syscall(int number, ...); } 521 STD { void sys_exit(int rval); } 532 STD { int sys_fork(void); } 543 STD { ssize_t sys_read(int fd, void *buf, size_t nbyte); } 554 STD { ssize_t sys_write(int fd, const void *buf, \ 56 size_t nbyte); } 575 STD { int sys_open(const char *path, \ 58 int flags, ... mode_t mode); } 596 STD { int sys_close(int fd); } 607 STD NOLOCK { int sys_getentropy(void *buf, size_t nbyte); } 618 STD { int sys___tfork(const struct __tfork *param, \ 62 size_t psize); } 639 STD { int sys_link(const char *path, const char *link); } 6410 STD { int sys_unlink(const char *path); } 6511 STD { pid_t sys_wait4(pid_t pid, int *status, \ 66 int options, struct rusage *rusage); } 6712 STD { int sys_chdir(const char *path); } 6813 STD { int sys_fchdir(int fd); } 6914 STD { int sys_mknod(const char *path, mode_t mode, \ 70 dev_t dev); } 7115 STD { int sys_chmod(const char *path, mode_t mode); } 7216 STD { int sys_chown(const char *path, uid_t uid, \ 73 gid_t gid); } 7417 STD { int sys_obreak(char *nsize); } break 7518 STD NOLOCK { int sys_getdtablecount(void); } 7619 STD { int sys_getrusage(int who, \ 77 struct rusage *rusage); } 7820 STD NOLOCK { pid_t sys_getpid(void); } 7921 STD { int sys_mount(const char *type, const char *path, \ 80 int flags, void *data); } 8122 STD { int sys_unmount(const char *path, int flags); } 8223 STD { int sys_setuid(uid_t uid); } 8324 STD NOLOCK { uid_t sys_getuid(void); } 8425 STD NOLOCK { uid_t sys_geteuid(void); } 85#ifdef PTRACE 8626 STD { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ 87 int data); } 88#else 8926 UNIMPL ptrace 90#endif 9127 STD { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ 92 int flags); } 9328 STD { ssize_t sys_sendmsg(int s, \ 94 const struct msghdr *msg, int flags); } 9529 STD { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ 96 int flags, struct sockaddr *from, \ 97 socklen_t *fromlenaddr); } 9830 STD { int sys_accept(int s, struct sockaddr *name, \ 99 socklen_t *anamelen); } 10031 STD { int sys_getpeername(int fdes, struct sockaddr *asa, \ 101 socklen_t *alen); } 10232 STD { int sys_getsockname(int fdes, struct sockaddr *asa, \ 103 socklen_t *alen); } 10433 STD { int sys_access(const char *path, int amode); } 10534 STD { int sys_chflags(const char *path, u_int flags); } 10635 STD { int sys_fchflags(int fd, u_int flags); } 10736 STD { void sys_sync(void); } 10837 STD { int sys_o58_kill(int pid, int signum); } 10938 STD { int sys_stat(const char *path, struct stat *ub); } 11039 STD { pid_t sys_getppid(void); } 11140 STD { int sys_lstat(const char *path, struct stat *ub); } 11241 STD { int sys_dup(int fd); } 11342 STD { int sys_fstatat(int fd, const char *path, \ 114 struct stat *buf, int flag); } 11543 STD NOLOCK { gid_t sys_getegid(void); } 11644 STD { int sys_profil(caddr_t samples, size_t size, \ 117 u_long offset, u_int scale); } 118#ifdef KTRACE 11945 STD { int sys_ktrace(const char *fname, int ops, \ 120 int facs, pid_t pid); } 121#else 12245 UNIMPL ktrace 123#endif 12446 STD { int sys_sigaction(int signum, \ 125 const struct sigaction *nsa, \ 126 struct sigaction *osa); } 12747 STD NOLOCK { gid_t sys_getgid(void); } 12848 STD NOLOCK { int sys_sigprocmask(int how, sigset_t mask); } 12949 STD { int sys_getlogin59(char *namebuf, u_int namelen); } 13050 STD { int sys_setlogin(const char *namebuf); } 131#ifdef ACCOUNTING 13251 STD { int sys_acct(const char *path); } 133#else 13451 UNIMPL acct 135#endif 13652 STD { int sys_sigpending(void); } 13753 STD { int sys_fstat(int fd, struct stat *sb); } 13854 STD { int sys_ioctl(int fd, \ 139 u_long com, ... void *data); } 14055 STD { int sys_reboot(int opt); } 14156 STD { int sys_revoke(const char *path); } 14257 STD { int sys_symlink(const char *path, \ 143 const char *link); } 14458 STD { ssize_t sys_readlink(const char *path, \ 145 char *buf, size_t count); } 14659 STD { int sys_execve(const char *path, \ 147 char * const *argp, char * const *envp); } 14860 STD { mode_t sys_umask(mode_t newmask); } 14961 STD { int sys_chroot(const char *path); } 15062 STD { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ 151 int flags); } 15263 STD { int sys_statfs(const char *path, \ 153 struct statfs *buf); } 15464 STD { int sys_fstatfs(int fd, struct statfs *buf); } 15565 STD { int sys_fhstatfs(const fhandle_t *fhp, \ 156 struct statfs *buf); } 15766 STD { int sys_vfork(void); } 15867 STD NOLOCK { int sys_gettimeofday(struct timeval *tp, \ 159 struct timezone *tzp); } 16068 STD { int sys_settimeofday(const struct timeval *tv, \ 161 const struct timezone *tzp); } 16269 STD { int sys_setitimer(int which, \ 163 const struct itimerval *itv, \ 164 struct itimerval *oitv); } 16570 STD { int sys_getitimer(int which, \ 166 struct itimerval *itv); } 16771 STD { int sys_select(int nd, fd_set *in, fd_set *ou, \ 168 fd_set *ex, struct timeval *tv); } 16972 STD { int sys_kevent(int fd, \ 170 const struct kevent *changelist, int nchanges, \ 171 struct kevent *eventlist, int nevents, \ 172 const struct timespec *timeout); } 17373 STD { int sys_munmap(void *addr, size_t len); } 17474 STD { int sys_mprotect(void *addr, size_t len, \ 175 int prot); } 17675 STD { int sys_madvise(void *addr, size_t len, \ 177 int behav); } 17876 STD { int sys_utimes(const char *path, \ 179 const struct timeval *tptr); } 18077 STD { int sys_futimes(int fd, \ 181 const struct timeval *tptr); } 18278 STD { int sys_mincore(void *addr, size_t len, \ 183 char *vec); } 18479 STD NOLOCK { int sys_getgroups(int gidsetsize, \ 185 gid_t *gidset); } 18680 STD { int sys_setgroups(int gidsetsize, \ 187 const gid_t *gidset); } 18881 STD { int sys_getpgrp(void); } 18982 STD { int sys_setpgid(pid_t pid, pid_t pgid); } 19083 OBSOL osendsyslog 19184 STD { int sys_utimensat(int fd, const char *path, \ 192 const struct timespec *times, int flag); } 19385 STD { int sys_futimens(int fd, \ 194 const struct timespec *times); } 19586 STD { int sys_kbind(const struct __kbind *param, \ 196 size_t psize, int64_t proc_cookie); } 19787 STD NOLOCK { int sys_clock_gettime(clockid_t clock_id, \ 198 struct timespec *tp); } 19988 STD { int sys_clock_settime(clockid_t clock_id, \ 200 const struct timespec *tp); } 20189 STD NOLOCK { int sys_clock_getres(clockid_t clock_id, \ 202 struct timespec *tp); } 20390 STD { int sys_dup2(int from, int to); } 20491 STD { int sys_nanosleep(const struct timespec *rqtp, \ 205 struct timespec *rmtp); } 20692 STD { int sys_fcntl(int fd, int cmd, ... void *arg); } 20793 STD { int sys_accept4(int s, struct sockaddr *name, \ 208 socklen_t *anamelen, int flags); } 20994 STD { int sys___thrsleep(const volatile void *ident, \ 210 clockid_t clock_id, const struct timespec *tp, \ 211 void *lock, const int *abort); } 21295 STD { int sys_fsync(int fd); } 21396 STD { int sys_setpriority(int which, id_t who, int prio); } 21497 STD { int sys_socket(int domain, int type, int protocol); } 21598 STD { int sys_connect(int s, const struct sockaddr *name, \ 216 socklen_t namelen); } 21799 STD { int sys_getdents(int fd, void *buf, size_t buflen); } 218100 STD { int sys_getpriority(int which, id_t who); } 219101 STD { int sys_pipe2(int *fdp, int flags); } 220102 STD { int sys_dup3(int from, int to, int flags); } 221103 STD { int sys_sigreturn(struct sigcontext *sigcntxp); } 222104 STD { int sys_bind(int s, const struct sockaddr *name, \ 223 socklen_t namelen); } 224105 STD { int sys_setsockopt(int s, int level, int name, \ 225 const void *val, socklen_t valsize); } 226106 STD { int sys_listen(int s, int backlog); } 227107 STD { int sys_chflagsat(int fd, const char *path, \ 228 u_int flags, int atflags); } 229108 STD { int sys_pledge(const char *request, const char **paths); } 230109 STD { int sys_ppoll(struct pollfd *fds, \ 231 u_int nfds, const struct timespec *ts, \ 232 const sigset_t *mask); } 233110 STD { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ 234 fd_set *ex, const struct timespec *ts, \ 235 const sigset_t *mask); } 236111 STD { int sys_sigsuspend(int mask); } 237112 STD { int sys_sendsyslog(const void *buf, size_t nbyte, \ 238 int flags); } 239113 OBSOL orecvmsg 240114 OBSOL osendmsg 241115 OBSOL vtrace 242116 OBSOL t32_gettimeofday 243117 OBSOL t32_getrusage 244118 STD { int sys_getsockopt(int s, int level, int name, \ 245 void *val, socklen_t *avalsize); } 246119 STD { int sys_thrkill(pid_t tid, int signum, void *tcb); } 247120 STD { ssize_t sys_readv(int fd, \ 248 const struct iovec *iovp, int iovcnt); } 249121 STD { ssize_t sys_writev(int fd, \ 250 const struct iovec *iovp, int iovcnt); } 251122 STD { int sys_kill(int pid, int signum); } 252123 STD { int sys_fchown(int fd, uid_t uid, gid_t gid); } 253124 STD { int sys_fchmod(int fd, mode_t mode); } 254125 OBSOL orecvfrom 255126 STD { int sys_setreuid(uid_t ruid, uid_t euid); } 256127 STD { int sys_setregid(gid_t rgid, gid_t egid); } 257128 STD { int sys_rename(const char *from, const char *to); } 258129 OBSOL otruncate 259130 OBSOL oftruncate 260131 STD { int sys_flock(int fd, int how); } 261132 STD { int sys_mkfifo(const char *path, mode_t mode); } 262133 STD { ssize_t sys_sendto(int s, const void *buf, \ 263 size_t len, int flags, const struct sockaddr *to, \ 264 socklen_t tolen); } 265134 STD { int sys_shutdown(int s, int how); } 266135 STD { int sys_socketpair(int domain, int type, \ 267 int protocol, int *rsv); } 268136 STD { int sys_mkdir(const char *path, mode_t mode); } 269137 STD { int sys_rmdir(const char *path); } 270138 OBSOL t32_utimes 271139 OBSOL 4.2 sigreturn 272140 STD { int sys_adjtime(const struct timeval *delta, \ 273 struct timeval *olddelta); } 274141 STD { int sys_getlogin_r(char *namebuf, u_int namelen); } 275142 OBSOL ogethostid 276143 OBSOL osethostid 277144 OBSOL ogetrlimit 278145 OBSOL osetrlimit 279146 OBSOL okillpg 280147 STD { int sys_setsid(void); } 281148 STD { int sys_quotactl(const char *path, int cmd, \ 282 int uid, char *arg); } 283149 OBSOL oquota 284150 OBSOL ogetsockname 285 286; Syscalls 151-180 inclusive are reserved for vendor-specific 287; system calls. (This includes various calls added for compatibility 288; with other Unix variants.) 289; Some of these calls are now supported by BSD... 290151 UNIMPL 291152 UNIMPL 292153 UNIMPL 293154 UNIMPL 294#if defined(NFSCLIENT) || defined(NFSSERVER) 295155 STD { int sys_nfssvc(int flag, void *argp); } 296#else 297155 UNIMPL 298#endif 299156 OBSOL ogetdirentries 300157 OBSOL statfs25 301158 OBSOL fstatfs25 302159 UNIMPL 303160 UNIMPL 304161 STD { int sys_getfh(const char *fname, fhandle_t *fhp); } 305162 OBSOL ogetdomainname 306163 OBSOL osetdomainname 307164 UNIMPL ouname 308165 STD { int sys_sysarch(int op, void *parms); } 309166 UNIMPL 310167 UNIMPL 311168 UNIMPL 312169 OBSOL semsys10 313170 OBSOL msgsys10 314171 OBSOL shmsys10 315172 UNIMPL 316173 STD { ssize_t sys_pread(int fd, void *buf, \ 317 size_t nbyte, int pad, off_t offset); } 318174 STD { ssize_t sys_pwrite(int fd, const void *buf, \ 319 size_t nbyte, int pad, off_t offset); } 320175 UNIMPL ntp_gettime 321176 UNIMPL ntp_adjtime 322177 UNIMPL 323178 UNIMPL 324179 UNIMPL 325180 UNIMPL 326 327; Syscalls 181-199 are used by/reserved for BSD 328181 STD { int sys_setgid(gid_t gid); } 329182 STD { int sys_setegid(gid_t egid); } 330183 STD { int sys_seteuid(uid_t euid); } 331184 OBSOL lfs_bmapv 332185 OBSOL lfs_markv 333186 OBSOL lfs_segclean 334187 OBSOL lfs_segwait 335188 OBSOL stat35 336189 OBSOL fstat35 337190 OBSOL lstat35 338191 STD { long sys_pathconf(const char *path, int name); } 339192 STD { long sys_fpathconf(int fd, int name); } 340193 STD { int sys_swapctl(int cmd, const void *arg, int misc); } 341194 STD { int sys_getrlimit(int which, \ 342 struct rlimit *rlp); } 343195 STD { int sys_setrlimit(int which, \ 344 const struct rlimit *rlp); } 345196 OBSOL ogetdirentries48 346197 STD { void *sys_mmap(void *addr, size_t len, int prot, \ 347 int flags, int fd, long pad, off_t pos); } 348198 INDIR { quad_t sys___syscall(quad_t num, ...); } 349199 STD { off_t sys_lseek(int fd, int pad, off_t offset, \ 350 int whence); } 351200 STD { int sys_truncate(const char *path, int pad, \ 352 off_t length); } 353201 STD { int sys_ftruncate(int fd, int pad, off_t length); } 354202 STD { int sys_sysctl(const int *name, u_int namelen, \ 355 void *old, size_t *oldlenp, void *new, \ 356 size_t newlen); } 357203 STD { int sys_mlock(const void *addr, size_t len); } 358204 STD { int sys_munlock(const void *addr, size_t len); } 359205 UNIMPL sys_undelete 360206 OBSOL t32_futimes 361207 STD { pid_t sys_getpgid(pid_t pid); } 362208 OBSOL nnpfspioctl 363209 STD { int sys_utrace(const char *label, const void *addr, \ 364 size_t len); } 365; 366; Syscalls 210-219 were reserved for dynamically loaded syscalls 367; 368210 UNIMPL 369211 UNIMPL 370212 UNIMPL 371213 UNIMPL 372214 UNIMPL 373215 UNIMPL 374216 UNIMPL 375217 UNIMPL 376218 UNIMPL 377219 UNIMPL 378; System calls 220-240 are reserved for use by OpenBSD 379#ifdef SYSVSEM 380220 UNIMPL 381221 STD { int sys_semget(key_t key, int nsems, int semflg); } 382#else 383220 UNIMPL semctl 384221 UNIMPL semget 385#endif 386222 OBSOL semop35 387223 OBSOL semconfig35 388#ifdef SYSVMSG 389224 UNIMPL 390225 STD { int sys_msgget(key_t key, int msgflg); } 391226 STD { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ 392 int msgflg); } 393227 STD { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ 394 long msgtyp, int msgflg); } 395#else 396224 UNIMPL msgctl 397225 UNIMPL msgget 398226 UNIMPL msgsnd 399227 UNIMPL msgrcv 400#endif 401#ifdef SYSVSHM 402228 STD { void *sys_shmat(int shmid, const void *shmaddr, \ 403 int shmflg); } 404229 UNIMPL 405230 STD { int sys_shmdt(const void *shmaddr); } 406#else 407228 UNIMPL shmat 408229 UNIMPL shmctl 409230 UNIMPL shmdt 410#endif 411231 OBSOL shmget35 412232 OBSOL t32_clock_gettime 413233 OBSOL t32_clock_settime 414234 OBSOL t32_clock_getres 415235 UNIMPL timer_create 416236 UNIMPL timer_delete 417237 UNIMPL timer_settime 418238 UNIMPL timer_gettime 419239 UNIMPL timer_getoverrun 420; 421; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls 422; 423240 OBSOL t32_nanosleep 424241 UNIMPL 425242 UNIMPL 426243 UNIMPL 427244 UNIMPL 428245 UNIMPL 429246 UNIMPL 430247 UNIMPL 431248 UNIMPL 432249 UNIMPL 433250 STD { int sys_minherit(void *addr, size_t len, \ 434 int inherit); } 435251 OBSOL rfork 436252 STD { int sys_poll(struct pollfd *fds, \ 437 u_int nfds, int timeout); } 438253 STD NOLOCK { int sys_issetugid(void); } 439254 STD { int sys_lchown(const char *path, uid_t uid, gid_t gid); } 440255 STD { pid_t sys_getsid(pid_t pid); } 441256 STD { int sys_msync(void *addr, size_t len, int flags); } 442257 OBSOL semctl35 443258 OBSOL shmctl35 444259 OBSOL msgctl35 445260 UNIMPL 446261 UNIMPL 447262 UNIMPL 448263 STD { int sys_pipe(int *fdp); } 449264 STD { int sys_fhopen(const fhandle_t *fhp, int flags); } 450265 UNIMPL 451266 UNIMPL 452267 STD { ssize_t sys_preadv(int fd, \ 453 const struct iovec *iovp, int iovcnt, \ 454 int pad, off_t offset); } 455268 STD { ssize_t sys_pwritev(int fd, \ 456 const struct iovec *iovp, int iovcnt, \ 457 int pad, off_t offset); } 458269 STD { int sys_kqueue(void); } 459270 OBSOL t32_kevent 460271 STD { int sys_mlockall(int flags); } 461272 STD { int sys_munlockall(void); } 462273 UNIMPL sys_getpeereid 463274 UNIMPL sys_extattrctl 464275 UNIMPL sys_extattr_set_file 465276 UNIMPL sys_extattr_get_file 466277 UNIMPL sys_extattr_delete_file 467278 UNIMPL sys_extattr_set_fd 468279 UNIMPL sys_extattr_get_fd 469280 UNIMPL sys_extattr_delete_fd 470281 STD NOLOCK { int sys_getresuid(uid_t *ruid, uid_t *euid, \ 471 uid_t *suid); } 472282 STD { int sys_setresuid(uid_t ruid, uid_t euid, \ 473 uid_t suid); } 474283 STD NOLOCK { int sys_getresgid(gid_t *rgid, gid_t *egid, \ 475 gid_t *sgid); } 476284 STD { int sys_setresgid(gid_t rgid, gid_t egid, \ 477 gid_t sgid); } 478285 OBSOL sys_omquery 479286 STD { void *sys_mquery(void *addr, size_t len, int prot, \ 480 int flags, int fd, long pad, off_t pos); } 481287 STD { int sys_closefrom(int fd); } 482288 STD { int sys_sigaltstack(const struct sigaltstack *nss, \ 483 struct sigaltstack *oss); } 484#ifdef SYSVSHM 485289 STD { int sys_shmget(key_t key, size_t size, int shmflg); } 486#else 487289 UNIMPL shmget 488#endif 489#ifdef SYSVSEM 490290 STD { int sys_semop(int semid, struct sembuf *sops, \ 491 size_t nsops); } 492#else 493290 UNIMPL semop 494#endif 495291 OBSOL t32_stat 496292 OBSOL t32_fstat 497293 OBSOL t32_lstat 498294 STD { int sys_fhstat(const fhandle_t *fhp, \ 499 struct stat *sb); } 500#ifdef SYSVSEM 501295 STD { int sys___semctl(int semid, int semnum, int cmd, \ 502 union semun *arg); } 503#else 504295 UNIMPL 505#endif 506#ifdef SYSVSHM 507296 STD { int sys_shmctl(int shmid, int cmd, \ 508 struct shmid_ds *buf); } 509#else 510296 UNIMPL 511#endif 512#ifdef SYSVMSG 513297 STD { int sys_msgctl(int msqid, int cmd, \ 514 struct msqid_ds *buf); } 515#else 516297 UNIMPL 517#endif 518298 STD { int sys_sched_yield(void); } 519299 STD NOLOCK { pid_t sys_getthrid(void); } 520300 OBSOL t32___thrsleep 521301 STD { int sys___thrwakeup(const volatile void *ident, \ 522 int n); } 523302 STD { void sys___threxit(pid_t *notdead); } 524303 STD { int sys___thrsigdivert(sigset_t sigmask, \ 525 siginfo_t *info, const struct timespec *timeout); } 526304 STD { int sys___getcwd(char *buf, size_t len); } 527305 STD { int sys_adjfreq(const int64_t *freq, \ 528 int64_t *oldfreq); } 529306 OBSOL getfsstat53 530307 OBSOL statfs53 531308 OBSOL fstatfs53 532309 OBSOL fhstatfs53 533310 STD { int sys_setrtable(int rtableid); } 534311 STD NOLOCK { int sys_getrtable(void); } 535312 OBSOL t32_getdirentries 536313 STD { int sys_faccessat(int fd, const char *path, \ 537 int amode, int flag); } 538314 STD { int sys_fchmodat(int fd, const char *path, \ 539 mode_t mode, int flag); } 540315 STD { int sys_fchownat(int fd, const char *path, \ 541 uid_t uid, gid_t gid, int flag); } 542316 OBSOL t32_fstatat 543317 STD { int sys_linkat(int fd1, const char *path1, int fd2, \ 544 const char *path2, int flag); } 545318 STD { int sys_mkdirat(int fd, const char *path, \ 546 mode_t mode); } 547319 STD { int sys_mkfifoat(int fd, const char *path, \ 548 mode_t mode); } 549320 STD { int sys_mknodat(int fd, const char *path, \ 550 mode_t mode, dev_t dev); } 551321 STD { int sys_openat(int fd, const char *path, int flags, \ 552 ... mode_t mode); } 553322 STD { ssize_t sys_readlinkat(int fd, const char *path, \ 554 char *buf, size_t count); } 555323 STD { int sys_renameat(int fromfd, const char *from, \ 556 int tofd, const char *to); } 557324 STD { int sys_symlinkat(const char *path, int fd, \ 558 const char *link); } 559325 STD { int sys_unlinkat(int fd, const char *path, \ 560 int flag); } 561326 OBSOL t32_utimensat 562327 OBSOL t32_futimens 563328 OBSOL __tfork51 564329 STD NOLOCK { void sys___set_tcb(void *tcb); } 565330 STD NOLOCK { void *sys___get_tcb(void); } 566