2.0 Host Adapter Control Block

This section describes the following topics:

The Super Host Adapter Control Block [see SuperHACBStruct] is a data structure that envelops a HACB, allowing CDM developers to attach additional CDM state information, if needed. However, the HAM uses only the information in the HACB to process requests.

The Host Adapter Control Block (HACB) is a data structure that is passed between a Custom Device Module (CDM) and a Host Adapter Module (HAM).

CDMs allocate SuperHACBs by calling CDI_Allocate_HACB, and they are returned by calling CDI_Return_HACB. CDMs and HAMs do not interface directly, so HACBs are not passed directly between them.

NWPA is the communication channel, and it passes HACBs between CDMs and HAMs. This flow path is described by Figure 1-1.

NWPA interfaces with each module through the entry points specified at each module’s registration. CDMs interface with NWPA by calling the Custom Device Interface (CDI) Functions, and HAMs interface with NWPA by calling the Host Adapter Interface (HAI) Functions.

NWPA, CDM, and HAM are responsible for setting certain field values in a HACB at different stages of execution. The field descriptions identify the component responsible for setting a field value.

NOTE:A SuperHACB that is allocated by calling CDI_Allocate_HACB is not guaranteed to be below the 16 megabyte boundary.