summaryrefslogtreecommitdiff
path: root/sys/compat/ultrix/ultrix_syscallargs.h
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1995-12-26 20:23:43 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1995-12-26 20:23:43 +0000
commit1761d011b4a83a9818c0a207dae66dbcbf764e69 (patch)
tree1fd597a50c1a17327c0c3581a4b8a38b15b30ea9 /sys/compat/ultrix/ultrix_syscallargs.h
parent9d7e2bf74d251f8245c717a45d446a0da7f6639b (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.h37
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 *));