60 */
61 static int segnf_dup(struct seg *seg, struct seg *newseg);
62 static int segnf_unmap(struct seg *seg, caddr_t addr, size_t len);
63 static void segnf_free(struct seg *seg);
64 static faultcode_t segnf_nomap(void);
65 static int segnf_setprot(struct seg *seg, caddr_t addr,
66 size_t len, uint_t prot);
67 static int segnf_checkprot(struct seg *seg, caddr_t addr,
68 size_t len, uint_t prot);
69 static void segnf_badop(void);
70 static int segnf_nop(void);
71 static int segnf_getprot(struct seg *seg, caddr_t addr,
72 size_t len, uint_t *protv);
73 static u_offset_t segnf_getoffset(struct seg *seg, caddr_t addr);
74 static int segnf_gettype(struct seg *seg, caddr_t addr);
75 static int segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
76 static int segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
77 struct page ***ppp, enum lock_type type, enum seg_rw rw);
78
79
80 struct seg_ops segnf_ops = {
81 .dup = segnf_dup,
82 .unmap = segnf_unmap,
83 .free = segnf_free,
84 .fault = (faultcode_t (*)(struct hat *, struct seg *, caddr_t,
85 size_t, enum fault_type, enum seg_rw))segnf_nomap,
86 .faulta = (faultcode_t (*)(struct seg *, caddr_t)) segnf_nomap,
87 .setprot = segnf_setprot,
88 .checkprot = segnf_checkprot,
89 .kluster = (int (*)())segnf_badop,
90 .sync = (int (*)(struct seg *, caddr_t, size_t, int, uint_t))
91 segnf_nop,
92 .incore = (size_t (*)(struct seg *, caddr_t, size_t, char *))
93 segnf_nop,
94 .lockop = (int (*)(struct seg *, caddr_t, size_t, int, int,
95 ulong_t *, size_t))segnf_nop,
96 .getprot = segnf_getprot,
97 .getoffset = segnf_getoffset,
98 .gettype = segnf_gettype,
99 .getvp = segnf_getvp,
100 .advise = (int (*)(struct seg *, caddr_t, size_t, uint_t))
|
60 */
61 static int segnf_dup(struct seg *seg, struct seg *newseg);
62 static int segnf_unmap(struct seg *seg, caddr_t addr, size_t len);
63 static void segnf_free(struct seg *seg);
64 static faultcode_t segnf_nomap(void);
65 static int segnf_setprot(struct seg *seg, caddr_t addr,
66 size_t len, uint_t prot);
67 static int segnf_checkprot(struct seg *seg, caddr_t addr,
68 size_t len, uint_t prot);
69 static void segnf_badop(void);
70 static int segnf_nop(void);
71 static int segnf_getprot(struct seg *seg, caddr_t addr,
72 size_t len, uint_t *protv);
73 static u_offset_t segnf_getoffset(struct seg *seg, caddr_t addr);
74 static int segnf_gettype(struct seg *seg, caddr_t addr);
75 static int segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
76 static int segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
77 struct page ***ppp, enum lock_type type, enum seg_rw rw);
78
79
80 const struct seg_ops segnf_ops = {
81 .dup = segnf_dup,
82 .unmap = segnf_unmap,
83 .free = segnf_free,
84 .fault = (faultcode_t (*)(struct hat *, struct seg *, caddr_t,
85 size_t, enum fault_type, enum seg_rw))segnf_nomap,
86 .faulta = (faultcode_t (*)(struct seg *, caddr_t)) segnf_nomap,
87 .setprot = segnf_setprot,
88 .checkprot = segnf_checkprot,
89 .kluster = (int (*)())segnf_badop,
90 .sync = (int (*)(struct seg *, caddr_t, size_t, int, uint_t))
91 segnf_nop,
92 .incore = (size_t (*)(struct seg *, caddr_t, size_t, char *))
93 segnf_nop,
94 .lockop = (int (*)(struct seg *, caddr_t, size_t, int, int,
95 ulong_t *, size_t))segnf_nop,
96 .getprot = segnf_getprot,
97 .getoffset = segnf_getoffset,
98 .gettype = segnf_gettype,
99 .getvp = segnf_getvp,
100 .advise = (int (*)(struct seg *, caddr_t, size_t, uint_t))
|