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.

133 lines
3.9 KiB

  1. //
  2. // Constant definitions
  3. //
  4. #define LowPart 0x0
  5. #define HighPart 0x4
  6. #define MASTER_FILE_TABLE_NUMBER 0x0
  7. #define MASTER_FILE_TABLE2_NUMBER 0x1
  8. #define LOG_FILE_NUMBER 0x2
  9. #define VOLUME_DASD_NUMBER 0x3
  10. #define ATTRIBUTE_DEF_TABLE_NUMBER 0x4
  11. #define ROOT_FILE_NAME_INDEX_NUMBER 0x5
  12. #define BIT_MAP_FILE_NUMBER 0x6
  13. #define BOOT_FILE_NUMBER 0x7
  14. #define BAD_CLUSTER_FILE_NUMBER 0x8
  15. #define QUOTA_TABLE_NUMBER 0x9
  16. #define UPCASE_TABLE_NUMBER 0xa
  17. #define $STANDARD_INFORMATION 0x10
  18. #define $ATTRIBUTE_LIST 0x20
  19. #define $FILE_NAME 0x30
  20. #define $OBJECT_ID 0x40
  21. #define $SECURITY_DESCRIPTOR 0x50
  22. #define $VOLUME_NAME 0x60
  23. #define $VOLUME_INFORMATION 0x70
  24. #define $DATA 0x80
  25. #define $INDEX_ROOT 0x90
  26. #define $INDEX_ALLOCATION 0xa0
  27. #define $BITMAP 0xb0
  28. #define $SYMBOLIC_LINK 0xc0
  29. #define $EA_INFORMATION 0xd0
  30. #define $EA 0xe0
  31. #define $FIRST_USER_DEFINED_ATTRIBUTE 0x100
  32. #define $END 0xffffffff
  33. #define SEQUENCE_NUMBER_STRIDE 0x200
  34. #define REF_SegmentNumberLowPart 0x0
  35. #define REF_SegmentNumberHighPart 0x4
  36. #define REF_SequenceNumber 0x6
  37. #define MSH_Signature 0x0
  38. #define MSH_UpdateSequenceArrayOffset 0x4
  39. #define MSH_UpdateSequenceArraySize 0x6
  40. #define FRS_MultiSectorHeader 0x0
  41. #define FRS_Lsn 0x8
  42. #define FRS_SequenceNumber 0x10
  43. #define FRS_ReferenceCount 0x12
  44. #define FRS_FirstAttributeOffset 0x14
  45. #define FRS_Flags 0x16
  46. #define FRS_FirstFreeByte 0x18
  47. #define FRS_BytesAvailable 0x1c
  48. #define FRS_BaseFileRecordSegment 0x20
  49. #define FRS_NextAttributeInstance 0x28
  50. #define FRS_UpdateArrayForCreateOnly 0x2a
  51. #define FILE_RECORD_SEGMENT_IN_USE 0x1
  52. #define FILE_FILE_NAME_INDEX_PRESENT 0x2
  53. #define ATTR_TypeCode 0x0
  54. #define ATTR_RecordLength 0x4
  55. #define ATTR_FormCode 0x8
  56. #define ATTR_NameLength 0x9
  57. #define ATTR_NameOffset 0xa
  58. #define ATTR_Flags 0xc
  59. #define ATTR_Instance 0xe
  60. #define ATTR_Form 0x10
  61. #define RES_ValueLength 0x10
  62. #define RES_ValueOffset 0x14
  63. #define RES_ResidentFlags 0x16
  64. #define RES_Reserved 0x17
  65. #define NONRES_LowestVcn 0x10
  66. #define NONRES_HighestVcn 0x18
  67. #define NONRES_MappingPairOffset 0x20
  68. #define NONRES_CompressionUnit 0x22
  69. #define NONRES_Reserved 0x23
  70. #define NONRES_AllocatedLength 0x28
  71. #define NONRES_FileSize 0x30
  72. #define NONRES_ValidDataLength 0x38
  73. #define NONRES_TotalAllocated 0x40
  74. #define RESIDENT_FORM 0x0
  75. #define NONRESIDENT_FORM 0x1
  76. #define ATTRIBUTE_FLAG_COMPRESSION_MASK 0xff
  77. #define ATTRLIST_AttributeTypeCode 0x0
  78. #define ATTRLIST_RecordLength 0x4
  79. #define ATTRLIST_AttributeNameLength 0x6
  80. #define ATTRLIST_AttributeNameOffset 0x7
  81. #define ATTRLIST_LowestVcn 0x8
  82. #define ATTRLIST_SegmentReference 0x10
  83. #define ATTRLIST_Instance 0x18
  84. #define ATTRLIST_AttributeName 0x1a
  85. #define FAT_DIRENT_ATTR_READ_ONLY 0x1
  86. #define FAT_DIRENT_ATTR_HIDDEN 0x2
  87. #define FAT_DIRENT_ATTR_SYSTEM 0x4
  88. #define FAT_DIRENT_ATTR_VOLUME_ID 0x8
  89. #define FAT_DIRENT_ATTR_ARCHIVE 0x20
  90. #define FAT_DIRENT_ATTR_DEVICE 0x40
  91. #define DUPINFO_CreationTime 0x0
  92. #define DUPINFO_LastModificationTime 0x8
  93. #define DUPINFO_LastChangeTime 0x10
  94. #define DUPINFO_LastAccessTime 0x18
  95. #define DUPINFO_AllocatedLength 0x20
  96. #define DUPINFO_FileSize 0x28
  97. #define DUPINFO_FileAttributes 0x30
  98. #define DUPINFO_PackedEaSize 0x34
  99. #define DUPINFO_Reserved 0x36
  100. #define FN_ParentDirectory 0x0
  101. #define FN_Info 0x8
  102. #define FN_FileNameLength 0x40
  103. #define FN_Flags 0x41
  104. #define FN_FileName 0x42
  105. #define FILE_NAME_NTFS 0x1
  106. #define FILE_NAME_DOS 0x2
  107. #define FILE_NAME_LINK 0x4
  108. #define IH_FirstIndexEntry 0x0
  109. #define IH_FirstFreeByte 0x4
  110. #define IH_BytesAvailable 0x8
  111. #define IH_Flags 0xc
  112. #define IH_Reserved 0xd
  113. #define INDEX_NODE 0x1
  114. #define IR_IndexedAttributeType 0x0
  115. #define IR_CollationRule 0x4
  116. #define IR_BytesPerIndexBuffer 0x8
  117. #define IR_BlocksPerIndexBuffer 0xc
  118. #define IR_Reserved 0xd
  119. #define IR_IndexHeader 0x10
  120. #define IB_MultiSectorHeader 0x0
  121. #define IB_Lsn 0x8
  122. #define IB_ThisBlock 0x10
  123. #define IB_IndexHeader 0x18
  124. #define IB_UpdateSequenceArray 0x28
  125. #define IE_FileReference 0x0
  126. #define IE_Length 0x8
  127. #define IE_AttributeLength 0xa
  128. #define IE_Flags 0xc
  129. #define IE_Reserved 0xe
  130. #define INDEX_ENTRY_NODE 0x1
  131. #define INDEX_ENTRY_END 0x2