.. _man5-pmix_topology_t: pmix_topology_t =============== .. include_body `pmix_topology_t` |mdash| Contains the topology for a given node SYNTAX ------ C Syntax ^^^^^^^^ .. code-block:: c #include typedef struct { char *source; void *topology; } pmix_topology_t; DESCRIPTION ----------- The `pmix_topology_t` structure contains a case-insensitive string identifying the source of the topology and a pointer to the corresponding implementation-specific topology description for a given node. The ``source`` field is a string naming the implementation that generated the topology description (e.g., ``"hwloc"``). The comparison of this field is case-insensitive. The ``topology`` field is an opaque pointer to the implementation-specific topology object (e.g., an ``hwloc_topology_t``). Its interpretation depends on the value of ``source``. The ``PMIX_TOPOLOGY_STATIC_INIT`` macro is provided to statically initialize a `pmix_topology_t` structure. A `pmix_topology_t` may be populated by :ref:`PMIx_Load_topology(3) ` and is consumed by operations such as :ref:`PMIx_Compute_distances(3) `. STATIC INITIALIZER ------------------ A statically declared ``pmix_topology_t`` may be initialized with the ``PMIX_TOPOLOGY_STATIC_INIT`` macro, which sets both ``source`` and ``topology`` to ``NULL``: .. code-block:: c pmix_topology_t topology = PMIX_TOPOLOGY_STATIC_INIT; .. seealso:: :ref:`PMIx_Load_topology(3) `, :ref:`PMIx_Compute_distances(3) `, :ref:`pmix_cpuset_t(5) `