Remote Shared Memory Library Functions
rsmmemsegimportget(3RSM)
NAME
rsmmemsegimportget, rsmmemsegimportget8,
rsmmemsegimportget16, rsmmemsegimportget32,
rsmmemsegimportget64 - read from a segment
SYNOPSIS
cc [ flag... ] file... -lrsm [ library... ]
#include
int rsmmemsegimportget(rsmmemsegimporthandlet immemseg,
offt offset, void *destaddr, sizet length);
int rsmmemsegimportget8(rsmmemsegimporthandlet immemseg,
offt offset, uint8t *datap, ulongt repcnt);
int rsmmemsegimportget16(rsmmemsegimporthandlet immemseg,
offt offset, uint16t *datap, ulongt repcnt);
int rsmmemsegimportget32(rsmmemsegimporthandlet immemseg,
offt offset, uint32t *datap, ulongt repcnt);
int rsmmemsegimportget64(rsmmemsegimporthandlet immemseg,
offt offset, uint64t *datap, ulongt repcnt);
DESCRIPTION
When using interconnects that allow memory mapping (see
rsmmemsegimportmap(3RSM)), standard CPU memory operations
may be used for accessing memory of a segment. If a mapping
is not provided, then explicitly calling these functions
facilitates reading from a segment. Depending on the attri-
butes of the extension library of the specific interconnect,
these functions may involve performing an implicit mapping
before performing the data transfer. Applications can be
made interconnect-independent with respect to segment reads
by using these functions. The data access error detection is
performed through the use of barriers (see
rsmmemsegimportopenbarrier(3RSM)). The default barrier
operation mode is RSMBARIERMODEIMPLICIT, meaning that
around every get operation open and close barrier are per-
formed automatically. Alternatively, explicit error handling
may be set up for these functions (see
rsmmemsegimportsetmode(3RSM)). In either case the bar-
rier should be initialized prior to using these functions
using rsmmemsegimportinitbarrier(3RSM).
SunOS 5.11 Last change: 8 Jun 2001 1
Remote Shared Memory Library Functions
rsmmemsegimportget(3RSM)
The rsmmemsegimportget() function copies length bytes
from the imported segment immemseg beginning at location
offset from the start of the segment to a local memory
buffer pointed to by destaddr.
The rsmmemsegimportget8() function copies repcnt number
of 8-bit quantities from successive locations starting from
offset in the imported segment to successive local memory
locations pointed to by datap.
The rsmmemsegimportget16() functions copies repcnt
number of 16-bit quantities from successive locations start-
ing from offset in the imported segment to successive local
memory locations pointed to by datap. The offset must be
aligned at half-word address boundary.
The rsmmemsegimportget32() function copies repcnt number
of 32-bit quantities from successive locations starting from
offset in the imported segment to successive local memory
locations pointed to by datap. The offset must be aligned at
word address boundary.
The rsmmemsegimportget64() function copies repcnt number
of -bit quantities from successive locations starting from
offset in the imported segment to successive local memory
locations pointed to by datap. The offset must be aligned at
double-word address boundary.
The data transfer functions that transfer small quantities
of data (that is, 8-, 16-, 32-, and 64-bit quantities) per-
form byte swapping prior to the data transfer, in the event
that the source and destination have incompatible endian
characteristics.
RETURN VALUES
Upon successful completion, these functions return 0. Other-
wise, an error value is returned to indicate the error.
ERORS
These functions can return the following errors:
RSMERBADSEGHNDL
Invalid segment handle.
SunOS 5.11 Last change: 8 Jun 2001 2
Remote Shared Memory Library Functions
rsmmemsegimportget(3RSM)
RSMERBADADR
Bad address.
RSMERBADMEMALIGNMENT
Invalid memory alignment for pointer.
RSMERBADOFSET
Invalid offset.
RSMERBADLENGTH
Invalid length.
RSMERPERMDENIED
Permission denied.
RSMERINSUFICIENTRESOURCES
Insufficient resources.
RSMERBARIERUNINITIALIZED
Barrier not initialized.
RSMERBARIERFAILURE
I/O completion error.
RSMERCONABORTED
Connection aborted.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 8 Jun 2001 3
Remote Shared Memory Library Functions
rsmmemsegimportget(3RSM)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe
SEE ALSO
rsmmemsegimportinitbarrier(3RSM),
rsmmemsegimportopenbarrier(3RSM),
rsmmemsegimportsetmode(3RSM), attributes(5)
SunOS 5.11 Last change: 8 Jun 2001 4
Remote Shared Memory Library Functions
rsmmemsegimportget(3RSM)
SunOS 5.11 Last change: 8 Jun 2001 5
|