18.3.3. pmix_info_t
pmix_info_t — Defines a key-value pair
18.3.3.1. SYNTAX
18.3.3.1.1. C Syntax
#include <pmix_common.h>
typedef struct pmix_info {
pmix_key_t key;
pmix_info_directives_t flags; // bit-mask of flags
pmix_value_t value;
} pmix_info_t;
where key is the string name of the attribute (e.g., PMIX_TIMEOUT), flags is a bit-mask of
pmix_info_directives_t values qualifying the entry, and value
is the associated pmix_value_t.
18.3.3.1.2. Python Syntax
from pmix import *
foo = {'key': "string name", 'flags': u32, 'value': {'value': val, 'val_type': type}}
where key is a string key (e.g., PMIX_TIMEOUT), flags is a uint32_t value from the pmix_info_directives_t table, and value is a Python version of a pmix_value_t.
18.3.3.2. DESCRIPTION
The pmix_info_t structure is a core building block of PMIx, used to pass information and directives between applications, servers, and host environments.
18.3.3.3. SUPPORT FUNCTIONS
PMIx provides a number of functions to support constructing, destructing, allocating, loading, and setting flags on pmix_info_t structures. These include:
PMIx_Info_construct(3) — Initialize the fields of a single, statically declared pmix_info_t structure.
PMIx_Info_create(3) — Allocate and initialize an array of pmix_info_t structures.
PMIx_Info_destruct— Release the resources held by the fields of a pmix_info_t structure (the companion toPMIx_Info_construct).PMIx_Info_free— Release an array of pmix_info_t structures allocated byPMIx_Info_create(the companion toPMIx_Info_create).PMIx_Info_load— Load a key and a typed value into a pmix_info_t structure.PMIx_Info_xfer— Copy the contents of one pmix_info_t structure into another.PMIx_Info_required/PMIx_Info_optional— Mark a pmix_info_t as required or optional by setting or clearing thePMIX_INFO_REQDflag.PMIx_Info_true— Return the boolean interpretation of the value in a pmix_info_t.
The flag values that may appear in the flags field are enumerated in
pmix_info_directives_t(5).