]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtraction.h
Coding style modification.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / SectionExtractionDxe / SectionExtraction.h
CommitLineData
797a9d67 1/**@file\r
797a9d67 2 Section Extraction Protocol implementation.\r
3 \r
4 Stream database is implemented as a linked list of section streams,\r
5 where each stream contains a linked list of children, which may be leaves or\r
6 encapsulations. \r
7 \r
8 Children that are encapsulations generate new stream entries\r
9 when they are created. Streams can also be created by calls to \r
10 SEP->OpenSectionStream().\r
11 \r
12 The database is only created far enough to return the requested data from\r
13 any given stream, or to determine that the requested data is not found.\r
14 \r
15 If a GUIDed encapsulation is encountered, there are three possiblilites.\r
16 \r
17 1) A support protocol is found, in which the stream is simply processed with\r
18 the support protocol.\r
19 \r
20 2) A support protocol is not found, but the data is available to be read\r
21 without processing. In this case, the database is built up through the\r
22 recursions to return the data, and a RPN event is set that will enable\r
23 the stream in question to be refreshed if and when the required section\r
24 extraction protocol is published.This insures the AuthenticationStatus \r
25 does not become stale in the cache.\r
26 \r
27 3) A support protocol is not found, and the data is not available to be read\r
28 without it. This results in EFI_PROTOCOL_ERROR.\r
bcd70414 29 \r
30Copyright (c) 2006, Intel Corporation \r
31All rights reserved. This program and the accompanying materials \r
32are licensed and made available under the terms and conditions of the BSD License \r
33which accompanies this distribution. The full text of the license may be found at \r
34http://opensource.org/licenses/bsd-license.php \r
35 \r
36THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
37WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
38\r
797a9d67 39**/\r
40\r
41#ifndef _SECION_EXTRACTION_H_\r
42#define _SECION_EXTRACTION_H_\r
43\r
44#include <FrameworkDxe.h>\r
45\r
46#include <Protocol/SectionExtraction.h>\r
47\r
48#include <Library/BaseLib.h>\r
49#include <Library/DebugLib.h>\r
50#include <Library/UefiLib.h>\r
51#include <Library/UefiBootServicesTableLib.h>\r
52#include <Library/MemoryAllocationLib.h>\r
53#include <Library/BaseMemoryLib.h>\r
54#include <Protocol/Decompress.h>\r
55#include <Protocol/GuidedSectionExtraction.h>\r
56\r
57#endif // _SECTION_EXTRACTION_H_\r