FileState = FfsHeader->State;\r
\r
if (ErasePolarity != 0) {\r
- FileState = (EFI_FFS_FILE_STATE)~FileState;\r
+ FileState = (EFI_FFS_FILE_STATE) ~FileState;\r
}\r
\r
HighestBit = 0x80;\r
IN EFI_FFS_FILE_HEADER *FileHeader\r
)\r
{\r
- UINT8 *ptr;\r
- UINTN Index;\r
- UINT8 Sum;\r
+ UINT8 *ptr;\r
+ UINTN Index;\r
+ UINT8 Sum;\r
\r
Sum = 0;\r
- ptr = (UINT8 *) FileHeader;\r
+ ptr = (UINT8 *)FileHeader;\r
\r
for (Index = 0; Index < sizeof (EFI_FFS_FILE_HEADER) - 3; Index += 4) {\r
- Sum = (UINT8) (Sum + ptr[Index]);\r
- Sum = (UINT8) (Sum + ptr[Index + 1]);\r
- Sum = (UINT8) (Sum + ptr[Index + 2]);\r
- Sum = (UINT8) (Sum + ptr[Index + 3]);\r
+ Sum = (UINT8)(Sum + ptr[Index]);\r
+ Sum = (UINT8)(Sum + ptr[Index + 1]);\r
+ Sum = (UINT8)(Sum + ptr[Index + 2]);\r
+ Sum = (UINT8)(Sum + ptr[Index + 3]);\r
}\r
\r
- for (; Index < sizeof (EFI_FFS_FILE_HEADER); Index++) {\r
- Sum = (UINT8) (Sum + ptr[Index]);\r
+ for ( ; Index < sizeof (EFI_FFS_FILE_HEADER); Index++) {\r
+ Sum = (UINT8)(Sum + ptr[Index]);\r
}\r
+\r
//\r
// State field (since this indicates the different state of file).\r
//\r
- Sum = (UINT8) (Sum - FileHeader->State);\r
+ Sum = (UINT8)(Sum - FileHeader->State);\r
//\r
// Checksum field of the file is not part of the header checksum.\r
//\r
- Sum = (UINT8) (Sum - FileHeader->IntegrityCheck.Checksum.File);\r
+ Sum = (UINT8)(Sum - FileHeader->IntegrityCheck.Checksum.File);\r
\r
return Sum;\r
}\r
IN OUT EFI_FFS_FILE_HEADER **FileHeader\r
)\r
{\r
- EFI_FIRMWARE_VOLUME_EXT_HEADER *FvExtHeader;\r
+ EFI_FIRMWARE_VOLUME_EXT_HEADER *FvExtHeader;\r
\r
- EFI_FFS_FILE_HEADER *FfsFileHeader;\r
- UINT32 FileLength;\r
- UINT32 FileOccupiedSize;\r
- UINT32 FileOffset;\r
- UINT64 FvLength;\r
- UINT8 ErasePolarity;\r
- UINT8 FileState;\r
+ EFI_FFS_FILE_HEADER *FfsFileHeader;\r
+ UINT32 FileLength;\r
+ UINT32 FileOccupiedSize;\r
+ UINT32 FileOffset;\r
+ UINT64 FvLength;\r
+ UINT8 ErasePolarity;\r
+ UINT8 FileState;\r
\r
FvLength = FwVolHeader->FvLength;\r
if (FwVolHeader->Attributes & EFI_FVB2_ERASE_POLARITY) {\r
} else {\r
ErasePolarity = 0;\r
}\r
+\r
//\r
// If FileHeader is not specified (NULL) start with the first file in the\r
// firmware volume. Otherwise, start from the FileHeader.\r
//\r
if (*FileHeader == NULL) {\r
-\r
if (FwVolHeader->ExtHeaderOffset != 0) {\r
-\r
FvExtHeader = (EFI_FIRMWARE_VOLUME_EXT_HEADER *)((UINT8 *)FwVolHeader +\r
FwVolHeader->ExtHeaderOffset);\r
\r
FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FvExtHeader +\r
FvExtHeader->ExtHeaderSize);\r
-\r
} else {\r
-\r
FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FwVolHeader +\r
FwVolHeader->HeaderLength);\r
-\r
}\r
\r
FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINTN)FwVolHeader +\r
- ALIGN_VALUE((UINTN)FfsFileHeader -\r
- (UINTN)FwVolHeader, 8));\r
+ ALIGN_VALUE (\r
+ (UINTN)FfsFileHeader -\r
+ (UINTN)FwVolHeader,\r
+ 8\r
+ ));\r
} else {\r
//\r
// Length is 24 bits wide so mask upper 8 bits\r
// FileLength is adjusted to FileOccupiedSize as it is 8 byte aligned.\r
//\r
- FileLength = FFS_FILE_SIZE(*FileHeader);\r
- FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
- FfsFileHeader = (EFI_FFS_FILE_HEADER *) ((UINT8 *) *FileHeader + FileOccupiedSize);\r
+ FileLength = FFS_FILE_SIZE (*FileHeader);\r
+ FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
+ FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)*FileHeader + FileOccupiedSize);\r
}\r
\r
- FileOffset = (UINT32) ((UINT8 *) FfsFileHeader - (UINT8 *) FwVolHeader);\r
+ FileOffset = (UINT32)((UINT8 *)FfsFileHeader - (UINT8 *)FwVolHeader);\r
\r
while (FileOffset < (FvLength - sizeof (EFI_FFS_FILE_HEADER))) {\r
//\r
FileState = GetFileState (ErasePolarity, FfsFileHeader);\r
\r
switch (FileState) {\r
-\r
- case EFI_FILE_HEADER_INVALID:\r
- FileOffset += sizeof (EFI_FFS_FILE_HEADER);\r
- FfsFileHeader = (EFI_FFS_FILE_HEADER *) ((UINT8 *) FfsFileHeader + sizeof (EFI_FFS_FILE_HEADER));\r
- break;\r
-\r
- case EFI_FILE_DATA_VALID:\r
- case EFI_FILE_MARKED_FOR_UPDATE:\r
- if (CalculateHeaderChecksum (FfsFileHeader) == 0) {\r
- FileLength = FFS_FILE_SIZE(FfsFileHeader);\r
- FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
-\r
- if ((SearchType == FfsFileHeader->Type) || (SearchType == EFI_FV_FILETYPE_ALL)) {\r
-\r
- *FileHeader = FfsFileHeader;\r
-\r
- return EFI_SUCCESS;\r
+ case EFI_FILE_HEADER_INVALID:\r
+ FileOffset += sizeof (EFI_FFS_FILE_HEADER);\r
+ FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FfsFileHeader + sizeof (EFI_FFS_FILE_HEADER));\r
+ break;\r
+\r
+ case EFI_FILE_DATA_VALID:\r
+ case EFI_FILE_MARKED_FOR_UPDATE:\r
+ if (CalculateHeaderChecksum (FfsFileHeader) == 0) {\r
+ FileLength = FFS_FILE_SIZE (FfsFileHeader);\r
+ FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
+\r
+ if ((SearchType == FfsFileHeader->Type) || (SearchType == EFI_FV_FILETYPE_ALL)) {\r
+ *FileHeader = FfsFileHeader;\r
+\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ FileOffset += FileOccupiedSize;\r
+ FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FfsFileHeader + FileOccupiedSize);\r
+ } else {\r
+ return EFI_NOT_FOUND;\r
}\r
\r
- FileOffset += FileOccupiedSize;\r
- FfsFileHeader = (EFI_FFS_FILE_HEADER *) ((UINT8 *) FfsFileHeader + FileOccupiedSize);\r
- } else {\r
- return EFI_NOT_FOUND;\r
- }\r
- break;\r
-\r
- case EFI_FILE_DELETED:\r
- FileLength = FFS_FILE_SIZE(FfsFileHeader);\r
- FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
- FileOffset += FileOccupiedSize;\r
- FfsFileHeader = (EFI_FFS_FILE_HEADER *) ((UINT8 *) FfsFileHeader + FileOccupiedSize);\r
- break;\r
+ break;\r
\r
- default:\r
- return EFI_NOT_FOUND;\r
+ case EFI_FILE_DELETED:\r
+ FileLength = FFS_FILE_SIZE (FfsFileHeader);\r
+ FileOccupiedSize = GET_OCCUPIED_SIZE (FileLength, 8);\r
+ FileOffset += FileOccupiedSize;\r
+ FfsFileHeader = (EFI_FFS_FILE_HEADER *)((UINT8 *)FfsFileHeader + FileOccupiedSize);\r
+ break;\r
\r
+ default:\r
+ return EFI_NOT_FOUND;\r
}\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
FindFfsSectionInSections (\r
- IN VOID *Sections,\r
- IN UINTN SizeOfSections,\r
- IN EFI_SECTION_TYPE SectionType,\r
- OUT EFI_COMMON_SECTION_HEADER **FoundSection\r
+ IN VOID *Sections,\r
+ IN UINTN SizeOfSections,\r
+ IN EFI_SECTION_TYPE SectionType,\r
+ OUT EFI_COMMON_SECTION_HEADER **FoundSection\r
)\r
{\r
- EFI_PHYSICAL_ADDRESS CurrentAddress;\r
- UINT32 Size;\r
- EFI_PHYSICAL_ADDRESS EndOfSections;\r
- EFI_COMMON_SECTION_HEADER *Section;\r
- EFI_PHYSICAL_ADDRESS EndOfSection;\r
+ EFI_PHYSICAL_ADDRESS CurrentAddress;\r
+ UINT32 Size;\r
+ EFI_PHYSICAL_ADDRESS EndOfSections;\r
+ EFI_COMMON_SECTION_HEADER *Section;\r
+ EFI_PHYSICAL_ADDRESS EndOfSection;\r
\r
//\r
// Loop through the FFS file sections\r
//\r
- EndOfSection = (EFI_PHYSICAL_ADDRESS)(UINTN) Sections;\r
+ EndOfSection = (EFI_PHYSICAL_ADDRESS)(UINTN)Sections;\r
EndOfSections = EndOfSection + SizeOfSections;\r
- for (;;) {\r
+ for ( ; ;) {\r
if (EndOfSection == EndOfSections) {\r
break;\r
}\r
+\r
CurrentAddress = EndOfSection;\r
\r
- Section = (EFI_COMMON_SECTION_HEADER*)(UINTN) CurrentAddress;\r
+ Section = (EFI_COMMON_SECTION_HEADER *)(UINTN)CurrentAddress;\r
\r
Size = SECTION_SIZE (Section);\r
if (Size < sizeof (*Section)) {\r
if (EndOfSection > EndOfSections) {\r
return EFI_VOLUME_CORRUPTED;\r
}\r
+\r
Size = GET_OCCUPIED_SIZE (Size, 4);\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
FfsFindSection (\r
- IN EFI_SECTION_TYPE SectionType,\r
- IN EFI_FFS_FILE_HEADER *FfsFileHeader,\r
- IN OUT EFI_COMMON_SECTION_HEADER **SectionHeader\r
+ IN EFI_SECTION_TYPE SectionType,\r
+ IN EFI_FFS_FILE_HEADER *FfsFileHeader,\r
+ IN OUT EFI_COMMON_SECTION_HEADER **SectionHeader\r
)\r
{\r
- UINT32 FileSize;\r
- EFI_COMMON_SECTION_HEADER *Section;\r
- EFI_STATUS Status;\r
+ UINT32 FileSize;\r
+ EFI_COMMON_SECTION_HEADER *Section;\r
+ EFI_STATUS Status;\r
\r
//\r
// Size is 24 bits wide so mask upper 8 bits.\r
// Does not include FfsFileHeader header size\r
// FileSize is adjusted to FileOccupiedSize as it is 8 byte aligned.\r
//\r
- Section = (EFI_COMMON_SECTION_HEADER *) (FfsFileHeader + 1);\r
- FileSize = FFS_FILE_SIZE(FfsFileHeader);\r
+ Section = (EFI_COMMON_SECTION_HEADER *)(FfsFileHeader + 1);\r
+ FileSize = FFS_FILE_SIZE (FfsFileHeader);\r
FileSize -= sizeof (EFI_FFS_FILE_HEADER);\r
\r
Status = FindFfsSectionInSections (\r
EFI_STATUS\r
EFIAPI\r
FfsFindSectionData (\r
- IN EFI_SECTION_TYPE SectionType,\r
- IN EFI_FFS_FILE_HEADER *FfsFileHeader,\r
- IN OUT VOID **SectionData,\r
- IN OUT UINTN *SectionDataSize\r
+ IN EFI_SECTION_TYPE SectionType,\r
+ IN EFI_FFS_FILE_HEADER *FfsFileHeader,\r
+ IN OUT VOID **SectionData,\r
+ IN OUT UINTN *SectionDataSize\r
)\r
{\r
- UINT32 FileSize;\r
- EFI_COMMON_SECTION_HEADER *Section;\r
- UINT32 SectionLength;\r
- UINT32 ParsedLength;\r
+ UINT32 FileSize;\r
+ EFI_COMMON_SECTION_HEADER *Section;\r
+ UINT32 SectionLength;\r
+ UINT32 ParsedLength;\r
\r
//\r
// Size is 24 bits wide so mask upper 8 bits.\r
// Does not include FfsFileHeader header size\r
// FileSize is adjusted to FileOccupiedSize as it is 8 byte aligned.\r
//\r
- Section = (EFI_COMMON_SECTION_HEADER *) (FfsFileHeader + 1);\r
- FileSize = FFS_FILE_SIZE(FfsFileHeader);\r
+ Section = (EFI_COMMON_SECTION_HEADER *)(FfsFileHeader + 1);\r
+ FileSize = FFS_FILE_SIZE (FfsFileHeader);\r
FileSize -= sizeof (EFI_FFS_FILE_HEADER);\r
\r
- *SectionData = NULL;\r
- ParsedLength = 0;\r
+ *SectionData = NULL;\r
+ ParsedLength = 0;\r
while (ParsedLength < FileSize) {\r
if (Section->Type == SectionType) {\r
- *SectionData = (VOID *) (Section + 1);\r
- *SectionDataSize = SECTION_SIZE(Section);\r
+ *SectionData = (VOID *)(Section + 1);\r
+ *SectionDataSize = SECTION_SIZE (Section);\r
return EFI_SUCCESS;\r
}\r
+\r
//\r
// Size is 24 bits wide so mask upper 8 bits.\r
// SectionLength is adjusted it is 4 byte aligned.\r
// Go to the next section\r
//\r
- SectionLength = SECTION_SIZE(Section);\r
+ SectionLength = SECTION_SIZE (Section);\r
SectionLength = GET_OCCUPIED_SIZE (SectionLength, 4);\r
\r
ParsedLength += SectionLength;\r
- Section = (EFI_COMMON_SECTION_HEADER *) ((UINT8 *) Section + SectionLength);\r
+ Section = (EFI_COMMON_SECTION_HEADER *)((UINT8 *)Section + SectionLength);\r
}\r
\r
return EFI_NOT_FOUND;\r