• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libkqueue-1.0.6/src/linux/

Lines Matching refs:kn

64 epoll_update(int op, struct filter *filt, struct knote *kn, struct epoll_event *ev)
66 dbg_printf("op=%d fd=%d events=%s", op, (int)kn->kev.ident,
68 if (epoll_ctl(filt->kf_pfd, op, kn->kev.ident, ev) < 0) {
106 struct knote *kn;
124 kn = knote_lookup(filt, ev->data.fd);
125 if (kn != NULL) {
126 memcpy(dst, &kn->kev, sizeof(*dst));
137 if (kn->flags & KNFL_PASSIVE_SOCKET) {
155 if (kn->kev.flags & EV_DISPATCH) {
156 socket_knote_delete(filt->kf_pfd, kn->kev.ident);
157 KNOTE_DISABLE(kn);
158 } else if (kn->kev.flags & EV_ONESHOT) {
159 socket_knote_delete(filt->kf_pfd, kn->kev.ident);
160 knote_free(filt, kn);
172 evfilt_socket_knote_create(struct filter *filt, struct knote *kn)
176 if (knote_get_socket_type(kn) < 0)
180 if (kn->kev.filter == EVFILT_READ)
182 kn->data.events = EPOLLIN | EPOLLRDHUP;
184 kn->data.events = EPOLLIN;
187 kn->data.events = EPOLLOUT;
188 if (kn->kev.flags & EV_ONESHOT || kn->kev.flags & EV_DISPATCH)
189 kn->data.events |= EPOLLONESHOT;
190 if (kn->kev.flags & EV_CLEAR)
191 kn->data.events |= EPOLLET;
194 ev.events = kn->data.events;
195 ev.data.fd = kn->kev.ident;
197 return epoll_update(EPOLL_CTL_ADD, filt, kn, &ev);
201 evfilt_socket_knote_modify(struct filter *filt, struct knote *kn,
208 evfilt_socket_knote_delete(struct filter *filt, struct knote *kn)
210 if (kn->kev.flags & EV_DISABLE)
213 return epoll_update(EPOLL_CTL_DEL, filt, kn, NULL);
217 evfilt_socket_knote_enable(struct filter *filt, struct knote *kn)
222 ev.events = kn->data.events;
223 ev.data.fd = kn->kev.ident;
225 return epoll_update(EPOLL_CTL_ADD, filt, kn, &ev);
229 evfilt_socket_knote_disable(struct filter *filt, struct knote *kn)
231 return epoll_update(EPOLL_CTL_DEL, filt, kn, NULL);