]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/UefiDecompressLib.h
Add 2 functions to UefiLib library class: CatSPrint and CatVSPrint.
[mirror_edk2.git] / MdePkg / Include / Library / UefiDecompressLib.h
index d08a6eb3a0138798378866ec5c1d032771e3466e..de4e88864400e9841f6c2aa01e9a580ded83883d 100644 (file)
@@ -1,16 +1,19 @@
 /** @file\r
 /** @file\r
-  Return UEFI Decompress Protocol \r
+  Provides services to decompress a buffer using the UEFI Decompress algorithm.\r
 \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
+  The UEFI Decompress Library enables the decompression of objects that \r
+  were compressed using the UEFI compression scheme. The UEFI Decompress \r
+  Library is independent of environment and requires the caller to allocate \r
+  all required memory buffers.\r
 \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
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+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
 \r
-  Module Name:  UefiDecompressLib.h\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
 **/\r
 \r
 \r
 **/\r
 \r
@@ -18,7 +21,9 @@
 #define __UEFI_DECPOMPRESS_LIB_H__\r
 \r
 /**\r
 #define __UEFI_DECPOMPRESS_LIB_H__\r
 \r
 /**\r
-  Retrieves the size of the uncompressed buffer and the size of the scratch buffer.\r
+  Given a compressed source buffer, this function retrieves the size of \r
+  the uncompressed buffer and the size of the scratch buffer required \r
+  to decompress the compressed source buffer.\r
 \r
   Retrieves the size of the uncompressed buffer and the temporary scratch buffer \r
   required to decompress the buffer specified by Source and SourceSize.\r
 \r
   Retrieves the size of the uncompressed buffer and the temporary scratch buffer \r
   required to decompress the buffer specified by Source and SourceSize.\r
   @param  SourceSize      The size, in bytes, of the source buffer.\r
   @param  DestinationSize A pointer to the size, in bytes, of the uncompressed buffer\r
                           that will be generated when the compressed buffer specified\r
   @param  SourceSize      The size, in bytes, of the source buffer.\r
   @param  DestinationSize A pointer to the size, in bytes, of the uncompressed buffer\r
                           that will be generated when the compressed buffer specified\r
-                          by Source and SourceSize is decompressed..\r
+                          by Source and SourceSize is decompressed.\r
   @param  ScratchSize     A pointer to the size, in bytes, of the scratch buffer that\r
                           is required to decompress the compressed buffer specified \r
                           by Source and SourceSize.\r
 \r
   @param  ScratchSize     A pointer to the size, in bytes, of the scratch buffer that\r
                           is required to decompress the compressed buffer specified \r
                           by Source and SourceSize.\r
 \r
-  @retval  RETURN_SUCCESS The size of destination buffer and the size of scratch \r
-                          buffer are successull retrieved.\r
-  @retval  RETURN_INVALID_PARAMETER The source data is corrupted\r
-\r
+  @retval  RETURN_SUCCESS The size of the uncompressed data was returned \r
+                          in DestinationSize and the size of the scratch \r
+                          buffer was returned in ScratchSize.\r
+  @retval  RETURN_INVALID_PARAMETER \r
+                          The size of the uncompressed data or the size of \r
+                          the scratch buffer cannot be determined from \r
+                          the compressed data specified by Source \r
+                          and SourceSize.\r
 **/\r
 RETURN_STATUS\r
 EFIAPI\r
 **/\r
 RETURN_STATUS\r
 EFIAPI\r
@@ -62,11 +71,12 @@ UefiDecompressGetInfo (
 /**\r
   Decompresses a compressed source buffer.\r
 \r
 /**\r
   Decompresses a compressed source buffer.\r
 \r
+  Extracts decompressed data to its original form.\r
   This function is designed so that the decompression algorithm can be implemented\r
   without using any memory services.  As a result, this function is not allowed to\r
   This function is designed so that the decompression algorithm can be implemented\r
   without using any memory services.  As a result, this function is not allowed to\r
-  call any memory allocation services in its implementation.  It is the caller's r\r
-  esponsibility to allocate and free the Destination and Scratch buffers.\r
-  If the compressed source data specified by Source is sucessfully decompressed \r
+  call any memory allocation services in its implementation.  It is the caller's \r
+  responsibility to allocate and free the Destination and Scratch buffers.\r
+  If the compressed source data specified by Source is successfully decompressed \r
   into Destination, then RETURN_SUCCESS is returned.  If the compressed source data \r
   specified by Source is not in a valid compressed data format,\r
   then RETURN_INVALID_PARAMETER is returned.\r
   into Destination, then RETURN_SUCCESS is returned.  If the compressed source data \r
   specified by Source is not in a valid compressed data format,\r
   then RETURN_INVALID_PARAMETER is returned.\r
@@ -81,16 +91,18 @@ UefiDecompressGetInfo (
                       This is an optional parameter that may be NULL if the \r
                       required scratch buffer size is 0.\r
                      \r
                       This is an optional parameter that may be NULL if the \r
                       required scratch buffer size is 0.\r
                      \r
-  @retval  RETURN_SUCCESS Decompression is successfull\r
-  @retval  RETURN_INVALID_PARAMETER The source data is corrupted\r
-\r
+  @retval  RETURN_SUCCESS Decompression completed successfully, and \r
+                          the uncompressed buffer is returned in Destination.\r
+  @retval  RETURN_INVALID_PARAMETER \r
+                          The source buffer specified by Source is corrupted \r
+                          (not in a valid compressed format).\r
 **/\r
 RETURN_STATUS\r
 EFIAPI\r
 UefiDecompress (\r
   IN CONST VOID  *Source,\r
   IN OUT VOID    *Destination,\r
 **/\r
 RETURN_STATUS\r
 EFIAPI\r
 UefiDecompress (\r
   IN CONST VOID  *Source,\r
   IN OUT VOID    *Destination,\r
-  IN OUT VOID    *Scratch\r
+  IN OUT VOID    *Scratch  OPTIONAL\r
   );\r
 \r
 #endif\r
   );\r
 \r
 #endif\r