]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Application/Shell/ConsoleWrappers.h
ShellPkg: Fixes the shell so output redirection works for the 'mode' command
[mirror_edk2.git] / ShellPkg / Application / Shell / ConsoleWrappers.h
1 /** @file
2 Function definitions for shell simple text in and out on top of file handles.
3
4 Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
5 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _SHELL_CONSOLE_WRAPPERS_HEADER_
17 #define _SHELL_CONSOLE_WRAPPERS_HEADER_
18
19 /**
20 Function to create a EFI_SIMPLE_TEXT_INPUT_PROTOCOL on top of a
21 SHELL_FILE_HANDLE to support redirecting input from a file.
22
23 @param[in] FileHandleToUse The pointer to the SHELL_FILE_HANDLE to use.
24 @param[in] HandleLocation The pointer of a location to copy handle with protocol to.
25
26 @retval NULL There was insufficient memory available.
27 @return A pointer to the allocated protocol structure;
28 **/
29 EFI_SIMPLE_TEXT_INPUT_PROTOCOL*
30 EFIAPI
31 CreateSimpleTextInOnFile(
32 IN SHELL_FILE_HANDLE FileHandleToUse,
33 IN EFI_HANDLE *HandleLocation
34 );
35
36 /**
37 Function to close a EFI_SIMPLE_TEXT_INPUT_PROTOCOL on top of a
38 SHELL_FILE_HANDLE to support redirecting input from a file.
39
40 @param[in] SimpleTextIn The pointer to the SimpleTextIn to close.
41
42 @retval EFI_SUCCESS The object was closed.
43 **/
44 EFI_STATUS
45 EFIAPI
46 CloseSimpleTextInOnFile(
47 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *SimpleTextIn
48 );
49
50 /**
51 Function to create a EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on top of a
52 SHELL_FILE_HANDLE to support redirecting output from a file.
53
54 @param[in] FileHandleToUse The pointer to the SHELL_FILE_HANDLE to use.
55 @param[in] HandleLocation The pointer of a location to copy handle with protocol to.
56 @param[in] OriginalProtocol The pointer to the original output protocol for pass thru of functions.
57
58 @retval NULL There was insufficient memory available.
59 @return A pointer to the allocated protocol structure;
60 **/
61 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL*
62 EFIAPI
63 CreateSimpleTextOutOnFile(
64 IN SHELL_FILE_HANDLE FileHandleToUse,
65 IN EFI_HANDLE *HandleLocation,
66 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *OriginalProtocol
67 );
68
69 /**
70 Function to close a EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on top of a
71 SHELL_FILE_HANDLE to support redirecting output from a file.
72
73 @param[in] SimpleTextOut The pointer to the SimpleTextOUT to close.
74
75 @retval EFI_SUCCESS The object was closed.
76 **/
77 EFI_STATUS
78 EFIAPI
79 CloseSimpleTextOutOnFile(
80 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *SimpleTextOut
81 );
82
83 #endif //_SHELL_CONSOLE_WRAPPERS_HEADER_
84