170 static int segdev_checkprot(struct seg *, caddr_t, size_t, uint_t);
171 static void segdev_badop(void);
172 static int segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
173 static size_t segdev_incore(struct seg *, caddr_t, size_t, char *);
174 static int segdev_lockop(struct seg *, caddr_t, size_t, int, int,
175 ulong_t *, size_t);
176 static int segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
177 static u_offset_t segdev_getoffset(struct seg *, caddr_t);
178 static int segdev_gettype(struct seg *, caddr_t);
179 static int segdev_getvp(struct seg *, caddr_t, struct vnode **);
180 static int segdev_advise(struct seg *, caddr_t, size_t, uint_t);
181 static int segdev_pagelock(struct seg *, caddr_t, size_t,
182 struct page ***, enum lock_type, enum seg_rw);
183 static int segdev_getmemid(struct seg *, caddr_t, memid_t *);
184
185 /*
186 * XXX this struct is used by rootnex_map_fault to identify
187 * the segment it has been passed. So if you make it
188 * "static" you'll need to fix rootnex_map_fault.
189 */
190 struct seg_ops segdev_ops = {
191 .dup = segdev_dup,
192 .unmap = segdev_unmap,
193 .free = segdev_free,
194 .fault = segdev_fault,
195 .faulta = segdev_faulta,
196 .setprot = segdev_setprot,
197 .checkprot = segdev_checkprot,
198 .kluster = (int (*)())segdev_badop,
199 .sync = segdev_sync,
200 .incore = segdev_incore,
201 .lockop = segdev_lockop,
202 .getprot = segdev_getprot,
203 .getoffset = segdev_getoffset,
204 .gettype = segdev_gettype,
205 .getvp = segdev_getvp,
206 .advise = segdev_advise,
207 .pagelock = segdev_pagelock,
208 .getmemid = segdev_getmemid,
209 };
210
|
170 static int segdev_checkprot(struct seg *, caddr_t, size_t, uint_t);
171 static void segdev_badop(void);
172 static int segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
173 static size_t segdev_incore(struct seg *, caddr_t, size_t, char *);
174 static int segdev_lockop(struct seg *, caddr_t, size_t, int, int,
175 ulong_t *, size_t);
176 static int segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
177 static u_offset_t segdev_getoffset(struct seg *, caddr_t);
178 static int segdev_gettype(struct seg *, caddr_t);
179 static int segdev_getvp(struct seg *, caddr_t, struct vnode **);
180 static int segdev_advise(struct seg *, caddr_t, size_t, uint_t);
181 static int segdev_pagelock(struct seg *, caddr_t, size_t,
182 struct page ***, enum lock_type, enum seg_rw);
183 static int segdev_getmemid(struct seg *, caddr_t, memid_t *);
184
185 /*
186 * XXX this struct is used by rootnex_map_fault to identify
187 * the segment it has been passed. So if you make it
188 * "static" you'll need to fix rootnex_map_fault.
189 */
190 const struct seg_ops segdev_ops = {
191 .dup = segdev_dup,
192 .unmap = segdev_unmap,
193 .free = segdev_free,
194 .fault = segdev_fault,
195 .faulta = segdev_faulta,
196 .setprot = segdev_setprot,
197 .checkprot = segdev_checkprot,
198 .kluster = (int (*)())segdev_badop,
199 .sync = segdev_sync,
200 .incore = segdev_incore,
201 .lockop = segdev_lockop,
202 .getprot = segdev_getprot,
203 .getoffset = segdev_getoffset,
204 .gettype = segdev_gettype,
205 .getvp = segdev_getvp,
206 .advise = segdev_advise,
207 .pagelock = segdev_pagelock,
208 .getmemid = segdev_getmemid,
209 };
210
|