summaryrefslogtreecommitdiff
path: root/InOsEmuPkg/Include/Protocol/EmuThunk.h
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-08 02:34:12 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-08 02:34:12 +0000
commit7e284acb40a3d27009de3cfe48275fed3c5d004b (patch)
tree3fbfdf3fdf298705d4f2539dc36cca5e9d479d26 /InOsEmuPkg/Include/Protocol/EmuThunk.h
parent6f18b50d023159f6b19c04da5ab930cc58e2743b (diff)
downloadedk2-platforms-7e284acb40a3d27009de3cfe48275fed3c5d004b.tar.xz
Add support for SerialPortLib that maps into POSIX StdIn and StdOut. Add a device path text to lib as a holding point waiting on getting it reviewed for other packages. Some minor fixes. Also map the FV as writable, so the Variable store becomes writable.
I plan to try and make only the Variable store and logs writable, and make the executable/compressed FV read only in a future checkin. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11760 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'InOsEmuPkg/Include/Protocol/EmuThunk.h')
-rw-r--r--InOsEmuPkg/Include/Protocol/EmuThunk.h36
1 files changed, 34 insertions, 2 deletions
diff --git a/InOsEmuPkg/Include/Protocol/EmuThunk.h b/InOsEmuPkg/Include/Protocol/EmuThunk.h
index 411cd3e625..3e2718ed66 100644
--- a/InOsEmuPkg/Include/Protocol/EmuThunk.h
+++ b/InOsEmuPkg/Include/Protocol/EmuThunk.h
@@ -17,7 +17,7 @@
#define __EMU_THUNK_PROTOCOL_H__
#define EMU_THUNK_PROTOCOL_GUID \
- { 0xA37D7CCD, 0x8E91, 0xFB48, { 0xA0, 0xBD, 0x64, 0xC1, 0x83, 0xA3, 0xB4, 0x3F } }
+ { 0x5CF32E0B, 0x8EDF, 0x2E44, { 0x9C, 0xDA, 0x93, 0x20, 0x5E, 0x99, 0xEC, 0x1C } }
// neded for things like EFI_TIME_CAPABILITIES
#include <Uefi.h>
@@ -45,11 +45,39 @@ typedef struct _EMU_THUNK_PROTOCOL EMU_THUNK_PROTOCOL;
typedef
-EFI_STATUS
+UINTN
(EFIAPI *EMU_WRITE_STD_ERROR) (
IN UINT8 *Buffer,
IN UINTN NumberOfBytes
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EMU_CONFIG_STD_IN) (
+ VOID
+ );
+
+typedef
+UINTN
+(EFIAPI *EMU_WRITE_STD_OUT) (
+ IN UINT8 *Buffer,
+ IN UINTN NumberOfBytes
);
+
+typedef
+UINTN
+(EFIAPI *EMU_READ_STD_IN) (
+ OUT UINT8 *Buffer,
+ IN UINTN NumberOfBytes
+ );
+
+typedef
+BOOLEAN
+(EFIAPI *EMU_POLL_STD_IN) (
+ VOID
+ );
+
+
typedef
EFI_STATUS
@@ -166,6 +194,10 @@ EFI_STATUS
struct _EMU_THUNK_PROTOCOL {
// Used for early debug printing
EMU_WRITE_STD_ERROR WriteStdErr;
+ EMU_CONFIG_STD_IN ConfigStdIn;
+ EMU_WRITE_STD_OUT WriteStdOut;
+ EMU_READ_STD_IN ReadStdIn;
+ EMU_POLL_STD_IN PollStdIn;
///
/// PE/COFF loader hooks to get symbols loaded