rsm_memseg_import_get man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

RSM_MEMSEG_IMPORT_GET(3RSM)			   RSM_MEMSEG_IMPORT_GET(3RSM)

NAME
       rsm_memseg_import_get, rsm_memseg_import_get8, rsm_memseg_import_get16,
       rsm_memseg_import_get32, rsm_memseg_import_get64 - read from a segment

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

       int rsm_memseg_import_get(rsm_memseg_import_handle_t im_memseg,
	    off_t offset, void *dest_addr, size_t length);

       int rsm_memseg_import_get8(rsm_memseg_import_handle_t im_memseg,
	    off_t offset, uint8_t *datap, ulong_t rep_cnt);

       int rsm_memseg_import_get16(rsm_memseg_import_handle_t im_memseg,
	    off_t offset, uint16_t *datap, ulong_t rep_cnt);

       int rsm_memseg_import_get32(rsm_memseg_import_handle_t im_memseg,
	    off_t offset, uint32_t *datap, ulong_t rep_cnt);

       int rsm_memseg_import_get64(rsm_memseg_import_handle_t im_memseg,
	    off_t offset, uint64_t *datap, ulong_t rep_cnt);

DESCRIPTION
       When using  interconnects  that	allow  memory  mapping	(see  rsm_mem‐
       seg_import_map(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 attributes of the extension library  of	 the  specific
       interconnect,  these  functions may involve performing an implicit map‐
       ping 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  rsm_memseg_import_open_barrier(3RSM)).  The default
       barrier	operation  mode	 is  RSM_BARRIER_MODE_IMPLICIT,	 meaning  that
       around  every  get operation open and close barrier are performed auto‐
       matically. Alternatively, explicit error handling may  be  set  up  for
       these  functions (see rsm_memseg_import_set_mode(3RSM)). In either case
       the barrier should be initialized prior to using these  functions using
       rsm_memseg_import_init_barrier(3RSM).

       The  rsm_memseg_import_get()  function  copies  length  bytes  from the
       imported segment im_memseg beginning at location offset from the	 start
       of the segment to a local memory buffer pointed to by dest_addr.

       The  rsm_memseg_import_get8()  function	copies rep_cnt 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 rsm_memseg_import_get16() functions copies rep_cnt number of 16-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 half-word address boundary.

       The  rsm_memseg_import_get32() function copies rep_cnt 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 rsm_memseg_import_get64() function copies rep_cnt  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)  perform	byte  swapping
       prior  to  the data transfer, in the event that the source and destina‐
       tion have incompatible endian characteristics.

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

ERRORS
       These functions can return the following errors:

       RSMERR_BAD_SEG_HNDL

	   Invalid segment handle.

       RSMERR_BAD_ADDR

	   Bad address.

       RSMERR_BAD_MEM_ALIGNMENT

	   Invalid memory alignment for pointer.

       RSMERR_BAD_OFFSET

	   Invalid offset.

       RSMERR_BAD_LENGTH

	   Invalid length.

       RSMERR_PERM_DENIED

	   Permission denied.

       RSMERR_INSUFFICIENT_RESOURCES

	   Insufficient resources.

       RSMERR_BARRIER_UNINITIALIZED

	   Barrier not initialized.

       RSMERR_BARRIER_FAILURE

	   I/O completion error.

       RSMERR_CONN_ABORTED

	   Connection aborted.

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_import_init_barrier(3RSM),	   rsm_memseg_import_open_bar‐
       rier(3RSM), rsm_memseg_import_set_mode(3RSM), attributes(5)

				  Jun 8, 2001	   RSM_MEMSEG_IMPORT_GET(3RSM)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net