X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FFilesystems%2FNTFS%2Fntfs.h;h=a65532e1fbb95af54a04112f4d2528f62ea187c0;hb=HEAD;hp=797d2db8b463dd26df073f1e8839a5bc56f68f28;hpb=3baaddee040c6e58d3fdb10c3d04b69354e221e7;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Filesystems/NTFS/ntfs.h b/KernelLand/Modules/Filesystems/NTFS/ntfs.h index 797d2db8..a65532e1 100644 --- a/KernelLand/Modules/Filesystems/NTFS/ntfs.h +++ b/KernelLand/Modules/Filesystems/NTFS/ntfs.h @@ -132,6 +132,9 @@ typedef struct sNTFS_FILE_Attrib #include "attributes.h" +typedef struct sNTFS_IndexHeader tNTFS_IndexHeader; +typedef struct sNTFS_IndexEntry_Filename tNTFS_IndexEntry_Filename; + struct sNTFS_IndexHeader { Uint32 Magic; // = 'INDX' LE @@ -148,13 +151,24 @@ struct sNTFS_IndexHeader Uint16 UpdateSequenceArray[]; } PACKED; +#define NTFS_IndexFlag_HasSubNode 0x01 +#define NTFS_IndexFlag_IsLast 0x02 + +struct sNTFS_IndexEntry +{ + Uint64 MFTReference; + Uint16 EntrySize; + Uint16 MessageLen; + Uint16 IndexFlags; // [0]: Points to sub-node, [1]: Last entry in node + Uint16 _rsvd; +} PACKED; struct sNTFS_IndexEntry_Filename { Uint64 MFTReference; Uint16 EntrySize; Uint16 FilenameOfs; - Uint16 IndexFlags; - Uint16 _flags; + Uint16 IndexFlags; // [0]: Points to sub-node, [1]: Last entry in node + Uint16 _rsvd; #if 1 struct sNTFS_Attrib_Filename Filename; @@ -172,7 +186,7 @@ struct sNTFS_IndexEntry_Filename Uint8 FilenameNamespace; #endif // Filename -}; +} PACKED; #endif