RSM_GET_CONTROLLER(3RSM) Remote Shared Memory Library Functions


NAME


rsm_get_controller, rsm_get_controller_attr, rsm_release_controller - get
or release a controller handle

SYNOPSIS


cc [ flag... ] file... -lrsm [ library... ]
#include <rsmapi.h>

int rsm_get_controller(char *name,
rsmapi_controller_handle_t *controller);


int rsm_get_controller_attr(rsmapi_controller_handle_t chdl,
rsmapi_controller_attr_t *attr);


int rsm_release_controller(rsmapi_controller_handle_t chdl);


DESCRIPTION


The controller functions provide mechanisms for obtaining access to a
controller, determining the characteristics of the controller, and
releasing the controller.


The rsm_get_controller() function acquires a controller handle through
the controller argument. The name argument is the specific controller
instance (for example, "sci0" or "loopback"). This controller handle is
used for subsequent RSMAPI calls.


The rsm_get_controller_attr() function obtains a controller's attributes
through the attr argument. The chdl argument is the controller handle
obtained by the rsm_get_controller() call. The attribute structure is
defined in the <rsmapi> header.


The rsm_release_controller() function releases the resources associated
with the controller identified by the controller handle chdl, obtained by
calling rsm_get_controller(). Each rsm_release_controller() call must
have a corresponding rsm_get_controller() call. It is illegal to access a
controller or segments exported or imported using a released controller.

RETURN VALUES


Upon successful completion, these functions return 0. Otherwise, an error
value is returned to indicate the error.

ERRORS


The rsm_get_controller(), rsm_get_controller_attr(), and
rsm_release_controller() functions can return the following errors:

RSMERR_BAD_CTLR_HNDL
Invalid controller handle.


The rsm_get_controller() and rsm_get_controller_attr() functions can
return the following errors:

RSMERR_BAD_ADDR
Bad address.


The rsm_get_controller() function can return the following errors:

RSMERR_CTLR_NOT_PRESENT

Controller not present.


RSMERR_INSUFFICIENT_MEM

Insufficient memory.


RSMERR_BAD_LIBRARY_VERSION

Invalid library version.


ATTRIBUTES


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


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

SEE ALSO


rsm_memseg_export_create(3RSM), rsm_memseg_import_connect(3RSM),
attributes(5)


June 8, 2001 RSM_GET_CONTROLLER(3RSM)