Lines Matching defs:diw
329 devinfo_walk_data_t *diw;
332 diw = mdb_alloc(sizeof (devinfo_walk_data_t), UM_SLEEP);
333 diw->diw_parent = *wsp;
334 diw->diw_child = *wsp;
335 wsp->walk_data = diw;
337 diw->diw_mode = DIW_PARENT;
339 if (devinfo_parents_walk_init(&diw->diw_parent) == -1) {
340 mdb_free(diw, sizeof (devinfo_walk_data_t));
349 dip = diw->diw_parent.walk_data;
350 diw->diw_child.walk_arg = &dip->dip_base_depth;
352 if (devinfo_children_walk_init(&diw->diw_child) == -1) {
353 devinfo_parents_walk_fini(&diw->diw_parent);
354 mdb_free(diw, sizeof (devinfo_walk_data_t));
364 devinfo_walk_data_t *diw = wsp->walk_data;
367 if (diw->diw_mode == DIW_PARENT) {
368 status = devinfo_parents_walk_step(&diw->diw_parent);
373 diw->diw_mode = DIW_CHILD;
376 } else if (diw->diw_mode == DIW_CHILD) {
377 status = devinfo_children_walk_step(&diw->diw_child);
379 diw->diw_mode = DIW_DONE;
391 devinfo_walk_data_t *diw = wsp->walk_data;
393 devinfo_children_walk_fini(&diw->diw_child);
394 devinfo_parents_walk_fini(&diw->diw_parent);
395 mdb_free(diw, sizeof (devinfo_walk_data_t));