• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   Function definitions for shell simple text in and out on top of file handles.
3 
4   (C) Copyright 2013 Hewlett-Packard Development Company, L.P.<BR>
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 
85