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