Home | History | Annotate | Download | only in kern

Lines Matching defs:ce

62 callback_register(struct callback_head *ch, struct callback_entry *ce,
67 ce->ce_func = fn;
68 ce->ce_obj = obj;
70 TAILQ_INSERT_TAIL(&ch->ch_q, ce, ce_q);
76 callback_unregister(struct callback_head *ch, struct callback_entry *ce)
82 if (__predict_false(ch->ch_next == ce)) {
83 ch->ch_next = TAILQ_NEXT(ce, ce_q);
85 TAILQ_REMOVE(&ch->ch_q, ce, ce_q);
93 struct callback_entry *ce;
99 ce = ch->ch_next;
100 if (ce == NULL) {
101 ce = TAILQ_FIRST(&ch->ch_q);
103 KASSERT(ce != NULL);
104 KASSERT(ce->ce_func != NULL);
105 result = (*ce->ce_func)(ce, ce->ce_obj, arg);
106 ch->ch_next = TAILQ_NEXT(ce, ce_q);