This large code change only modifies the line endings to be CRLF to be compliant with the EDK2 coding convention document. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14088 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			208 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			208 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Include file for basic command line parser for EBL (Embedded Boot Loader)
 | |
| 
 | |
|   Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
 | |
|   Portions copyright (c) 2008 - 2009, Apple Inc. 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 __EBL_H__
 | |
| #define __EBL_H__
 | |
| 
 | |
| #include <PiDxe.h>
 | |
| #include <Protocol/BlockIo.h>             
 | |
| #include <Protocol/SimpleFileSystem.h>      
 | |
| #include <Protocol/FirmwareVolume2.h>        
 | |
| #include <Protocol/LoadFile.h>              
 | |
| #include <Protocol/FirmwareVolumeBlock.h> 
 | |
| #include <Protocol/PxeBaseCode.h> 
 | |
| #include <Protocol/LoadedImage.h> 
 | |
| #include <Protocol/EblAddCommand.h>
 | |
| #include <Protocol/PciIo.h>
 | |
| #include <Protocol/DevicePath.h>
 | |
| 
 | |
| #include <Guid/FileInfo.h>
 | |
| #include <Guid/DxeServices.h>
 | |
| #include <Guid/MemoryTypeInformation.h>
 | |
| #include <Guid/MemoryAllocationHob.h>
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/MemoryAllocationLib.h>
 | |
| #include <Library/DevicePathLib.h>
 | |
| #include <Library/PrintLib.h>
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| #include <Library/UefiLib.h>   
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| #include <Library/UefiRuntimeServicesTableLib.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/EfiFileLib.h>
 | |
| #include <Library/HobLib.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/IoLib.h>
 | |
| #include <Library/PcdLib.h>
 | |
| #include <Library/EblCmdLib.h>
 | |
| #include <Library/DevicePathLib.h>
 | |
| #include <Library/UefiLib.h>
 | |
| #include <Library/EblNetworkLib.h>
 | |
| #include <Library/TimerLib.h>
 | |
| 
 | |
| #include <IndustryStandard/Pci.h>
 | |
| 
 | |
| //
 | |
| // Prompt for the command line
 | |
| //
 | |
| #define CMD_SEPARATOR             ';'
 | |
| #define EBL_MAX_COMMAND_COUNT     0x100
 | |
| #define MAX_CMD_HISTORY           16
 | |
| #define MAX_CMD_LINE              256
 | |
| #define MAX_ARGS                  32
 | |
| 
 | |
| #define EBL_CR                    0x0a
 | |
| #define EBL_LF                    0x0d
 | |
| 
 | |
| #define EFI_SET_TIMER_TO_SECOND   10000000
 | |
| 
 | |
| 
 | |
| 
 | |
| EBL_COMMAND_TABLE *
 | |
| EblGetCommand (
 | |
|   IN CHAR8                        *CommandName
 | |
|   );
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EblPathToDevice (
 | |
|   IN  CHAR8                       *Path,
 | |
|   OUT EFI_HANDLE                  *DeviceHandle,
 | |
|   OUT EFI_DEVICE_PATH_PROTOCOL    **PathDevicePath,
 | |
|   OUT VOID                        **Buffer,
 | |
|   OUT UINTN                       *BufferSize
 | |
|   );
 | |
| 
 | |
| BOOLEAN
 | |
| EblAnyKeyToContinueQtoQuit (
 | |
|   IN  UINTN                       *CurrentRow,
 | |
|   IN  BOOLEAN                     PrefixNewline
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblUpdateDeviceLists (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeCmdTable (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblShutdownExternalCmdTable (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblSetTextColor (
 | |
|   UINTN                           Attribute
 | |
|   );
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EblGetCharKey (
 | |
|   IN OUT EFI_INPUT_KEY            *Key,
 | |
|   IN     UINTN                    TimoutInSec,
 | |
|   IN     EBL_GET_CHAR_CALL_BACK   CallBack   OPTIONAL
 | |
|   );
 | |
| 
 | |
| // BugBug: Move me to a library
 | |
| INTN
 | |
| EFIAPI
 | |
| AsciiStrniCmp (
 | |
|   IN      CONST CHAR8             *FirstString,
 | |
|   IN      CONST CHAR8             *SecondString,
 | |
|   IN      UINTN                   Length
 | |
|   );
 | |
| 
 | |
| 
 | |
| VOID
 | |
| EblInitializeDeviceCmd (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializemdHwDebugCmds (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeDirCmd (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeHobCmd (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializemdHwIoDebugCmds (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeScriptCmd (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeNetworkCmd (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| EblInitializeVariableCmds (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| CHAR8 *
 | |
| ParseArguments (
 | |
|   IN  CHAR8                       *CmdLine,
 | |
|   OUT UINTN                       *Argc,
 | |
|   OUT CHAR8                       **Argv
 | |
|   );
 | |
| 
 | |
| EFI_STATUS
 | |
| ProcessCmdLine (
 | |
|   IN CHAR8                        *CmdLine,
 | |
|   IN UINTN                        MaxCmdLineSize
 | |
|   );
 | |
| 
 | |
| EFI_STATUS
 | |
| OutputData (
 | |
|   IN UINT8                        *Address,
 | |
|   IN UINTN                        Length,
 | |
|   IN UINTN                         Width,
 | |
|   IN UINTN                        Offset
 | |
|   );
 | |
|   
 | |
| UINTN
 | |
| WidthFromCommandName (
 | |
|   IN CHAR8                        *Argv,
 | |
|   IN UINTN                        Default
 | |
|   );
 | |
| 
 | |
| 
 | |
| extern UINTN                      gScreenColumns;
 | |
| extern UINTN                      gScreenRows;
 | |
| extern BOOLEAN                    gPageBreak;
 | |
| extern CHAR8                      *gMemMapType[];
 | |
| 
 | |
| #endif
 | |
| 
 |