diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-11-30 23:38:40 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-11-30 23:38:40 +0000 |
commit | 2ff79f2eda16f8219140d3dae188d2b341f610e1 (patch) | |
tree | 693b0c0223c7f3a312f292a3a5ba9eff0def4dbe /UnixPkg/Include/Protocol/UnixUgaIo.h | |
parent | e23a349aaec2ba7fd4218c6dabaf42da0aa9aa8e (diff) | |
download | edk2-platforms-2ff79f2eda16f8219140d3dae188d2b341f610e1.tar.xz |
Adding Simple Pointer, GOP, SimpleTextInEx, and Networking protocols to the emulator. Cleaned up POSIX include situation by centralizing it in a single file, like NT32. Fixed TPL issue with TPL High not being emulated correctly, it was possible to take a timer tick when the locks in the DXE core should have prevented this. Remove some unused files to make things easier to maintain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11105 6f19259b-4bc3-4df7-8a09-765794883524
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; }; |