Scroll to navigation

PMIX_INFO_STRING(3) OpenPMIx PMIX_INFO_STRING(3)

PMIx_Info_string — Return an allocated string representation of a pmix_info_t(5) <#man5-pmix-info-t>.

SYNOPSIS

#include <pmix.h>
char* PMIx_Info_string(const pmix_info_t *info);


Python Syntax

from pmix import *
foo = PMIxClient()
# the info is a Python ``pmix_info_t`` dictionary
pyinfo = {'key': PMIX_JOB_SIZE, 'value': 4, 'val_type': PMIX_UINT32}
rc, txt = foo.info_string(pyinfo)


INPUT PARAMETERS

•
info: Pointer to the pmix_info_t(5) <#man5-pmix-info-t> structure to be rendered.

DESCRIPTION

Build a human-readable rendering of the supplied pmix_info_t(5) <#man5-pmix-info-t>, including its key, the type and contents of its embedded pmix_value_t(5) <#man5-pmix-value-t>, and its directive flags. The rendering is produced by the same internal print routine used elsewhere in the library, followed by a trailing newline.

Unlike the const char* converter routines (such as PMIx_Error_string(3) <#man3-pmix-error-string>), which return a pointer to storage owned by the library, PMIx_Info_string returns a freshly heap-allocated buffer. The buffer is allocated with the library’s asprintf wrapper, so the caller is responsible for releasing it with the standard C library free() when it is no longer needed. Failing to do so leaks the buffer.

RETURN VALUE

Returns a pointer to an allocated, NULL-terminated string that the caller must release with free().

Returns NULL if the information could not be rendered — for example, if info is NULL or references an unknown data type.

NOTES

The returned buffer must be freed with free(); do not pass it to PMIX_RELEASE or any other PMIx destructor macro. This routine is a library convenience function and is not part of the PMIx Standard.

See also:

PMIx_Info_construct(3) <#man3-pmix-info-construct>, PMIx_Value_string(3) <#man3-pmix-value-string>


Copyright

2014-2026, OpenPMIx Community

September 27, 2026