mirror of https://github.com/acidanthera/audk.git
Make GuidedSection library instance to follow the value of GuidedSectionExtraction protocol/PPI defined in PI spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4165 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d7f73f568f
commit
e6c560aad6
|
@ -796,6 +796,7 @@ Returns:
|
|||
|
||||
RETURN_SUCCESS - The size of destination buffer and the size of scratch buffer are successull retrieved.
|
||||
RETURN_INVALID_PARAMETER - The source data is corrupted
|
||||
The GUID in InputSection does not match this instance guid.
|
||||
|
||||
--*/
|
||||
{
|
||||
|
@ -804,6 +805,12 @@ Returns:
|
|||
if (InputSection == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (!CompareGuid (
|
||||
&gTianoCustomDecompressGuid,
|
||||
&(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
//
|
||||
// Get guid attribute of guid section.
|
||||
//
|
||||
|
@ -846,7 +853,8 @@ Arguments:
|
|||
Returns:
|
||||
|
||||
RETURN_SUCCESS - Decompression is successfull
|
||||
RETURN_INVALID_PARAMETER - The source data is corrupted
|
||||
RETURN_INVALID_PARAMETER - The source data is corrupted, or
|
||||
The GUID in InputSection does not match this instance guid.
|
||||
|
||||
--*/
|
||||
{
|
||||
|
@ -855,6 +863,13 @@ Returns:
|
|||
if (InputSection == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (!CompareGuid (
|
||||
&gTianoCustomDecompressGuid,
|
||||
&(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// Set Authentication to Zero.
|
||||
//
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
|
||||
[LibraryClasses]
|
||||
DebugLib
|
||||
BaseMemoryLib
|
||||
ExtractGuidedSectionLib
|
||||
|
||||
[Guids]
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include <Library/UefiDecompressLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/ExtractGuidedSectionLib.h>
|
||||
|
||||
//
|
||||
|
|
|
@ -27,6 +27,7 @@ Abstract:
|
|||
#include <Protocol/SecurityPolicy.h>
|
||||
#include <Library/ExtractGuidedSectionLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
|
||||
typedef struct {
|
||||
|
@ -57,10 +58,16 @@ Arguments:
|
|||
Returns:
|
||||
|
||||
EFI_SUCCESS - The size of destination buffer and the size of scratch buffer are successull retrieved.
|
||||
EFI_INVALID_PARAMETER - The source data is corrupted
|
||||
EFI_INVALID_PARAMETER - The source data is corrupted, or
|
||||
The GUID in InputSection does not match this instance guid.
|
||||
|
||||
--*/
|
||||
{
|
||||
if (!CompareGuid (
|
||||
&gEfiCrc32GuidedSectionExtractionProtocolGuid,
|
||||
&(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
//
|
||||
// Retrieve the size and attribute of the input section data.
|
||||
//
|
||||
|
@ -97,8 +104,9 @@ Arguments:
|
|||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Decompression is successfull
|
||||
EFI_INVALID_PARAMETER - The source data is corrupted
|
||||
RETURN_SUCCESS - Decompression is successfull
|
||||
RETURN_INVALID_PARAMETER - The source data is corrupted, or
|
||||
The GUID in InputSection does not match this instance guid.
|
||||
|
||||
--*/
|
||||
{
|
||||
|
@ -108,6 +116,12 @@ Returns:
|
|||
UINT32 OutputBufferSize;
|
||||
VOID *DummyInterface;
|
||||
|
||||
if (!CompareGuid (
|
||||
&gEfiCrc32GuidedSectionExtractionProtocolGuid,
|
||||
&(((EFI_GUID_DEFINED_SECTION *) InputSection)->SectionDefinitionGuid))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Crc32Checksum = 0;
|
||||
//
|
||||
// Points to the Crc32 section header
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
ExtractGuidedSectionLib
|
||||
UefiBootServicesTableLib
|
||||
DebugLib
|
||||
BaseMemoryLib
|
||||
|
||||
[Protocols]
|
||||
gEfiCrc32GuidedSectionExtractionProtocolGuid
|
||||
|
|
|
@ -141,7 +141,7 @@ ExtractGuidedSectionRegisterHandlers (
|
|||
Get information from the guided section. This function first gets the guid value
|
||||
from guided section header, then match this guid in the registered extract Handler list
|
||||
to its corresponding getinfo Handler.
|
||||
If not found, RETURN_UNSUPPORTED will be return.
|
||||
If not found, RETURN_INVALID_PARAMETER will be return.
|
||||
If found, it will call the getinfo Handler to get the required size and attribute.
|
||||
|
||||
It will ASSERT () if the pointer to OutputBufferSize is NULL.
|
||||
|
@ -154,8 +154,8 @@ ExtractGuidedSectionRegisterHandlers (
|
|||
@param[out] SectionAttribute The attribute of the input guided section.
|
||||
|
||||
@retval RETURN_SUCCESS Get the required information successfully.
|
||||
@retval RETURN_UNSUPPORTED Guided section data is not supported.
|
||||
@retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
|
||||
The GUID in InputSection does not match any registered guid list.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -190,7 +190,7 @@ ExtractGuidedSectionGetInfo (
|
|||
// Not found, the input guided section is not supported.
|
||||
//
|
||||
if (Index == mNumberOfExtractHandler) {
|
||||
return RETURN_UNSUPPORTED;
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -208,7 +208,7 @@ ExtractGuidedSectionGetInfo (
|
|||
Extract data from the guided section. This function first gets the guid value
|
||||
from guided section header, then match this guid in the registered extract Handler list
|
||||
to its corresponding extract Handler.
|
||||
If not found, RETURN_UNSUPPORTED will be return.
|
||||
If not found, RETURN_INVALID_PARAMETER will be return.
|
||||
If found, it will call this extract Handler to get output data and AuthenticationStatus.
|
||||
|
||||
It will ASSERT () if the pointer to OutputBuffer is NULL.
|
||||
|
@ -225,8 +225,8 @@ ExtractGuidedSectionGetInfo (
|
|||
authentication status of the output buffer.
|
||||
|
||||
@retval RETURN_SUCCESS Get the output data, size and AuthenticationStatus successfully.
|
||||
@retval RETURN_UNSUPPORTED Guided section data is not supported to be decoded.
|
||||
@retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
|
||||
The GUID in InputSection does not match any registered guid.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -260,7 +260,7 @@ ExtractGuidedSectionDecode (
|
|||
// Not found, the input guided section is not supported.
|
||||
//
|
||||
if (Index == mNumberOfExtractHandler) {
|
||||
return RETURN_UNSUPPORTED;
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -188,7 +188,7 @@ ExtractGuidedSectionRegisterHandlers (
|
|||
Get information from the guided section. This function first gets the guid value
|
||||
from guided section header, then match this guid in the registered extract Handler list
|
||||
to its corresponding getinfo Handler.
|
||||
If not found, RETURN_UNSUPPORTED will be return.
|
||||
If not found, RETURN_INVALID_PARAMETER will be return.
|
||||
If found, it will call the getinfo Handler to get the required size and attribute.
|
||||
|
||||
It will ASSERT () if the pointer to OutputBufferSize is NULL.
|
||||
|
@ -201,8 +201,8 @@ ExtractGuidedSectionRegisterHandlers (
|
|||
@param[out] SectionAttribute The attribute of the input guided section.
|
||||
|
||||
@retval RETURN_SUCCESS Get the required information successfully.
|
||||
@retval RETURN_UNSUPPORTED Guided section data is not supported.
|
||||
@retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
|
||||
The GUID in InputSection does not match any registered guid list.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -250,7 +250,7 @@ ExtractGuidedSectionGetInfo (
|
|||
// Not found, the input guided section is not supported.
|
||||
//
|
||||
if (Index == HandlerInfo->NumberOfExtractHandler) {
|
||||
return RETURN_UNSUPPORTED;
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -268,7 +268,7 @@ ExtractGuidedSectionGetInfo (
|
|||
Extract data from the guided section. This function first gets the guid value
|
||||
from guided section header, then match this guid in the registered extract Handler list
|
||||
to its corresponding extract Handler.
|
||||
If not found, RETURN_UNSUPPORTED will be return.
|
||||
If not found, RETURN_INVALID_PARAMETER will be return.
|
||||
If found, it will call this extract Handler to get output data and AuthenticationStatus.
|
||||
|
||||
It will ASSERT () if the pointer to OutputBuffer is NULL.
|
||||
|
@ -285,8 +285,8 @@ ExtractGuidedSectionGetInfo (
|
|||
authentication status of the output buffer.
|
||||
|
||||
@retval RETURN_SUCCESS Get the output data, size and AuthenticationStatus successfully.
|
||||
@retval RETURN_UNSUPPORTED Guided section data is not supported to be decoded.
|
||||
@retval RETURN_INVALID_PARAMETER The input data can't be parsed correctly.
|
||||
The GUID in InputSection does not match any registered guid list.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -327,7 +327,7 @@ ExtractGuidedSectionDecode (
|
|||
// Not found, the input guided section is not supported.
|
||||
//
|
||||
if (Index == HandlerInfo->NumberOfExtractHandler) {
|
||||
return RETURN_UNSUPPORTED;
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue