134 lines
3.9 KiB
C
134 lines
3.9 KiB
C
|
|
//
|
|
// Constant definitions
|
|
//
|
|
|
|
#define LowPart 0x0
|
|
#define HighPart 0x4
|
|
#define MASTER_FILE_TABLE_NUMBER 0x0
|
|
#define MASTER_FILE_TABLE2_NUMBER 0x1
|
|
#define LOG_FILE_NUMBER 0x2
|
|
#define VOLUME_DASD_NUMBER 0x3
|
|
#define ATTRIBUTE_DEF_TABLE_NUMBER 0x4
|
|
#define ROOT_FILE_NAME_INDEX_NUMBER 0x5
|
|
#define BIT_MAP_FILE_NUMBER 0x6
|
|
#define BOOT_FILE_NUMBER 0x7
|
|
#define BAD_CLUSTER_FILE_NUMBER 0x8
|
|
#define QUOTA_TABLE_NUMBER 0x9
|
|
#define UPCASE_TABLE_NUMBER 0xa
|
|
#define $STANDARD_INFORMATION 0x10
|
|
#define $ATTRIBUTE_LIST 0x20
|
|
#define $FILE_NAME 0x30
|
|
#define $OBJECT_ID 0x40
|
|
#define $SECURITY_DESCRIPTOR 0x50
|
|
#define $VOLUME_NAME 0x60
|
|
#define $VOLUME_INFORMATION 0x70
|
|
#define $DATA 0x80
|
|
#define $INDEX_ROOT 0x90
|
|
#define $INDEX_ALLOCATION 0xa0
|
|
#define $BITMAP 0xb0
|
|
#define $SYMBOLIC_LINK 0xc0
|
|
#define $EA_INFORMATION 0xd0
|
|
#define $EA 0xe0
|
|
#define $FIRST_USER_DEFINED_ATTRIBUTE 0x100
|
|
#define $END 0xffffffff
|
|
#define SEQUENCE_NUMBER_STRIDE 0x200
|
|
#define REF_SegmentNumberLowPart 0x0
|
|
#define REF_SegmentNumberHighPart 0x4
|
|
#define REF_SequenceNumber 0x6
|
|
#define MSH_Signature 0x0
|
|
#define MSH_UpdateSequenceArrayOffset 0x4
|
|
#define MSH_UpdateSequenceArraySize 0x6
|
|
#define FRS_MultiSectorHeader 0x0
|
|
#define FRS_Lsn 0x8
|
|
#define FRS_SequenceNumber 0x10
|
|
#define FRS_ReferenceCount 0x12
|
|
#define FRS_FirstAttributeOffset 0x14
|
|
#define FRS_Flags 0x16
|
|
#define FRS_FirstFreeByte 0x18
|
|
#define FRS_BytesAvailable 0x1c
|
|
#define FRS_BaseFileRecordSegment 0x20
|
|
#define FRS_NextAttributeInstance 0x28
|
|
#define FRS_UpdateArrayForCreateOnly 0x2a
|
|
#define FILE_RECORD_SEGMENT_IN_USE 0x1
|
|
#define FILE_FILE_NAME_INDEX_PRESENT 0x2
|
|
#define ATTR_TypeCode 0x0
|
|
#define ATTR_RecordLength 0x4
|
|
#define ATTR_FormCode 0x8
|
|
#define ATTR_NameLength 0x9
|
|
#define ATTR_NameOffset 0xa
|
|
#define ATTR_Flags 0xc
|
|
#define ATTR_Instance 0xe
|
|
#define ATTR_Form 0x10
|
|
#define RES_ValueLength 0x10
|
|
#define RES_ValueOffset 0x14
|
|
#define RES_ResidentFlags 0x16
|
|
#define RES_Reserved 0x17
|
|
#define NONRES_LowestVcn 0x10
|
|
#define NONRES_HighestVcn 0x18
|
|
#define NONRES_MappingPairOffset 0x20
|
|
#define NONRES_CompressionUnit 0x22
|
|
#define NONRES_Reserved 0x23
|
|
#define NONRES_AllocatedLength 0x28
|
|
#define NONRES_FileSize 0x30
|
|
#define NONRES_ValidDataLength 0x38
|
|
#define NONRES_TotalAllocated 0x40
|
|
#define RESIDENT_FORM 0x0
|
|
#define NONRESIDENT_FORM 0x1
|
|
#define ATTRIBUTE_FLAG_COMPRESSION_MASK 0xff
|
|
#define ATTRLIST_AttributeTypeCode 0x0
|
|
#define ATTRLIST_RecordLength 0x4
|
|
#define ATTRLIST_AttributeNameLength 0x6
|
|
#define ATTRLIST_AttributeNameOffset 0x7
|
|
#define ATTRLIST_LowestVcn 0x8
|
|
#define ATTRLIST_SegmentReference 0x10
|
|
#define ATTRLIST_Instance 0x18
|
|
#define ATTRLIST_AttributeName 0x1a
|
|
#define FAT_DIRENT_ATTR_READ_ONLY 0x1
|
|
#define FAT_DIRENT_ATTR_HIDDEN 0x2
|
|
#define FAT_DIRENT_ATTR_SYSTEM 0x4
|
|
#define FAT_DIRENT_ATTR_VOLUME_ID 0x8
|
|
#define FAT_DIRENT_ATTR_ARCHIVE 0x20
|
|
#define FAT_DIRENT_ATTR_DEVICE 0x40
|
|
#define DUPINFO_CreationTime 0x0
|
|
#define DUPINFO_LastModificationTime 0x8
|
|
#define DUPINFO_LastChangeTime 0x10
|
|
#define DUPINFO_LastAccessTime 0x18
|
|
#define DUPINFO_AllocatedLength 0x20
|
|
#define DUPINFO_FileSize 0x28
|
|
#define DUPINFO_FileAttributes 0x30
|
|
#define DUPINFO_PackedEaSize 0x34
|
|
#define DUPINFO_Reserved 0x36
|
|
#define FN_ParentDirectory 0x0
|
|
#define FN_Info 0x8
|
|
#define FN_FileNameLength 0x40
|
|
#define FN_Flags 0x41
|
|
#define FN_FileName 0x42
|
|
#define FILE_NAME_NTFS 0x1
|
|
#define FILE_NAME_DOS 0x2
|
|
#define FILE_NAME_LINK 0x4
|
|
#define IH_FirstIndexEntry 0x0
|
|
#define IH_FirstFreeByte 0x4
|
|
#define IH_BytesAvailable 0x8
|
|
#define IH_Flags 0xc
|
|
#define IH_Reserved 0xd
|
|
#define INDEX_NODE 0x1
|
|
#define IR_IndexedAttributeType 0x0
|
|
#define IR_CollationRule 0x4
|
|
#define IR_BytesPerIndexBuffer 0x8
|
|
#define IR_BlocksPerIndexBuffer 0xc
|
|
#define IR_Reserved 0xd
|
|
#define IR_IndexHeader 0x10
|
|
#define IB_MultiSectorHeader 0x0
|
|
#define IB_Lsn 0x8
|
|
#define IB_ThisBlock 0x10
|
|
#define IB_IndexHeader 0x18
|
|
#define IB_UpdateSequenceArray 0x28
|
|
#define IE_FileReference 0x0
|
|
#define IE_Length 0x8
|
|
#define IE_AttributeLength 0xa
|
|
#define IE_Flags 0xc
|
|
#define IE_Reserved 0xe
|
|
#define INDEX_ENTRY_NODE 0x1
|
|
#define INDEX_ENTRY_END 0x2
|