xref: /original-bsd/sys/ufs/mfs/mfsnode.h (revision 2932bec8)
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.9 (Berkeley) 04/21/92
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 *dvp, \
32 		struct vnode **vpp, \
33 		struct componentname *cnp))) mfs_badop)
34 #define mfs_create ((int (*) __P(( \
35 		struct vnode *dvp, \
36  		struct vnode **vpp, \
37 		struct componentname *cnp, \
38 		struct vattr *vap))) mfs_badop)
39 #define mfs_mknod ((int (*) __P(( \
40 		struct vnode *dvp, \
41 		struct vnode **vpp, \
42 		struct componentname *cnp, \
43 		struct vattr *vap))) mfs_badop)
44 #define mfs_access ((int (*) __P(( \
45 		struct vnode *vp, \
46 		int mode, \
47 		struct ucred *cred, \
48 		struct proc *p))) mfs_badop)
49 #define mfs_getattr ((int (*) __P(( \
50 		struct vnode *vp, \
51 		struct vattr *vap, \
52 		struct ucred *cred, \
53 		struct proc *p))) mfs_badop)
54 #define mfs_setattr ((int (*) __P(( \
55 		struct vnode *vp, \
56 		struct vattr *vap, \
57 		struct ucred *cred, \
58 		struct proc *p))) mfs_badop)
59 #define mfs_read ((int (*) __P(( \
60 		struct vnode *vp, \
61 		struct uio *uio, \
62 		int ioflag, \
63 		struct ucred *cred))) mfs_badop)
64 #define mfs_write ((int (*) __P(( \
65 		struct vnode *vp, \
66 		struct uio *uio, \
67 		int ioflag, \
68 		struct ucred *cred))) mfs_badop)
69 #define mfs_select ((int (*) __P(( \
70 		struct vnode *vp, \
71 		int which, \
72 		int fflags, \
73 		struct ucred *cred, \
74 		struct proc *p))) mfs_badop)
75 #define mfs_mmap ((int (*) __P(( \
76 		struct vnode *vp, \
77 		int fflags, \
78 		struct ucred *cred, \
79 		struct proc *p))) mfs_badop)
80 #define mfs_fsync ((int (*) __P(( \
81 		struct vnode *vp, \
82 		int fflags, \
83 		struct ucred *cred, \
84 		int waitfor, \
85 		struct proc *p))) mfs_badop)
86 #define mfs_seek ((int (*) __P(( \
87 		struct vnode *vp, \
88 		off_t oldoff, \
89 		off_t newoff, \
90 		struct ucred *cred))) mfs_badop)
91 #define mfs_remove ((int (*) __P(( \
92 		struct vnode *dvp, \
93 	        struct vnode *vp, \
94 		struct componentname *cnp))) mfs_badop)
95 #define mfs_link ((int (*) __P(( \
96 		register struct vnode *vp, \
97 		struct vnode *tdvp, \
98 		struct componentname *cnp))) mfs_badop)
99 #define mfs_rename ((int (*) __P(( \
100 		struct vnode *fdvp, \
101 	        struct vnode *fvp, \
102 		struct componentname *fcnp, \
103 		struct vnode *tdvp, \
104 		struct vnode *tvp, \
105 		struct componentname *tcnp))) mfs_badop)
106 #define mfs_mkdir ((int (*) __P(( \
107 		struct vnode *dvp, \
108 		struct vnode **vpp, \
109 		struct componentname *cnp, \
110 		struct vattr *vap))) mfs_badop)
111 #define mfs_rmdir ((int (*) __P(( \
112 		struct vnode *dvp, \
113 		struct vnode *vp, \
114 		struct componentname *cnp))) mfs_badop)
115 #define mfs_symlink ((int (*) __P(( \
116 		struct vnode *dvp, \
117 		struct vnode **vpp, \
118 		struct componentname *cnp, \
119 		struct vattr *vap, \
120 		char *target))) mfs_badop)
121 #define mfs_readdir ((int (*) __P(( \
122 		struct vnode *vp, \
123 		struct uio *uio, \
124 		struct ucred *cred, \
125 		int *eofflagp))) mfs_badop)
126 #define mfs_readlink ((int (*) __P(( \
127 		struct vnode *vp, \
128 		struct uio *uio, \
129 		struct ucred *cred))) mfs_badop)
130 #define mfs_abortop ((int (*) __P(( \
131 		struct vnode *dvp, \
132 		struct componentname *cnp))) mfs_badop)
133 #define mfs_lock ((int (*) __P(( \
134 		struct vnode *vp))) nullop)
135 #define mfs_unlock ((int (*) __P(( \
136 		struct vnode *vp))) nullop)
137 #define mfs_islocked ((int (*) __P(( \
138 		struct vnode *vp))) nullop)
139 #define mfs_advlock ((int (*) __P(( \
140 		struct vnode *vp, \
141 		caddr_t id, \
142 		int op, \
143 		struct flock *fl, \
144 		int flags))) mfs_badop)
145 #define mfs_blkatoff ((int (*) __P(( \
146 		struct vnode *vp, \
147 		off_t offset, \
148 		char **res, \
149 		struct buf **bpp))) mfs_badop)
150 #define mfs_vget ((int (*) __P(( \
151 		struct mount *mp, \
152 		ino_t ino, \
153 		struct vnode **vpp))) mfs_badop)
154 #define mfs_valloc ((int (*) __P(( \
155 		struct vnode *pvp, \
156 		int mode, \
157 		struct ucred *cred, \
158 		struct vnode **vpp))) mfs_badop)
159 #define mfs_vfree ((void (*) __P(( \
160 		struct vnode *pvp, \
161 		ino_t ino, \
162 		int mode))) mfs_badop)
163 #define mfs_truncate ((int (*) __P(( \
164 		struct vnode *vp, \
165 		off_t length, \
166 		int flags, \
167 		struct ucred *cred))) mfs_badop)
168 #define mfs_update ((int (*) __P(( \
169 		struct vnode *vp, \
170 		struct timeval *ta, \
171 		struct timeval *tm, \
172 		int waitfor))) nullop)
173 #define mfs_bwrite ((int (*) __P(( \
174 		struct buf *bp))) nullop)
175