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