Lines Matching defs:hwp

1312 hc_walk_sibling(topo_mod_t *mod, tnode_t *node, struct hc_walk *hwp,
1316 topo_walk_t *wp = hwp->hcw_wp;
1324 if (hc_match(mod, np, hwp->hcw_fmri, name, inst,
1328 status = wp->tw_cb(mod, np, hwp);
1330 status = wp->tw_cb(wp->tw_thp, np, hwp);
1355 struct hc_walk *hwp = (struct hc_walk *)pdata;
1361 i = hwp->hcw_index;
1362 if (i > hwp->hcw_end) {
1363 if (hwp->hcw_fac != NULL) {
1364 if ((err = hwp->hcw_cb(mod, node, hwp->hcw_priv))
1380 err = nvlist_lookup_string(hwp->hcw_list[i], FM_FMRI_HC_NAME, &name);
1381 err |= nvlist_lookup_string(hwp->hcw_list[i], FM_FMRI_HC_ID, &id);
1396 if (hc_match(mod, node, hwp->hcw_fmri, name, inst, &match) != 0)
1400 return (hc_walk_sibling(mod, node, hwp, name, inst));
1404 topo_node_instance(node), name, inst, i, hwp->hcw_end);
1406 if (i == hwp->hcw_end) {
1412 if (hwp->hcw_fac != NULL) {
1413 err = nvlist_lookup_string(hwp->hcw_fac,
1415 err |= nvlist_lookup_string(hwp->hcw_fac,
1421 hwp->hcw_index++;
1424 return (topo_walk_byid(hwp->hcw_wp, fname, 0));
1430 if ((err = hwp->hcw_cb(mod, node, hwp->hcw_priv)) != 0) {
1445 hwp->hcw_index = ++i;
1446 err = nvlist_lookup_string(hwp->hcw_list[i], FM_FMRI_HC_NAME, &name);
1447 err |= nvlist_lookup_string(hwp->hcw_list[i], FM_FMRI_HC_ID, &id);
1454 return (topo_walk_byid(hwp->hcw_wp, name, inst));
1473 struct hc_walk *hwp;
1476 if ((hwp = topo_mod_alloc(mod, sizeof (struct hc_walk))) == NULL) {
1481 if (nvlist_lookup_nvlist_array(rsrc, FM_FMRI_HC_LIST, &hwp->hcw_list,
1485 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1489 if ((ret = nvlist_lookup_nvlist(rsrc, FM_FMRI_FACILITY, &hwp->hcw_fac))
1494 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1498 hwp->hcw_fac = NULL;
1502 hwp->hcw_fmri = rsrc;
1503 hwp->hcw_end = sz - 1;
1504 hwp->hcw_index = 0;
1505 hwp->hcw_priv = pdata;
1506 hwp->hcw_cb = cb;
1507 if ((wp = topo_mod_walk_init(mod, node, hc_walker, (void *)hwp, &err))
1511 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1516 hwp->hcw_wp = wp;
1518 return (hwp);
1549 struct hc_walk *hwp;
1582 if ((hwp = hc_walk_init(mod, node, plp->pl_rsrc, hc_prop_get,
1584 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
1589 topo_walk_fini(hwp->hcw_wp);
1590 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1621 struct hc_walk *hwp;
1639 if ((hwp = hc_walk_init(mod, node, plp->pl_rsrc, hc_pgrp_get,
1641 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
1646 topo_walk_fini(hwp->hcw_wp);
1647 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1680 struct hc_walk *hwp;
1710 if ((hwp = hc_walk_init(mod, node, plp->pl_rsrc, hc_prop_setprop,
1712 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
1717 topo_walk_fini(hwp->hcw_wp);
1718 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1831 struct hc_walk *hwp;
1847 if ((hwp = hc_walk_init(mod, node, hap->ha_fmri, hc_presence_state,
1849 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
1854 topo_walk_fini(hwp->hcw_wp);
1855 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
1930 struct hc_walk *hwp;
1964 if ((hwp = hc_walk_init(mod, node, flp->fl_rsrc, hc_fac_get,
1966 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
1971 topo_walk_fini(hwp->hcw_wp);
1972 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
2014 struct hc_walk *hwp;
2027 if ((hwp = hc_walk_init(mod, node, hap->ha_fmri, hc_retire_subr,
2029 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
2034 topo_walk_fini(hwp->hcw_wp);
2039 topo_mod_free(mod, hwp, sizeof (struct hc_walk));
2238 struct hc_walk *hwp;
2253 if ((hwp = hc_walk_init(mod, node, rsrc, hc_ident_node,
2255 if (topo_walk_step(hwp->hcw_wp, TOPO_WALK_CHILD) ==
2260 topo_walk_fini(hwp->hcw_wp);
2265 topo_mod_free(mod, hwp, sizeof (struct hc_walk));