Lines Matching refs:res

292 release_scf_resources(scf_resources_t *res)  in release_scf_resources()  argument
294 scf_entry_destroy(res->sr_ent); in release_scf_resources()
295 scf_transaction_destroy(res->sr_tx); in release_scf_resources()
296 scf_value_destroy(res->sr_val); in release_scf_resources()
297 scf_property_destroy(res->sr_prop); in release_scf_resources()
298 scf_pg_destroy(res->sr_pg); in release_scf_resources()
299 scf_snapshot_destroy(res->sr_snap); in release_scf_resources()
300 scf_instance_destroy(res->sr_inst); in release_scf_resources()
301 (void) scf_handle_unbind(res->sr_handle); in release_scf_resources()
302 scf_handle_destroy(res->sr_handle); in release_scf_resources()
323 create_scf_resources(const char *fmri, scf_resources_t *res) in create_scf_resources() argument
325 res->sr_tx = NULL; in create_scf_resources()
326 res->sr_ent = NULL; in create_scf_resources()
327 res->sr_inst = NULL; in create_scf_resources()
328 res->sr_snap = NULL; in create_scf_resources()
329 res->sr_pg = NULL; in create_scf_resources()
330 res->sr_prop = NULL; in create_scf_resources()
331 res->sr_val = NULL; in create_scf_resources()
333 if ((res->sr_handle = scf_handle_create(SCF_VERSION)) == NULL) { in create_scf_resources()
337 if (scf_handle_bind(res->sr_handle) != 0) { in create_scf_resources()
338 scf_handle_destroy(res->sr_handle); in create_scf_resources()
341 if ((res->sr_inst = scf_instance_create(res->sr_handle)) == NULL) { in create_scf_resources()
344 if (scf_handle_decode_fmri(res->sr_handle, fmri, NULL, NULL, in create_scf_resources()
345 res->sr_inst, NULL, NULL, SCF_DECODE_FMRI_REQUIRE_INSTANCE) != 0) { in create_scf_resources()
348 if ((res->sr_snap = scf_snapshot_create(res->sr_handle)) == NULL) { in create_scf_resources()
351 if (scf_instance_get_snapshot(res->sr_inst, "running", in create_scf_resources()
352 res->sr_snap) != 0) { in create_scf_resources()
355 if ((res->sr_pg = scf_pg_create(res->sr_handle)) == NULL) { in create_scf_resources()
358 if ((res->sr_prop = scf_property_create(res->sr_handle)) == NULL) { in create_scf_resources()
361 if ((res->sr_val = scf_value_create(res->sr_handle)) == NULL) { in create_scf_resources()
364 if ((res->sr_tx = scf_transaction_create(res->sr_handle)) == NULL) { in create_scf_resources()
367 if ((res->sr_ent = scf_entry_create(res->sr_handle)) == NULL) { in create_scf_resources()
375 release_scf_resources(res); in create_scf_resources()
400 boolean_t running, scf_resources_t *res) in get_property_value() argument
402 if (create_scf_resources(fmri, res) != 0) in get_property_value()
405 if (scf_instance_get_pg_composed(res->sr_inst, in get_property_value()
406 running ? res->sr_snap : NULL, pg, res->sr_pg) != 0) { in get_property_value()
409 if (scf_pg_get_property(res->sr_pg, prop, res->sr_prop) != 0) { in get_property_value()
412 if (scf_property_get_value(res->sr_prop, res->sr_val) != 0) { in get_property_value()
418 release_scf_resources(res); in get_property_value()
441 scf_resources_t res; in nwamd_lookup_boolean_property() local
444 if (get_property_value(lfmri, lpg, lprop, B_TRUE, &res) != 0) { in nwamd_lookup_boolean_property()
453 if (scf_value_get_boolean(res.sr_val, &prop_val) != 0) { in nwamd_lookup_boolean_property()
459 release_scf_resources(&res); in nwamd_lookup_boolean_property()
484 scf_resources_t res; in nwamd_lookup_string_property() local
486 if (get_property_value(lfmri, lpg, lprop, B_TRUE, &res) != 0) { in nwamd_lookup_string_property()
492 if (get_property_value(lfmri, lpg, lprop, B_FALSE, &res) != 0) { in nwamd_lookup_string_property()
501 if (scf_value_get_astring(res.sr_val, buf, bufsz) == 0) in nwamd_lookup_string_property()
506 release_scf_resources(&res); in nwamd_lookup_string_property()
529 scf_resources_t res; in nwamd_lookup_count_property() local
531 if (get_property_value(lfmri, lpg, lprop, B_TRUE, &res) != 0) { in nwamd_lookup_count_property()
540 if (scf_value_get_count(res.sr_val, answer) != 0) { in nwamd_lookup_count_property()
545 release_scf_resources(&res); in nwamd_lookup_count_property()
550 set_property_value(scf_resources_t *res, const char *propname, in set_property_value() argument
557 new = (scf_pg_get_property(res->sr_pg, propname, res->sr_prop) != 0); in set_property_value()
559 if (scf_transaction_start(res->sr_tx, res->sr_pg) == -1) { in set_property_value()
563 if (scf_transaction_property_new(res->sr_tx, res->sr_ent, in set_property_value()
568 if (scf_transaction_property_change(res->sr_tx, res->sr_ent, in set_property_value()
574 if (scf_entry_add_value(res->sr_ent, res->sr_val) != 0) { in set_property_value()
578 result = scf_transaction_commit(res->sr_tx); in set_property_value()
580 scf_transaction_reset(res->sr_tx); in set_property_value()
581 if (scf_pg_update(res->sr_pg) == -1) { in set_property_value()
600 scf_resources_t res; in nwamd_set_count_property() local
602 if (create_scf_resources(fmri, &res) != 0) in nwamd_set_count_property()
605 if (scf_instance_add_pg(res.sr_inst, pg, SCF_GROUP_APPLICATION, in nwamd_set_count_property()
606 SCF_PG_FLAG_NONPERSISTENT, res.sr_pg) != 0) { in nwamd_set_count_property()
609 if (scf_instance_get_pg_composed(res.sr_inst, NULL, pg, in nwamd_set_count_property()
610 res.sr_pg) != 0) in nwamd_set_count_property()
614 scf_value_set_count(res.sr_val, (uint64_t)count); in nwamd_set_count_property()
616 if (set_property_value(&res, prop, SCF_TYPE_COUNT) != 0) in nwamd_set_count_property()
619 release_scf_resources(&res); in nwamd_set_count_property()
625 release_scf_resources(&res); in nwamd_set_count_property()
633 scf_resources_t res; in nwamd_set_string_property() local
635 if (create_scf_resources(fmri, &res) != 0) in nwamd_set_string_property()
638 if (scf_instance_add_pg(res.sr_inst, pg, SCF_GROUP_APPLICATION, in nwamd_set_string_property()
639 SCF_PG_FLAG_NONPERSISTENT, res.sr_pg) != 0) { in nwamd_set_string_property()
642 if (scf_instance_get_pg_composed(res.sr_inst, NULL, pg, in nwamd_set_string_property()
643 res.sr_pg) != 0) in nwamd_set_string_property()
647 if (scf_value_set_astring(res.sr_val, str) != 0) in nwamd_set_string_property()
650 if (set_property_value(&res, prop, SCF_TYPE_ASTRING) != 0) in nwamd_set_string_property()
653 release_scf_resources(&res); in nwamd_set_string_property()
659 release_scf_resources(&res); in nwamd_set_string_property()
670 scf_resources_t res; in nwamd_delete_scf_property() local
673 if (create_scf_resources(fmri, &res) != 0) in nwamd_delete_scf_property()
676 if (scf_instance_add_pg(res.sr_inst, pg, SCF_GROUP_APPLICATION, in nwamd_delete_scf_property()
677 SCF_PG_FLAG_NONPERSISTENT, res.sr_pg) != 0) { in nwamd_delete_scf_property()
680 if (scf_instance_get_pg_composed(res.sr_inst, NULL, pg, in nwamd_delete_scf_property()
681 res.sr_pg) != 0) in nwamd_delete_scf_property()
685 if (scf_pg_get_property(res.sr_pg, prop, res.sr_prop) != 0) in nwamd_delete_scf_property()
688 if (scf_transaction_start(res.sr_tx, res.sr_pg) == -1) in nwamd_delete_scf_property()
691 if (scf_transaction_property_delete(res.sr_tx, res.sr_ent, prop) == -1) in nwamd_delete_scf_property()
694 result = scf_transaction_commit(res.sr_tx); in nwamd_delete_scf_property()
696 scf_transaction_reset(res.sr_tx); in nwamd_delete_scf_property()
697 if (scf_pg_update(res.sr_pg) == -1) in nwamd_delete_scf_property()
704 release_scf_resources(&res); in nwamd_delete_scf_property()
707 release_scf_resources(&res); in nwamd_delete_scf_property()