]> git.proxmox.com Git - mirror_edk2.git/blob - UnixPkg/Include/Protocol/UnixUgaIo.h
3b32795219e553c4d87c6a144ba7cf114c87cc66
[mirror_edk2.git] / UnixPkg / Include / Protocol / UnixUgaIo.h
1 /*++
2
3 Copyright (c) 2006, Tristan Gingold. All rights reserved.<BR>
4 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 {0xf2e5e2c6, 0x8985, 0x11db, {0xa1, 0x91, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } }
24
25 typedef struct _EFI_UNIX_UGA_IO_PROTOCOL EFI_UNIX_UGA_IO_PROTOCOL;
26
27 typedef
28 EFI_STATUS
29 (*UGAClose)(
30 EFI_UNIX_UGA_IO_PROTOCOL *Uga
31 );
32
33 typedef
34 EFI_STATUS
35 (*UGASize)(
36 EFI_UNIX_UGA_IO_PROTOCOL *Uga,
37 UINT32 Width,
38 UINT32 Height
39 );
40
41 typedef
42 EFI_STATUS
43 (*UGACheckKey)(
44 EFI_UNIX_UGA_IO_PROTOCOL *Uga
45 );
46
47 typedef
48 EFI_STATUS
49 (*UGAGetKey)(
50 EFI_UNIX_UGA_IO_PROTOCOL *Uga,
51 EFI_INPUT_KEY *key
52 );
53
54
55 typedef struct {
56 UINTN SourceX;
57 UINTN SourceY;
58 UINTN DestinationX;
59 UINTN DestinationY;
60 UINTN Width;
61 UINTN Height;
62 UINTN Delta;
63 } UGA_BLT_ARGS;
64
65 typedef
66 EFI_STATUS
67 (*UGABlt)(
68 IN EFI_UNIX_UGA_IO_PROTOCOL *Uga,
69 IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
70 IN EFI_UGA_BLT_OPERATION BltOperation,
71 IN UGA_BLT_ARGS *Args
72 );
73
74 struct _EFI_UNIX_UGA_IO_PROTOCOL {
75 VOID *Private;
76 UGAClose UgaClose;
77 UGASize UgaSize;
78 UGACheckKey UgaCheckKey;
79 UGAGetKey UgaGetKey;
80 UGABlt UgaBlt;
81 };
82
83
84 extern EFI_GUID gEfiUnixUgaIoProtocolGuid;
85
86 #endif