.. _man5-pmix_proc_t: pmix_proc_t =========== .. include_body `pmix_proc_t` |mdash| Identifies a single process in the PMIx universe SYNTAX ------ C Syntax ^^^^^^^^ .. code-block:: c #include typedef struct pmix_proc { pmix_nspace_t nspace; pmix_rank_t rank; } pmix_proc_t; DESCRIPTION ----------- The `pmix_proc_t` structure is used to identify a single process in the PMIx universe. It contains a reference to the namespace and the rank within that namespace. The fields are: * ``nspace`` |mdash| The :ref:`pmix_nspace_t(5) ` (a NULL-terminated character array) identifying the job to which the process belongs. * ``rank`` |mdash| The :ref:`pmix_rank_t(5) ` of the process within that namespace. A number of reserved rank values (e.g., ``PMIX_RANK_WILDCARD``) may be placed in this field to reference groups of processes or to indicate that only the ``nspace`` field is significant. The macro ``PMIX_PROC_STATIC_INIT`` is provided to statically initialize the fields of a `pmix_proc_t` structure, setting ``nspace`` to all zeroes and ``rank`` to ``PMIX_RANK_UNDEF``. STATIC INITIALIZER ------------------ A statically declared ``pmix_proc_t`` may be initialized with the ``PMIX_PROC_STATIC_INIT`` macro, which clears ``nspace`` and sets ``rank`` to ``PMIX_RANK_UNDEF``: .. code-block:: c pmix_proc_t proc = PMIX_PROC_STATIC_INIT; .. seealso:: :ref:`pmix_nspace_t(5) `, :ref:`pmix_rank_t(5) `, :ref:`pmix_proc_info_t(5) `