]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/Common/EfiCompress.h
a129f2cc33dcb6fa83af897f0a2c354344538498
[mirror_edk2.git] / Tools / Source / TianoTools / Common / EfiCompress.h
1 /*++
2
3 Copyright (c) 2004, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 EfiCompress.h
15
16 Abstract:
17
18 Header file for compression routine
19
20 --*/
21
22 #include <string.h>
23 #include <stdlib.h>
24 #include <Base.h>
25 #include <UefiBaseTypes.h>
26
27 #ifndef _EFICOMPRESS_H
28 #define _EFICOMPRESS_H
29 EFI_STATUS
30 Compress (
31 IN UINT8 *SrcBuffer,
32 IN UINT32 SrcSize,
33 IN UINT8 *DstBuffer,
34 IN OUT UINT32 *DstSize
35 )
36 ;
37
38 /*++
39
40 Routine Description:
41
42 The compression routine.
43
44 Arguments:
45
46 SrcBuffer - The buffer storing the source data
47 SrcSize - The size of source data
48 DstBuffer - The buffer to store the compressed data
49 DstSize - On input, the size of DstBuffer; On output,
50 the size of the actual compressed data.
51
52 Returns:
53
54 EFI_BUFFER_TOO_SMALL - The DstBuffer is too small. In this case,
55 DstSize contains the size needed.
56 EFI_SUCCESS - Compression is successful.
57
58 --*/
59 typedef
60 EFI_STATUS
61 (*COMPRESS_FUNCTION) (
62 IN UINT8 *SrcBuffer,
63 IN UINT32 SrcSize,
64 IN UINT8 *DstBuffer,
65 IN OUT UINT32 *DstSize
66 );
67
68 #endif