diff options
Diffstat (limited to 'UnixPkg/Include/Protocol/UnixUgaIo.h')
-rw-r--r-- | UnixPkg/Include/Protocol/UnixUgaIo.h | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/UnixPkg/Include/Protocol/UnixUgaIo.h b/UnixPkg/Include/Protocol/UnixUgaIo.h index 3b32795219..5200e4c4e0 100644 --- a/UnixPkg/Include/Protocol/UnixUgaIo.h +++ b/UnixPkg/Include/Protocol/UnixUgaIo.h @@ -20,19 +20,24 @@ Abstract: #ifndef _UNIX_UGA_IO_H_ #define _UNIX_UGA_IO_H_ +#include <Protocol/SimplePointer.h> +#include <Protocol/SimpleTextIn.h> +#include <Protocol/SimpleTextInEx.h> +#include <Protocol/UgaDraw.h> + #define EFI_UNIX_UGA_IO_PROTOCOL_GUID {0xf2e5e2c6, 0x8985, 0x11db, {0xa1, 0x91, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } } typedef struct _EFI_UNIX_UGA_IO_PROTOCOL EFI_UNIX_UGA_IO_PROTOCOL; typedef EFI_STATUS -(*UGAClose)( +(EFIAPI *UGAClose)( EFI_UNIX_UGA_IO_PROTOCOL *Uga ); typedef EFI_STATUS -(*UGASize)( +(EFIAPI *UGASize)( EFI_UNIX_UGA_IO_PROTOCOL *Uga, UINT32 Width, UINT32 Height @@ -40,15 +45,38 @@ EFI_STATUS typedef EFI_STATUS -(*UGACheckKey)( +(EFIAPI *UGACheckKey)( EFI_UNIX_UGA_IO_PROTOCOL *Uga ); typedef EFI_STATUS -(*UGAGetKey)( +(EFIAPI *UGAGetKey)( EFI_UNIX_UGA_IO_PROTOCOL *Uga, - EFI_INPUT_KEY *key + EFI_KEY_DATA *key + ); + +typedef +EFI_STATUS +(EFIAPI *UGAKeySetState) ( + IN EFI_UNIX_UGA_IO_PROTOCOL *UgaIo, + IN EFI_KEY_TOGGLE_STATE *KeyToggleState + ); + + +typedef +VOID +(EFIAPI *UGA_REGISTER_KEY_NOTIFY_CALLBACK) ( + IN VOID *Context, + IN EFI_KEY_DATA *KeyData + ); + +typedef +EFI_STATUS +(EFIAPI *UGARegisterKeyNotify) ( + IN EFI_UNIX_UGA_IO_PROTOCOL *UgaIo, + IN UGA_REGISTER_KEY_NOTIFY_CALLBACK CallBack, + IN VOID *Context ); @@ -64,20 +92,45 @@ typedef struct { typedef EFI_STATUS -(*UGABlt)( +(EFIAPI *UGABlt)( IN EFI_UNIX_UGA_IO_PROTOCOL *Uga, IN EFI_UGA_PIXEL *BltBuffer OPTIONAL, IN EFI_UGA_BLT_OPERATION BltOperation, IN UGA_BLT_ARGS *Args ); +typedef +BOOLEAN +(EFIAPI *UGAIsKeyPressed) ( + IN EFI_UNIX_UGA_IO_PROTOCOL *UgaIo, + IN EFI_KEY_DATA *KeyData + ); + +typedef +EFI_STATUS +(EFIAPI *UGACheckPointer)( + EFI_UNIX_UGA_IO_PROTOCOL *Uga + ); + +typedef +EFI_STATUS +(EFIAPI *UGAGetPointerState)( + EFI_UNIX_UGA_IO_PROTOCOL *Uga, + EFI_SIMPLE_POINTER_STATE *state + ); + struct _EFI_UNIX_UGA_IO_PROTOCOL { VOID *Private; UGAClose UgaClose; UGASize UgaSize; UGACheckKey UgaCheckKey; + UGAKeySetState UgaKeySetState; UGAGetKey UgaGetKey; + UGARegisterKeyNotify UgaRegisterKeyNotify; UGABlt UgaBlt; + UGAIsKeyPressed UgaIsKeyPressed; + UGACheckPointer UgaCheckPointer; + UGAGetPointerState UgaGetPointerState; }; |