18.2.199. PMIx_Device_construct
PMIx_Device_construct — Initialize a caller-provided
pmix_device_t(5) structure.
18.2.199.1. SYNOPSIS
#include <pmix.h>
void PMIx_Device_construct(pmix_device_t *d);
18.2.199.1.1. Python Syntax
No Python equivalent
18.2.199.2. INPUT PARAMETERS
d: Pointer to the pmix_device_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.199.3. DESCRIPTION
Initialize the memory of a pmix_device_t that the
caller has already allocated. The function zeroes the entire structure —
clearing the uuid and osname string pointers — and sets the
type field to PMIX_DEVTYPE_UNKNOWN. No heap memory is allocated.
A structure must be constructed (or created with PMIx_Device_create(3)) before any of its fields are used; operating on an uninitialized structure produces undefined behavior.
Because PMIx_Device_construct operates on caller-provided storage, it must
be paired with PMIx_Device_destruct(3) to
release any uuid or osname strings the structure subsequently
acquires. Do not pass a constructed (as opposed to created) structure to
PMIx_Device_free(3), as that would attempt to
free storage the library did not allocate.
18.2.199.4. RETURN VALUE
PMIx_Device_construct returns no value (void).
18.2.199.5. EXAMPLES
Construct a structure:
pmix_device_t dev;
PMIx_Device_construct(&dev);