VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/Decompress.h@ 85718

Last change on this file since 85718 was 85718, checked in by vboxsync, 5 years ago

Devices/EFI: Merge edk-stable202005 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1/** @file
2 Provides decompression services to the PEI Foundation.
3
4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 @par Revision Reference:
8 This PPI is introduced in PI Version 1.0.
9
10**/
11
12#ifndef __DECOMPRESS_PPI_H__
13#define __DECOMPRESS_PPI_H__
14
15#define EFI_PEI_DECOMPRESS_PPI_GUID \
16 { 0x1a36e4e7, 0xfab6, 0x476a, { 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7 } }
17
18typedef struct _EFI_PEI_DECOMPRESS_PPI EFI_PEI_DECOMPRESS_PPI;
19
20/**
21 Decompress a single compression section in a firmware file.
22
23 Decompresses the data in a compressed section and returns it
24 as a series of standard PI Firmware File Sections. The
25 required memory is allocated from permanent memory.
26
27 @param This Points to this instance of the
28 EFI_PEI_DECOMPRESS_PEI PPI.
29 @param InputSection Points to the compressed section.
30 @param OutputBuffer Holds the returned pointer to the
31 decompressed sections.
32 @param OutputSize Holds the returned size of the decompress
33 section streams.
34
35 @retval EFI_SUCCESS The section was decompressed
36 successfully. OutputBuffer contains the
37 resulting data and OutputSize contains
38 the resulting size.
39 @retval EFI_OUT_OF_RESOURCES Unable to allocate sufficient
40 memory to hold the decompressed data.
41 @retval EFI_UNSUPPORTED The compression type specified
42 in the compression header is unsupported.
43
44**/
45typedef
46EFI_STATUS
47(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
48 IN CONST EFI_PEI_DECOMPRESS_PPI *This,
49 IN CONST EFI_COMPRESSION_SECTION *InputSection,
50 OUT VOID **OutputBuffer,
51 OUT UINTN *OutputSize
52);
53
54
55///
56/// This PPI's single member function decompresses a compression
57/// encapsulated section. It is used by the PEI Foundation to
58/// process sectioned files. Prior to the installation of this PPI,
59/// compression sections will be ignored.
60///
61struct _EFI_PEI_DECOMPRESS_PPI {
62 EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
63};
64
65
66extern EFI_GUID gEfiPeiDecompressPpiGuid;
67
68#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette