Index Index for
Section 3
Index Alphabetical
listing for I
Bottom of page Bottom of
page

imc_asattach_ptp(3)

NAME

imc_asattach_ptp - Attaches in point-to-point mode a region of Memory Channel address space to the virtual address space of a process

LIBRARY

Memory Channel API library (libimc.a)

SYNOPSIS

#include <sys/imc.h> int imc_asattach_ptp ( imc_asid_t id, int mode, int flag, char *hostname, caddr_t *address );

PARAMETERS

id Identifies the region of Memory Channel address space to be attached. The identifier specified by the id parameter must have previously been generated by a call to the imc_asalloc() function. mode Specifies the sharing mode, shared or nonshared, for the region. If the region is designated as shared, multiple processes executing on a given host can attach the region to their process virtual address space. The sharing mode is specified by the first process on the host to attach the region. The sharing mode is host-specific. Other processes that subsequently attach the region cannot change the sharing mode. If a calling process tries to attach a region that has an incompatible sharing mode, an error condition will result. The mode parameter has the following values: IMC_SHARED The region is shared. IMC_NONSHARED The region is not shared. flag The loopback feature is not permitted for point-to-point regions. The flag parameter has the following value for a transmit attach: ZERO (0) Disable the loopback feature. hostname Specifies the name of the host to which the region is attached for point-to-point transmission. address Returns the address in the process virtual address space that is mapped to the attached region of Memory Channel address space. This address is assigned by the kernel.

DESCRIPTION

The imc_asattach_ptp() function attaches a region of Memory Channel address space to an address in the virtual address space of the calling process. The region must first have been allocated by means of a call to the imc_asalloc() function. The function attaches the region in point-to-point mode. This means that writes to the region are sent only to the host specified in the hostname parameter. In contrast, writes to regions attached by means of a call to the imc_asattach() function are broadcast to all hosts in the cluster. Regions attached using the imc_asattach_ptp() function are always attached in transmit mode. Because of the nature of point-to-point attach mode, looped-back writes are not permitted.

RETURN VALUES

The imc_asattach_ptp() function returns one of the following values: IMC_SUCCESS Normal successful completion. IMC_BADPARM An invalid parameter was specified in the call to the imc_asattach_ptp function. IMC_BADREGION The region specified in the call to the imc_asattach_ptp function is invalid. IMC_LOOPBACKERR Another process on this host has already attached the region, specifying a different value for the flag parameter than the value specified in this call to the imc_asattach_ptp() function; or, the value of the flag parameter is incorrect. You cannot enable the loopback feature when calling the imc_asattach_ptp() function. IMC_LATEJOIN This host joined the cluster after the region was allocated. IMC_MAPENTRIES An attempt has been made to exceed the maximum number of process map entries. This maximum is set by the vm-mapentries parameter. IMC_MCFULL There is not enough Memory Channel address space to attach to the region. IMC_NOMAPPER Attach to a coherent region could not be completed because the imc_mapper daemon was not found on a host in the cluster. IMC_NONSHARERR The region has already been mapped as nonshared; it cannot now be mapped as shared. IMC_NORESOURCES There are insufficient Memory Channel data structures available to attach the region. IMC_NOTALLOC The region is not allocated. IMC_NOTINIT This host has not been initialized to use the Memory Channel Application Programming Interface (API) library. IMC_PERMIT The process is not permitted to attach the region. IMC_PTPERR This value is returned if any of the following events occur: + An attempt is made to attach a region already attached in point-to-point mode to a different target host. + An attempt is made to point-to-point attach a region that is already broadcast attached (attached for read on more than one host). + An attempt is made to point-to-point attach a region that is already broadcast transmit attached. + An attempt is made to point-to-point attach a region that is already attached for read on the local host. IMC_SHARERR The region has already been mapped as shared; it cannot now be mapped as nonshared. IMC_XMITMAPPED The region has already been mapped by the process to transmit data.

RELATED INFORMATION

Introduction: imc(3) Commands: imc_init(1), imcs(1) Functions: imc_api_init(3), imc_asalloc(3), imc_asattach(3), imc_asdealloc(3), imc_asdetach(3), imc_bcopy(3), imc_getclusterinfo(3) Cluster Highly Available Applications

Index Index for
Section 3
Index Alphabetical
listing for I
Top of page Top of
page