# SAM_DATA_STORE

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO

## NAME

sam_data_store − Store user data

## SYNOPSIS

#include <corosync/sam.h>

cs_error_t sam_data_store (const void *data, size_t size);

## DESCRIPTION

The sam_data_store function is used to store data, which survives between instances.

The data parameter is pointer to memory with data to store. Data are stored in newly allocated memory inside library, so caller can safely remove them after call of function.

You can use NULL as parameter to remove and free previously saved data. In this case size argument is ignored.

The size parameter is length of data.

Use sam_data_getsize(3) to find out length of stored data and sam_data_restore(3) to restore stored data.

## RETURN VALUE

This call return CS_OK value if successful, otherwise and error is returned.

## ERRORS

CS_ERR_BAD_HANDLE

component was not initialized by calling sam_initialize(3) or it was finalized.

CS_ERR_NO_MEMORY

internal malloc/realloc failed because data are too large

CS_ERR_LIBRARY

some internal error appeared (mostly because communication with parent process failed)

## SEE ALSO

sam_data_getsize(3), sam_data_restore(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