]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/CustomDecompressLib.h
Update CustomDecompress library to support algorithm guid and Update DxeIpl and DxeCo...
[mirror_edk2.git] / MdePkg / Include / Library / CustomDecompressLib.h
index d92805076077f4e099046462045cac02583e3886..36086d4f0f005ec58953853586eab33a1304e81f 100644 (file)
 #ifndef __CUSTOM_DECPOMPRESS_LIB_H__\r
 #define __CUSTOM_DECPOMPRESS_LIB_H__\r
 \r
+/**
+  Decompress GetInfo fucntion.\r
+\r
+  @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.\r
+  @retval  RETURN_INVALID_PARAMETER The source data is corrupted
+
+**/\r
 RETURN_STATUS\r
 EFIAPI\r
 CustomDecompressGetInfo (\r
+  IN  CONST GUID  *DecompressGuid,\r
   IN  CONST VOID  *Source,\r
   IN  UINT32      SourceSize,\r
   OUT UINT32      *DestinationSize,\r
   OUT UINT32      *ScratchSize\r
   );\r
 \r
+/**
+  Decompress fucntion.\r
+\r
+  @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.\r
+
+  @retval  RETURN_SUCCESS            Decompression is successfull\r
+  @retval  RETURN_INVALID_PARAMETER The source data is corrupted
+
+**/\r
 RETURN_STATUS\r
 EFIAPI\r
 CustomDecompress (\r
-  IN CONST VOID  *Source,\r
-  IN OUT VOID    *Destination,\r
-  IN OUT VOID    *Scratch\r
+  IN  CONST GUID  *DecompressGuid,\r
+  IN  CONST VOID  *Source,\r
+  IN  OUT VOID    *Destination,\r
+  IN  OUT VOID    *Scratch\r
+  );\r
+\r
+/**
+  Get decompress method guid list.\r
+\r
+  @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..
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+CustomDecompressGetAlgorithms (\r
+   IN OUT  GUID   **AlgorithmGuidTable,\r
+   IN OUT  UINTN  *NumberOfAlgorithms\r
   );\r
 \r
 #endif\r