efishellparm.h 2.0 KB

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