libima(3lib) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

libima(3lib)

libima(3LIB)                  Interface Libraries                 libima(3LIB)

NAME
       libima - iSCSI Management API library

SYNOPSIS
       cc [ flag... ] file... -lima  [ library... ]
       #include <ima.h>      // for IMA* library functions
       #include <libsun_ima.h> // for SUN_IMA* library functions

DESCRIPTION
       The  functions  in  this library allow a management application to dis‐
       cover and manage the iSCSI resources through standard interfaces,  they
       use an architecture that allows multiple iSCSI HBAs, sometimes referred
       to  as  hardware  initiators, and/or multiple iSCSI software initiators
       installed on a system to provide a common interface to clients  of  the
       library.

INTERFACES
       The  shared  object  libima.so.1 provides the public interfaces defined
       below. For more information about shared  object  interfaces,  see  in‐
       tro(3) man page.


         IMA_AddDiscoveryAddress
         IMA_AddLhbaMutualAuthParms
         IMA_AddStaticDiscoveryTarget
         IMA_DeregisterForObjectPropertyChanges
         IMA_DeregisterForObjectVisibilityChanges
         IMA_ExposeLu
         IMA_FreeMemory
         IMA_GenerateNodeName
         IMA_GetAddressKeys
         IMA_GetAssociatedPluginOid
         IMA_GetConnectionOidList
         IMA_GetConnectionProperties
         IMA_GetDataDigestValues
         IMA_GetDigestProperties
         IMA_GetDataPduInOrderProperties
         IMA_GetDataSequenceInOrderProperties
         IMA_GetDefaultTime2RetainProperties
         IMA_GetDefaultTime2WaitProperties
         IMA_GetDeviceStatistics
         IMA_GetDiscoveryAddressOidList
         IMA_GetDiscoveryAddressProperties
         IMA_GetDiscoveryProperties
         IMA_GetErrorRecoveryLevelProperties
         IMA_GetFirstBurstLengthProperties
         IMA_GetHeaderDigestValues
         IMA_GetIFMarkerProperties
         IMA_GetIFMarkIntProperties
         IMA_GetImmediateDataProperties
         IMA_GetInitialR2TProperties
         IMA_GetInitiatorAuthParms
         IMA_GetInitiatorLocalAuthParms
         IMA_GetInUseInitiatorAuthMethods
         IMA_GetIpProperties
         IMA_GetIpsecProperties
         IMA_GetLhbaMutualAuthParmsList
         IMA_GetLhbaOidList
         IMA_GetLhbaProperties
         IMA_GetLibraryProperties
         IMA_GetLnpOidList
         IMA_GetLnpProperties
         IMA_GetLuOid
         IMA_GetLuOidList
         IMA_GetLuProperties
         IMA_GetMaxBurstLengthProperties
         IMA_GetMaxConnectionsProperties
         IMA_GetMaxOutstandingR2TProperties
         IMA_GetMaxRecvDataSegmentLengthProperties
         IMA_GetMutualLocalAuth
         IMA_GetMutualLocalAuthParms
         IMA_GetNetworkPortalOidList
         IMA_GetNetworkPortalProperties
         IMA_GetNetworkPortStatus
         IMA_GetNodeProperties
         IMA_GetNonSharedNodeOidList
         IMA_GetOFMarkerProperties
         IMA_GetOFMarkIntProperties
         IMA_GetObjectType
         IMA_GetPhbaDownloadProperties
         IMA_GetPhbaOidList
         IMA_GetPhbaProperties
         IMA_GetPhbaStatus
         IMA_GetPluginOidList
         IMA_GetPluginProperties
         IMA_GetPnpOidList
         IMA_GetPnpProperties
         IMA_GetPnpStatistics
         IMA_GetRadiusAccess
         IMA_GetSessionOidList
         IMA_GetSessionProperties
         IMA_GetSharedNodeOid
         IMA_GetStaticDiscoveryTargetOidList
         IMA_GetStaticDiscoveryTargetProperties
         IMA_GetStatisticsProperties
         IMA_GetSupportedAuthMethods
         IMA_GetTargetErrorStatistics
         IMA_GetTargetOidList
         IMA_GetTargetProperties
         IMA_IsPhbaDownloadFile
         IMA_LuInquiry
         IMA_LuReadCapacity
         IMA_LuReportLuns
         IMA_PersistHbaParameters
         IMA_PhbaDownload
         IMA_PluginIOCtl
         IMA_RegisterForObjectPropertyChanges
         IMA_RegisterForObjectVisibilityChanges
         IMA_RemoveDiscoveryAddress
         IMA_RemoveLhbaMutualAuthParm
         IMA_RemoveStaleData
         IMA_RemoveStaticDiscoveryTarget
         IMA_SetDataDigestValues
         IMA_SetDataPduInOrder
         IMA_SetDataSequenceInOrder
         IMA_SetDefaultGateway
         IMA_SetDefaultTime2Retain
         IMA_SetDefaultTime2Wait
         IMA_SetDnsServerAddress
         IMA_SetErrorRecoveryLevel
         IMA_SetFirstBurstLength
         IMA_SetHeaderDigestValues
         IMA_SetIFMarkerProperties
         IMA_SetIFMarkIntProperties
         IMA_SetImmediateData
         IMA_SetInitialR2T
         IMA_SetInitiatorAuthMethods
         IMA_SetInitiatorAuthParms
         IMA_SetInitiatorLocalAuthParms
         IMA_SetIpConfigMethod
         IMA_SetIsnsDiscovery
         IMA_SetMaxBurstLength
         IMA_SetMaxConnections
         IMA_SetMaxRecvDataSegmentLength
         IMA_SetMaxOutstandingR2T
         IMA_SetMutualLocalAuth
         IMA_SetMutualLocalAuthParms
         IMA_SetNetworkPortalIpAddress
         IMA_SetNodeAlias
         IMA_SetNodeName
         IMA_SetOFMarkerProperties
         IMA_SetOFMarkIntProperties
         IMA_SetRadiusAccess
         IMA_SetSendTargetsDiscovery
         IMA_SetSlpDiscovery
         IMA_SetStaticDiscovery
         IMA_SetStatisticsCollection
         IMA_SetSubnetMask
         IMA_UnexposeLu
         SUN_IMA_SetTunableProperties
         SUN_IMA_GetTunableProperties
         SUN_IMA_GetSendTargetsList



