#include <Library/HobLib.h>\r
#include <Library/ExtractGuidedSectionLib.h>\r
\r
-#define PEI_EXTRACT_HANDLER_INFO_SIGNATURE SIGNATURE_32 ('P', 'E', 'H', 'I')\r
+#define PEI_EXTRACT_HANDLER_INFO_SIGNATURE SIGNATURE_32 ('P', 'E', 'H', 'I')\r
\r
typedef struct {\r
- UINT32 Signature;\r
- UINT32 NumberOfExtractHandler;\r
- GUID *ExtractHandlerGuidTable;\r
- EXTRACT_GUIDED_SECTION_DECODE_HANDLER *ExtractDecodeHandlerTable;\r
- EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *ExtractGetInfoHandlerTable;\r
+ UINT32 Signature;\r
+ UINT32 NumberOfExtractHandler;\r
+ GUID *ExtractHandlerGuidTable;\r
+ EXTRACT_GUIDED_SECTION_DECODE_HANDLER *ExtractDecodeHandlerTable;\r
+ EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *ExtractGetInfoHandlerTable;\r
} PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO;\r
\r
/**\r
**/\r
RETURN_STATUS\r
PeiGetExtractGuidedSectionHandlerInfo (\r
- IN OUT PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO **InfoPointer\r
+ IN OUT PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO **InfoPointer\r
)\r
{\r
- PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
- EFI_PEI_HOB_POINTERS Hob;\r
+ PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
+ EFI_PEI_HOB_POINTERS Hob;\r
\r
//\r
// First try to get handler information from guid hob specified by CallerId.\r
Hob.Raw = GetNextHob (EFI_HOB_TYPE_GUID_EXTENSION, GetHobList ());\r
while (Hob.Raw != NULL) {\r
if (CompareGuid (&(Hob.Guid->Name), &gEfiCallerIdGuid)) {\r
- HandlerInfo = (PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *) GET_GUID_HOB_DATA (Hob.Guid);\r
+ HandlerInfo = (PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *)GET_GUID_HOB_DATA (Hob.Guid);\r
if (HandlerInfo->Signature == PEI_EXTRACT_HANDLER_INFO_SIGNATURE) {\r
//\r
// Update Table Pointer when hob start address is changed.\r
//\r
- if (HandlerInfo->ExtractHandlerGuidTable != (GUID *) (HandlerInfo + 1)) {\r
- HandlerInfo->ExtractHandlerGuidTable = (GUID *) (HandlerInfo + 1);\r
- HandlerInfo->ExtractDecodeHandlerTable = (EXTRACT_GUIDED_SECTION_DECODE_HANDLER *) (\r
- (UINT8 *)HandlerInfo->ExtractHandlerGuidTable +\r
- PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (GUID)\r
- );\r
- HandlerInfo->ExtractGetInfoHandlerTable = (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *) (\r
- (UINT8 *)HandlerInfo->ExtractDecodeHandlerTable +\r
- PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
- sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER)\r
- );\r
+ if (HandlerInfo->ExtractHandlerGuidTable != (GUID *)(HandlerInfo + 1)) {\r
+ HandlerInfo->ExtractHandlerGuidTable = (GUID *)(HandlerInfo + 1);\r
+ HandlerInfo->ExtractDecodeHandlerTable = (EXTRACT_GUIDED_SECTION_DECODE_HANDLER *)(\r
+ (UINT8 *)HandlerInfo->ExtractHandlerGuidTable +\r
+ PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (GUID)\r
+ );\r
+ HandlerInfo->ExtractGetInfoHandlerTable = (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *)(\r
+ (UINT8 *)HandlerInfo->ExtractDecodeHandlerTable +\r
+ PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
+ sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER)\r
+ );\r
}\r
+\r
//\r
// Return HandlerInfo pointer.\r
//\r
return EFI_SUCCESS;\r
}\r
}\r
+\r
Hob.Raw = GET_NEXT_HOB (Hob);\r
Hob.Raw = GetNextHob (EFI_HOB_TYPE_GUID_EXTENSION, Hob.Raw);\r
}\r
// If Guid Hob is not found, Build CallerId Guid hob to store Handler Info\r
//\r
HandlerInfo = BuildGuidHob (\r
- &gEfiCallerIdGuid,\r
- sizeof (PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO) +\r
- PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
- (sizeof (GUID) + sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER) + sizeof (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER))\r
- );\r
+ &gEfiCallerIdGuid,\r
+ sizeof (PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO) +\r
+ PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
+ (sizeof (GUID) + sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER) + sizeof (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER))\r
+ );\r
if (HandlerInfo == NULL) {\r
//\r
// No enough resource to build guid hob.\r
*InfoPointer = NULL;\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
//\r
// Init HandlerInfo structure\r
//\r
- HandlerInfo->Signature = PEI_EXTRACT_HANDLER_INFO_SIGNATURE;\r
- HandlerInfo->NumberOfExtractHandler = 0;\r
- HandlerInfo->ExtractHandlerGuidTable = (GUID *) (HandlerInfo + 1);\r
- HandlerInfo->ExtractDecodeHandlerTable = (EXTRACT_GUIDED_SECTION_DECODE_HANDLER *) (\r
- (UINT8 *)HandlerInfo->ExtractHandlerGuidTable +\r
- PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (GUID)\r
- );\r
- HandlerInfo->ExtractGetInfoHandlerTable = (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *) (\r
- (UINT8 *)HandlerInfo->ExtractDecodeHandlerTable +\r
- PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
- sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER)\r
- );\r
+ HandlerInfo->Signature = PEI_EXTRACT_HANDLER_INFO_SIGNATURE;\r
+ HandlerInfo->NumberOfExtractHandler = 0;\r
+ HandlerInfo->ExtractHandlerGuidTable = (GUID *)(HandlerInfo + 1);\r
+ HandlerInfo->ExtractDecodeHandlerTable = (EXTRACT_GUIDED_SECTION_DECODE_HANDLER *)(\r
+ (UINT8 *)HandlerInfo->ExtractHandlerGuidTable +\r
+ PcdGet32 (PcdMaximumGuidedExtractHandler) * sizeof (GUID)\r
+ );\r
+ HandlerInfo->ExtractGetInfoHandlerTable = (EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER *)(\r
+ (UINT8 *)HandlerInfo->ExtractDecodeHandlerTable +\r
+ PcdGet32 (PcdMaximumGuidedExtractHandler) *\r
+ sizeof (EXTRACT_GUIDED_SECTION_DECODE_HANDLER)\r
+ );\r
//\r
// return the created HandlerInfo.\r
//\r
OUT GUID **ExtractHandlerGuidTable\r
)\r
{\r
- EFI_STATUS Status;\r
- PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
+ EFI_STATUS Status;\r
+ PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
\r
ASSERT (ExtractHandlerGuidTable != NULL);\r
\r
IN EXTRACT_GUIDED_SECTION_DECODE_HANDLER DecodeHandler\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 Index;\r
- PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
+ EFI_STATUS Status;\r
+ UINT32 Index;\r
+ PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
\r
//\r
// Check input parameter\r
ASSERT (GetInfoHandler != NULL);\r
ASSERT (DecodeHandler != NULL);\r
\r
-\r
-\r
//\r
// Get the registered handler information\r
//\r
// Search the match registered GetInfo handler for the input guided section.\r
//\r
ASSERT (HandlerInfo != NULL);\r
- for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index ++) {\r
+ for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index++) {\r
if (CompareGuid (HandlerInfo->ExtractHandlerGuidTable + Index, SectionGuid)) {\r
//\r
// If the guided handler has been registered before, only update its handler.\r
//\r
- HandlerInfo->ExtractDecodeHandlerTable [Index] = DecodeHandler;\r
- HandlerInfo->ExtractGetInfoHandlerTable [Index] = GetInfoHandler;\r
+ HandlerInfo->ExtractDecodeHandlerTable[Index] = DecodeHandler;\r
+ HandlerInfo->ExtractGetInfoHandlerTable[Index] = GetInfoHandler;\r
return RETURN_SUCCESS;\r
}\r
}\r
// Register new Handler and guid value.\r
//\r
CopyGuid (HandlerInfo->ExtractHandlerGuidTable + HandlerInfo->NumberOfExtractHandler, SectionGuid);\r
- HandlerInfo->ExtractDecodeHandlerTable [HandlerInfo->NumberOfExtractHandler] = DecodeHandler;\r
- HandlerInfo->ExtractGetInfoHandlerTable [HandlerInfo->NumberOfExtractHandler++] = GetInfoHandler;\r
+ HandlerInfo->ExtractDecodeHandlerTable[HandlerInfo->NumberOfExtractHandler] = DecodeHandler;\r
+ HandlerInfo->ExtractGetInfoHandlerTable[HandlerInfo->NumberOfExtractHandler++] = GetInfoHandler;\r
\r
//\r
// Build the Guided Section GUID HOB to record the GUID itself.\r
// Then the content of the GUIDed HOB will be the same as the GUID value itself.\r
//\r
BuildGuidDataHob (\r
- (EFI_GUID *) SectionGuid,\r
- (VOID *) SectionGuid,\r
+ (EFI_GUID *)SectionGuid,\r
+ (VOID *)SectionGuid,\r
sizeof (GUID)\r
);\r
\r
OUT UINT16 *SectionAttribute\r
)\r
{\r
- UINT32 Index;\r
- EFI_STATUS Status;\r
- PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
- EFI_GUID *SectionDefinitionGuid;\r
+ UINT32 Index;\r
+ EFI_STATUS Status;\r
+ PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
+ EFI_GUID *SectionDefinitionGuid;\r
\r
//\r
// Check input parameter\r
}\r
\r
if (IS_SECTION2 (InputSection)) {\r
- SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION2 *) InputSection)->SectionDefinitionGuid);\r
+ SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION2 *)InputSection)->SectionDefinitionGuid);\r
} else {\r
- SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid);\r
+ SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION *)InputSection)->SectionDefinitionGuid);\r
}\r
\r
//\r
// Search the match registered GetInfo handler for the input guided section.\r
//\r
ASSERT (HandlerInfo != NULL);\r
- for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index ++) {\r
+ for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index++) {\r
if (CompareGuid (HandlerInfo->ExtractHandlerGuidTable + Index, SectionDefinitionGuid)) {\r
//\r
// Call the match handler to get information for the input section data.\r
//\r
- return HandlerInfo->ExtractGetInfoHandlerTable [Index] (\r
- InputSection,\r
- OutputBufferSize,\r
- ScratchBufferSize,\r
- SectionAttribute\r
- );\r
+ return HandlerInfo->ExtractGetInfoHandlerTable[Index](\r
+ InputSection,\r
+ OutputBufferSize,\r
+ ScratchBufferSize,\r
+ SectionAttribute\r
+ );\r
}\r
}\r
\r
OUT UINT32 *AuthenticationStatus\r
)\r
{\r
- UINT32 Index;\r
- EFI_STATUS Status;\r
- PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
- EFI_GUID *SectionDefinitionGuid;\r
+ UINT32 Index;\r
+ EFI_STATUS Status;\r
+ PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO *HandlerInfo;\r
+ EFI_GUID *SectionDefinitionGuid;\r
\r
//\r
// Check input parameter\r
}\r
\r
if (IS_SECTION2 (InputSection)) {\r
- SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION2 *) InputSection)->SectionDefinitionGuid);\r
+ SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION2 *)InputSection)->SectionDefinitionGuid);\r
} else {\r
- SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid);\r
+ SectionDefinitionGuid = &(((EFI_GUID_DEFINED_SECTION *)InputSection)->SectionDefinitionGuid);\r
}\r
\r
//\r
// Search the match registered Extract handler for the input guided section.\r
//\r
ASSERT (HandlerInfo != NULL);\r
- for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index ++) {\r
+ for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index++) {\r
if (CompareGuid (HandlerInfo->ExtractHandlerGuidTable + Index, SectionDefinitionGuid)) {\r
//\r
// Call the match handler to extract raw data for the input guided section.\r
//\r
- return HandlerInfo->ExtractDecodeHandlerTable [Index] (\r
- InputSection,\r
- OutputBuffer,\r
- ScratchBuffer,\r
- AuthenticationStatus\r
- );\r
+ return HandlerInfo->ExtractDecodeHandlerTable[Index](\r
+ InputSection,\r
+ OutputBuffer,\r
+ ScratchBuffer,\r
+ AuthenticationStatus\r
+ );\r
}\r
}\r
\r
// Search the match registered GetInfo handler for the input guided section.\r
//\r
ASSERT (HandlerInfo != NULL);\r
- for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index ++) {\r
+ for (Index = 0; Index < HandlerInfo->NumberOfExtractHandler; Index++) {\r
if (CompareGuid (HandlerInfo->ExtractHandlerGuidTable + Index, SectionGuid)) {\r
-\r
//\r
// If the guided handler has been registered before, then return the registered handlers.\r
//\r
if (GetInfoHandler != NULL) {\r
*GetInfoHandler = HandlerInfo->ExtractGetInfoHandlerTable[Index];\r
}\r
+\r
if (DecodeHandler != NULL) {\r
*DecodeHandler = HandlerInfo->ExtractDecodeHandlerTable[Index];\r
}\r
+\r
return RETURN_SUCCESS;\r
}\r
}\r
+\r
return RETURN_NOT_FOUND;\r
}\r