• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2 Header file for compression routine.
3 Providing both EFI and Tiano Compress algorithms.
4 
5 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution.  The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10 
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef _COMPRESS_H_
17 #define _COMPRESS_H_
18 
19 #include <string.h>
20 #include <stdlib.h>
21 
22 #include "CommonLib.h"
23 #include <Common/UefiBaseTypes.h>
24 /*++
25 
26 Routine Description:
27 
28   Tiano compression routine.
29 
30 --*/
31 EFI_STATUS
32 TianoCompress (
33   IN      UINT8   *SrcBuffer,
34   IN      UINT32  SrcSize,
35   IN      UINT8   *DstBuffer,
36   IN OUT  UINT32  *DstSize
37   )
38 ;
39 
40 /*++
41 
42 Routine Description:
43 
44   Efi compression routine.
45 
46 --*/
47 EFI_STATUS
48 EfiCompress (
49   IN      UINT8   *SrcBuffer,
50   IN      UINT32  SrcSize,
51   IN      UINT8   *DstBuffer,
52   IN OUT  UINT32  *DstSize
53   )
54 ;
55 
56 /*++
57 
58 Routine Description:
59 
60   The compression routine.
61 
62 Arguments:
63 
64   SrcBuffer   - The buffer storing the source data
65   SrcSize     - The size of source data
66   DstBuffer   - The buffer to store the compressed data
67   DstSize     - On input, the size of DstBuffer; On output,
68                 the size of the actual compressed data.
69 
70 Returns:
71 
72   EFI_BUFFER_TOO_SMALL  - The DstBuffer is too small. In this case,
73                 DstSize contains the size needed.
74   EFI_SUCCESS           - Compression is successful.
75   EFI_OUT_OF_RESOURCES  - No resource to complete function.
76   EFI_INVALID_PARAMETER - Parameter supplied is wrong.
77 
78 --*/
79 typedef
80 EFI_STATUS
81 (*COMPRESS_FUNCTION) (
82   IN      UINT8   *SrcBuffer,
83   IN      UINT32  SrcSize,
84   IN      UINT8   *DstBuffer,
85   IN OUT  UINT32  *DstSize
86   );
87 
88 #endif
89