table of contents
| PMIX_INFO_T(5) | OpenPMIx | PMIX_INFO_T(5) |
pmix_info_t — Defines a key-value pair
SYNTAX¶
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 <#man5-pmix-info-directives-t> values qualifying the entry, and value is the associated pmix_value_t <#man5-pmix-value-t>.
Python Syntax¶
from pmix import *
foo = {'key': "string name", 'flags': u32, '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 <#man5-pmix-info-directives-t> table, and the value/val_type pair is the Python version of a pmix_value_t <#man5-pmix-value-t> — the two fields are carried directly in the info dictionary rather than in a nested one.
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.
The key field is a pmix_key_t(5) <#man5-pmix-key-t> string naming the attribute being conveyed. The value field is a pmix_value_t(5) <#man5-pmix-value-t> carrying the typed data associated with that key. The flags field is a bit-mask of pmix_info_directives_t(5) <#man5-pmix-info-directives-t> values that qualify how the entry is to be interpreted — for example, marking the entry as required rather than optional.
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) <#man3-pmix-info-construct> — Initialize the fields of a single, statically declared pmix_info_t structure.
- PMIx_Info_create(3) <#man3-pmix-info-create> — 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 to PMIx_Info_construct).
- PMIx_Info_free — Release an array of pmix_info_t structures allocated by PMIx_Info_create (the companion to PMIx_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 the PMIX_INFO_REQD flag.
- 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) <#man5-pmix-info-directives-t>.
STATIC INITIALIZER¶
A statically declared pmix_info_t may be initialized with the PMIX_INFO_STATIC_INIT macro, which clears key and flags and initializes the embedded value (with type set to PMIX_UNDEF):
pmix_info_t info = PMIX_INFO_STATIC_INIT;
See also:
Copyright¶
2014-2026, OpenPMIx Community
| October 5, 2026 |