cpg_iteration_initialize(3)

cpg_iteration_initialize3

Initialize iterator for members of cpg

Usage

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

Overview

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

Releases

5 releases since Debian 9 (Stretch); the text changed 1 time.

  1. 9
  2. 10–13

From libcpg-dev 3.1.9-2+deb13u1 in Debian 13 (Trixie). Parsed by carta from the page's man source.