--- /dev/null
+/*++\r
+\r
+Copyright (c) 2004, Intel Corporation \r
+All rights reserved. This program and the accompanying 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
+http://opensource.org/licenses/bsd-license.php \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
+Module Name:\r
+\r
+ GuidedSectionExtraction.h\r
+\r
+Abstract:\r
+\r
+ GUIDed section extraction protocol as defined in the Tiano File\r
+ Image Format specification.\r
+\r
+ This interface provides a means of decoding a GUID defined encapsulation \r
+ section. There may be multiple different GUIDs associated with the GUIDed\r
+ section extraction protocol. That is, all instances of the GUIDed section\r
+ extraction protocol must have the same interface structure.\r
+\r
+--*/\r
+\r
+#ifndef _GUIDED_SECTION_EXTRACTION_PROTOCOL_H\r
+#define _GUIDED_SECTION_EXTRACTION_PROTOCOL_H\r
+\r
+#include "EfiFirmwareFileSystem.h"\r
+\r
+//\r
+// Protocol GUID definition. Each GUIDed section extraction protocol has the\r
+// same interface but with different GUID. All the GUIDs is defined here.\r
+// May add multiple GUIDs here.\r
+//\r
+#define EFI_CRC32_GUIDED_SECTION_EXTRACTION_PROTOCOL_GUID \\r
+ { \\r
+ 0xFC1BCDB0, 0x7D31, 0x49aa, 0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 \\r
+ }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+EFI_FORWARD_DECLARATION (EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL);\r
+\r
+//\r
+// Protocol member functions\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_EXTRACT_GUIDED_SECTION) (\r
+ IN EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL * This,\r
+ IN VOID *InputSection,\r
+ OUT VOID **OutputBuffer,\r
+ OUT UINTN *OutputSize,\r
+ OUT UINT32 *AuthenticationStatus\r
+ );\r
+\r
+//\r
+// Protocol definition\r
+//\r
+typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL {\r
+ EFI_EXTRACT_GUIDED_SECTION ExtractSection;\r
+} EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL;\r
+\r
+//\r
+// may add other GUID here\r
+//\r
+extern EFI_GUID gEfiCrc32GuidedSectionExtractionProtocolGuid;\r
+\r
+#endif\r