NAME

cpg_iteration_initialize - Initialize iterator for members of CPG
 

SYNOPSIS

#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 );
 

DESCRIPTION

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 VALUE

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.
 

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 interrupted by a signal
 
CS_ERR_NOT_SUPPORTED The requested protocol/functionality not supported
 
CS_ERR_MESSAGE_ERROR Incorrect auth message received
 
CS_ERR_NO_MEMORY Not enough memory to complete the requested task
 

SEE ALSO

cpg_iteration_next(3), cpg_iteration_finalize(3), cpg_initialize(3), cpg_overview(3)

Recommended readings

Pages related to cpg_iteration_initialize you should read also:

Questions & Answers

Helpful answers and articles about cpg_iteration_initialize you may found on these sites:
Stack Overflow Server Fault Super User Unix & Linux Ask Ubuntu Network Engineering DevOps Raspberry Pi Webmasters Google Search