hba_idata(D4I) hba_idata(D4I)
NAME
hba_idata - HBA driver device instance information structure
SYNOPSIS
#include <sys/sdi.h>
DESCRIPTION
The hba_idata structure contains information specific to a
given instance of device supported by the HBA driver.
Typically, this information varies for each instance of the
same type of device.
Return Values
None.
USAGE
An array of hba_idata structures is normally defined and
initialized in the Space.c file of each HBA driver. Much of
the information used to initialize the structure is generated
by the kernel configuration tools and is made available by
including config.h.
The version_num field is set to 1 for SVR4.2 drivers, and is
used to identify SVR4.2 drivers in future kernel releases.
The version_num field for SVR4.2 MP HBA drivers is set to 3
which indicates the HBA has support for extended getinfo(D2I)
functionality.
Structure Members
The hba_idata structure is defined as follows:
/*
* Per-instance HBA information.
*/
struct hba_idata {
int version_num; /* version number to determine */
/* contents of idata structure */
/* by sdi driver */
char *name; /* device name */
unsigned char ha_id; /* SCSI target ID of HBA card */
ulong ioaddr1; /* IO address */
int dmachan1; /* DMA channel */
int iov; /* interrupt vector */
int cntlr; /* controller number */
int active; /* active flag */
};
Copyright 1994 Novell, Inc. Page 1
hba_idata(D4I) hba_idata(D4I)
Examples
Following is an example for HBA driver xxx:
#include "config.h"
struct hba_idata xxxidata[XXX_CNTLS] = {
#ifdef XXX_0
{ 1, "(xxx,1st) SCSI HBA",
7, XXX_0_SIOA, XXX_0_CHAN, XXX_0_VECT, XXX_0, 0 }
#endif
#ifdef XXX_1
,
{ 1, "(xxx,2nd) SCSI HBA",
7, XXX_1_SIOA, XXX_1_CHAN, XXX_1_VECT, XXX_1, 0 }
#endif
#ifdef XXX_2
,
{ 1, "(xxx,3rd) SCSI HBA",
7, XXX_2_SIOA, XXX_2_CHAN, XXX_2_VECT, XXX_2, 0 }
#endif
#ifdef XXX_3
,
{ 1, "(xxx,4th) SCSI HBA",
7, XXX_3_SIOA, XXX_3_CHAN, XXX_3_VECT, XXX_3, 0 }
#endif
};
REFERENCES
getinfo(D2I)
Copyright 1994 Novell, Inc. Page 2