18.2.131. PMIx_Pdata_construct

PMIx_Pdata_construct — Initialize a caller-provided pmix_pdata_t(5) structure.

18.2.131.1. SYNOPSIS

#include <pmix.h>

void PMIx_Pdata_construct(pmix_pdata_t *p);

18.2.131.1.1. Python Syntax

No Python equivalent

18.2.131.2. INPUT PARAMETERS

  • p: Pointer to the pmix_pdata_t(5) structure to be initialized. The storage for the structure itself must already exist — it is supplied by the caller (typically declared on the stack or embedded within another object).

18.2.131.3. DESCRIPTION

Initialize the memory of a pmix_pdata_t that the caller has already allocated. The function zeroes the entire structure — clearing the proc and key fields — and sets the contained value type to PMIX_UNDEF. No heap memory is allocated and no payload is attached.

Because PMIx_Pdata_construct operates on caller-provided storage, it must be paired with PMIx_Pdata_destruct(3) to release any payload the structure’s value subsequently acquires. Do not pass a constructed (as opposed to created) structure to PMIx_Pdata_free(3), as that would attempt to free storage the library did not allocate.

18.2.131.4. RETURN VALUE

PMIx_Pdata_construct returns no value (void).

18.2.131.5. EXAMPLES

Construct a structure:

pmix_pdata_t pdata;

PMIx_Pdata_construct(&pdata);