+++ /dev/null
-/** @file\r
- Utilities for Interactive I/O Functions.\r
-\r
- The functions assume that isatty() is TRUE at the time they are called.\r
-\r
- Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials are licensed and made available\r
- under the terms and conditions of the BSD License which accompanies this\r
- distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-#ifndef _IIO_UTILITIES_H\r
-#define _IIO_UTILITIES_H\r
-\r
-#include <sys/EfiSysCall.h>\r
-\r
-__BEGIN_DECLS\r
-\r
-/** Get the low-level UEFI protocol associated with an open file.\r
-\r
- @param[in] fd File descriptor for an open file.\r
- @param[out] filp NULL, or a pointer to where a pointer to the file's\r
- file descriptor structure is to be stored.\r
-\r
- @return Returns NULL if fd is not a valid file descriptor, otherwise\r
- a pointer to the file's associated UEFI protocol is returned.\r
-**/\r
-void *\r
-EFIAPI\r
-IIO_GetDeviceProto (\r
- int fd,\r
- struct __filedes **filp // Optional - filp == NULL if unused\r
- );\r
-\r
-/** Get a character either from the input buffer or from hardware.\r
-\r
- @param[in] filp Pointer to a file descriptor structure.\r
- @param[in] First Set to TRUE to identify the initial read.\r
-\r
- @return Returns a character read from either the input buffer\r
- or from the open file (device) identified by filp.\r
- A return value of WEOF indicates an error has occurred.\r
-**/\r
-wint_t\r
-EFIAPI\r
-IIO_GetInChar (\r
- struct __filedes *filp,\r
- BOOLEAN First\r
- );\r
-\r
-/** Get the current cursor position.\r
-\r
- @param[in] fd File descriptor for an open file.\r
- @param[out] Column Pointer to where the current cursor column is to be stored.\r
- @param[out] Row Pointer to where the current cursor row is to be stored.\r
-\r
- @retval -1 fd is not an IIO output device.\r
- @retval 0 Cursor position retrieved, Cursor is Not Visible.\r
- @retval 1 Cursor position retrieved, Cursor is Visible.\r
-**/\r
-int\r
-EFIAPI\r
-IIO_GetCursorPosition (\r
- int fd,\r
- UINT32 *Column,\r
- UINT32 *Row\r
- );\r
-\r
-/** Set the cursor position.\r
-\r
- @param[in] filp Pointer to the output device's file descriptor structure.\r
- @param[in] StartXY Pointer to a cursor coordinate (XY) structure indicating\r
- the desired coordinate to move the cursor to.\r
-\r
- @retval -1 fd is not an IIO output device\r
- @retval 0 Cursor position set successfully.\r
-**/\r
-int\r
-EFIAPI\r
-IIO_SetCursorPosition (\r
- struct __filedes *filp,\r
- CURSOR_XY *StartXY\r
- );\r
-\r
-/** Get Output screen size and mode.\r
-\r
- @param[in] fd File descriptor of the output device.\r
- @param[out] Col Pointer to where to store the MAX Column, or NULL.\r
- @param[out] Row Pointer to where to store the MAX Row, or NULL.\r
-\r
- @retval <0 An error occurred. The reason is in errno and EFIerrno.\r
- * EIO UEFI QueryMode failed\r
- * ENOTTY fd does not refer to an interactive output device\r
- @retval >=0 Current output mode\r
-**/\r
-int\r
-EFIAPI\r
-IIO_GetOutputSize (\r
- int fd,\r
- UINTN *Col,\r
- UINTN *Row\r
-);\r
-\r
-/** Calculate the number of character positions between two X/Y coordinate pairs.\r
-\r
- Using the current output device characteristics, calculate the number of\r
- characters between two coordinates.\r
-\r
- @param[in] This Pointer to the IIO instance to be examined.\r
- @param[in] StartXY Pointer to the starting coordinate pair.\r
- @param[in] EndXY Pointer to the ending coordinate pair.\r
-\r
- @return Returns the difference between the starting and ending coordinates.\r
- The return value is positive if the coordinates contained in EndXY\r
- are larger than StartXY, otherwise the return value is negative.\r
-**/\r
-int\r
-EFIAPI\r
-IIO_CursorDelta (\r
- cIIO *This,\r
- CURSOR_XY *StartXY,\r
- CURSOR_XY *EndXY\r
- );\r
-\r
-__END_DECLS\r
-#endif /* _IIO_UTILITIES_H */\r