RSM_GET_INTERCONNECT_TOPOLOGY(3RSM) Remote Shared Memory Library Functions RSM_GET_INTERCONNECT_TOPOLOGY(3RSM)

rsm_get_interconnect_topology, rsm_free_interconnect_topology - get or free interconnect topology

cc [ flag... ] file... -lrsm [ library... ]
#include <rsmapi.h>
int rsm_get_interconnect_topology(rsm_topology_t **topology_data);

void rsm_free_interconnect_topology(rsm_topology_t *topology_data);

The rsm_get_interconnect_topology(3RSM) and rsm_free_interconnect_topology(3RSM) functions provide for access to the interconnect controller and connection data. The key interconnect data required for export and import operations includes the respective cluster nodeids and the controller names. To facilitate applications in the establishment of proper and efficient export and import policies, a delineation of the interconnect topology is provided by this interface. The data provided includes local nodeid, local controller name, its hardware address, and remote connection specification for each local controller. An application component exporting memory can thus find the set of existing local controllers and correctly assign controllers for the creation and publishing of segments. Exported segments may also be efficiently distributed over the set of controllers consistent with the hardware interconnect and application software. An application component which is to import memory must be informed of the segment id(s) and controller(s) used in the exporting of memory, this needs to be done using some out-of-band mechanism. The topology data structures are defined in the <rsmapi.h> header.

The rsm_get_interconnect_topology() returns a pointer to the topology data in a location specified by the topology_data argument.

The rsm_free_interconnect_topology() frees the resources allocated by rsm_get_interconnect_topology().

Upon successful completion, rsm_get_interconnect_topology() returns 0. Otherwise, an error value is returned to indicate the error.

The rsm_get_interconnect_topology() function can return the following errors:

RSMERR_BAD_TOPOLOGY_PTR

Invalid topology pointer.

RSMERR_INSUFFICIENT_MEM

Insufficient memory.

RSMERR_BAD_ADDR

Bad address.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe

attributes(7)

June 8, 2001 OmniOS