xref: /csrg-svn/sys/miscfs/nullfs/null.h (revision 54750)
1*54750Sjohnh /*
2*54750Sjohnh  * Copyright (c) 1992 The Regents of the University of California
3*54750Sjohnh  * Copyright (c) 1990, 1992 Jan-Simon Pendry
4*54750Sjohnh  * All rights reserved.
5*54750Sjohnh  *
6*54750Sjohnh  * This code is derived from software donated to Berkeley by
7*54750Sjohnh  * Jan-Simon Pendry.
8*54750Sjohnh  *
9*54750Sjohnh  * %sccs.include.redist.c%
10*54750Sjohnh  *
11*54750Sjohnh  *	@(#)lofs.h	1.1 (Berkeley) 6/3/92
12*54750Sjohnh  *
13*54750Sjohnh  * $Id: lofs.h,v 1.8 1992/05/30 10:05:43 jsp Exp jsp $
14*54750Sjohnh  */
15*54750Sjohnh 
16*54750Sjohnh struct lofs_args {
17*54750Sjohnh 	char		*target;	/* Target of loopback  */
18*54750Sjohnh };
19*54750Sjohnh 
20*54750Sjohnh struct lofsmount {
21*54750Sjohnh 	struct mount	*looped_vfs;
22*54750Sjohnh 	struct vnode	*rootvp;	/* Reference to root lofsnode */
23*54750Sjohnh };
24*54750Sjohnh 
25*54750Sjohnh #ifdef KERNEL
26*54750Sjohnh /*
27*54750Sjohnh  * A cache of vnode references
28*54750Sjohnh  */
29*54750Sjohnh struct lofsnode {
30*54750Sjohnh 	struct lofsnode	*a_forw;	/* Hash chain */
31*54750Sjohnh 	struct lofsnode	*a_back;
32*54750Sjohnh 	struct vnode	*a_lofsvp;	/* Aliased vnode - VREFed once */
33*54750Sjohnh 	struct vnode	*a_vnode;	/* Back pointer to vnode/lofsnode */
34*54750Sjohnh };
35*54750Sjohnh 
36*54750Sjohnh extern int make_lofs __P((struct mount *mp, struct vnode **vpp));
37*54750Sjohnh 
38*54750Sjohnh #define	VFSTOLOFS(mp) ((struct lofsmount *)((mp)->mnt_data))
39*54750Sjohnh #define	LOFSP(vp) ((struct lofsnode *)(vp)->v_data)
40*54750Sjohnh #ifdef LOFS_DIAGNOSTIC
41*54750Sjohnh extern struct vnode *lofs_checkvp __P((struct vnode *vp, char *fil, int lno));
42*54750Sjohnh #define	LOFSVP(vp) lofs_checkvp(vp, __FILE__, __LINE__)
43*54750Sjohnh #else
44*54750Sjohnh #define	LOFSVP(vp) (LOFSP(vp)->a_lofsvp)
45*54750Sjohnh #endif
46*54750Sjohnh 
47*54750Sjohnh extern int (**lofs_vnodeop_p)();
48*54750Sjohnh extern struct vfsops lofs_vfsops;
49*54750Sjohnh #endif /* KERNEL */
50