12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /** @file
- EFI Shell Interface protocol from EDK shell (no spec).
- Shell Interface - additional information (over image_info) provided
- to an application started by the shell.
- ConIo provides a file-style interface to the console.
- The shell interface's and data (including ConIo) are only valid during
- the applications Entry Point. Once the application returns from it's
- entry point the data is freed by the invoking shell.
- Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef _SHELLINTERFACE_H_
- #define _SHELLINTERFACE_H_
- #include <Protocol/SimpleFileSystem.h>
- #define SHELL_INTERFACE_PROTOCOL_GUID \
- { \
- 0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} \
- }
- ///
- /// Bit definitions for EFI_SHELL_ARG_INFO
- ///
- typedef enum {
- ARG_NO_ATTRIB = 0x0,
- ARG_IS_QUOTED = BIT0,
- ARG_PARTIALLY_QUOTED = BIT1,
- ARG_FIRST_HALF_QUOTED = BIT2,
- ARG_FIRST_CHAR_IS_ESC = BIT3
- } EFI_SHELL_ARG_INFO_TYPES;
- ///
- /// Attributes for an argument.
- ///
- typedef struct _EFI_SHELL_ARG_INFO {
- UINT32 Attributes;
- } EFI_SHELL_ARG_INFO;
- ///
- /// This protocol provides access to additional information about a shell application.
- ///
- typedef struct {
- ///
- /// Handle back to original image handle & image information.
- ///
- EFI_HANDLE ImageHandle;
- EFI_LOADED_IMAGE_PROTOCOL *Info;
- ///
- /// Parsed arg list converted more C-like format.
- ///
- CHAR16 **Argv;
- UINTN Argc;
- ///
- /// Storage for file redirection args after parsing.
- ///
- CHAR16 **RedirArgv;
- UINTN RedirArgc;
- ///
- /// A file style handle for console io.
- ///
- EFI_FILE_PROTOCOL *StdIn;
- EFI_FILE_PROTOCOL *StdOut;
- EFI_FILE_PROTOCOL *StdErr;
- ///
- /// List of attributes for each argument.
- ///
- EFI_SHELL_ARG_INFO *ArgInfo;
- ///
- /// Whether we are echoing.
- ///
- BOOLEAN EchoOn;
- } EFI_SHELL_INTERFACE;
- extern EFI_GUID gEfiShellInterfaceGuid;
- #endif
|