]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Protocol/SectionExtraction/SectionExtraction.h
Add a work around Dummy.c file to avoid autogen error to GCC tool chain family.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Protocol / SectionExtraction / SectionExtraction.h
CommitLineData
3eb9473e 1/*++\r
2\r
3Copyright (c) 2004, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 SectionExtraction.h\r
15\r
16Abstract:\r
17\r
18 Section extraction protocol as defined in the Tiano File Image Format specification.\r
19\r
20 This interface provides a means of decoding a set of sections into a linked list of\r
21 leaf sections. This provides for an extensible and flexible file format.\r
22\r
23--*/\r
24\r
25#ifndef _SECTION_EXTRACTION_PROTOCOL_H\r
26#define _SECTION_EXTRACTION_PROTOCOL_H\r
27\r
28#include "EfiFirmwareFileSystem.h"\r
29\r
30//\r
31// Protocol GUID definition\r
32//\r
33#define EFI_SECTION_EXTRACTION_PROTOCOL_GUID \\r
34 { \\r
35 0x448F5DA4, 0x6DD7, 0x4FE1, 0x93, 0x07, 0x69, 0x22, 0x41, 0x92, 0x21, 0x5D \\r
36 }\r
37\r
38EFI_FORWARD_DECLARATION (EFI_SECTION_EXTRACTION_PROTOCOL);\r
39\r
40//\r
41// Protocol member functions\r
42//\r
43typedef\r
44EFI_STATUS\r
45(EFIAPI *EFI_OPEN_SECTION_STREAM) (\r
46 IN EFI_SECTION_EXTRACTION_PROTOCOL * This,\r
47 IN UINTN SectionStreamLength,\r
48 IN VOID *SectionStream,\r
49 OUT UINTN *SectionStreamHandle\r
50 );\r
51\r
52typedef\r
53EFI_STATUS\r
54(EFIAPI *EFI_GET_SECTION) (\r
55 IN EFI_SECTION_EXTRACTION_PROTOCOL * This,\r
56 IN UINTN SectionStreamHandle,\r
57 IN EFI_SECTION_TYPE * SectionType,\r
58 IN EFI_GUID * SectionDefinitionGuid,\r
59 IN UINTN SectionInstance,\r
60 IN VOID **Buffer,\r
61 IN OUT UINTN *BufferSize,\r
62 OUT UINT32 *AuthenticationStatus\r
63 );\r
64\r
65typedef\r
66EFI_STATUS\r
67(EFIAPI *EFI_CLOSE_SECTION_STREAM) (\r
68 IN EFI_SECTION_EXTRACTION_PROTOCOL * This,\r
69 IN UINTN SectionStreamHandle\r
70 );\r
71\r
72//\r
73// Protocol definition\r
74//\r
5d46191d 75struct _EFI_SECTION_EXTRACTION_PROTOCOL {\r
3eb9473e 76 EFI_OPEN_SECTION_STREAM OpenSectionStream;\r
77 EFI_GET_SECTION GetSection;\r
78 EFI_CLOSE_SECTION_STREAM CloseSectionStream;\r
5d46191d 79};\r
3eb9473e 80\r
81extern EFI_GUID gEfiSectionExtractionProtocolGuid;\r
82\r
83#endif\r