Lines Matching refs:iter

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