2020-09-30 17:12:29 +02:00

62 lines
1.5 KiB
C++

#if ! defined( ODS_DFN )
#define ODS_DFN
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
ods.hxx
Abstract:
On disk structures which have classes in ULIB use the types defined
in this header file.
Author:
Mark Shavlik (marks) Nov-90
Environment:
Notes:
Glossary:
HFL - HotFix list
BBL - Bad block list
BMP - Sector mapping HPFS bitmap
ODS - On disk structure. Any HPFS on disk item, like an Fnode or
a bitmap.
Revision History:
--*/
typedef ULONG ODS_STATUS;
// ODS states are defined here to make the mapping of bits easier
// These ODS states apply to any file system, bits 0-7 reserved for these
#define ODS_STABLE 0 // ODS has no problems
#define ODS_CORRUPTED_NO_RECOVERY 1 // corruption not recoverable
#define ODS_CORRUPTED_SOME_RECOVERY 2 // corruption partially recoverable
#define ODS_CORRUPTED_FULL_RECOVERY 4 // corruption recoverable
#define ODS_NOT_READABLE 8 // could not read ODS
#define ODS_NOT_WRITABLE 0x10 // could not write ODS
#define ODS_INTERNAL_ERROR 0x20 // code or resource problem
// These ODS states apply to FAT and HPFS, bits 8-11 resevered for these
#define ODS_XLINKED 0x100 // sharing sectors with ODS(s)
// These ODS states apply to HPFS only
#define ODS_HPFS_HOTFIXED 0x1000 // ODS hotfixed
#define ODS_HPFS_INBADBLOCKLIST 0x2000 // ODS in bad block list
#define ODS_HPFS_BITMAP 0x4000 // ODS already marked as in use
#define ODS_STATUS_UNKNOWN 0xffff
#endif