119 static int segvn_lockop(struct seg *seg, caddr_t addr, size_t len,
120 int attr, int op, ulong_t *lockmap, size_t pos);
121 static int segvn_getprot(struct seg *seg, caddr_t addr, size_t len,
122 uint_t *protv);
123 static u_offset_t segvn_getoffset(struct seg *seg, caddr_t addr);
124 static int segvn_gettype(struct seg *seg, caddr_t addr);
125 static int segvn_getvp(struct seg *seg, caddr_t addr,
126 struct vnode **vpp);
127 static int segvn_advise(struct seg *seg, caddr_t addr, size_t len,
128 uint_t behav);
129 static void segvn_dump(struct seg *seg);
130 static int segvn_pagelock(struct seg *seg, caddr_t addr, size_t len,
131 struct page ***ppp, enum lock_type type, enum seg_rw rw);
132 static int segvn_setpagesize(struct seg *seg, caddr_t addr, size_t len,
133 uint_t szc);
134 static int segvn_getmemid(struct seg *seg, caddr_t addr,
135 memid_t *memidp);
136 static lgrp_mem_policy_info_t *segvn_getpolicy(struct seg *, caddr_t);
137 static int segvn_inherit(struct seg *, caddr_t, size_t, uint_t);
138
139 struct seg_ops segvn_ops = {
140 .dup = segvn_dup,
141 .unmap = segvn_unmap,
142 .free = segvn_free,
143 .fault = segvn_fault,
144 .faulta = segvn_faulta,
145 .setprot = segvn_setprot,
146 .checkprot = segvn_checkprot,
147 .kluster = segvn_kluster,
148 .swapout = segvn_swapout,
149 .sync = segvn_sync,
150 .incore = segvn_incore,
151 .lockop = segvn_lockop,
152 .getprot = segvn_getprot,
153 .getoffset = segvn_getoffset,
154 .gettype = segvn_gettype,
155 .getvp = segvn_getvp,
156 .advise = segvn_advise,
157 .dump = segvn_dump,
158 .pagelock = segvn_pagelock,
159 .setpagesize = segvn_setpagesize,
|
119 static int segvn_lockop(struct seg *seg, caddr_t addr, size_t len,
120 int attr, int op, ulong_t *lockmap, size_t pos);
121 static int segvn_getprot(struct seg *seg, caddr_t addr, size_t len,
122 uint_t *protv);
123 static u_offset_t segvn_getoffset(struct seg *seg, caddr_t addr);
124 static int segvn_gettype(struct seg *seg, caddr_t addr);
125 static int segvn_getvp(struct seg *seg, caddr_t addr,
126 struct vnode **vpp);
127 static int segvn_advise(struct seg *seg, caddr_t addr, size_t len,
128 uint_t behav);
129 static void segvn_dump(struct seg *seg);
130 static int segvn_pagelock(struct seg *seg, caddr_t addr, size_t len,
131 struct page ***ppp, enum lock_type type, enum seg_rw rw);
132 static int segvn_setpagesize(struct seg *seg, caddr_t addr, size_t len,
133 uint_t szc);
134 static int segvn_getmemid(struct seg *seg, caddr_t addr,
135 memid_t *memidp);
136 static lgrp_mem_policy_info_t *segvn_getpolicy(struct seg *, caddr_t);
137 static int segvn_inherit(struct seg *, caddr_t, size_t, uint_t);
138
139 const struct seg_ops segvn_ops = {
140 .dup = segvn_dup,
141 .unmap = segvn_unmap,
142 .free = segvn_free,
143 .fault = segvn_fault,
144 .faulta = segvn_faulta,
145 .setprot = segvn_setprot,
146 .checkprot = segvn_checkprot,
147 .kluster = segvn_kluster,
148 .swapout = segvn_swapout,
149 .sync = segvn_sync,
150 .incore = segvn_incore,
151 .lockop = segvn_lockop,
152 .getprot = segvn_getprot,
153 .getoffset = segvn_getoffset,
154 .gettype = segvn_gettype,
155 .getvp = segvn_getvp,
156 .advise = segvn_advise,
157 .dump = segvn_dump,
158 .pagelock = segvn_pagelock,
159 .setpagesize = segvn_setpagesize,
|