# CPG_ITERATION_NEXT

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
SEE ALSO

## NAME

cpg_iteration_next − Return next item in iteration of CPG

## SYNOPSIS

#include <corosync/cpg.h>

cs_error_t cpg_iteration_next (cpg_iteration_handle_t handle, struct cpg_iteration_description_t *description);

## DESCRIPTION

The cpg_iter_next function is used to get next value in iteration. The handle argument is iterator handle obtained by cpg_iteration_initalize(3) function. description is pointer to structure with following definition:

struct cpg_iteration_description_t {
struct cpg_name group;
uint32_t nodeid;
uint32_t pid;
};

where group is name of group, nodeid is ID of connected node and pid is pid of connected process. If iteration was initialized with CPG_ITERATION_NAME_ONLY iteration type, both nodeid and pid are 0.

## RETURN VALUE

This call returns the CS_OK value if successful. If there are no more items to iterate, CS_NO_SECTION error code is returned.

## SEE ALSO

cpg_iteration_initialize(3), cpg_overview(8)

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