]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/C/Common/FirmwareVolumeBufferLib.h
BaseTools: Fix compile error on VS2010
[mirror_edk2.git] / BaseTools / Source / C / Common / FirmwareVolumeBufferLib.h
CommitLineData
30fdf114 1/** @file\r
97fa0ee9 2EFI Firmware Volume routines which work on a Fv image in buffers.\r
30fdf114 3\r
e4ac870f 4Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR>\r
40d841f6 5This program and the accompanying materials\r
30fdf114
LG
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
30fdf114
LG
13**/\r
14\r
15#ifndef FirmwareVolumeBuffer_h_INCLUDED\r
16#define FirmwareVolumeBuffer_h_INCLUDED\r
17\r
18#include "Common/UefiBaseTypes.h"\r
19#include "Common/PiFirmwareFile.h"\r
20#include "Common/PiFirmwareVolume.h"\r
21\r
22EFI_STATUS\r
23FvBufAddFile (\r
24 IN OUT VOID *Fv,\r
25 IN VOID *File\r
26 );\r
27\r
28EFI_STATUS\r
29FvBufAddFileWithExtend (\r
30 IN OUT VOID **Fv,\r
31 IN VOID *File\r
32 );\r
33\r
34EFI_STATUS\r
35FvBufAddVtfFile (\r
36 IN OUT VOID *Fv,\r
37 IN VOID *File\r
38 );\r
39\r
40EFI_STATUS\r
41FvBufChecksumFile (\r
42 IN OUT VOID *FfsFile\r
43 );\r
44\r
45EFI_STATUS\r
46FvBufChecksumHeader (\r
47 IN OUT VOID *Fv\r
48 );\r
49\r
50EFI_STATUS\r
51FvBufClearAllFiles (\r
52 IN OUT VOID *Fv\r
53 );\r
54\r
55VOID\r
56FvBufCompact3ByteSize (\r
57 OUT VOID* SizeDest,\r
58 IN UINT32 Size\r
59 );\r
60\r
61EFI_STATUS\r
62FvBufCountSections (\r
63 IN VOID* FfsFile,\r
64 IN UINTN* Count\r
65 );\r
66\r
67EFI_STATUS\r
68FvBufDuplicate (\r
69 IN VOID *SourceFv,\r
70 IN OUT VOID **DestinationFv\r
71 );\r
72\r
73UINT32\r
74FvBufExpand3ByteSize (\r
75 IN VOID* Size\r
76 );\r
77\r
e4ac870f
LG
78UINT32\r
79FvBufGetFfsFileSize (\r
80 IN EFI_FFS_FILE_HEADER *Ffs\r
81 );\r
82\r
83UINT32\r
84FvBufGetFfsHeaderSize (\r
85 IN EFI_FFS_FILE_HEADER *Ffs\r
86 );\r
87\r
30fdf114
LG
88EFI_STATUS\r
89FvBufExtend (\r
90 IN VOID **Fv,\r
91 IN UINTN Size\r
92 );\r
93\r
94EFI_STATUS\r
95FvBufFindFileByName (\r
96 IN VOID *Fv,\r
97 IN EFI_GUID *Name,\r
98 OUT VOID **File\r
99 );\r
100\r
101EFI_STATUS\r
102FvBufFindFileByType (\r
103 IN VOID *Fv,\r
104 IN EFI_FV_FILETYPE Type,\r
105 OUT VOID **File\r
106 );\r
107\r
108EFI_STATUS\r
109FvBufFindNextFile (\r
110 IN VOID *Fv,\r
111 IN OUT UINTN *Key,\r
112 OUT VOID **File\r
113 );\r
114\r
115EFI_STATUS\r
116FvBufFindNextSection (\r
117 IN VOID *SectionsStart,\r
118 IN UINTN TotalSectionsSize,\r
119 IN OUT UINTN *Key,\r
120 OUT VOID **Section\r
121 );\r
122\r
123EFI_STATUS\r
124FvBufFindSectionByType (\r
125 IN VOID *FfsFile,\r
126 IN UINT8 Type,\r
127 OUT VOID **Section\r
128 );\r
129\r
130EFI_STATUS\r
131FvBufGetFileRawData (\r
132 IN VOID* FfsFile,\r
133 OUT VOID** RawData,\r
134 OUT UINTN* RawDataSize\r
135 );\r
136\r
137EFI_STATUS\r
138FvBufGetSize (\r
139 IN VOID *Fv,\r
140 OUT UINTN *Size\r
141 );\r
142\r
143EFI_STATUS\r
144FvBufPackageFreeformRawFile (\r
145 IN EFI_GUID* Filename,\r
146 IN VOID* RawData,\r
147 IN UINTN RawDataSize,\r
148 OUT VOID** FfsFile\r
149 );\r
150\r
151EFI_STATUS\r
152FvBufRemoveFile (\r
153 IN OUT VOID *Fv,\r
154 IN EFI_GUID *Name\r
155 );\r
156\r
157EFI_STATUS\r
158FvBufUnifyBlockSizes (\r
159 IN OUT VOID *Fv,\r
160 IN UINTN BlockSize\r
161 );\r
162\r
163EFI_STATUS\r
164FvBufShrinkWrap (\r
165 IN VOID *Fv\r
166 );\r
167\r
168#endif // #ifndef FirmwareVolumeBuffer_h_INCLUDED\r
169\r