-/** @file\r
- Include file for basic command line parser for EBL (Embedded Boot Loader)\r
-\r
- Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
- Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
- (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
-\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef __EBL_H__\r
-#define __EBL_H__\r
-\r
-#include <PiDxe.h>\r
-#include <Protocol/BlockIo.h>\r
-#include <Protocol/SimpleFileSystem.h>\r
-#include <Protocol/FirmwareVolume2.h>\r
-#include <Protocol/LoadFile.h>\r
-#include <Protocol/FirmwareVolumeBlock.h>\r
-#include <Protocol/PxeBaseCode.h>\r
-#include <Protocol/LoadedImage.h>\r
-#include <Protocol/EblAddCommand.h>\r
-#include <Protocol/PciIo.h>\r
-#include <Protocol/DevicePath.h>\r
-\r
-#include <Guid/FileInfo.h>\r
-#include <Guid/DxeServices.h>\r
-#include <Guid/MemoryTypeInformation.h>\r
-#include <Guid/MemoryAllocationHob.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/PrintLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/EfiFileLib.h>\r
-#include <Library/HobLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/EblCmdLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/EblNetworkLib.h>\r
-#include <Library/TimerLib.h>\r
-\r
-#include <IndustryStandard/Pci.h>\r
-\r
-//\r
-// Prompt for the command line\r
-//\r
-#define CMD_SEPARATOR ';'\r
-#define EBL_MAX_COMMAND_COUNT 0x100\r
-#define MAX_CMD_HISTORY 16\r
-#define MAX_CMD_LINE 256\r
-#define MAX_ARGS 32\r
-\r
-#define EBL_CR 0x0a\r
-#define EBL_LF 0x0d\r
-\r
-#define EFI_SET_TIMER_TO_SECOND 10000000\r
-\r
-\r
-\r
-EBL_COMMAND_TABLE *\r
-EblGetCommand (\r
- IN CHAR8 *CommandName\r
- );\r
-\r
-\r
-EFI_STATUS\r
-EblPathToDevice (\r
- IN CHAR8 *Path,\r
- OUT EFI_HANDLE *DeviceHandle,\r
- OUT EFI_DEVICE_PATH_PROTOCOL **PathDevicePath,\r
- OUT VOID **Buffer,\r
- OUT UINTN *BufferSize\r
- );\r
-\r
-BOOLEAN\r
-EFIAPI\r
-EblAnyKeyToContinueQtoQuit (\r
- IN UINTN *CurrentRow,\r
- IN BOOLEAN PrefixNewline\r
- );\r
-\r
-VOID\r
-EblUpdateDeviceLists (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeCmdTable (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblShutdownExternalCmdTable (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblSetTextColor (\r
- UINTN Attribute\r
- );\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-EblGetCharKey (\r
- IN OUT EFI_INPUT_KEY *Key,\r
- IN UINTN TimoutInSec,\r
- IN EBL_GET_CHAR_CALL_BACK CallBack OPTIONAL\r
- );\r
-\r
-// BugBug: Move me to a library\r
-INTN\r
-EFIAPI\r
-AsciiStrniCmp (\r
- IN CONST CHAR8 *FirstString,\r
- IN CONST CHAR8 *SecondString,\r
- IN UINTN Length\r
- );\r
-\r
-\r
-VOID\r
-EblInitializeDeviceCmd (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializemdHwDebugCmds (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeDirCmd (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeHobCmd (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializemdHwIoDebugCmds (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeScriptCmd (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeNetworkCmd (\r
- VOID\r
- );\r
-\r
-VOID\r
-EblInitializeVariableCmds (\r
- VOID\r
- );\r
-\r
-CHAR8 *\r
-ParseArguments (\r
- IN CHAR8 *CmdLine,\r
- OUT UINTN *Argc,\r
- OUT CHAR8 **Argv\r
- );\r
-\r
-EFI_STATUS\r
-ProcessCmdLine (\r
- IN CHAR8 *CmdLine,\r
- IN UINTN MaxCmdLineSize\r
- );\r
-\r
-EFI_STATUS\r
-OutputData (\r
- IN UINT8 *Address,\r
- IN UINTN Length,\r
- IN UINTN Width,\r
- IN UINTN Offset\r
- );\r
-\r
-UINTN\r
-WidthFromCommandName (\r
- IN CHAR8 *Argv,\r
- IN UINTN Default\r
- );\r
-\r
-\r
-extern UINTN gScreenColumns;\r
-extern UINTN gScreenRows;\r
-extern BOOLEAN gPageBreak;\r
-extern CHAR8 *gMemMapType[];\r
-\r
-#endif\r
-\r