mirror of https://github.com/acidanthera/audk.git
ShellPkg: Add new dynamic command protocol
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15731 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
a31a3b4a3e
commit
e66e86ee2d
|
@ -0,0 +1,86 @@
|
|||
/** @file
|
||||
EFI Shell Dynamic Command registration protocol
|
||||
|
||||
Copyright (c) 2012 Hewlett-Packard Company. 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 __EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL__
|
||||
#define __EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL__
|
||||
|
||||
#include <ShellBase.h>
|
||||
#include <Protocol/EfiShellParameters.h>
|
||||
#include <Protocol/EfiShell.h>
|
||||
|
||||
|
||||
// {0CD3258C-D677-4fcc-B343-934D30983888}
|
||||
#define EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xcd3258c, 0xd677, 0x4fcc, { 0xb3, 0x43, 0x93, 0x4d, 0x30, 0x98, 0x38, 0x88 } \
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Define for forward reference.
|
||||
//
|
||||
typedef struct _EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL;
|
||||
|
||||
|
||||
/**
|
||||
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 sucessful
|
||||
@return other the operation failed.
|
||||
**/
|
||||
typedef
|
||||
SHELL_STATUS
|
||||
(EFIAPI * SHELL_COMMAND_HANDLER)(
|
||||
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
|
||||
**/
|
||||
typedef
|
||||
CHAR16*
|
||||
(EFIAPI * SHELL_COMMAND_GETHELP)(
|
||||
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This,
|
||||
IN CONST CHAR8 *Language
|
||||
);
|
||||
|
||||
/// EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL protocol structure.
|
||||
typedef struct _EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL {
|
||||
|
||||
CONST CHAR16 *CommandName;
|
||||
SHELL_COMMAND_HANDLER Handler;
|
||||
SHELL_COMMAND_GETHELP GetHelp;
|
||||
|
||||
} EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiShellDynamicCommandProtocolGuid;
|
||||
|
||||
#endif
|
|
@ -3,7 +3,7 @@
|
|||
# This Package provides all definitions for EFI and UEFI Shell
|
||||
#
|
||||
# Copyright (c) 2013, Hewlett-Packard Development Company, L.P.
|
||||
# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2009 - 2014, Intel Corporation. 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.
|
||||
|
@ -62,10 +62,11 @@
|
|||
gShellNetwork1HiiGuid = {0xf3d301bb, 0xf4a5, 0x45a8, {0xb0, 0xb7, 0xfa, 0x99, 0x9c, 0x62, 0x37, 0xae}}
|
||||
|
||||
[Protocols]
|
||||
gEfiShellProtocolGuid = {0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e}}
|
||||
gEfiShellParametersProtocolGuid = {0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca}}
|
||||
gEfiShellEnvironment2Guid = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
|
||||
gEfiShellInterfaceGuid = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
|
||||
gEfiShellProtocolGuid = {0x6302d008, 0x7f9b, 0x4f30, {0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e}}
|
||||
gEfiShellParametersProtocolGuid = {0x752f3136, 0x4e16, 0x4fdc, {0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca}}
|
||||
gEfiShellEnvironment2Guid = {0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
|
||||
gEfiShellInterfaceGuid = {0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
|
||||
gEfiShellDynamicCommandProtocolGuid = {0xcd3258c, 0xd677, 0x4fcc, { 0xb3, 0x43, 0x93, 0x4d, 0x30, 0x98, 0x38, 0x88}}
|
||||
|
||||
[PcdsFeatureFlag]
|
||||
## This flag is used to control whether the shell includes NT32 platform Guids
|
||||
|
|
Loading…
Reference in New Issue