#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_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_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. (NOTE: See DCB_dmd_preload flag, which corrects a DRP_FC_NEED_PRELOAD bug) |
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_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_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_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. |
IOS_Register, AEP