1 /** @file 2 EFI Shell protocol as defined in the UEFI Shell 2.0 specification. 3 4 Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __EFI_SHELL_PARAMETERS_PROTOCOL_H__ 16 #define __EFI_SHELL_PARAMETERS_PROTOCOL_H__ 17 18 #include <Protocol/Shell.h> 19 20 #define EFI_SHELL_PARAMETERS_PROTOCOL_GUID \ 21 { \ 22 0x752f3136, 0x4e16, 0x4fdc, { 0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca } \ 23 } 24 25 typedef struct _EFI_SHELL_PARAMETERS_PROTOCOL { 26 /// 27 /// Points to an Argc-element array of points to NULL-terminated strings containing 28 /// the command-line parameters. The first entry in the array is always the full file 29 /// path of the executable. Any quotation marks that were used to preserve 30 /// whitespace have been removed. 31 /// 32 CHAR16 **Argv; 33 34 /// 35 /// The number of elements in the Argv array. 36 /// 37 UINTN Argc; 38 39 /// 40 /// The file handle for the standard input for this executable. This may be different 41 /// from the ConInHandle in EFI_SYSTEM_TABLE. 42 /// 43 SHELL_FILE_HANDLE StdIn; 44 45 /// 46 /// The file handle for the standard output for this executable. This may be different 47 /// from the ConOutHandle in EFI_SYSTEM_TABLE. 48 /// 49 SHELL_FILE_HANDLE StdOut; 50 51 /// 52 /// The file handle for the standard error output for this executable. This may be 53 /// different from the StdErrHandle in EFI_SYSTEM_TABLE. 54 /// 55 SHELL_FILE_HANDLE StdErr; 56 } EFI_SHELL_PARAMETERS_PROTOCOL; 57 58 extern EFI_GUID gEfiShellParametersProtocolGuid; 59 60 #endif 61