Lines Matching refs:kev

103 static int	kqueue_register(struct kqueue *kq, struct kevent *kev,
167 static void filt_timertouch(struct knote *kn, struct kevent *kev,
174 static void filt_usertouch(struct knote *kn, struct kevent *kev,
533 struct kevent kev; in knote_fork() local
541 memset(&kev, 0, sizeof(kev)); in knote_fork()
579 kev.ident = pid; in knote_fork()
580 kev.filter = kn->kn_filter; in knote_fork()
581 kev.flags = kn->kn_flags | EV_ADD | EV_ENABLE | EV_ONESHOT | in knote_fork()
583 kev.fflags = kn->kn_sfflags; in knote_fork()
584 kev.data = kn->kn_id; /* parent */ in knote_fork()
585 kev.udata = kn->kn_kevent.udata;/* preserve udata */ in knote_fork()
586 error = kqueue_register(kq, &kev, NULL, M_NOWAIT); in knote_fork()
594 kev.ident = pid; in knote_fork()
595 kev.filter = kn->kn_filter; in knote_fork()
596 kev.flags = kn->kn_flags | EV_ADD | EV_ENABLE | EV_FLAG1; in knote_fork()
597 kev.fflags = kn->kn_sfflags; in knote_fork()
598 kev.data = kn->kn_id; /* parent */ in knote_fork()
599 kev.udata = kn->kn_kevent.udata;/* preserve udata */ in knote_fork()
600 error = kqueue_register(kq, &kev, NULL, M_NOWAIT); in knote_fork()
891 filt_timertouch(struct knote *kn, struct kevent *kev, u_long type) in filt_timertouch() argument
901 if (kev->flags & EV_ADD) { in filt_timertouch()
932 kn->kn_sfflags = kev->fflags; in filt_timertouch()
933 kn->kn_sdata = kev->data; in filt_timertouch()
944 *kev = kn->kn_kevent; in filt_timertouch()
996 filt_usertouch(struct knote *kn, struct kevent *kev, u_long type) in filt_usertouch() argument
1002 if (kev->fflags & NOTE_TRIGGER) in filt_usertouch()
1005 ffctrl = kev->fflags & NOTE_FFCTRLMASK; in filt_usertouch()
1006 kev->fflags &= NOTE_FFLAGSMASK; in filt_usertouch()
1012 kn->kn_sfflags &= kev->fflags; in filt_usertouch()
1016 kn->kn_sfflags |= kev->fflags; in filt_usertouch()
1020 kn->kn_sfflags = kev->fflags; in filt_usertouch()
1027 kn->kn_sdata = kev->data; in filt_usertouch()
1028 if (kev->flags & EV_CLEAR) { in filt_usertouch()
1036 *kev = kn->kn_kevent; in filt_usertouch()
1037 kev->fflags = kn->kn_sfflags; in filt_usertouch()
1038 kev->data = kn->kn_sdata; in filt_usertouch()
1490 kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td, in kqueue_register() argument
1500 if ((kev->flags & (EV_ENABLE | EV_DISABLE)) == (EV_ENABLE | EV_DISABLE)) in kqueue_register()
1510 filt = kev->filter; in kqueue_register()
1515 if (kev->flags & EV_ADD) { in kqueue_register()
1517 if (kev->flags & EV_KEEPUDATA) { in kqueue_register()
1536 if (kev->ident > INT_MAX) in kqueue_register()
1539 error = fget(td, kev->ident, &cap_event_rights, &fp); in kqueue_register()
1543 if ((kev->flags & EV_ADD) == EV_ADD && kqueue_expand(kq, fops, in kqueue_register()
1544 kev->ident, M_NOWAIT) != 0) { in kqueue_register()
1548 error = kqueue_expand(kq, fops, kev->ident, mflag); in kqueue_register()
1578 if (kev->ident < kq->kq_knlistsize) { in kqueue_register()
1579 SLIST_FOREACH(kn, &kq->kq_knlist[kev->ident], kn_link) in kqueue_register()
1580 if (kev->filter == kn->kn_filter) in kqueue_register()
1584 if ((kev->flags & EV_ADD) == EV_ADD) { in kqueue_register()
1585 error = kqueue_expand(kq, fops, kev->ident, mflag); in kqueue_register()
1595 if (kev->filter == EVFILT_PROC && in kqueue_register()
1596 (kev->flags & (EV_FLAG1 | EV_FLAG2)) != 0) { in kqueue_register()
1606 KN_HASH((u_long)kev->ident, kq->kq_knhashmask)]; in kqueue_register()
1608 if (kev->ident == kn->kn_id && in kqueue_register()
1609 kev->filter == kn->kn_filter) in kqueue_register()
1634 if (kev->flags & EV_ADD) { in kqueue_register()
1652 kn->kn_sfflags = kev->fflags; in kqueue_register()
1653 kn->kn_sdata = kev->data; in kqueue_register()
1654 kev->fflags = 0; in kqueue_register()
1655 kev->data = 0; in kqueue_register()
1656 kn->kn_kevent = *kev; in kqueue_register()
1660 if ((kev->flags & EV_DISABLE) != 0) in kqueue_register()
1685 if (kev->flags & EV_DELETE) { in kqueue_register()
1692 if (kev->flags & EV_FORCEONESHOT) { in kqueue_register()
1697 if ((kev->flags & EV_ENABLE) != 0) in kqueue_register()
1699 else if ((kev->flags & EV_DISABLE) != 0) in kqueue_register()
1711 if ((kev->flags & EV_KEEPUDATA) == 0) in kqueue_register()
1712 kn->kn_kevent.udata = kev->udata; in kqueue_register()
1714 fops->f_touch(kn, kev, EVENT_REGISTER); in kqueue_register()
1716 kn->kn_sfflags = kev->fflags; in kqueue_register()
1717 kn->kn_sdata = kev->data; in kqueue_register()
2819 kqfd_register(int fd, struct kevent *kev, struct thread *td, int mflag) in kqfd_register() argument
2833 error = kqueue_register(kq, kev, td, mflag); in kqfd_register()