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:
lgao4 2007-10-18 09:12:59 +00:00
parent d7f73f568f
commit e6c560aad6
7 changed files with 53 additions and 21 deletions

View File

@ -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.
//

View File

@ -42,6 +42,7 @@
[LibraryClasses]
DebugLib
BaseMemoryLib
ExtractGuidedSectionLib
[Guids]

View File

@ -21,6 +21,7 @@
#include <Library/UefiDecompressLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/ExtractGuidedSectionLib.h>
//

View File

@ -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

View File

@ -41,6 +41,7 @@
ExtractGuidedSectionLib
UefiBootServicesTableLib
DebugLib
BaseMemoryLib
[Protocols]
gEfiCrc32GuidedSectionExtractionProtocolGuid

View File

@ -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;
}
//

View File

@ -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;
}
//