/** @file | |
* | |
* Copyright (c) 2014, ARM Ltd. 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 __BOOTMONFS_LOADER_H__ | |
#define __BOOTMONFS_LOADER_H__ | |
/** | |
Check that loading the file is supported. | |
Not all information is checked, only the properties that matters to us in | |
our simplified loader. | |
BootMonFS file properties is not in a file header but in the file-system | |
metadata, so we need to pass a handle to the file to allow access to the | |
information. | |
@param[in] FileHandle Handle of the file to check. | |
@retval EFI_SUCCESS on success. | |
@retval EFI_INVALID_PARAMETER if the header is invalid. | |
@retval EFI_UNSUPPORTED if the file type/platform is not supported. | |
**/ | |
EFI_STATUS | |
BootMonFsCheckFile ( | |
IN CONST EFI_FILE_HANDLE FileHandle | |
); | |
/** | |
Load a binary file from BootMonFS. | |
@param[in] FileHandle Handle of the file to load. | |
@param[in] FileData Address of the file data in memory. | |
@param[out] EntryPoint Will be filled with the ELF entry point address. | |
@param[out] ImageSize Will be filled with the file size in memory. This | |
will effectively be equal to the sum of the load | |
region sizes. | |
This function assumes the file is valid and supported as checked with | |
BootMonFsCheckFile(). | |
@retval EFI_SUCCESS on success. | |
@retval EFI_INVALID_PARAMETER if the file is invalid. | |
**/ | |
EFI_STATUS | |
BootMonFsLoadFile ( | |
IN CONST EFI_FILE_HANDLE FileHandle, | |
IN CONST VOID *FileData, | |
OUT VOID **EntryPoint, | |
OUT LIST_ENTRY *LoadList | |
); | |
#endif // __BOOTMONFS_LOADER_H__ |