libpmemcto API version 1.0

The PMDK repository on GitHub is the ultimate source of information on PMDK from release 2.0! For all questions and to submit eventual issues please follow to that repository. The PMDK documentation collected here should be valid up to the 1.13.1 release but is maintained only on a best-effort basis and may not reflect the latest state of the art.

comment: <> (SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT) comment: <> (LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,) comment: <> (DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY) comment: <> (THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT) comment: <> ((INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE) comment: <> (OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.)

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
SEE ALSO

NAME

pmemcto_set_root_pointer, pmemcto_get_root_pointer

  • set or obtain the root object pointer

SYNOPSIS

#include <libpmemcto.h>

void pmemcto_set_root_pointer(PMEMctopool *pcp, void *ptr);
void *pmemcto_get_root_pointer(PMEMctopool *pcp);

DESCRIPTION

The root object of persistent memory pool is an entry point for all other persistent objects allocated using the libpmemcto(7) APIs. In other words, every single object stored in persistent memory pool should have the root object at the end of its reference path. There is exactly one root object in each pool.

The pmemcto_set_root_pointer() function saves the pointer to the root object in given pool. The ptr must have been returned by a previous call to pmemcto_malloc(3), pmemcto_calloc(3), pmemcto_realloc(3) or pmemcto_aligned_alloc(3) for the same pool of memory.

The pmemcto_get_root_pointer() function returns the pointer to the root object in given pool, or NULL if the root pointer was never set.

RETURN VALUE

The pmemcto_set_root_pointer() function returns no value.

The pmemcto_get_root_pointer() function returns the pointer to the root object in given pool, or NULL if the root pointer was never set.

SEE ALSO

pmemcto_aligned_alloc(3), pmemcto_calloc(3), pmemcto_malloc(3), pmemcto_realloc(3), libpmemcto(7) and http://pmem.io

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.