Merge WebNFS changes from NetBSD.

Obtained from:	NetBSD
This commit is contained in:
Doug Rabson 1997-07-16 18:04:52 +00:00
parent 009a69e4b7
commit 2279b5f42f

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mount.h 8.21 (Berkeley) 5/20/95
* $Id: mount.h,v 1.41 1997/03/03 11:55:47 bde Exp $
* $Id: mount.h,v 1.42 1997/04/06 11:14:13 dufault Exp $
*/
#ifndef _SYS_MOUNT_H_
@ -175,6 +175,7 @@ struct mount {
#define MNT_DEFEXPORTED 0x00000200 /* exported to the world */
#define MNT_EXPORTANON 0x00000400 /* use anon uid mapping for everyone */
#define MNT_EXKERB 0x00000800 /* exported with Kerberos uid mapping */
#define MNT_EXPUBLIC 0x10000000 /* public export (WebNFS) */
/*
* Flags set by internal operations.
@ -256,6 +257,18 @@ struct export_args {
int ex_addrlen; /* and the net address length */
struct sockaddr *ex_mask; /* mask of valid bits in saddr */
int ex_masklen; /* and the smask length */
char *ex_indexfile; /* index file for WebNFS URLs */
};
/*
* Structure holding information for a publicly exported filesystem
* (WebNFS). Currently the specs allow just for one such filesystem.
*/
struct nfs_public {
int np_valid; /* Do we hold valid information */
fhandle_t np_handle; /* Filehandle for pub fs (internal) */
struct mount *np_mount; /* Mountpoint of exported fs */
char *np_index; /* Index file */
};
/*
@ -404,6 +417,8 @@ extern char *mountrootfsname;
* exported vnode operations
*/
int dounmount __P((struct mount *, int, struct proc *));
int vfs_setpublicfs /* set publicly exported fs */
__P((struct mount *, struct netexport *, struct export_args *));
int vfs_lock __P((struct mount *)); /* lock a vfs */
void vfs_msync __P((struct mount *, int));
void vfs_unlock __P((struct mount *)); /* unlock a vfs */
@ -421,6 +436,7 @@ void vfs_unbusy __P((struct mount *, struct proc *));
void vfs_unmountall __P((void));
extern CIRCLEQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */
extern struct simplelock mountlist_slock;
extern struct nfs_public nfs_pub;
#else /* !KERNEL */