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:
andrewfish
2010-11-30 23:38:40 +00:00
parent e23a349aae
commit 2ff79f2eda
44 changed files with 6574 additions and 9581 deletions

View File

@ -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;
};