/** @file | |
* | |
* Copyright (c) 2014, ARM Ltd. All rights reserved.<BR> | |
* | |
* 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 __ARM_SHELL_CMD_RUNAXF__ | |
#define __ARM_SHELL_CMD_RUNAXF__ | |
#include <Protocol/Shell.h> | |
#include <Protocol/ShellDynamicCommand.h> | |
#include <Library/HiiLib.h> | |
#include <Library/ShellLib.h> | |
#include <Library/UefiBootServicesTableLib.h> | |
extern EFI_GUID gRunAxfHiiGuid; | |
extern EFI_HANDLE gRunAxfHiiHandle; | |
extern EFI_HANDLE gRunAxfImageHandle; | |
// List of data segments to load to memory from AXF/ELF file. | |
typedef struct { | |
LIST_ENTRY Link; // This attribute must be the first entry of this | |
// structure (to avoid pointer computation) | |
UINTN MemOffset; // Where the data should go, Dest | |
UINTN FileOffset; // Where the data is from, Src | |
BOOLEAN Zeroes; // A section of Zeroes. Like .bss in ELF | |
UINTN Length; // Number of bytes. | |
} RUNAXF_LOAD_LIST; | |
/** | |
This is the shell command handler function pointer callback type. This | |
function handles the command when it is invoked in the shell. | |
@param[in] This The instance of the | |
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL. | |
@param[in] SystemTable The pointer to the system table. | |
@param[in] ShellParameters The parameters associated with the command. | |
@param[in] Shell The instance of the shell protocol used in the | |
context of processing this command. | |
@return EFI_SUCCESS The operation was successful. | |
@return other The operation failed. | |
**/ | |
SHELL_STATUS | |
EFIAPI | |
ShellDynCmdRunAxfHandler ( | |
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This, | |
IN EFI_SYSTEM_TABLE *SystemTable, | |
IN EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters, | |
IN EFI_SHELL_PROTOCOL *Shell | |
); | |
/** | |
This is the command help handler function pointer callback type. This | |
function is responsible for displaying help information for the associated | |
command. | |
@param[in] This The instance of the | |
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL. | |
@param[in] Language The pointer to the language string to use. | |
@return string Pool allocated help string, must be freed by | |
caller. | |
**/ | |
CHAR16* | |
EFIAPI | |
ShellDynCmdRunAxfGetHelp ( | |
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This, | |
IN CONST CHAR8 *Language | |
); | |
#endif //__ARM_SHELL_CMD_RUNAXF__ |