From d8c79a815f9e993b741ec38cd39498e674e1739e Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 8 Aug 2007 10:17:57 +0000 Subject: Update CustomDecompress library to support algorithm guid and Update DxeIpl and DxeCore to support custom decompress guid section parse. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3573 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/CustomDecompressLib.h | 48 ++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) (limited to 'MdePkg/Include') diff --git a/MdePkg/Include/Library/CustomDecompressLib.h b/MdePkg/Include/Library/CustomDecompressLib.h index d928050760..36086d4f0f 100644 --- a/MdePkg/Include/Library/CustomDecompressLib.h +++ b/MdePkg/Include/Library/CustomDecompressLib.h @@ -16,21 +16,63 @@ #ifndef __CUSTOM_DECPOMPRESS_LIB_H__ #define __CUSTOM_DECPOMPRESS_LIB_H__ +/** + Decompress GetInfo fucntion. + + @param[in] DecompressGuid The guid matches this decompress method. + @param[in] Source The source buffer containing the compressed data. + @param[in] SourceSize The size of source buffer + @param[out] DestinationSize The size of destination buffer. + @param[out] ScratchSize The size of scratch buffer. + + @retval RETURN_SUCCESS The size of destination buffer and the size of scratch buffer are successull retrieved. + @retval RETURN_INVALID_PARAMETER The source data is corrupted + +**/ RETURN_STATUS EFIAPI CustomDecompressGetInfo ( + IN CONST GUID *DecompressGuid, IN CONST VOID *Source, IN UINT32 SourceSize, OUT UINT32 *DestinationSize, OUT UINT32 *ScratchSize ); +/** + Decompress fucntion. + + @param[in] DecompressGuid The guid matches this decompress method. + @param[in] Source The source buffer containing the compressed data. + @param[in] Destination The destination buffer to store the decompressed data + @param[out] Scratch The buffer used internally by the decompress routine. This buffer is needed to store intermediate data. + + @retval RETURN_SUCCESS Decompression is successfull + @retval RETURN_INVALID_PARAMETER The source data is corrupted + +**/ RETURN_STATUS EFIAPI CustomDecompress ( - IN CONST VOID *Source, - IN OUT VOID *Destination, - IN OUT VOID *Scratch + IN CONST GUID *DecompressGuid, + IN CONST VOID *Source, + IN OUT VOID *Destination, + IN OUT VOID *Scratch + ); + +/** + Get decompress method guid list. + + @param[in, out] AlgorithmGuidTable The decompress method guid list. + @param[in, out] NumberOfAlgorithms The number of decompress methods. + + @retval RETURN_SUCCESS Get all algorithmes list successfully.. +**/ +RETURN_STATUS +EFIAPI +CustomDecompressGetAlgorithms ( + IN OUT GUID **AlgorithmGuidTable, + IN OUT UINTN *NumberOfAlgorithms ); #endif -- cgit v1.2.3