Lines Matching refs:events
137 event_t events, void *cb) in RegCbWCpy() argument
145 event_t overlap = events & new_evt->map; in RegCbWCpy()
148 assert(!(evp->cb_map & events)); in RegCbWCpy()
152 ev_total = events | evp->cb_map; in RegCbWCpy()
156 ev_inc_ref = events | evp->cb_map; in RegCbWCpy()
160 evp->cb_map |= events; in RegCbWCpy()
164 if (events & ev) { in RegCbWCpy()
191 if (events & ev) { in RegCbWCpy()
219 RegCbWoCpy(struct ev_pointer *evp, event_t events, void *cb) in RegCbWoCpy() argument
226 event_t overlap = events & cur_evt->map; in RegCbWoCpy()
228 assert(!(evp->cb_map & events)); in RegCbWoCpy()
231 ev_inc_ref = events; in RegCbWoCpy()
233 cur_evt->map |= events; in RegCbWoCpy()
234 evp->cb_map |= events; in RegCbWoCpy()
237 EVENT_FOREACH_START(ev, i, BEV_OFFSET, BEV_OFFSET + NUM_BEV, events) { in RegCbWoCpy()
238 if (events & ev) { in RegCbWoCpy()
251 } EVENT_FOREACH_END(ev, events); in RegCbWoCpy()
253 if (!events) in RegCbWoCpy()
257 EVENT_FOREACH_START(ev, i, UDE_OFFSET, MAX_EV, events) { in RegCbWoCpy()
258 if (events & ev) { in RegCbWoCpy()
275 } EVENT_FOREACH_END(ev, events); in RegCbWoCpy()
279 UnregCb(struct ev_pointer *evp, event_t events) in UnregCb() argument
284 evp->cb_map &= ~events; in UnregCb()
287 if (events & g_ude_map) { in UnregCb()
288 event_t evs = events & g_ude_map; in UnregCb()
317 EVENT_FOREACH_START(ev, i, BEV_OFFSET, BEV_OFFSET + NUM_BEV, events) { in UnregCb()
320 } EVENT_FOREACH_END(ev, events); in UnregCb()
322 if (!events) in UnregCb()
325 EVENT_FOREACH_START(ev, i, UDE_OFFSET, MAX_EV, events) { in UnregCb()
328 } EVENT_FOREACH_END(ev, events); in UnregCb()
333 event_t events, void *cb) in FindReusableEvT() argument
342 assert((events & overlap) == 0); in FindReusableEvT()
343 event_t ev_total = events | overlap; in FindReusableEvT()
346 if (ev & events) { in FindReusableEvT()
359 if (ev & events) { in FindReusableEvT()
379 event_t events, void *cb) in ModCb() argument
388 if (events & evp->cb_map) { in ModCb()
392 } else if (events & evt->map) { in ModCb()
395 if (!(nevt = FindReusableEvT(evp, evb, events, cb))) { in ModCb()
403 RegCbWCpy(evp, nevt, events, cb); in ModCb()
405 RegCbWoCpy(evp, events, cb); in ModCb()
409 RegCbWoCpy(evp, events, cb); in ModCb()
412 if ((events & evp->cb_map) != events) { in ModCb()
418 UnregCb(evp, events); in ModCb()
426 ModifyCallback(mctx_t mctx, int op, int sockid, event_t events, in ModifyCallback() argument
435 if ((events & (g_bev_map | g_ude_map)) != events) { in ModifyCallback()
479 return ModCb(mtcp, op, evp, evb, events, callback); in ModifyCallback()
483 mtcp_register_callback(mctx_t mctx, int sockid, event_t events, in mtcp_register_callback() argument
491 return ModifyCallback(mctx, OP_REG, sockid, events, hook_point, callback); in mtcp_register_callback()
495 mtcp_unregister_callback(mctx_t mctx, int sockid, event_t events, in mtcp_unregister_callback() argument
498 return ModifyCallback(mctx, OP_UNREG, sockid, events, hook_point, NULL); in mtcp_unregister_callback()
598 socket_map_t socket, int side, struct pkt_ctx *pctx, event_t events) in HandleCallback() argument
610 if (!events) in HandleCallback()
612 assert(events); in HandleCallback()
636 if (!evp || !((cb_map = events & evp->cb_map) || (g_ude_map & evp->cb_map))) in HandleCallback()
659 ft_map = events & evp->ft_map; in HandleCallback()