HAM_Execute_HACB

The HAM's entry point for receiving a HACB request and routing it to the appropriate device queue.

Thread Context:Non-Blocking

Syntax

     LONG HAM_Execute_HACB (
       LONG                hamBusHandle,
       struct HACBStruct  *HACB
       );
    
    

Parameters

hamBusHandle
(IN) NWPA passes the value of this parameter, which is the HAM-generated handle to a bus instance the HAM is managing. From this handle, the HAM must be able to locate its list of devices attached to the bus.
HACB
(IN) NWPA passes a pointer to the HACB request that is to be processed.

Return Values

The following table lists return values and descriptions.

zero

Successful

HAM_Execute_HACB must never return nonzero.

Remarks

HAM_Execute_HACB is the HAM's entry point for receiving and executing I/O requests, and it must be a non-blocking function. This function is registered with NWPA by calling NPA_Register_HAM_Module.

NOTE:For more information about how this entry point controls queue state, refer to Queue State. For more information about indicating queue state to the CDM, refer to the description of the HACB's hacbCompletion field in Host Adapter Control Block and Section 11.1, HACB Completion Codes.