diff options
Diffstat (limited to 'src/Boot/Windows/BootCommon.h')
-rw-r--r-- | src/Boot/Windows/BootCommon.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Boot/Windows/BootCommon.h b/src/Boot/Windows/BootCommon.h index d2ee42a1..45a1a650 100644 --- a/src/Boot/Windows/BootCommon.h +++ b/src/Boot/Windows/BootCommon.h @@ -16,61 +16,61 @@ #include "Common/Password.h" #include "BootDefs.h" // The user will be advised to upgrade the rescue disk if upgrading from the following or any previous version #define TC_RESCUE_DISK_UPGRADE_NOTICE_MAX_VERSION 0x0125 #define TC_BOOT_LOADER_AREA_SIZE (TC_BOOT_LOADER_AREA_SECTOR_COUNT * TC_SECTOR_SIZE_BIOS) #define TC_BOOT_VOLUME_HEADER_SECTOR (TC_BOOT_LOADER_AREA_SECTOR_COUNT - 1) #define TC_BOOT_VOLUME_HEADER_SECTOR_OFFSET (TC_BOOT_VOLUME_HEADER_SECTOR * TC_SECTOR_SIZE_BIOS) #define TC_CD_BOOTSECTOR_OFFSET 0xd000 #define TC_CD_BOOT_LOADER_SECTOR 26 #define TC_ORIG_BOOT_LOADER_BACKUP_SECTOR TC_BOOT_LOADER_AREA_SECTOR_COUNT #define TC_ORIG_BOOT_LOADER_BACKUP_SECTOR_OFFSET (TC_ORIG_BOOT_LOADER_BACKUP_SECTOR * TC_SECTOR_SIZE_BIOS) #define TC_BOOT_LOADER_BACKUP_RESCUE_DISK_SECTOR (TC_ORIG_BOOT_LOADER_BACKUP_SECTOR + TC_BOOT_LOADER_AREA_SECTOR_COUNT) #define TC_BOOT_LOADER_BACKUP_RESCUE_DISK_SECTOR_OFFSET (TC_BOOT_LOADER_BACKUP_RESCUE_DISK_SECTOR * TC_SECTOR_SIZE_BIOS) #define TC_MBR_SECTOR 0 #define TC_MAX_MBR_BOOT_CODE_SIZE 440 #define TC_MAX_EXTRA_BOOT_PARTITION_SIZE (512UL * 1024UL * 1024UL) #pragma pack (1) typedef struct { - byte Flags; + uint8 Flags; } BootSectorConfiguration; // Modifying this value can introduce incompatibility with previous versions #define TC_BOOT_LOADER_ARGS_OFFSET 0x10 typedef struct { // Modifying this structure can introduce incompatibility with previous versions char Signature[8]; uint16 BootLoaderVersion; uint16 CryptoInfoOffset; uint16 CryptoInfoLength; uint32 HeaderSaltCrc32; PasswordLegacy BootPassword; uint64 HiddenSystemPartitionStart; uint64 DecoySystemPartitionStart; uint32 Flags; uint32 BootDriveSignature; uint32 BootArgumentsCrc32; } BootArguments; // Modifying these values can introduce incompatibility with previous versions #define TC_BOOT_ARGS_FLAG_EXTRA_BOOT_PARTITION 0x1 #pragma pack () // Boot arguments signature should not be defined as a static string @@ -93,126 +93,126 @@ typedef struct #define DE_IDX_MAINGPTENTRYS 4 #define DE_IDX_ALTGPTHDR 5 #define DE_IDX_ALTGPTENTRYS 6 #define DE_IDX_EXEC 7 #define DE_IDX_PWDCACHE 8 #define DE_IDX_RND 9 #define DE_IDX_TOTAL 10 CSTATIC_ASSERT(DE_IDX_TOTAL <= 15, DE_IDX_TOTAL_too_big); enum DcsDiskEntryTypes { DE_Unused = 0, DE_Sectors, DE_List, DE_DISKID, DE_ExecParams, DE_PwdCache, DE_Rnd }; #pragma pack(1) typedef struct _SECREGION_BOOT_PARAMS { uint64 Ptr; uint32 Size; uint32 Crc; } SECREGION_BOOT_PARAMS; typedef struct { uint32 Data1; uint16 Data2; uint16 Data3; - byte Data4[8]; + uint8 Data4[8]; } DCS_GUID; // DE types typedef struct _DCS_DISK_ENTRY_SECTORS { uint32 Type; uint32 Offset; // Offset in memory uint64 Reserved; uint64 Start; // Start on disk (byte) uint64 Length; // length on disk (byte) } DCS_DISK_ENTRY_SECTORS; CSTATIC_ASSERT(sizeof(DCS_DISK_ENTRY_SECTORS) == 32, Wrong_size_DCS_DISK_ENTRY_SECTORS); typedef struct _DCS_DISK_ENTRY_PARAMS { uint32 Type; uint32 Offset; uint64 Reserved[2]; uint64 Length; // size of data } DCS_DISK_ENTRY_PARAMS; CSTATIC_ASSERT(sizeof(DCS_DISK_ENTRY_PARAMS) == 32, Wrong_size_DCS_DISK_ENTRY_PARAMS); typedef struct _DCS_DISK_ENTRY_DISKID { uint32 Type; uint32 MbrID; uint64 ReservedDiskId; DCS_GUID GptID; } DCS_DISK_ENTRY_DISKID; CSTATIC_ASSERT(sizeof(DCS_DISK_ENTRY_DISKID) == 32, Wrong_size_DCS_DISK_ENTRY_DISKID); #pragma warning(disable:4201) typedef struct _DCS_DISK_ENTRY { union { struct { uint32 Type; uint32 Offset; - byte reserved[16]; + uint8 reserved[16]; uint64 Length; // size of structure at Offset }; DCS_DISK_ENTRY_SECTORS Sectors; DCS_DISK_ENTRY_DISKID DiskId; DCS_DISK_ENTRY_PARAMS Prm; }; } DCS_DISK_ENTRY; #pragma warning(default:4201) CSTATIC_ASSERT(sizeof(DCS_DISK_ENTRY) == 32, Wrong_size_DCS_DISK_ENTRY); // Static compile time checks field offsets #ifndef FIELD_OFFSET #define FIELD_OFFSET(t, f) ((UINTN)(&((t*)0)->f)) #endif CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Type) == FIELD_OFFSET(DCS_DISK_ENTRY_SECTORS, Type), Wrong_Type_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Type) == FIELD_OFFSET(DCS_DISK_ENTRY_DISKID, Type), Wrong_Type_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Type) == FIELD_OFFSET(DCS_DISK_ENTRY_PARAMS, Type), Wrong_Type_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Length) == FIELD_OFFSET(DCS_DISK_ENTRY_SECTORS, Length), Wrong_Length_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Length) == FIELD_OFFSET(DCS_DISK_ENTRY_PARAMS, Length), Wrong_Length_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Offset) == FIELD_OFFSET(DCS_DISK_ENTRY_SECTORS, Offset), Wrong_Offset_offset); CSTATIC_ASSERT(FIELD_OFFSET(DCS_DISK_ENTRY, Offset) == FIELD_OFFSET(DCS_DISK_ENTRY_PARAMS, Offset), Wrong_Offset_offset); // DE type specific data // DE List typedef struct _DCS_DISK_ENTRY_LIST { // EFI_TABLE_HEADER uint64 Signature; uint32 Revision; uint32 HeaderSize; //< The size, in bytes, of the entire table including the EFI_TABLE_HEADER. uint32 CRC32; //< The 32-bit CRC for the entire table. This value is computed by setting this field to 0, and computing the 32-bit CRC for HeaderSize bytes. uint32 Reserved; //< Reserved field that must be set to 0. // uint32 Count; uint32 DataSize; // DCS_DISK_ENTRY DE[15]; } DCS_DISK_ENTRY_LIST; CSTATIC_ASSERT(sizeof(DCS_DISK_ENTRY_LIST) == 512, Wrong_size_DCS_DISK_ENTRY_LIST); typedef struct _DCS_DEP_EXEC { DCS_GUID ExecPartGuid; uint16 ExecCmd[248]; } DCS_DEP_EXEC; CSTATIC_ASSERT(sizeof(DCS_DEP_EXEC) == 512, Wrong_size_DCS_DEP_EXEC); #define DCS_DEP_PWD_CACHE_SIGN SIGNATURE_64 ('P','W','D','C','A','C','H','E') typedef struct _DCS_DEP_PWD_CACHE { uint64 Sign; uint32 CRC; uint32 Count; PasswordLegacy Pwd[4]; int32 Pim[4]; - byte pad[512 - 8 - 4 - 4 - (sizeof(PasswordLegacy) + 4) * 4]; + uint8 pad[512 - 8 - 4 - 4 - (sizeof(PasswordLegacy) + 4) * 4]; } DCS_DEP_PWD_CACHE; CSTATIC_ASSERT(sizeof(DCS_DEP_PWD_CACHE) == 512, Wrong_size_DCS_DEP_PWD_CACHE); #pragma pack() #endif // #if !defined(TC_WINDOWS_BOOT) #endif // TC_HEADER_Boot_BootCommon |