blob: e52328b3a4ab2238f61242de6dc9a48c98a91979 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2 EFI Shell protocol as defined in the UEFI Shell 2.0 specification.
3
4 Copyright (c) 2006 - 2011, 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__
16#define __EFI_SHELL_PARAMETERS_PROTOCOL__
17
18#include <ShellBase.h>
19
20#define EFI_SHELL_PARAMETERS_PROTOCOL_GUID \
21 { \
22 0x752f3136, 0x4e16, 0x4fdc, { 0xa2, 0x2a, 0xe5, 0xf4, 0x68, 0x12, 0xf4, 0xca } \
23 }
24
25typedef 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
58extern EFI_GUID gEfiShellParametersProtocolGuid;
59
60#endif