]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/C/Common/FirmwareVolumeBufferLib.h
BaseTools: Replace BSD License with BSD+Patent License
[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
2e351cbe 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
30fdf114 6\r
30fdf114
LG
7**/\r
8\r
9#ifndef FirmwareVolumeBuffer_h_INCLUDED\r
10#define FirmwareVolumeBuffer_h_INCLUDED\r
11\r
12#include "Common/UefiBaseTypes.h"\r
13#include "Common/PiFirmwareFile.h"\r
14#include "Common/PiFirmwareVolume.h"\r
15\r
16EFI_STATUS\r
17FvBufAddFile (\r
18 IN OUT VOID *Fv,\r
19 IN VOID *File\r
20 );\r
21\r
22EFI_STATUS\r
23FvBufAddFileWithExtend (\r
24 IN OUT VOID **Fv,\r
25 IN VOID *File\r
26 );\r
27\r
28EFI_STATUS\r
29FvBufAddVtfFile (\r
30 IN OUT VOID *Fv,\r
31 IN VOID *File\r
32 );\r
33\r
34EFI_STATUS\r
35FvBufChecksumFile (\r
36 IN OUT VOID *FfsFile\r
37 );\r
38\r
39EFI_STATUS\r
40FvBufChecksumHeader (\r
41 IN OUT VOID *Fv\r
42 );\r
43\r
44EFI_STATUS\r
45FvBufClearAllFiles (\r
46 IN OUT VOID *Fv\r
47 );\r
48\r
49VOID\r
50FvBufCompact3ByteSize (\r
51 OUT VOID* SizeDest,\r
52 IN UINT32 Size\r
53 );\r
54\r
55EFI_STATUS\r
56FvBufCountSections (\r
57 IN VOID* FfsFile,\r
58 IN UINTN* Count\r
59 );\r
60\r
61EFI_STATUS\r
62FvBufDuplicate (\r
63 IN VOID *SourceFv,\r
64 IN OUT VOID **DestinationFv\r
65 );\r
66\r
67UINT32\r
68FvBufExpand3ByteSize (\r
69 IN VOID* Size\r
70 );\r
71\r
e4ac870f
LG
72UINT32\r
73FvBufGetFfsFileSize (\r
74 IN EFI_FFS_FILE_HEADER *Ffs\r
75 );\r
76\r
77UINT32\r
78FvBufGetFfsHeaderSize (\r
79 IN EFI_FFS_FILE_HEADER *Ffs\r
80 );\r
81\r
30fdf114
LG
82EFI_STATUS\r
83FvBufExtend (\r
84 IN VOID **Fv,\r
85 IN UINTN Size\r
86 );\r
87\r
88EFI_STATUS\r
89FvBufFindFileByName (\r
90 IN VOID *Fv,\r
91 IN EFI_GUID *Name,\r
92 OUT VOID **File\r
93 );\r
94\r
95EFI_STATUS\r
96FvBufFindFileByType (\r
97 IN VOID *Fv,\r
98 IN EFI_FV_FILETYPE Type,\r
99 OUT VOID **File\r
100 );\r
101\r
102EFI_STATUS\r
103FvBufFindNextFile (\r
104 IN VOID *Fv,\r
105 IN OUT UINTN *Key,\r
106 OUT VOID **File\r
107 );\r
108\r
109EFI_STATUS\r
110FvBufFindNextSection (\r
111 IN VOID *SectionsStart,\r
112 IN UINTN TotalSectionsSize,\r
113 IN OUT UINTN *Key,\r
114 OUT VOID **Section\r
115 );\r
116\r
117EFI_STATUS\r
118FvBufFindSectionByType (\r
119 IN VOID *FfsFile,\r
120 IN UINT8 Type,\r
121 OUT VOID **Section\r
122 );\r
123\r
124EFI_STATUS\r
125FvBufGetFileRawData (\r
126 IN VOID* FfsFile,\r
127 OUT VOID** RawData,\r
128 OUT UINTN* RawDataSize\r
129 );\r
130\r
131EFI_STATUS\r
132FvBufGetSize (\r
133 IN VOID *Fv,\r
134 OUT UINTN *Size\r
135 );\r
136\r
137EFI_STATUS\r
138FvBufPackageFreeformRawFile (\r
139 IN EFI_GUID* Filename,\r
140 IN VOID* RawData,\r
141 IN UINTN RawDataSize,\r
142 OUT VOID** FfsFile\r
143 );\r
144\r
145EFI_STATUS\r
146FvBufRemoveFile (\r
147 IN OUT VOID *Fv,\r
148 IN EFI_GUID *Name\r
149 );\r
150\r
151EFI_STATUS\r
152FvBufUnifyBlockSizes (\r
153 IN OUT VOID *Fv,\r
154 IN UINTN BlockSize\r
155 );\r
156\r
157EFI_STATUS\r
158FvBufShrinkWrap (\r
159 IN VOID *Fv\r
160 );\r
161\r
162#endif // #ifndef FirmwareVolumeBuffer_h_INCLUDED\r
163\r