summaryrefslogtreecommitdiff
path: root/EdkUnixPkg/Include
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-05-30 07:22:41 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-05-30 07:22:41 +0000
commitb19cfa69e7c2da5bb1a976ef0ca5c9d21a287695 (patch)
treefc18932d4fa561da545efdf52d44c8d18c767209 /EdkUnixPkg/Include
parentd756d2e73917d24208200d342c4705d6dcfae09d (diff)
downloadedk2-platforms-b19cfa69e7c2da5bb1a976ef0ca5c9d21a287695.tar.xz
Add emulated serialIo device driver for EdkUnixPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2605 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkUnixPkg/Include')
-rw-r--r--EdkUnixPkg/Include/Protocol/UnixIo.h10
-rw-r--r--EdkUnixPkg/Include/Protocol/UnixThunk.h59
2 files changed, 62 insertions, 7 deletions
diff --git a/EdkUnixPkg/Include/Protocol/UnixIo.h b/EdkUnixPkg/Include/Protocol/UnixIo.h
index 2d8e9fab7d..1758ecb7c4 100644
--- a/EdkUnixPkg/Include/Protocol/UnixIo.h
+++ b/EdkUnixPkg/Include/Protocol/UnixIo.h
@@ -70,6 +70,16 @@ extern EFI_GUID gEfiUnixPhysicalDisksGuid;
extern EFI_GUID gEfiUnixFileSystemGuid;
//
+// EFI_WIN_NT_SERIAL_PORT
+//
+#define EFI_UNIX_SERIAL_PORT_GUID \
+ { \
+ 0x6d3a727d, 0x66c8, 0x4d19, {0x87, 0xe6, 0x2, 0x15, 0x86, 0x14, 0x90, 0xf3} \
+ }
+
+extern EFI_GUID gEfiUnixSerialPortGuid;
+
+//
// EFI_UNIX_UGA
//
#define EFI_UNIX_UGA_GUID \
diff --git a/EdkUnixPkg/Include/Protocol/UnixThunk.h b/EdkUnixPkg/Include/Protocol/UnixThunk.h
index aabb9b130d..1fa4e90204 100644
--- a/EdkUnixPkg/Include/Protocol/UnixThunk.h
+++ b/EdkUnixPkg/Include/Protocol/UnixThunk.h
@@ -28,6 +28,7 @@ Abstract:
#ifndef _UNIX_THUNK_H_
#define _UNIX_THUNK_H_
+#include <sys/termios.h>
#define EFI_UNIX_THUNK_PROTOCOL_GUID \
{ \
@@ -137,6 +138,43 @@ typedef
EFI_STATUS
(*UnixUgaCreate)(struct _EFI_UNIX_UGA_IO_PROTOCOL **UgaIo,
CONST CHAR16 *Title);
+
+typedef
+int
+(*UnixTcflush) (int fildes, int queue_selector);
+
+typedef
+void
+(*UnixPerror) (__const char *__s);
+
+typedef
+void
+(*UnixPrintf) (const char* format, ...);
+
+typedef
+int
+(*UnixIoCtl) (int fd, unsigned long int __request, ...);
+
+typedef
+int
+(*UnixFcntl) (int __fd, int __cmd, ...);
+
+typedef
+int
+(*UnixCfsetispeed) (struct termios *__termios_p, speed_t __speed);
+
+typedef
+int
+(*UnixCfsetospeed) (struct termios *__termios_p, speed_t __speed);
+
+typedef
+int
+(*UnixTcgetattr) (int __fd, struct termios *__termios_p);
+
+typedef
+int
+(*UnixTcsetattr) (int __fd, int __optional_actions,
+ __const struct termios *__termios_p);
//
//
@@ -147,14 +185,14 @@ EFI_STATUS
typedef struct _EFI_UNIX_THUNK_PROTOCOL {
UINT64 Signature;
- UnixSleep Sleep;
+ UnixSleep Sleep;
UnixExit Exit;
- UnixSetTimer SetTimer;
- UnixGetLocalTime GetLocalTime;
+ UnixSetTimer SetTimer;
+ UnixGetLocalTime GetLocalTime;
UnixGmTime GmTime;
UnixGetTimeZone GetTimeZone;
UnixGetDayLight GetDayLight;
- UnixPoll Poll;
+ UnixPoll Poll;
UnixRead Read;
UnixWrite Write;
UnixGetenv Getenv;
@@ -177,9 +215,16 @@ typedef struct _EFI_UNIX_THUNK_PROTOCOL {
UnixFSync FSync;
UnixChmod Chmod;
UnixUTime UTime;
-
- UnixUgaCreate UgaCreate;
-
+ UnixTcflush Tcflush;
+ UnixUgaCreate UgaCreate;
+ UnixPerror Perror;
+ UnixPrintf Printf;
+ UnixIoCtl IoCtl;
+ UnixFcntl Fcntl;
+ UnixCfsetispeed Cfsetispeed;
+ UnixCfsetospeed Cfsetospeed;
+ UnixTcgetattr Tcgetattr;
+ UnixTcsetattr Tcsetattr;
} EFI_UNIX_THUNK_PROTOCOL;
extern EFI_GUID gEfiUnixThunkProtocolGuid;