summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorassar <assar@cvs.openbsd.org>2000-02-07 04:52:12 +0000
committerassar <assar@cvs.openbsd.org>2000-02-07 04:52:12 +0000
commit965397ed1c94a6e3fce528bf5f1e120fdfc1edde (patch)
tree1991f5751250f67a8ec2aae20afcc9c5e846ac75
parente78f067f155a2186369664e56ab42758a8935c58 (diff)
(vfsops): divide up fhtovp into two: fhtovp that does the mapping and
checkexp that verifies if the client has the right to mount this fs from us (fhopen, fhstat, fhstatfs): add prototypes for new syscalls. (largely based on NetBSD)
-rw-r--r--sys/sys/mount.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/sys/sys/mount.h b/sys/sys/mount.h
index debda5397ae..48a605c9e25 100644
--- a/sys/sys/mount.h
+++ b/sys/sys/mount.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mount.h,v 1.32 1999/12/05 06:56:34 art Exp $ */
+/* $OpenBSD: mount.h,v 1.33 2000/02/07 04:52:11 assar Exp $ */
/* $NetBSD: mount.h,v 1.48 1996/02/18 11:55:47 fvdl Exp $ */
/*
@@ -456,12 +456,13 @@ struct vfsops {
int (*vfs_vget) __P((struct mount *mp, ino_t ino,
struct vnode **vpp));
int (*vfs_fhtovp) __P((struct mount *mp, struct fid *fhp,
- struct mbuf *nam, struct vnode **vpp,
- int *exflagsp, struct ucred **credanonp));
+ struct vnode **vpp));
int (*vfs_vptofh) __P((struct vnode *vp, struct fid *fhp));
int (*vfs_init) __P((struct vfsconf *));
int (*vfs_sysctl) __P((int *, u_int, void *, size_t *, void *,
size_t, struct proc *));
+ int (*vfs_checkexp) __P((struct mount *mp, struct mbuf *nam,
+ int *extflagsp, struct ucred **credanonp));
};
#define VFS_MOUNT(MP, PATH, DATA, NDP, P) \
@@ -473,9 +474,11 @@ struct vfsops {
#define VFS_STATFS(MP, SBP, P) (*(MP)->mnt_op->vfs_statfs)(MP, SBP, P)
#define VFS_SYNC(MP, WAIT, C, P) (*(MP)->mnt_op->vfs_sync)(MP, WAIT, C, P)
#define VFS_VGET(MP, INO, VPP) (*(MP)->mnt_op->vfs_vget)(MP, INO, VPP)
-#define VFS_FHTOVP(MP, FIDP, NAM, VPP, EXFLG, CRED) \
- (*(MP)->mnt_op->vfs_fhtovp)(MP, FIDP, NAM, VPP, EXFLG, CRED)
+#define VFS_FHTOVP(MP, FIDP, VPP) \
+ (*(MP)->mnt_op->vfs_fhtovp)(MP, FIDP, VPP)
#define VFS_VPTOFH(VP, FIDP) (*(VP)->v_mount->mnt_op->vfs_vptofh)(VP, FIDP)
+#define VFS_CHECKEXP(MP, NAM, EXFLG, CRED) \
+ (*(MP)->mnt_op->vfs_checkexp)(MP, NAM, EXFLG, CRED)
#endif /* _KERNEL */
/*
@@ -563,7 +566,11 @@ int getmntinfo __P((struct statfs **, int));
int mount __P((const char *, const char *, int, void *));
int statfs __P((const char *, struct statfs *));
int unmount __P((const char *, int));
-
+#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
+int fhopen __P((const fhandle_t *, int));
+int fhstat __P((const fhandle_t *, struct stat *));
+int fhstatfs __P((const fhandle_t *, struct statfs *));
+#endif /* !_POSIX_C_SOURCE */
__END_DECLS