Home | History | Annotate | Download | only in Shell
      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 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 CloseSimpleTextInOnFile(
     45   IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL  *SimpleTextIn
     46   );
     47 
     48 /**
     49   Function to create a EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on top of a
     50   SHELL_FILE_HANDLE to support redirecting output from a file.
     51 
     52   @param[in]  FileHandleToUse  The pointer to the SHELL_FILE_HANDLE to use.
     53   @param[in]  HandleLocation   The pointer of a location to copy handle with protocol to.
     54   @param[in]  OriginalProtocol The pointer to the original output protocol for pass thru of functions.
     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 CreateSimpleTextOutOnFile(
     61   IN SHELL_FILE_HANDLE               FileHandleToUse,
     62   IN EFI_HANDLE                      *HandleLocation,
     63   IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *OriginalProtocol
     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 CloseSimpleTextOutOnFile(
     76   IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *SimpleTextOut
     77   );
     78 
     79 #endif //_SHELL_CONSOLE_WRAPPERS_HEADER_
     80 
     81