Lines Matching refs:node

81 pgroup_get(tnode_t *node, const char *pgname)  in pgroup_get()  argument
87 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in pgroup_get()
125 prop_method_get(tnode_t *node, topo_propval_t *pv, topo_propmethod_t *pm, in prop_method_get() argument
150 topo_node_unlock(node); in prop_method_get()
151 if (topo_method_call(node, pm->tpm_name, pm->tpm_version, in prop_method_get()
153 topo_node_lock(node); in prop_method_get()
157 topo_node_lock(node); in prop_method_get()
179 prop_get(tnode_t *node, const char *pgname, const char *pname, nvlist_t *pargs, in prop_get() argument
184 if ((pv = propval_get(pgroup_get(node, pgname), pname)) == NULL) { in prop_get()
193 if (prop_method_get(node, pv, pv->tp_method, pargs, err) < 0) in prop_get()
201 get_properror(tnode_t *node, int *errp, int err) in get_properror() argument
203 topo_node_unlock(node); in get_properror()
209 prop_getval(tnode_t *node, const char *pgname, const char *pname, void *val, in prop_getval() argument
213 topo_hdl_t *thp = node->tn_hdl; in prop_getval()
216 topo_node_lock(node); in prop_getval()
217 if ((pv = prop_get(node, pgname, pname, NULL, err)) in prop_getval()
219 return (get_properror(node, err, *err)); in prop_getval()
222 return (get_properror(node, err, ETOPO_PROP_TYPE)); in prop_getval()
387 return (get_properror(node, err, ETOPO_PROP_NOENT)); in prop_getval()
389 return (get_properror(node, err, ETOPO_PROP_NVL)); in prop_getval()
391 return (get_properror(node, err, ret)); in prop_getval()
394 topo_node_unlock(node); in prop_getval()
399 topo_prop_get_int32(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_int32() argument
402 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_INT32, in topo_prop_get_int32()
407 topo_prop_get_uint32(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_uint32() argument
410 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_UINT32, in topo_prop_get_uint32()
415 topo_prop_get_int64(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_int64() argument
418 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_INT64, in topo_prop_get_int64()
423 topo_prop_get_uint64(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_uint64() argument
426 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_UINT64, in topo_prop_get_uint64()
431 topo_prop_get_double(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_double() argument
434 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_DOUBLE, in topo_prop_get_double()
439 topo_prop_get_string(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_string() argument
442 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_STRING, in topo_prop_get_string()
447 topo_prop_get_fmri(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_fmri() argument
450 return (prop_getval(node, pgname, pname, (void *)val, TOPO_TYPE_FMRI, in topo_prop_get_fmri()
455 topo_prop_get_int32_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_int32_array() argument
458 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_int32_array()
463 topo_prop_get_uint32_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_uint32_array() argument
466 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_uint32_array()
471 topo_prop_get_int64_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_int64_array() argument
474 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_int64_array()
479 topo_prop_get_uint64_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_uint64_array() argument
482 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_uint64_array()
487 topo_prop_get_string_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_string_array() argument
490 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_string_array()
495 topo_prop_get_fmri_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_get_fmri_array() argument
498 return (prop_getval(node, pgname, pname, (void *)val, in topo_prop_get_fmri_array()
503 set_seterror(tnode_t *node, topo_proplist_t *pvl, int *errp, int err) in set_seterror() argument
505 topo_hdl_t *thp = node->tn_hdl; in set_seterror()
514 topo_node_unlock(node); in set_seterror()
521 prop_create(tnode_t *node, const char *pgname, const char *pname, in prop_create() argument
524 topo_hdl_t *thp = node->tn_hdl; in prop_create()
532 if ((pg = pgroup_get(node, pgname)) == NULL) { in prop_create()
533 topo_node_unlock(node); in prop_create()
540 return (set_seterror(node, NULL, err, ETOPO_PROP_TYPE)); in prop_create()
542 return (set_seterror(node, NULL, err, ETOPO_PROP_DEFD)); in prop_create()
549 return (set_seterror(node, NULL, err, ETOPO_NOMEM)); in prop_create()
553 return (set_seterror(node, pvl, err, ETOPO_NOMEM)); in prop_create()
560 return (set_seterror(node, pvl, err, ETOPO_NOMEM)); in prop_create()
571 topo_prop_set(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set() argument
575 topo_hdl_t *thp = node->tn_hdl; in topo_prop_set()
654 if (topo_prop_setprop(node, pgname, nvl, flag, nvl, err) != 0) { in topo_prop_set()
663 topo_prop_set_int32(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_int32() argument
666 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_INT32, flag, in topo_prop_set_int32()
671 topo_prop_set_uint32(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_uint32() argument
674 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_UINT32, flag, in topo_prop_set_uint32()
679 topo_prop_set_int64(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_int64() argument
682 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_INT64, flag, in topo_prop_set_int64()
687 topo_prop_set_uint64(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_uint64() argument
690 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_UINT64, flag, in topo_prop_set_uint64()
695 topo_prop_set_double(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_double() argument
698 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_DOUBLE, flag, in topo_prop_set_double()
703 topo_prop_set_string(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_string() argument
706 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_STRING, flag, in topo_prop_set_string()
711 topo_prop_set_fmri(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_fmri() argument
714 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_FMRI, flag, in topo_prop_set_fmri()
719 topo_prop_set_int32_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_int32_array() argument
722 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_INT32_ARRAY, flag, in topo_prop_set_int32_array()
727 topo_prop_set_uint32_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_uint32_array() argument
730 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_UINT32_ARRAY, flag, in topo_prop_set_uint32_array()
735 topo_prop_set_int64_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_int64_array() argument
738 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_INT64_ARRAY, flag, in topo_prop_set_int64_array()
743 topo_prop_set_uint64_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_uint64_array() argument
746 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_UINT64_ARRAY, flag, in topo_prop_set_uint64_array()
751 topo_prop_set_string_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_string_array() argument
754 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_STRING_ARRAY, flag, in topo_prop_set_string_array()
759 topo_prop_set_fmri_array(tnode_t *node, const char *pgname, const char *pname, in topo_prop_set_fmri_array() argument
762 return (topo_prop_set(node, pgname, pname, TOPO_TYPE_FMRI_ARRAY, flag, in topo_prop_set_fmri_array()
770 topo_prop_setprop(tnode_t *node, const char *pgname, nvlist_t *prop, in topo_prop_setprop() argument
774 topo_hdl_t *thp = node->tn_hdl; in topo_prop_setprop()
790 topo_node_lock(node); in topo_prop_setprop()
791 if ((pv = prop_create(node, pgname, name, type, flag, err)) == NULL) in topo_prop_setprop()
802 topo_node_unlock(node); in topo_prop_setprop()
811 topo_node_unlock(node); in topo_prop_setprop()
831 topo_node_unlock(node); in topo_prop_setprop()
832 ret = topo_method_call(node, pm->tpm_name, pm->tpm_version, in topo_prop_setprop()
834 topo_node_lock(node); in topo_prop_setprop()
844 topo_node_unlock(node); in topo_prop_setprop()
849 topo_node_unlock(node); in topo_prop_setprop()
854 register_methoderror(tnode_t *node, topo_propmethod_t *pm, int *errp, int l, in register_methoderror() argument
857 topo_hdl_t *thp = node->tn_hdl; in register_methoderror()
869 topo_node_unlock(node); in register_methoderror()
875 prop_method_register(tnode_t *node, const char *pgname, const char *pname, in prop_method_register() argument
879 topo_hdl_t *thp = node->tn_hdl; in prop_method_register()
884 return (register_methoderror(node, pm, err, 1, in prop_method_register()
888 return (register_methoderror(node, pm, err, 1, in prop_method_register()
894 return (register_methoderror(node, pm, err, 1, in prop_method_register()
912 if ((pv = propval_get(pgroup_get(node, pgname), pname)) == NULL) in prop_method_register()
913 if ((pv = prop_create(node, pgname, pname, ptype, in prop_method_register()
916 return (register_methoderror(node, pm, err, 0, *err)); in prop_method_register()
920 return (register_methoderror(node, pm, err, 1, in prop_method_register()
929 topo_node_unlock(node); in prop_method_register()
935 topo_prop_method_register(tnode_t *node, const char *pgname, const char *pname, in topo_prop_method_register() argument
940 topo_node_lock(node); in topo_prop_method_register()
942 if ((mp = topo_method_lookup(node, mname)) == NULL) in topo_prop_method_register()
943 return (register_methoderror(node, NULL, err, 1, in topo_prop_method_register()
946 topo_node_lock(node); in topo_prop_method_register()
948 return (prop_method_register(node, pgname, pname, ptype, mname, in topo_prop_method_register()
953 topo_prop_method_version_register(tnode_t *node, const char *pgname, in topo_prop_method_version_register() argument
959 topo_node_lock(node); in topo_prop_method_version_register()
961 if ((mp = topo_method_lookup(node, mname)) == NULL) in topo_prop_method_version_register()
962 return (register_methoderror(node, NULL, err, 1, in topo_prop_method_version_register()
965 topo_node_lock(node); in topo_prop_method_version_register()
968 return (register_methoderror(node, NULL, err, 1, in topo_prop_method_version_register()
971 return (register_methoderror(node, NULL, err, 1, in topo_prop_method_version_register()
974 return (prop_method_register(node, pgname, pname, ptype, mname, in topo_prop_method_version_register()
979 topo_prop_method_unregister(tnode_t *node, const char *pgname, in topo_prop_method_unregister() argument
985 topo_hdl_t *thp = node->tn_hdl; in topo_prop_method_unregister()
987 topo_node_lock(node); in topo_prop_method_unregister()
989 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_prop_method_unregister()
997 topo_node_unlock(node); in topo_prop_method_unregister()
1013 topo_node_unlock(node); in topo_prop_method_unregister()
1017 topo_prop_setmutable(tnode_t *node, const char *pgname, const char *pname, in topo_prop_setmutable() argument
1022 topo_node_lock(node); in topo_prop_setmutable()
1023 if ((pv = propval_get(pgroup_get(node, pgname), pname)) == NULL) { in topo_prop_setmutable()
1024 topo_node_unlock(node); in topo_prop_setmutable()
1034 topo_node_unlock(node); in topo_prop_setmutable()
1040 topo_node_unlock(node); in topo_prop_setmutable()
1045 topo_prop_setnonvolatile(tnode_t *node, const char *pgname, const char *pname, in topo_prop_setnonvolatile() argument
1050 topo_node_lock(node); in topo_prop_setnonvolatile()
1051 if ((pv = propval_get(pgroup_get(node, pgname), pname)) == NULL) { in topo_prop_setnonvolatile()
1052 topo_node_unlock(node); in topo_prop_setnonvolatile()
1059 topo_node_unlock(node); in topo_prop_setnonvolatile()
1065 inherit_seterror(tnode_t *node, int *errp, int err) in inherit_seterror() argument
1067 topo_node_unlock(node); in inherit_seterror()
1068 topo_node_unlock(node->tn_parent); in inherit_seterror()
1076 topo_prop_inherit(tnode_t *node, const char *pgname, const char *name, int *err) in topo_prop_inherit() argument
1078 topo_hdl_t *thp = node->tn_hdl; in topo_prop_inherit()
1079 tnode_t *pnode = node->tn_parent; in topo_prop_inherit()
1085 topo_node_lock(node); in topo_prop_inherit()
1091 if (propval_get(pgroup_get(node, pgname), name) != NULL) in topo_prop_inherit()
1092 return (inherit_seterror(node, err, ETOPO_PROP_DEFD)); in topo_prop_inherit()
1099 return (inherit_seterror(node, err, ETOPO_PROP_NOENT)); in topo_prop_inherit()
1105 return (inherit_seterror(node, err, ETOPO_PROP_NOINHERIT)); in topo_prop_inherit()
1111 if ((pg = pgroup_get(node, pgname)) == NULL) in topo_prop_inherit()
1112 return (inherit_seterror(node, err, ETOPO_PROP_NOENT)); in topo_prop_inherit()
1116 return (inherit_seterror(node, err, ETOPO_NOMEM)); in topo_prop_inherit()
1122 topo_node_unlock(node); in topo_prop_inherit()
1129 topo_pgroup_info(tnode_t *node, const char *pgname, int *err) in topo_pgroup_info() argument
1131 topo_hdl_t *thp = node->tn_hdl; in topo_pgroup_info()
1136 topo_node_lock(node); in topo_pgroup_info()
1137 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_pgroup_info()
1150 topo_node_unlock(node); in topo_pgroup_info()
1156 topo_node_unlock(node); in topo_pgroup_info()
1162 topo_node_unlock(node); in topo_pgroup_info()
1167 pgroup_seterr(tnode_t *node, topo_pgroup_t *pg, topo_ipgroup_info_t *pip, in pgroup_seterr() argument
1170 topo_hdl_t *thp = node->tn_hdl; in pgroup_seterr()
1181 topo_node_unlock(node); in pgroup_seterr()
1187 topo_pgroup_create(tnode_t *node, const topo_pgroup_info_t *pinfo, int *err) in topo_pgroup_create() argument
1191 topo_hdl_t *thp = node->tn_hdl; in topo_pgroup_create()
1195 topo_node_lock(node); in topo_pgroup_create()
1199 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_pgroup_create()
1203 topo_node_unlock(node); in topo_pgroup_create()
1210 topo_node_unlock(node); in topo_pgroup_create()
1216 return (pgroup_seterr(node, pg, pip, err)); in topo_pgroup_create()
1220 return (pgroup_seterr(node, pg, pip, err)); in topo_pgroup_create()
1228 topo_list_append(&node->tn_pgroups, pg); in topo_pgroup_create()
1229 topo_node_unlock(node); in topo_pgroup_create()
1235 topo_pgroup_destroy(tnode_t *node, const char *pname) in topo_pgroup_destroy() argument
1237 topo_hdl_t *thp = node->tn_hdl; in topo_pgroup_destroy()
1242 topo_node_lock(node); in topo_pgroup_destroy()
1243 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_pgroup_destroy()
1251 topo_node_unlock(node); in topo_pgroup_destroy()
1261 topo_list_delete(&node->tn_pgroups, pg); in topo_pgroup_destroy()
1262 topo_node_unlock(node); in topo_pgroup_destroy()
1275 topo_pgroup_destroy_all(tnode_t *node) in topo_pgroup_destroy_all() argument
1277 topo_hdl_t *thp = node->tn_hdl; in topo_pgroup_destroy_all()
1282 topo_node_lock(node); in topo_pgroup_destroy_all()
1283 while ((pg = topo_list_next(&node->tn_pgroups)) != NULL) { in topo_pgroup_destroy_all()
1290 topo_list_delete(&node->tn_pgroups, pg); in topo_pgroup_destroy_all()
1301 topo_node_unlock(node); in topo_pgroup_destroy_all()
1361 topo_prop_getprop(tnode_t *node, const char *pgname, const char *pname, in topo_prop_getprop() argument
1364 topo_hdl_t *thp = node->tn_hdl; in topo_prop_getprop()
1367 topo_node_lock(node); in topo_prop_getprop()
1368 if ((pv = prop_get(node, pgname, pname, args, err)) == NULL) { in topo_prop_getprop()
1369 (void) get_properror(node, err, *err); in topo_prop_getprop()
1374 (void) get_properror(node, err, ETOPO_NOMEM); in topo_prop_getprop()
1377 topo_node_unlock(node); in topo_prop_getprop()
1383 prop_val_add(tnode_t *node, nvlist_t **nvl, topo_propval_t *pv, int *err) in prop_val_add() argument
1386 if (prop_method_get(node, pv, pv->tp_method, NULL, err) < 0) in prop_val_add()
1403 get_pgrp_seterror(tnode_t *node, nvlist_t *nvl, int *errp, int err) in get_pgrp_seterror() argument
1405 topo_node_unlock(node); in get_pgrp_seterror()
1415 topo_prop_getpgrp(tnode_t *node, const char *pgname, nvlist_t **pgrp, in topo_prop_getpgrp() argument
1419 topo_hdl_t *thp = node->tn_hdl; in topo_prop_getpgrp()
1430 topo_node_lock(node); in topo_prop_getpgrp()
1431 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_prop_getpgrp()
1445 return (get_pgrp_seterror(node, nvl, err, in topo_prop_getpgrp()
1452 if (prop_val_add(node, &pvnvl, pv, err) < 0) { in topo_prop_getpgrp()
1453 return (get_pgrp_seterror(node, nvl, err, in topo_prop_getpgrp()
1459 return (get_pgrp_seterror(node, nvl, err, ret)); in topo_prop_getpgrp()
1464 topo_node_unlock(node); in topo_prop_getpgrp()
1469 topo_node_unlock(node); in topo_prop_getpgrp()
1475 get_all_seterror(tnode_t *node, nvlist_t *nvl, int *errp, int err) in get_all_seterror() argument
1477 topo_node_unlock(node); in get_all_seterror()
1487 topo_prop_getprops(tnode_t *node, int *err) in topo_prop_getprops() argument
1490 topo_hdl_t *thp = node->tn_hdl; in topo_prop_getprops()
1496 topo_node_lock(node); in topo_prop_getprops()
1498 return (get_all_seterror(node, NULL, err, ETOPO_NOMEM)); in topo_prop_getprops()
1501 for (pg = topo_list_next(&node->tn_pgroups); pg != NULL; in topo_prop_getprops()
1504 return (get_all_seterror(node, nvl, err, ETOPO_NOMEM)); in topo_prop_getprops()
1514 return (get_all_seterror(node, nvl, err, in topo_prop_getprops()
1521 if (prop_val_add(node, &pvnvl, pv, err) < 0) { in topo_prop_getprops()
1523 return (get_all_seterror(node, nvl, err, *err)); in topo_prop_getprops()
1529 return (get_all_seterror(node, nvl, err, ret)); in topo_prop_getprops()
1537 return (get_all_seterror(node, nvl, err, ret)); in topo_prop_getprops()
1543 topo_node_unlock(node); in topo_prop_getprops()