DCB_BLOCKDEV

typedef struct  _DCB_BLOCKDEV { 
    ULONG  DCB_BDD_Next;
    BYTE   DCB_BDD_BD_Major_Version;    // INIT <BDD_BD_Major_Ver>
    BYTE   DCB_BDD_BD_Minor_Version;    // INIT <BDD_BD_Minor_Ver>
    BYTE   DCB_BDD_Device_SubType;
    BYTE   DCB_BDD_Int_13h_Number;
    ULONG  DCB_BDD_flags;               // was BDD_Flags
    ULONG  DCB_BDD_Name_Ptr;

// Apparent geometry as seen by TSD and above
    ULONG  DCB_apparent_sector_cnt[2];  // # of sectors
    ULONG  DCB_apparent_blk_size;       // blk size of device
    ULONG  DCB_apparent_head_cnt;       // # of heads
    ULONG  DCB_apparent_cyl_cnt;        // # of cylinders
    ULONG  DCB_apparent_spt;            // # of secs/trk

    ULONG  DCB_BDD_Sync_Cmd_Proc;
    ULONG  DCB_BDD_Command_Proc;
    ULONG  DCB_BDD_Hw_Int_Proc;         // INIT <0> 
    ULONG  DCB_BDP_Cmd_Queue_Ascending;
    ULONG  DCB_BDP_Cmd_Queue_Descending;
    ULONG  DCB_BDP_Current_Flags;
    ULONG  DCB_BDP_Int13_Param_Ptr;
    ULONG  DCB_BDP_Current_Command;
    ULONG  DCB_BDP_Current_Position[2];
    ULONG  DCB_BDP_Reserved[5];
    ULONG  DCB_fastdisk_bdd;            // set for DCBs created when a 
                                        // fastdisk regs with the 
                                        // blockdev BDD for it. Else 0. 
} DCB_BLOCKDEV, *PDCB_BLOCKDEV;

Contains block device information. The initial set of members in this structure should not be re-ordered or modified in any way as the offset and the size of members must match those in BLOCKDEV.H for compatibility.