hba_info(D4sdi)
hba_info --
HBA driver per module information structure
Synopsis
   #include <sys/sdi.h>
   #include <sys/ddi.h>
Description
The hba_info structure contains
information specific to a given HBA driver.
Structure definition
The hba_info structure is defined as follows:
   /*
    * Per-module HBA information.
    */
   struct  hba_info	{
           int        *hba_flag;
           ulong      max_xfer;
   
           /* Entry points  */
           long            (*hba_freeblk)();
           struct  hbadata *(*hba_getblk)();
           long            (*hba_icmd)();
           void            (*hba_getinfo)();
           long            (*hba_send)();
           int             (*hba_xlat)();
           int             (*hba_open)();
           int             (*hba_close)();
           int             (*hba_ioctl)();
   };
Structure members
hba_flag- 
Information about supported features.
The following values are supported:
HBA_MP- 
HBA driver has MP support.
 
HBA_HOT- 
HBA driver supports hot addition and removal
of attached target devices.
 
HBA_CALLBACK- 
HBA driver does not block during driver initialization
and will call the
sdi_callback(D3sdi)
function on job completion.
 
HBA_TIMEOUT_RESET- 
 
 
max_xfer- 
Maximum byte size for a single data transfer
supported by the device
The system adjusts the max_xfer size
down by 4K to account for unaligned buffer conditions.
 
hba_freeblk- 
Pointer to the HBA driver's
freeblk(D2sdi)
routine.
 
hba_getblk- 
Pointer to the HBA driver's
getblk(D2sdi)
routine.
 
hba_icmd- 
Pointer to the HBA driver's
icmd(D2sdi)
routine.
 
hba_getinfo- 
Pointer to the HBA driver's
getinfo(D2sdi)
routine.
 
hba_send- 
Pointer to the HBA driver's
send(D2sdi)
routine.
 
hba_xlat- 
Pointer to the HBA driver's
xlat(D2sdi)
routine.
 
hba_open- 
Pointer to the HBA driver's
open(D2sdi)
routine.
 
hba_close- 
Pointer to the HBA driver's
close(D2sdi)
routine.
 
hba_ioctl- 
Pointer to the HBA driver's
ioctl(D2sdi)
routine.
 
Usage
The hba_info structure
is normally defined and initialized
with of the HBA_INFO macro, which has the form:
   HBA_INFO(pfx, dflagp, max_xfer);
The parameters for HBA_INFO are:
pfx- 
the HBA driver's
prefix(D1),
as defined in its
Master(DSP/4dsp)
file.
 
dflagp- 
Flags to be set in the driver's 
hba_flag.
 
max_xfer- 
Value to be set in the 
max_xfer member.
 
The hba_info structure
Applicable hardware
All
Version applicability
sdi: 2, 3, 4
Differences between versions
The
and HBA_TIMEOUT flag
was used for SDI 1 and earlier versions
to indicate that the driver supported command timeouts.
This flag must not be used for current drivers.
References
sdi_register(D3sdi),
drvinfo(D4),
drvops(D4),
xsb(D4sdi)
19 June 2005
© 2005 The SCO Group, Inc.  All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005