Lines Matching defs:sstate

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