]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Application/Shell/ConsoleWrappers.h
fixes for IPF, CTRL-C support, and file redirection.
[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) 2010, 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 _SHELL_CONSOLE_WRAPPERS_HEADER_
16 #define _SHELL_CONSOLE_WRAPPERS_HEADER_
17
18 /**
19 Function to create a EFI_SIMPLE_TEXT_INPUT_PROTOCOL on top of a
20 SHELL_FILE_HANDLE to support redirecting input from a file.
21
22 @param[in] FileHandleToUse The pointer to the SHELL_FILE_HANDLE to use.
23 @param[in] HandleLocation The pointer of a location to copy handle with protocol to.
24
25 @retval NULL There was insufficient memory available.
26 @return A pointer to the allocated protocol structure;
27 **/
28 EFI_SIMPLE_TEXT_INPUT_PROTOCOL*
29 EFIAPI
30 CreateSimpleTextInOnFile(
31 IN SHELL_FILE_HANDLE FileHandleToUse,
32 IN EFI_HANDLE *HandleLocation
33 );
34
35 /**
36 Function to close a EFI_SIMPLE_TEXT_INPUT_PROTOCOL on top of a
37 SHELL_FILE_HANDLE to support redirecting input from a file.
38
39 @param[in] SimpleTextIn The pointer to the SimpleTextIn to close.
40
41 @retval EFI_SUCCESS The object was closed.
42 **/
43 EFI_STATUS
44 EFIAPI
45 CloseSimpleTextInOnFile(
46 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *SimpleTextIn
47 );
48
49 /**
50 Function to create a EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on top of a
51 SHELL_FILE_HANDLE to support redirecting output from a file.
52
53 @param[in] FileHandleToUse The pointer to the SHELL_FILE_HANDLE to use.
54 @param[in] HandleLocation The pointer of a location to copy handle with protocol to.
55
56 @retval NULL There was insufficient memory available.
57 @return A pointer to the allocated protocol structure;
58 **/
59 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL*
60 EFIAPI
61 CreateSimpleTextOutOnFile(
62 IN SHELL_FILE_HANDLE FileHandleToUse,
63 IN EFI_HANDLE *HandleLocation
64 );
65
66 /**
67 Function to close a EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on top of a
68 SHELL_FILE_HANDLE to support redirecting output from a file.
69
70 @param[in] SimpleTextOut The pointer to the SimpleTextOUT to close.
71
72 @retval EFI_SUCCESS The object was closed.
73 **/
74 EFI_STATUS
75 EFIAPI
76 CloseSimpleTextOutOnFile(
77 OUT EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *SimpleTextOut
78 );
79
80 #endif //_SHELL_CONSOLE_WRAPPERS_HEADER_
81