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
This commit is contained in:
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user