9#ifndef _SHELL_ENVIRONMENT_2_PROTOCOL_H_
10#define _SHELL_ENVIRONMENT_2_PROTOCOL_H_
12#define DEFAULT_INIT_ROW 1
13#define DEFAULT_AUTO_LF FALSE
89#define SHELL_FILE_ARG_SIGNATURE SIGNATURE_32 ('g', 'r', 'a', 'f')
94#define SHELL_ENVIRONMENT_PROTOCOL_GUID \
96 0x47c7b221, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} \
102#define EFI_SE_EXT_SIGNATURE_GUID \
104 0xd2c18636, 0x40e5, 0x4eb5, {0xa3, 0x1b, 0x36, 0x69, 0x5f, 0xd4, 0x2c, 0x87} \
107#define EFI_SHELL_MAJOR_VER 0x00000001
108#define EFI_SHELL_MINOR_VER 0x00000000
133 IN CHAR16 *CommandLine,
134 IN BOOLEAN DebugOutput
253 IN CHAR16 *DeviceName OPTIONAL
604#define PROTOCOL_INFO_SIGNATURE SIGNATURE_32 ('s', 'p', 'i', 'n')
756 IN BOOLEAN UseComponentName,
757 IN BOOLEAN UseDevicePath,
759 IN OUT CHAR16 **BestDeviceName,
766#define EFI_SHELL_COMPATIBLE_MODE_VER L"1.1.1"
767#define EFI_SHELL_ENHANCED_MODE_VER L"1.1.2"
831 IN BOOLEAN ConsistMapping,
965extern EFI_GUID gEfiShellEnvironment2Guid;
966extern EFI_GUID gEfiShellEnvironment2ExtGuid;
VOID(EFIAPI * RESET_PROTOCOL_INFO_ENUMERATOR)(VOID)
EFI_STATUS(EFIAPI * SKIP_PROTOCOL_INFO)(IN UINTN SkipNum)
CHAR16 *(EFIAPI * SHELLENV_GET_ENV)(IN CHAR16 *Name)
EFI_STATUS(EFIAPI * NEXT_HANDLE)(IN OUT EFI_HANDLE **Handle)
EFI_STATUS(EFIAPI * GET_SHELL_MODE)(OUT CHAR16 **Mode)
BOOLEAN(EFIAPI * SHELLENV_GET_EXECUTION_BREAK)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_FILE_META_ARG_NO_WILDCARD)(IN CHAR16 *Arg, IN OUT LIST_ENTRY *ListHead)
VOID(EFIAPI * SHELLENV_DISABLE_PAGE_BREAK)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_DEL_DUP_FILE)(IN LIST_ENTRY *ListHead)
EFI_STATUS(EFIAPI * SHELLCMD_GET_LINE_HELP)(IN OUT CHAR16 **Str)
VOID(EFIAPI * SHELLENV_FREE_RESOURCES)(VOID)
EFI_STATUS(EFIAPI * SKIP_HANDLE)(IN UINTN SkipNum)
UINT32(EFIAPI * SHELLENV_GET_KEY_FILTER)(VOID)
VOID(EFIAPI * INIT_HANDLE_ENUMERATOR)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_ADD_CMD)(IN SHELLENV_INTERNAL_COMMAND Handler, IN CHAR16 *Cmd, IN SHELLCMD_GET_LINE_HELP GetLineHelp)
EFI_SHELL_INTERFACE *(EFIAPI * SHELLENV_NEW_SHELL)(IN EFI_HANDLE ImageHandle)
VOID(EFIAPI * CLOSE_PROTOCOL_INFO_ENUMERATOR)(VOID)
CHAR16 *(EFIAPI * SHELLENV_GET_MAP)(IN CHAR16 *Name)
EFI_STATUS(EFIAPI * NEXT_PROTOCOL_INFO)(IN OUT PROTOCOL_INFO **ProtocolInfo)
EFI_STATUS(EFIAPI * SHELLENV_GET_FS_NAME)(IN EFI_DEVICE_PATH_PROTOCOL *DevPath, IN BOOLEAN ConsistMapping, OUT CHAR16 **Name)
VOID(EFIAPI * SHELLENV_ADD_PROT)(IN EFI_GUID *Protocol, IN SHELLENV_DUMP_PROTOCOL_INFO DumpToken OPTIONAL, IN SHELLENV_DUMP_PROTOCOL_INFO DumpInfo OPTIONAL, IN CHAR16 *IdString)
CHAR16 *(EFIAPI * SHELLENV_GET_PROT)(IN EFI_GUID *Protocol, IN BOOLEAN GenId)
VOID(EFIAPI * INIT_PROTOCOL_INFO_ENUMERATOR)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_EXECUTE)(IN EFI_HANDLE *ParentImageHandle, IN CHAR16 *CommandLine, IN BOOLEAN DebugOutput)
EFI_STATUS(EFIAPI * SHELLENV_FREE_FILE_LIST)(IN OUT LIST_ENTRY *ListHead)
CHAR16 *(EFIAPI * SHELLENV_CUR_DIR)(IN CHAR16 *DeviceName OPTIONAL)
VOID(EFIAPI * SHELLENV_INCREMENT_SHELL_NESTING_LEVEL)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_GET_FS_DEVICE_PATH)(IN CHAR16 *Name, OUT EFI_DEVICE_PATH_PROTOCOL **DevPath)
VOID(EFIAPI * SHELLENV_SET_KEY_FILTER)(IN UINT32 KeyFilter)
VOID(EFIAPI * CLOSE_HANDLE_ENUMERATOR)(VOID)
BOOLEAN(EFIAPI * SHELLENV_GET_PAGE_BREAK)(VOID)
BOOLEAN(EFIAPI * SHELLENV_IS_ROOT_SHELL)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_INTERNAL_COMMAND)(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS(EFIAPI * GET_DEVICE_NAME)(IN EFI_HANDLE DeviceHandle, IN BOOLEAN UseComponentName, IN BOOLEAN UseDevicePath, IN CHAR8 *Language, IN OUT CHAR16 **BestDeviceName, OUT EFI_STATUS *ConfigurationStatus, OUT EFI_STATUS *DiagnosticsStatus, IN BOOLEAN Display, IN UINTN Indent)
VOID(EFIAPI * SHELLENV_ENABLE_PAGE_BREAK)(IN INT32 StartRow, IN BOOLEAN AutoWrap)
EFI_DEVICE_PATH_PROTOCOL *(EFIAPI * SHELLENV_NAME_TO_PATH)(IN CHAR16 *Path)
UINTN(EFIAPI * GET_NUM)(VOID)
EFI_STATUS(EFIAPI * SHELLENV_FILE_META_ARG)(IN CHAR16 *Arg, IN OUT LIST_ENTRY *ListHead)
VOID(EFIAPI * SHELLENV_DECREMENT_SHELL_NESTING_LEVEL)(VOID)
UINTN(EFIAPI * RESET_HANDLE_ENUMERATOR)(IN UINTN EnumIndex)
BOOLEAN(EFIAPI * SHELLENV_BATCH_IS_ACTIVE)(VOID)
VOID(EFIAPI * SHELLENV_CLOSE_CONSOLE_PROXY)(IN EFI_HANDLE ConInHandle, IN OUT EFI_SIMPLE_TEXT_INPUT_PROTOCOL **ConIn, IN EFI_HANDLE ConOutHandle, IN OUT EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL **ConOut)
VOID(EFIAPI * SHELLENV_DUMP_PROTOCOL_INFO)(IN EFI_HANDLE Handle, IN VOID *Interface)
EFI_SHELL_ENVIRONMENT2 protocol structure.
INIT_HANDLE_ENUMERATOR Init
The pointer to INIT_HANDLE_ENUMERATOR function.
NEXT_HANDLE Next
The pointer to NEXT_HANDLE function.
CLOSE_HANDLE_ENUMERATOR Close
The pointer to CLOSE_HANDLE_ENUMERATOR function.
RESET_HANDLE_ENUMERATOR Reset
The pointer to RESET_HANDLE_ENUMERATOR function.
GET_NUM GetNum
The pointer to GET_NUM function.
SKIP_HANDLE Skip
The pointer to SKIP_HANDLE function.
CLOSE_PROTOCOL_INFO_ENUMERATOR Close
The pointer to CLOSE_PROTOCOL_INFO_ENUMERATOR function.
RESET_PROTOCOL_INFO_ENUMERATOR Reset
The pointer to RESET_PROTOCOL_INFO_ENUMERATOR function.
SKIP_PROTOCOL_INFO Skip
The pointer to SKIP_PROTOCOL_INFO function.
INIT_PROTOCOL_INFO_ENUMERATOR Init
The pointer to INIT_PROTOCOL_INFO_ENUMERATOR function.
NEXT_PROTOCOL_INFO Next
The pointer to NEXT_PROTOCOL_INFO function.
SHELLENV_DUMP_PROTOCOL_INFO DumpInfo
The pointer to DumpInfo function for the protocol.
EFI_GUID ProtocolId
The GUID for the protocol.
LIST_ENTRY Link
Standard linked list helper member.
UINTN NoHandles
The number of handles producing this protocol.
SHELLENV_DUMP_PROTOCOL_INFO DumpToken
The pointer to DumpToken function for the protocol.
UINTN Signature
PROTOCOL_INFO_SIGNATURE.
CHAR16 * IdString
The name of the protocol.
EFI_HANDLE * Handles
The array of handles.
EFI_STATUS Status
File's status.
LIST_ENTRY Link
Linked list helper.
EFI_DEVICE_PATH_PROTOCOL * ParentDevicePath
DevicePath for Parent.
CHAR16 * FullName
Path and file name for this file.
EFI_FILE_HANDLE Handle
Handle to this file.
UINT32 Signature
SHELL_FILE_ARG_SIGNATURE.
CHAR16 * ParentName
String representation of parent.
EFI_FILE_INFO * Info
Pointer to file info for this file.
CHAR16 * FileName
File name for this file.
EFI_FILE_HANDLE Parent
What is the Parent file of this file.
UINT64 OpenMode
How was the file opened.