X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FFilesystems%2FNTFS%2Fcommon.h;h=598120d27c9023e7260448f114ce9ccd58355afa;hb=3681dbf27244ee07ae618a9d33a608ae6089d3c5;hp=8456910ed9195c79cb1e840873069b448b32d886;hpb=356ff4d71c6f5753e7a13473145c45a54dc5d8cf;p=tpg%2Facess2.git diff --git a/Modules/Filesystems/NTFS/common.h b/Modules/Filesystems/NTFS/common.h index 8456910e..598120d2 100644 --- a/Modules/Filesystems/NTFS/common.h +++ b/Modules/Filesystems/NTFS/common.h @@ -12,6 +12,8 @@ #include #include +typedef Uint16 WCHAR; + // === STRUCTURES === /** * In-memory representation of an NTFS Disk @@ -23,6 +25,7 @@ typedef struct sNTFS_Disk int ClusterSize; Uint64 MFTBase; + Uint32 MFTRecSize; tVFS_Node RootNode; } tNTFS_Disk; @@ -35,29 +38,33 @@ typedef struct sNTFS_BootSector Uint16 BytesPerSector; Uint8 SectorsPerCluster; - // 14 + // 0xE Uint8 Unused[7]; Uint8 MediaDescriptor; Uint16 Unused2; Uint16 SectorsPerTrack; + Uint16 Heads; + // 0x1C Uint64 Unused3; - Uint32 Unknown; + Uint32 Unkown; // Usually 0x00800080 (according to Linux docs) - // 38 + // 0x28 Uint64 TotalSectorCount; // Size of volume in sectors Uint64 MFTStart; // Logical Cluster Number of Cluster 0 of MFT Uint64 MFTMirrorStart; // Logical Cluster Number of Cluster 0 of MFT Backup - // 60 + // 0x40 // If either of these are -ve, the size can be obtained via // SizeInBytes = 2^(-1 * Value) - Uint32 ClustersPerMFTRecord; - Uint32 ClustersPerIndexRecord; + Sint8 ClustersPerMFTRecord; + Uint8 Unused4[3]; + Sint8 ClustersPerIndexRecord; + Uint8 Unused5[3]; Uint64 SerialNumber; - Uint8 Padding[512-72]; + Uint8 Padding[512-0x50]; } PACKED tNTFS_BootSector;