1 $NetBSD: syscalls.master,v 1.58 2019/03/03 22:26:30 pgoyette Exp $ 2 3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5 ; NetBSD COMPAT_ULTRIX system call name/number "master" file. 6 ; (See syscalls.conf to see what it is processed into.) 7 ; 8 ; Fields: number type [type-dependent ...] 9 ; number system call number, must be in order 10 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 11 ; the compatibility options defined in syscalls.conf. 12 ; 13 ; types: 14 ; STD always included 15 ; OBSOL obsolete, not included in system 16 ; UNIMPL unimplemented, not included in system 17 ; NODEF included, but don't define the syscall number 18 ; NOARGS included, but don't define the syscall args structure 19 ; 20 ; The compat options are defined in the syscalls.conf file, and the 21 ; compat option name is prefixed to the syscall name. Other than 22 ; that, they're like NODEF (for 'compat' options), or STD (for 23 ; 'libcompat' options). 24 ; 25 ; The type-dependent arguments are as follows: 26 ; For STD, NODEF, NOARGS, and compat syscalls: 27 ; { pseudo-proto } [alias] 28 ; For other syscalls: 29 ; [comment] 30 ; 31 ; #ifdef's, etc. may be included, and are copied to the output files. 32 ; #include's are copied to the syscall names and switch definition files only. 33 34 #include <sys/param.h> 35 #include <sys/systm.h> 36 #include <sys/signal.h> 37 #include <sys/mount.h> 38 #include <sys/sched.h> 39 #include <sys/syscallargs.h> 40 #include <compat/ultrix/ultrix_syscallargs.h> 41 42 %% 43 44 0 NOARGS { int|sys||nosys(void); } syscall 45 1 NOARGS { int|sys||exit(int rval); } 46 2 NOARGS { int|sys||fork(void); } 47 3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 48 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 49 5 STD { int|ultrix_sys||open(const char *path, int flags, \ 50 int mode); } 51 6 NOARGS { int|sys||close(int fd); } 52 7 NOARGS { int|compat_43_sys||wait(void); } owait 53 8 STD { int|ultrix_sys||creat(const char *path, int mode); } 54 9 NOARGS { int|sys||link(char *path, char *link); } 55 10 NOARGS { int|sys||unlink(char *path); } 56 11 STD { int|ultrix_sys||execv(const char *path, char **argp); } 57 12 NOARGS { int|sys||chdir(char *path); } 58 13 OBSOL time 59 14 STD { int|ultrix_sys||mknod(const char *path, int mode, \ 60 int dev); } 61 15 NOARGS { int|sys||chmod(char *path, int mode); } 62 16 NOARGS { int|sys||__posix_chown(char *path, int uid, int gid); } 63 17 NOARGS { int|sys||obreak(char *nsize); } break 64 18 OBSOL stat 65 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 66 int whence); } 67 20 NOARGS { pid_t|sys||getpid(void); } 68 21 STD { int|ultrix_sys||mount(char *special, char *dir, \ 69 int rdonly, int type, void *data); } 70 22 OBSOL sysV_unmount 71 23 NOARGS { int|sys||setuid(uid_t uid); } 72 24 NOARGS { uid_t|sys||getuid(void); } 73 25 OBSOL v7 stime 74 26 OBSOL v7 ptrace 75 27 OBSOL v7 alarm 76 28 OBSOL v7 fstat 77 29 OBSOL v7 pause 78 30 OBSOL v7 utime 79 31 OBSOL v7 stty 80 32 OBSOL v7 gtty 81 33 STD { int|ultrix_sys||access(const char *path, int flags); } 82 34 OBSOL v7 nice 83 35 OBSOL v7 ftime 84 36 NOARGS { int|sys||sync(void); } 85 37 NOARGS { int|sys||kill(int pid, int signum); } 86 38 STD { int|ultrix_sys||stat(const char *path, \ 87 struct stat43 *ub); } stat43 88 39 OBSOL v7 setpgrp 89 40 STD { int|ultrix_sys||lstat(const char *path, \ 90 struct stat43 *ub); } lstat43 91 41 NOARGS { int|sys||dup(int fd); } 92 42 NOARGS { int|sys||pipe(void); } 93 43 OBSOL v7 times 94 44 NOARGS { int|sys||profil(void *samples, u_int size, \ 95 u_int offset, u_int scale); } 96 45 UNIMPL 97 46 OBSOL v7 setgid 98 47 NOARGS { gid_t|sys||getgid(void); } 99 48 UNIMPL ssig 100 49 UNIMPL reserved for USG 101 50 UNIMPL reserved for USG 102 51 NOARGS { int|sys||acct(char *path); } 103 52 UNIMPL 104 53 UNIMPL syslock 105 54 STD { int|ultrix_sys||ioctl(int fd, u_long com, void *data); } 106 55 NOARGS { int|sys||reboot(int opt); } 107 56 UNIMPL v7 mpxchan 108 57 NOARGS { int|sys||symlink(char *path, char *link); } 109 58 NOARGS { int|sys||readlink(char *path, char *buf, int count); } 110 59 STD { int|ultrix_sys||execve(const char *path, char **argp, \ 111 char **envp); } 112 60 NOARGS { int|sys||umask(int newmask); } 113 61 NOARGS { int|sys||chroot(char *path); } 114 62 NOARGS { int|compat_43_sys||fstat(int fd, struct stat43 *sb); } 115 63 UNIMPL 116 64 NOARGS { int|compat_43_sys||getpagesize(void); } 117 65 UNIMPL mremap 118 66 NOARGS { int|sys||vfork(void); } 119 67 OBSOL vread 120 68 OBSOL vwrite 121 69 OBSOL sbrk 122 70 OBSOL sstk 123 71 STD { int|ultrix_sys||mmap(void *addr, size_t len, \ 124 int prot, u_int flags, int fd, long pos); } 125 72 NOARGS { int|sys||ovadvise(int anom); } vadvise 126 73 NOARGS { int|sys||munmap(void *addr, size_t len); } 127 74 NOARGS { int|sys||mprotect(void *addr, size_t len, \ 128 int prot); } 129 75 NOARGS { int|sys||madvise(void *addr, size_t len, \ 130 int behav); } 131 76 STD { int|ultrix_sys||vhangup(void); } 132 77 UNIMPL old vlimit 133 78 NOARGS { int|sys||mincore(void *addr, int len, char *vec); } 134 79 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 135 80 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 136 81 NOARGS { int|sys||getpgrp(void); } 137 82 STD { int|ultrix_sys||setpgrp(int pid, int pgid); } 138 83 NOARGS { int|sys|50|setitimer(u_int which, \ 139 struct itimerval50 *itv, struct itimerval50 *oitv); } 140 84 STD { int|ultrix_sys||wait3(int *status, int options, \ 141 struct rusage50 *rusage);} 142 85 NOARGS { int|compat_12_sys||swapon(char *name); } 143 86 NOARGS { int|sys|50|getitimer(u_int which, \ 144 struct itimerval50 *itv); } 145 87 NOARGS { int|compat_43_sys||gethostname(char *hostname, \ 146 u_int len); } 147 88 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 148 u_int len); } 149 89 NOARGS { int|compat_43_sys||getdtablesize(void); } 150 90 NOARGS { int|sys||dup2(int from, int to); } 151 91 UNIMPL getdopt 152 92 STD { int|ultrix_sys||fcntl(int fd, int cmd, void *arg); } 153 93 STD { int|ultrix_sys||select(u_int nd, fd_set *in, fd_set *ou, \ 154 fd_set *ex, struct timeval50 *tv); } 155 94 UNIMPL setdopt 156 95 NOARGS { int|sys||fsync(int fd); } 157 96 NOARGS { int|sys||setpriority(int which, int who, int prio); } 158 97 NOARGS { int|compat_30_sys||socket(int domain, int type, int protocol); } 159 98 NOARGS { int|sys||connect(int s, void *name, int namelen); } 160 99 NOARGS { int|compat_43_sys||accept(int s, void *name, \ 161 int *anamelen); } 162 100 NOARGS { int|sys||getpriority(int which, int who); } 163 101 NOARGS { int|compat_43_sys||send(int s, void *buf, int len, \ 164 int flags); } 165 102 NOARGS { int|compat_43_sys||recv(int s, void *buf, int len, \ 166 int flags); } 167 103 STD { int|ultrix_sys||sigreturn(struct sigcontext * \ 168 sigcntxp); } 169 104 NOARGS { int|sys||bind(int s, void *name, int namelen); } 170 105 STD { int|ultrix_sys||setsockopt(int s, int level, \ 171 int name, void *val, int valsize); } 172 106 NOARGS { int|sys||listen(int s, int backlog); } 173 107 UNIMPL vtimes 174 108 STD { int|ultrix_sys||sigvec(int signum, \ 175 struct sigvec *nsv, struct sigvec *osv); } 176 109 NOARGS { int|compat_43_sys||sigblock(int mask); } 177 110 NOARGS { int|compat_43_sys||sigsetmask(int mask); } 178 111 STD { int|ultrix_sys||sigsuspend(int mask); } 179 112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \ 180 struct sigstack *oss); } 181 113 NOARGS { int|compat_43_sys||recvmsg(int s, \ 182 struct omsghdr *msg, int flags); } 183 114 NOARGS { int|compat_43_sys||sendmsg(int s, void *msg, \ 184 int flags); } 185 115 OBSOL vtrace 186 116 NOARGS { int|sys|50|gettimeofday(struct timeval50 *tp, \ 187 struct timezone *tzp); } 188 117 NOARGS { int|sys|50|getrusage(int who, struct rusage50 *rusage); } 189 118 NOARGS { int|sys||getsockopt(int s, int level, int name, \ 190 void *val, int *avalsize); } 191 119 UNIMPL resuba 192 120 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ 193 u_int iovcnt); } 194 121 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ 195 u_int iovcnt); } 196 122 NOARGS { int|sys|50|settimeofday(struct timeval50 *tv, \ 197 struct timezone *tzp); } 198 123 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 199 124 NOARGS { int|sys||fchmod(int fd, int mode); } 200 125 NOARGS { int|compat_43_sys||recvfrom(int s, void *buf, \ 201 size_t len, int flags, void *from, \ 202 int *fromlenaddr); } 203 126 NOARGS { int|sys||setreuid(int ruid, int euid); } 204 127 NOARGS { int|sys||setregid(int rgid, int egid); } 205 128 NOARGS { int|sys||rename(char *from, char *to); } 206 129 NOARGS { int|compat_43_sys||truncate(char *path, long length); } 207 130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 208 131 NOARGS { int|sys||flock(int fd, int how); } 209 132 UNIMPL 210 133 NOARGS { int|sys||sendto(int s, void *buf, size_t len, \ 211 int flags, void *to, int tolen); } 212 134 NOARGS { int|sys||shutdown(int s, int how); } 213 135 NOARGS { int|sys||socketpair(int domain, int type, \ 214 int protocol, int *rsv); } 215 136 NOARGS { int|sys||mkdir(char *path, int mode); } 216 137 NOARGS { int|sys||rmdir(char *path); } 217 138 NOARGS { int|sys|50|utimes(char *path, struct timeval50 *tptr); } 218 139 STD { int|ultrix_sys||sigcleanup(struct sigcontext *sigcntxp); } 219 140 NOARGS { int|sys|50|adjtime(struct timeval50 *delta, \ 220 struct timeval50 *olddelta); } 221 141 NOARGS { int|compat_43_sys||getpeername(int fdes, void *asa, \ 222 int *alen); } 223 142 NOARGS { int|compat_43_sys||gethostid(void); } 224 143 UNIMPL old sethostid 225 144 NOARGS { int|compat_43_sys||getrlimit(u_int which, \ 226 struct orlimit *rlp); } 227 145 NOARGS { int|compat_43_sys||setrlimit(u_int which, \ 228 struct orlimit *rlp); } 229 146 NOARGS { int|compat_43_sys||killpg(int pgid, int signum); } 230 147 UNIMPL 231 148 UNIMPL setquota 232 149 UNIMPL quota /* needs to be nullop to boot on Ultrix root partition*/ 233 150 NOARGS { int|compat_43_sys||getsockname(int fdes, void *asa, \ 234 int *alen); } 235 151 UNIMPL sysmips /* 4 args */ 236 #ifdef __mips 237 152 STD { int|ultrix_sys||cacheflush(char *addr, int nbytes, \ 238 int whichcache); } 239 153 STD { int|ultrix_sys||cachectl(char *addr, int nbytes, int cacheop); } 240 #else /* !mips */ 241 152 UNIMPL 242 153 UNIMPL 243 #endif /* !mips */ 244 154 UNIMPL 245 155 UNIMPL atomic_op 246 156 UNIMPL 247 157 UNIMPL 248 158 UNIMPL ultrix_sys_nfssvc 249 159 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 250 u_int count, long *basep); } 251 160 STD { int|ultrix_sys||statfs(const char *path, \ 252 struct ultrix_statfs *buf); } 253 161 STD { int|ultrix_sys||fstatfs(int fd, \ 254 struct ultrix_statfs *buf); } 255 162 UNIMPL umount 256 163 UNIMPL async_daemon 257 164 NOARGS { int|compat_30_sys||getfh(char *fname, fhandle_t *fhp); } 258 165 NOARGS MODULAR compat_09 \ 259 { int|compat_09_sys||getdomainname(char *domainname, \ 260 int len); } 261 166 NOARGS MODULAR compat_09 \ 262 { int|compat_09_sys||setdomainname(char *domainname, \ 263 int len); } 264 167 UNIMPL 265 168 STD { int|ultrix_sys||quotactl(int cmd, char *special, \ 266 int uid, void *addr); } 267 169 STD { int|ultrix_sys||exportfs(char *path, char *ex); } 268 170 UNIMPL ultrix_sys_mount 269 171 UNIMPL 4 hdwconf 270 172 UNIMPL msgctl 271 173 UNIMPL msgget 272 174 UNIMPL msgrcv 273 175 UNIMPL msgsnd 274 176 UNIMPL semctl 275 177 UNIMPL semget 276 178 UNIMPL semop 277 179 STD { int|ultrix_sys||uname(struct ultrix_utsname *name); } 278 180 STD { int|ultrix_sys||shmsys(u_int shmop, \ 279 u_int a2, u_int a3, u_int a4); } 280 181 UNIMPL 0 plock 281 182 UNIMPL 0 lockf 282 183 STD { int|ultrix_sys||ustat(int dev, \ 283 struct ultrix_ustat *buf); } 284 184 STD { int|ultrix_sys||getmnt(int *start, \ 285 struct ultrix_fs_data *buf, \ 286 int bufsize, int mode, char *path); } 287 185 UNIMPL notdef 288 186 UNIMPL notdef 289 187 STD { int|ultrix_sys||sigpending(int *mask); } 290 188 NOARGS { int|sys||setsid(void); } 291 189 STD { int|ultrix_sys||waitpid(int pid, int *status, \ 292 int options); } 293 190 UNIMPL 294 191 UNIMPL 295 192 UNIMPL 296 193 UNIMPL 297 194 UNIMPL 298 195 UNIMPL 299 196 UNIMPL 300 197 UNIMPL 301 198 UNIMPL 302 199 UNIMPL 303 200 UNIMPL 304 201 UNIMPL 305 202 UNIMPL 306 203 UNIMPL 307 204 UNIMPL 308 205 UNIMPL 309 206 UNIMPL 310 207 UNIMPL 311 208 UNIMPL 312 209 UNIMPL 313 210 UNIMPL 314 211 UNIMPL 315 212 UNIMPL 316 213 UNIMPL 317 214 UNIMPL 318 215 UNIMPL 319 216 UNIMPL 320 217 UNIMPL 321 218 UNIMPL 322 219 UNIMPL 323 220 UNIMPL 324 221 UNIMPL 325 222 UNIMPL 326 223 UNIMPL 327 224 UNIMPL 328 225 UNIMPL 329 226 UNIMPL 330 227 UNIMPL 331 228 UNIMPL 332 229 UNIMPL 333 230 UNIMPL 334 231 UNIMPL 335 232 UNIMPL 336 233 UNIMPL 1 utc_gettime 337 234 UNIMPL 2 utc_adjtime 338 235 UNIMPL 339 236 UNIMPL 340 237 UNIMPL 341 238 UNIMPL 342 239 UNIMPL 343 240 UNIMPL 344 241 UNIMPL 345 242 UNIMPL 346 243 UNIMPL 347 244 UNIMPL 348 245 UNIMPL 349 246 UNIMPL 350 247 UNIMPL 351 248 UNIMPL 352 249 UNIMPL 353 250 UNIMPL 354 251 UNIMPL 355 252 UNIMPL audctl /*Make no-op for installation on Ultrix rootpartition?*/ 356 253 UNIMPL audgen /*Make no-op for installation on Ultrix rootpartition?*/ 357 254 UNIMPL startcpu 358 255 UNIMPL stopcpu 359 256 STD { int|ultrix_sys||getsysinfo(unsigned op, char *buffer, \ 360 unsigned nbytes, int *start, char *arg); } 361 257 STD { int|ultrix_sys||setsysinfo(unsigned op, char *buffer, \ 362 unsigned nbytes, unsigned arg, unsigned flag); } 363