diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-12-26 20:23:43 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-12-26 20:23:43 +0000 |
commit | 1761d011b4a83a9818c0a207dae66dbcbf764e69 (patch) | |
tree | 1fd597a50c1a17327c0c3581a4b8a38b15b30ea9 /sys/compat/ultrix/ultrix_syscallargs.h | |
parent | 9d7e2bf74d251f8245c717a45d446a0da7f6639b (diff) |
from netbsd:
Add emulation of Ultrix select: before calling native sys_select(),
limit the number of FDs to select on to the maximum supported by NetBSD --
which is as many FDs as the emul_ultrix process can have open, anyway.
Add emulation of Ultrix getmnt(2) in ultrix_fs.c
Add partial emulation of Ultrix tty ioctl()s in ultrix_ioctl.c, derived
from compat/sunos/sunos_ioctl.c. Ultrix libc's ``isatty()'' now works
in compat_emul processes.
Fix ultrix_sys_select() entry.
Add emulation of ultrix mount(2). Sufficient to NFS-mount filesystems
using a NetBSD kernel in an ultrix root filesystem.
Move wait emulation to the old (v7) wait syscall number, as that's
what the Ultrix ufs_mount binary uses.
Diffstat (limited to 'sys/compat/ultrix/ultrix_syscallargs.h')
-rw-r--r-- | sys/compat/ultrix/ultrix_syscallargs.h | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/sys/compat/ultrix/ultrix_syscallargs.h b/sys/compat/ultrix/ultrix_syscallargs.h index ac03a0be564..0b30b52388b 100644 --- a/sys/compat/ultrix/ultrix_syscallargs.h +++ b/sys/compat/ultrix/ultrix_syscallargs.h @@ -24,6 +24,20 @@ struct ultrix_sys_mknod_args { syscallarg(int) dev; }; +struct ultrix_sys_mount_args { + syscallarg(char *) special; + syscallarg(char *) dir; + syscallarg(int) rdonly; + syscallarg(int) type; + syscallarg(caddr_t) data; +}; + +struct ultrix_sys_ioctl_args { + syscallarg(int) fd; + syscallarg(u_long) com; + syscallarg(caddr_t) data; +}; + struct ultrix_sys_mmap_args { syscallarg(caddr_t) addr; syscallarg(size_t) len; @@ -44,6 +58,14 @@ struct ultrix_sys_wait3_args { syscallarg(struct rusage *) rusage; }; +struct ultrix_sys_select_args { + syscallarg(u_int) nd; + syscallarg(fd_set *) in; + syscallarg(fd_set *) ou; + syscallarg(fd_set *) ex; + syscallarg(struct timeval *) tv; +}; + struct ultrix_sys_setsockopt_args { syscallarg(int) s; syscallarg(int) level; @@ -91,6 +113,14 @@ struct ultrix_sys_ustat_args { syscallarg(struct ultrix_ustat *) buf; }; +struct ultrix_sys_getmnt_args { + syscallarg(int *) start; + syscallarg(struct ultrix_fs_data *) buf; + syscallarg(int) bufsize; + syscallarg(int) mode; + syscallarg(char *) path; +}; + struct ultrix_sys_sigpending_args { syscallarg(int *) mask; }; @@ -128,6 +158,7 @@ int sys_read __P((struct proc *, void *, register_t *)); int sys_write __P((struct proc *, void *, register_t *)); int ultrix_sys_open __P((struct proc *, void *, register_t *)); int sys_close __P((struct proc *, void *, register_t *)); +int compat_43_sys_wait __P((struct proc *, void *, register_t *)); int compat_43_sys_creat __P((struct proc *, void *, register_t *)); int sys_link __P((struct proc *, void *, register_t *)); int sys_unlink __P((struct proc *, void *, register_t *)); @@ -139,6 +170,7 @@ int sys_chown __P((struct proc *, void *, register_t *)); int sys_obreak __P((struct proc *, void *, register_t *)); int compat_43_sys_lseek __P((struct proc *, void *, register_t *)); int sys_getpid __P((struct proc *, void *, register_t *)); +int ultrix_sys_mount __P((struct proc *, void *, register_t *)); int sys_setuid __P((struct proc *, void *, register_t *)); int sys_getuid __P((struct proc *, void *, register_t *)); int sys_access __P((struct proc *, void *, register_t *)); @@ -151,7 +183,7 @@ int sys_pipe __P((struct proc *, void *, register_t *)); int sys_profil __P((struct proc *, void *, register_t *)); int sys_getgid __P((struct proc *, void *, register_t *)); int sys_acct __P((struct proc *, void *, register_t *)); -int sys_ioctl __P((struct proc *, void *, register_t *)); +int ultrix_sys_ioctl __P((struct proc *, void *, register_t *)); int sys_reboot __P((struct proc *, void *, register_t *)); int sys_symlink __P((struct proc *, void *, register_t *)); int sys_readlink __P((struct proc *, void *, register_t *)); @@ -183,7 +215,7 @@ int compat_43_sys_sethostname __P((struct proc *, void *, register_t *)); int compat_43_sys_getdtablesize __P((struct proc *, void *, register_t *)); int sys_dup2 __P((struct proc *, void *, register_t *)); int sys_fcntl __P((struct proc *, void *, register_t *)); -int sys_select __P((struct proc *, void *, register_t *)); +int ultrix_sys_select __P((struct proc *, void *, register_t *)); int sys_fsync __P((struct proc *, void *, register_t *)); int sys_setpriority __P((struct proc *, void *, register_t *)); int sys_socket __P((struct proc *, void *, register_t *)); @@ -250,6 +282,7 @@ int ultrix_sys_quotactl __P((struct proc *, void *, register_t *)); int ultrix_sys_exportfs __P((struct proc *, void *, register_t *)); int ultrix_sys_uname __P((struct proc *, void *, register_t *)); int ultrix_sys_ustat __P((struct proc *, void *, register_t *)); +int ultrix_sys_getmnt __P((struct proc *, void *, register_t *)); int ultrix_sys_sigpending __P((struct proc *, void *, register_t *)); int sys_setsid __P((struct proc *, void *, register_t *)); int ultrix_sys_waitpid __P((struct proc *, void *, register_t *)); |