Lines Matching refs:sstate

71 shut_down_scf(scf_state_t *sstate)  in shut_down_scf()  argument
73 scf_instance_destroy(sstate->ss_inst); in shut_down_scf()
74 (void) scf_handle_unbind(sstate->ss_handle); in shut_down_scf()
75 scf_handle_destroy(sstate->ss_handle); in shut_down_scf()
99 scf_state_t *sstate) in bind_instance() argument
103 (void) memset(sstate, 0, sizeof (*sstate)); in bind_instance()
105 if ((sstate->ss_handle = scf_handle_create(SCF_VERSION)) == NULL) in bind_instance()
108 if (scf_handle_bind(sstate->ss_handle) != 0) in bind_instance()
110 sstate->ss_inst = scf_instance_create(sstate->ss_handle); in bind_instance()
111 if (sstate->ss_inst == NULL) in bind_instance()
116 if (scf_handle_decode_fmri(sstate->ss_handle, fmri, NULL, NULL, in bind_instance()
117 sstate->ss_inst, NULL, NULL, in bind_instance()
125 shut_down_scf(sstate); in bind_instance()
134 exact_instance(const char *fmri, scf_state_t *sstate) in exact_instance() argument
138 (void) memset(sstate, 0, sizeof (*sstate)); in exact_instance()
140 if ((sstate->ss_handle = scf_handle_create(SCF_VERSION)) == NULL) in exact_instance()
144 if (scf_handle_bind(sstate->ss_handle) != 0) in exact_instance()
146 sstate->ss_svc = scf_service_create(sstate->ss_handle); in exact_instance()
147 if (sstate->ss_svc == NULL) in exact_instance()
149 if (scf_handle_decode_fmri(sstate->ss_handle, fmri, NULL, in exact_instance()
150 sstate->ss_svc, NULL, NULL, NULL, SCF_DECODE_FMRI_EXACT) != 0) { in exact_instance()
155 sstate->ss_inst = scf_instance_create(sstate->ss_handle); in exact_instance()
156 if (sstate->ss_inst == NULL) in exact_instance()
161 shut_down_scf(sstate); in exact_instance()
166 drop_composed(scf_state_t *sstate) in drop_composed() argument
168 scf_property_destroy(sstate->ss_prop); in drop_composed()
169 scf_pg_destroy(sstate->ss_pg); in drop_composed()
170 scf_snapshot_destroy(sstate->ss_snap); in drop_composed()
179 get_composed_properties(const char *lpg, boolean_t snap, scf_state_t *sstate) in get_composed_properties() argument
181 sstate->ss_snap = NULL; in get_composed_properties()
182 sstate->ss_pg = NULL; in get_composed_properties()
183 sstate->ss_prop = NULL; in get_composed_properties()
186 sstate->ss_snap = scf_snapshot_create(sstate->ss_handle); in get_composed_properties()
187 if (sstate->ss_snap == NULL) in get_composed_properties()
189 if (scf_instance_get_snapshot(sstate->ss_inst, "running", in get_composed_properties()
190 sstate->ss_snap) != 0) in get_composed_properties()
193 if ((sstate->ss_pg = scf_pg_create(sstate->ss_handle)) == NULL) in get_composed_properties()
195 if (scf_instance_get_pg_composed(sstate->ss_inst, sstate->ss_snap, lpg, in get_composed_properties()
196 sstate->ss_pg) != 0) in get_composed_properties()
198 if ((sstate->ss_prop = scf_property_create(sstate->ss_handle)) == in get_composed_properties()
204 drop_composed(sstate); in get_composed_properties()
209 get_count(const char *lprop, scf_state_t *sstate, uint64_t *answer) in get_count() argument
214 if (scf_pg_get_property(sstate->ss_pg, lprop, sstate->ss_prop) != 0) in get_count()
216 if ((val = scf_value_create(sstate->ss_handle)) == NULL) in get_count()
219 if (scf_property_get_value(sstate->ss_prop, val) == 0 && in get_count()
229 get_boolean(const char *lprop, scf_state_t *sstate, boolean_t *answer) in get_boolean() argument
235 if (scf_pg_get_property(sstate->ss_pg, lprop, sstate->ss_prop) != 0) in get_boolean()
237 if ((val = scf_value_create(sstate->ss_handle)) == NULL) in get_boolean()
240 if (scf_property_get_value(sstate->ss_prop, val) == 0 && in get_boolean()
422 scf_state_t sstate; in dladm_bridge_get_properties() local
438 if (bind_instance(TRILL_SVC_NAME, instance_name, &sstate) == 0) { in dladm_bridge_get_properties()
440 if (get_composed_properties(SCF_PG_GENERAL, B_FALSE, &sstate) == in dladm_bridge_get_properties()
442 (void) get_boolean(SCF_PROPERTY_ENABLED, &sstate, in dladm_bridge_get_properties()
446 drop_composed(&sstate); in dladm_bridge_get_properties()
449 &sstate) == 0) { in dladm_bridge_get_properties()
450 (void) get_boolean(SCF_PROPERTY_ENABLED, &sstate, in dladm_bridge_get_properties()
454 drop_composed(&sstate); in dladm_bridge_get_properties()
456 shut_down_scf(&sstate); in dladm_bridge_get_properties()
463 if (bind_instance(BRIDGE_SVC_NAME, instance_name, &sstate) != 0) in dladm_bridge_get_properties()
466 if (get_composed_properties("config", B_TRUE, &sstate) != 0) { in dladm_bridge_get_properties()
467 shut_down_scf(&sstate); in dladm_bridge_get_properties()
471 if (get_count("priority", &sstate, &value) == 0) { in dladm_bridge_get_properties()
475 if (get_count("max-age", &sstate, &value) == 0) { in dladm_bridge_get_properties()
479 if (get_count("hello-time", &sstate, &value) == 0) { in dladm_bridge_get_properties()
483 if (get_count("forward-delay", &sstate, &value) == 0) { in dladm_bridge_get_properties()
487 if (get_count("force-protocol", &sstate, &value) == 0) { in dladm_bridge_get_properties()
492 drop_composed(&sstate); in dladm_bridge_get_properties()
493 shut_down_scf(&sstate); in dladm_bridge_get_properties()
504 scf_state_t sstate; in dladm_bridge_get_privprop() local
510 if (bind_instance(BRIDGE_SVC_NAME, instance_name, &sstate) != 0) in dladm_bridge_get_privprop()
513 if (get_composed_properties("config", B_TRUE, &sstate) != 0) { in dladm_bridge_get_privprop()
514 shut_down_scf(&sstate); in dladm_bridge_get_privprop()
518 (void) get_boolean("debug", &sstate, debugp); in dladm_bridge_get_privprop()
519 if (get_count("table-maximum", &sstate, &value) == 0) in dladm_bridge_get_privprop()
522 drop_composed(&sstate); in dladm_bridge_get_privprop()
523 shut_down_scf(&sstate); in dladm_bridge_get_privprop()
694 scf_state_t sstate; in shut_down_instance() local
733 bind_instance(service_name, instance, &sstate) == 0) { in shut_down_instance()
734 (void) scf_instance_delete(sstate.ss_inst); in shut_down_instance()
735 shut_down_scf(&sstate); in shut_down_instance()
757 scf_state_t sstate; in enable_trill() local
771 if ((status = exact_instance(TRILL_SVC_NAME, &sstate)) != in enable_trill()
776 if (scf_service_get_instance(sstate.ss_svc, instance, sstate.ss_inst) != in enable_trill()
778 if (scf_service_add_instance(sstate.ss_svc, instance, in enable_trill()
779 sstate.ss_inst) != 0) in enable_trill()
784 if ((tran = scf_transaction_create(sstate.ss_handle)) == NULL) in enable_trill()
787 if ((sstate.ss_pg = scf_pg_create(sstate.ss_handle)) == NULL) in enable_trill()
790 if (scf_instance_get_pg(sstate.ss_inst, "bridging", in enable_trill()
791 sstate.ss_pg) == 0) { in enable_trill()
799 if (scf_instance_add_pg(sstate.ss_inst, "bridging", in enable_trill()
800 SCF_GROUP_DEPENDENCY, 0, sstate.ss_pg) != 0) in enable_trill()
805 if (scf_transaction_start(tran, sstate.ss_pg) != 0) in enable_trill()
808 if (!set_string_property(sstate.ss_handle, tran, in enable_trill()
811 if (!set_string_property(sstate.ss_handle, tran, in enable_trill()
814 if (!set_string_property(sstate.ss_handle, tran, in enable_trill()
817 if (!set_fmri_property(sstate.ss_handle, tran, in enable_trill()
823 if (rv == 0 && scf_pg_update(sstate.ss_pg) == -1) in enable_trill()
839 (void) scf_pg_delete(sstate.ss_pg); in enable_trill()
841 drop_composed(&sstate); in enable_trill()
848 (void) scf_instance_delete(sstate.ss_inst); in enable_trill()
850 shut_down_scf(&sstate); in enable_trill()
869 scf_state_t sstate; in dladm_bridge_configure() local
909 if ((status = exact_instance(BRIDGE_SVC_NAME, &sstate)) != in dladm_bridge_configure()
916 if (scf_service_get_instance(sstate.ss_svc, name, sstate.ss_inst) == in dladm_bridge_configure()
927 if (scf_service_add_instance(sstate.ss_svc, name, in dladm_bridge_configure()
928 sstate.ss_inst) != 0) in dladm_bridge_configure()
933 if ((tran = scf_transaction_create(sstate.ss_handle)) == NULL) in dladm_bridge_configure()
937 if ((sstate.ss_pg = scf_pg_create(sstate.ss_handle)) == NULL) in dladm_bridge_configure()
939 if (scf_instance_add_pg(sstate.ss_inst, "config", in dladm_bridge_configure()
940 SCF_GROUP_APPLICATION, 0, sstate.ss_pg) == 0) { in dladm_bridge_configure()
942 } else if (scf_instance_get_pg(sstate.ss_inst, "config", in dladm_bridge_configure()
943 sstate.ss_pg) != 0) { in dladm_bridge_configure()
947 if (scf_transaction_start(tran, sstate.ss_pg) != 0) in dladm_bridge_configure()
951 !set_count_property(sstate.ss_handle, tran, in dladm_bridge_configure()
955 !set_count_property(sstate.ss_handle, tran, in dladm_bridge_configure()
959 !set_count_property(sstate.ss_handle, tran, in dladm_bridge_configure()
963 !set_count_property(sstate.ss_handle, tran, in dladm_bridge_configure()
968 !set_count_property(sstate.ss_handle, tran, in dladm_bridge_configure()
974 if (rv == 0 && scf_pg_update(sstate.ss_pg) == -1) in dladm_bridge_configure()
997 (void) scf_pg_delete(sstate.ss_pg); in dladm_bridge_configure()
999 drop_composed(&sstate); in dladm_bridge_configure()
1006 (void) scf_instance_delete(sstate.ss_inst); in dladm_bridge_configure()
1008 shut_down_scf(&sstate); in dladm_bridge_configure()
1509 scf_state_t sstate; in dladm_bridge_get_nick() local
1513 if (bind_instance(TRILL_SVC_NAME, bridge, &sstate) != 0) in dladm_bridge_get_nick()
1516 if (get_composed_properties("config", B_TRUE, &sstate) == 0 && in dladm_bridge_get_nick()
1517 get_count("nickname", &sstate, &value) == 0) in dladm_bridge_get_nick()
1519 shut_down_scf(&sstate); in dladm_bridge_get_nick()
1527 scf_state_t sstate; in dladm_bridge_set_nick() local
1533 if (exact_instance(TRILL_SVC_NAME, &sstate) != DLADM_STATUS_OK) in dladm_bridge_set_nick()
1536 if (scf_service_get_instance(sstate.ss_svc, bridge, sstate.ss_inst) != in dladm_bridge_set_nick()
1539 if ((tran = scf_transaction_create(sstate.ss_handle)) == NULL) in dladm_bridge_set_nick()
1541 if ((sstate.ss_pg = scf_pg_create(sstate.ss_handle)) == NULL) in dladm_bridge_set_nick()
1543 if (scf_instance_add_pg(sstate.ss_inst, "config", in dladm_bridge_set_nick()
1544 SCF_GROUP_APPLICATION, 0, sstate.ss_pg) == 0) { in dladm_bridge_set_nick()
1546 } else if (scf_instance_get_pg(sstate.ss_inst, "config", in dladm_bridge_set_nick()
1547 sstate.ss_pg) != 0) { in dladm_bridge_set_nick()
1551 if (scf_transaction_start(tran, sstate.ss_pg) != 0) in dladm_bridge_set_nick()
1553 if (!set_count_property(sstate.ss_handle, tran, "nickname", in dladm_bridge_set_nick()
1558 if (rv == 0 && scf_pg_update(sstate.ss_pg) == -1) in dladm_bridge_set_nick()
1569 (void) scf_pg_delete(sstate.ss_pg); in dladm_bridge_set_nick()
1571 drop_composed(&sstate); in dladm_bridge_set_nick()
1572 shut_down_scf(&sstate); in dladm_bridge_set_nick()