114 High Availability Software for the Intel® NetStructureTM ZT 4901 Technical Product Specification
HSK Device Driver Interface for VxWorks* 5.4
struct _RH_HSK_DRV_OBJ
{
CB_RH_ADD_DEVICE AddDevice;
CB_RH_PNP StartDevice;
CB_RH_PNP StopDevice;
CB_RH_PNP RemoveDevice;
CB_RH_PNP SurpriseRemoval;
PRH_DEVICE_INFO DeviceInfo;
PRH_DRIVER_EXT DriverObjectExt;
} RH_HSK_DRV_OBJ, *PRH_HSK_DRV_OBJ;
The DriverExtension contains a pointer to a structure defined by the driver writer, and is context
specific to the registered device driver. The device information structure shown below indicates to
the HA Manager which devices should be associated with the registered driver. Upon registration,
the HA Manager scans all the devices within its domain and calls the AddDevice driver callback
function for all matching devices, or those devices whose attributes specified in the device
compatibility list match any given device found within the system.
The listSize value indicates the number of compatibility device entries defined by the device
information structure. While several different fields found in the compatibility device structure
exist, only those fields requiring HA Manager filtering need to be specified. The ValidFields entry
is used to indicate which fields are being used.
C.2 HSK Device Information Structure
struct _haDeviceInfo
{
UINT32 ListSize;
RH_COMPAT_DEVICE CompatDevList[1];
} RH_DEVICE_INFO, *PRH_DEVICE_INFO;
struct _RH_COMPAT_DEVICE
{
UINT32 ValidFields;
UINT16 VendorID;
UINT16 DeviceID;
UINT8 RevisionID;
UINT8 ProgIf;
UINT8 SubClass;