]>
Commit | Line | Data |
---|---|---|
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 |
30 | Copyright (c) 2006, Intel Corporation \r | |
31 | All rights reserved. This program and the accompanying materials \r | |
32 | are licensed and made available under the terms and conditions of the BSD License \r | |
33 | which accompanies this distribution. The full text of the license may be found at \r | |
34 | http://opensource.org/licenses/bsd-license.php \r | |
35 | \r | |
36 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r | |
37 | WITHOUT 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 |