]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/FileSystem/BootMonFs/BootMonFsApi.h
ArmPlatformPkg/BootMonFs: Fix permission check in SetFileInfo
[mirror_edk2.git] / ArmPlatformPkg / FileSystem / BootMonFs / BootMonFsApi.h
CommitLineData
94e0955d
OM
1/** @file\r
2*\r
3* Copyright (c) 2012-2014, ARM Limited. All rights reserved.\r
4*\r
5* This program and the accompanying materials\r
6* are licensed and made available under the terms and conditions of the BSD License\r
7* which accompanies this distribution. The full text of the license may be found at\r
8* http://opensource.org/licenses/bsd-license.php\r
9*\r
10* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12*\r
13**/\r
14\r
15#ifndef __BOOTMON_FS_API_H\r
16#define __BOOTMON_FS_API_H\r
17\r
18#include <Protocol/SimpleFileSystem.h>\r
19\r
20EFI_STATUS\r
21BootMonFsDiscoverNextImage (\r
22 IN BOOTMON_FS_INSTANCE *Flash,\r
23 IN EFI_LBA *LbaStart,\r
24 OUT HW_IMAGE_DESCRIPTION *Image\r
25 );\r
26\r
27EFI_STATUS\r
28BootMonFsInitialize (\r
29 IN BOOTMON_FS_INSTANCE *Instance\r
30 );\r
31\r
32UINT32\r
33BootMonFsChecksum (\r
34 IN VOID *Data,\r
35 IN UINT32 Size\r
36 );\r
37\r
38EFI_STATUS\r
39BootMonFsComputeFooterChecksum (\r
40 IN OUT HW_IMAGE_DESCRIPTION *Footer\r
41 );\r
42\r
43EFIAPI\r
44EFI_STATUS\r
45OpenBootMonFsOpenVolume (\r
46 IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,\r
47 OUT EFI_FILE_PROTOCOL **Root\r
48 );\r
49\r
50UINT32\r
51BootMonFsGetImageLength (\r
52 IN BOOTMON_FS_FILE *File\r
53 );\r
54\r
55UINTN\r
56BootMonFsGetPhysicalSize (\r
57 IN BOOTMON_FS_FILE* File\r
58 );\r
59\r
60EFI_STATUS\r
61BootMonFsCreateFile (\r
62 IN BOOTMON_FS_INSTANCE *Instance,\r
63 OUT BOOTMON_FS_FILE **File\r
64 );\r
65\r
66EFIAPI\r
67EFI_STATUS\r
68BootMonFsGetInfo (\r
69 IN EFI_FILE_PROTOCOL *This,\r
70 IN EFI_GUID *InformationType,\r
71 IN OUT UINTN *BufferSize,\r
72 OUT VOID *Buffer\r
73 );\r
74\r
75EFIAPI\r
76EFI_STATUS\r
77BootMonFsReadDirectory (\r
78 IN EFI_FILE_PROTOCOL *This,\r
79 IN OUT UINTN *BufferSize,\r
80 OUT VOID *Buffer\r
81 );\r
82\r
83EFIAPI\r
84EFI_STATUS\r
85BootMonFsFlushDirectory (\r
86 IN EFI_FILE_PROTOCOL *This\r
87 );\r
88\r
89EFIAPI\r
90EFI_STATUS\r
91BootMonFsFlushFile (\r
92 IN EFI_FILE_PROTOCOL *This\r
93 );\r
94\r
95EFIAPI\r
96EFI_STATUS\r
97BootMonFsCloseFile (\r
98 IN EFI_FILE_PROTOCOL *This\r
99 );\r
100\r
101EFIAPI\r
102EFI_STATUS\r
103BootMonFsOpenFile (\r
104 IN EFI_FILE_PROTOCOL *This,\r
105 OUT EFI_FILE_PROTOCOL **NewHandle,\r
106 IN CHAR16 *FileName,\r
107 IN UINT64 OpenMode,\r
108 IN UINT64 Attributes\r
109 );\r
110\r
111\r
112EFIAPI\r
113EFI_STATUS\r
114BootMonFsReadFile (\r
115 IN EFI_FILE_PROTOCOL *This,\r
116 IN OUT UINTN *BufferSize,\r
117 OUT VOID *Buffer\r
118 );\r
119\r
120EFIAPI\r
121EFI_STATUS\r
122BootMonFsSetDirPosition (\r
123 IN EFI_FILE_PROTOCOL *This,\r
124 IN UINT64 Position\r
125 );\r
126\r
127EFIAPI\r
128EFI_STATUS\r
129BootMonFsGetPosition (\r
130 IN EFI_FILE_PROTOCOL *This,\r
131 OUT UINT64 *Position\r
132 );\r
133\r
134EFIAPI\r
135EFI_STATUS\r
136BootMonFsWriteFile (\r
137 IN EFI_FILE_PROTOCOL *This,\r
138 IN OUT UINTN *BufferSize,\r
139 IN VOID *Buffer\r
140 );\r
141\r
142EFIAPI\r
143EFI_STATUS\r
144BootMonFsDeleteFail (\r
145 IN EFI_FILE_PROTOCOL *This\r
146 );\r
147\r
148EFIAPI\r
149EFI_STATUS\r
150BootMonFsDelete (\r
151 IN EFI_FILE_PROTOCOL *This\r
152 );\r
153\r
154EFIAPI\r
155EFI_STATUS\r
156BootMonFsSetPosition (\r
157 IN EFI_FILE_PROTOCOL *This,\r
158 IN UINT64 Position\r
159 );\r
160\r
161EFIAPI\r
162EFI_STATUS\r
163BootMonFsGetPosition(\r
164 IN EFI_FILE_PROTOCOL *This,\r
165 OUT UINT64 *Position\r
166 );\r
167\r
168//\r
169// UNSUPPORTED OPERATIONS\r
170//\r
171\r
172EFIAPI\r
173EFI_STATUS\r
174BootMonFsGetPositionUnsupported (\r
175 IN EFI_FILE_PROTOCOL *This,\r
176 OUT UINT64 *Position\r
177 );\r
178\r
179EFIAPI\r
180EFI_STATUS\r
181BootMonFsSetInfo (\r
182 IN EFI_FILE_PROTOCOL *This,\r
183 IN EFI_GUID *InformationType,\r
184 IN UINTN BufferSize,\r
185 IN VOID *Buffer\r
186 );\r
187\r
188//\r
189// Directory API\r
190//\r
191\r
192EFI_STATUS\r
193BootMonFsOpenDirectory (\r
194 OUT EFI_FILE_PROTOCOL **NewHandle,\r
195 IN CHAR16 *FileName,\r
196 IN BOOTMON_FS_INSTANCE *Volume\r
197 );\r
198\r
199//\r
200// Internal API\r
201//\r
202EFI_STATUS\r
203BootMonGetFileFromAsciiFileName (\r
204 IN BOOTMON_FS_INSTANCE *Instance,\r
205 IN CHAR8* AsciiFileName,\r
206 OUT BOOTMON_FS_FILE **File\r
207 );\r
208\r
209EFI_STATUS\r
210BootMonGetFileFromPosition (\r
211 IN BOOTMON_FS_INSTANCE *Instance,\r
212 IN UINTN Position,\r
213 OUT BOOTMON_FS_FILE **File\r
214 );\r
215\r
216#endif\r