ncec_cb
if (mdb_walk("ncec", (mdb_walk_cb_t)ncec_cb, &id) == -1) {
static int ncec_cb(uintptr_t addr, const ncec_walk_data_t *iw,
ncec_cb_t *ncec_cb, *ncec_cb_next = NULL;
for (ncec_cb = list_head(&ncec->ncec_cb); ncec_cb != NULL;
ncec_cb = ncec_cb_next) {
ncec_cb_next = list_next(&ncec->ncec_cb, ncec_cb);
if ((ncec_cb->ncec_cb_flags & NCE_CB_DISPATCHED) == 0)
list_remove(&ncec->ncec_cb, ncec_cb);
kmem_free(ncec_cb, sizeof (*ncec_cb));
list_insert_tail(&ncec->ncec_cb, nce_cb);
ncec_cb_t *ncec_cb;
if (list_is_empty(&ncec->ncec_cb)) {
ncec_cb = list_head(&ncec->ncec_cb);
for (; ncec_cb != NULL; ncec_cb = list_next(&ncec->ncec_cb, ncec_cb)) {
if (ncec_cb != ip2m_nce_cb)
list_remove(&ncec->ncec_cb, ncec_cb);
ncec_cb_t *ncec_cb;
if (list_is_empty(&ncec->ncec_cb)) {
ncec_cb = list_head(&ncec->ncec_cb);
for (; ncec_cb != NULL; ncec_cb = list_next(&ncec->ncec_cb, ncec_cb)) {
if (ncec_cb->ncec_cb_flags & NCE_CB_DISPATCHED)
ncec_cb->ncec_cb_flags |= NCE_CB_DISPATCHED;
(*ncec_cb->ncec_cb_func)(&ip2m, ncec_cb->ncec_cb_arg);
list_create(&ncec->ncec_cb, sizeof (ncec_cb_t),
ASSERT(list_is_empty(&ncec->ncec_cb));
list_destroy(&ncec->ncec_cb);
list_t ncec_cb; /* callbacks waiting for resolution */