Lines Matching defs:iter

105 static void scf_iter_reset_locked(scf_iter_t *iter);
1067 * _HANDLE_DESTROYED - iter's handle has been destroyed
1069 * iter already existed
1073 iter_attach(scf_iter_t *iter)
1075 scf_handle_t *h = iter->iter_handle;
1089 request.rpr_iterid = iter->iter_id;
1127 scf_iter_t *iter;
1245 for (iter = uu_list_first(handle->rh_iters); iter != NULL;
1246 iter = uu_list_next(handle->rh_iters, iter)) {
1247 if (iter_attach(iter) == -1) {
1288 scf_iter_t *iter;
1327 iter = handle->rh_iter;
1347 if (iter != NULL)
1348 scf_iter_destroy(iter);
1722 * too big, bad id, iter already exists, element cannot have children of type,
1723 * type is invalid, iter was reset, sequence was bad, iter walks values, iter
1729 uint32_t type, scf_datael_t *out, scf_iter_t *iter)
1745 assert(iter != NULL);
1747 scf_iter_reset_locked(iter);
1748 iter->iter_type = type;
1751 request.rpr_iterid = iter->iter_id;
1777 iter->iter_sequence++;
1780 read_request.rpr_iterid = iter->iter_id;
1781 read_request.rpr_sequence = iter->iter_sequence;
1787 scf_iter_reset_locked(iter);
1856 * too big, bad id, iter already exists, element cannot have children of type,
1857 * type is invalid, iter was reset, sequence was bad, iter walks values, iter
1869 scf_iter_t *iter = NULL;
1872 iter = HANDLE_HOLD_ITER(h);
1915 iter);
2122 * iter already exists
2128 scf_iter_t *iter;
2135 iter = uu_zalloc(sizeof (*iter));
2136 if (iter == NULL) {
2141 uu_list_node_init(iter, &iter->iter_node, iter_pool);
2142 iter->iter_handle = h;
2143 iter->iter_sequence = 1;
2144 iter->iter_type = REP_PROTOCOL_ENTITY_NONE;
2147 iter->iter_id = handle_alloc_iterid(h);
2148 if (iter->iter_id == 0) {
2150 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2152 uu_free(iter);
2155 if (iter_attach(iter) == -1) {
2156 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2158 uu_free(iter);
2161 (void) uu_list_insert_before(h->rh_iters, NULL, iter);
2164 return (iter);
2168 scf_iter_handle(const scf_iter_t *iter)
2170 return (handle_get(iter->iter_handle));
2174 scf_iter_reset_locked(scf_iter_t *iter)
2180 request.rpr_iterid = iter->iter_id;
2182 assert(MUTEX_HELD(&iter->iter_handle->rh_lock));
2184 (void) make_door_call(iter->iter_handle,
2187 iter->iter_type = REP_PROTOCOL_ENTITY_NONE;
2188 iter->iter_sequence = 1;
2192 scf_iter_reset(scf_iter_t *iter)
2194 (void) pthread_mutex_lock(&iter->iter_handle->rh_lock);
2195 scf_iter_reset_locked(iter);
2196 (void) pthread_mutex_unlock(&iter->iter_handle->rh_lock);
2200 scf_iter_destroy(scf_iter_t *iter)
2207 if (iter == NULL)
2210 handle = iter->iter_handle;
2214 request.rpr_iterid = iter->iter_id;
2219 uu_list_remove(handle->rh_iters, iter);
2222 iter->iter_handle = NULL;
2224 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2225 uu_free(iter);
2258 scf_iter_handle_scopes(scf_iter_t *iter, const scf_handle_t *handle)
2260 scf_handle_t *h = iter->iter_handle;
2265 scf_iter_reset_locked(iter);
2277 iter->iter_type = REP_PROTOCOL_ENTITY_SCOPE;
2278 iter->iter_sequence = 1;
2284 scf_iter_next_scope(scf_iter_t *iter, scf_scope_t *out)
2287 scf_handle_t *h = iter->iter_handle;
2293 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE) {
2297 if (iter->iter_type != REP_PROTOCOL_ENTITY_SCOPE) {
2301 if (iter->iter_sequence == 1) {
2304 iter->iter_sequence++;
2338 datael_setup_iter(scf_iter_t *iter, const scf_datael_t *dp, uint32_t res_type,
2348 if (h != iter->iter_handle)
2352 scf_iter_reset_locked(iter);
2353 iter->iter_type = res_type;
2356 request.rpr_iterid = iter->iter_id;
2375 iter->iter_sequence++;
2381 datael_setup_iter_pgtyped(scf_iter_t *iter, const scf_datael_t *dp,
2391 if (h != iter->iter_handle)
2396 scf_iter_reset(iter);
2402 request.rpr_iterid = iter->iter_id;
2409 scf_iter_reset_locked(iter);
2410 iter->iter_type = REP_PROTOCOL_ENTITY_PROPERTYGRP;
2424 iter->iter_sequence++;
2430 datael_iter_next(scf_iter_t *iter, scf_datael_t *out)
2432 scf_handle_t *h = iter->iter_handle;
2442 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE ||
2443 iter->iter_sequence == 1) {
2448 if (out->rd_type != iter->iter_type) {
2454 request.rpr_iterid = iter->iter_id;
2455 request.rpr_sequence = iter->iter_sequence;
2475 iter->iter_sequence++;
2482 scf_iter_scope_services(scf_iter_t *iter, const scf_scope_t *s)
2484 return (datael_setup_iter(iter, &s->rd_d,
2489 scf_iter_next_service(scf_iter_t *iter, scf_service_t *out)
2491 return (datael_iter_next(iter, &out->rd_d));
2495 scf_iter_service_instances(scf_iter_t *iter, const scf_service_t *svc)
2497 return (datael_setup_iter(iter, &svc->rd_d,
2502 scf_iter_next_instance(scf_iter_t *iter, scf_instance_t *out)
2504 return (datael_iter_next(iter, &out->rd_d));
2508 scf_iter_service_pgs(scf_iter_t *iter, const scf_service_t *svc)
2510 return (datael_setup_iter(iter, &svc->rd_d,
2515 scf_iter_service_pgs_typed(scf_iter_t *iter, const scf_service_t *svc,
2518 return (datael_setup_iter_pgtyped(iter, &svc->rd_d, type, 0));
2522 scf_iter_instance_snapshots(scf_iter_t *iter, const scf_instance_t *inst)
2524 return (datael_setup_iter(iter, &inst->rd_d,
2529 scf_iter_next_snapshot(scf_iter_t *iter, scf_snapshot_t *out)
2531 return (datael_iter_next(iter, &out->rd_d));
2535 scf_iter_instance_pgs(scf_iter_t *iter, const scf_instance_t *inst)
2537 return (datael_setup_iter(iter, &inst->rd_d,
2542 scf_iter_instance_pgs_typed(scf_iter_t *iter, const scf_instance_t *inst,
2545 return (datael_setup_iter_pgtyped(iter, &inst->rd_d, type, 0));
2549 scf_iter_instance_pgs_composed(scf_iter_t *iter, const scf_instance_t *inst,
2555 return (datael_setup_iter(iter, snap ? &snap->rd_d : &inst->rd_d,
2560 scf_iter_instance_pgs_typed_composed(scf_iter_t *iter,
2566 return (datael_setup_iter_pgtyped(iter,
2571 scf_iter_snaplevel_pgs(scf_iter_t *iter, const scf_snaplevel_t *inst)
2573 return (datael_setup_iter(iter, &inst->rd_d,
2578 scf_iter_snaplevel_pgs_typed(scf_iter_t *iter, const scf_snaplevel_t *inst,
2581 return (datael_setup_iter_pgtyped(iter, &inst->rd_d, type, 0));
2585 scf_iter_next_pg(scf_iter_t *iter, scf_propertygroup_t *out)
2587 return (datael_iter_next(iter, &out->rd_d));
2591 scf_iter_pg_properties(scf_iter_t *iter, const scf_propertygroup_t *pg)
2593 return (datael_setup_iter(iter, &pg->rd_d,
2598 scf_iter_next_property(scf_iter_t *iter, scf_property_t *out)
2600 return (datael_iter_next(iter, &out->rd_d));
4984 scf_iter_property_values(scf_iter_t *iter, const scf_property_t *prop)
4986 return (datael_setup_iter(iter, &prop->rd_d,
4991 scf_iter_next_value(scf_iter_t *iter, scf_value_t *v)
4993 scf_handle_t *h = iter->iter_handle;
5007 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE) {
5012 if (iter->iter_type != REP_PROTOCOL_ENTITY_VALUE) {
5018 request.rpr_iterid = iter->iter_id;
5019 request.rpr_sequence = iter->iter_sequence;
5037 iter->iter_sequence++;
5935 * name too long for buffer, bad element id, iter already exists, element
5936 * cannot have children of type, type is invalid, iter was reset, sequence
5937 * was bad, iter walks values, iter does not walk type entities),
6279 scf_iter_t *iter = NULL, *sciter = NULL, *siter = NULL;
6331 (iter = scf_iter_create(h)) == NULL ||
6470 if (scf_iter_service_instances(iter, svc) !=
6477 ret = scf_iter_next_instance(iter, inst);
6667 if (scf_iter_service_pgs_typed(iter, svc,
6676 ret = scf_iter_next_pg(iter, pg);
6993 scf_iter_destroy(iter);