Home | History | Annotate | Download | only in Protocol
      1 /** @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 
     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