USAGE
       Client  applications  link with the Common Library (using -lima) to ac‐
       cess the interfaces. The Common Library dynamically loads an individual
       vendor-provided plugin library which is located in /etc/ima.conf on the
       host system.


       Using libima involves the following steps:

           o      Optionally calling the  IMA_GetLibraryProperties()  function
                  to retrieve the properties of the Common Library.


           o      Calling  the  IMA_GetPhbaOidList() function to get a list of
                  the object IDs of all the physical HBAs in system.


           o      Calling the IMA_GetLhbaOidList() function to get a  list  of
                  the object IDs of all the logical HBAs in system


           o      Optionally  calling  the IMA_GetPhbaProperties() function to
                  get the general properties of a physical HBA.


           o      Optionally calling the IMA_GetLhbaProperties()  function  to
                  get the properties of the specified logical HBA.


           o      Manage the discovery information and property information on
                  HBAs and associated resources by calling the following:


                    IMA_GetDiscoveryProperties()
                    IMA_SetIsnsDiscovery()
                    IMA_SetSlpDiscovery()
                    IMA_SetStaticDiscovery()
                    IMA_SetSendTargetsDiscovery()
                    IMA_AddStaticDiscoveryTarget()
                    IMA_RemoveStaticDiscoveryTarget()



           o      Manage  the  network portal on HBAs and associated resources
                  by calling:


                    IMA_GetNetworkPortalOidList()
                    IMA_GetNetworkPortalProperties()
                    IMA_SetNetworkPortalIpAddress()
                    IMA_GetLnpOidList()
                    IMA_GetPnpOidList()
                    IMA_GetLnpProperties()
                    IMA_GetNetworkPortStatus()
                    IMA_GetPnpOidList()
                    IMA_GetNetworkPortStatus()
                    IMA_GetPnpProperties()
                    IMA_GetStatisticsProperties()
                    IMA_GetPnpStatistics()
                    IMA_GetIpProperties()
                    IMA_SetIpConfigMethod()
                    IMA_SetDefaultGateway()
                    IMA_SetDnsServerAddress()
                    IMA_SetSubnetMask()



           o      Manage the Logical unit (LU)  on  HBAs  and  associated  re‐
                  sources by calling:

                    IMA_GetLuOid()
                    IMA_GetLuOidList()
                    IMA_GetLuProperties()
                    IMA_LuInquiry()
                    IMA_LuReadCapacity()
                    IMA_LuReportLuns()
                    IMA_ExposeLu()
                    IMA_UnexposeLu()



           o      Perform administrative operations on HBAs and associated re‐
                  sources by calling:


                    IMA_GetAddressKeys()
                    IMA_GetTargetOidList()
                    IMA_GetTargetProperties()
                    IMA_GetStatisticsProperties()
                    IMA_GetTargetErrorStatistics()
                    IMA_GetFirstBurstLengthProperties()
                    IMA_SetFirstBurstLength()
                    IMA_GetMaxBurstLengthProperties()
                    IMA_SetMaxBurstLength()
                    IMA_GetMaxRecvDataSegmentLengthPropertie()
                    IMA_SetMaxRecvDataSegmentLength()
                    IMA_GetMaxConnectionsProperties()
                    IMA_SetMaxConnections()
                    IMA_GetDefaultTime2RetainProperties()
                    IMA_SetDefaultTime2Retain()
                    IMA_GetDefaultTime2WaitProperties()
                    IMA_SetDefaultTime2Wait()
                    IMA_GetInitialR2TProperties()
                    IMA_SetInitialRT2()
                    IMA_GetMaxOutstandingRT2Properties()
                    IMA_SetMaxOutstandingR2T()
                    IMA_GetErrorRecoveryLevelProperties()
                    IMA_SetErrorRecoveryLevel()
                    IMA_GetImmediateDataProperties()
                    IMA_SetImmediateData()
                    IMA_GetDataPduInOrderProperties()
                    IMA_SetDataPduInOrder()
                    IMA_GetDataSequenceInOrderProperties()
                    IMA_SetDataSequenceInOrder()
                    IMA_GetDeviceStatistics()
                    IMA_SetStatisti
                    IMA_GetSessionOidList()
                    IMA_GetDigestProperties()
                    IMA_GetDigestValues()
                    IMA_SetDataDigestValues()
                    IMA_SetHeaderDigestValues()
                    IMA_GetIFMarkerProperties()
                    IMA_SetIFMarkerProperties()
                    IMA_GetOFMarkerProperties()
                    IMA_SetOFMarkerProperties()
                    IMA_GetIFMarkIntProperties()
                    IMA_SetIFMarkIntProperties()
                    IMA_GetOFMarkIntProperties()
                    IMA_SetOFMarkIntProperties()
                    IMA_GetInitiatorLocalAuthParms()
                    IMA_GetInUseInitiatorAuthMethods()IMA_SetInitiatorAuthMethods()
                    IMA_GetInitiatorAuthParms()
                    IMA_SetInitiatorAuthParms()
                    IMA_SetInitiatorLocalAuthParms()
                    IMA_GetIpsecProperties()
                    IMA_RemoveStaleData()
                    IMA_GetMutualLocalAuthParms()
                    IMA_SetMutualLocalAuthParms()
                    IMA_GetStatisticsProperties()
                    IMA_GetDeviceStatistics()
                    IMA_SetStatisticsCollection()
                    IMA_GetObjectType()
                    IMA_FreeMemory()
                    IMA_RegisterForObjectVisibilityChanges()
                    IMA_DeregisterForObjectVisibilityChanges()
                    IMA_RegisterForObjectPropertyChanges()
                    IMA_DeregisterForObjectPropertyChanges()
                    SUN_IMA_SetTunableProperties()
                    SUN_IMA_GetTunableProperties()



           o      Physical HBAs and node specific APIs


                    IMA_GetSharedNodeOid()
                    IMA_GetNonSharedNodeOidList()
                    IMA_GetNodeProperties()
                    IMA_SetNodeName()
                    IMA_GenerateNodeName()
                    IMA_SetNodeAlias()
                    IMA_GetAssociatedPluginOid()
                    IMA_GetPhbaStatus()
                    IMA_GetPhbaDownloadProperties()
                    IMA_IsPhbaDownloadFile()
                    IMA_PhbaDownload()



           o      Library and plugin specific APIs


                    IMA_GetLibraryProperties()
                    IMA_GetPluginOidList()
                    IMA_GetPluginProperties()
                    IMA_PluginIOCtl()
                    IMA_GetAssociatedPluginOid()



