--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, 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
+ Crc32SectionExtract.h\r
+ \r
+Abstract:\r
+\r
+ Header file for Crc32SectionExtract.c\r
+ Please refer to the Framewokr Firmware Volume Specification 0.9.\r
+\r
+--*/\r
+\r
+#ifndef _CRC32_GUIDED_SECTION_EXTRACTION_H\r
+#define _CRC32_GUIDED_SECTION_EXTRACTION_H\r
+\r
+#include <PiDxe.h>\r
+#include <Protocol/SecurityPolicy.h>\r
+#include <Protocol/Crc32GuidedSectionExtraction.h>\r
+#include <Library/MemoryAllocationLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiDriverEntryPoint.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+\r
+\r
+\r
+typedef struct {\r
+ EFI_GUID_DEFINED_SECTION GuidedSectionHeader;\r
+ UINT32 CRC32Checksum;\r
+} CRC32_SECTION_HEADER;\r
+\r
+//\r
+// Function prototype declarations\r
+//\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+Crc32ExtractSection (\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
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ InputSection - TODO: add argument description\r
+ OutputBuffer - TODO: add argument description\r
+ OutputSize - TODO: add argument description\r
+ AuthenticationStatus - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeCrc32GuidedSectionExtractionProtocol (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ )\r
+/*++\r
+\r
+Routine Description: \r
+\r
+ Entry point of the CRC32 GUIDed section extraction protocol. \r
+ Creates and initializes an instance of the GUIDed section \r
+ extraction protocol with CRC32 GUID.\r
+\r
+Arguments: \r
+\r
+ ImageHandle EFI_HANDLE: A handle for the image that is initializing \r
+ this driver\r
+ SystemTable EFI_SYSTEM_TABLE: A pointer to the EFI system table \r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS: Driver initialized successfully\r
+ EFI_LOAD_ERROR: Failed to Initialize or has been loaded \r
+ EFI_OUT_OF_RESOURCES: Could not allocate needed resources\r
+\r
+--*/\r
+;\r
+\r
+#endif\r