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