diff options
Diffstat (limited to 'v4.0/src/H/DPB.H')
| -rw-r--r-- | v4.0/src/H/DPB.H | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/v4.0/src/H/DPB.H b/v4.0/src/H/DPB.H new file mode 100644 index 0000000..bfd28ac --- /dev/null +++ b/v4.0/src/H/DPB.H | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | struct DPBType { | ||
| 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) */ | ||
| 21 | } ; | ||
| 22 | |||
| 23 | /* Definitions of SyncFlg values from DPB.INC */ | ||
| 24 | |||
| 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 */ | ||
| 29 | |||
| 30 | \ No newline at end of file | ||