Description

The scf_iter_create() function creates a new iterator associated with handle. The scf_iter_destroy() function destroys
an iteration.

The scf_iter_reset() function releases any resources involved with an active iteration and returns
the iterator to its initial state.

The scf_iter_handle_scopes(), scf_iter_scope_services(), scf_iter_service_instances(), scf_iter_instance_snapshots(), scf_iter_service_pgs(), scf_iter_instance_pgs(), scf_iter_snaplevel_pgs(), scf_iter_pg_properties(), and scf_iter_property_values() functions
set up a new iteration of all the children parent of a particular type.
The scf_iter_property_values() function will iterate over values in the order in which they
were specified with scf_entry_add_value(3SCF).

The scf_iter_service_pgs_typed(), scf_iter_instance_pgs_typed(), and scf_iter_snaplevel_pgs_typed() functions iterate over the child property groups of
parent, but restrict them to a particular property group type.

The scf_iter_instance_pgs_composed() function sets up a new iteration of the composed view of
instance's children at the time snapshot was taken. If snapshot is NULL,
the current properties are used. The composed view of an instance's properties is
the union of the properties of the instance and its ancestors. Properties of
the instance take precedence over properties of the service with the same name,
including property group name. Property groups retrieved with this iterator might not have
instance as their parent and properties retrieved from such property groups might not have
the indicated property group as their parent. If instance and its parent have
property groups with the same name but different types, the properties in the
property group of the parent are excluded. The scf_iter_instance_pgs_typed_composed() function behaves as
scf_iter_instance_pgs_composed(), except the property groups of the type pgtype are returned.

The scf_iter_next_scope(), scf_iter_next_service(), scf_iter_next_instance(), scf_iter_next_snapshot(), scf_iter_next_pg(), scf_iter_next_property(), and scf_iter_next_value() functions retrieve the next
element of the iteration.

Return Values

Upon successful completion, scf_iter_create() returns a pointer to a new iterator. Otherwise, it
returns NULL.