]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.h
Add EBC, FTW, Crc32SectionExtract, NullMemoryTest modules.
[mirror_edk2.git] / MdeModulePkg / Universal / FirmwareVolume / GuidedSectionExtraction / Crc32SectionExtract / Dxe / Crc32SectionExtract.h
CommitLineData
d7dec593 1/*++\r
2\r
3Copyright (c) 2006 - 2007, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 Crc32SectionExtract.h\r
15 \r
16Abstract:\r
17\r
18 Header file for Crc32SectionExtract.c\r
19 Please refer to the Framewokr Firmware Volume Specification 0.9.\r
20\r
21--*/\r
22\r
23#ifndef _CRC32_GUIDED_SECTION_EXTRACTION_H\r
24#define _CRC32_GUIDED_SECTION_EXTRACTION_H\r
25\r
26//\r
27// The package level header files this module uses\r
28//\r
29#include <PiDxe.h>\r
30//\r
31// The protocols, PPI and GUID defintions for this module\r
32//\r
33#include <Protocol/SecurityPolicy.h>\r
34#include <Protocol/GuidedSectionExtaction.h>\r
35//\r
36// The Library classes this module consumes\r
37//\r
38#include <Library/MemoryAllocationLib.h>\r
39#include <Library/DebugLib.h>\r
40#include <Library/UefiDriverEntryPoint.h>\r
41#include <Library/BaseMemoryLib.h>\r
42#include <Library/UefiBootServicesTableLib.h>\r
43\r
44typedef struct {\r
45 EFI_GUID_DEFINED_SECTION GuidedSectionHeader;\r
46 UINT32 CRC32Checksum;\r
47} CRC32_SECTION_HEADER;\r
48\r
49//\r
50// Function prototype declarations\r
51//\r
52STATIC\r
53EFI_STATUS\r
54EFIAPI\r
55Crc32ExtractSection (\r
56 IN EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL *This,\r
57 IN VOID *InputSection,\r
58 OUT VOID **OutputBuffer,\r
59 OUT UINTN *OutputSize,\r
60 OUT UINT32 *AuthenticationStatus\r
61 )\r
62/*++\r
63\r
64Routine Description:\r
65\r
66 TODO: Add function description\r
67\r
68Arguments:\r
69\r
70 This - TODO: add argument description\r
71 InputSection - TODO: add argument description\r
72 OutputBuffer - TODO: add argument description\r
73 OutputSize - TODO: add argument description\r
74 AuthenticationStatus - TODO: add argument description\r
75\r
76Returns:\r
77\r
78 TODO: add return values\r
79\r
80--*/\r
81;\r
82\r
83EFI_STATUS\r
84EFIAPI\r
85InitializeCrc32GuidedSectionExtractionProtocol (\r
86 IN EFI_HANDLE ImageHandle,\r
87 IN EFI_SYSTEM_TABLE *SystemTable\r
88 )\r
89/*++\r
90\r
91Routine Description: \r
92\r
93 Entry point of the CRC32 GUIDed section extraction protocol. \r
94 Creates and initializes an instance of the GUIDed section \r
95 extraction protocol with CRC32 GUID.\r
96\r
97Arguments: \r
98\r
99 ImageHandle EFI_HANDLE: A handle for the image that is initializing \r
100 this driver\r
101 SystemTable EFI_SYSTEM_TABLE: A pointer to the EFI system table \r
102\r
103Returns: \r
104\r
105 EFI_SUCCESS: Driver initialized successfully\r
106 EFI_LOAD_ERROR: Failed to Initialize or has been loaded \r
107 EFI_OUT_OF_RESOURCES: Could not allocate needed resources\r
108\r
109--*/\r
110;\r
111\r
112#endif\r