PMEMCTO_SET_ROOT_POINTER(3)

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>