Lines Matching refs:ss

174 i_ipadm_scf_destroy(ipadm_scf_state_t *ss)
176 scf_instance_destroy(ss->inst);
177 scf_iter_destroy(ss->inst_iter);
178 scf_service_destroy(ss->svc);
179 if (ss->h != NULL) {
180 (void) scf_handle_unbind(ss->h);
181 scf_handle_destroy(ss->h);
183 free(ss->fmri);
184 bzero(ss, sizeof (*ss));
188 i_ipadm_scf_create(ipadm_scf_state_t *ss, boolean_t needinst)
190 ss->fmri_size = scf_limit(SCF_LIMIT_MAX_FMRI_LENGTH) + 1;
191 ss->fmri = malloc(ss->fmri_size);
192 if (ss->fmri == NULL)
195 ss->h = NULL;
196 ss->svc = NULL;
197 ss->inst = NULL;
198 ss->inst_iter = NULL;
200 if ((ss->h = scf_handle_create(SCF_VERSION)) == NULL ||
201 scf_handle_bind(ss->h) == -1 ||
202 (ss->svc = scf_service_create(ss->h)) == NULL) {
203 i_ipadm_scf_destroy(ss);
210 if ((ss->inst_iter = scf_iter_create(ss->h)) == NULL ||
211 (ss->inst = scf_instance_create(ss->h)) == NULL) {
212 i_ipadm_scf_destroy(ss);
220 i_ipadm_get_cong_scf_state(ipadm_scf_state_t *ss, boolean_t needinst,
225 if ((status = i_ipadm_scf_create(ss, needinst)) != IPADM_SUCCESS)
229 (void) snprintf(ss->fmri, ss->fmri_size, IPADM_CONG_SVC_INST,
232 (void) snprintf(ss->fmri, ss->fmri_size, IPADM_CONG_SVC,
244 i_ipadm_cong_get_pg(ipadm_scf_state_t *ss, boolean_t needinst,
250 if (scf_handle_decode_fmri(ss->h, ss->fmri, NULL, NULL,
251 ss->inst, NULL, NULL, SCF_DECODE_FMRI_REQUIRE_INSTANCE)
255 scfrtn = scf_instance_get_pg(ss->inst, IPADM_CONG_PG, pg);
257 if (scf_handle_decode_fmri(ss->h, ss->fmri, NULL, ss->svc, NULL,
261 scfrtn = scf_service_get_pg(ss->svc, IPADM_CONG_PG, pg);
270 scfrtn = scf_instance_add_pg(ss->inst, IPADM_CONG_PG,
273 scfrtn = scf_service_add_pg(ss->svc, IPADM_CONG_PG,
369 ipadm_scf_state_t ss;
371 if ((status = i_ipadm_scf_create(&ss, B_TRUE)) != IPADM_SUCCESS)
384 (void) snprintf(ss.fmri, ss.fmri_size, IPADM_CONG_SVC, proto);
386 if (scf_handle_decode_fmri(ss.h, ss.fmri, NULL, ss.svc,
389 if (scf_iter_service_instances(ss.inst_iter, ss.svc) < 0)
397 while (scf_iter_next_instance(ss.inst_iter, ss.inst) > 0) {
398 if (i_ipadm_cong_collect_props(ss.h, ss.inst,
400 scf_instance_get_name(ss.inst, alg, sizeof (alg))
439 i_ipadm_scf_destroy(&ss);
455 ipadm_scf_state_t ss;
460 if ((status = i_ipadm_scf_create(&ss, B_TRUE)) != IPADM_SUCCESS)
471 (void) snprintf(ss.fmri, ss.fmri_size, IPADM_CONG_SVC, proto_str);
473 if (scf_handle_decode_fmri(ss.h, ss.fmri, NULL, ss.svc,
476 if (scf_iter_service_instances(ss.inst_iter, ss.svc) < 0)
483 while (scf_iter_next_instance(ss.inst_iter, ss.inst) > 0) {
484 if (scf_instance_get_name(ss.inst, alg, sizeof (alg)) <= 0)
487 (void) snprintf(ss.fmri, ss.fmri_size,
489 if (ipadm_svc_is_enabled(ss.h, ss.fmri) !=
501 i_ipadm_scf_destroy(&ss);
584 ipadm_scf_state_t ss;
594 if ((status = i_ipadm_get_cong_scf_state(&ss, needinst, proto_str, alg))
598 if ((pg = scf_pg_create(ss.h)) == NULL ||
599 (prop = scf_property_create(ss.h)) == NULL ||
600 (val = scf_value_create(ss.h)) == NULL) {
605 if (i_ipadm_cong_get_pg(&ss, needinst, pg) != 0 ||
621 i_ipadm_scf_destroy(&ss);
634 ipadm_scf_state_t ss;
647 if ((status = i_ipadm_get_cong_scf_state(&ss, needinst, proto_str, alg))
651 if ((pg = scf_pg_create(ss.h)) == NULL ||
652 (prop = scf_property_create(ss.h)) == NULL ||
653 (val = scf_value_create(ss.h)) == NULL ||
655 (tx = scf_transaction_create(ss.h)) == NULL ||
656 (ent = scf_entry_create(ss.h)) == NULL)
659 if (i_ipadm_cong_get_pg(&ss, needinst, pg) != 0)
710 i_ipadm_scf_destroy(&ss);
724 ipadm_scf_state_t ss;
734 if ((status = i_ipadm_get_cong_scf_state(&ss, needinst, proto_str, alg))
738 if ((pg = scf_pg_create(ss.h)) == NULL ||
739 (tx = scf_transaction_create(ss.h)) == NULL ||
740 (ent = scf_entry_create(ss.h)) == NULL)
743 if (i_ipadm_cong_get_pg(&ss, needinst, pg) != 0)
781 i_ipadm_scf_destroy(&ss);