#include <drp.h> typedef struct DRP { CHAR DRP_eyecatch_str[8]; // eye catcher string ULONG DRP_LGN; // load group number; see below PVOID DRP_aer; // addr of asynchronous event routine PVOID DRP_ilb; // address of ILB; see below CHAR DRP_ascii_name[16]; // driver name; see below BYTE DRP_revision; // driver revision ULONG DRP_feature_code; // feature code; see below USHORT DRP_if_requirements; // I/F requirements; see below UCHAR DRP_bus_type; // type of I/O bus; see below USHORT DRP_reg_result; // registration result; see below ULONG DRP_reference_data; // data to pass with AEP_INITIALIZE UCHAR DRP_reserved1[2]; // reserved ULONG DRP_reserved2[1]; // reserved; must be zero } DRP, *PDRP;
Contains driver registration packet information.
DRP_eyecatch_str
Eye catcher string. Must be "XXXXXXXX".
DRP_LGN
Load group mask for the driver. Can be a combination of these values:
DRP_IFS | Reserved for IFSMGR. |
DRP_FSD | Installable file system layer. |
DRP_FSD_EXT_1 | FSD extension, for example, DBLSPACE. |
DRP_FSD_EXT_2 | FSD extension, for example, encryption. |
DRP_VOLTRK | Post-volume tracking value added driver. |
DRP_CLASS_DRV | Class driver. |
DRP_TSD | Type specific driver (TSD). |
DRP_VSD_1 | Driver is in vendor enhancement layer 1. |
DRP_VSD_2 | Driver is in vendor enhancement layer 2. |
DRP_VSD_3 | Driver is in vendor enhancement layer 3. |
DRP_SCSI_LAYER | SCSI'izer. |
DRP_VSD_4 | Driver is in vendor enhancement layer 4. |
DRP_VSD_5 | Driver is in vendor enhancement layer 5. |
DRP_VSD_6 | Driver is in vendor enhancement layer 6. |
DRP_VSD_7 | Driver is in vendor enhancement layer 7. |
DRP_VSD_8 | Driver is in vendor enhancement layer 8. |
DRP_VSD_9 | Driver is in vendor enhancement layer 9. |
DRP_MISC_PD | Other port drivers. |
DRP_NT_MPD | SCSI miniport drivers. |
DRP_NT_PD | Windows NT, hardware-independent port driver. |
DRP_ESDI_PD | ESDI port driver. |
DRP_ESDIEMUL_PD | Port drivers for ESDI emulators. |
DRP_ABIOS_PD | ABIOS port driver. |
DRP_ABIOS_PREMPT_PD | ABIOS pre-empting port drivers. |
DRP_NEC_FLOPPY | NEC floppy driver layer. |
DRP_SOC_SER_DRV | Socket service drivers. |
DRP_SOC_DRV | Socket drivers. |
DRP_IOS_REG | Reserved for IOS registry. |
All other values are reserved and must not be used.
DRP_ilb
Virtual address of the ILB structure that receives IOS linkage information.
DRP_ascii_name
16-byte string specifying the name of the driver.
DRP_feature_code
Feature code; must match the feature code in the DVT. Can be a combination of these values:
DRP_FC_SCAN_DOWN | BIOS scans targets from high to low. |
DRP_FC_IO_FOR_INQ_AEP | Port driver needs to send I/O through IOP in response to an AEP_DEVICE_INQUIRY function. Results in AEP_CONFIG_DCB function for inquiry DCB. |
DRP_FC_HALF_SEC | Notify driver every half second. |
DRP_FC_1_SEC | Notify driver every second. |
DRP_FC_2_SECS | Notify driver every two seconds. |
DRP_FC_4_SECS | Notify driver every four seconds. |
DRP_FC_DYNALOAD | Driver was dynamically loaded by IOS. |
DRP_FC_NEED_PRELOAD | Driver needs to hook I/O even before the port driver. When set, the AEP_CONFIG_DCB function is received before the port driver. |
DRP_FC_NEED_PRE_POST_LOAD | Same as DRP_FC_NEED_PRELOAD except the drive will receive 2 AEP_CONFIG_DCB function calls for each DCB: one call before the port driver, and another after layers before its load group have been initialized. Note that care must be taken not to insert twice into the same DCB. |
DRP_if_requirements
I/F requirements. Can be one of these values:
DRP_IF_ISA | Driver supports ISA platforms. |
DRP_IF_EISA | Driver supports EISA platforms. |
DRP_IF_MCA | Driver supports MCA platforms. |
DRP_IF_STD | Driver supports all standard platforms. |
DRP_bus_type
Type of I/O bus if port driver. Can be one of these values:
DRP_BT_ESDI | ESDI or ESDI emulator. |
DRP_BT_SCSI | SCSI or SCSI emulator. |
DRP_BT_FLOPPY | NEC FLOPPY or FLOPPY emulator. |
DRP_BT_SMART | Smart device. |
DRP_BT_ABIOS | ABIOS or ABIOS emulator. |
DRP_reg_result
Registration result. Can be one of these values:
DRP_REMAIN_RESIDENT | Driver should remain resident. |
DRP_MINIMIZE | Driver should minimize. |
DRP_ABORT | Driver should not load. |
DRP_INVALID_LAYER | Bad layer number; abort driver. |
DRP_reference_data
Data to pass with subsequent AEP_INITIALIZE functions.
See also IOS_Register, AEP