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 resources
through standard interfaces, independent of a vendor-unique
multipathing solution.
INTERFACES
The shared object libMPAPI.so.1 provides the public inter-
faces defined below. See Intro(3) for additional information
on shared object interfaces.
MPAssignLogicalUnitToTPG
MPCancelOverridePath
MPCompareOIDs
MPDeregisterForObjectPropertyChanges
MPDeregisterForObjectVisibilityChanges
MPDeregisterPlugin
MPDisableAutoFailback
MPDisableAutoProbing
MPDisablePath
MPEnableAutoFailback
MPEnableAutoProbing
MPEnablePath
MPFreeOidList
MPGetAssociatedPathOidList
MPGetAssociatedPluginOid
MPGetAssociatedTPGOidList
MPGetDeviceProductOidList
MPGetDeviceProductProperties
MPGetInitiatorPortOidList
MPGetInitiatorPortProperties
MPGetLibraryProperties
MPGetMPLogicalUnitProperties
MPGetMPLuOidListFromTPG
MPGetMultipathLus
MPGetObjectType
MPGetPathLogicalUnitProperties
MPGetPluginOidList
MPGetPluginProperties
MPGetProprietaryLoadBalanceOidList
MPGetProprietaryLoadBalanceProperties
MPGetTargetPortGroupProperties
MPGetTargetPortOidList
MPGetTargetPortProperties
SunOS 5.11 Last change: 12 Dec 2006 1
Interface Libraries libMPAPI(3LIB)
MPRegisterForObjectPropertyChanges
MPRegisterForObjectVisibilityChanges
MPRegisterPlugin
MPSetFailbackPollingRate
MPSetLogicalUnitLoadBalanceType
MPSetOverridePath
MPSetPathWeight
MPSetPluginLoadBalanceType
MPSetProbingPollingRate
MPSetProprietaryProperties
MPSetTPGAccess
SunMPSendScsiCmd
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 MPRegisterPlugin(3MPAPI)
on the host system.
Using libMPAPI involves the following steps:
1. Optionally calling MPGetLibraryProperties() to
retrieve the properties of the Common Library.
2. Calling MPGetPluginOidList() to retrieve the
registered plugin libraries.
3. Optionally calling MPGetPluginProperties() 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 MPGetAssociatedPathOidList()
o MPGetAssociatedTPGOidList()
o MPGetDeviceProductOidList()
o MPGetDeviceProductProperties()
o MPGetInitiatorPortOidList()
o MPGetInitiatorPortProperties()
o MPGetMPLuOidListFromTPG()
o MPGetMPLogicalUnitProperties()
SunOS 5.11 Last change: 12 Dec 2006 2
Interface Libraries libMPAPI(3LIB)
o MPGetMultipathLus()
o MPGetPathLogicalUnitProperties()
o MPGetProprietaryLoadBalanceOidList()
o MPGetProprietaryLoadBalanceProperties()
o MPGetTargetPortGroupProperties()
o MPGetTargetPortOidList()
o MPGetTargetPortProperties()
5. Register and deregister for property and visibility
changes on multipath devices and associated
resources by calling:
o MPRegisterForObjectPropertyChanges()
o MPRegisterForObjectVisibilityChanges()
o MPDeregisterForObjectPropertyChanges()
o MPDeregisterForObjectVisibilityChanges()
6. Perform administrative operations on multipath dev-
ices and associated resources by calling:
o MPAssignLogicalUnitToTPG()
o MPCancelOverridePath()
o MPDisableAutoFailback()
o MPDisableAutoProbing()
o MPDisablePath()
o MPEnableAutoFailback()
o MPEnableAutoProbing()
o MPEnablePath()
o MPSetLogicalUnitLoadBalanceType()
o MPSetOverridePath()
o MPSetPathWeight()
o MPSetPluginLoadBalanceType()
SunOS 5.11 Last change: 12 Dec 2006 3
Interface Libraries libMPAPI(3LIB)
o MPSetFailbackPollingRate()
o MPSetProbingPollingRate()
o MPSetProprietaryProperties()
o MPSetTPGAccess()
o SunMPSendScsiCmd()
ERORS
Errors are generally returned from the underlying VSL and
can include any of the following values:
MPSTATUSUCES
This status value is returned when the requested opera-
tion is successfully carried out.
MPSTATUSINVALIDPARAMETER
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 API
MPSTATUSUNKNOWNFN
This status value is returned when a client function
passed into the API is not a previously registered or
known function.
MPSTATUSFAILED
This status value is returned when the requested opera-
tion could not be carried out.
MPSTATUSINSUFICIENTMEMORY
This status value is returned when the API could [not]
allocate the memory required to complete the requested
operation.
MPSTATUSINVALIDOBJECTYPE
SunOS 5.11 Last change: 12 Dec 2006 4
Interface Libraries libMPAPI(3LIB)
This status value is returned when an object ID includes
a type subfield that is not defined in this specifica-
tion.
MPSTATUSOBJECTNOTFOUND
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 is
covered by MPSTATUSINVALIDOBJECTYPE so this status
is limited to an invalid object owner identifier or
sequence number.
MPSTATUSUNSUPORTED
This status value is returned when the implementation
does not support the requested function.
MPSTATUSFNREPLACED
This status value is returned when a client function
passed into the API replaces a previously registered
function.
MPSTATUSACESTATEINVALID
This status value is returned when a device processing
MPSetTPGAccess returns a status indicating that the
caller is attempting to establish an illegal combination
of access states.
MPSTATUSPATHNONOPERATIONAL
This status is returned when communication cannot be
established with the path selected by the caller.
MPSTATUSTRYAGAIN
This status is returned when the plugin or driver is
unable to complete the request, but might be able to
complete it later.
MPSTATUSNOTPERMITED
The operation is not permitted in the current
SunOS 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
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWmpapir
SUNWmpapi (Header file)
Interface Stability Committed
MT-Level Safe
Standard ANSI INCITS 412 Multipath
Management API (except for
SunMPSendScsiCmd)
SEE ALSO
Intro(3), MPRegisterPlugin(3MPAPI), attributes(5)
Multipath Management API Version 1.0
SunOS 5.11 Last change: 12 Dec 2006 6
|