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