HBA_RegisterForAdapterEvents, HBA_RegisterForAdapterAddEvents, HBA_RegisterForAdapterPortEvents, HBA_RegisterForAdapterPortStatEvents, HBA_RegisterForTargetEvents, HBA_RegisterForLinkEvents, HBA_RemoveCallback - SNIA event handling functions
cc [ flag... ] file... -lHBAAPI [ library... ] #include <hbaapi.h> HBA_STATUS HBA_RegisterForAdapterEvents(void (*pCallback) (void *pData, HBA_WWN PortWWN, HBA_UINT32 eventType), void *pUserData, HBA_HANDLE handle, HBA_CALLBACKHANDLE *pCallbackHandle);
HBA_STATUS HBA_RegisterForAdapterAddEvents(void (*pCallback) (void *pData, HBA_WWN PortWWN, HBA_UINT32 eventType), void *pUserData, HBA_CALLBACKHANDLE *pCallbackHandle);
HBA_STATUS HBA_RegisterForAdapterPortEvents(void (*pCallback) (void *pData, HBA_WWN PortWWN, HBA_UINT32 eventType, HBA_UINT32 fabricPortID), void *pUserData, HBA_HANDLE handle, HBA_WWN PortWWN, HBA_CALLBACKHANDLE *pCallbackHandle);
HBA_STATUS HBA_RegisterForAdapterPortStatEvents(void (*pCallback) (void *pData, HBA_WWN PortWWN, HBA_UINT32 eventType), void *pUserData, HBA_HANDLE handle, HBA_WWN PortWWN, HBA_PortStatistics stats, HBA_UINT32 statType, HBA_CALLBACKHANDLE *pCallbackHandle);
HBA_STATUS HBA_RegisterForTargetEvents(void (*pCallback) (void *pData, HBA_WWN hbaPortWWN, HBA_WWN discoveredPortWWN, HBA_UINT32 eventType), void * pUserData, HBA_HANDLE handle, HBA_WWN hbaPortWWN, HBA_WWN discoveredPortWWN, HBA_CALLBACKHANDLE *pCallbackHandle, HBA_UINT32 allTargets);
HBA_STATUS HBA_RegisterForLinkEvents(void (*pCallback) (void *pData, HBA_WWN adapterWWN, HBA_UINT32 eventType, void * pRLIRBuffer, HBA_UINT32 RLIRBufferSize), void *pUserData, void *PLIRBuffer, HBA_UINT32 RLIRBufferSize, HBA_HANDLE handle, HBA_CALLBACKHANDLE *pCallbackHandle);
HBA_STATUS HBA_RemoveCallback(HBA_CALLBACKHANDLE *pCallbackHandle);
pCallback
pData
PortWWN
hbaPortWWN
discoveredPortWWN
adapterWWN
eventType
HBA_RegisterForAdapterEvents()
HBA_RegisterForAdaterAddEvents()
HBA_RegisterForAdaterPortEvents()
HBA_RegisterForAdapterPortStatEvents()
HBA_RegisterForTargetEvents()
HBA_RegisterForLinkEvents()
fabricPortID
pRLIRBuffer
RLIRBufferSize
pUserData
pRLIRBuffer
RLIRBufferSize
handle
PortWWN
hbaPortWWN
stats
statType
discoveredPortWWN
pCallbackHandle
allTargets
pcallbackHandle
The HBA_RegisterForAdapterEvents() function registers an application-defined function that is called when an HBA category asynchronous event occurs. An HBA catetory event can have one of the following event types: HBA_EVENT_ADAPTER_REMOVE or HBA_EVENT_ADAPTER_CHANGE. If either of these events occur, the callback function is called, regardless of whether the HBA handle specified at registration is open. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RegisterForAdapterAddEvents() function registers an application-defined function that is called whenever an HBA add category asynchronous event occurs. The callback function is called when a new HBA is added to the local system. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RegisterForAdapterPortEvents() function registers an application-defined function that is called on the specified HBA whenever a port category asynchronous event occurs. A port catetory event can be one of the following event types: HBA_EVENT_PORT_OFFLINE, HBA_EVENT_PORT_ONLINE, HBA_EVENT_PORT_NEW_TARGETS, HBA_EVENT_PORT_FABRIC, or HBA_EVENT_PORT_UNKNOWN. The handle need not be open for callbacks to occur. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RegisterForAdapterPortStatEvents() function defines conditions that would cause an HBA port statistics asynchronous event and registers an application-defined function that is called whenever one of these events occur. An HBA port statistics asynchronous event can be one of the following event types: HBA_EVENT_PORT_STAT_THRESHOLD or HBA_EVENT_PORT_STAT_GROWTH. More than one statistic can be registered with one call by setting multiple statistics in the stats argument. For threshold events, once a specific threshold has been crossed, the callback is automatically deregistered for that statistic. The handle need not be open for callbacks to occur. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RegisterForTargetEvents() function registers an application-defined function that is called on the specified HBA whenever a target category asynchronous event occurs. A Target category event can be one of the following event types: HBA_EVENT_TARGET_OFFLINE, HBA_EVENT_TARGET_ONLINE, HBA_EVENT_TARGET_REMOVED, HBA_EVENT_TARGET_UNKNOWN. The handle need not be open for callbacks to occur. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RegisterForLinkEvents() function registers an application defined function that is called on the specified HBA whenever a link category asynchronous event occurs. A link category event can be one of the following event types: HBA_EVENT_LINK_INCIDENT or HBA_EVENT_LINK_UNKNOWN. RLIR ELS is the only fabric link event type and the callback function is called whenever is it detected by the HBA. The handle need not be open for callbacks to occur. The HBA_RemoveCallback() function must be called to end event delivery.
The HBA_RemoveCallback() function removes the HBA_CALLBACKHANDLE instance of the callback routine.
Upon successful completion, HBA_RegisterForAdapterEvents(), HBA_RegisterForAdapterAddEvents(), HBA_RegisterForAdapterPortEvents(), HBA_RegisterForAdapterPortStatEvents(), HBA_RegisterForTargetEvents(), and HBA_RegisterForLinkEvents() return HBA_STATUS_OK and pCallbackHandle may be used to deregister the callback. Otherwise, an error value is returned and pCallbackHandle is not valid.
Upon successful completion, HBA_RemoveCallback() returns HBA_STATUS_OK. Otherwise, an error value is returned.
See libhbaapi(3LIB) for general error status values.
See attributes(5) for descriptions of the following attributes:
|
libhbaapi(3LIB), attributes(5)
T11 FC-MI Specification
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |