### Performing Iteration

The following routines iteratively traverse all of the keys (name or UUID) in a backing store. The order of retrieval of the keys is indeterminate; they are not sorted, nor are they necessarily returned in the order in which they were originally stored. It is strongly recommended to use the locking and unlocking routines, dce_db_lock( ) and dce_db_unlock( ), whenever performing iteration.

dce_db_iter_start( )
This routine prepares for the start of iteration.

dce_db_iter_next( )
This routine returns the key for the next item from a backing store that is indexed by name or by UUID. The db_s_no_more status code indicates that there are no more items.

dce_db_iter_next_by_name( )
This routine returns the key for the next item only from a backing store that is indexed by name. Again, db_s_no_more indicates that no items remain.

dce_db_iter_next_by_uuid( )
This routine returns the key for the next item only from a backing store that is indexed by UUID. Again, db_s_no_more indicates that no items remain.

dce_db_iter_done( )
This routine is counterpart to dce_db_iter_start( ) and should be called when iteration is done.

dce_db_inq_count( )
This routine returns the number of items in a backing store.

###