From b19cfa69e7c2da5bb1a976ef0ca5c9d21a287695 Mon Sep 17 00:00:00 2001 From: klu2 Date: Wed, 30 May 2007 07:22:41 +0000 Subject: 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 --- EdkUnixPkg/Include/Protocol/UnixIo.h | 10 ++++++ EdkUnixPkg/Include/Protocol/UnixThunk.h | 59 +++++++++++++++++++++++++++++---- 2 files changed, 62 insertions(+), 7 deletions(-) (limited to 'EdkUnixPkg/Include') 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 @@ -69,6 +69,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 // 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 #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; -- cgit v1.2.3