Print this page
const-ify make segment ops structures
There is no reason to keep the segment ops structures writable.


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




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