cpg_iteration_initialize (3) - Linux Manuals

cpg_iteration_initialize: Initialize iterator for members of CPG


cpg_iteration_initialize - Initialize iterator for members of CPG


#include <corosync/cpg.h>

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.


This 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.


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