1.2 Components

The following figure shows the components that comprise NWPA:

Figure 1-1 NWPA Components

The following sections contain brief descriptions of the following components:

1.2.1 CDM Message

The CDM message is a data structure paralleling the content and structure of internal Media Manager messages. The Media Manager receives an I/O request from an NLM™ application, converts it to a CDM message, and passes the message to a CDM. It is from the contents of this structure that a CDM builds a request structure (SuperHACB) specific to a particular hardware-bus protocol. The SuperHACB contains device-specific commands.

1.2.2 Custom Device Interface

The Custom Device Interface (CDI) is a set of APIs within NWPA that provides an interface for CDMs to communicate with the Media Manager. For more information, see Custom Device Interface (CDI) Functions.

1.2.3 Custom Device Module

Custom Device Modules (CDMs) are the driver components associated with storage devices. These program modules are supplied by third-party developers, and they implement the functionality to build device-specific commands from I/O messages received from the Media Manager (CDM messages). CDMs are loaded as NLM applications. For more information, see Custom Device Module (CDM) Functions.

1.2.4 Host Adapter Control Block

The Host Adapter Control Block (HACB) is an I/O data structure packaged into a protocol-specific command block (such as SCSI or IDE-ATA). All I/O requests to the HAM are in the form of HACBs, and the HAM passes these requests on to the devices attached to the hardware bus. For more information, see Host Adapter Control Block.

1.2.5 Host Adapter Interface

The Host Adapter Interface (HAI) is a set of APIs within NWPA that provides an interface for HAMs to communicate with the Media Manager. For more information, see Host Adapter Interface (HAI) Functions.

1.2.6 Host Adapter Module

Host Adapter Modules (HAMs) are the driver components associated with host adapter hardware. These program modules are supplied by third-party developers, and they provide the host adapter interface. A HAM is loaded as an NLM and must provide the functionality to route requests to the bus where a specified device is attached. For more information, see Host Adapter Module (HAM) Functions.

1.2.7 Media Manager

Media Manager is the storage management layer of the NetWare v3.12, 4.x and 5.x OS, and is the brain that runs NWPA. The Media Manager provides a robust storage management interface between NLM applications and storage device drivers. The Media Manager fields NLM application I/O requests and converts them to messages compatible with NWPA architecture. The Media Manager is described in detail in the NDK: Media Manager for NetWare 5.x and 6.x documentation that can be obtained from Novell® Developer Support..

1.2.8 NetWare Bus Interface

The NetWare Bus Interface (NBI) is a hardware abstraction layer that allows platform independent modules to be written. Some platforms, for example, might support more than one bus at a time, with each bus being quite different from another. The NBI makes platform-related issues transparent to the software modules. See Load-Time Initialization and Registration for more details. See General NWPA (NPA) Functions. These APIs are identified by NPAB prefixes.

1.2.9 Novell Event Bus

The Novell Event Bus (NEB) is an architecture that provides an abstract channel to allow multiple event producers to communicate with multiple event consumers in a synchronous or asynchronous manner. Consumers and producers must register with the event bus to be able to interact with producers and consumers.

1.2.10 Super Host Adapter Control Block

The SuperHACB is a data structure built by a CDM. Each SuperHACB contains a HACB as one of its data members along with some additional data space. CDMs can use the additional data space for whatever purpose they need. The HACB is the protocol-specific request structure containing the data essential to a HAM. See Super Host Adapter Control Block.