1 /*++
2 
3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
4 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   CustomizedDecompress.h
15 
16 Abstract:
17 
18   Header file for Customized decompression routine
19 
20 --*/
21 #ifndef _CUSTOMIZED_DECOMPRESS_LIB_H_
22 #define _CUSTOMIZED_DECOMPRESS_LIB_H_
23 
24 #include EFI_PROTOCOL_DEFINITION (CustomizedDecompress)
25 
26 EFI_STATUS
27 EFIAPI
28 CustomizedGetInfo (
29   IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL     *This,
30   IN      VOID                              *Source,
31   IN      UINT32                            SrcSize,
32   OUT     UINT32                            *DstSize,
33   OUT     UINT32                            *ScratchSize
34   )
35 /*++
36 
37 Routine Description:
38 
39   The implementation of Customized GetInfo().
40 
41 Arguments:
42   This        - The EFI customized decompress protocol
43   Source      - The source buffer containing the compressed data.
44   SrcSize     - The size of source buffer
45   DstSize     - The size of destination buffer.
46   ScratchSize - The size of scratch buffer.
47 
48 Returns:
49 
50   EFI_SUCCESS           - The size of destination buffer and the size of scratch buffer are successfully retrieved.
51   EFI_INVALID_PARAMETER - The source data is corrupted
52   EFI_UNSUPPORTED       - Not supported
53 
54 --*/
55 ;
56 
57 EFI_STATUS
58 EFIAPI
59 CustomizedDecompress (
60   IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL     *This,
61   IN      VOID                              *Source,
62   IN      UINT32                            SrcSize,
63   IN OUT  VOID                              *Destination,
64   IN      UINT32                            DstSize,
65   IN OUT  VOID                              *Scratch,
66   IN      UINT32                            ScratchSize
67   )
68 /*++
69 
70 Routine Description:
71 
72   The implementation of Customized Decompress().
73 
74 Arguments:
75 
76   This        - The protocol instance pointer
77   Source      - The source buffer containing the compressed data.
78   SrcSize     - The size of source buffer
79   Destination - The destination buffer to store the decompressed data
80   DstSize     - The size of destination buffer.
81   Scratch     - The buffer used internally by the decompress routine. This  buffer is needed to store intermediate data.
82   ScratchSize - The size of scratch buffer.
83 
84 Returns:
85 
86   EFI_SUCCESS           - Decompression is successfull
87   EFI_INVALID_PARAMETER - The source data is corrupted
88   EFI_UNSUPPORTED       - Not supported
89 
90 --*/
91 ;
92 
93 EFI_STATUS
94 InstallCustomizedDecompress (
95   EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL  **This
96   )
97 /*++
98 
99 Routine Description:
100 
101   Install customeized decompress protocol.
102 
103 Arguments:
104 
105   This                  - The protocol that needs to be installed.
106 
107 Returns:
108 
109   EFI_SUCCESS           - Always success
110 
111 --*/
112 ;
113 #endif
114