RSM_MEMSEG_IMPORT_CONNECT(3RSM) Remote Shared Memory Library Functions
NAME
rsm_memseg_import_connect, rsm_memseg_import_disconnect - create or
break logical connection between import and export segments
SYNOPSIS
cc [
flag... ]
file... -lrsm [
library... ]
#include <rsmapi.h>
int rsm_memseg_import_connect(
rsmapi_controller_handle_t controller,
rsm_node_id_t nodeid,
rsm_memseg_id_t segment_id,
rsm_permission_t perm,
rsm_memseg_import_handle_t *memseg);
int rsm_memseg_import_disconnect(
rsm_memseg_import_handle_t memseg);
DESCRIPTION
The
rsm_memseg_import_connect() function provides a means of creating
an import segment called
memseg and establishing a logical connection
with an export segment identified by the
segment_id on the node
specified by
node_id. The controller specified by
controller must
have a physical connection with the controller (see
rsm_get_interconnect_topology(3RSM)) used while exporting the segment
identified by
segment_id on node specified by
node_id. The
perm argument specifies the mode of access that the importer is requesting
for this connection. In the connection process, the mode of access
and the importers userid and groupid are compared with the access
permissions specified by the exporter. If the request mode is not
valid, the connection request is denied. The
perm argument is limited
to the following octal values:
0400 read mode
0200 write mode
0600 read/write mode
The
rsm_memseg_import_disconnect() function breaks the logical
connection between the import segment and the exported segment and
deallocates the resources associated with the import segment handle
memseg.
RETURN VALUES
Upon successful completion, these functions return 0. Otherwise, an
error value is returned to indicate the error.
ERRORS
The
rsm_memseg_import_connect() and
rsm_memseg_import_disconnect() functions can return the following errors:
RSMERR_BAD_SEG_HNDL Invalid segment handle.
The
rsm_memseg_import_connect() function can return the following
errors:
RSMERR_BAD_CTLR_HNDL Invalid controller handle.
RSMERR_CTLR_NOT_PRESENT Controller not present.
RSMERR_PERM_DENIED Permission denied.
RSMERR_INSUFFICIENT_MEM Insufficient memory.
RSMERR_INSUFFICIENT_RESOURCES Insufficient resources.
RSMERR_SEG_NOT_PUBLISHED_TO_NODE Segment not published to node.
RSMERR_SEG_NOT_PUBLISHED Segment not published at all.
RSMERR_BAD_ADDR Bad address.
RSMERR_REMOTE_NODE_UNREACHABLE Remote not not reachable.
RSMERR_INTERRUPTED Connection interrupted.
The
rsm_memseg_import_disconnect() function can return the following
errors:
RSMERR_SEG_STILL_MAPPED Segment still mapped, need to unmap
before disconnect.
RSMERR_POLLFD_IN_USE Poll file descriptor in use.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
rsm_memseg_import_map(3RSM),
attributes(7) November 26, 2017
RSM_MEMSEG_IMPORT_CONNECT(3RSM)