]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Ppi/FirmwareVolume/FirmwareVolume.h
Removed extra typedefs on structures to fix error generated by gcc.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Ppi / FirmwareVolume / FirmwareVolume.h
CommitLineData
3eb9473e 1/*++\r
2\r
3Copyright (c) 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 FirmwareVolume.h\r
15\r
16Abstract:\r
17\r
18 PI 1.0 spec definition.\r
19\r
20--*/\r
21\r
22#ifndef __FIRMWARE_VOLUME_H__\r
23#define __FIRMWARE_VOLUME_H__\r
24\r
25EFI_FORWARD_DECLARATION (EFI_PEI_FIRMWARE_VOLUME_PPI);\r
26\r
27typedef UINT32 EFI_FV_FILE_ATTRIBUTES;\r
28typedef VOID * EFI_PEI_FILE_HANDLE;\r
29typedef VOID * EFI_PEI_FV_HANDLE;\r
30\r
31\r
32typedef struct {\r
33 EFI_GUID FileName;\r
34 EFI_FV_FILETYPE FileType;\r
35 EFI_FV_FILE_ATTRIBUTES FileAttributes;\r
36 VOID *Buffer;\r
37 UINT32 BufferSize;\r
38} EFI_FV_FILE_INFO;\r
39\r
40typedef struct {\r
41 EFI_FVB_ATTRIBUTES FvAttributes;\r
42 EFI_GUID FvFormat;\r
43 EFI_GUID FvName;\r
44 VOID *FvStart;\r
45 UINT64 FvSize;\r
46} EFI_FV_INFO;\r
47\r
48\r
49\r
50typedef\r
51EFI_STATUS\r
52(EFIAPI *EFI_PEI_FV_PROCESS_FV) (\r
53 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
54 IN VOID *Buffer,\r
55 IN UINTN BufferSize,\r
56 OUT EFI_PEI_FV_HANDLE *FvHandle\r
57 );\r
58\r
59\r
60typedef\r
61EFI_STATUS\r
62(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) (\r
63 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
64 IN EFI_FV_FILETYPE SearchType,\r
65 IN EFI_PEI_FV_HANDLE FvHandle,\r
66 IN OUT EFI_PEI_FILE_HANDLE *FileHandle\r
67 );\r
68\r
69typedef \r
70EFI_STATUS\r
71(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (\r
72 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
73 IN CONST EFI_GUID *FileName,\r
74 IN EFI_PEI_FV_HANDLE FvHandle,\r
75 OUT EFI_PEI_FILE_HANDLE *FileHandle\r
76 );\r
77\r
78typedef\r
79EFI_STATUS\r
80(EFIAPI *EFI_PEI_FV_GET_FILE_INFO) (\r
81 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
82 IN EFI_PEI_FILE_HANDLE FileHandle,\r
83 OUT EFI_FV_FILE_INFO *FileInfo\r
84 );\r
85\r
86typedef\r
87EFI_STATUS\r
88(EFIAPI *EFI_PEI_FV_GET_INFO)(\r
89 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
90 IN EFI_PEI_FV_HANDLE FvHandle,\r
91 OUT EFI_FV_INFO *VolumeInfo\r
92 );\r
93\r
94typedef\r
95EFI_STATUS\r
96(EFIAPI *EFI_PEI_FV_FIND_SECTION) (\r
97 IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
98 IN EFI_SECTION_TYPE SearchType,\r
99 IN EFI_PEI_FILE_HANDLE FileHandle,\r
100 OUT VOID **SectionData\r
101 );\r
102\r
103typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI {\r
104 EFI_PEI_FV_PROCESS_FV ProcessVolume;\r
105 EFI_PEI_FV_FIND_FILE_TYPE FindFileByType; \r
106 EFI_PEI_FV_FIND_FILE_NAME FindFileByName; \r
107 EFI_PEI_FV_GET_FILE_INFO GetFileInfo; \r
108 EFI_PEI_FV_GET_INFO GetVolumeInfo;\r
109 EFI_PEI_FV_FIND_SECTION FindSectionByType;\r
110} EFI_PEI_FIRMWARE_VOLUME_PPI;\r
111\r
112#endif\r