+typedef struct sNTFS_BootSector
+{
+ // 0
+ Uint8 Jump[3];
+ Uint8 SystemID[8]; // = "NTFS "
+ Uint16 BytesPerSector;
+ Uint8 SectorsPerCluster;
+
+ // 0xE
+ Uint8 Unused[7];
+ Uint8 MediaDescriptor;
+ Uint16 Unused2;
+ Uint16 SectorsPerTrack;
+ Uint16 Heads;
+
+ // 0x1C
+ Uint64 Unused3;
+ Uint32 Unkown; // Usually 0x00800080 (according to Linux docs)
+
+ // 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
+
+ // 0x40
+ // If either of these are -ve, the size can be obtained via
+ // SizeInBytes = 2^(-1 * Value)
+ Sint8 ClustersPerMFTRecord;
+ Uint8 Unused4[3];
+ Sint8 ClustersPerIndexRecord;
+ Uint8 Unused5[3];
+
+ Uint64 SerialNumber;
+
+ Uint8 Padding[512-0x50];
+
+} PACKED tNTFS_BootSector;
+
+/**
+ * FILE header, an entry in the MFT
+ */