diff options
Diffstat (limited to 'EdkUnixPkg/Sec/UnixThunk.c')
-rw-r--r-- | EdkUnixPkg/Sec/UnixThunk.c | 97 |
1 files changed, 48 insertions, 49 deletions
diff --git a/EdkUnixPkg/Sec/UnixThunk.c b/EdkUnixPkg/Sec/UnixThunk.c index 9d74b5b8c3..fcf290ddbb 100644 --- a/EdkUnixPkg/Sec/UnixThunk.c +++ b/EdkUnixPkg/Sec/UnixThunk.c @@ -1,43 +1,43 @@ -/*++
-
-Copyright (c) 2004 - 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- UnixThunk.c
-
-Abstract:
-
- Since the SEC is the only program in our emulation we
- must use a Tiano mechanism to export APIs to other modules.
- This is the role of the EFI_UNIX_THUNK_PROTOCOL.
-
- The mUnixThunkTable exists so that a change to EFI_UNIX_THUNK_PROTOCOL
- will cause an error in initializing the array if all the member functions
- are not added. It looks like adding a element to end and not initializing
- it may cause the table to be initaliized with the members at the end being
- set to zero. This is bad as jumping to zero will crash.
-
-
- gUnix is a a public exported global that contains the initialized
- data.
-
---*/
-
-#include "SecMain.h"
+/*++ + +Copyright (c) 2004 - 2006, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + UnixThunk.c + +Abstract: + + Since the SEC is the only program in our emulation we + must use a Tiano mechanism to export APIs to other modules. + This is the role of the EFI_UNIX_THUNK_PROTOCOL. + + The mUnixThunkTable exists so that a change to EFI_UNIX_THUNK_PROTOCOL + will cause an error in initializing the array if all the member functions + are not added. It looks like adding a element to end and not initializing + it may cause the table to be initaliized with the members at the end being + set to zero. This is bad as jumping to zero will crash. + + + gUnix is a a public exported global that contains the initialized + data. + +--*/ + +#include "SecMain.h" #include "Library/UnixLib.h" #include <sys/time.h> #include <time.h> #include <signal.h> #include <string.h> -#include <stdlib.h>
+#include <stdlib.h> #include <termio.h> static int settimer_initialized; @@ -156,8 +156,8 @@ GetErrno(void) extern EFI_STATUS UgaCreate(struct _EFI_UNIX_UGA_IO_PROTOCOL **UgaIo, CONST CHAR16 *Title); -EFI_UNIX_THUNK_PROTOCOL mUnixThunkTable = {
- EFI_UNIX_THUNK_PROTOCOL_SIGNATURE,
+EFI_UNIX_THUNK_PROTOCOL mUnixThunkTable = { + EFI_UNIX_THUNK_PROTOCOL_SIGNATURE, msSleep, /* Sleep */ exit, /* Exit */ SetTimer, @@ -189,16 +189,15 @@ EFI_UNIX_THUNK_PROTOCOL mUnixThunkTable = { chmod, utime, tcflush, - UgaCreate,
- perror,
- printf,
- ioctl,
- fcntl,
- cfsetispeed,
- cfsetospeed,
- tcgetattr,
+ UgaCreate, + perror, + ioctl, + fcntl, + cfsetispeed, + cfsetospeed, + tcgetattr, tcsetattr -};
-
-
-EFI_UNIX_THUNK_PROTOCOL *gUnix = &mUnixThunkTable;
+}; + + +EFI_UNIX_THUNK_PROTOCOL *gUnix = &mUnixThunkTable; |