STATUS
       STATUS  is  an  enumerated  type  used to indicate the status of an API
       call. Most statuses are errors, however some  are  not.  The  non-error
       statuses indicate that an operation is successfully completed. However,
       there is an additional information that the client needs to be aware of
       and the status indicates what this information is.


       Non-error Status:



           IMA_STATUS_SUCCESS

               This status indicates that the API call succeeded.


           IMA_STATUS_REBOOT_NECESSARY

               This  status  indicates  that the operation is succeeded, but a
               reboot is necessary for the change to take affect.


           IMA_STATUS_INCONSISTENT_NODE_PROPERTIES

               This status indicates there is  an  inconsistency  between  the
               node  properties,  specifically  either  the  node name or node
               alias, kept by the library and one or more plugins. The  client
               should  set  both  the node names using IMA_SetNodeName and the
               node alias using IMA_SetNodeAlias to fix this problem.


           IMA_STATUS_SCSI_STATUS_CONDITION_MET

               This status indicates that a SCSI command is succeeded  with  a
               CONDITION MET status.




       Error Status:



           IMA_ERROR_NOT_SUPPORTED

               This error indicates that the specified API is not supported by
               the owner of the object.


           IMA_ERROR_INSUFFICIENT_MEMORY

               This error indicates that there was insufficient memory to com‐
               plete  the request. It is possible that any API can return this
               error.


           IMA_ERROR_LAST_PRIMARY_DISCOVERY_METHOD

               This error indicates that the call would disable the last  pri‐
               mary  discovery  method  for  the PHBA specified in the call. A
               client is not allowed to disable all primary discovery  methods
               for a PHBA.


           IMA_ERROR_UNEXPECTED_OS_ERROR

               This  error indicates that either the library or the plugin en‐
               countered an unexpected error  from  an  operating  system  API
               while attempting to perform the requested operation.


           IMA_ERROR_SYNC_TIMEOUT

               This  error  indicates  that an attempt to acquire ownership of
               some synchronization mechanism, such as a mutex  or  semaphore,
               has timed out.


           IMA_ERROR_LU_EXPOSED

               This  error  indicates  the  requested operation cannot be com‐
               pleted because an LU is currently exposed to the operating sys‐
               tem. For the called API to succeed the logical unit  shall  not
               be  exposed  to the operating system. This error is returned by
               the IMA_ExposeLu and IMA_RemoveStaticDiscoveryTarget APIs.


           IMA_ERROR_LU_NOT_EXPOSED

               This error indicates an attempt to use a logical unit  that  is
               not  currently  exposed to the operating system. For the called
               API to succeed the logical unit shall be exposed to the operat‐
               ing system. This error is returned by  the  IMA_UnexposeLu  and
               the IMA_GetDeviceStatistics APIs.


           IMA_ERROR_LU_IN_USE

               This error indicates an attempt to unexpose a logical unit that
               is  in  use  by the operating system. This error is returned by
               the IMA_UnexposeLu API.


           IMA_ERROR_TARGET_TIMEOUT

               This error indicates that communication with a target was  nec‐
               essary to perform the requested API and that the target did not
               respond to a command that was sent to it.


           IMA_ERROR_STATS_COLLECTION_NOT_ENABLED

               This  error indicates that an attempt was made to retrieve sta‐
               tistics from an object that did not have statistics  collection
               enabled.


           IMA_ERROR_SCSI_STATUS_CHECK_CONDITION

               This  error  indicates  that a SCSI command failed with a CHECK
               CONDITION status.


           IMA_ERROR_SCSI_STATUS_BUSY

               This error indicates that a SCSI command  failed  with  a  BUSY
               status.


           IMA_ERROR_SCSI_STATUS_RESERVATION_CONFLICT

               This error indicates that a SCSI command failed with a RESERVA‐
               TION CONFLICT status.


           IMA_ERROR_SCSI_STATUS_TASK_SET_FULL

               This error indicates that a SCSI command failed with a TASK SET
               FULL status.


           IMA_ERROR_SCSI_STATUS_ACA_ACTIVE

               This  error indicates that a SCSI command failed with a ACA AC‐
               TIVE status.


           IMA_ERROR_SCSI_STATUS_TASK_ABORTED

               This error indicates that a SCSI command  failed  with  a  TASK
               ABORTED status.


           IMA_ERROR_PLUGINS_NOT_SUPPORTED

               This  error  indicates that the library implementation does not
               support plugins.


           IMA_ERROR_INVALID_PARAMETER

               This error indicates that a specified parameter was invalid.

               This error can be returned in a number of situations, such as:

                   1.     When a client calls an  API  and  specifies  a  NULL
                          pointer  as  a parameter to an API that does not ac‐
                          cept NULL pointers.


                   2.     When a client calls an API and specifies an  integer
                          parameter that is out range of the acceptable values
                          for the parameter.


                   3.     When  a client specifies a pointer to a structure as
                          a parameter to an API and the contents of the struc‐
                          ture contain invalid pointers or out of range  inte‐
                          ger parameters as stated above.




           IMA_ERROR_INVALID_OBJECT_TYPE

               This  error  indicates  that  the  object type of the specified
               IMA_OID structure is  invalid.  Most  likely  an  uninitialized
               variable or a corrupted variable was used in an API call.


           IMA_ERROR_INCORRECT_OBJECT_TYPE

               This  error indicates that an object with an incorrect type was
               specified in an API call. This can be caused by passing an  ob‐
               ject ID of the wrong type to an API call. It can also be caused
               by using an uninitialized variable or a corrupted variable.


           IMA_ERROR_OBJECT_NOT_FOUND

               This  error  indicates  an object specified in the API call was
               not found. This can be caused by using an  uninitialized  vari‐
               able or a corrupted variable. It can also be caused by using an
               object  ID  that  referred  to  an  object or plugin that is no
               longer known to the system.


           IMA_ERROR_NAME_TOO_LONG

               This error indicates that a name specified in an  API  call  is
               too long.


           IMA_ERROR_UNKNOWN_ERROR

               This  error  indicates  that some sort of unknown error has oc‐
               curred.





FILES
       /usr/lib/libima.so.1       Shared object


       /usr/lib/64/libima.so.1    64-bit shared object



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface StabilityVolatile _ Availabilitysystem/li‐
       brary/storage/snia-ima _ MT-LevelSafe


SEE ALSO
       intro(3), attributes(7), IMA_RemoveDiscoveryAddress(3IMA),  IMA_GetDis‐
       coveryAddressProperties(3IMA),         IMA_RegisterForObjectVisibility‐
       Changes(3IMA), IMA_GetDiscoveryProperties(3IMA)

Oracle Solaris 11.4               27 Nov 2017                     libima(3LIB)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3