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