windows-nt/Source/XPSP1/NT/base/mvdm/dos/v86/inc/dpb.inc
2020-09-26 16:20:57 +08:00

51 lines
1.9 KiB
PHP
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BREAK <DPB structure>
;
; Microsoft Confidential
; Copyright (C) Microsoft Corporation 1991
; All Rights Reserved.
;
;** DPB - Drive Parameter Block
;
; BUGBUG - this isn't authorative - it's my probably incomplete and
; possibly inaccurate deductions from code study... - jgl
;
; The DPB is DOS's main structure for describing block devices.
; It contains info about the "Drive" intermingled with info about
; the FAT file system which is presumably on the drive. I don't know
; how those fields are used if it's not the FAT file system - BUGBUG
;
; The DPBs are statically allocated and chained off of DPBHead.
; Users scan this chain looking for a match on DPB_DRIVE.
; The DPBs are built at init time from info in the SYSDEV structure.
DPB STRUC
DPB_DRIVE DB ? ; Logical drive # assoc with DPB (A=0,B=1,...)
DPB_UNIT DB ? ; Driver unit number of DPB
DPB_SECTOR_SIZE DW ? ; Size of physical sector in bytes
DPB_CLUSTER_MASK DB ? ; Sectors/cluster - 1
DPB_CLUSTER_SHIFT DB ? ; Log2 of sectors/cluster
DPB_FIRST_FAT DW ? ; Starting record of FATs
DPB_FAT_COUNT DB ? ; Number of FATs for this drive
DPB_ROOT_ENTRIES DW ? ; Number of directory entries
DPB_FIRST_SECTOR DW ? ; First sector of first cluster
DPB_MAX_CLUSTER DW ? ; Number of clusters on drive + 1
DPB_FAT_SIZE DW ? ; Number of records occupied by FAT
DPB_DIR_SECTOR DW ? ; Starting record of directory
DPB_DRIVER_ADDR DD ? ; Pointer to driver
DPB_MEDIA DB ? ; Media byte
DPB_FIRST_ACCESS DB ? ; This is initialized to -1 to force a media
; check the first time this DPB is used
DPB_NEXT_DPB DD ? ; Pointer to next Drive parameter block
DPB_NEXT_FREE DW ? ; Cluster # of last allocated cluster
DPB_FREE_CNT DW ? ; Count of free clusters, -1 if unknown
DPB ENDS
DPBSIZ EQU SIZE DPB ; Size of the structure in bytes
DSKSIZ = DPB_max_CLUSTER ; Size of disk (temp used during init only)