/** @file\r
- This file declares Section Extraction protocols.\r
+ This file declares Section Extraction Protocol.\r
\r
This interface provides a means of decoding a set of sections into a linked list of\r
leaf sections. This provides for an extensible and flexible file format.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation All rights\r
- reserved. This program and the accompanying materials are\r
- licensed and made available under the terms and conditions of\r
- the BSD License which accompanies this distribution. The full\r
- text of the license may be found at\r
+ Copyright (c) 2006 - 2007, Intel Corporation\r
+ All rights reserved. This program and the accompanying\r
+ materials are licensed and made available under the terms and\r
+ conditions of the BSD License which accompanies this\r
+ distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
\r
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_OPEN_SECTION_STREAM) (\r
+(EFIAPI *EFI_OPEN_SECTION_STREAM)(\r
IN EFI_SECTION_EXTRACTION_PROTOCOL *This,\r
IN UINTN SectionStreamLength,\r
IN VOID *SectionStream,\r
\r
@param This Indicates the EFI_SECTION_EXTRACTION_PROTOCOL instance.\r
@param SectionStreamHandle Indicates from which section stream to read.\r
- @param SectionType Pointer to an EFI_SECTION_TYPE.\r
+ @param SectionType Pointer to an EFI_SECTION_TYPE. SectionType == NULL, the contents of the \r
+ entire section stream are returned in Buffer.If SectionType is not NULL, \r
+ only the requested section is returned. EFI_SECTION_ALL matches all section \r
+ types and can be used as a wild card to extract all sections in order.\r
@param SectionDefinitionGuid Pointer to an EFI_GUID.If SectionType ==\r
EFI_SECTION_GUID_DEFINED, SectionDefinitionGuid indicates what section GUID\r
to search for.If SectionType !=EFI_SECTION_GUID_DEFINED, then\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_GET_SECTION) (\r
+(EFIAPI *EFI_GET_SECTION)(\r
IN EFI_SECTION_EXTRACTION_PROTOCOL *This,\r
IN UINTN SectionStreamHandle,\r
IN EFI_SECTION_TYPE *SectionType,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_CLOSE_SECTION_STREAM) (\r
+(EFIAPI *EFI_CLOSE_SECTION_STREAM)(\r
IN EFI_SECTION_EXTRACTION_PROTOCOL *This,\r
IN UINTN SectionStreamHandle\r
);\r
//\r
// Protocol definition\r
//\r
-/**\r
- @par Protocol Description:\r
- The Section Extraction Protocol provides a simple method of extracting\r
- sections from arbitrarily complex files.\r
-\r
- @param OpenSectionStream\r
- Takes a bounded stream of sections and returns a section stream handle.\r
-\r
- @param GetSection\r
- Given a section stream handle, retrieves the requested section and\r
- meta-data from the section stream.\r
-\r
- @param CloseSectionStream\r
- Given a section stream handle, closes the section stream.\r
-\r
-**/\r
struct _EFI_SECTION_EXTRACTION_PROTOCOL {\r
+///\r
+/// Takes a bounded stream of sections and returns a section stream handle.\r
+///\r
EFI_OPEN_SECTION_STREAM OpenSectionStream;\r
+///\r
+/// Given a section stream handle, retrieves the requested section and\r
+/// meta-data from the section stream.\r
+///\r
EFI_GET_SECTION GetSection;\r
+///\r
+/// Given a section stream handle, closes the section stream.\r
+///\r
EFI_CLOSE_SECTION_STREAM CloseSectionStream;\r
};\r
\r