summaryrefslogtreecommitdiff
path: root/sys/kern/init_sysent.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1999-05-31 17:34:56 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1999-05-31 17:34:56 +0000
commitbc8362e4ef1c185f7c1d9aec69d91f269c97d4e2 (patch)
tree9194d1773b772347d76766611948ee38e1002058 /sys/kern/init_sysent.c
parent7a1b6dcd69cb5defd76dca41d6f8252a3140fb91 (diff)
New struct statfs with mount options. NOTE: this replaces statfs(2),
fstatfs(2), and getfsstat(2) so you will need to build a new kernel before doing a "make build" or you will get "unimplemented syscall" errors. The new struct statfs has the following featuires: o Has a u_int32_t flags field--now softdep can have a real flag. o Uses u_int32_t instead of longs (nicer on the alpha). Note: the man page used to lie about setting invalid/unused fields to -1. SunOS does that but our code never has. o Gets rid of f_type completely. It hasn't been used since NetBSD 0.9 and having it there but always 0 is confusing. It is conceivable that this may cause some old code to not compile but that is better than silently breaking. o Adds a mount_info union that contains the FSTYPE_args struct. This means that "mount" can now tell you all the options a filesystem was mounted with. This is especially nice for NFS. Other changes: o The linux statfs emulation didn't convert between BSD fs names and linux f_type numbers. Now it does, since the BSD f_type number is useless to linux apps (and has been removed anyway) o FreeBSD's struct statfs is different from our (both old and new) and thus needs conversion. Previously, the OpenBSD syscalls were used without any real translation. o mount(8) will now show extra info when invoked with no arguments. However, to see *everything* you need to use the -v (verbose) flag.
Diffstat (limited to 'sys/kern/init_sysent.c')
-rw-r--r--sys/kern/init_sysent.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index b8e88982db8..e3e3482e214 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: init_sysent.c,v 1.37 1999/05/22 21:25:51 weingart Exp $ */
+/* $OpenBSD: init_sysent.c,v 1.38 1999/05/31 17:34:47 millert Exp $ */
/*
* System call switch table.
@@ -77,8 +77,8 @@ struct sysent sysent[] = {
sys_chown }, /* 16 = chown */
{ 1, s(struct sys_obreak_args),
sys_obreak }, /* 17 = break */
- { 3, s(struct sys_getfsstat_args),
- sys_getfsstat }, /* 18 = getfsstat */
+ { 3, s(struct sys_ogetfsstat_args),
+ sys_ogetfsstat }, /* 18 = ogetfsstat */
{ 3, s(struct compat_43_sys_lseek_args),
compat_43(sys_lseek) }, /* 19 = compat_43 olseek */
{ 0, 0,
@@ -370,10 +370,10 @@ struct sysent sysent[] = {
#endif
{ 4, s(struct compat_43_sys_getdirentries_args),
compat_43(sys_getdirentries) }, /* 156 = compat_43 ogetdirentries */
- { 2, s(struct sys_statfs_args),
- sys_statfs }, /* 157 = statfs */
- { 2, s(struct sys_fstatfs_args),
- sys_fstatfs }, /* 158 = fstatfs */
+ { 2, s(struct sys_ostatfs_args),
+ sys_ostatfs }, /* 157 = ostatfs */
+ { 2, s(struct sys_ofstatfs_args),
+ sys_ofstatfs }, /* 158 = ofstatfs */
{ 0, 0,
sys_nosys }, /* 159 = unimplemented */
{ 0, 0,
@@ -685,5 +685,11 @@ struct sysent sysent[] = {
{ 0, 0,
sys_nosys }, /* 259 = unimplemented */
#endif
+ { 3, s(struct sys_getfsstat_args),
+ sys_getfsstat }, /* 260 = getfsstat */
+ { 2, s(struct sys_statfs_args),
+ sys_statfs }, /* 261 = statfs */
+ { 2, s(struct sys_fstatfs_args),
+ sys_fstatfs }, /* 262 = fstatfs */
};