]>
git.proxmox.com Git - mirror_edk2.git/blob - StdLibPrivateInternalFiles/Include/Device/Console.h
2 Declarations and macros for the console abstraction.
4 Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available
6 under the terms and conditions of the BSD License which accompanies this
7 distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
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.
13 Depends on <kfile.h>, <Device/Device.h>, <Protocol/SimpleTextIn.h>, <Uefi/UefiBaseType.h>
15 #ifndef _DEVICE_UEFI_CONSOLE_H
16 #define _DEVICE_UEFI_CONSOLE_H
19 #include <Device/Device.h>
21 /* The members Cookie through Abstraction, inclusive, are the same type and order
22 for all instance structures.
24 All instance structures must be a multiple of sizeof(UINTN) bytes long
27 UINT32 Cookie
; ///< Special value identifying this as a valid ConInstance
28 UINT32 InstanceNum
; ///< Which instance is this? Zero-based.
29 EFI_HANDLE Dev
; ///< Pointer to either Input or Output Protocol.
30 DeviceNode
*Parent
; ///< Points to the parent Device Node.
31 struct fileops Abstraction
; ///< Pointers to functions implementing this device's abstraction.
32 UINTN Reserved_1
; // Ensure that next member starts on an 8-byte boundary
33 UINT64 NumRead
; ///< Number of characters Read.
34 UINT64 NumWritten
; ///< Number of characters Written.
35 __mbstate_t CharState
; ///< Character state for the byte stream passing through this device
36 CHAR16 UnGetKey
; ///< One-key pushback, for poll().
44 IN DeviceNode
*DevNode
,
45 IN
struct __filedes
*filp
,
53 #endif /* _DEVICE_UEFI_CONSOLE_H */