Lines Matching refs:kev

98 static int	kqueue_register(struct kqueue *kq, struct kevent *kev,
155 static void filt_timertouch(struct knote *kn, struct kevent *kev,
162 static void filt_usertouch(struct knote *kn, struct kevent *kev,
496 struct kevent kev;
502 memset(&kev, 0, sizeof(kev));
543 kev.ident = pid;
544 kev.filter = kn->kn_filter;
545 kev.flags = kn->kn_flags | EV_ADD | EV_ENABLE | EV_ONESHOT |
547 kev.fflags = kn->kn_sfflags;
548 kev.data = kn->kn_id; /* parent */
549 kev.udata = kn->kn_kevent.udata;/* preserve udata */
550 error = kqueue_register(kq, &kev, NULL, 0);
558 kev.ident = pid;
559 kev.filter = kn->kn_filter;
560 kev.flags = kn->kn_flags | EV_ADD | EV_ENABLE | EV_FLAG1;
561 kev.fflags = kn->kn_sfflags;
562 kev.data = kn->kn_id; /* parent */
563 kev.udata = kn->kn_kevent.udata;/* preserve udata */
564 error = kqueue_register(kq, &kev, NULL, 0);
744 filt_timertouch(struct knote *kn, struct kevent *kev, u_long type)
754 if (kev->flags & EV_ADD) {
785 kn->kn_sfflags = kev->fflags;
786 kn->kn_sdata = kev->data;
797 *kev = kn->kn_kevent;
849 filt_usertouch(struct knote *kn, struct kevent *kev, u_long type)
855 if (kev->fflags & NOTE_TRIGGER)
858 ffctrl = kev->fflags & NOTE_FFCTRLMASK;
859 kev->fflags &= NOTE_FFLAGSMASK;
865 kn->kn_sfflags &= kev->fflags;
869 kn->kn_sfflags |= kev->fflags;
873 kn->kn_sfflags = kev->fflags;
880 kn->kn_sdata = kev->data;
881 if (kev->flags & EV_CLEAR) {
889 *kev = kn->kn_kevent;
890 kev->fflags = kn->kn_sfflags;
891 kev->data = kn->kn_sdata;
1234 kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td, int waitok)
1244 if ((kev->flags & (EV_ENABLE | EV_DISABLE)) == (EV_ENABLE | EV_DISABLE))
1254 filt = kev->filter;
1259 if (kev->flags & EV_ADD) {
1273 if (kev->ident > INT_MAX)
1276 error = fget(td, kev->ident,
1281 if ((kev->flags & EV_ADD) == EV_ADD && kqueue_expand(kq, fops,
1282 kev->ident, 0) != 0) {
1286 error = kqueue_expand(kq, fops, kev->ident, waitok);
1316 if (kev->ident < kq->kq_knlistsize) {
1317 SLIST_FOREACH(kn, &kq->kq_knlist[kev->ident], kn_link)
1318 if (kev->filter == kn->kn_filter)
1322 if ((kev->flags & EV_ADD) == EV_ADD) {
1323 error = kqueue_expand(kq, fops, kev->ident, waitok);
1333 if (kev->filter == EVFILT_PROC &&
1334 (kev->flags & (EV_FLAG1 | EV_FLAG2)) != 0) {
1344 KN_HASH((u_long)kev->ident, kq->kq_knhashmask)];
1346 if (kev->ident == kn->kn_id &&
1347 kev->filter == kn->kn_filter)
1372 if (kev->flags & EV_ADD) {
1390 kn->kn_sfflags = kev->fflags;
1391 kn->kn_sdata = kev->data;
1392 kev->fflags = 0;
1393 kev->data = 0;
1394 kn->kn_kevent = *kev;
1398 if ((kev->flags & EV_DISABLE) != 0)
1422 if (kev->flags & EV_DELETE) {
1431 if (kev->flags & EV_FORCEONESHOT) {
1436 if ((kev->flags & EV_ENABLE) != 0)
1438 else if ((kev->flags & EV_DISABLE) != 0)
1449 kn->kn_kevent.udata = kev->udata;
1451 fops->f_touch(kn, kev, EVENT_REGISTER);
1453 kn->kn_sfflags = kev->fflags;
1454 kn->kn_sdata = kev->data;
2586 * Register the kev w/ the kq specified by fd.
2589 kqfd_register(int fd, struct kevent *kev, struct thread *td, int waitok)
2602 error = kqueue_register(kq, kev, td, waitok);