DOKK / manpages / debian 11 / libibumad-dev / umad_get_ca.3.en
UMAD_GET_CA(3) OpenIB Programmer's Manual UMAD_GET_CA(3)

umad_get_ca, umad_release_ca - get and release InfiniBand device port attributes

#include <infiniband/umad.h>

int umad_get_ca(char *ca_name, umad_ca_t *ca);

int umad_release_ca(umad_ca_t *ca);

umad_get_ca() gets the attributes of the InfiniBand device ca_name. It fills the ca structure with the device attributes specified by the ca_name or with the default device attributes if ca_name is NULL. umad_release_ca() should be called before the ca structure is deallocated. The argument ca is an umad_ca_t struct, as specified in <infiniband/umad.h>.

typedef struct umad_ca {

char ca_name[UMAD_CA_NAME_LEN]; /* Name of the device */ uint node_type; /* Type of the device */ int numports; /* Number of physical ports */ char fw_ver[20]; /* FW version */ char ca_type[40]; /* CA type (e.g. MT23108, etc.) */ char hw_ver[20]; /* Hardware version */ uint64_t node_guid; /* Node GUID */ uint64_t system_guid; /* System image GUID */ umad_port_t *ports[UMAD_CA_MAX_PORTS]; /* Array of device port properties */
} umad_ca_t;

umad_release_ca() releases the resources that were allocated in the function umad_get_ca().

umad_get_ca() and umad_release_ca() return 0 on success, and a negative value on error.

May 21, 2007 OpenIB