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>
22 IN BOOTMON_FS_INSTANCE
*Instance
32 BootMonFsComputeFooterChecksum (
33 IN OUT HW_IMAGE_DESCRIPTION
*Footer
38 OpenBootMonFsOpenVolume (
39 IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
*This
,
40 OUT EFI_FILE_PROTOCOL
**Root
44 BootMonFsGetImageLength (
45 IN BOOTMON_FS_FILE
*File
49 BootMonFsGetPhysicalSize (
50 IN BOOTMON_FS_FILE
* File
55 IN BOOTMON_FS_INSTANCE
*Instance
,
56 OUT BOOTMON_FS_FILE
**File
62 IN EFI_FILE_PROTOCOL
*This
,
63 IN EFI_GUID
*InformationType
,
64 IN OUT UINTN
*BufferSize
,
70 BootMonFsReadDirectory (
71 IN EFI_FILE_PROTOCOL
*This
,
72 IN OUT UINTN
*BufferSize
,
78 BootMonFsFlushDirectory (
79 IN EFI_FILE_PROTOCOL
*This
85 IN EFI_FILE_PROTOCOL
*This
91 IN EFI_FILE_PROTOCOL
*This
97 IN EFI_FILE_PROTOCOL
*This
,
98 OUT EFI_FILE_PROTOCOL
**NewHandle
,
108 IN EFI_FILE_PROTOCOL
*This
,
109 IN OUT UINTN
*BufferSize
,
115 BootMonFsSetDirPosition (
116 IN EFI_FILE_PROTOCOL
*This
,
122 BootMonFsGetPosition (
123 IN EFI_FILE_PROTOCOL
*This
,
130 IN EFI_FILE_PROTOCOL
*This
,
131 IN OUT UINTN
*BufferSize
,
137 BootMonFsDeleteFail (
138 IN EFI_FILE_PROTOCOL
*This
144 IN EFI_FILE_PROTOCOL
*This
149 BootMonFsSetPosition (
150 IN EFI_FILE_PROTOCOL
*This
,
156 BootMonFsGetPosition(
157 IN EFI_FILE_PROTOCOL
*This
,
162 // UNSUPPORTED OPERATIONS
167 BootMonFsGetPositionUnsupported (
168 IN EFI_FILE_PROTOCOL
*This
,
175 IN EFI_FILE_PROTOCOL
*This
,
176 IN EFI_GUID
*InformationType
,
186 BootMonFsOpenDirectory (
187 OUT EFI_FILE_PROTOCOL
**NewHandle
,
189 IN BOOTMON_FS_INSTANCE
*Volume
196 BootMonGetFileFromAsciiFileName (
197 IN BOOTMON_FS_INSTANCE
*Instance
,
198 IN CHAR8
* AsciiFileName
,
199 OUT BOOTMON_FS_FILE
**File
203 BootMonGetFileFromPosition (
204 IN BOOTMON_FS_INSTANCE
*Instance
,
206 OUT BOOTMON_FS_FILE
**File