2 char drive ; /* physical drive number */
3 char unit ; /* unit within device */
4 unsigned cbSector ; /* bytes per sector */
5 char mask ; /* sectors/alloc unit - 1 */
6 char shift ; /* bit to shift */
7 unsigned secFAT ; /* sector number of first FAT */
8 char cFAT ; /* count of FATs */
9 unsigned cDirEnt ; /* count of root directory entries */
10 unsigned secData ; /* first data sector */
11 unsigned cCluster ; /* max number of clusters on drive */
12 unsigned csecFAT ; /* sectors in each FAT */
13 unsigned secDir ; /* first sector of root dir */
14 long pDevice ; /* pointer to device header */
15 char media ; /* last media in drive */
16 char fFirst ; /* TRUE => media check needed */
17 long nextDPB ; /* pointer to next dpb */
18 unsigned clusFree ; /* cluster number of last alloc */
19 unsigned FreeCnt ; /* count of free clusters, -1 if unk */
20 /* char SyncFlg ; /* sync flags, (see below) */
23 /* Definitions of SyncFlg values from DPB.INC */
25 #define DPB_ABUSY 1 /* some process is allocating clusters */
26 #define DPB_AWANT 2 /* some process waiting to allocate */
27 #define DPB_FBUSY 4 /* some process is reading FAT */
28 #define DPB_FWANT 8 /* some process waiting to read FAT */