Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
3.5 KiB

;/*
; * Microsoft Confidential
; * Copyright (C) Microsoft Corporation 1989 - 1991
; * All Rights Reserved.
; */
;===========================================================================
;
;
; FILE: SAFEDEF.INC
;
; Contains all structure declarations and equates for SAFE.ASM
;
; johnhe - 10/09/89
;===========================================================================
;===========================================================================
; Entry layout for a DOS file in a DOS directory */
;===========================================================================
Dir STRUC
fName DB ' ' ; File primary name
fExt DB ' ' ; File extension
fAttrib DB 0 ; File attributes
fReserved DB 10 DUP (0) ; Reserved by DOS
fTime DW 0 ; Packed creation time
fDate DW 0 ; Packed creation date
fCluster DW 0 ; Files starting cluster
fSize DD 0 ; File lenght in bytes
Dir ENDS
;===========================================================================
; Layout of the recovery file header
;===========================================================================
FileHeader STRUC
fhSign1 DB 4 DUP (?) ; 055h, 0AAh, 0AAh, 055h
fhSign2 DB 16 DUP (?) ; "Microsoft Corp.",0
fhHeadChksum DB (?) ; Chksum for 1st 512 bytes
fhFileChkSum DB (?) ; Chksum for rest of the file
fhChainOffset DW (?) ; File's cluster chain
fhBootSize DD (?) ; Size of boot record
fhFatSize DD (?) ; Size of FAT
fhDirSize DD (?) ; Size of root directory
fhClustSize DD (?) ; Size of the 2 cluster
fhBootOffset DD (?) ; Offset of boot record
fhFatOffset DD (?) ; Offset of FAT
fhDirOffset DD (?) ; Offset of root directory
fhClustOffset DD (?) ; Offset of the 2 cluster
fhDir DB 32 DUP (?) ; This file's directory entry
fhBpb DB 25 DUP (?) ; Disk's BPB structure
fhFileReserve DB (?) ; Start of reserved area
FileHeader ENDS
;===========================================================================
; Layout of the int 25 & 26 packets
;===========================================================================
DiskPacket STRUC
pAddr DD (?) ; Buffer address
pSectors DW (?) ; Number of sectors
pStart DD (?) ; Relative starting sector
DiskPacket ENDS
;===========================================================================
; Misc. equates
;===========================================================================
IGNORE_BIT EQU 00001000b ; Mask to get ignore bit from AH
; at entry to int 24h handler
SECTOR_SIZE EQU 512 ; Normal sector size
HEADER_SIZE EQU 2048 ; Smallest cluster on a hard disk
MAX_SECTORS EQU 3fh ; Max secters for read or write
OFFSET_BPB EQU 11 ; Offset of BPB in boot record
BPB_LENGTH EQU 25 ; Length of BPB structure
DIR_ENTRY_LEN EQU 32 ; Lenght of a directory entry
DIR_NAME_LEN EQU 11 ; Bytes in a directory file name
ERASED_FILE EQU 0e5h
IFDEF DBLSPACE_HOOKS
NUM_SYS_FILES EQU 4 ; IO.SYS MSDOS.SYS COMMAND.COM DBLSPACE.BIN
ELSE
NUM_SYS_FILES EQU 3 ; IO.SYS MSDOS.SYS COMMAND.COM
ENDIF
DO_READ EQU 0 ; Signal to do a read
DO_WRITE EQU 1 ; Signal to do a write
MAX_BLOCK_SIZE EQU 0fff0h ; Max bytes for DOS read or write
BOOT_VALUE EQU 0 ; Layout of values in the arrays
FAT_VALUE EQU 1 ; which describe the offset in
DIR_VALUE EQU 2 ; in the restore file and each
CLUSTER_VALUE EQU 3 ; areas length
RESTORE_ATTRIBS EQU 7 ; Restore file's attributes
;===========================================================================