Lines Matching defs:iter

104 static void scf_iter_reset_locked(scf_iter_t *iter);
1121 * _HANDLE_DESTROYED - iter's handle has been destroyed
1123 * iter already existed
1127 iter_attach(scf_iter_t *iter)
1129 scf_handle_t *h = iter->iter_handle;
1143 request.rpr_iterid = iter->iter_id;
1181 scf_iter_t *iter;
1299 for (iter = uu_list_first(handle->rh_iters); iter != NULL;
1300 iter = uu_list_next(handle->rh_iters, iter)) {
1301 if (iter_attach(iter) == -1) {
1342 scf_iter_t *iter;
1381 iter = handle->rh_iter;
1401 if (iter != NULL)
1402 scf_iter_destroy(iter);
1776 * too big, bad id, iter already exists, element cannot have children of type,
1777 * type is invalid, iter was reset, sequence was bad, iter walks values, iter
1783 uint32_t type, scf_datael_t *out, scf_iter_t *iter)
1799 assert(iter != NULL);
1801 scf_iter_reset_locked(iter);
1802 iter->iter_type = type;
1805 request.rpr_iterid = iter->iter_id;
1831 iter->iter_sequence++;
1834 read_request.rpr_iterid = iter->iter_id;
1835 read_request.rpr_sequence = iter->iter_sequence;
1841 scf_iter_reset_locked(iter);
1916 * too big, bad id, iter already exists, element cannot have children of type,
1917 * type is invalid, iter was reset, sequence was bad, iter walks values, iter
1929 scf_iter_t *iter = NULL;
1932 iter = HANDLE_HOLD_ITER(h);
1975 iter);
2407 * iter already exists
2413 scf_iter_t *iter;
2420 iter = uu_zalloc(sizeof (*iter));
2421 if (iter == NULL) {
2426 uu_list_node_init(iter, &iter->iter_node, iter_pool);
2427 iter->iter_handle = h;
2428 iter->iter_sequence = 1;
2429 iter->iter_type = REP_PROTOCOL_ENTITY_NONE;
2432 iter->iter_id = handle_alloc_iterid(h);
2433 if (iter->iter_id == 0) {
2435 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2437 uu_free(iter);
2440 if (iter_attach(iter) == -1) {
2441 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2443 uu_free(iter);
2446 (void) uu_list_insert_before(h->rh_iters, NULL, iter);
2449 return (iter);
2453 scf_iter_handle(const scf_iter_t *iter)
2455 return (handle_get(iter->iter_handle));
2459 scf_iter_reset_locked(scf_iter_t *iter)
2465 request.rpr_iterid = iter->iter_id;
2467 assert(MUTEX_HELD(&iter->iter_handle->rh_lock));
2469 (void) make_door_call(iter->iter_handle,
2472 iter->iter_type = REP_PROTOCOL_ENTITY_NONE;
2473 iter->iter_sequence = 1;
2477 scf_iter_reset(scf_iter_t *iter)
2479 (void) pthread_mutex_lock(&iter->iter_handle->rh_lock);
2480 scf_iter_reset_locked(iter);
2481 (void) pthread_mutex_unlock(&iter->iter_handle->rh_lock);
2485 scf_iter_destroy(scf_iter_t *iter)
2492 if (iter == NULL)
2495 handle = iter->iter_handle;
2499 request.rpr_iterid = iter->iter_id;
2504 uu_list_remove(handle->rh_iters, iter);
2507 iter->iter_handle = NULL;
2509 uu_list_node_fini(iter, &iter->iter_node, iter_pool);
2510 uu_free(iter);
2543 scf_iter_handle_scopes(scf_iter_t *iter, const scf_handle_t *handle)
2545 scf_handle_t *h = iter->iter_handle;
2550 scf_iter_reset_locked(iter);
2562 iter->iter_type = REP_PROTOCOL_ENTITY_SCOPE;
2563 iter->iter_sequence = 1;
2569 scf_iter_next_scope(scf_iter_t *iter, scf_scope_t *out)
2572 scf_handle_t *h = iter->iter_handle;
2578 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE) {
2582 if (iter->iter_type != REP_PROTOCOL_ENTITY_SCOPE) {
2586 if (iter->iter_sequence == 1) {
2589 iter->iter_sequence++;
2623 datael_setup_iter(scf_iter_t *iter, const scf_datael_t *dp, uint32_t res_type,
2635 if (h != iter->iter_handle)
2639 scf_iter_reset_locked(iter);
2640 iter->iter_type = res_type;
2643 request.rpr_iterid = iter->iter_id;
2663 iter->iter_sequence++;
2669 datael_setup_iter_pgtyped(scf_iter_t *iter, const scf_datael_t *dp,
2679 if (h != iter->iter_handle)
2684 scf_iter_reset(iter);
2690 request.rpr_iterid = iter->iter_id;
2697 scf_iter_reset_locked(iter);
2698 iter->iter_type = REP_PROTOCOL_ENTITY_PROPERTYGRP;
2712 iter->iter_sequence++;
2718 datael_iter_next(scf_iter_t *iter, scf_datael_t *out)
2720 scf_handle_t *h = iter->iter_handle;
2730 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE ||
2731 iter->iter_sequence == 1) {
2736 if (out->rd_type != iter->iter_type) {
2742 request.rpr_iterid = iter->iter_id;
2743 request.rpr_sequence = iter->iter_sequence;
2764 iter->iter_sequence++;
2771 scf_iter_scope_services(scf_iter_t *iter, const scf_scope_t *s)
2773 return (datael_setup_iter(iter, &s->rd_d,
2778 scf_iter_next_service(scf_iter_t *iter, scf_service_t *out)
2780 return (datael_iter_next(iter, &out->rd_d));
2784 scf_iter_service_instances(scf_iter_t *iter, const scf_service_t *svc)
2786 return (datael_setup_iter(iter, &svc->rd_d,
2791 scf_iter_next_instance(scf_iter_t *iter, scf_instance_t *out)
2793 return (datael_iter_next(iter, &out->rd_d));
2797 scf_iter_service_pgs(scf_iter_t *iter, const scf_service_t *svc)
2799 return (datael_setup_iter(iter, &svc->rd_d,
2804 scf_iter_service_pgs_typed(scf_iter_t *iter, const scf_service_t *svc,
2807 return (datael_setup_iter_pgtyped(iter, &svc->rd_d, type, 0));
2811 scf_iter_instance_snapshots(scf_iter_t *iter, const scf_instance_t *inst)
2813 return (datael_setup_iter(iter, &inst->rd_d,
2818 scf_iter_next_snapshot(scf_iter_t *iter, scf_snapshot_t *out)
2820 return (datael_iter_next(iter, &out->rd_d));
2824 scf_iter_instance_pgs(scf_iter_t *iter, const scf_instance_t *inst)
2826 return (datael_setup_iter(iter, &inst->rd_d,
2831 scf_iter_instance_pgs_typed(scf_iter_t *iter, const scf_instance_t *inst,
2834 return (datael_setup_iter_pgtyped(iter, &inst->rd_d, type, 0));
2838 scf_iter_instance_pgs_composed(scf_iter_t *iter, const scf_instance_t *inst,
2844 return (datael_setup_iter(iter, snap ? &snap->rd_d : &inst->rd_d,
2849 scf_iter_instance_pgs_typed_composed(scf_iter_t *iter,
2855 return (datael_setup_iter_pgtyped(iter,
2860 scf_iter_snaplevel_pgs(scf_iter_t *iter, const scf_snaplevel_t *inst)
2862 return (datael_setup_iter(iter, &inst->rd_d,
2867 scf_iter_snaplevel_pgs_typed(scf_iter_t *iter, const scf_snaplevel_t *inst,
2870 return (datael_setup_iter_pgtyped(iter, &inst->rd_d, type, 0));
2874 scf_iter_next_pg(scf_iter_t *iter, scf_propertygroup_t *out)
2876 return (datael_iter_next(iter, &out->rd_d));
2880 scf_iter_pg_properties(scf_iter_t *iter, const scf_propertygroup_t *pg)
2882 return (datael_setup_iter(iter, &pg->rd_d,
2887 scf_iter_next_property(scf_iter_t *iter, scf_property_t *out)
2889 return (datael_iter_next(iter, &out->rd_d));
2893 scf_iter_service_decorations(scf_iter_t *iter, const scf_service_t *svc,
2896 return (datael_setup_iter(iter, &svc->rd_d,
2901 scf_iter_instance_decorations(scf_iter_t *iter, const scf_instance_t *inst,
2904 return (datael_setup_iter(iter, &inst->rd_d,
2911 scf_iter_pg_decorations(scf_iter_t *iter, const scf_propertygroup_t *pg,
2914 return (datael_setup_iter(iter, &pg->rd_d,
2920 scf_iter_property_decorations(scf_iter_t *iter, const scf_property_t *prop,
2923 return (datael_setup_iter(iter, &prop->rd_d,
2928 scf_iter_next_decoration(scf_iter_t *iter, scf_decoration_t *out)
2930 return (datael_iter_next(iter, &out->rd_d));
5871 scf_iter_decoration_values(scf_iter_t *iter, const scf_decoration_t *dec)
5873 return (datael_setup_iter(iter, &dec->rd_d,
5878 scf_iter_property_values(scf_iter_t *iter, const scf_property_t *prop)
5880 return (datael_setup_iter(iter, &prop->rd_d,
5885 scf_iter_next_value(scf_iter_t *iter, scf_value_t *v)
5887 scf_handle_t *h = iter->iter_handle;
5901 if (iter->iter_type == REP_PROTOCOL_ENTITY_NONE) {
5906 if (iter->iter_type != REP_PROTOCOL_ENTITY_VALUE) {
5912 request.rpr_iterid = iter->iter_id;
5913 request.rpr_sequence = iter->iter_sequence;
5931 iter->iter_sequence++;
6909 * name too long for buffer, bad element id, iter already exists, element
6910 * cannot have children of type, type is invalid, iter was reset, sequence
6911 * was bad, iter walks values, iter does not walk type entities),
7253 scf_iter_t *iter = NULL, *sciter = NULL, *siter = NULL;
7303 (iter = scf_iter_create(h)) == NULL ||
7442 if (scf_iter_service_instances(iter, svc) !=
7449 ret = scf_iter_next_instance(iter, inst);
7636 if (scf_iter_service_pgs_typed(iter, svc,
7645 ret = scf_iter_next_pg(iter, pg);
7949 scf_iter_destroy(iter);