Add emulated serialIo device driver for EdkUnixPkg
[mirror_edk2.git] / EdkUnixPkg / Include / Protocol / UnixUgaIo.h
1 /*++
2
3 Copyright (c) 2006, Tristan Gingold
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the
6 BSD License which accompanies this distribution. The full text of the
7 license may be found at http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 UnixUgaIo.h
15
16 Abstract:
17
18 --*/
19
20 #ifndef _UNIX_UGA_IO_H_
21 #define _UNIX_UGA_IO_H_
22
23 #define EFI_UNIX_UGA_IO_PROTOCOL_GUID \
24 { \
25 0xf2e5e2c6, 0x8985, 0x11db, {0xa1, 0x91, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
26 }
27
28 struct _EFI_UNIX_UGA_IO_PROTOCOL;
29 typedef struct _EFI_UNIX_UGA_IO_PROTOCOL EFI_UNIX_UGA_IO_PROTOCOL;
30
31 typedef
32 EFI_STATUS
33 (*UGAClose)(EFI_UNIX_UGA_IO_PROTOCOL *Uga);
34
35 typedef
36 EFI_STATUS
37 (*UGASize)(EFI_UNIX_UGA_IO_PROTOCOL *Uga, UINT32 Width, UINT32 Height);
38
39 typedef
40 EFI_STATUS
41 (*UGACheckKey)(EFI_UNIX_UGA_IO_PROTOCOL *Uga);
42
43 typedef
44 EFI_STATUS
45 (*UGAGetKey)(EFI_UNIX_UGA_IO_PROTOCOL *Uga, EFI_INPUT_KEY *key);
46
47 typedef
48 EFI_STATUS
49 (*UGABlt)(EFI_UNIX_UGA_IO_PROTOCOL *Uga,
50 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
51 IN EFI_UGA_BLT_OPERATION BltOperation,
52 IN UINTN SourceX,
53 IN UINTN SourceY,
54 IN UINTN DestinationX,
55 IN UINTN DestinationY,
56 IN UINTN Width,
57 IN UINTN Height,
58 IN UINTN Delta OPTIONAL);
59
60 struct _EFI_UNIX_UGA_IO_PROTOCOL {
61 VOID *Private;
62 UGAClose UgaClose;
63 UGASize UgaSize;
64 UGACheckKey UgaCheckKey;
65 UGAGetKey UgaGetKey;
66 UGABlt UgaBlt;
67 };
68
69
70 extern EFI_GUID gEfiUnixUgaIoProtocolGuid;
71
72 #endif