src/sys/kern/syscalls.master

570 lines
21 KiB
Plaintext

; $OpenBSD: syscalls.master,v 1.262 2024/04/24 19:09:14 claudio Exp $
; $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
; OpenBSD system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
;
; Fields: number type [type-dependent ...]
; number system call number, must be in order
; type one of the types described below, or one of the
; compatibility options defined in syscalls.conf
;
; types:
; NOARGS included, but don't define the syscall args structure
; NODEF included, but don't define the syscall number
; NOLOCK don't acquire the kernel lock when calling this syscall
; OBSOL obsolete, not included in system
; STD always included
; UNIMPL unimplemented, not included in system
;
; The compat options are defined in the syscalls.conf file, and the
; compat option name is prefixed to the syscall name. Other than
; that, they're like NODEF (for 'compat' options), or STD (for
; 'libcompat' options).
;
; The type-dependent arguments are as follows:
; For STD, NODEF, NOARGS, and compat syscalls:
; { pseudo-proto } [alias]
; For other syscalls:
; [comment]
;
; #ifdef's, etc. may be included, and are copied to the output files.
; #include's are copied to the syscall switch definition file only.
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
#include <sys/poll.h>
; Reserved/unimplemented system calls in the range 0-150 inclusive
; are reserved for use in future Berkeley releases.
; Additional system calls implemented in vendor and other
; redistributions should be placed in the reserved range at the end
; of the current calls.
0 UNIMPL syscall
1 STD { void sys_exit(int rval); }
2 STD { int sys_fork(void); }
3 STD NOLOCK { ssize_t sys_read(int fd, void *buf, size_t nbyte); }
4 STD NOLOCK { ssize_t sys_write(int fd, const void *buf, \
size_t nbyte); }
5 STD { int sys_open(const char *path, \
int flags, ... mode_t mode); }
6 STD NOLOCK { int sys_close(int fd); }
7 STD NOLOCK { int sys_getentropy(void *buf, size_t nbyte); }
8 STD { int sys___tfork(const struct __tfork *param, \
size_t psize); }
9 STD { int sys_link(const char *path, const char *link); }
10 STD { int sys_unlink(const char *path); }
11 STD { pid_t sys_wait4(pid_t pid, int *status, \
int options, struct rusage *rusage); }
12 STD { int sys_chdir(const char *path); }
13 STD { int sys_fchdir(int fd); }
14 STD { int sys_mknod(const char *path, mode_t mode, \
dev_t dev); }
15 STD { int sys_chmod(const char *path, mode_t mode); }
16 STD { int sys_chown(const char *path, uid_t uid, \
gid_t gid); }
17 STD { int sys_obreak(char *nsize); } break
18 STD NOLOCK { int sys_getdtablecount(void); }
19 STD { int sys_getrusage(int who, \
struct rusage *rusage); }
20 STD NOLOCK { pid_t sys_getpid(void); }
21 STD { int sys_mount(const char *type, const char *path, \
int flags, void *data); }
22 STD { int sys_unmount(const char *path, int flags); }
23 STD { int sys_setuid(uid_t uid); }
24 STD NOLOCK { uid_t sys_getuid(void); }
25 STD NOLOCK { uid_t sys_geteuid(void); }
#ifdef PTRACE
26 STD { int sys_ptrace(int req, pid_t pid, caddr_t addr, \
int data); }
#else
26 UNIMPL ptrace
#endif
27 STD NOLOCK { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
int flags); }
28 STD NOLOCK { ssize_t sys_sendmsg(int s, \
const struct msghdr *msg, int flags); }
29 STD NOLOCK { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
int flags, struct sockaddr *from, \
socklen_t *fromlenaddr); }
30 STD NOLOCK { int sys_accept(int s, struct sockaddr *name, \
socklen_t *anamelen); }
31 STD NOLOCK { int sys_getpeername(int fdes, struct sockaddr *asa, \
socklen_t *alen); }
32 STD NOLOCK { int sys_getsockname(int fdes, struct sockaddr *asa, \
socklen_t *alen); }
33 STD { int sys_access(const char *path, int amode); }
34 STD { int sys_chflags(const char *path, u_int flags); }
35 STD { int sys_fchflags(int fd, u_int flags); }
36 STD { void sys_sync(void); }
37 OBSOL msyscall
38 STD { int sys_stat(const char *path, struct stat *ub); }
39 STD NOLOCK { pid_t sys_getppid(void); }
40 STD { int sys_lstat(const char *path, struct stat *ub); }
41 STD NOLOCK { int sys_dup(int fd); }
42 STD { int sys_fstatat(int fd, const char *path, \
struct stat *buf, int flag); }
43 STD NOLOCK { gid_t sys_getegid(void); }
44 STD { int sys_profil(caddr_t samples, size_t size, \
u_long offset, u_int scale); }
#ifdef KTRACE
45 STD { int sys_ktrace(const char *fname, int ops, \
int facs, pid_t pid); }
#else
45 UNIMPL ktrace
#endif
46 STD { int sys_sigaction(int signum, \
const struct sigaction *nsa, \
struct sigaction *osa); }
47 STD NOLOCK { gid_t sys_getgid(void); }
48 STD NOLOCK { int sys_sigprocmask(int how, sigset_t mask); }
49 STD NOLOCK { void *sys_mmap(void *addr, size_t len, int prot, \
int flags, int fd, off_t pos); }
50 STD { int sys_setlogin(const char *namebuf); }
#ifdef ACCOUNTING
51 STD { int sys_acct(const char *path); }
#else
51 UNIMPL acct
#endif
52 STD { int sys_sigpending(void); }
53 STD { int sys_fstat(int fd, struct stat *sb); }
54 STD NOLOCK { int sys_ioctl(int fd, \
u_long com, ... void *data); }
55 STD { int sys_reboot(int opt); }
56 STD { int sys_revoke(const char *path); }
57 STD { int sys_symlink(const char *path, \
const char *link); }
58 STD { ssize_t sys_readlink(const char *path, \
char *buf, size_t count); }
59 STD { int sys_execve(const char *path, \
char * const *argp, char * const *envp); }
60 STD NOLOCK { mode_t sys_umask(mode_t newmask); }
61 STD { int sys_chroot(const char *path); }
62 STD { int sys_getfsstat(struct statfs *buf, size_t bufsize, \
int flags); }
63 STD { int sys_statfs(const char *path, \
struct statfs *buf); }
64 STD { int sys_fstatfs(int fd, struct statfs *buf); }
65 STD { int sys_fhstatfs(const fhandle_t *fhp, \
struct statfs *buf); }
66 STD { int sys_vfork(void); }
67 STD NOLOCK { int sys_gettimeofday(struct timeval *tp, \
struct timezone *tzp); }
68 STD NOLOCK { int sys_settimeofday(const struct timeval *tv, \
const struct timezone *tzp); }
69 STD NOLOCK { int sys_setitimer(int which, \
const struct itimerval *itv, \
struct itimerval *oitv); }
70 STD NOLOCK { int sys_getitimer(int which, \
struct itimerval *itv); }
71 STD NOLOCK { int sys_select(int nd, fd_set *in, fd_set *ou, \
fd_set *ex, struct timeval *tv); }
72 STD NOLOCK { int sys_kevent(int fd, \
const struct kevent *changelist, int nchanges, \
struct kevent *eventlist, int nevents, \
const struct timespec *timeout); }
73 STD NOLOCK { int sys_munmap(void *addr, size_t len); }
74 STD NOLOCK { int sys_mprotect(void *addr, size_t len, \
int prot); }
75 STD { int sys_madvise(void *addr, size_t len, \
int behav); }
76 STD { int sys_utimes(const char *path, \
const struct timeval *tptr); }
77 STD { int sys_futimes(int fd, \
const struct timeval *tptr); }
78 STD { void *sys_mquery(void *addr, size_t len, int prot, \
int flags, int fd, off_t pos); }
79 STD NOLOCK { int sys_getgroups(int gidsetsize, \
gid_t *gidset); }
80 STD { int sys_setgroups(int gidsetsize, \
const gid_t *gidset); }
81 STD { int sys_getpgrp(void); }
82 STD { int sys_setpgid(pid_t pid, pid_t pgid); }
83 STD NOLOCK { int sys_futex(uint32_t *f, int op, int val, \
const struct timespec *timeout, uint32_t *g); }
84 STD { int sys_utimensat(int fd, const char *path, \
const struct timespec *times, int flag); }
85 STD { int sys_futimens(int fd, \
const struct timespec *times); }
86 STD NOLOCK { int sys_kbind(const struct __kbind *param, \
size_t psize, int64_t proc_cookie); }
87 STD NOLOCK { int sys_clock_gettime(clockid_t clock_id, \
struct timespec *tp); }
88 STD NOLOCK { int sys_clock_settime(clockid_t clock_id, \
const struct timespec *tp); }
89 STD NOLOCK { int sys_clock_getres(clockid_t clock_id, \
struct timespec *tp); }
90 STD NOLOCK { int sys_dup2(int from, int to); }
91 STD NOLOCK { int sys_nanosleep(const struct timespec *rqtp, \
struct timespec *rmtp); }
92 STD NOLOCK { int sys_fcntl(int fd, int cmd, ... void *arg); }
93 STD NOLOCK { int sys_accept4(int s, struct sockaddr *name, \
socklen_t *anamelen, int flags); }
94 STD NOLOCK { int sys___thrsleep(const volatile void *ident, \
clockid_t clock_id, const struct timespec *tp, \
void *lock, const int *abort); }
95 STD { int sys_fsync(int fd); }
96 STD { int sys_setpriority(int which, id_t who, int prio); }
97 STD NOLOCK { int sys_socket(int domain, int type, int protocol); }
98 STD NOLOCK { int sys_connect(int s, const struct sockaddr *name, \
socklen_t namelen); }
99 STD { int sys_getdents(int fd, void *buf, size_t buflen); }
100 STD { int sys_getpriority(int which, id_t who); }
101 STD NOLOCK { int sys_pipe2(int *fdp, int flags); }
102 STD NOLOCK { int sys_dup3(int from, int to, int flags); }
103 STD { int sys_sigreturn(struct sigcontext *sigcntxp); }
104 STD NOLOCK { int sys_bind(int s, const struct sockaddr *name, \
socklen_t namelen); }
105 STD NOLOCK { int sys_setsockopt(int s, int level, int name, \
const void *val, socklen_t valsize); }
106 STD NOLOCK { int sys_listen(int s, int backlog); }
107 STD { int sys_chflagsat(int fd, const char *path, \
u_int flags, int atflags); }
108 STD NOLOCK { int sys_pledge(const char *promises, \
const char *execpromises); }
109 STD NOLOCK { int sys_ppoll(struct pollfd *fds, \
u_int nfds, const struct timespec *ts, \
const sigset_t *mask); }
110 STD NOLOCK { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
fd_set *ex, const struct timespec *ts, \
const sigset_t *mask); }
111 STD { int sys_sigsuspend(int mask); }
112 STD NOLOCK { int sys_sendsyslog(const char *buf, size_t nbyte, \
int flags); }
113 UNIMPL fktrace
114 STD { int sys_unveil(const char *path, \
const char *permissions); }
115 STD { int sys___realpath(const char *pathname, \
char *resolved); }
116 STD NOLOCK { int sys_recvmmsg(int s, struct mmsghdr *mmsg, \
unsigned int vlen, int flags, \
struct timespec *timeout); }
117 STD NOLOCK { int sys_sendmmsg(int s, struct mmsghdr *mmsg,\
unsigned int vlen, int flags); }
118 STD NOLOCK { int sys_getsockopt(int s, int level, int name, \
void *val, socklen_t *avalsize); }
119 STD { int sys_thrkill(pid_t tid, int signum, void *tcb); }
120 STD NOLOCK { ssize_t sys_readv(int fd, \
const struct iovec *iovp, int iovcnt); }
121 STD NOLOCK { ssize_t sys_writev(int fd, \
const struct iovec *iovp, int iovcnt); }
122 STD { int sys_kill(int pid, int signum); }
123 STD { int sys_fchown(int fd, uid_t uid, gid_t gid); }
124 STD { int sys_fchmod(int fd, mode_t mode); }
125 OBSOL orecvfrom
126 STD { int sys_setreuid(uid_t ruid, uid_t euid); }
127 STD { int sys_setregid(gid_t rgid, gid_t egid); }
128 STD { int sys_rename(const char *from, const char *to); }
129 OBSOL otruncate
130 OBSOL oftruncate
131 STD NOLOCK { int sys_flock(int fd, int how); }
132 STD { int sys_mkfifo(const char *path, mode_t mode); }
133 STD NOLOCK { ssize_t sys_sendto(int s, const void *buf, \
size_t len, int flags, const struct sockaddr *to, \
socklen_t tolen); }
134 STD NOLOCK { int sys_shutdown(int s, int how); }
135 STD NOLOCK { int sys_socketpair(int domain, int type, \
int protocol, int *rsv); }
136 STD { int sys_mkdir(const char *path, mode_t mode); }
137 STD { int sys_rmdir(const char *path); }
138 OBSOL t32_utimes
139 OBSOL 4.2 sigreturn
140 STD NOLOCK { int sys_adjtime(const struct timeval *delta, \
struct timeval *olddelta); }
141 STD { int sys_getlogin_r(char *namebuf, size_t namelen); }
142 STD { int sys_getthrname(pid_t tid, char *name, size_t len); }
143 STD { int sys_setthrname(pid_t tid, const char *name); }
144 OBSOL ogetrlimit
145 OBSOL osetrlimit
146 OBSOL pinsyscall
147 STD { int sys_setsid(void); }
148 STD { int sys_quotactl(const char *path, int cmd, \
int uid, char *arg); }
149 OBSOL oquota
150 STD NOLOCK { int sys_ypconnect(int type); }
; Syscalls 151-180 inclusive are reserved for vendor-specific
; system calls. (This includes various calls added for compatibility
; with other Unix variants.)
; Some of these calls are now supported by BSD...
151 UNIMPL
152 UNIMPL
153 UNIMPL
154 UNIMPL
#if defined(NFSCLIENT) || defined(NFSSERVER)
155 STD { int sys_nfssvc(int flag, void *argp); }
#else
155 UNIMPL
#endif
156 OBSOL ogetdirentries
157 OBSOL statfs25
158 STD { int sys_pinsyscalls(void *base, size_t len, \
u_int *pins, int npins); }
159 STD { int sys_mimmutable(void *addr, size_t len); }
160 STD { int sys_waitid(int idtype, id_t id, \
siginfo_t *info, int options); }
161 STD { int sys_getfh(const char *fname, fhandle_t *fhp); }
162 OBSOL ogetdomainname
163 OBSOL osetdomainname
164 STD { int sys___tmpfd(int flags); }
165 STD { int sys_sysarch(int op, void *parms); }
166 STD NOLOCK { off_t sys_lseek(int fd, off_t offset, int whence); }
167 STD { int sys_truncate(const char *path, off_t length); }
168 STD { int sys_ftruncate(int fd, off_t length); }
169 STD NOLOCK { ssize_t sys_pread(int fd, void *buf, \
size_t nbyte, off_t offset); }
170 STD NOLOCK { ssize_t sys_pwrite(int fd, const void *buf, \
size_t nbyte, off_t offset); }
171 STD NOLOCK { ssize_t sys_preadv(int fd, \
const struct iovec *iovp, int iovcnt, \
off_t offset); }
172 STD NOLOCK { ssize_t sys_pwritev(int fd, \
const struct iovec *iovp, int iovcnt, \
off_t offset); }
173 OBSOL pad_pread
174 OBSOL pad_pwrite
175 UNIMPL ntp_gettime
176 UNIMPL ntp_adjtime
177 UNIMPL
178 UNIMPL
179 UNIMPL
180 UNIMPL
; Syscalls 181-199 are used by/reserved for BSD
181 STD { int sys_setgid(gid_t gid); }
182 STD { int sys_setegid(gid_t egid); }
183 STD { int sys_seteuid(uid_t euid); }
184 OBSOL lfs_bmapv
185 OBSOL lfs_markv
186 OBSOL lfs_segclean
187 OBSOL lfs_segwait
188 OBSOL stat35
189 OBSOL fstat35
190 OBSOL lstat35
191 STD { long sys_pathconf(const char *path, int name); }
192 STD { long sys_fpathconf(int fd, int name); }
193 STD { int sys_swapctl(int cmd, const void *arg, int misc); }
194 STD NOLOCK { int sys_getrlimit(int which, \
struct rlimit *rlp); }
195 STD NOLOCK { int sys_setrlimit(int which, \
const struct rlimit *rlp); }
196 OBSOL ogetdirentries48
197 OBSOL pad_mmap
198 OBSOL __syscall
199 OBSOL pad_lseek
200 OBSOL pad_truncate
201 OBSOL pad_ftruncate
202 STD { int sys_sysctl(const int *name, u_int namelen, \
void *old, size_t *oldlenp, void *new, \
size_t newlen); }
203 STD { int sys_mlock(const void *addr, size_t len); }
204 STD { int sys_munlock(const void *addr, size_t len); }
205 UNIMPL sys_undelete
206 OBSOL t32_futimes
207 STD { pid_t sys_getpgid(pid_t pid); }
208 OBSOL nnpfspioctl
209 STD NOLOCK { int sys_utrace(const char *label, const void *addr, \
size_t len); }
;
; Syscalls 210-219 were reserved for dynamically loaded syscalls
;
210 UNIMPL
211 UNIMPL
212 UNIMPL
213 UNIMPL
214 UNIMPL
215 UNIMPL
216 UNIMPL
217 UNIMPL
218 UNIMPL
219 UNIMPL
; System calls 220-240 are reserved for use by OpenBSD
#ifdef SYSVSEM
220 UNIMPL
221 STD { int sys_semget(key_t key, int nsems, int semflg); }
#else
220 UNIMPL semctl
221 UNIMPL semget
#endif
222 OBSOL semop35
223 OBSOL semconfig35
#ifdef SYSVMSG
224 UNIMPL
225 STD { int sys_msgget(key_t key, int msgflg); }
226 STD { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \
int msgflg); }
227 STD { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
long msgtyp, int msgflg); }
#else
224 UNIMPL msgctl
225 UNIMPL msgget
226 UNIMPL msgsnd
227 UNIMPL msgrcv
#endif
#ifdef SYSVSHM
228 STD { void *sys_shmat(int shmid, const void *shmaddr, \
int shmflg); }
229 UNIMPL
230 STD { int sys_shmdt(const void *shmaddr); }
#else
228 UNIMPL shmat
229 UNIMPL shmctl
230 UNIMPL shmdt
#endif
231 OBSOL shmget35
232 OBSOL t32_clock_gettime
233 OBSOL t32_clock_settime
234 OBSOL t32_clock_getres
235 UNIMPL timer_create
236 UNIMPL timer_delete
237 UNIMPL timer_settime
238 UNIMPL timer_gettime
239 UNIMPL timer_getoverrun
;
; System calls 240-249 are reserved for other IEEE Std1003.1b syscalls
;
240 OBSOL t32_nanosleep
241 UNIMPL
242 UNIMPL
243 UNIMPL
244 UNIMPL
245 UNIMPL
246 UNIMPL
247 UNIMPL
248 UNIMPL
249 UNIMPL
250 STD NOLOCK { int sys_minherit(void *addr, size_t len, \
int inherit); }
251 OBSOL rfork
252 STD NOLOCK { int sys_poll(struct pollfd *fds, \
u_int nfds, int timeout); }
253 STD NOLOCK { int sys_issetugid(void); }
254 STD { int sys_lchown(const char *path, uid_t uid, gid_t gid); }
255 STD { pid_t sys_getsid(pid_t pid); }
256 STD { int sys_msync(void *addr, size_t len, int flags); }
257 OBSOL semctl35
258 OBSOL shmctl35
259 OBSOL msgctl35
260 UNIMPL
261 UNIMPL
262 UNIMPL
263 STD NOLOCK { int sys_pipe(int *fdp); }
264 STD { int sys_fhopen(const fhandle_t *fhp, int flags); }
265 UNIMPL
266 UNIMPL
267 OBSOL pad_preadv
268 OBSOL pad_pwritev
269 STD NOLOCK { int sys_kqueue(void); }
270 STD NOLOCK { int sys_kqueue1(int flags); }
271 STD { int sys_mlockall(int flags); }
272 STD { int sys_munlockall(void); }
273 UNIMPL sys_getpeereid
274 UNIMPL sys_extattrctl
275 UNIMPL sys_extattr_set_file
276 UNIMPL sys_extattr_get_file
277 UNIMPL sys_extattr_delete_file
278 UNIMPL sys_extattr_set_fd
279 UNIMPL sys_extattr_get_fd
280 UNIMPL sys_extattr_delete_fd
281 STD NOLOCK { int sys_getresuid(uid_t *ruid, uid_t *euid, \
uid_t *suid); }
282 STD { int sys_setresuid(uid_t ruid, uid_t euid, \
uid_t suid); }
283 STD NOLOCK { int sys_getresgid(gid_t *rgid, gid_t *egid, \
gid_t *sgid); }
284 STD { int sys_setresgid(gid_t rgid, gid_t egid, \
gid_t sgid); }
285 OBSOL sys_omquery
286 OBSOL pad_mquery
287 STD NOLOCK { int sys_closefrom(int fd); }
288 STD { int sys_sigaltstack(const struct sigaltstack *nss, \
struct sigaltstack *oss); }
#ifdef SYSVSHM
289 STD { int sys_shmget(key_t key, size_t size, int shmflg); }
#else
289 UNIMPL shmget
#endif
#ifdef SYSVSEM
290 STD { int sys_semop(int semid, struct sembuf *sops, \
size_t nsops); }
#else
290 UNIMPL semop
#endif
291 OBSOL t32_stat
292 OBSOL t32_fstat
293 OBSOL t32_lstat
294 STD { int sys_fhstat(const fhandle_t *fhp, \
struct stat *sb); }
#ifdef SYSVSEM
295 STD { int sys___semctl(int semid, int semnum, int cmd, \
union semun *arg); }
#else
295 UNIMPL
#endif
#ifdef SYSVSHM
296 STD { int sys_shmctl(int shmid, int cmd, \
struct shmid_ds *buf); }
#else
296 UNIMPL
#endif
#ifdef SYSVMSG
297 STD { int sys_msgctl(int msqid, int cmd, \
struct msqid_ds *buf); }
#else
297 UNIMPL
#endif
298 STD NOLOCK { int sys_sched_yield(void); }
299 STD NOLOCK { pid_t sys_getthrid(void); }
300 OBSOL t32___thrsleep
301 STD NOLOCK { int sys___thrwakeup(const volatile void *ident, \
int n); }
302 STD { void sys___threxit(pid_t *notdead); }
303 STD { int sys___thrsigdivert(sigset_t sigmask, \
siginfo_t *info, const struct timespec *timeout); }
304 STD { int sys___getcwd(char *buf, size_t len); }
305 STD NOLOCK { int sys_adjfreq(const int64_t *freq, \
int64_t *oldfreq); }
306 OBSOL getfsstat53
307 OBSOL statfs53
308 OBSOL fstatfs53
309 OBSOL fhstatfs53
310 STD NOLOCK { int sys_setrtable(int rtableid); }
311 STD NOLOCK { int sys_getrtable(void); }
312 OBSOL t32_getdirentries
313 STD { int sys_faccessat(int fd, const char *path, \
int amode, int flag); }
314 STD { int sys_fchmodat(int fd, const char *path, \
mode_t mode, int flag); }
315 STD { int sys_fchownat(int fd, const char *path, \
uid_t uid, gid_t gid, int flag); }
316 OBSOL t32_fstatat
317 STD { int sys_linkat(int fd1, const char *path1, int fd2, \
const char *path2, int flag); }
318 STD { int sys_mkdirat(int fd, const char *path, \
mode_t mode); }
319 STD { int sys_mkfifoat(int fd, const char *path, \
mode_t mode); }
320 STD { int sys_mknodat(int fd, const char *path, \
mode_t mode, dev_t dev); }
321 STD { int sys_openat(int fd, const char *path, int flags, \
... mode_t mode); }
322 STD { ssize_t sys_readlinkat(int fd, const char *path, \
char *buf, size_t count); }
323 STD { int sys_renameat(int fromfd, const char *from, \
int tofd, const char *to); }
324 STD { int sys_symlinkat(const char *path, int fd, \
const char *link); }
325 STD { int sys_unlinkat(int fd, const char *path, \
int flag); }
326 OBSOL t32_utimensat
327 OBSOL t32_futimens
328 OBSOL __tfork51
329 STD NOLOCK { void sys___set_tcb(void *tcb); }
330 STD NOLOCK { void *sys___get_tcb(void); }