Lines Matching refs:ev

64 #define	GEVENT(ev)	((evch_gevent_t *)((char *)ev - \
632 evch_evq_pub(evch_eventq_t *eqp, void *ev, int flags)
636 evch_gevent_t *evp = GEVENT(ev);
701 evch_evq_evadd_dest(void *ev, destr_f destructor, void *cookie)
703 evch_gevent_t *evp = GEVENT(ev);
741 * Free event structure. Argument ev is address of payload offset.
744 evch_evq_evfree(void *ev)
746 evch_gevent_free(GEVENT(ev));
753 * context too. This function has to be called with ev == NULL initially.
754 * Actually argument ev is only a flag. Internally the member eq_nextev
755 * is used to determine the next event. But ev allows for the convenient
757 * ev = NULL;
758 * while ((ev = evch_evq_evnext(evp, ev)) != NULL) ...
761 evch_evq_evnext(evch_eventq_t *evq, void *ev)
763 if (ev == NULL) {
841 evch_class_filter(void *ev, void *cookie)
845 if (pat == NULL || evch_clsmatch(SE_CLASS_NAME(ev), pat))
869 sysevent_impl_t *ev = (sysevent_impl_t *)evp;
872 return (sdp->sd_callback(ev, sdp->sd_cbcookie));
883 sysevent_impl_t *ev = (sysevent_impl_t *)evp;
891 size = sizeof (sysevent_impl_t) + SE_PAYLOAD_SZ(ev);
895 darg.data_ptr = (char *)ev;
964 evch_destr_event(void *ev, void *ch)
1408 evch_chpublish(evch_bind_t *bp, sysevent_impl_t *ev, int flags)
1412 DTRACE_SYSEVENT2(post, evch_bind_t *, bp, sysevent_impl_t *, ev);
1417 evch_evq_evfree(ev);
1426 evch_evq_evfree(ev);
1435 SE_TIME(ev) = gethrtime();
1436 SE_SEQ(ev) = log_sysevent_new_id();
1444 evch_evq_evadd_dest(ev, evch_destr_event, (void *)chp);
1445 return (evch_evq_pub(chp->ch_queue, ev, flags) == 0 ? 0 : EAGAIN);
1628 void *ev;
1631 evchanq_t *snp; /* Pointer to q with snapshot of ev */
1670 ev = NULL;
1671 while ((ev = evch_evq_evnext(sdp->sd_queue, ev)) != NULL) {
1672 (void) evch_evq_pub(snp->sn_queue, ev, EVCH_SLEEP);
1675 ev = NULL;
1676 while ((ev = evch_evq_evnext(chp->ch_queue, ev)) != NULL) {
1677 (void) evch_evq_pub(snp->sn_queue, ev, EVCH_SLEEP);
1792 sysevent_impl_t *ev;
1822 if ((ev = evch_evq_evzalloc(sizeof (sysevent_impl_t) +
1828 SE_VERSION(ev) = SYS_EVENT_VERSION;
1829 bcopy(class, SE_CLASS_NAME(ev), class_sz);
1831 SE_SUBCLASS_OFF(ev) = SE_ALIGN(offsetof(sysevent_impl_t,
1833 bcopy(subclass, SE_SUBCLASS_NAME(ev), subclass_sz);
1835 SE_PUB_OFF(ev) = SE_SUBCLASS_OFF(ev) + aligned_subclass_sz;
1836 bcopy(pub, SE_PUB_NAME(ev), pub_sz);
1838 SE_ATTR_PTR(ev) = (uint64_t)0;
1839 SE_PAYLOAD_SZ(ev) = payload_sz;
1841 return (ev);
1885 int (*callb)(sysevent_t *ev, void *cookie),
2082 sysevent_evc_event_attr(sysevent_t *ev, size_t *plsize)
2088 aoff = SE_ATTR_OFF(ev);
2089 attrp = (char *)ev + aoff;
2090 asz = *plsize = SE_SIZE(ev) - aoff;
2098 sysevent_get_class_name(sysevent_t *ev)
2100 return (SE_CLASS_NAME(ev));
2107 sysevent_get_subclass_name(sysevent_t *ev)
2109 return (SE_SUBCLASS_NAME(ev));
2116 sysevent_get_seq(sysevent_t *ev)
2118 return (SE_SEQ(ev));
2125 sysevent_get_time(sysevent_t *ev, hrtime_t *etime)
2127 *etime = SE_TIME(ev);
2134 sysevent_get_size(sysevent_t *ev)
2136 return ((size_t)SE_SIZE(ev));
2143 sysevent_get_pub(sysevent_t *ev)
2145 return (SE_PUB_NAME(ev));
2154 sysevent_get_attr_list(sysevent_t *ev, nvlist_t **nvlist)
2162 if (SE_FLAG(ev) != SE_PACKED_BUF) {
2165 attr_offset = SE_ATTR_OFF(ev);
2166 if (SE_SIZE(ev) == attr_offset) {
2171 attr = (caddr_t)ev + attr_offset;
2172 attr_len = SE_SIZE(ev) - attr_offset;
2229 evch_usrfreeev(sysevent_impl_t *ev)
2231 evch_evq_evfree((void *)ev);
2241 evch_usrpostevent(evchan_t *bp, sysevent_impl_t *ev, uint32_t flags)
2243 return (evch_chpublish((evch_bind_t *)bp, ev, flags));