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 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).