DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

hbagetinfo(D4sdi)


hbagetinfo -- HBA driver get device information structure

Synopsis

   #include <sys/sdi.h>

Description

The hbagetinfo structure is used to obtain HBA device information, often to pass HBA-specific data from the HBA to SDI.

Structure definition

The hbagetinfo structure is defined as follows:
   struct hbagetinfo {
           char *name;
           char iotype;
           bcb_t *bcbp;
   	unsigned int ex_iotype;
   };

Structure members


name
Character array that is typically ``HA #  TC #'', with the host adapter number and the target controller ID filled in.

iotype
Device I/O capabilities. Valid values are:


F_PIO
specifies a programmed I/O device

F_SCGTH
supports scatter-gather DMA

F_RMB
uses removable media

F_DMA_32
supports 32-bit DMA

F_DMA_24
supports 24-bit DMA

F_HDWREA
supports hardware bad-block reassignment

F_RESID
device resturns residual count in the sc_resid member of the scb(D4sdi) structure.

F_EXIOTYPE
has extended device capabilities.


bcbp
Pointer to an uninitialized bcb(D4) structure. The HBA's getinfo(D2sdi) routine must first check the bcbp member of hbagetinfo, and, if non-NULL, initialize the bcb structure. The bcb_physreqp element within the bcb structure is a pointer to the physreq(D4) structure that is also initialized by getinfo( ).

ex_iotype
Defines the device's I/O capabilities. The only current valid value is:

F_TARGETMODE
Driver supports target mode; see ``Target mode for SDI HBA drivers'' in HDK Technical Reference.

Usage

This structure is used by getinfo(D2sdi), which is called by sdi_name(D3sdi), to supply the caller, typically a target driver, with information about a device connected to a Host Bus Adapter.

The elements of the bcb and physreq structures, uniquely identify the characteristics of the device, the capabilities of the controller, and the features supported by the HBA driver. The target drivers use this information to determine the type (or types) of addressing that the HBA driver supports, the buffer alignment and size requirements of the controller, and DMA characteristics, if any.

All members of the bcb and physreq structures are initialized by getinfo( ) except for bcb_granularity, which is initialized by the target drivers when the device is opened.

Applicable hardware

All.

Version applicability

sdi: 2, 3, 4

Differences between versions

The F_RESID and F_EXIOTYPE values for the iotype member, as well as the ex_iotype member are only supported for SDI version 3 and later.

References

bcb(D4), getinfo(D2sdi), physreq(D4), sdi_name(D3sdi), sdi_xname(D3sdi)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005