Interface Libraries libMPAPI(3LIB)
NAME
libMPAPI, libmpapi - Common Mulitipath Management library
SYNOPSIS
cc [ flag... ] file... -lMPAPI [ library... ]
#include
#include
DESCRIPTION
The functions in this library allow a management application to administer the multipath devices and associated resourcesthrough standard interfaces, independent of a vendor-unique
multipathing solution. INTERFACESThe shared object libMPAPI.so.1 provides the public inter-
faces defined below. See Intro(3) for additional information on shared object interfaces.MP_AssignLogicalUnitToTPG
MP_CancelOverridePath
MP_CompareOIDs
MP_DeregisterForObjectPropertyChanges
MP_DeregisterForObjectVisibilityChanges
MP_DeregisterPlugin
MP_DisableAutoFailback
MP_DisableAutoProbing
MP_DisablePath
MP_EnableAutoFailback
MP_EnableAutoProbing
MP_EnablePath
MP_FreeOidList
MP_GetAssociatedPathOidList
MP_GetAssociatedPluginOid
MP_GetAssociatedTPGOidList
MP_GetDeviceProductOidList
MP_GetDeviceProductProperties
MP_GetInitiatorPortOidList
MP_GetInitiatorPortProperties
MP_GetLibraryProperties
MP_GetMPLogicalUnitProperties
MP_GetMPLuOidListFromTPG
MP_GetMultipathLus
MP_GetObjectType
MP_GetPathLogicalUnitProperties
MP_GetPluginOidList
MP_GetPluginProperties
MP_GetProprietaryLoadBalanceOidList
MP_GetProprietaryLoadBalanceProperties
MP_GetTargetPortGroupProperties
MP_GetTargetPortOidList
MP_GetTargetPortProperties
SunOS 5.11 Last change: 12 Dec 2006 1
Interface Libraries libMPAPI(3LIB)
MP_RegisterForObjectPropertyChanges
MP_RegisterForObjectVisibilityChanges
MP_RegisterPlugin
MP_SetFailbackPollingRate
MP_SetLogicalUnitLoadBalanceType
MP_SetOverridePath
MP_SetPathWeight
MP_SetPluginLoadBalanceType
MP_SetProbingPollingRate
MP_SetProprietaryProperties
MP_SetTPGAccess
Sun_MP_SendScsiCmd
USAGE
Client applications link with the Common Library (using-lMPAPI) to access the interfaces. The Common Library
dynamically loads an individual vendor-provided plugin
library that is available through MP_RegisterPlugin(3MPAPI)
on the host system.Using libMPAPI involves the following steps:
1. Optionally calling MP_GetLibraryProperties() to
retrieve the properties of the Common Library.2. Calling MP_GetPluginOidList() to retrieve the
registered plugin libraries.3. Optionally calling MP_GetPluginProperties() to
retrieve the properties of the plugin library.4. Retrieve discovery information and property infor-
mation on multipath devices and associated resources by calling the following:o MP_GetAssociatedPathOidList()
o MP_GetAssociatedTPGOidList()
o MP_GetDeviceProductOidList()
o MP_GetDeviceProductProperties()
o MP_GetInitiatorPortOidList()
o MP_GetInitiatorPortProperties()
o MP_GetMPLuOidListFromTPG()
o MP_GetMPLogicalUnitProperties()
SunOS 5.11 Last change: 12 Dec 2006 2
Interface Libraries libMPAPI(3LIB)
o MP_GetMultipathLus()
o MP_GetPathLogicalUnitProperties()
o MP_GetProprietaryLoadBalanceOidList()
o MP_GetProprietaryLoadBalanceProperties()
o MP_GetTargetPortGroupProperties()
o MP_GetTargetPortOidList()
o MP_GetTargetPortProperties()
5. Register and deregister for property and visibility changes on multipath devices and associated resources by calling:o MP_RegisterForObjectPropertyChanges()
o MP_RegisterForObjectVisibilityChanges()
o MP_DeregisterForObjectPropertyChanges()
o MP_DeregisterForObjectVisibilityChanges()
6. Perform administrative operations on multipath dev-
ices and associated resources by calling:o MP_AssignLogicalUnitToTPG()
o MP_CancelOverridePath()
o MP_DisableAutoFailback()
o MP_DisableAutoProbing()
o MP_DisablePath()
o MP_EnableAutoFailback()
o MP_EnableAutoProbing()
o MP_EnablePath()
o MP_SetLogicalUnitLoadBalanceType()
o MP_SetOverridePath()
o MP_SetPathWeight()
o MP_SetPluginLoadBalanceType()
SunOS 5.11 Last change: 12 Dec 2006 3
Interface Libraries libMPAPI(3LIB)
o MP_SetFailbackPollingRate()
o MP_SetProbingPollingRate()
o MP_SetProprietaryProperties()
o MP_SetTPGAccess()
o Sun_MP_SendScsiCmd()
ERRORS
Errors are generally returned from the underlying VSL and can include any of the following values:MP_STATUS_SUCCESS
This status value is returned when the requested opera-
tion is successfully carried out.MP_STATUS_INVALID_PARAMETER
This status value is returned when parameters passed to an API are detected to be invalid or inappropriate for a particular API parameter. If the parameter is an object ID, this status indicates that the object type subfield is defined in this specification, but is not appropriate for this APIMP_STATUS_UNKNOWN_FN
This status value is returned when a client function passed into the API is not a previously registered or known function.MP_STATUS_FAILED
This status value is returned when the requested opera-
tion could not be carried out.MP_STATUS_INSUFFICIENT_MEMORY
This status value is returned when the API could [not] allocate the memory required to complete the requested operation.MP_STATUS_INVALID_OBJECT_TYPE
SunOS 5.11 Last change: 12 Dec 2006 4
Interface Libraries libMPAPI(3LIB)
This status value is returned when an object ID includesa type subfield that is not defined in this specifica-
tion.MP_STATUS_OBJECT_NOT_FOUND
This status value is returned when the object associated with the ID specified in the API could not be located, or has been deleted. Note that an invalid object type iscovered by MP_STATUS_INVALID_OBJECT_TYPE so this status
is limited to an invalid object owner identifier or sequence number.MP_STATUS_UNSUPPORTED
This status value is returned when the implementation does not support the requested function.MP_STATUS_FN_REPLACED
This status value is returned when a client function passed into the API replaces a previously registered function.MP_STATUS_ACCESS_STATE_INVALID
This status value is returned when a device processingMP_SetTPGAccess returns a status indicating that the
caller is attempting to establish an illegal combination of access states.MP_STATUS_PATH_NONOPERATIONAL
This status is returned when communication cannot be established with the path selected by the caller.MP_STATUS_TRY_AGAIN
This status is returned when the plugin or driver is unable to complete the request, but might be able to complete it later.MP_STATUS_NOT_PERMITTED
The operation is not permitted in the currentSunOS 5.11 Last change: 12 Dec 2006 5
Interface Libraries libMPAPI(3LIB)
configuration, but might be permitted in other confi-
gurations. FILES/usr/lib/libMPAPI.so shared object
/usr/lib/64/libMPAPI.so 64-bit shared object
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:_______________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| ___________________________|________________________________|__
| Availability | system/library/storage/libmpap|i| ___________________________|________________________________|__
| | system/library/storage/libmpap|i | | (Header file) || ____________________________|________________________________|_
| Interface Stability | Committed || MT-Level | Safe |
| ____________________________|________________________________|_
| Standard | ANSI INCITS 412 Multipath| | | Management API (except for|| | Sun_MP_SendScsiCmd) |
|_____________________________|________________________________|
SEE ALSO
Intro(3), MP_RegisterPlugin(3MPAPI), attributes(5)
Multipath Management API Version 1.0SunOS 5.11 Last change: 12 Dec 2006 6