cpg_zcb_alloc - Allocates a zero copy buffer
#include <corosync/cpg.h>
int cpg_zcb_alloc(cpg_handle_t handle, size_t
size, void **buffer);
The
cpg_zcb_alloc function will allocate a zero copy buffer for use with
the
cpg_zcb_mcast_joined(3) function. This buffer should not be used in
another thread while a cpg_zcb_mcast_joined operation is taking place on the
buffer. The buffer is allocated via operating system mechanisms to avoid
copying in the IPC layer.
The argument
handle describes the handle on which the buffer will be
allocated.
The argument
size requests a buffer of size be allocated.
The
buffer argument is set to the buffer address that is allocated by
this operation.
This call returns the CS_OK value if successful, otherwise an error is returned.
The errors are undocumented.
cpg_overview(3),
cpg_initialize(3),
cpg_finalize(3),
cpg_fd_get(3),
cpg_dispatch(3),
cpg_join(3),
cpg_leave(3),
cpg_mcast_joined(3),
cpg_membership_get(3)
cpg_zcb_free(3) cpg_zcb_mcast_joined(3)
cpg_context_get(3) cpg_context_set(3) cpg_local_get(3)
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