xref: /csrg-svn/sys/ufs/mfs/mfsnode.h (revision 51478)
139388Smckusick /*
239388Smckusick  * Copyright (c) 1989 The Regents of the University of California.
339388Smckusick  * All rights reserved.
439388Smckusick  *
544536Sbostic  * %sccs.include.redist.c%
639388Smckusick  *
7*51478Sbostic  *	@(#)mfsnode.h	7.4 (Berkeley) 11/01/91
839388Smckusick  */
939388Smckusick 
1039388Smckusick /*
11*51478Sbostic  * This structure defines the control data for the memory based file system.
1239388Smckusick  */
1339388Smckusick 
1439388Smckusick struct mfsnode {
1539388Smckusick 	struct	vnode *mfs_vnode;	/* vnode associated with this mfsnode */
1639388Smckusick 	caddr_t	mfs_baseoff;		/* base of file system in memory */
1739388Smckusick 	long	mfs_size;		/* size of memory file system */
1839388Smckusick 	pid_t	mfs_pid;		/* supporting process pid */
1939388Smckusick 	struct	buf *mfs_buflist;	/* list of I/O requests */
2039388Smckusick 	long	mfs_spare[4];
2139388Smckusick };
2239388Smckusick 
2339388Smckusick /*
2439388Smckusick  * Convert between mfsnode pointers and vnode pointers
2539388Smckusick  */
2639388Smckusick #define VTOMFS(vp)	((struct mfsnode *)(vp)->v_data)
2739388Smckusick #define MFSTOV(mfsp)	((mfsp)->mfs_vnode)
2848033Smckusick 
29*51478Sbostic /* Prototypes for MFS operations on vnodes. */
3048033Smckusick #define mfs_lookup ((int (*) __P(( \
3148033Smckusick 		struct vnode *vp, \
3248033Smckusick 		struct nameidata *ndp, \
3348033Smckusick 		struct proc *p))) mfs_badop)
3448033Smckusick #define mfs_create ((int (*) __P(( \
3548033Smckusick 		struct nameidata *ndp, \
3648033Smckusick 		struct vattr *vap, \
3748033Smckusick 		struct proc *p))) mfs_badop)
3848033Smckusick #define mfs_mknod ((int (*) __P(( \
3948033Smckusick 		struct nameidata *ndp, \
4048033Smckusick 		struct vattr *vap, \
4148033Smckusick 		struct ucred *cred, \
4248033Smckusick 		struct proc *p))) mfs_badop)
4348033Smckusick #define mfs_access ((int (*) __P(( \
4448033Smckusick 		struct vnode *vp, \
4548033Smckusick 		int mode, \
4648033Smckusick 		struct ucred *cred, \
4748033Smckusick 		struct proc *p))) mfs_badop)
4848033Smckusick #define mfs_getattr ((int (*) __P(( \
4948033Smckusick 		struct vnode *vp, \
5048033Smckusick 		struct vattr *vap, \
5148033Smckusick 		struct ucred *cred, \
5248033Smckusick 		struct proc *p))) mfs_badop)
5348033Smckusick #define mfs_setattr ((int (*) __P(( \
5448033Smckusick 		struct vnode *vp, \
5548033Smckusick 		struct vattr *vap, \
5648033Smckusick 		struct ucred *cred, \
5748033Smckusick 		struct proc *p))) mfs_badop)
5848033Smckusick #define mfs_read ((int (*) __P(( \
5948033Smckusick 		struct vnode *vp, \
6048033Smckusick 		struct uio *uio, \
6148033Smckusick 		int ioflag, \
6248033Smckusick 		struct ucred *cred))) mfs_badop)
6348033Smckusick #define mfs_write ((int (*) __P(( \
6448033Smckusick 		struct vnode *vp, \
6548033Smckusick 		struct uio *uio, \
6648033Smckusick 		int ioflag, \
6748033Smckusick 		struct ucred *cred))) mfs_badop)
6848033Smckusick #define mfs_select ((int (*) __P(( \
6948033Smckusick 		struct vnode *vp, \
7048033Smckusick 		int which, \
7148033Smckusick 		int fflags, \
7248033Smckusick 		struct ucred *cred, \
7348033Smckusick 		struct proc *p))) mfs_badop)
7448033Smckusick #define mfs_mmap ((int (*) __P(( \
7548033Smckusick 		struct vnode *vp, \
7648033Smckusick 		int fflags, \
7748033Smckusick 		struct ucred *cred, \
7848033Smckusick 		struct proc *p))) mfs_badop)
7948033Smckusick #define mfs_fsync ((int (*) __P(( \
8048033Smckusick 		struct vnode *vp, \
8148033Smckusick 		int fflags, \
8248033Smckusick 		struct ucred *cred, \
8348033Smckusick 		int waitfor, \
8448033Smckusick 		struct proc *p))) mfs_badop)
8548033Smckusick #define mfs_seek ((int (*) __P(( \
8648033Smckusick 		struct vnode *vp, \
8748033Smckusick 		off_t oldoff, \
8848033Smckusick 		off_t newoff, \
8948033Smckusick 		struct ucred *cred))) mfs_badop)
9048033Smckusick #define mfs_remove ((int (*) __P(( \
9148033Smckusick 		struct nameidata *ndp, \
9248033Smckusick 		struct proc *p))) mfs_badop)
9348033Smckusick #define mfs_link ((int (*) __P(( \
9448033Smckusick 		struct vnode *vp, \
9548033Smckusick 		struct nameidata *ndp, \
9648033Smckusick 		struct proc *p))) mfs_badop)
9748033Smckusick #define mfs_rename ((int (*) __P(( \
9848033Smckusick 		struct nameidata *fndp, \
9948033Smckusick 		struct nameidata *tdnp, \
10048033Smckusick 		struct proc *p))) mfs_badop)
10148033Smckusick #define mfs_mkdir ((int (*) __P(( \
10248033Smckusick 		struct nameidata *ndp, \
10348033Smckusick 		struct vattr *vap, \
10448033Smckusick 		struct proc *p))) mfs_badop)
10548033Smckusick #define mfs_rmdir ((int (*) __P(( \
10648033Smckusick 		struct nameidata *ndp, \
10748033Smckusick 		struct proc *p))) mfs_badop)
10848033Smckusick #define mfs_symlink ((int (*) __P(( \
10948033Smckusick 		struct nameidata *ndp, \
11048033Smckusick 		struct vattr *vap, \
11148033Smckusick 		char *target, \
11248033Smckusick 		struct proc *p))) mfs_badop)
11348033Smckusick #define mfs_readdir ((int (*) __P(( \
11448033Smckusick 		struct vnode *vp, \
11548033Smckusick 		struct uio *uio, \
11648033Smckusick 		struct ucred *cred, \
11748033Smckusick 		int *eofflagp))) mfs_badop)
11848033Smckusick #define mfs_readlink ((int (*) __P(( \
11948033Smckusick 		struct vnode *vp, \
12048033Smckusick 		struct uio *uio, \
12148033Smckusick 		struct ucred *cred))) mfs_badop)
12248033Smckusick #define mfs_abortop ((int (*) __P(( \
12348033Smckusick 		struct nameidata *ndp))) mfs_badop)
12448033Smckusick #define mfs_reclaim ((int (*) __P(( \
12548033Smckusick 		struct vnode *vp))) nullop)
12648033Smckusick #define mfs_lock ((int (*) __P(( \
12748033Smckusick 		struct vnode *vp))) nullop)
12848033Smckusick #define mfs_unlock ((int (*) __P(( \
12948033Smckusick 		struct vnode *vp))) nullop)
13048033Smckusick #define mfs_islocked ((int (*) __P(( \
13148033Smckusick 		struct vnode *vp))) nullop)
13248033Smckusick #define mfs_advlock ((int (*) __P(( \
13348033Smckusick 		struct vnode *vp, \
13448033Smckusick 		caddr_t id, \
13548033Smckusick 		int op, \
13648033Smckusick 		struct flock *fl, \
13748033Smckusick 		int flags))) mfs_badop)
138