Lines Matching refs:kn
121 static int fuse_device_filt_read(struct knote *kn, long hint);
122 static int fuse_device_filt_write(struct knote *kn, long hint);
123 static void fuse_device_filt_detach(struct knote *kn);
182 fuse_device_filter(struct cdev *dev, struct knote *kn) in fuse_device_filter() argument
189 if (error == 0 && kn->kn_filter == EVFILT_READ) { in fuse_device_filter()
190 kn->kn_fop = &fuse_device_rfiltops; in fuse_device_filter()
191 kn->kn_hook = data; in fuse_device_filter()
192 knlist_add(&data->ks_rsel.si_note, kn, 0); in fuse_device_filter()
194 } else if (error == 0 && kn->kn_filter == EVFILT_WRITE) { in fuse_device_filter()
195 kn->kn_fop = &fuse_device_wfiltops; in fuse_device_filter()
199 kn->kn_data = error; in fuse_device_filter()
206 fuse_device_filt_detach(struct knote *kn) in fuse_device_filt_detach() argument
210 data = (struct fuse_data*)kn->kn_hook; in fuse_device_filt_detach()
212 knlist_remove(&data->ks_rsel.si_note, kn, 0); in fuse_device_filt_detach()
213 kn->kn_hook = NULL; in fuse_device_filt_detach()
217 fuse_device_filt_read(struct knote *kn, long hint) in fuse_device_filt_read() argument
222 data = (struct fuse_data*)kn->kn_hook; in fuse_device_filt_read()
227 kn->kn_flags |= EV_EOF; in fuse_device_filt_read()
228 kn->kn_fflags = ENODEV; in fuse_device_filt_read()
229 kn->kn_data = 1; in fuse_device_filt_read()
233 kn->kn_data = data->ms_count; in fuse_device_filt_read()
243 fuse_device_filt_write(struct knote *kn, long hint) in fuse_device_filt_write() argument
246 kn->kn_data = 0; in fuse_device_filt_write()