/** @file | |
* | |
* Copyright (c) 2012-2014, ARM Limited. All rights reserved. | |
* | |
* This program and the accompanying materials | |
* are licensed and made available under the terms and conditions of the BSD License | |
* which accompanies this distribution. The full text of the license may be found at | |
* http://opensource.org/licenses/bsd-license.php | |
* | |
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
* | |
**/ | |
#ifndef __BOOTMON_FS_API_H | |
#define __BOOTMON_FS_API_H | |
#include <Protocol/SimpleFileSystem.h> | |
EFI_STATUS | |
BootMonFsDiscoverNextImage ( | |
IN BOOTMON_FS_INSTANCE *Flash, | |
IN EFI_LBA *LbaStart, | |
OUT HW_IMAGE_DESCRIPTION *Image | |
); | |
EFI_STATUS | |
BootMonFsInitialize ( | |
IN BOOTMON_FS_INSTANCE *Instance | |
); | |
UINT32 | |
BootMonFsChecksum ( | |
IN VOID *Data, | |
IN UINT32 Size | |
); | |
EFI_STATUS | |
BootMonFsComputeFooterChecksum ( | |
IN OUT HW_IMAGE_DESCRIPTION *Footer | |
); | |
EFIAPI | |
EFI_STATUS | |
OpenBootMonFsOpenVolume ( | |
IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, | |
OUT EFI_FILE_PROTOCOL **Root | |
); | |
UINT32 | |
BootMonFsGetImageLength ( | |
IN BOOTMON_FS_FILE *File | |
); | |
UINTN | |
BootMonFsGetPhysicalSize ( | |
IN BOOTMON_FS_FILE* File | |
); | |
EFI_STATUS | |
BootMonFsCreateFile ( | |
IN BOOTMON_FS_INSTANCE *Instance, | |
OUT BOOTMON_FS_FILE **File | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsGetInfo ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN EFI_GUID *InformationType, | |
IN OUT UINTN *BufferSize, | |
OUT VOID *Buffer | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsReadDirectory ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN OUT UINTN *BufferSize, | |
OUT VOID *Buffer | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsFlushDirectory ( | |
IN EFI_FILE_PROTOCOL *This | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsFlushFile ( | |
IN EFI_FILE_PROTOCOL *This | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsCloseFile ( | |
IN EFI_FILE_PROTOCOL *This | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsOpenFile ( | |
IN EFI_FILE_PROTOCOL *This, | |
OUT EFI_FILE_PROTOCOL **NewHandle, | |
IN CHAR16 *FileName, | |
IN UINT64 OpenMode, | |
IN UINT64 Attributes | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsReadFile ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN OUT UINTN *BufferSize, | |
OUT VOID *Buffer | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsSetDirPosition ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN UINT64 Position | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsGetPosition ( | |
IN EFI_FILE_PROTOCOL *This, | |
OUT UINT64 *Position | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsWriteFile ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN OUT UINTN *BufferSize, | |
IN VOID *Buffer | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsDeleteFail ( | |
IN EFI_FILE_PROTOCOL *This | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsDelete ( | |
IN EFI_FILE_PROTOCOL *This | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsSetPosition ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN UINT64 Position | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsGetPosition( | |
IN EFI_FILE_PROTOCOL *This, | |
OUT UINT64 *Position | |
); | |
// | |
// UNSUPPORTED OPERATIONS | |
// | |
EFIAPI | |
EFI_STATUS | |
BootMonFsGetPositionUnsupported ( | |
IN EFI_FILE_PROTOCOL *This, | |
OUT UINT64 *Position | |
); | |
EFIAPI | |
EFI_STATUS | |
BootMonFsSetInfo ( | |
IN EFI_FILE_PROTOCOL *This, | |
IN EFI_GUID *InformationType, | |
IN UINTN BufferSize, | |
IN VOID *Buffer | |
); | |
// | |
// Directory API | |
// | |
EFI_STATUS | |
BootMonFsOpenDirectory ( | |
OUT EFI_FILE_PROTOCOL **NewHandle, | |
IN CHAR16 *FileName, | |
IN BOOTMON_FS_INSTANCE *Volume | |
); | |
// | |
// Internal API | |
// | |
EFI_STATUS | |
BootMonGetFileFromAsciiFileName ( | |
IN BOOTMON_FS_INSTANCE *Instance, | |
IN CHAR8* AsciiFileName, | |
OUT BOOTMON_FS_FILE **File | |
); | |
EFI_STATUS | |
BootMonGetFileFromPosition ( | |
IN BOOTMON_FS_INSTANCE *Instance, | |
IN UINTN Position, | |
OUT BOOTMON_FS_FILE **File | |
); | |
#endif |