+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-Module Name:\r
-\r
- DxeCoreUefiDecompressLibFromHob.c\r
-\r
-Abstract:\r
-\r
- UEFI Decompress Library from HOBs\r
-\r
---*/\r
-\r
-static DECOMPRESS_LIBRARY mEfiDecompress;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-DxeCoreUefiDecompressLibConstructor (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- EFI_HOB_GUID_TYPE *GuidHob;\r
-\r
- GuidHob = GetFirstGuidHob (&gEfiDecompressProtocolGuid);\r
- ASSERT (GuidHob != NULL);\r
- CopyMem (&mEfiDecompress, GET_GUID_HOB_DATA (GuidHob), sizeof (mEfiDecompress));\r
- return EFI_SUCCESS;\r
-}\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-UefiDecompressGetInfo (\r
- IN CONST VOID *Source,\r
- IN UINT32 SourceSize,\r
- OUT UINT32 *DestinationSize,\r
- OUT UINT32 *ScratchSize\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- The internal implementation of *_DECOMPRESS_PROTOCOL.GetInfo().\r
-\r
-Arguments:\r
-\r
- Source - The source buffer containing the compressed data.\r
- SourceSize - The size of source buffer\r
- DestinationSize - The size of destination buffer.\r
- ScratchSize - The size of scratch buffer.\r
-\r
-Returns:\r
-\r
- RETURN_SUCCESS - The size of destination buffer and the size of scratch buffer are successull retrieved.\r
- RETURN_INVALID_PARAMETER - The source data is corrupted\r
-\r
---*/\r
-{\r
- return mEfiDecompress.GetInfo (Source, SourceSize, DestinationSize, ScratchSize);\r
-}\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-UefiDecompress (\r
- IN CONST VOID *Source,\r
- IN OUT VOID *Destination,\r
- IN OUT VOID *Scratch\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- The internal implementation of *_DECOMPRESS_PROTOCOL.Decompress().\r
-\r
-Arguments:\r
-\r
- Source - The source buffer containing the compressed data.\r
- Destination - The destination buffer to store the decompressed data\r
- Scratch - The buffer used internally by the decompress routine. This buffer is needed to store intermediate data.\r
-\r
-Returns:\r
-\r
- RETURN_SUCCESS - Decompression is successfull\r
- RETURN_INVALID_PARAMETER - The source data is corrupted\r
-\r
---*/\r
-{\r
- return mEfiDecompress.Decompress (Source, Destination, Scratch);\r
-}\r