.\" Man page generated from reStructuredText
.\" by the Docutils 0.23 manpage writer.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PMIX_FABRIC_T" "5" "Oct 05, 2026" "" "OpenPMIx"
.sp
\fIpmix_fabric_t\fP — Describes a fabric for use with PMIx fabric
interfaces
.SH SYNTAX
.SS C Syntax
.INDENT 0.0
.INDENT 3.5
.sp
.EX
#include <pmix_common.h>

typedef struct pmix_fabric_s {
    char *name;
    size_t index;
    pmix_info_t *info;
    size_t ninfo;
    void *module;
} pmix_fabric_t;
.EE
.UNINDENT
.UNINDENT
.SH DESCRIPTION
.sp
The \fIpmix_fabric_t\fP structure is used by a Workload Manager (WLM) to
interact with fabric\-related PMIx interfaces, and to provide information
about the fabric for use in scheduling algorithms or other purposes.
.sp
The fields of the structure are:
.INDENT 0.0
.IP \(bu 2
\fBname\fP — an optional user\-supplied string name identifying the
fabric referenced by this structure. If provided, the field must be a
\fBNULL\fP\-terminated string composed of standard alphanumeric values
supported by common utilities such as \fBstrcmp\fP\&.
.IP \(bu 2
\fBindex\fP — a PMIx\-provided number identifying this registration
object.
.IP \(bu 2
\fBinfo\fP — an array of pmix_info_t(5) \%<#\:man5-pmix-info-t>
structures containing information (provided by the PMIx library) about
the fabric.
.IP \(bu 2
\fBninfo\fP — the number of elements in the \fBinfo\fP array.
.IP \(bu 2
\fBmodule\fP — an opaque object pointer reserved for use by the
PMIx server library.
.UNINDENT
.sp
Only the \fBname\fP field is provided by the user — all other fields
are provided by the PMIx library and must not be modified by the user. The
\fBinfo\fP array contains a varying amount of information depending upon both
the PMIx implementation and the information available from the fabric
vendor.
.sp
For performance reasons, the PMIx library does not provide thread
protection for accessing the information in the \fIpmix_fabric_t\fP structure.
Callers must therefore coordinate their access to the structure with any
updates driven by the PMIx library.
.SH STATIC INITIALIZER
.sp
A statically declared \fBpmix_fabric_t\fP may be initialized with the
\fBPMIX_FABRIC_STATIC_INIT\fP macro, which sets \fBname\fP, \fBinfo\fP, and \fBmodule\fP to \fBNULL\fP, \fBindex\fP to \fBSIZE_MAX\fP (the “unset” sentinel), and \fBninfo\fP to \fB0\fP:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
pmix_fabric_t fabric = PMIX_FABRIC_STATIC_INIT;
.EE
.UNINDENT
.UNINDENT
.sp
\fBSee also:\fP
.INDENT 0.0
.INDENT 3.5
PMIx_Fabric_register(3) \%<#\:man3-pmix-fabric-register>,
PMIx_Fabric_update(3) \%<#\:man3-pmix-fabric-update>,
PMIx_Fabric_deregister(3) \%<#\:man3-pmix-fabric-deregister>,
pmix_info_t(5) \%<#\:man5-pmix-info-t>,
pmix_endpoint_t(5) \%<#\:man5-pmix-endpoint-t>
.UNINDENT
.UNINDENT
.SH Copyright
2014-2026, OpenPMIx Community
.\" End of generated man page.
