BIOS Parameter Block (BPB).
typedef struct _BIOSPARAMETERBLOCK {
USHORT usBytesPerSector; /* Number of bytes per sector. */
BYTE bSectorsPerCluster; /* Number of sectors per cluster. */
USHORT usReservedSectors; /* Number of reserved sectors. */
BYTE cFATs; /* Number of FATs. */
USHORT cRootEntries; /* Number of root directory entries. */
USHORT cSectors; /* Number of sectors. */
BYTE bMedia; /* Media descriptor. */
USHORT usSectorsPerFAT; /* Number of secctors per FAT. */
USHORT usSectorsPerTrack; /* Number of sectors per track. */
USHORT cHeads; /* Number of heads. */
ULONG cHiddenSectors; /* Number of hidden sectors. */
ULONG cLargeSectors; /* Number of large sectors. */
BYTE abReserved[6]; /* Reserved. */
USHORT cCylinders; /* Number of cylinders defined for the physical device. */
BYTE bDeviceType; /* Physical layout of the specified device. */
USHORT fsDeviceAttr; /* A bit field that returns flag information about the specified drive. */
} BIOSPARAMETERBLOCK;
typedef BIOSPARAMETERBLOCK * PBIOSPARAMETERBLOCK ;