Copyright (c) 2001 by Sun Microsystems, Inc. All rights reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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.
Insufficient memory.
Bad address.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Evolving |
MT-Level MT-Safe |
attributes(5)