Leaked source code of windows server 2003
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
2.5 KiB

  1. /*++
  2. Copyright (c) 1991-2000 Microsoft Corporation
  3. Module Name:
  4. attrdef.hxx
  5. Abstract:
  6. This module contains the declarations for the
  7. NTFS_ATTRIBUTE_DEFINITION_TABLE class, which models
  8. the attribute definition table file for an NTFS volume.
  9. Author:
  10. Bill McJohn (billmc) 17-June-91
  11. Environment:
  12. ULIB, User Mode
  13. --*/
  14. #if !defined( NTFS_ATTRIBUTE_DEFINITION_TABLE_DEFN )
  15. #define NTFS_ATTRIBUTE_DEFINITION_TABLE_DEFN
  16. #include "frs.hxx"
  17. DECLARE_CLASS( NTFS_ATTRIBUTE_DEFINITION_TABLE );
  18. DECLARE_CLASS( NTFS_ATTRIBUTE_COLUMNS );
  19. extern CONST NumberOfNtfsAttributeDefinitions_1;
  20. extern CONST NumberOfNtfsAttributeDefinitions_2;
  21. extern CONST ATTRIBUTE_DEFINITION_COLUMNS NtfsAttributeDefinitions_1[];
  22. extern CONST ATTRIBUTE_DEFINITION_COLUMNS NtfsAttributeDefinitions_2[];
  23. class NTFS_ATTRIBUTE_DEFINITION_TABLE : public NTFS_FILE_RECORD_SEGMENT {
  24. public:
  25. UNTFS_EXPORT
  26. DECLARE_CONSTRUCTOR( NTFS_ATTRIBUTE_DEFINITION_TABLE );
  27. VIRTUAL
  28. UNTFS_EXPORT
  29. ~NTFS_ATTRIBUTE_DEFINITION_TABLE(
  30. );
  31. NONVIRTUAL
  32. UNTFS_EXPORT
  33. BOOLEAN
  34. Initialize(
  35. IN OUT PNTFS_MASTER_FILE_TABLE Mft,
  36. IN UCHAR VolumeMajorVersion
  37. );
  38. NONVIRTUAL
  39. BOOLEAN
  40. Create(
  41. IN PCSTANDARD_INFORMATION StandardInformation,
  42. IN OUT PNTFS_BITMAP Bitmap
  43. );
  44. NONVIRTUAL
  45. BOOLEAN
  46. VerifyAndFix(
  47. IN OUT PNTFS_ATTRIBUTE_COLUMNS AttributeDefTable,
  48. IN OUT PNTFS_BITMAP VolumeBitmap,
  49. IN OUT PNUMBER_SET UnreadableClusters,
  50. IN OUT PNTFS_INDEX_TREE RootIndex,
  51. OUT PBOOLEAN Changes,
  52. IN FIX_LEVEL FixLevel,
  53. IN OUT PMESSAGE Message,
  54. IN BOOLEAN SilentMode DEFAULT FALSE
  55. );
  56. ULONG
  57. QueryDefaultSize(
  58. );
  59. STATIC
  60. ULONG
  61. QueryDefaultMaxSize(
  62. );
  63. private:
  64. NONVIRTUAL
  65. VOID
  66. Construct(
  67. );
  68. NONVIRTUAL
  69. VOID
  70. Destroy(
  71. );
  72. UCHAR _volume_major_version;
  73. };
  74. #endif