xref: /original-bsd/sys/ufs/mfs/mfsnode.h (revision e59fb703)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)mfsnode.h	7.6 (Berkeley) 12/16/91
8  */
9 
10 /*
11  * This structure defines the control data for the memory based file system.
12  */
13 
14 struct mfsnode {
15 	struct	vnode *mfs_vnode;	/* vnode associated with this mfsnode */
16 	caddr_t	mfs_baseoff;		/* base of file system in memory */
17 	long	mfs_size;		/* size of memory file system */
18 	pid_t	mfs_pid;		/* supporting process pid */
19 	struct	buf *mfs_buflist;	/* list of I/O requests */
20 	long	mfs_spare[4];
21 };
22 
23 /*
24  * Convert between mfsnode pointers and vnode pointers
25  */
26 #define VTOMFS(vp)	((struct mfsnode *)(vp)->v_data)
27 #define MFSTOV(mfsp)	((mfsp)->mfs_vnode)
28 
29 /* Prototypes for MFS operations on vnodes. */
30 #define mfs_lookup ((int (*) __P(( \
31 		struct vnode *vp, \
32 		struct nameidata *ndp, \
33 		struct proc *p))) mfs_badop)
34 #define mfs_create ((int (*) __P(( \
35 		struct nameidata *ndp, \
36 		struct vattr *vap, \
37 		struct proc *p))) mfs_badop)
38 #define mfs_mknod ((int (*) __P(( \
39 		struct nameidata *ndp, \
40 		struct vattr *vap, \
41 		struct ucred *cred, \
42 		struct proc *p))) mfs_badop)
43 #define mfs_access ((int (*) __P(( \
44 		struct vnode *vp, \
45 		int mode, \
46 		struct ucred *cred, \
47 		struct proc *p))) mfs_badop)
48 #define mfs_getattr ((int (*) __P(( \
49 		struct vnode *vp, \
50 		struct vattr *vap, \
51 		struct ucred *cred, \
52 		struct proc *p))) mfs_badop)
53 #define mfs_setattr ((int (*) __P(( \
54 		struct vnode *vp, \
55 		struct vattr *vap, \
56 		struct ucred *cred, \
57 		struct proc *p))) mfs_badop)
58 #define mfs_read ((int (*) __P(( \
59 		struct vnode *vp, \
60 		struct uio *uio, \
61 		int ioflag, \
62 		struct ucred *cred))) mfs_badop)
63 #define mfs_write ((int (*) __P(( \
64 		struct vnode *vp, \
65 		struct uio *uio, \
66 		int ioflag, \
67 		struct ucred *cred))) mfs_badop)
68 #define mfs_select ((int (*) __P(( \
69 		struct vnode *vp, \
70 		int which, \
71 		int fflags, \
72 		struct ucred *cred, \
73 		struct proc *p))) mfs_badop)
74 #define mfs_mmap ((int (*) __P(( \
75 		struct vnode *vp, \
76 		int fflags, \
77 		struct ucred *cred, \
78 		struct proc *p))) mfs_badop)
79 #define mfs_fsync ((int (*) __P(( \
80 		struct vnode *vp, \
81 		int fflags, \
82 		struct ucred *cred, \
83 		int waitfor, \
84 		struct proc *p))) mfs_badop)
85 #define mfs_seek ((int (*) __P(( \
86 		struct vnode *vp, \
87 		off_t oldoff, \
88 		off_t newoff, \
89 		struct ucred *cred))) mfs_badop)
90 #define mfs_remove ((int (*) __P(( \
91 		struct nameidata *ndp, \
92 		struct proc *p))) mfs_badop)
93 #define mfs_link ((int (*) __P(( \
94 		struct vnode *vp, \
95 		struct nameidata *ndp, \
96 		struct proc *p))) mfs_badop)
97 #define mfs_rename ((int (*) __P(( \
98 		struct nameidata *fndp, \
99 		struct nameidata *tdnp, \
100 		struct proc *p))) mfs_badop)
101 #define mfs_mkdir ((int (*) __P(( \
102 		struct nameidata *ndp, \
103 		struct vattr *vap, \
104 		struct proc *p))) mfs_badop)
105 #define mfs_rmdir ((int (*) __P(( \
106 		struct nameidata *ndp, \
107 		struct proc *p))) mfs_badop)
108 #define mfs_symlink ((int (*) __P(( \
109 		struct nameidata *ndp, \
110 		struct vattr *vap, \
111 		char *target, \
112 		struct proc *p))) mfs_badop)
113 #define mfs_readdir ((int (*) __P(( \
114 		struct vnode *vp, \
115 		struct uio *uio, \
116 		struct ucred *cred, \
117 		int *eofflagp))) mfs_badop)
118 #define mfs_readlink ((int (*) __P(( \
119 		struct vnode *vp, \
120 		struct uio *uio, \
121 		struct ucred *cred))) mfs_badop)
122 #define mfs_abortop ((int (*) __P(( \
123 		struct nameidata *ndp))) mfs_badop)
124 #define mfs_lock ((int (*) __P(( \
125 		struct vnode *vp))) nullop)
126 #define mfs_unlock ((int (*) __P(( \
127 		struct vnode *vp))) nullop)
128 #define mfs_islocked ((int (*) __P(( \
129 		struct vnode *vp))) nullop)
130 #define mfs_advlock ((int (*) __P(( \
131 		struct vnode *vp, \
132 		caddr_t id, \
133 		int op, \
134 		struct flock *fl, \
135 		int flags))) mfs_badop)
136 #define mfs_blkatoff ((int (*) __P(( \
137 		struct vnode *vp, \
138 		off_t offset, \
139 		char **res, \
140 		struct buf **bpp))) mfs_badop)
141 #define mfs_vget ((int (*) __P(( \
142 		struct mount *mp, \
143 		ino_t ino, \
144 		struct vnode **vpp))) mfs_badop)
145 #define mfs_valloc ((int (*) __P(( \
146 		struct vnode *pvp, \
147 		int mode, \
148 		struct ucred *cred, \
149 		struct vnode **vpp))) mfs_badop)
150 #define mfs_vfree ((void (*) __P(( \
151 		struct vnode *pvp, \
152 		ino_t ino, \
153 		int mode))) mfs_badop)
154 #define mfs_truncate ((int (*) __P(( \
155 		struct vnode *vp, \
156 		u_long length, \
157 		int flags))) mfs_badop)
158 #define mfs_update ((int (*) __P(( \
159 		struct vnode *vp, \
160 		struct timeval *ta, \
161 		struct timeval *tm, \
162 		int waitfor))) nullop)
163 #define mfs_bwrite ((int (*) __P(( \
164 		struct buf *bp))) nullop)
165