\r
#include "Partition.h"\r
\r
+STATIC\r
BOOLEAN\r
PartitionValidGptTable (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
OUT EFI_PARTITION_TABLE_HEADER *PartHeader\r
);\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckGptEntryArrayCRC (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
IN EFI_PARTITION_TABLE_HEADER *PartHeader\r
);\r
\r
+STATIC\r
BOOLEAN\r
PartitionRestoreGptTable (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
IN EFI_PARTITION_TABLE_HEADER *PartHeader\r
);\r
\r
+STATIC\r
VOID\r
PartitionCheckGptEntry (\r
IN EFI_PARTITION_TABLE_HEADER *PartHeader,\r
OUT EFI_PARTITION_ENTRY_STATUS *PEntryStatus\r
);\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckCrcAltSize (\r
IN UINTN MaxSize,\r
IN OUT EFI_TABLE_HEADER *Hdr\r
);\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckCrc (\r
IN UINTN MaxSize,\r
IN OUT EFI_TABLE_HEADER *Hdr\r
);\r
\r
+STATIC\r
VOID\r
PartitionSetCrcAltSize (\r
IN UINTN Size,\r
IN OUT EFI_TABLE_HEADER *Hdr\r
);\r
\r
+STATIC\r
VOID\r
PartitionSetCrc (\r
IN OUT EFI_TABLE_HEADER *Hdr\r
return GptValid;\r
}\r
\r
+STATIC\r
BOOLEAN\r
PartitionValidGptTable (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
return TRUE;\r
}\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckGptEntryArrayCRC (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
return (BOOLEAN) (PartHeader->PartitionEntryArrayCRC32 == Crc);\r
}\r
\r
+STATIC\r
BOOLEAN\r
PartitionRestoreGptTable (\r
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,\r
return TRUE;\r
}\r
\r
+STATIC\r
VOID\r
PartitionCheckGptEntry (\r
IN EFI_PARTITION_TABLE_HEADER *PartHeader,\r
DEBUG ((EFI_D_INFO, " End check partition entries\n"));\r
}\r
\r
+STATIC\r
VOID\r
PartitionSetCrc (\r
IN OUT EFI_TABLE_HEADER *Hdr\r
PartitionSetCrcAltSize (Hdr->HeaderSize, Hdr);\r
}\r
\r
+STATIC\r
VOID\r
PartitionSetCrcAltSize (\r
IN UINTN Size,\r
Hdr->CRC32 = Crc;\r
}\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckCrc (\r
IN UINTN MaxSize,\r
return PartitionCheckCrcAltSize (MaxSize, Hdr->HeaderSize, Hdr);\r
}\r
\r
+STATIC\r
BOOLEAN\r
PartitionCheckCrcAltSize (\r
IN UINTN MaxSize,\r