3 * Copyright (c) 2012-2014, ARM Limited. All rights reserved.
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
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.
15 #ifndef __BOOTMON_FS_API_H
16 #define __BOOTMON_FS_API_H
18 #include <Protocol/SimpleFileSystem.h>
21 BootMonFsDiscoverNextImage (
22 IN BOOTMON_FS_INSTANCE
*Flash
,
24 OUT HW_IMAGE_DESCRIPTION
*Image
29 IN BOOTMON_FS_INSTANCE
*Instance
39 BootMonFsComputeFooterChecksum (
40 IN OUT HW_IMAGE_DESCRIPTION
*Footer
45 OpenBootMonFsOpenVolume (
46 IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
*This
,
47 OUT EFI_FILE_PROTOCOL
**Root
51 BootMonFsGetImageLength (
52 IN BOOTMON_FS_FILE
*File
56 BootMonFsGetPhysicalSize (
57 IN BOOTMON_FS_FILE
* File
62 IN BOOTMON_FS_INSTANCE
*Instance
,
63 OUT BOOTMON_FS_FILE
**File
69 IN EFI_FILE_PROTOCOL
*This
,
70 IN EFI_GUID
*InformationType
,
71 IN OUT UINTN
*BufferSize
,
77 BootMonFsReadDirectory (
78 IN EFI_FILE_PROTOCOL
*This
,
79 IN OUT UINTN
*BufferSize
,
85 BootMonFsFlushDirectory (
86 IN EFI_FILE_PROTOCOL
*This
92 IN EFI_FILE_PROTOCOL
*This
98 IN EFI_FILE_PROTOCOL
*This
104 IN EFI_FILE_PROTOCOL
*This
,
105 OUT EFI_FILE_PROTOCOL
**NewHandle
,
115 IN EFI_FILE_PROTOCOL
*This
,
116 IN OUT UINTN
*BufferSize
,
122 BootMonFsSetDirPosition (
123 IN EFI_FILE_PROTOCOL
*This
,
129 BootMonFsGetPosition (
130 IN EFI_FILE_PROTOCOL
*This
,
137 IN EFI_FILE_PROTOCOL
*This
,
138 IN OUT UINTN
*BufferSize
,
144 BootMonFsDeleteFail (
145 IN EFI_FILE_PROTOCOL
*This
151 IN EFI_FILE_PROTOCOL
*This
156 BootMonFsSetPosition (
157 IN EFI_FILE_PROTOCOL
*This
,
163 BootMonFsGetPosition(
164 IN EFI_FILE_PROTOCOL
*This
,
169 // UNSUPPORTED OPERATIONS
174 BootMonFsGetPositionUnsupported (
175 IN EFI_FILE_PROTOCOL
*This
,
182 IN EFI_FILE_PROTOCOL
*This
,
183 IN EFI_GUID
*InformationType
,
193 BootMonFsOpenDirectory (
194 OUT EFI_FILE_PROTOCOL
**NewHandle
,
196 IN BOOTMON_FS_INSTANCE
*Volume
203 BootMonGetFileFromAsciiFileName (
204 IN BOOTMON_FS_INSTANCE
*Instance
,
205 IN CHAR8
* AsciiFileName
,
206 OUT BOOTMON_FS_FILE
**File
210 BootMonGetFileFromPosition (
211 IN BOOTMON_FS_INSTANCE
*Instance
,
213 OUT BOOTMON_FS_FILE
**File