]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/SectionExtraction.h
Update header file comments.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / SectionExtraction.h
index cdf8f06c5cb8ca428279eb54462c84b4130ab9d8..a20f0df064c986dd8ed6dce91d6ba84ee6bd67e9 100644 (file)
@@ -1,15 +1,16 @@
 /** @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) 2007, Intel Corporation\r
-  All rights reserved. This program and the materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full 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
+  \r
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
@@ -25,6 +26,7 @@
 #define _SECTION_EXTRACTION_PROTOCOL_H_\r
 \r
 #include <PiDxe.h>\r
+#include <Framework/FirmwareVolumeImageFormat.h>\r
 \r
 //\r
 // Protocol GUID definition\r
@@ -58,7 +60,7 @@ typedef struct _EFI_SECTION_EXTRACTION_PROTOCOL EFI_SECTION_EXTRACTION_PROTOCOL;
 **/\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
@@ -70,7 +72,10 @@ EFI_STATUS
 \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
@@ -97,13 +102,13 @@ EFI_STATUS
   @retval EFI_OUT_OF_RESOURCES  The system has insufficient resources to process\r
                                 the request.\r
   @retval EFI_INVALID_PARAMETER The SectionStreamHandle does not exist.\r
-  @retval EFI_BUFFER_TOO_SMALL  The size of the input buffer is insufficient to\r
-                                contain the requested section.\r
+  @retval EFI_WARN_BUFFER_TOO_SMALL The size of the input buffer is insufficient to contain the requested\r
+                                    section. The input buffer is filled and section contents are truncated.\r
 \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
@@ -126,7 +131,7 @@ EFI_STATUS
 **/\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
@@ -134,25 +139,19 @@ EFI_STATUS
 //\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