cs_error_t cpg_iteration_initialize (cpg_handle_t handle, cpg_iteration_type_t iteration_type, const struct cpg_name *group, cpg_iteration_handle_t *cpg_iteration_handle);
The cpg_iteration_initialize function is used to initialize iteration of CPG members. The handle argument is connection to CPG database obtained by calling cpg_initialize(3) function. iteration_type is used for limit number of returned items and can be one of:
CPG_ITERATION_NAME_ONLY - only name of used groups are returned
CPG_ITERATION_ONE_GROUP - only members group with name group are returned
CPG_ITERATION_ALL - all members are returned
The group parameter is used only with CPG_ITERATION_ONE_GROUP and it's name of group with members to iterate. For other iteration_type, this parameter must be NULL.
cpg_iteration_initialize is used only for initialize context for future cpg_iteration_next(3) calls and handle needed for that function is returned in cpg_iteration_handle variable. When you have finished iteration over objects, call cpg_iteration_finalize(3) function to free up memory associated with iteration.
RETURN VALUEThis call returns the CS_OK value if successful. If cpg_iteration_handle is NULL, CS_ERR_INVALID_PARAM error is returned. Same error is returned when iteration_type is CPG_ITERATION_ONE_GROUP, but group is NULL, or when group is not NULL and iteration_type is not CPG_ITERATION_ONE_GROUP. If there is not enough memory for internal store of data, CS_ERR_NO_MEMORY is returned. CS_ERR_BAD_HANDLE can be returned, if handle is not valid handle.
COMMON IPC ERRORS
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call inturrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to completed the requested task