Emulex Logo
OneCore™ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Overview

This is the API reference documentation for the OneCore Storage User Space iSCSI Target RAMD driver (Uspace ocs_iscsi_ramd).

The Uspace ocs_iscsi_ramd driver uses the Emulex RAMD target back-end (usually called "RAMD"). It implements a non-persistent RAM disk backing store. The driver implements a number of SCSI commands, and appears to initiators as a valid SCSI block device. There is no initiator functionality provided for this driver.

The Uspace ocs_iscsi_ramd driver uses the same front-end (base driver) and target (Emulex RAMD) components as the Linux ocs_iscsi_ramd driver. The one exception is the PCI sub-component under the Linux OS component. For user space drivers, the PCI functionality is managed in the Kernel Module.

Figure 1 shows the framework for the Uspace ocs_iscsi_ramd driver.

Figure 1 - Uspace ocs_iscsi_ramd Driver High-Level Block Diagram

For detailed information about the driver architecture and design, also see the OneCore Storage Driver Design Manual. For instructions on building and installing the Uspace ocs_iscsi_ramd driver, see the “User Space Linux iSCSI Target RAMD Driver (Uspace ocs_iscsi_ramd)” section under “Building and Installing” in the OneCore Storage SDK Quick Start Guide.

Component APIs

As shown in Figure 1, the Uspace ocs_iscsi_ramd driver is composed of multiple component layers. Each component layer provides its own set of APIs that are described in the following sections.

Back-end Target APIs and State Machine Functions

Transport APIs and State Machine Functions

Hardware Abstraction Layer (HAL) APIs

SLI-4 APIs

OS APIs

Kernel Module

Management APIs

General Purpose APIs