LIBMPAPI(3LIB) Interface Libraries LIBMPAPI(3LIB)
NAME
libMPAPI, libmpapi - Common Multipath Management library
SYNOPSIS
cc [
flag... ]
file...
-lMPAPI [
library... ]
#include <
mpapi.h>
#include <
mpapi-sun.h>
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 interfaces
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 MP_RegisterForObjectPropertyChanges MP_RegisterForObjectVisibilityChanges MP_RegisterPlugin MP_SetFailbackPollingRate MP_SetLogicalUnitLoadBalanceType MP_SetOverridePath MP_SetPathWeight MP_SetPluginLoadBalanceType MP_SetProbingPollingRate MP_SetProprietaryProperties MP_SetTPGAccess Sun_MP_SendScsiCmdUSAGE
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 information 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() 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 devices 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() 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 operation 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 API.
MP_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 operation 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 This status value is returned when an object ID includes a type
subfield that is not defined in this specification.
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 is covered 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 processing
MP_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 current configuration, but
might be permitted in other configurations.
FILES
/usr/lib/libMPAPI.so shared object
/usr/lib/64/libMPAPI.so 64-bit shared object
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+---------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+---------------------------+
|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(7) Multipath Management API Version 1.0 June 13, 2021 LIBMPAPI(3LIB)