diff options
author | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-08-08 10:17:57 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-08-08 10:17:57 +0000 |
commit | d8c79a815f9e993b741ec38cd39498e674e1739e (patch) | |
tree | 271166e1be541db9e47baa8ea9b12488afb57999 /MdePkg | |
parent | c76af11785efe49e91b2cd3eef61cebf61e00549 (diff) | |
download | edk2-platforms-d8c79a815f9e993b741ec38cd39498e674e1739e.tar.xz |
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
Diffstat (limited to 'MdePkg')
-rw-r--r-- | MdePkg/Include/Library/CustomDecompressLib.h | 48 | ||||
-rw-r--r-- | MdePkg/Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.c | 21 |
2 files changed, 66 insertions, 3 deletions
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
diff --git a/MdePkg/Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.c b/MdePkg/Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.c index 669f937487..4635e87e4d 100644 --- a/MdePkg/Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.c +++ b/MdePkg/Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.c @@ -31,6 +31,7 @@ RETURN_STATUS
EFIAPI
CustomDecompressGetInfo (
+ IN CONST GUID *DecompressGuid,
IN CONST VOID *Source,
IN UINT32 SourceSize,
OUT UINT32 *DestinationSize,
@@ -56,6 +57,7 @@ CustomDecompressGetInfo ( RETURN_STATUS
EFIAPI
CustomDecompress (
+ IN const GUID *DecompressGuid,
IN CONST VOID *Source,
IN OUT VOID *Destination,
IN OUT VOID *Scratch
@@ -63,3 +65,22 @@ CustomDecompress ( {
return RETURN_UNSUPPORTED;
}
+
+/** + 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
+ )
+{
+ *NumberOfAlgorithms = 0;
+ return RETURN_SUCCESS;
+}
|