Remote Shared Memory Library Functions
rsmmemsegimportput(3RSM)
NAME
rsmmemsegimportput, rsmmemsegimportput8,
rsmmemsegimportput16, rsmmemsegimportput32,
rsmmemsegimportput64 - write to a segment
SYNOPSIS
cc [ flag... ] file... -lrsm [ library... ]
#include
int rsmmemsegimportput(rsmmemsegimporthandlet immemseg,
offt offset, void *srcaddr, sizet length);
int rsmmemsegimportput8(rsmmemsegimporthandlet immemseg,
offt offset, uint8t datap, ulongt repcnt);
int rsmmemsegimportput16(rsmmemsegimporthandlet immemseg,
offt offset, uint16t datap, ulongt repcnt);
int rsmmemsegimportput32(rsmmemsegimporthandlet immemseg,
offt offset, uint32t datap, ulongt repcnt);
int rsmmemsegimportput64(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, however,
a mapping is not provided, then explicitly calling these
functions facilitates writing to a segment. Depending on the
attributes of the extension library for the interconnect,
these functions may involve doing an implicit mapping before
performing the data transfer. Applications can be made
interconnect-independent with respect to segment writes 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, which means
that around every put operation open and close barrier
operations are performed automatically. Explicit error han-
dling may also be set up for these functions (see
rsmmemsegimportsetmode(3RSM)).
The rsmmemsegimportput() function copies length bytes
from local memory with start address srcaddr to the
SunOS 5.11 Last change: 8 Jun 2001 1
Remote Shared Memory Library Functions
rsmmemsegimportput(3RSM)
imported segment immemseg beginning at location offset from
the start of the segment.
The rsmmemsegimportput8() function copies repcnt number
of 8-bit quantities from successive local memory locations
pointed to by datap to successive locations starting from
offset in the imported segment.
The rsmmemsegimportput16() function copies repcnt number
of 16-bit quantities from successive local memory locations
pointed to by datap to successive locations starting from
offset in the imported segment. The offset must be aligned
at half-word address boundary.
The rsmmemsegimportput32() function copies repcnt number
of 32-bit quantities from successive local memory locations
pointed to by datap to successive locations starting from
offset in the imported segment. The offset must be aligned
at word address boundary.
The rsmmemsegimportput64() function copies repcnt number
of 64-bit quantities from successive local memory locations
pointed to by datap to successive locations starting from
offset in the imported segment. 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.
RSMERBADADR
SunOS 5.11 Last change: 8 Jun 2001 2
Remote Shared Memory Library Functions
rsmmemsegimportput(3RSM)
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
rsmmemsegimportput(3RSM)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe
SEE ALSO
rsmmemsegimportget(3RSM),
rsmmemsegimportinitbarrier(3RSM),
rsmmemsegimportopenbarrier(3RSM),
rsmmemsegimportsetmode(3RSM), attributes(5)
SunOS 5.11 Last change: 8 Jun 2001 4
Remote Shared Memory Library Functions
rsmmemsegimportput(3RSM)
SunOS 5.11 Last change: 8 Jun 2001 5
|