summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h')
-rw-r--r--ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h b/ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h
new file mode 100644
index 0000000000..de3c0adcd1
--- /dev/null
+++ b/ArmPlatformPkg/Library/ArmShellCmdRunAxf/BootMonFsLoader.h
@@ -0,0 +1,66 @@
+/** @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__