18.2.238. PMIx_Xfer_procid

PMIx_Xfer_procid — Copy one pmix_proc_t(5) into another

18.2.238.1. SYNOPSIS

#include <pmix.h>

void PMIx_Xfer_procid(pmix_proc_t *dst,
                      const pmix_proc_t *src);

18.2.238.1.1. Python Syntax

No Python equivalent

18.2.238.2. INPUT/OUTPUT PARAMETERS

  • dst: Pointer to the destination pmix_proc_t(5) structure. The storage must already exist — it is supplied by the caller. Its contents are overwritten.

  • src: Pointer to the source pmix_proc_t(5) structure to be copied.

18.2.238.3. DESCRIPTION

Perform a non-destructive transfer of a process identifier by copying the entire pmix_proc_t structure — both the nspace and rank fields — from src to dst. The copy is a simple byte-for-byte memcpy of sizeof(pmix_proc_t) bytes.

Because a pmix_proc_t contains no heap-allocated members (the namespace is a fixed-size embedded array), no memory is allocated or freed and src is left unchanged. Callers that already hold the namespace and rank as separate values can instead use PMIx_Load_procid(3).

18.2.238.4. RETURN VALUE

PMIx_Xfer_procid returns no value (void).

18.2.238.5. NOTES

PMIx_Xfer_procid is an OpenPMIx convenience routine and is the backing implementation of the PMIX_XFER_PROCID macro. Both arguments must point to valid structures; the routine performs no NULL checking.