summaryrefslogtreecommitdiffstats
path: root/EmulatorPkg/Win
diff options
context:
space:
mode:
authorMichael Kubacki <michael.kubacki@microsoft.com>2021-12-05 14:53:57 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-12-07 17:24:28 +0000
commita550d468a6ca577d9e9c57a0eafcf2fc9fbb8c97 (patch)
tree16ea0a059e01bb8af07f41dcea5996424c309a95 /EmulatorPkg/Win
parente7108d0e9655b1795c94ac372b0449f28dd907df (diff)
downloadedk2-a550d468a6ca577d9e9c57a0eafcf2fc9fbb8c97.tar.gz
edk2-a550d468a6ca577d9e9c57a0eafcf2fc9fbb8c97.tar.bz2
edk2-a550d468a6ca577d9e9c57a0eafcf2fc9fbb8c97.zip
EmulatorPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the EmulatorPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
Diffstat (limited to 'EmulatorPkg/Win')
-rw-r--r--EmulatorPkg/Win/Host/WinBlockIo.c224
-rw-r--r--EmulatorPkg/Win/Host/WinFileSystem.c983
-rw-r--r--EmulatorPkg/Win/Host/WinGop.h121
-rw-r--r--EmulatorPkg/Win/Host/WinGopInput.c132
-rw-r--r--EmulatorPkg/Win/Host/WinGopScreen.c705
-rw-r--r--EmulatorPkg/Win/Host/WinHost.c347
-rw-r--r--EmulatorPkg/Win/Host/WinHost.h64
-rw-r--r--EmulatorPkg/Win/Host/WinInclude.h13
-rw-r--r--EmulatorPkg/Win/Host/WinMemoryAllocationLib.c15
-rw-r--r--EmulatorPkg/Win/Host/WinPacketFilter.c349
-rw-r--r--EmulatorPkg/Win/Host/WinThunk.c245
11 files changed, 1631 insertions, 1567 deletions
diff --git a/EmulatorPkg/Win/Host/WinBlockIo.c b/EmulatorPkg/Win/Host/WinBlockIo.c
index f602a6a01d..c7cfbee2e0 100644
--- a/EmulatorPkg/Win/Host/WinBlockIo.c
+++ b/EmulatorPkg/Win/Host/WinBlockIo.c
@@ -7,63 +7,60 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "WinHost.h"
-#define WIN_NT_BLOCK_IO_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 'b', 'k')
+#define WIN_NT_BLOCK_IO_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 'b', 'k')
typedef struct {
- UINTN Signature;
+ UINTN Signature;
- EMU_IO_THUNK_PROTOCOL *Thunk;
+ EMU_IO_THUNK_PROTOCOL *Thunk;
- CHAR16 *FileName;
- BOOLEAN Removable;
- BOOLEAN Readonly;
+ CHAR16 *FileName;
+ BOOLEAN Removable;
+ BOOLEAN Readonly;
- HANDLE NtHandle;
- UINT32 BlockSize;
+ HANDLE NtHandle;
+ UINT32 BlockSize;
- EFI_BLOCK_IO_MEDIA *Media;
- EMU_BLOCK_IO_PROTOCOL EmuBlockIo;
+ EFI_BLOCK_IO_MEDIA *Media;
+ EMU_BLOCK_IO_PROTOCOL EmuBlockIo;
} WIN_NT_BLOCK_IO_PRIVATE;
#define WIN_NT_BLOCK_IO_PRIVATE_DATA_FROM_THIS(a) \
CR(a, WIN_NT_BLOCK_IO_PRIVATE, EmuBlockIo, WIN_NT_BLOCK_IO_PRIVATE_SIGNATURE)
-
EFI_STATUS
WinNtBlockIoReset (
- IN EMU_BLOCK_IO_PROTOCOL *This,
- IN BOOLEAN ExtendedVerification
+ IN EMU_BLOCK_IO_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
);
-
-
-
EFI_STATUS
SetFilePointer64 (
- IN WIN_NT_BLOCK_IO_PRIVATE *Private,
- IN INT64 DistanceToMove,
- OUT UINT64 *NewFilePointer,
- IN DWORD MoveMethod
-)
+ IN WIN_NT_BLOCK_IO_PRIVATE *Private,
+ IN INT64 DistanceToMove,
+ OUT UINT64 *NewFilePointer,
+ IN DWORD MoveMethod
+ )
+
/*++
This function extends the capability of SetFilePointer to accept 64 bit parameters
--*/
{
- EFI_STATUS Status;
- LARGE_INTEGER LargeInt;
+ EFI_STATUS Status;
+ LARGE_INTEGER LargeInt;
LargeInt.QuadPart = DistanceToMove;
- Status = EFI_SUCCESS;
+ Status = EFI_SUCCESS;
LargeInt.LowPart = SetFilePointer (
- Private->NtHandle,
- LargeInt.LowPart,
- &LargeInt.HighPart,
- MoveMethod
- );
+ Private->NtHandle,
+ LargeInt.LowPart,
+ &LargeInt.HighPart,
+ MoveMethod
+ );
- if (LargeInt.LowPart == -1 && GetLastError () != NO_ERROR) {
+ if ((LargeInt.LowPart == -1) && (GetLastError () != NO_ERROR)) {
Status = EFI_INVALID_PARAMETER;
}
@@ -74,16 +71,14 @@ This function extends the capability of SetFilePointer to accept 64 bit paramete
return Status;
}
-
-
EFI_STATUS
WinNtBlockIoOpenDevice (
- IN WIN_NT_BLOCK_IO_PRIVATE *Private,
- IN EFI_BLOCK_IO_MEDIA *Media
+ IN WIN_NT_BLOCK_IO_PRIVATE *Private,
+ IN EFI_BLOCK_IO_MEDIA *Media
)
{
- EFI_STATUS Status;
- UINT64 FileSize;
+ EFI_STATUS Status;
+ UINT64 FileSize;
//
// If the device is already opened, close it
@@ -96,19 +91,19 @@ WinNtBlockIoOpenDevice (
// Open the device
//
Private->NtHandle = CreateFile (
- Private->FileName,
- GENERIC_READ | (Private->Readonly ? 0 : GENERIC_WRITE),
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_ALWAYS, // Create if it doesn't exist
- 0,
- NULL
- );
+ Private->FileName,
+ GENERIC_READ | (Private->Readonly ? 0 : GENERIC_WRITE),
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_ALWAYS, // Create if it doesn't exist
+ 0,
+ NULL
+ );
if (Private->NtHandle == INVALID_HANDLE_VALUE) {
DEBUG ((DEBUG_INFO, "OpenBlock: Could not open %S, %x\n", Private->FileName, GetLastError ()));
Media->MediaPresent = FALSE;
- Status = EFI_NO_MEDIA;
+ Status = EFI_NO_MEDIA;
goto Done;
}
@@ -138,15 +133,14 @@ Done:
return Status;
}
-
EFI_STATUS
EFIAPI
WinNtBlockIoCreateMapping (
- IN EMU_BLOCK_IO_PROTOCOL *This,
- IN EFI_BLOCK_IO_MEDIA *Media
+ IN EMU_BLOCK_IO_PROTOCOL *This,
+ IN EFI_BLOCK_IO_MEDIA *Media
)
{
- WIN_NT_BLOCK_IO_PRIVATE *Private;
+ WIN_NT_BLOCK_IO_PRIVATE *Private;
Private = WIN_NT_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);
@@ -164,7 +158,6 @@ WinNtBlockIoCreateMapping (
Media->LowestAlignedLba = 0;
Media->LogicalBlocksPerPhysicalBlock = 0;
-
// EFI_BLOCK_IO_PROTOCOL_REVISION3
Media->OptimalTransferLengthGranularity = 0;
@@ -175,12 +168,11 @@ WinNtBlockIoCreateMapping (
return WinNtBlockIoOpenDevice (Private, Media);
}
-
-
EFI_STATUS
WinNtBlockIoError (
- IN WIN_NT_BLOCK_IO_PRIVATE *Private
-)
+ IN WIN_NT_BLOCK_IO_PRIVATE *Private
+ )
+
/*++
Routine Description:
@@ -197,49 +189,47 @@ Returns:
--*/
{
- EFI_BLOCK_IO_MEDIA *Media;
- EFI_STATUS Status;
+ EFI_BLOCK_IO_MEDIA *Media;
+ EFI_STATUS Status;
Media = Private->Media;
switch (GetLastError ()) {
-
- case ERROR_NOT_READY:
- Media->ReadOnly = FALSE;
- Media->MediaPresent = FALSE;
- Status = EFI_NO_MEDIA;
- break;
-
- case ERROR_WRONG_DISK:
- Media->ReadOnly = FALSE;
- Media->MediaPresent = TRUE;
- Media->MediaId++;
- Status = EFI_MEDIA_CHANGED;
- break;
-
- case ERROR_WRITE_PROTECT:
- Media->ReadOnly = TRUE;
- Status = EFI_WRITE_PROTECTED;
- break;
-
- default:
- Status = EFI_DEVICE_ERROR;
- break;
+ case ERROR_NOT_READY:
+ Media->ReadOnly = FALSE;
+ Media->MediaPresent = FALSE;
+ Status = EFI_NO_MEDIA;
+ break;
+
+ case ERROR_WRONG_DISK:
+ Media->ReadOnly = FALSE;
+ Media->MediaPresent = TRUE;
+ Media->MediaId++;
+ Status = EFI_MEDIA_CHANGED;
+ break;
+
+ case ERROR_WRITE_PROTECT:
+ Media->ReadOnly = TRUE;
+ Status = EFI_WRITE_PROTECTED;
+ break;
+
+ default:
+ Status = EFI_DEVICE_ERROR;
+ break;
}
- if (Status == EFI_NO_MEDIA || Status == EFI_MEDIA_CHANGED) {
+ if ((Status == EFI_NO_MEDIA) || (Status == EFI_MEDIA_CHANGED)) {
WinNtBlockIoReset (&Private->EmuBlockIo, FALSE);
}
return Status;
}
-
EFI_STATUS
WinNtSignalToken (
- IN OUT EFI_BLOCK_IO2_TOKEN *Token,
- IN EFI_STATUS Status
-)
+ IN OUT EFI_BLOCK_IO2_TOKEN *Token,
+ IN EFI_STATUS Status
+ )
{
if (Token != NULL) {
if (Token->Event != NULL) {
@@ -248,6 +238,7 @@ WinNtSignalToken (
return EFI_SUCCESS;
}
}
+
return Status;
}
@@ -291,15 +282,15 @@ WinNtBlockIoReadBlocks (
IN EFI_LBA Lba,
IN OUT EFI_BLOCK_IO2_TOKEN *Token,
IN UINTN BufferSize,
- OUT VOID *Buffer
+ OUT VOID *Buffer
)
{
- WIN_NT_BLOCK_IO_PRIVATE *Private;
- BOOL Flag;
- EFI_STATUS Status;
- DWORD BytesRead;
- UINT64 DistanceToMove;
- UINT64 DistanceMoved;
+ WIN_NT_BLOCK_IO_PRIVATE *Private;
+ BOOL Flag;
+ EFI_STATUS Status;
+ DWORD BytesRead;
+ UINT64 DistanceToMove;
+ UINT64 DistanceMoved;
Private = WIN_NT_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);
@@ -307,7 +298,7 @@ WinNtBlockIoReadBlocks (
// Seek to proper position
//
DistanceToMove = MultU64x32 (Lba, (UINT32)Private->BlockSize);
- Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, FILE_BEGIN);
+ Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, FILE_BEGIN);
if (EFI_ERROR (Status) || (DistanceToMove != DistanceMoved)) {
DEBUG ((DEBUG_INIT, "ReadBlocks: SetFilePointer failed\n"));
@@ -323,7 +314,6 @@ WinNtBlockIoReadBlocks (
return WinNtSignalToken (Token, EFI_SUCCESS);
}
-
/**
Write BufferSize bytes from Lba into Buffer.
@@ -365,12 +355,12 @@ WinNtBlockIoWriteBlocks (
IN VOID *Buffer
)
{
- WIN_NT_BLOCK_IO_PRIVATE *Private;
- UINTN BytesWritten;
- BOOL Success;
- EFI_STATUS Status;
- UINT64 DistanceToMove;
- UINT64 DistanceMoved;
+ WIN_NT_BLOCK_IO_PRIVATE *Private;
+ UINTN BytesWritten;
+ BOOL Success;
+ EFI_STATUS Status;
+ UINT64 DistanceToMove;
+ UINT64 DistanceMoved;
Private = WIN_NT_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);
@@ -378,7 +368,7 @@ WinNtBlockIoWriteBlocks (
// Seek to proper position
//
DistanceToMove = MultU64x32 (Lba, (UINT32)Private->BlockSize);
- Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, FILE_BEGIN);
+ Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, FILE_BEGIN);
if (EFI_ERROR (Status) || (DistanceToMove != DistanceMoved)) {
DEBUG ((DEBUG_INIT, "WriteBlocks: SetFilePointer failed\n"));
@@ -422,14 +412,13 @@ WinNtBlockIoWriteBlocks (
**/
EFI_STATUS
WinNtBlockIoFlushBlocks (
- IN EMU_BLOCK_IO_PROTOCOL *This,
- IN OUT EFI_BLOCK_IO2_TOKEN *Token
+ IN EMU_BLOCK_IO_PROTOCOL *This,
+ IN OUT EFI_BLOCK_IO2_TOKEN *Token
)
{
return WinNtSignalToken (Token, EFI_SUCCESS);
}
-
/**
Reset the block device hardware.
@@ -445,11 +434,11 @@ WinNtBlockIoFlushBlocks (
**/
EFI_STATUS
WinNtBlockIoReset (
- IN EMU_BLOCK_IO_PROTOCOL *This,
- IN BOOLEAN ExtendedVerification
+ IN EMU_BLOCK_IO_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
)
{
- WIN_NT_BLOCK_IO_PRIVATE *Private;
+ WIN_NT_BLOCK_IO_PRIVATE *Private;
Private = WIN_NT_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);
@@ -461,7 +450,7 @@ WinNtBlockIoReset (
return EFI_SUCCESS;
}
-EMU_BLOCK_IO_PROTOCOL gEmuBlockIoProtocol = {
+EMU_BLOCK_IO_PROTOCOL gEmuBlockIoProtocol = {
WinNtBlockIoReset,
WinNtBlockIoReadBlocks,
WinNtBlockIoWriteBlocks,
@@ -472,7 +461,7 @@ EMU_BLOCK_IO_PROTOCOL gEmuBlockIoProtocol = {
EFI_STATUS
EFIAPI
WinNtBlockIoThunkOpen (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_BLOCK_IO_PRIVATE *Private;
@@ -487,12 +476,13 @@ WinNtBlockIoThunkOpen (
Private->Thunk = This;
CopyMem (&Private->EmuBlockIo, &gEmuBlockIoProtocol, sizeof (gEmuBlockIoProtocol));
Private->BlockSize = 512;
- Private->NtHandle = INVALID_HANDLE_VALUE;
+ Private->NtHandle = INVALID_HANDLE_VALUE;
Private->FileName = AllocateCopyPool (StrSize (This->ConfigString), This->ConfigString);
if (Private->FileName == NULL) {
return EFI_OUT_OF_RESOURCES;
}
+
//
// Parse ConfigString
// <ConfigString> := <FileName> ':' [RF][OW] ':' <BlockSize>
@@ -503,12 +493,14 @@ WinNtBlockIoThunkOpen (
Private->Readonly = FALSE;
} else {
for (*Str++ = L'\0'; *Str != L'\0'; Str++) {
- if (*Str == 'R' || *Str == 'F') {
- Private->Removable = (BOOLEAN) (*Str == L'R');
+ if ((*Str == 'R') || (*Str == 'F')) {
+ Private->Removable = (BOOLEAN)(*Str == L'R');
}
- if (*Str == 'O' || *Str == 'W') {
- Private->Readonly = (BOOLEAN) (*Str == L'O');
+
+ if ((*Str == 'O') || (*Str == 'W')) {
+ Private->Readonly = (BOOLEAN)(*Str == L'O');
}
+
if (*Str == ':') {
Private->BlockSize = wcstol (++Str, NULL, 0);
break;
@@ -521,11 +513,10 @@ WinNtBlockIoThunkOpen (
return EFI_SUCCESS;
}
-
EFI_STATUS
EFIAPI
WinNtBlockIoThunkClose (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_BLOCK_IO_PRIVATE *Private;
@@ -536,15 +527,14 @@ WinNtBlockIoThunkClose (
if (Private->FileName != NULL) {
FreePool (Private->FileName);
}
+
FreePool (Private);
}
return EFI_SUCCESS;
}
-
-
-EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo = {
+EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo = {
&gEmuBlockIoProtocolGuid,
NULL,
NULL,
diff --git a/EmulatorPkg/Win/Host/WinFileSystem.c b/EmulatorPkg/Win/Host/WinFileSystem.c
index f6b06b1c92..5ca404020c 100644
--- a/EmulatorPkg/Win/Host/WinFileSystem.c
+++ b/EmulatorPkg/Win/Host/WinFileSystem.c
@@ -9,15 +9,14 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "WinHost.h"
-
-#define WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 'f', 's')
+#define WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 'f', 's')
typedef struct {
- UINTN Signature;
- EMU_IO_THUNK_PROTOCOL *Thunk;
- EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFileSystem;
- CHAR16 *FilePath;
- CHAR16 *VolumeLabel;
+ UINTN Signature;
+ EMU_IO_THUNK_PROTOCOL *Thunk;
+ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFileSystem;
+ CHAR16 *FilePath;
+ CHAR16 *VolumeLabel;
} WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE;
#define WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS(a) \
@@ -27,23 +26,22 @@ typedef struct {
WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE \
)
-
-#define WIN_NT_EFI_FILE_PRIVATE_SIGNATURE SIGNATURE_32 ('l', 'o', 'f', 's')
+#define WIN_NT_EFI_FILE_PRIVATE_SIGNATURE SIGNATURE_32 ('l', 'o', 'f', 's')
typedef struct {
- UINTN Signature;
- EMU_IO_THUNK_PROTOCOL *Thunk;
- EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFileSystem;
- EFI_FILE_PROTOCOL EfiFile;
- HANDLE LHandle;
- HANDLE DirHandle;
- BOOLEAN IsRootDirectory;
- BOOLEAN IsDirectoryPath;
- BOOLEAN IsOpenedByRead;
- CHAR16 *FilePath;
- WCHAR *FileName;
- BOOLEAN IsValidFindBuf;
- WIN32_FIND_DATA FindBuf;
+ UINTN Signature;
+ EMU_IO_THUNK_PROTOCOL *Thunk;
+ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFileSystem;
+ EFI_FILE_PROTOCOL EfiFile;
+ HANDLE LHandle;
+ HANDLE DirHandle;
+ BOOLEAN IsRootDirectory;
+ BOOLEAN IsDirectoryPath;
+ BOOLEAN IsOpenedByRead;
+ CHAR16 *FilePath;
+ WCHAR *FileName;
+ BOOLEAN IsValidFindBuf;
+ WIN32_FIND_DATA FindBuf;
} WIN_NT_EFI_FILE_PRIVATE;
#define WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS(a) \
@@ -53,32 +51,31 @@ typedef struct {
WIN_NT_EFI_FILE_PRIVATE_SIGNATURE \
)
-extern EFI_FILE_PROTOCOL gWinNtFileProtocol;
-extern EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gWinNtFileSystemProtocol;
+extern EFI_FILE_PROTOCOL gWinNtFileProtocol;
+extern EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gWinNtFileSystemProtocol;
EFI_STATUS
WinNtFileGetInfo (
- IN EFI_FILE_PROTOCOL *This,
- IN EFI_GUID *InformationType,
- IN OUT UINTN *BufferSize,
- OUT VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN EFI_GUID *InformationType,
+ IN OUT UINTN *BufferSize,
+ OUT VOID *Buffer
);
EFI_STATUS
WinNtFileSetInfo (
- IN EFI_FILE_PROTOCOL *This,
- IN EFI_GUID *InformationType,
- IN UINTN BufferSize,
- IN VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN EFI_GUID *InformationType,
+ IN UINTN BufferSize,
+ IN VOID *Buffer
);
-
-
CHAR16 *
EfiStrChr (
- IN CHAR16 *Str,
- IN CHAR16 Chr
-)
+ IN CHAR16 *Str,
+ IN CHAR16 Chr
+ )
+
/*++
Routine Description:
@@ -109,24 +106,22 @@ Returns:
return (*Str == Chr) ? Str : NULL;
}
-
-
BOOLEAN
IsZero (
IN VOID *Buffer,
IN UINTN Length
)
{
- if (Buffer == NULL || Length == 0) {
+ if ((Buffer == NULL) || (Length == 0)) {
return FALSE;
}
- if (*(UINT8 *) Buffer != 0) {
+ if (*(UINT8 *)Buffer != 0) {
return FALSE;
}
if (Length > 1) {
- if (!CompareMem (Buffer, (UINT8 *) Buffer + 1, Length - 1)) {
+ if (!CompareMem (Buffer, (UINT8 *)Buffer + 1, Length - 1)) {
return FALSE;
}
}
@@ -147,13 +142,14 @@ CutPrefix (
}
if (Count != 0) {
- for (Pointer = Str; *(Pointer + Count); Pointer++) {
- *Pointer = *(Pointer + Count);
- }
+ for (Pointer = Str; *(Pointer + Count); Pointer++) {
+ *Pointer = *(Pointer + Count);
+ }
- *Pointer = *(Pointer + Count);
+ *Pointer = *(Pointer + Count);
}
}
+
/**
Open the root directory on a volume.
@@ -171,17 +167,17 @@ CutPrefix (
**/
EFI_STATUS
WinNtOpenVolume (
- IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,
- OUT EFI_FILE_PROTOCOL **Root
+ IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,
+ OUT EFI_FILE_PROTOCOL **Root
)
{
- EFI_STATUS Status;
- WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *Private;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- CHAR16 *TempFileName;
- UINTN Size;
+ EFI_STATUS Status;
+ WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *Private;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ CHAR16 *TempFileName;
+ UINTN Size;
- if (This == NULL || Root == NULL) {
+ if ((This == NULL) || (Root == NULL)) {
return EFI_INVALID_PARAMETER;
}
@@ -205,20 +201,22 @@ WinNtOpenVolume (
goto Done;
}
- StrCpyS (PrivateFile->FilePath,
+ StrCpyS (
+ PrivateFile->FilePath,
StrSize (Private->FilePath) / sizeof (CHAR16),
Private->FilePath
);
- StrCpyS (PrivateFile->FileName,
+ StrCpyS (
+ PrivateFile->FileName,
StrSize (Private->FilePath) / sizeof (CHAR16),
PrivateFile->FilePath
);
- PrivateFile->Signature = WIN_NT_EFI_FILE_PRIVATE_SIGNATURE;
- PrivateFile->Thunk = Private->Thunk;
+ PrivateFile->Signature = WIN_NT_EFI_FILE_PRIVATE_SIGNATURE;
+ PrivateFile->Thunk = Private->Thunk;
PrivateFile->SimpleFileSystem = This;
- PrivateFile->IsRootDirectory = TRUE;
- PrivateFile->IsDirectoryPath = TRUE;
- PrivateFile->IsOpenedByRead = TRUE;
+ PrivateFile->IsRootDirectory = TRUE;
+ PrivateFile->IsDirectoryPath = TRUE;
+ PrivateFile->IsOpenedByRead = TRUE;
CopyMem (&PrivateFile->EfiFile, &gWinNtFileProtocol, sizeof (gWinNtFileProtocol));
PrivateFile->IsValidFindBuf = FALSE;
@@ -226,14 +224,14 @@ WinNtOpenVolume (
// Set DirHandle
//
PrivateFile->DirHandle = CreateFile (
- PrivateFile->FilePath,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- NULL
- );
+ PrivateFile->FilePath,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL
+ );
if (PrivateFile->DirHandle == INVALID_HANDLE_VALUE) {
Status = EFI_NOT_FOUND;
@@ -243,12 +241,13 @@ WinNtOpenVolume (
//
// Find the first file under it
//
- Size = StrSize (PrivateFile->FilePath);
- Size += StrSize (L"\\*");
+ Size = StrSize (PrivateFile->FilePath);
+ Size += StrSize (L"\\*");
TempFileName = AllocatePool (Size);
if (TempFileName == NULL) {
goto Done;
}
+
StrCpyS (TempFileName, Size / sizeof (CHAR16), PrivateFile->FilePath);
StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");
@@ -260,6 +259,7 @@ WinNtOpenVolume (
} else {
PrivateFile->IsValidFindBuf = TRUE;
}
+
*Root = &PrivateFile->EfiFile;
Status = EFI_SUCCESS;
@@ -292,10 +292,10 @@ Done:
**/
UINTN
CountLeadingDots (
- IN CONST CHAR16 * FileNameToken
-)
+ IN CONST CHAR16 *FileNameToken
+ )
{
- UINTN Num;
+ UINTN Num;
Num = 0;
while (*FileNameToken == L'.') {
@@ -306,13 +306,13 @@ CountLeadingDots (
return Num;
}
-
BOOLEAN
IsFileNameTokenValid (
- IN CONST CHAR16 * FileNameToken
-)
+ IN CONST CHAR16 *FileNameToken
+ )
{
- UINTN Num;
+ UINTN Num;
+
if (StrStr (FileNameToken, L"/") != NULL) {
//
// No L'/' in file name.
@@ -337,7 +337,6 @@ IsFileNameTokenValid (
return TRUE;
}
-
/**
Return the first string token found in the indirect pointer a String named by FileName.
@@ -352,22 +351,23 @@ IsFileNameTokenValid (
**/
CHAR16 *
GetNextFileNameToken (
- IN OUT CONST CHAR16 ** FileName
-)
+ IN OUT CONST CHAR16 **FileName
+ )
{
- CHAR16 *SlashPos;
- CHAR16 *Token;
- UINTN Offset;
+ CHAR16 *SlashPos;
+ CHAR16 *Token;
+ UINTN Offset;
+
ASSERT (**FileName != L'\\');
ASSERT (**FileName != L'\0');
SlashPos = StrStr (*FileName, L"\\");
if (SlashPos == NULL) {
- Token = AllocateCopyPool (StrSize (*FileName), *FileName);
+ Token = AllocateCopyPool (StrSize (*FileName), *FileName);
*FileName = NULL;
} else {
Offset = SlashPos - *FileName;
- Token = AllocateZeroPool ((Offset + 1) * sizeof (CHAR16));
+ Token = AllocateZeroPool ((Offset + 1) * sizeof (CHAR16));
StrnCpyS (Token, Offset + 1, *FileName, Offset);
//
// Point *FileName to the next character after L'\'.
@@ -384,7 +384,6 @@ GetNextFileNameToken (
return Token;
}
-
/**
Check if a FileName contains only Valid Characters.
@@ -400,14 +399,13 @@ GetNextFileNameToken (
@return FALSE FileName contains at least one invalid character.
**/
-
BOOLEAN
IsFileNameValid (
- IN CONST CHAR16 *FileName
+ IN CONST CHAR16 *FileName
)
{
- CHAR16 *Token;
- BOOLEAN Valid;
+ CHAR16 *Token;
+ BOOLEAN Valid;
//
// If FileName is just L'\', then it is a valid pathname.
@@ -415,6 +413,7 @@ IsFileNameValid (
if (StrCmp (FileName, L"\\") == 0) {
return TRUE;
}
+
//
// We don't support two or more adjacent L'\'.
//
@@ -425,7 +424,7 @@ IsFileNameValid (
//
// Is FileName has a leading L"\", skip to next character.
//
- if (FileName [0] == L'\\') {
+ if (FileName[0] == L'\\') {
FileName++;
}
@@ -434,14 +433,14 @@ IsFileNameValid (
Valid = IsFileNameTokenValid (Token);
FreePool (Token);
- if (!Valid)
+ if (!Valid) {
return FALSE;
+ }
} while (FileName != NULL);
return TRUE;
}
-
/**
Opens a new file relative to the source file's location.
@@ -464,35 +463,34 @@ IsFileNameValid (
**/
EFI_STATUS
WinNtFileOpen (
- IN EFI_FILE_PROTOCOL *This,
- OUT EFI_FILE_PROTOCOL **NewHandle,
- IN CHAR16 *FileName,
- IN UINT64 OpenMode,
- IN UINT64 Attributes
+ IN EFI_FILE_PROTOCOL *This,
+ OUT EFI_FILE_PROTOCOL **NewHandle,
+ IN CHAR16 *FileName,
+ IN UINT64 OpenMode,
+ IN UINT64 Attributes
)
{
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- WIN_NT_EFI_FILE_PRIVATE *NewPrivateFile;
- WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
- EFI_STATUS Status;
- CHAR16 *RealFileName;
- CHAR16 *TempFileName;
- CHAR16 *ParseFileName;
- CHAR16 *GuardPointer;
- CHAR16 TempChar;
- DWORD LastError;
- UINTN Count;
- BOOLEAN LoopFinish;
- UINTN InfoSize;
- EFI_FILE_INFO *Info;
- UINTN Size;
-
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ WIN_NT_EFI_FILE_PRIVATE *NewPrivateFile;
+ WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
+ EFI_STATUS Status;
+ CHAR16 *RealFileName;
+ CHAR16 *TempFileName;
+ CHAR16 *ParseFileName;
+ CHAR16 *GuardPointer;
+ CHAR16 TempChar;
+ DWORD LastError;
+ UINTN Count;
+ BOOLEAN LoopFinish;
+ UINTN InfoSize;
+ EFI_FILE_INFO *Info;
+ UINTN Size;
//
// Init local variables
//
- PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
- PrivateRoot = WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);
+ PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
+ PrivateRoot = WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);
NewPrivateFile = NULL;
//
@@ -502,6 +500,7 @@ WinNtFileOpen (
if (TempFileName == NULL) {
return EFI_OUT_OF_RESOURCES;
}
+
StrCpyS (TempFileName, StrSize (FileName) / sizeof (CHAR16), FileName);
FileName = TempFileName;
@@ -513,26 +512,30 @@ WinNtFileOpen (
// If file name does not equal to "." or ".." and not trailed with "\..",
// then we trim the leading/trailing blanks and trailing dots
//
- if (StrCmp (FileName, L".") != 0 && StrCmp (FileName, L"..") != 0 &&
- ((StrLen (FileName) >= 3) ? (StrCmp (&FileName[StrLen (FileName) - 3], L"\\..") != 0) : TRUE)) {
+ if ((StrCmp (FileName, L".") != 0) && (StrCmp (FileName, L"..") != 0) &&
+ ((StrLen (FileName) >= 3) ? (StrCmp (&FileName[StrLen (FileName) - 3], L"\\..") != 0) : TRUE))
+ {
//
// Trim leading blanks
//
Count = 0;
for (TempFileName = FileName;
- *TempFileName != 0 && *TempFileName == L' ';
- TempFileName++) {
+ *TempFileName != 0 && *TempFileName == L' ';
+ TempFileName++)
+ {
Count++;
}
+
CutPrefix (FileName, Count);
//
// Trim trailing blanks
//
for (TempFileName = FileName + StrLen (FileName) - 1;
- TempFileName >= FileName && (*TempFileName == L' ');
- TempFileName--) {
- ;
+ TempFileName >= FileName && (*TempFileName == L' ');
+ TempFileName--)
+ {
}
+
*(TempFileName + 1) = 0;
}
@@ -567,9 +570,9 @@ WinNtFileOpen (
);
}
- Size = StrSize (NewPrivateFile->FilePath);
- Size += StrSize (L"\\");
- Size += StrSize (FileName);
+ Size = StrSize (NewPrivateFile->FilePath);
+ Size += StrSize (L"\\");
+ Size += StrSize (FileName);
NewPrivateFile->FileName = AllocatePool (Size);
if (NewPrivateFile->FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
@@ -608,15 +611,14 @@ WinNtFileOpen (
LoopFinish = FALSE;
while (!LoopFinish) {
-
LoopFinish = TRUE;
for (ParseFileName = GuardPointer; *ParseFileName; ParseFileName++) {
- if (*ParseFileName == L'.' &&
- (*(ParseFileName + 1) == 0 || *(ParseFileName + 1) == L'\\') &&
- *(ParseFileName - 1) == L'\\'
- ) {
-
+ if ((*ParseFileName == L'.') &&
+ ((*(ParseFileName + 1) == 0) || (*(ParseFileName + 1) == L'\\')) &&
+ (*(ParseFileName - 1) == L'\\')
+ )
+ {
//
// cut \.
//
@@ -625,12 +627,12 @@ WinNtFileOpen (
break;
}
- if (*ParseFileName == L'.' &&
- *(ParseFileName + 1) == L'.' &&
- (*(ParseFileName + 2) == 0 || *(ParseFileName + 2) == L'\\') &&
- *(ParseFileName - 1) == L'\\'
- ) {
-
+ if ((*ParseFileName == L'.') &&
+ (*(ParseFileName + 1) == L'.') &&
+ ((*(ParseFileName + 2) == 0) || (*(ParseFileName + 2) == L'\\')) &&
+ (*(ParseFileName - 1) == L'\\')
+ )
+ {
ParseFileName--;
Count = 3;
@@ -659,7 +661,7 @@ WinNtFileOpen (
TempChar = 0;
if (RealFileName != NewPrivateFile->FileName) {
- TempChar = *(RealFileName - 1);
+ TempChar = *(RealFileName - 1);
*(RealFileName - 1) = 0;
}
@@ -693,14 +695,14 @@ WinNtFileOpen (
}
} else {
NewPrivateFile->LHandle = CreateFile (
- NewPrivateFile->FileName,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
+ NewPrivateFile->FileName,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ 0,
+ NULL
+ );
if (NewPrivateFile->LHandle != INVALID_HANDLE_VALUE) {
NewPrivateFile->IsDirectoryPath = FALSE;
@@ -724,9 +726,8 @@ WinNtFileOpen (
// deal with directory
//
if (NewPrivateFile->IsDirectoryPath) {
-
- Size = StrSize (NewPrivateFile->FileName);
- Size += StrSize (L"\\*");
+ Size = StrSize (NewPrivateFile->FileName);
+ Size += StrSize (L"\\*");
TempFileName = AllocatePool (Size);
if (TempFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
@@ -740,7 +741,6 @@ WinNtFileOpen (
// Create a directory
//
if (!CreateDirectory (TempFileName, NULL)) {
-
LastError = GetLastError ();
if (LastError != ERROR_ALREADY_EXISTS) {
FreePool (TempFileName);
@@ -751,31 +751,30 @@ WinNtFileOpen (
}
NewPrivateFile->DirHandle = CreateFile (
- TempFileName,
- NewPrivateFile->IsOpenedByRead ? GENERIC_READ : (GENERIC_READ | GENERIC_WRITE),
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- NULL
- );
+ TempFileName,
+ NewPrivateFile->IsOpenedByRead ? GENERIC_READ : (GENERIC_READ | GENERIC_WRITE),
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL
+ );
if (NewPrivateFile->DirHandle == INVALID_HANDLE_VALUE) {
-
NewPrivateFile->DirHandle = CreateFile (
- TempFileName,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- NULL
- );
+ TempFileName,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL
+ );
if (NewPrivateFile->DirHandle != INVALID_HANDLE_VALUE) {
CloseHandle (NewPrivateFile->DirHandle);
NewPrivateFile->DirHandle = INVALID_HANDLE_VALUE;
- Status = EFI_ACCESS_DENIED;
+ Status = EFI_ACCESS_DENIED;
} else {
Status = EFI_NOT_FOUND;
}
@@ -802,25 +801,25 @@ WinNtFileOpen (
//
if (!NewPrivateFile->IsOpenedByRead) {
NewPrivateFile->LHandle = CreateFile (
- NewPrivateFile->FileName,
- GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- (OpenMode & EFI_FILE_MODE_CREATE) ? OPEN_ALWAYS : OPEN_EXISTING,
- 0,
- NULL
- );
+ NewPrivateFile->FileName,
+ GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ (OpenMode & EFI_FILE_MODE_CREATE) ? OPEN_ALWAYS : OPEN_EXISTING,
+ 0,
+ NULL
+ );
if (NewPrivateFile->LHandle == INVALID_HANDLE_VALUE) {
NewPrivateFile->LHandle = CreateFile (
- NewPrivateFile->FileName,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
+ NewPrivateFile->FileName,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ 0,
+ NULL
+ );
if (NewPrivateFile->LHandle == INVALID_HANDLE_VALUE) {
Status = EFI_NOT_FOUND;
@@ -832,14 +831,14 @@ WinNtFileOpen (
}
} else {
NewPrivateFile->LHandle = CreateFile (
- NewPrivateFile->FileName,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
+ NewPrivateFile->FileName,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ 0,
+ NULL
+ );
if (NewPrivateFile->LHandle == INVALID_HANDLE_VALUE) {
Status = EFI_NOT_FOUND;
@@ -847,12 +846,12 @@ WinNtFileOpen (
}
}
- if ((OpenMode & EFI_FILE_MODE_CREATE) && Status == EFI_SUCCESS) {
+ if ((OpenMode & EFI_FILE_MODE_CREATE) && (Status == EFI_SUCCESS)) {
//
// Set the attribute
//
InfoSize = 0;
- Info = NULL;
+ Info = NULL;
Status = WinNtFileGetInfo (&NewPrivateFile->EfiFile, &gEfiFileInfoGuid, &InfoSize, Info);
@@ -905,8 +904,6 @@ Done:
return Status;
}
-
-
/**
Close the file handle
@@ -920,7 +917,7 @@ WinNtFileClose (
IN EFI_FILE_PROTOCOL *This
)
{
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
@@ -934,7 +931,7 @@ WinNtFileClose (
PrivateFile->LHandle = INVALID_HANDLE_VALUE;
}
- if (PrivateFile->IsDirectoryPath && PrivateFile->DirHandle != INVALID_HANDLE_VALUE) {
+ if (PrivateFile->IsDirectoryPath && (PrivateFile->DirHandle != INVALID_HANDLE_VALUE)) {
CloseHandle (PrivateFile->DirHandle);
PrivateFile->DirHandle = INVALID_HANDLE_VALUE;
}
@@ -950,10 +947,8 @@ WinNtFileClose (
FreePool (PrivateFile);
return EFI_SUCCESS;
-
}
-
/**
Close and delete the file handle.
@@ -968,8 +963,8 @@ WinNtFileDelete (
IN EFI_FILE_PROTOCOL *This
)
{
- EFI_STATUS Status;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ EFI_STATUS Status;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
@@ -1011,7 +1006,8 @@ WinNtSystemTimeToEfiTime (
IN SYSTEMTIME *SystemTime,
IN TIME_ZONE_INFORMATION *TimeZone,
OUT EFI_TIME *Time
-)
+ )
+
/*++
Routine Description:
@@ -1030,14 +1026,14 @@ Returns:
--*/
{
- Time->Year = (UINT16)SystemTime->wYear;
- Time->Month = (UINT8)SystemTime->wMonth;
- Time->Day = (UINT8)SystemTime->wDay;
- Time->Hour = (UINT8)SystemTime->wHour;
- Time->Minute = (UINT8)SystemTime->wMinute;
- Time->Second = (UINT8)SystemTime->wSecond;
+ Time->Year = (UINT16)SystemTime->wYear;
+ Time->Month = (UINT8)SystemTime->wMonth;
+ Time->Day = (UINT8)SystemTime->wDay;
+ Time->Hour = (UINT8)SystemTime->wHour;
+ Time->Minute = (UINT8)SystemTime->wMinute;
+ Time->Second = (UINT8)SystemTime->wSecond;
Time->Nanosecond = (UINT32)SystemTime->wMilliseconds * 1000000;
- Time->TimeZone = (INT16)TimeZone->Bias;
+ Time->TimeZone = (INT16)TimeZone->Bias;
if (TimeZone->StandardDate.wMonth) {
Time->Daylight = EFI_TIME_ADJUST_DAYLIGHT;
@@ -1054,21 +1050,20 @@ Returns:
**/
VOID
WinNtFileTimeToEfiTime (
- IN CONST WIN_NT_EFI_FILE_PRIVATE *PrivateFile,
- IN TIME_ZONE_INFORMATION *TimeZone,
- IN CONST FILETIME *FileTime,
- OUT EFI_TIME *EfiTime
-)
+ IN CONST WIN_NT_EFI_FILE_PRIVATE *PrivateFile,
+ IN TIME_ZONE_INFORMATION *TimeZone,
+ IN CONST FILETIME *FileTime,
+ OUT EFI_TIME *EfiTime
+ )
{
- FILETIME TempFileTime;
- SYSTEMTIME SystemTime;
+ FILETIME TempFileTime;
+ SYSTEMTIME SystemTime;
FileTimeToLocalFileTime (FileTime, &TempFileTime);
FileTimeToSystemTime (&TempFileTime, &SystemTime);
WinNtSystemTimeToEfiTime (&SystemTime, TimeZone, EfiTime);
}
-
/**
Read data from the file.
@@ -1085,24 +1080,24 @@ WinNtFileTimeToEfiTime (
**/
EFI_STATUS
WinNtFileRead (
- IN EFI_FILE_PROTOCOL *This,
- IN OUT UINTN *BufferSize,
- OUT VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN OUT UINTN *BufferSize,
+ OUT VOID *Buffer
)
{
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- EFI_STATUS Status;
- UINTN Size;
- UINTN NameSize;
- UINTN ResultSize;
- UINTN Index;
- EFI_FILE_INFO *Info;
- WCHAR *pw;
- TIME_ZONE_INFORMATION TimeZone;
- EFI_FILE_INFO *FileInfo;
- UINT64 Pos;
- UINT64 FileSize;
- UINTN FileInfoSize;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ EFI_STATUS Status;
+ UINTN Size;
+ UINTN NameSize;
+ UINTN ResultSize;
+ UINTN Index;
+ EFI_FILE_INFO *Info;
+ WCHAR *pw;
+ TIME_ZONE_INFORMATION TimeZone;
+ EFI_FILE_INFO *FileInfo;
+ UINT64 Pos;
+ UINT64 FileSize;
+ UINTN FileInfoSize;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
@@ -1112,31 +1107,30 @@ WinNtFileRead (
}
if (!PrivateFile->IsDirectoryPath) {
-
if (This->GetPosition (This, &Pos) != EFI_SUCCESS) {
Status = EFI_DEVICE_ERROR;
goto Done;
}
FileInfoSize = SIZE_OF_EFI_FILE_SYSTEM_INFO;
- FileInfo = AllocatePool (FileInfoSize);
+ FileInfo = AllocatePool (FileInfoSize);
Status = This->GetInfo (
- This,
- &gEfiFileInfoGuid,
- &FileInfoSize,
- FileInfo
- );
+ This,
+ &gEfiFileInfoGuid,
+ &FileInfoSize,
+ FileInfo
+ );
if (Status == EFI_BUFFER_TOO_SMALL) {
FreePool (FileInfo);
FileInfo = AllocatePool (FileInfoSize);
- Status = This->GetInfo (
- This,
- &gEfiFileInfoGuid,
- &FileInfoSize,
- FileInfo
- );
+ Status = This->GetInfo (
+ This,
+ &gEfiFileInfoGuid,
+ &FileInfoSize,
+ FileInfo
+ );
}
if (EFI_ERROR (Status)) {
@@ -1160,12 +1154,12 @@ WinNtFileRead (
}
Status = ReadFile (
- PrivateFile->LHandle,
- Buffer,
- (DWORD)*BufferSize,
- (LPDWORD)BufferSize,
- NULL
- ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
+ PrivateFile->LHandle,
+ Buffer,
+ (DWORD)*BufferSize,
+ (LPDWORD)BufferSize,
+ NULL
+ ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
goto Done;
}
@@ -1174,7 +1168,7 @@ WinNtFileRead (
//
if (!PrivateFile->IsValidFindBuf) {
*BufferSize = 0;
- Status = EFI_SUCCESS;
+ Status = EFI_SUCCESS;
goto Done;
}
@@ -1244,8 +1238,6 @@ Done:
return Status;
}
-
-
/**
Write data to a file.
@@ -1266,13 +1258,13 @@ Done:
**/
EFI_STATUS
WinNtFileWrite (
- IN EFI_FILE_PROTOCOL *This,
- IN OUT UINTN *BufferSize,
- IN VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN OUT UINTN *BufferSize,
+ IN VOID *Buffer
)
{
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- EFI_STATUS Status;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ EFI_STATUS Status;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
@@ -1292,12 +1284,12 @@ WinNtFileWrite (
}
Status = WriteFile (
- PrivateFile->LHandle,
- Buffer,
- (DWORD)*BufferSize,
- (LPDWORD)BufferSize,
- NULL
- ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
+ PrivateFile->LHandle,
+ Buffer,
+ (DWORD)*BufferSize,
+ (LPDWORD)BufferSize,
+ NULL
+ ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
Done:
return Status;
@@ -1307,8 +1299,6 @@ Done:
//
}
-
-
/**
Set a files current position
@@ -1321,16 +1311,16 @@ Done:
**/
EFI_STATUS
WinNtFileSetPossition (
- IN EFI_FILE_PROTOCOL *This,
- IN UINT64 Position
+ IN EFI_FILE_PROTOCOL *This,
+ IN UINT64 Position
)
{
- EFI_STATUS Status;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- UINT32 PosLow;
- UINT32 PosHigh;
- CHAR16 *FileName;
- UINTN Size;
+ EFI_STATUS Status;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ UINT32 PosLow;
+ UINT32 PosHigh;
+ CHAR16 *FileName;
+ UINTN Size;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
@@ -1340,8 +1330,8 @@ WinNtFileSetPossition (
goto Done;
}
- Size = StrSize (PrivateFile->FileName);
- Size += StrSize (L"\\*");
+ Size = StrSize (PrivateFile->FileName);
+ Size += StrSize (L"\\*");
FileName = AllocatePool (Size);
if (FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
@@ -1382,8 +1372,6 @@ Done:
return Status;
}
-
-
/**
Get a file's current position
@@ -1396,41 +1384,38 @@ Done:
**/
EFI_STATUS
WinNtFileGetPossition (
- IN EFI_FILE_PROTOCOL *This,
- OUT UINT64 *Position
+ IN EFI_FILE_PROTOCOL *This,
+ OUT UINT64 *Position
)
{
- EFI_STATUS Status;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- INT32 PositionHigh;
- UINT64 PosHigh64;
+ EFI_STATUS Status;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ INT32 PositionHigh;
+ UINT64 PosHigh64;
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
PositionHigh = 0;
- PosHigh64 = 0;
+ PosHigh64 = 0;
if (PrivateFile->IsDirectoryPath) {
-
Status = EFI_UNSUPPORTED;
goto Done;
-
} else {
-
PositionHigh = 0;
- *Position = SetFilePointer (
- PrivateFile->LHandle,
- 0,
- (PLONG)&PositionHigh,
- FILE_CURRENT
- );
+ *Position = SetFilePointer (
+ PrivateFile->LHandle,
+ 0,
+ (PLONG)&PositionHigh,
+ FILE_CURRENT
+ );
Status = *Position == 0xffffffff ? EFI_DEVICE_ERROR : EFI_SUCCESS;
if (EFI_ERROR (Status)) {
goto Done;
}
- PosHigh64 = PositionHigh;
+ PosHigh64 = PositionHigh;
*Position += LShiftU64 (PosHigh64, 32);
}
@@ -1438,13 +1423,13 @@ Done:
return Status;
}
-
EFI_STATUS
WinNtSimpleFileSystemFileInfo (
IN WIN_NT_EFI_FILE_PRIVATE *PrivateFile,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
-)
+ )
+
/*++
Routine Description:
@@ -1476,7 +1461,7 @@ Returns:
Size = SIZE_OF_EFI_FILE_INFO;
RealFileName = PrivateFile->FileName;
- TempPointer = RealFileName;
+ TempPointer = RealFileName;
while (*TempPointer) {
if (*TempPointer == '\\') {
RealFileName = TempPointer + 1;
@@ -1484,6 +1469,7 @@ Returns:
TempPointer++;
}
+
NameSize = StrSize (RealFileName);
ResultSize = Size + NameSize;
@@ -1499,8 +1485,8 @@ Returns:
GetFileInformationByHandle (
PrivateFile->IsDirectoryPath ? PrivateFile->DirHandle : PrivateFile->LHandle,
&FileInfo
- );
- Info->FileSize = FileInfo.nFileSizeLow;
+ );
+ Info->FileSize = FileInfo.nFileSizeLow;
Info->PhysicalSize = Info->FileSize;
GetTimeZoneInformation (&TimeZone);
@@ -1563,27 +1549,27 @@ Returns:
**/
EFI_STATUS
WinNtFileGetInfo (
- IN EFI_FILE_PROTOCOL *This,
- IN EFI_GUID *InformationType,
- IN OUT UINTN *BufferSize,
- OUT VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN EFI_GUID *InformationType,
+ IN OUT UINTN *BufferSize,
+ OUT VOID *Buffer
)
{
- EFI_STATUS Status;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- EFI_FILE_SYSTEM_INFO *FileSystemInfoBuffer;
- UINT32 SectorsPerCluster;
- UINT32 BytesPerSector;
- UINT32 FreeClusters;
- UINT32 TotalClusters;
- UINT32 BytesPerCluster;
- CHAR16 *DriveName;
- BOOLEAN DriveNameFound;
- BOOL NtStatus;
- UINTN Index;
- WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
-
- if (This == NULL || InformationType == NULL || BufferSize == NULL) {
+ EFI_STATUS Status;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ EFI_FILE_SYSTEM_INFO *FileSystemInfoBuffer;
+ UINT32 SectorsPerCluster;
+ UINT32 BytesPerSector;
+ UINT32 FreeClusters;
+ UINT32 TotalClusters;
+ UINT32 BytesPerCluster;
+ CHAR16 *DriveName;
+ BOOLEAN DriveNameFound;
+ BOOL NtStatus;
+ UINTN Index;
+ WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
+
+ if ((This == NULL) || (InformationType == NULL) || (BufferSize == NULL)) {
return EFI_INVALID_PARAMETER;
}
@@ -1599,19 +1585,19 @@ WinNtFileGetInfo (
if (CompareGuid (InformationType, &gEfiFileSystemInfoGuid)) {
if (*BufferSize < SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel)) {
*BufferSize = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);
- Status = EFI_BUFFER_TOO_SMALL;
+ Status = EFI_BUFFER_TOO_SMALL;
goto Done;
}
- FileSystemInfoBuffer = (EFI_FILE_SYSTEM_INFO *)Buffer;
- FileSystemInfoBuffer->Size = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);
+ FileSystemInfoBuffer = (EFI_FILE_SYSTEM_INFO *)Buffer;
+ FileSystemInfoBuffer->Size = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);
FileSystemInfoBuffer->ReadOnly = FALSE;
//
// Try to get the drive name
//
DriveNameFound = FALSE;
- DriveName = AllocatePool (StrSize (PrivateFile->FilePath) + 1);
+ DriveName = AllocatePool (StrSize (PrivateFile->FilePath) + 1);
if (DriveName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
@@ -1623,25 +1609,22 @@ WinNtFileGetInfo (
PrivateFile->FilePath
);
for (Index = 0; DriveName[Index] != 0 && DriveName[Index] != ':'; Index++) {
- ;
}
if (DriveName[Index] == ':') {
DriveName[Index + 1] = '\\';
DriveName[Index + 2] = 0;
- DriveNameFound = TRUE;
- } else if (DriveName[0] == '\\' && DriveName[1] == '\\') {
+ DriveNameFound = TRUE;
+ } else if ((DriveName[0] == '\\') && (DriveName[1] == '\\')) {
for (Index = 2; DriveName[Index] != 0 && DriveName[Index] != '\\'; Index++) {
- ;
}
if (DriveName[Index] == '\\') {
DriveNameFound = TRUE;
for (Index++; DriveName[Index] != 0 && DriveName[Index] != '\\'; Index++) {
- ;
}
- DriveName[Index] = '\\';
+ DriveName[Index] = '\\';
DriveName[Index + 1] = 0;
}
}
@@ -1650,12 +1633,12 @@ WinNtFileGetInfo (
// Try GetDiskFreeSpace first
//
NtStatus = GetDiskFreeSpace (
- DriveNameFound ? DriveName : NULL,
- (LPDWORD)&SectorsPerCluster,
- (LPDWORD)&BytesPerSector,
- (LPDWORD)&FreeClusters,
- (LPDWORD)&TotalClusters
- );
+ DriveNameFound ? DriveName : NULL,
+ (LPDWORD)&SectorsPerCluster,
+ (LPDWORD)&BytesPerSector,
+ (LPDWORD)&FreeClusters,
+ (LPDWORD)&TotalClusters
+ );
if (DriveName) {
FreePool (DriveName);
}
@@ -1664,22 +1647,21 @@ WinNtFileGetInfo (
//
// Succeeded
//
- BytesPerCluster = BytesPerSector * SectorsPerCluster;
+ BytesPerCluster = BytesPerSector * SectorsPerCluster;
FileSystemInfoBuffer->VolumeSize = MultU64x32 (TotalClusters, BytesPerCluster);
- FileSystemInfoBuffer->FreeSpace = MultU64x32 (FreeClusters, BytesPerCluster);
- FileSystemInfoBuffer->BlockSize = BytesPerCluster;
-
+ FileSystemInfoBuffer->FreeSpace = MultU64x32 (FreeClusters, BytesPerCluster);
+ FileSystemInfoBuffer->BlockSize = BytesPerCluster;
} else {
//
// try GetDiskFreeSpaceEx then
//
FileSystemInfoBuffer->BlockSize = 0;
- NtStatus = GetDiskFreeSpaceEx (
- PrivateFile->FilePath,
- (PULARGE_INTEGER)(&FileSystemInfoBuffer->FreeSpace),
- (PULARGE_INTEGER)(&FileSystemInfoBuffer->VolumeSize),
- NULL
- );
+ NtStatus = GetDiskFreeSpaceEx (
+ PrivateFile->FilePath,
+ (PULARGE_INTEGER)(&FileSystemInfoBuffer->FreeSpace),
+ (PULARGE_INTEGER)(&FileSystemInfoBuffer->VolumeSize),
+ NULL
+ );
if (!NtStatus) {
Status = EFI_DEVICE_ERROR;
goto Done;
@@ -1692,13 +1674,13 @@ WinNtFileGetInfo (
PrivateRoot->VolumeLabel
);
*BufferSize = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);
- Status = EFI_SUCCESS;
+ Status = EFI_SUCCESS;
}
if (CompareGuid (InformationType, &gEfiFileSystemVolumeLabelInfoIdGuid)) {
if (*BufferSize < StrSize (PrivateRoot->VolumeLabel)) {
*BufferSize = StrSize (PrivateRoot->VolumeLabel);
- Status = EFI_BUFFER_TOO_SMALL;
+ Status = EFI_BUFFER_TOO_SMALL;
goto Done;
}
@@ -1708,14 +1690,13 @@ WinNtFileGetInfo (
PrivateRoot->VolumeLabel
);
*BufferSize = StrSize (PrivateRoot->VolumeLabel);
- Status = EFI_SUCCESS;
+ Status = EFI_SUCCESS;
}
Done:
return Status;
}
-
/**
Set information about a file
@@ -1735,39 +1716,39 @@ Done:
**/
EFI_STATUS
WinNtFileSetInfo (
- IN EFI_FILE_PROTOCOL *This,
- IN EFI_GUID *InformationType,
- IN UINTN BufferSize,
- IN VOID *Buffer
+ IN EFI_FILE_PROTOCOL *This,
+ IN EFI_GUID *InformationType,
+ IN UINTN BufferSize,
+ IN VOID *Buffer
)
{
- WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
- WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
- EFI_FILE_INFO *OldFileInfo;
- EFI_FILE_INFO *NewFileInfo;
- EFI_STATUS Status;
- UINTN OldInfoSize;
- INTN NtStatus;
- UINT32 NewAttr;
- UINT32 OldAttr;
- CHAR16 *OldFileName;
- CHAR16 *NewFileName;
- CHAR16 *TempFileName;
- CHAR16 *CharPointer;
- BOOLEAN AttrChangeFlag;
- BOOLEAN NameChangeFlag;
- BOOLEAN SizeChangeFlag;
- BOOLEAN TimeChangeFlag;
- UINT64 CurPos;
- SYSTEMTIME NewCreationSystemTime;
- SYSTEMTIME NewLastAccessSystemTime;
- SYSTEMTIME NewLastWriteSystemTime;
- FILETIME NewCreationFileTime;
- FILETIME NewLastAccessFileTime;
- FILETIME NewLastWriteFileTime;
- WIN32_FIND_DATA FindBuf;
- EFI_FILE_SYSTEM_INFO *NewFileSystemInfo;
- UINTN Size;
+ WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;
+ WIN_NT_EFI_FILE_PRIVATE *PrivateFile;
+ EFI_FILE_INFO *OldFileInfo;
+ EFI_FILE_INFO *NewFileInfo;
+ EFI_STATUS Status;
+ UINTN OldInfoSize;
+ INTN NtStatus;
+ UINT32 NewAttr;
+ UINT32 OldAttr;
+ CHAR16 *OldFileName;
+ CHAR16 *NewFileName;
+ CHAR16 *TempFileName;
+ CHAR16 *CharPointer;
+ BOOLEAN AttrChangeFlag;
+ BOOLEAN NameChangeFlag;
+ BOOLEAN SizeChangeFlag;
+ BOOLEAN TimeChangeFlag;
+ UINT64 CurPos;
+ SYSTEMTIME NewCreationSystemTime;
+ SYSTEMTIME NewLastAccessSystemTime;
+ SYSTEMTIME NewLastWriteSystemTime;
+ FILETIME NewCreationFileTime;
+ FILETIME NewLastAccessFileTime;
+ FILETIME NewLastWriteFileTime;
+ WIN32_FIND_DATA FindBuf;
+ EFI_FILE_SYSTEM_INFO *NewFileSystemInfo;
+ UINTN Size;
//
// Initialise locals.
@@ -1775,9 +1756,9 @@ WinNtFileSetInfo (
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
PrivateRoot = WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);
- Status = EFI_UNSUPPORTED;
- OldFileInfo = NewFileInfo = NULL;
- OldFileName = NewFileName = NULL;
+ Status = EFI_UNSUPPORTED;
+ OldFileInfo = NewFileInfo = NULL;
+ OldFileName = NewFileName = NULL;
AttrChangeFlag = NameChangeFlag = SizeChangeFlag = TimeChangeFlag = FALSE;
//
@@ -1790,7 +1771,6 @@ WinNtFileSetInfo (
goto Done;
}
-
FreePool (PrivateRoot->VolumeLabel);
PrivateRoot->VolumeLabel = AllocatePool (StrSize (NewFileSystemInfo->VolumeLabel));
if (PrivateRoot->VolumeLabel == NULL) {
@@ -1847,9 +1827,10 @@ WinNtFileSetInfo (
NewFileInfo = (EFI_FILE_INFO *)Buffer;
if ((NewFileInfo->Size <= SIZE_OF_EFI_FILE_INFO) ||
- (NewFileInfo->Attribute &~(EFI_FILE_VALID_ATTR)) ||
- (sizeof (UINTN) == 4 && NewFileInfo->Size > 0xFFFFFFFF)
- ) {
+ (NewFileInfo->Attribute &~(EFI_FILE_VALID_ATTR)) ||
+ ((sizeof (UINTN) == 4) && (NewFileInfo->Size > 0xFFFFFFFF))
+ )
+ {
Status = EFI_INVALID_PARAMETER;
goto Done;
}
@@ -1865,7 +1846,7 @@ WinNtFileSetInfo (
// of change request this is.
//
OldInfoSize = 0;
- Status = WinNtSimpleFileSystemFileInfo (PrivateFile, &OldInfoSize, NULL);
+ Status = WinNtSimpleFileSystemFileInfo (PrivateFile, &OldInfoSize, NULL);
if (Status != EFI_BUFFER_TOO_SMALL) {
Status = EFI_DEVICE_ERROR;
@@ -1900,9 +1881,9 @@ WinNtFileSetInfo (
// Make full pathname from new filename and rootpath.
//
if (NewFileInfo->FileName[0] == '\\') {
- Size = StrSize (PrivateRoot->FilePath);
- Size += StrSize (L"\\");
- Size += StrSize (NewFileInfo->FileName);
+ Size = StrSize (PrivateRoot->FilePath);
+ Size += StrSize (L"\\");
+ Size += StrSize (NewFileInfo->FileName);
NewFileName = AllocatePool (Size);
if (NewFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
@@ -1913,9 +1894,9 @@ WinNtFileSetInfo (
StrCatS (NewFileName, Size / sizeof (CHAR16), L"\\");
StrCatS (NewFileName, Size / sizeof (CHAR16), NewFileInfo->FileName + 1);
} else {
- Size = StrSize (PrivateFile->FilePath);
- Size += StrSize (L"\\");
- Size += StrSize (NewFileInfo->FileName);
+ Size = StrSize (PrivateFile->FilePath);
+ Size += StrSize (L"\\");
+ Size += StrSize (NewFileInfo->FileName);
NewFileName = AllocatePool (Size);
if (NewFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
@@ -1958,16 +1939,19 @@ WinNtFileSetInfo (
// Is there a time stamp change request?
//
if (!IsZero (&NewFileInfo->CreateTime, sizeof (EFI_TIME)) &&
- CompareMem (&NewFileInfo->CreateTime, &OldFileInfo->CreateTime, sizeof (EFI_TIME))
- ) {
+ CompareMem (&NewFileInfo->CreateTime, &OldFileInfo->CreateTime, sizeof (EFI_TIME))
+ )
+ {
TimeChangeFlag = TRUE;
} else if (!IsZero (&NewFileInfo->LastAccessTime, sizeof (EFI_TIME)) &&
- CompareMem (&NewFileInfo->LastAccessTime, &OldFileInfo->LastAccessTime, sizeof (EFI_TIME))
- ) {
+ CompareMem (&NewFileInfo->LastAccessTime, &OldFileInfo->LastAccessTime, sizeof (EFI_TIME))
+ )
+ {
TimeChangeFlag = TRUE;
} else if (!IsZero (&NewFileInfo->ModificationTime, sizeof (EFI_TIME)) &&
- CompareMem (&NewFileInfo->ModificationTime, &OldFileInfo->ModificationTime, sizeof (EFI_TIME))
- ) {
+ CompareMem (&NewFileInfo->ModificationTime, &OldFileInfo->ModificationTime, sizeof (EFI_TIME))
+ )
+ {
TimeChangeFlag = TRUE;
}
@@ -2013,7 +1997,7 @@ WinNtFileSetInfo (
}
}
- if (PrivateFile->IsDirectoryPath && PrivateFile->DirHandle != INVALID_HANDLE_VALUE) {
+ if (PrivateFile->IsDirectoryPath && (PrivateFile->DirHandle != INVALID_HANDLE_VALUE)) {
CloseHandle (PrivateFile->DirHandle);
PrivateFile->DirHandle = INVALID_HANDLE_VALUE;
}
@@ -2034,22 +2018,22 @@ WinNtFileSetInfo (
StrCpyS (PrivateFile->FileName, StrSize (NewFileName) / sizeof (CHAR16), NewFileName);
- Size = StrSize (NewFileName);
- Size += StrSize (L"\\*");
+ Size = StrSize (NewFileName);
+ Size += StrSize (L"\\*");
TempFileName = AllocatePool (Size);
StrCpyS (TempFileName, Size / sizeof (CHAR16), NewFileName);
if (!PrivateFile->IsDirectoryPath) {
PrivateFile->LHandle = CreateFile (
- TempFileName,
- PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
+ TempFileName,
+ PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ 0,
+ NULL
+ );
FreePool (TempFileName);
@@ -2062,14 +2046,14 @@ WinNtFileSetInfo (
}
} else {
PrivateFile->DirHandle = CreateFile (
- TempFileName,
- PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- NULL
- );
+ TempFileName,
+ PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL
+ );
StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");
PrivateFile->LHandle = FindFirstFile (TempFileName, &FindBuf);
@@ -2078,7 +2062,7 @@ WinNtFileSetInfo (
}
} else {
Status = EFI_ACCESS_DENIED;
- Reopen:;
+Reopen:;
NtStatus = SetFileAttributes (OldFileName, OldAttr);
@@ -2086,32 +2070,32 @@ WinNtFileSetInfo (
goto Done;
}
- Size = StrSize (OldFileName);
- Size += StrSize (L"\\*");
+ Size = StrSize (OldFileName);
+ Size += StrSize (L"\\*");
TempFileName = AllocatePool (Size);
StrCpyS (TempFileName, Size / sizeof (CHAR16), OldFileName);
if (!PrivateFile->IsDirectoryPath) {
PrivateFile->LHandle = CreateFile (
- TempFileName,
- PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
+ TempFileName,
+ PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ 0,
+ NULL
+ );
} else {
PrivateFile->DirHandle = CreateFile (
- TempFileName,
- PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- NULL
- );
+ TempFileName,
+ PrivateFile->IsOpenedByRead ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL
+ );
StrCatS (TempFileName, Size / sizeof (CHAR16), L"\\*");
PrivateFile->LHandle = FindFirstFile (TempFileName, &FindBuf);
@@ -2120,7 +2104,6 @@ WinNtFileSetInfo (
FreePool (TempFileName);
goto Done;
-
}
}
@@ -2163,83 +2146,88 @@ WinNtFileSetInfo (
// Time change
//
if (TimeChangeFlag) {
-
- NewCreationSystemTime.wYear = NewFileInfo->CreateTime.Year;
- NewCreationSystemTime.wMonth = NewFileInfo->CreateTime.Month;
- NewCreationSystemTime.wDay = NewFileInfo->CreateTime.Day;
- NewCreationSystemTime.wHour = NewFileInfo->CreateTime.Hour;
- NewCreationSystemTime.wMinute = NewFileInfo->CreateTime.Minute;
- NewCreationSystemTime.wSecond = NewFileInfo->CreateTime.Second;
+ NewCreationSystemTime.wYear = NewFileInfo->CreateTime.Year;
+ NewCreationSystemTime.wMonth = NewFileInfo->CreateTime.Month;
+ NewCreationSystemTime.wDay = NewFileInfo->CreateTime.Day;
+ NewCreationSystemTime.wHour = NewFileInfo->CreateTime.Hour;
+ NewCreationSystemTime.wMinute = NewFileInfo->CreateTime.Minute;
+ NewCreationSystemTime.wSecond = NewFileInfo->CreateTime.Second;
NewCreationSystemTime.wMilliseconds = 0;
if (!SystemTimeToFileTime (
- &NewCreationSystemTime,
- &NewCreationFileTime
- )) {
+ &NewCreationSystemTime,
+ &NewCreationFileTime
+ ))
+ {
goto Done;
}
if (!LocalFileTimeToFileTime (
- &NewCreationFileTime,
- &NewCreationFileTime
- )) {
+ &NewCreationFileTime,
+ &NewCreationFileTime
+ ))
+ {
goto Done;
}
- NewLastAccessSystemTime.wYear = NewFileInfo->LastAccessTime.Year;
- NewLastAccessSystemTime.wMonth = NewFileInfo->LastAccessTime.Month;
- NewLastAccessSystemTime.wDay = NewFileInfo->LastAccessTime.Day;
- NewLastAccessSystemTime.wHour = NewFileInfo->LastAccessTime.Hour;
- NewLastAccessSystemTime.wMinute = NewFileInfo->LastAccessTime.Minute;
- NewLastAccessSystemTime.wSecond = NewFileInfo->LastAccessTime.Second;
+ NewLastAccessSystemTime.wYear = NewFileInfo->LastAccessTime.Year;
+ NewLastAccessSystemTime.wMonth = NewFileInfo->LastAccessTime.Month;
+ NewLastAccessSystemTime.wDay = NewFileInfo->LastAccessTime.Day;
+ NewLastAccessSystemTime.wHour = NewFileInfo->LastAccessTime.Hour;
+ NewLastAccessSystemTime.wMinute = NewFileInfo->LastAccessTime.Minute;
+ NewLastAccessSystemTime.wSecond = NewFileInfo->LastAccessTime.Second;
NewLastAccessSystemTime.wMilliseconds = 0;
if (!SystemTimeToFileTime (
- &NewLastAccessSystemTime,
- &NewLastAccessFileTime
- )) {
+ &NewLastAccessSystemTime,
+ &NewLastAccessFileTime
+ ))
+ {
goto Done;
}
if (!LocalFileTimeToFileTime (
- &NewLastAccessFileTime,
- &NewLastAccessFileTime
- )) {
+ &NewLastAccessFileTime,
+ &NewLastAccessFileTime
+ ))
+ {
goto Done;
}
- NewLastWriteSystemTime.wYear = NewFileInfo->ModificationTime.Year;
- NewLastWriteSystemTime.wMonth = NewFileInfo->ModificationTime.Month;
- NewLastWriteSystemTime.wDay = NewFileInfo->ModificationTime.Day;
- NewLastWriteSystemTime.wHour = NewFileInfo->ModificationTime.Hour;
- NewLastWriteSystemTime.wMinute = NewFileInfo->ModificationTime.Minute;
- NewLastWriteSystemTime.wSecond = NewFileInfo->ModificationTime.Second;
+ NewLastWriteSystemTime.wYear = NewFileInfo->ModificationTime.Year;
+ NewLastWriteSystemTime.wMonth = NewFileInfo->ModificationTime.Month;
+ NewLastWriteSystemTime.wDay = NewFileInfo->ModificationTime.Day;
+ NewLastWriteSystemTime.wHour = NewFileInfo->ModificationTime.Hour;
+ NewLastWriteSystemTime.wMinute = NewFileInfo->ModificationTime.Minute;
+ NewLastWriteSystemTime.wSecond = NewFileInfo->ModificationTime.Second;
NewLastWriteSystemTime.wMilliseconds = 0;
if (!SystemTimeToFileTime (
- &NewLastWriteSystemTime,
- &NewLastWriteFileTime
- )) {
+ &NewLastWriteSystemTime,
+ &NewLastWriteFileTime
+ ))
+ {
goto Done;
}
if (!LocalFileTimeToFileTime (
- &NewLastWriteFileTime,
- &NewLastWriteFileTime
- )) {
+ &NewLastWriteFileTime,
+ &NewLastWriteFileTime
+ ))
+ {
goto Done;
}
if (!SetFileTime (
- PrivateFile->IsDirectoryPath ? PrivateFile->DirHandle : PrivateFile->LHandle,
- &NewCreationFileTime,
- &NewLastAccessFileTime,
- &NewLastWriteFileTime
- )) {
+ PrivateFile->IsDirectoryPath ? PrivateFile->DirHandle : PrivateFile->LHandle,
+ &NewCreationFileTime,
+ &NewLastAccessFileTime,
+ &NewLastWriteFileTime
+ ))
+ {
Status = EFI_DEVICE_ERROR;
goto Done;
}
-
}
//
@@ -2295,7 +2283,6 @@ Done:
return Status;
}
-
/**
Flush data back for the file handle.
@@ -2351,14 +2338,11 @@ Done:
//
// bugbug: - Use Windows error reporting.
//
-
}
-
-
EFI_STATUS
WinNtFileSystmeThunkOpen (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *Private;
@@ -2390,10 +2374,9 @@ WinNtFileSystmeThunkOpen (
return EFI_SUCCESS;
}
-
EFI_STATUS
WinNtFileSystmeThunkClose (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE *Private;
@@ -2404,15 +2387,16 @@ WinNtFileSystmeThunkClose (
if (Private->VolumeLabel != NULL) {
FreePool (Private->VolumeLabel);
}
+
if (Private->FilePath != NULL) {
FreePool (Private->FilePath);
}
+
FreePool (Private);
return EFI_SUCCESS;
}
-
-EFI_FILE_PROTOCOL gWinNtFileProtocol = {
+EFI_FILE_PROTOCOL gWinNtFileProtocol = {
EFI_FILE_REVISION,
WinNtFileOpen,
WinNtFileClose,
@@ -2426,13 +2410,12 @@ EFI_FILE_PROTOCOL gWinNtFileProtocol = {
WinNtFileFlush
};
-EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gWinNtFileSystemProtocol = {
+EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gWinNtFileSystemProtocol = {
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION,
WinNtOpenVolume
};
-
-EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo = {
+EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo = {
&gEfiSimpleFileSystemProtocolGuid,
NULL,
NULL,
@@ -2441,5 +2424,3 @@ EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo = {
WinNtFileSystmeThunkClose,
NULL
};
-
-
diff --git a/EmulatorPkg/Win/Host/WinGop.h b/EmulatorPkg/Win/Host/WinGop.h
index 7a8f01a37c..2799778ca9 100644
--- a/EmulatorPkg/Win/Host/WinGop.h
+++ b/EmulatorPkg/Win/Host/WinGop.h
@@ -17,7 +17,6 @@ Abstract:
#ifndef _WIN_GOP_H_
#define _WIN_GOP_H_
-
#include "WinHost.h"
#include <Protocol/EmuIoThunk.h>
@@ -39,87 +38,85 @@ Abstract:
// The value is 1 if the ALT key is down while the key is pressed/released;
// it is 0 if the WM_SYSKEYDOWN message is posted to the active window
// because no window has the keyboard focus.
-#define GOP_EXTENDED_KEY (0x1 << 24)
-#define GOP_ALT_KEY_PRESSED (0x1 << 29)
+#define GOP_EXTENDED_KEY (0x1 << 24)
+#define GOP_ALT_KEY_PRESSED (0x1 << 29)
-#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
+#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
-#define MAX_Q 256
+#define MAX_Q 256
typedef struct {
- UINTN Front;
- UINTN Rear;
- EFI_KEY_DATA Q[MAX_Q];
- CRITICAL_SECTION Cs;
+ UINTN Front;
+ UINTN Rear;
+ EFI_KEY_DATA Q[MAX_Q];
+ CRITICAL_SECTION Cs;
} GOP_QUEUE_FIXED;
-#define WIN_NT_GOP_CLASS_NAME L"WinNtGopWindow"
-
+#define WIN_NT_GOP_CLASS_NAME L"WinNtGopWindow"
typedef struct {
- UINT64 Signature;
- EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsWindowIo;
+ UINT64 Signature;
+ EMU_GRAPHICS_WINDOW_PROTOCOL GraphicsWindowIo;
//
// GOP Private Data knowing when to start hardware
//
- BOOLEAN HardwareNeedsStarting;
+ BOOLEAN HardwareNeedsStarting;
- CHAR16 *WindowName;
- CHAR16 Buffer[160];
+ CHAR16 *WindowName;
+ CHAR16 Buffer[160];
- HANDLE ThreadInited; // Semaphore
- HANDLE ThreadHandle; // Thread
- DWORD ThreadId;
+ HANDLE ThreadInited; // Semaphore
+ HANDLE ThreadHandle; // Thread
+ DWORD ThreadId;
- HWND WindowHandle;
- WNDCLASSEX WindowsClass;
+ HWND WindowHandle;
+ WNDCLASSEX WindowsClass;
- UINT32 Width;
- UINT32 Height;
+ UINT32 Width;
+ UINT32 Height;
//
// This screen is used to redraw the screen when windows events happen. It's
// updated in the main thread and displayed in the windows thread.
//
- BITMAPV4HEADER *VirtualScreenInfo;
+ BITMAPV4HEADER *VirtualScreenInfo;
- FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;
+ FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;
//
// Keyboard Queue used by Simple Text In.
// QueueForRead: WinProc thread adds, and main thread removes.
//
- GOP_QUEUE_FIXED QueueForRead;
+ GOP_QUEUE_FIXED QueueForRead;
EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeRegisterdKeyCallback;
EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakRegisterdKeyCallback;
VOID *RegisterdKeyCallbackContext;
- EFI_KEY_STATE KeyState;
- BOOLEAN LeftShift;
- BOOLEAN RightShift;
- BOOLEAN LeftAlt;
- BOOLEAN RightAlt;
- BOOLEAN LeftCtrl;
- BOOLEAN RightCtrl;
- BOOLEAN LeftLogo;
- BOOLEAN RightLogo;
- BOOLEAN Menu;
- BOOLEAN SysReq;
- BOOLEAN NumLock;
- BOOLEAN ScrollLock;
- BOOLEAN CapsLock;
- BOOLEAN IsPartialKeySupport;
- INT32 PointerPreviousX;
- INT32 PointerPreviousY;
- BOOLEAN PointerStateChanged;
- EFI_SIMPLE_POINTER_STATE PointerState;
+ EFI_KEY_STATE KeyState;
+ BOOLEAN LeftShift;
+ BOOLEAN RightShift;
+ BOOLEAN LeftAlt;
+ BOOLEAN RightAlt;
+ BOOLEAN LeftCtrl;
+ BOOLEAN RightCtrl;
+ BOOLEAN LeftLogo;
+ BOOLEAN RightLogo;
+ BOOLEAN Menu;
+ BOOLEAN SysReq;
+ BOOLEAN NumLock;
+ BOOLEAN ScrollLock;
+ BOOLEAN CapsLock;
+ BOOLEAN IsPartialKeySupport;
+ INT32 PointerPreviousX;
+ INT32 PointerPreviousY;
+ BOOLEAN PointerStateChanged;
+ EFI_SIMPLE_POINTER_STATE PointerState;
} GRAPHICS_PRIVATE_DATA;
#define GRAPHICS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('g', 'f', 'x', 'd')
#define GRAPHICS_PRIVATE_DATA_FROM_THIS(a) \
CR(a, GRAPHICS_PRIVATE_DATA, GraphicsWindowIo, GRAPHICS_PRIVATE_DATA_SIGNATURE)
-
//
// Gop Hardware abstraction internal worker functions
//
@@ -135,8 +132,8 @@ typedef struct {
**/
EFI_STATUS
GopPrivateAddKey (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN EFI_INPUT_KEY Key
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN EFI_INPUT_KEY Key
);
EFI_STATUS
@@ -149,29 +146,29 @@ WinNtWndGetKey (
EFI_STATUS
EFIAPI
WinNtWndCheckKey (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
);
EFI_STATUS
EFIAPI
WinNtWndKeySetState (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
- IN EFI_KEY_TOGGLE_STATE *KeyToggleState
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
+ IN EFI_KEY_TOGGLE_STATE *KeyToggleState
);
EFI_STATUS
EFIAPI
WinNtWndRegisterKeyNotify (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
- IN VOID *Context
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
+ IN VOID *Context
);
EFI_STATUS
EFIAPI
WinNtWndCheckPointer (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
);
EFI_STATUS
@@ -180,13 +177,13 @@ WinNtWndGetPointerState (
IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
IN EFI_SIMPLE_POINTER_STATE *State
);
+
EFI_STATUS
GopPrivateCreateQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue
);
-
/**
TODO: Add function description
@@ -197,8 +194,8 @@ GopPrivateCreateQ (
**/
EFI_STATUS
GopPrivateDestroyQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue
);
-#endif
+#endif
diff --git a/EmulatorPkg/Win/Host/WinGopInput.c b/EmulatorPkg/Win/Host/WinGopInput.c
index 6ae7aa4c37..1c67a1cb40 100644
--- a/EmulatorPkg/Win/Host/WinGopInput.c
+++ b/EmulatorPkg/Win/Host/WinGopInput.c
@@ -22,10 +22,8 @@ Abstract:
**/
-
#include "WinGop.h"
-
/**
TODO: Add function description
@@ -36,8 +34,8 @@ Abstract:
**/
EFI_STATUS
GopPrivateCreateQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue
)
{
InitializeCriticalSection (&Queue->Cs);
@@ -46,7 +44,6 @@ GopPrivateCreateQ (
return EFI_SUCCESS;
}
-
/**
TODO: Add function description
@@ -57,8 +54,8 @@ GopPrivateCreateQ (
**/
EFI_STATUS
GopPrivateDestroyQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue
)
{
Queue->Front = 0;
@@ -67,7 +64,6 @@ GopPrivateDestroyQ (
return EFI_SUCCESS;
}
-
/**
TODO: Add function description
@@ -80,9 +76,9 @@ GopPrivateDestroyQ (
**/
EFI_STATUS
GopPrivateAddQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue,
- IN EFI_KEY_DATA *KeyData
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue,
+ IN EFI_KEY_DATA *KeyData
)
{
EnterCriticalSection (&Queue->Cs);
@@ -93,13 +89,12 @@ GopPrivateAddQ (
}
CopyMem (&Queue->Q[Queue->Rear], KeyData, sizeof (EFI_KEY_DATA));
- Queue->Rear = (Queue->Rear + 1) % MAX_Q;
+ Queue->Rear = (Queue->Rear + 1) % MAX_Q;
LeaveCriticalSection (&Queue->Cs);
return EFI_SUCCESS;
}
-
/**
TODO: Add function description
@@ -112,9 +107,9 @@ GopPrivateAddQ (
**/
EFI_STATUS
GopPrivateDeleteQ (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN GOP_QUEUE_FIXED *Queue,
- OUT EFI_KEY_DATA *Key
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN GOP_QUEUE_FIXED *Queue,
+ OUT EFI_KEY_DATA *Key
)
{
EnterCriticalSection (&Queue->Cs);
@@ -125,9 +120,9 @@ GopPrivateDeleteQ (
}
CopyMem (Key, &Queue->Q[Queue->Front], sizeof (EFI_KEY_DATA));
- Queue->Front = (Queue->Front + 1) % MAX_Q;
+ Queue->Front = (Queue->Front + 1) % MAX_Q;
- if (Key->Key.ScanCode == SCAN_NULL && Key->Key.UnicodeChar == CHAR_NULL) {
+ if ((Key->Key.ScanCode == SCAN_NULL) && (Key->Key.UnicodeChar == CHAR_NULL)) {
if (!Private->IsPartialKeySupport) {
//
// If partial keystrok is not enabled, don't return the partial keystroke.
@@ -137,11 +132,11 @@ GopPrivateDeleteQ (
return EFI_NOT_READY;
}
}
+
LeaveCriticalSection (&Queue->Cs);
return EFI_SUCCESS;
}
-
/**
TODO: Add function description
@@ -153,7 +148,7 @@ GopPrivateDeleteQ (
**/
EFI_STATUS
GopPrivateCheckQ (
- IN GOP_QUEUE_FIXED *Queue
+ IN GOP_QUEUE_FIXED *Queue
)
{
if (Queue->Front == Queue->Rear) {
@@ -171,8 +166,8 @@ GopPrivateCheckQ (
**/
VOID
InitializeKeyState (
- IN GRAPHICS_PRIVATE_DATA *Private,
- IN EFI_KEY_STATE *KeyState
+ IN GRAPHICS_PRIVATE_DATA *Private,
+ IN EFI_KEY_STATE *KeyState
)
{
KeyState->KeyShiftState = EFI_SHIFT_STATE_VALID;
@@ -182,44 +177,57 @@ InitializeKeyState (
// Record Key shift state and toggle state
//
if (Private->LeftCtrl) {
- KeyState->KeyShiftState |= EFI_LEFT_CONTROL_PRESSED;
+ KeyState->KeyShiftState |= EFI_LEFT_CONTROL_PRESSED;
}
+
if (Private->RightCtrl) {
- KeyState->KeyShiftState |= EFI_RIGHT_CONTROL_PRESSED;
+ KeyState->KeyShiftState |= EFI_RIGHT_CONTROL_PRESSED;
}
+
if (Private->LeftAlt) {
- KeyState->KeyShiftState |= EFI_LEFT_ALT_PRESSED;
+ KeyState->KeyShiftState |= EFI_LEFT_ALT_PRESSED;
}
+
if (Private->RightAlt) {
- KeyState->KeyShiftState |= EFI_RIGHT_ALT_PRESSED;
+ KeyState->KeyShiftState |= EFI_RIGHT_ALT_PRESSED;
}
+
if (Private->LeftShift) {
- KeyState->KeyShiftState |= EFI_LEFT_SHIFT_PRESSED;
+ KeyState->KeyShiftState |= EFI_LEFT_SHIFT_PRESSED;
}
+
if (Private->RightShift) {
- KeyState->KeyShiftState |= EFI_RIGHT_SHIFT_PRESSED;
+ KeyState->KeyShiftState |= EFI_RIGHT_SHIFT_PRESSED;
}
+
if (Private->LeftLogo) {
- KeyState->KeyShiftState |= EFI_LEFT_LOGO_PRESSED;
+ KeyState->KeyShiftState |= EFI_LEFT_LOGO_PRESSED;
}
+
if (Private->RightLogo) {
- KeyState->KeyShiftState |= EFI_RIGHT_LOGO_PRESSED;
+ KeyState->KeyShiftState |= EFI_RIGHT_LOGO_PRESSED;
}
+
if (Private->Menu) {
- KeyState->KeyShiftState |= EFI_MENU_KEY_PRESSED;
+ KeyState->KeyShiftState |= EFI_MENU_KEY_PRESSED;
}
+
if (Private->SysReq) {
- KeyState->KeyShiftState |= EFI_SYS_REQ_PRESSED;
+ KeyState->KeyShiftState |= EFI_SYS_REQ_PRESSED;
}
+
if (Private->CapsLock) {
KeyState->KeyToggleState |= EFI_CAPS_LOCK_ACTIVE;
}
+
if (Private->NumLock) {
KeyState->KeyToggleState |= EFI_NUM_LOCK_ACTIVE;
}
+
if (Private->ScrollLock) {
KeyState->KeyToggleState |= EFI_SCROLL_LOCK_ACTIVE;
}
+
if (Private->IsPartialKeySupport) {
KeyState->KeyToggleState |= EFI_KEY_STATE_EXPOSED;
}
@@ -241,7 +249,7 @@ GopPrivateAddKey (
IN EFI_INPUT_KEY Key
)
{
- EFI_KEY_DATA KeyData;
+ EFI_KEY_DATA KeyData;
KeyData.Key = Key;
InitializeKeyState (Private, &KeyData.KeyState);
@@ -251,7 +259,8 @@ GopPrivateAddKey (
//
if ((Private->LeftCtrl || Private->RightCtrl) &&
(KeyData.Key.UnicodeChar >= 1) && (KeyData.Key.UnicodeChar <= 26)
- ) {
+ )
+ {
if ((Private->LeftShift || Private->RightShift) == Private->CapsLock) {
KeyData.Key.UnicodeChar = (CHAR16)(KeyData.Key.UnicodeChar + L'a' - 1);
} else {
@@ -264,7 +273,8 @@ GopPrivateAddKey (
//
if (((KeyData.Key.UnicodeChar >= L'a') && (KeyData.Key.UnicodeChar <= L'z')) ||
((KeyData.Key.UnicodeChar >= L'A') && (KeyData.Key.UnicodeChar <= L'Z'))
- ) {
+ )
+ {
KeyData.KeyState.KeyShiftState &= ~(EFI_LEFT_SHIFT_PRESSED | EFI_RIGHT_SHIFT_PRESSED);
}
@@ -276,26 +286,26 @@ GopPrivateAddKey (
return EFI_SUCCESS;
}
-
EFI_STATUS
EFIAPI
WinNtWndCheckKey (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
)
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
return GopPrivateCheckQ (&Private->QueueForRead);
-
}
+
EFI_STATUS
EFIAPI
WinNtWndGetKey (
IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
IN EFI_KEY_DATA *KeyData
)
+
/*++
Routine Description:
@@ -316,15 +326,15 @@ WinNtWndGetKey (
--*/
{
- EFI_STATUS Status;
- GRAPHICS_PRIVATE_DATA *Private;
+ EFI_STATUS Status;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
ZeroMem (&KeyData->Key, sizeof (KeyData->Key));
InitializeKeyState (Private, &KeyData->KeyState);
- Status = GopPrivateCheckQ (&Private->QueueForRead);
+ Status = GopPrivateCheckQ (&Private->QueueForRead);
if (!EFI_ERROR (Status)) {
//
// If a Key press exists try and read it.
@@ -336,7 +346,7 @@ WinNtWndGetKey (
// EFI_NOT_READY.
//
if (!Private->IsPartialKeySupport) {
- if (KeyData->Key.ScanCode == SCAN_NULL && KeyData->Key.UnicodeChar == CHAR_NULL) {
+ if ((KeyData->Key.ScanCode == SCAN_NULL) && (KeyData->Key.UnicodeChar == CHAR_NULL)) {
Status = EFI_NOT_READY;
}
}
@@ -344,51 +354,53 @@ WinNtWndGetKey (
}
return Status;
-
}
EFI_STATUS
EFIAPI
WinNtWndKeySetState (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
- IN EFI_KEY_TOGGLE_STATE *KeyToggleState
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
+ IN EFI_KEY_TOGGLE_STATE *KeyToggleState
)
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
- Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
- Private->ScrollLock = FALSE;
- Private->NumLock = FALSE;
- Private->CapsLock = FALSE;
+ Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
+ Private->ScrollLock = FALSE;
+ Private->NumLock = FALSE;
+ Private->CapsLock = FALSE;
Private->IsPartialKeySupport = FALSE;
if ((*KeyToggleState & EFI_SCROLL_LOCK_ACTIVE) == EFI_SCROLL_LOCK_ACTIVE) {
Private->ScrollLock = TRUE;
}
+
if ((*KeyToggleState & EFI_NUM_LOCK_ACTIVE) == EFI_NUM_LOCK_ACTIVE) {
Private->NumLock = TRUE;
}
+
if ((*KeyToggleState & EFI_CAPS_LOCK_ACTIVE) == EFI_CAPS_LOCK_ACTIVE) {
Private->CapsLock = TRUE;
}
+
if ((*KeyToggleState & EFI_KEY_STATE_EXPOSED) == EFI_KEY_STATE_EXPOSED) {
Private->IsPartialKeySupport = TRUE;
}
+
Private->KeyState.KeyToggleState = *KeyToggleState;
return EFI_SUCCESS;
}
-
EFI_STATUS
EFIAPI
WinNtWndRegisterKeyNotify (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
- IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
- IN VOID *Context
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK MakeCallBack,
+ IN EMU_GRAPHICS_WINDOW_REGISTER_KEY_NOTIFY_CALLBACK BreakCallBack,
+ IN VOID *Context
)
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
@@ -402,10 +414,10 @@ WinNtWndRegisterKeyNotify (
EFI_STATUS
EFIAPI
WinNtWndCheckPointer (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo
)
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
@@ -423,7 +435,7 @@ WinNtWndGetPointerState (
IN EFI_SIMPLE_POINTER_STATE *State
)
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
diff --git a/EmulatorPkg/Win/Host/WinGopScreen.c b/EmulatorPkg/Win/Host/WinGopScreen.c
index 74011e225e..661573d777 100644
--- a/EmulatorPkg/Win/Host/WinGopScreen.c
+++ b/EmulatorPkg/Win/Host/WinGopScreen.c
@@ -18,8 +18,8 @@ Abstract:
#include "WinGop.h"
-DWORD mTlsIndex = TLS_OUT_OF_INDEXES;
-DWORD mTlsIndexUseCount = 0; // lets us know when we can free mTlsIndex.
+DWORD mTlsIndex = TLS_OUT_OF_INDEXES;
+DWORD mTlsIndexUseCount = 0; // lets us know when we can free mTlsIndex.
BOOLEAN
WinNtGopConvertParamToEfiKeyShiftState (
@@ -30,75 +30,78 @@ WinNtGopConvertParamToEfiKeyShiftState (
)
{
switch (*wParam) {
- //
- // BUGBUG: Only GetAsyncKeyState() and GetKeyState() can distinguish
- // left and right Ctrl, and Shift key.
- // Neither of the two is defined in EFI_WIN_NT_THUNK_PROTOCOL.
- // Therefor, we can not set the correct Shift state here.
- //
- case VK_SHIFT:
- if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
+ //
+ // BUGBUG: Only GetAsyncKeyState() and GetKeyState() can distinguish
+ // left and right Ctrl, and Shift key.
+ // Neither of the two is defined in EFI_WIN_NT_THUNK_PROTOCOL.
+ // Therefor, we can not set the correct Shift state here.
+ //
+ case VK_SHIFT:
+ if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
Private->RightShift = Flag;
} else {
Private->LeftShift = Flag;
}
- return TRUE;
- case VK_LSHIFT:
- Private->LeftShift = Flag;
- return TRUE;
+ return TRUE;
- case VK_RSHIFT:
- Private->RightShift = Flag;
- return TRUE;
+ case VK_LSHIFT:
+ Private->LeftShift = Flag;
+ return TRUE;
- case VK_CONTROL:
- if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
- Private->RightCtrl= Flag;
+ case VK_RSHIFT:
+ Private->RightShift = Flag;
+ return TRUE;
+
+ case VK_CONTROL:
+ if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
+ Private->RightCtrl = Flag;
} else {
Private->LeftCtrl = Flag;
}
- return TRUE;
- case VK_LCONTROL:
- Private->LeftCtrl = Flag;
- return TRUE;
+ return TRUE;
- case VK_RCONTROL:
- Private->RightCtrl = Flag;
- return TRUE;
+ case VK_LCONTROL:
+ Private->LeftCtrl = Flag;
+ return TRUE;
- case VK_LWIN:
- Private->LeftLogo = Flag;
- return TRUE;
+ case VK_RCONTROL:
+ Private->RightCtrl = Flag;
+ return TRUE;
- case VK_RWIN:
- Private->RightLogo = Flag;
- return TRUE;
+ case VK_LWIN:
+ Private->LeftLogo = Flag;
+ return TRUE;
- case VK_APPS:
- Private->Menu = Flag;
- return TRUE;
- //
- // BUGBUG: PrintScreen/SysRq can not trigger WM_KEYDOWN message,
- // so SySReq shift state is not supported here.
- //
- case VK_PRINT:
- Private->SysReq = Flag;
- return TRUE;
- //
- // For Alt Keystroke.
- //
- case VK_MENU:
- if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
+ case VK_RWIN:
+ Private->RightLogo = Flag;
+ return TRUE;
+
+ case VK_APPS:
+ Private->Menu = Flag;
+ return TRUE;
+ //
+ // BUGBUG: PrintScreen/SysRq can not trigger WM_KEYDOWN message,
+ // so SySReq shift state is not supported here.
+ //
+ case VK_PRINT:
+ Private->SysReq = Flag;
+ return TRUE;
+ //
+ // For Alt Keystroke.
+ //
+ case VK_MENU:
+ if ((*lParam & GOP_EXTENDED_KEY) == GOP_EXTENDED_KEY) {
Private->RightAlt = Flag;
} else {
Private->LeftAlt = Flag;
}
- return TRUE;
- default:
- return FALSE;
+ return TRUE;
+
+ default:
+ return FALSE;
}
}
@@ -110,68 +113,138 @@ WinNtGopConvertParamToEfiKey (
IN EFI_INPUT_KEY *Key
)
{
- BOOLEAN Flag;
+ BOOLEAN Flag;
+
Flag = FALSE;
switch (*wParam) {
- case VK_HOME: Key->ScanCode = SCAN_HOME; Flag = TRUE; break;
- case VK_END: Key->ScanCode = SCAN_END; Flag = TRUE; break;
- case VK_LEFT: Key->ScanCode = SCAN_LEFT; Flag = TRUE; break;
- case VK_RIGHT: Key->ScanCode = SCAN_RIGHT; Flag = TRUE; break;
- case VK_UP: Key->ScanCode = SCAN_UP; Flag = TRUE; break;
- case VK_DOWN: Key->ScanCode = SCAN_DOWN; Flag = TRUE; break;
- case VK_DELETE: Key->ScanCode = SCAN_DELETE; Flag = TRUE; break;
- case VK_INSERT: Key->ScanCode = SCAN_INSERT; Flag = TRUE; break;
- case VK_PRIOR: Key->ScanCode = SCAN_PAGE_UP; Flag = TRUE; break;
- case VK_NEXT: Key->ScanCode = SCAN_PAGE_DOWN; Flag = TRUE; break;
- case VK_ESCAPE: Key->ScanCode = SCAN_ESC; Flag = TRUE; break;
-
- case VK_F1: Key->ScanCode = SCAN_F1; Flag = TRUE; break;
- case VK_F2: Key->ScanCode = SCAN_F2; Flag = TRUE; break;
- case VK_F3: Key->ScanCode = SCAN_F3; Flag = TRUE; break;
- case VK_F4: Key->ScanCode = SCAN_F4; Flag = TRUE; break;
- case VK_F5: Key->ScanCode = SCAN_F5; Flag = TRUE; break;
- case VK_F6: Key->ScanCode = SCAN_F6; Flag = TRUE; break;
- case VK_F7: Key->ScanCode = SCAN_F7; Flag = TRUE; break;
- case VK_F8: Key->ScanCode = SCAN_F8; Flag = TRUE; break;
- case VK_F9: Key->ScanCode = SCAN_F9; Flag = TRUE; break;
- case VK_F11: Key->ScanCode = SCAN_F11; Flag = TRUE; break;
- case VK_F12: Key->ScanCode = SCAN_F12; Flag = TRUE; break;
-
- case VK_F13: Key->ScanCode = SCAN_F13; Flag = TRUE; break;
- case VK_F14: Key->ScanCode = SCAN_F14; Flag = TRUE; break;
- case VK_F15: Key->ScanCode = SCAN_F15; Flag = TRUE; break;
- case VK_F16: Key->ScanCode = SCAN_F16; Flag = TRUE; break;
- case VK_F17: Key->ScanCode = SCAN_F17; Flag = TRUE; break;
- case VK_F18: Key->ScanCode = SCAN_F18; Flag = TRUE; break;
- case VK_F19: Key->ScanCode = SCAN_F19; Flag = TRUE; break;
- case VK_F20: Key->ScanCode = SCAN_F20; Flag = TRUE; break;
- case VK_F21: Key->ScanCode = SCAN_F21; Flag = TRUE; break;
- case VK_F22: Key->ScanCode = SCAN_F22; Flag = TRUE; break;
- case VK_F23: Key->ScanCode = SCAN_F23; Flag = TRUE; break;
- case VK_F24: Key->ScanCode = SCAN_F24; Flag = TRUE; break;
- case VK_PAUSE: Key->ScanCode = SCAN_PAUSE; Flag = TRUE; break;
-
- //
- // Set toggle state
- //
- case VK_NUMLOCK:
- Private->NumLock = (BOOLEAN)(!Private->NumLock);
- Flag = TRUE;
- break;
- case VK_SCROLL:
- Private->ScrollLock = (BOOLEAN)(!Private->ScrollLock);
- Flag = TRUE;
- break;
- case VK_CAPITAL:
- Private->CapsLock = (BOOLEAN)(!Private->CapsLock);
- Flag = TRUE;
- break;
+ case VK_HOME: Key->ScanCode = SCAN_HOME;
+ Flag = TRUE;
+ break;
+ case VK_END: Key->ScanCode = SCAN_END;
+ Flag = TRUE;
+ break;
+ case VK_LEFT: Key->ScanCode = SCAN_LEFT;
+ Flag = TRUE;
+ break;
+ case VK_RIGHT: Key->ScanCode = SCAN_RIGHT;
+ Flag = TRUE;
+ break;
+ case VK_UP: Key->ScanCode = SCAN_UP;
+ Flag = TRUE;
+ break;
+ case VK_DOWN: Key->ScanCode = SCAN_DOWN;
+ Flag = TRUE;
+ break;
+ case VK_DELETE: Key->ScanCode = SCAN_DELETE;
+ Flag = TRUE;
+ break;
+ case VK_INSERT: Key->ScanCode = SCAN_INSERT;
+ Flag = TRUE;
+ break;
+ case VK_PRIOR: Key->ScanCode = SCAN_PAGE_UP;
+ Flag = TRUE;
+ break;
+ case VK_NEXT: Key->ScanCode = SCAN_PAGE_DOWN;
+ Flag = TRUE;
+ break;
+ case VK_ESCAPE: Key->ScanCode = SCAN_ESC;
+ Flag = TRUE;
+ break;
+
+ case VK_F1: Key->ScanCode = SCAN_F1;
+ Flag = TRUE;
+ break;
+ case VK_F2: Key->ScanCode = SCAN_F2;
+ Flag = TRUE;
+ break;
+ case VK_F3: Key->ScanCode = SCAN_F3;
+ Flag = TRUE;
+ break;
+ case VK_F4: Key->ScanCode = SCAN_F4;
+ Flag = TRUE;
+ break;
+ case VK_F5: Key->ScanCode = SCAN_F5;
+ Flag = TRUE;
+ break;
+ case VK_F6: Key->ScanCode = SCAN_F6;
+ Flag = TRUE;
+ break;
+ case VK_F7: Key->ScanCode = SCAN_F7;
+ Flag = TRUE;
+ break;
+ case VK_F8: Key->ScanCode = SCAN_F8;
+ Flag = TRUE;
+ break;
+ case VK_F9: Key->ScanCode = SCAN_F9;
+ Flag = TRUE;
+ break;
+ case VK_F11: Key->ScanCode = SCAN_F11;
+ Flag = TRUE;
+ break;
+ case VK_F12: Key->ScanCode = SCAN_F12;
+ Flag = TRUE;
+ break;
+
+ case VK_F13: Key->ScanCode = SCAN_F13;
+ Flag = TRUE;
+ break;
+ case VK_F14: Key->ScanCode = SCAN_F14;
+ Flag = TRUE;
+ break;
+ case VK_F15: Key->ScanCode = SCAN_F15;
+ Flag = TRUE;
+ break;
+ case VK_F16: Key->ScanCode = SCAN_F16;
+ Flag = TRUE;
+ break;
+ case VK_F17: Key->ScanCode = SCAN_F17;
+ Flag = TRUE;
+ break;
+ case VK_F18: Key->ScanCode = SCAN_F18;
+ Flag = TRUE;
+ break;
+ case VK_F19: Key->ScanCode = SCAN_F19;
+ Flag = TRUE;
+ break;
+ case VK_F20: Key->ScanCode = SCAN_F20;
+ Flag = TRUE;
+ break;
+ case VK_F21: Key->ScanCode = SCAN_F21;
+ Flag = TRUE;
+ break;
+ case VK_F22: Key->ScanCode = SCAN_F22;
+ Flag = TRUE;
+ break;
+ case VK_F23: Key->ScanCode = SCAN_F23;
+ Flag = TRUE;
+ break;
+ case VK_F24: Key->ScanCode = SCAN_F24;
+ Flag = TRUE;
+ break;
+ case VK_PAUSE: Key->ScanCode = SCAN_PAUSE;
+ Flag = TRUE;
+ break;
+
+ //
+ // Set toggle state
+ //
+ case VK_NUMLOCK:
+ Private->NumLock = (BOOLEAN)(!Private->NumLock);
+ Flag = TRUE;
+ break;
+ case VK_SCROLL:
+ Private->ScrollLock = (BOOLEAN)(!Private->ScrollLock);
+ Flag = TRUE;
+ break;
+ case VK_CAPITAL:
+ Private->CapsLock = (BOOLEAN)(!Private->CapsLock);
+ Flag = TRUE;
+ break;
}
return (WinNtGopConvertParamToEfiKeyShiftState (Private, wParam, lParam, TRUE)) == TRUE ? TRUE : Flag;
}
-
//
// GOP Protocol Member Functions
//
@@ -185,15 +258,15 @@ WinNtWndSize (
IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
IN UINT32 Width,
IN UINT32 Height
-)
+ )
{
- RETURN_STATUS RStatus;
- EFI_GRAPHICS_OUTPUT_MODE_INFORMATION Info;
- GRAPHICS_PRIVATE_DATA *Private;
- RECT Rect;
- BITMAPV4HEADER *VirtualScreenInfo;
- FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;
- UINTN FrameBufferConfigureSize;
+ RETURN_STATUS RStatus;
+ EFI_GRAPHICS_OUTPUT_MODE_INFORMATION Info;
+ GRAPHICS_PRIVATE_DATA *Private;
+ RECT Rect;
+ BITMAPV4HEADER *VirtualScreenInfo;
+ FRAME_BUFFER_CONFIGURE *FrameBufferConfigure;
+ UINTN FrameBufferConfigureSize;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
@@ -202,10 +275,10 @@ WinNtWndSize (
// This buffer is the virtual screen/frame buffer.
//
VirtualScreenInfo = HeapAlloc (
- GetProcessHeap (),
- HEAP_ZERO_MEMORY,
- Width * Height * sizeof (RGBQUAD) + sizeof (BITMAPV4HEADER)
- );
+ GetProcessHeap (),
+ HEAP_ZERO_MEMORY,
+ Width * Height * sizeof (RGBQUAD) + sizeof (BITMAPV4HEADER)
+ );
if (VirtualScreenInfo == NULL) {
return EFI_OUT_OF_RESOURCES;
}
@@ -214,10 +287,10 @@ WinNtWndSize (
// Update the virtual screen info data structure
// Use negative Height to make sure screen/buffer are using the same coordinate.
//
- VirtualScreenInfo->bV4Size = sizeof (BITMAPV4HEADER);
- VirtualScreenInfo->bV4Width = Width;
- VirtualScreenInfo->bV4Height = -(LONG)Height;
- VirtualScreenInfo->bV4Planes = 1;
+ VirtualScreenInfo->bV4Size = sizeof (BITMAPV4HEADER);
+ VirtualScreenInfo->bV4Width = Width;
+ VirtualScreenInfo->bV4Height = -(LONG)Height;
+ VirtualScreenInfo->bV4Planes = 1;
VirtualScreenInfo->bV4BitCount = 32;
//
// uncompressed
@@ -229,20 +302,21 @@ WinNtWndSize (
Info.PixelFormat = PixelBlueGreenRedReserved8BitPerColor;
Info.PixelsPerScanLine = Width;
FrameBufferConfigureSize = 0;
- RStatus = FrameBufferBltConfigure (VirtualScreenInfo + 1, &Info, NULL, &FrameBufferConfigureSize);
+ RStatus = FrameBufferBltConfigure (VirtualScreenInfo + 1, &Info, NULL, &FrameBufferConfigureSize);
ASSERT (RStatus == EFI_BUFFER_TOO_SMALL);
FrameBufferConfigure = AllocatePool (FrameBufferConfigureSize);
if (FrameBufferConfigure == NULL) {
HeapFree (GetProcessHeap (), 0, VirtualScreenInfo);
return EFI_OUT_OF_RESOURCES;
}
+
RStatus = FrameBufferBltConfigure (VirtualScreenInfo + 1, &Info, FrameBufferConfigure, &FrameBufferConfigureSize);
ASSERT_RETURN_ERROR (RStatus);
-
if (Private->FrameBufferConfigure != NULL) {
FreePool (Private->FrameBufferConfigure);
}
+
Private->FrameBufferConfigure = FrameBufferConfigure;
//
@@ -253,6 +327,7 @@ WinNtWndSize (
if (Private->VirtualScreenInfo != NULL) {
HeapFree (GetProcessHeap (), 0, Private->VirtualScreenInfo);
}
+
Private->VirtualScreenInfo = VirtualScreenInfo;
Private->Width = Width;
@@ -321,24 +396,27 @@ WinNtWndSize (
// TODO: Delta - add argument and description to function comment
EFI_STATUS
WinNtWndBlt (
- IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
- IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
- IN EFI_UGA_BLT_OPERATION BltOperation,
- IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args
-)
+ IN EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsIo,
+ IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
+ IN EFI_UGA_BLT_OPERATION BltOperation,
+ IN EMU_GRAPHICS_WINDOWS__BLT_ARGS *Args
+ )
{
- RETURN_STATUS RStatus;
- GRAPHICS_PRIVATE_DATA *Private;
- RECT Rect;
+ RETURN_STATUS RStatus;
+ GRAPHICS_PRIVATE_DATA *Private;
+ RECT Rect;
Private = GRAPHICS_PRIVATE_DATA_FROM_THIS (GraphicsIo);
RStatus = FrameBufferBlt (
Private->FrameBufferConfigure,
BltBuffer,
BltOperation,
- Args->SourceX, Args->SourceY,
- Args->DestinationX, Args->DestinationY,
- Args->Width, Args->Height,
+ Args->SourceX,
+ Args->SourceY,
+ Args->DestinationX,
+ Args->DestinationY,
+ Args->Width,
+ Args->Height,
Args->Delta
);
if (RETURN_ERROR (RStatus)) {
@@ -370,8 +448,6 @@ WinNtWndBlt (
return EFI_SUCCESS;
}
-
-
/**
Win32 Windows event handler.
@@ -393,14 +469,14 @@ WinNtGopThreadWindowProc (
IN LPARAM lParam
)
{
- GRAPHICS_PRIVATE_DATA *Private;
- HDC Handle;
- PAINTSTRUCT PaintStruct;
- LPARAM Index;
- EFI_INPUT_KEY Key;
- BOOLEAN AltIsPress;
- INT32 PosX;
- INT32 PosY;
+ GRAPHICS_PRIVATE_DATA *Private;
+ HDC Handle;
+ PAINTSTRUCT PaintStruct;
+ LPARAM Index;
+ EFI_INPUT_KEY Key;
+ BOOLEAN AltIsPress;
+ INT32 PosX;
+ INT32 PosY;
//
// Use mTlsIndex global to get a Thread Local Storage version of Private.
@@ -408,190 +484,195 @@ WinNtGopThreadWindowProc (
// a unique thread.
//
AltIsPress = FALSE;
- Private = TlsGetValue (mTlsIndex);
+ Private = TlsGetValue (mTlsIndex);
ASSERT (NULL != Private);
switch (iMsg) {
- case WM_PAINT:
- Handle = BeginPaint (hwnd, &PaintStruct);
-
- SetDIBitsToDevice (
- Handle, // Destination Device Context
- 0, // Destination X - 0
- 0, // Destination Y - 0
- Private->Width, // Width
- Private->Height, // Height
- 0, // Source X
- 0, // Source Y
- 0, // DIB Start Scan Line
- Private->Height, // Number of scan lines
- Private->VirtualScreenInfo + 1, // Address of array of DIB bits
- (BITMAPINFO *) Private->VirtualScreenInfo, // Address of structure with bitmap info
- DIB_RGB_COLORS // RGB or palette indexes
- );
-
- EndPaint (hwnd, &PaintStruct);
- return 0;
-
- //
- // F10 and the ALT key do not create a WM_KEYDOWN message, thus this special case
- // WM_SYSKEYDOWN is posted when F10 is pressed or
- // holds down ALT key and then presses another key.
- //
- case WM_SYSKEYDOWN:
-
- Key.ScanCode = 0;
- Key.UnicodeChar = CHAR_NULL;
- switch (wParam) {
- case VK_F10:
- Key.ScanCode = SCAN_F10;
- Key.UnicodeChar = CHAR_NULL;
- GopPrivateAddKey (Private, Key);
+ case WM_PAINT:
+ Handle = BeginPaint (hwnd, &PaintStruct);
+
+ SetDIBitsToDevice (
+ Handle, // Destination Device Context
+ 0, // Destination X - 0
+ 0, // Destination Y - 0
+ Private->Width, // Width
+ Private->Height, // Height
+ 0, // Source X
+ 0, // Source Y
+ 0, // DIB Start Scan Line
+ Private->Height, // Number of scan lines
+ Private->VirtualScreenInfo + 1, // Address of array of DIB bits
+ (BITMAPINFO *)Private->VirtualScreenInfo, // Address of structure with bitmap info
+ DIB_RGB_COLORS // RGB or palette indexes
+ );
+
+ EndPaint (hwnd, &PaintStruct);
return 0;
- }
//
- // If ALT or ALT + modifier key is pressed.
+ // F10 and the ALT key do not create a WM_KEYDOWN message, thus this special case
+ // WM_SYSKEYDOWN is posted when F10 is pressed or
+ // holds down ALT key and then presses another key.
//
- if (WinNtGopConvertParamToEfiKey (Private, &wParam, &lParam, &Key)) {
- if (Key.ScanCode != 0){
+ case WM_SYSKEYDOWN:
+
+ Key.ScanCode = 0;
+ Key.UnicodeChar = CHAR_NULL;
+ switch (wParam) {
+ case VK_F10:
+ Key.ScanCode = SCAN_F10;
+ Key.UnicodeChar = CHAR_NULL;
+ GopPrivateAddKey (Private, Key);
+ return 0;
+ }
+
+ //
+ // If ALT or ALT + modifier key is pressed.
+ //
+ if (WinNtGopConvertParamToEfiKey (Private, &wParam, &lParam, &Key)) {
+ if (Key.ScanCode != 0) {
+ //
+ // If ALT is pressed with other ScanCode.
+ // Always revers the left Alt for simple.
+ //
+ Private->LeftAlt = TRUE;
+ }
+
+ GopPrivateAddKey (Private, Key);
//
- // If ALT is pressed with other ScanCode.
- // Always revers the left Alt for simple.
+ // When Alt is released there is no windoes message, so
+ // clean it after using it.
//
- Private->LeftAlt = TRUE;
+ Private->RightAlt = FALSE;
+ Private->LeftAlt = FALSE;
+ return 0;
}
- GopPrivateAddKey (Private, Key);
+
+ AltIsPress = TRUE;
+
+ case WM_CHAR:
//
- // When Alt is released there is no windoes message, so
- // clean it after using it.
+ // The ESC key also generate WM_CHAR.
//
- Private->RightAlt = FALSE;
- Private->LeftAlt = FALSE;
+ if (wParam == 0x1B) {
+ return 0;
+ }
+
+ if (AltIsPress == TRUE) {
+ //
+ // If AltIsPress is true that means the Alt key is pressed.
+ //
+ Private->LeftAlt = TRUE;
+ }
+
+ for (Index = 0; Index < (lParam & 0xffff); Index++) {
+ if (wParam != 0) {
+ Key.UnicodeChar = (CHAR16)wParam;
+ Key.ScanCode = SCAN_NULL;
+ GopPrivateAddKey (Private, Key);
+ }
+ }
+
+ if (AltIsPress == TRUE) {
+ //
+ // When Alt is released there is no windoes message, so
+ // clean it after using it.
+ //
+ Private->LeftAlt = FALSE;
+ Private->RightAlt = FALSE;
+ }
+
return 0;
- }
- AltIsPress = TRUE;
- case WM_CHAR:
- //
- // The ESC key also generate WM_CHAR.
- //
- if (wParam == 0x1B) {
+ case WM_SYSKEYUP:
+ //
+ // ALT is pressed with another key released
+ //
+ WinNtGopConvertParamToEfiKeyShiftState (Private, &wParam, &lParam, FALSE);
return 0;
- }
- if (AltIsPress == TRUE) {
+ case WM_KEYDOWN:
+ Key.ScanCode = SCAN_NULL;
+ Key.UnicodeChar = CHAR_NULL;
//
- // If AltIsPress is true that means the Alt key is pressed.
+ // A value key press will cause a WM_KEYDOWN first, then cause a WM_CHAR
+ // So if there is no modifier key updated, skip the WM_KEYDOWN even.
//
- Private->LeftAlt = TRUE;
- }
- for (Index = 0; Index < (lParam & 0xffff); Index++) {
- if (wParam != 0) {
- Key.UnicodeChar = (CHAR16) wParam;
- Key.ScanCode = SCAN_NULL;
+ if (WinNtGopConvertParamToEfiKey (Private, &wParam, &lParam, &Key)) {
+ //
+ // Support the partial keystroke, add all keydown event into the queue.
+ //
GopPrivateAddKey (Private, Key);
}
- }
- if (AltIsPress == TRUE) {
- //
- // When Alt is released there is no windoes message, so
- // clean it after using it.
- //
- Private->LeftAlt = FALSE;
- Private->RightAlt = FALSE;
- }
- return 0;
- case WM_SYSKEYUP:
- //
- // ALT is pressed with another key released
- //
- WinNtGopConvertParamToEfiKeyShiftState (Private, &wParam, &lParam, FALSE);
- return 0;
+ return 0;
- case WM_KEYDOWN:
- Key.ScanCode = SCAN_NULL;
- Key.UnicodeChar = CHAR_NULL;
- //
- // A value key press will cause a WM_KEYDOWN first, then cause a WM_CHAR
- // So if there is no modifier key updated, skip the WM_KEYDOWN even.
- //
- if (WinNtGopConvertParamToEfiKey (Private, &wParam, &lParam, &Key)) {
+ case WM_KEYUP:
+ WinNtGopConvertParamToEfiKeyShiftState (Private, &wParam, &lParam, FALSE);
+ return 0;
+
+ case WM_MOUSEMOVE:
+ PosX = GET_X_LPARAM (lParam);
+ PosY = GET_Y_LPARAM (lParam);
+
+ if (Private->PointerPreviousX != PosX) {
+ Private->PointerState.RelativeMovementX += (PosX - Private->PointerPreviousX);
+ Private->PointerPreviousX = PosX;
+ Private->PointerStateChanged = TRUE;
+ }
+
+ if (Private->PointerPreviousY != PosY) {
+ Private->PointerState.RelativeMovementY += (PosY - Private->PointerPreviousY);
+ Private->PointerPreviousY = PosY;
+ Private->PointerStateChanged = TRUE;
+ }
+
+ Private->PointerState.RelativeMovementZ = 0;
+ return 0;
+
+ case WM_LBUTTONDOWN:
+ Private->PointerState.LeftButton = TRUE;
+ Private->PointerStateChanged = TRUE;
+ return 0;
+
+ case WM_LBUTTONUP:
+ Private->PointerState.LeftButton = FALSE;
+ Private->PointerStateChanged = TRUE;
+ return 0;
+
+ case WM_RBUTTONDOWN:
+ Private->PointerState.RightButton = TRUE;
+ Private->PointerStateChanged = TRUE;
+ return 0;
+
+ case WM_RBUTTONUP:
+ Private->PointerState.RightButton = FALSE;
+ Private->PointerStateChanged = TRUE;
+ return 0;
+
+ case WM_CLOSE:
//
- // Support the partial keystroke, add all keydown event into the queue.
+ // This close message is issued by user, core is not aware of this,
+ // so don't release the window display resource, just hide the window.
//
- GopPrivateAddKey (Private, Key);
- }
- return 0;
-
- case WM_KEYUP:
- WinNtGopConvertParamToEfiKeyShiftState (Private, &wParam, &lParam, FALSE);
- return 0;
-
- case WM_MOUSEMOVE:
- PosX = GET_X_LPARAM (lParam);
- PosY = GET_Y_LPARAM (lParam);
-
- if (Private->PointerPreviousX != PosX) {
- Private->PointerState.RelativeMovementX += (PosX - Private->PointerPreviousX);
- Private->PointerPreviousX = PosX;
- Private->PointerStateChanged = TRUE;
- }
-
- if (Private->PointerPreviousY != PosY) {
- Private->PointerState.RelativeMovementY += (PosY - Private->PointerPreviousY);
- Private->PointerPreviousY = PosY;
- Private->PointerStateChanged = TRUE;
- }
-
- Private->PointerState.RelativeMovementZ = 0;
- return 0;
-
- case WM_LBUTTONDOWN:
- Private->PointerState.LeftButton = TRUE;
- Private->PointerStateChanged = TRUE;
- return 0;
-
- case WM_LBUTTONUP:
- Private->PointerState.LeftButton = FALSE;
- Private->PointerStateChanged = TRUE;
- return 0;
-
- case WM_RBUTTONDOWN:
- Private->PointerState.RightButton = TRUE;
- Private->PointerStateChanged = TRUE;
- return 0;
-
- case WM_RBUTTONUP:
- Private->PointerState.RightButton = FALSE;
- Private->PointerStateChanged = TRUE;
- return 0;
-
- case WM_CLOSE:
- //
- // This close message is issued by user, core is not aware of this,
- // so don't release the window display resource, just hide the window.
- //
- ShowWindow (Private->WindowHandle, SW_HIDE);
- return 0;
+ ShowWindow (Private->WindowHandle, SW_HIDE);
+ return 0;
- case WM_DESTROY:
- DestroyWindow (hwnd);
- PostQuitMessage (0);
+ case WM_DESTROY:
+ DestroyWindow (hwnd);
+ PostQuitMessage (0);
- HeapFree (GetProcessHeap (), 0, Private->VirtualScreenInfo);
+ HeapFree (GetProcessHeap (), 0, Private->VirtualScreenInfo);
- ExitThread (0);
+ ExitThread (0);
- default:
- break;
- };
+ default:
+ break;
+ }
return DefWindowProc (hwnd, iMsg, wParam, lParam);
}
-
/**
This thread simulates the end of WinMain () application. Each Window needs
to process its events. The messages are dispatched to
@@ -607,14 +688,14 @@ WinNtGopThreadWindowProc (
DWORD
WINAPI
WinNtGopThreadWinMain (
- LPVOID lpParameter
+ LPVOID lpParameter
)
{
MSG Message;
GRAPHICS_PRIVATE_DATA *Private;
RECT Rect;
- Private = (GRAPHICS_PRIVATE_DATA *) lpParameter;
+ Private = (GRAPHICS_PRIVATE_DATA *)lpParameter;
ASSERT (NULL != Private);
//
@@ -624,7 +705,7 @@ WinNtGopThreadWinMain (
//
TlsSetValue (mTlsIndex, Private);
- Private->ThreadId = GetCurrentThreadId ();
+ Private->ThreadId = GetCurrentThreadId ();
Private->WindowsClass.cbSize = sizeof (WNDCLASSEX);
Private->WindowsClass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
@@ -645,7 +726,6 @@ WinNtGopThreadWinMain (
Private->Width = 100;
Private->Height = 100;
-
//
// This call will fail after the first time, but thats O.K. since we only need
// WIN_NT_GOP_CLASS_NAME to exist to create the window.
@@ -703,7 +783,6 @@ WinNtGopThreadWinMain (
return (DWORD)Message.wParam;
}
-
/**
TODO: Add function description
@@ -719,11 +798,11 @@ WinNtGopThreadWinMain (
EFI_STATUS
EFIAPI
WinNtGraphicsWindowOpen (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
- DWORD NewThreadId;
- GRAPHICS_PRIVATE_DATA *Private;
+ DWORD NewThreadId;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = AllocateZeroPool (sizeof (*Private));
@@ -758,7 +837,7 @@ WinNtGraphicsWindowOpen (
NULL,
0,
WinNtGopThreadWinMain,
- (VOID *) Private,
+ (VOID *)Private,
0,
&NewThreadId
);
@@ -770,7 +849,7 @@ WinNtGraphicsWindowOpen (
WaitForSingleObject (Private->ThreadInited, INFINITE);
CloseHandle (Private->ThreadInited);
- This->Private = Private;
+ This->Private = Private;
This->Interface = &Private->GraphicsWindowIo;
return EFI_SUCCESS;
@@ -779,10 +858,10 @@ WinNtGraphicsWindowOpen (
EFI_STATUS
EFIAPI
WinNtGraphicsWindowClose (
- IN EMU_IO_THUNK_PROTOCOL *This
-)
+ IN EMU_IO_THUNK_PROTOCOL *This
+ )
{
- GRAPHICS_PRIVATE_DATA *Private;
+ GRAPHICS_PRIVATE_DATA *Private;
Private = (GRAPHICS_PRIVATE_DATA *)This->Private;
@@ -807,16 +886,14 @@ WinNtGraphicsWindowClose (
UnregisterClass (
Private->WindowsClass.lpszClassName,
Private->WindowsClass.hInstance
- );
+ );
}
-
GopPrivateDestroyQ (Private, &Private->QueueForRead);
return EFI_SUCCESS;
}
-
-EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo = {
+EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo = {
&gEmuGraphicsWindowProtocolGuid,
NULL,
NULL,
diff --git a/EmulatorPkg/Win/Host/WinHost.c b/EmulatorPkg/Win/Host/WinHost.c
index ffd1b9944d..93247c5043 100644
--- a/EmulatorPkg/Win/Host/WinHost.c
+++ b/EmulatorPkg/Win/Host/WinHost.c
@@ -16,26 +16,26 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "WinHost.h"
#ifndef SE_TIME_ZONE_NAME
-#define SE_TIME_ZONE_NAME TEXT("SeTimeZonePrivilege")
+#define SE_TIME_ZONE_NAME TEXT("SeTimeZonePrivilege")
#endif
//
// The growth size for array of module handle entries
//
-#define MAX_PDB_NAME_TO_MOD_HANDLE_ARRAY_SIZE 0x100
+#define MAX_PDB_NAME_TO_MOD_HANDLE_ARRAY_SIZE 0x100
//
// Module handle entry structure
//
typedef struct {
- CHAR8 *PdbPointer;
- VOID *ModHandle;
+ CHAR8 *PdbPointer;
+ VOID *ModHandle;
} PDB_NAME_TO_MOD_HANDLE;
//
// An Array to hold the module handles
//
-PDB_NAME_TO_MOD_HANDLE *mPdbNameModHandleArray = NULL;
+PDB_NAME_TO_MOD_HANDLE *mPdbNameModHandleArray = NULL;
UINTN mPdbNameModHandleArraySize = 0;
//
@@ -44,8 +44,8 @@ UINTN mPdbNameModHandleArraySize = 0;
// The number of array elements is allocated base on parsing
// PcdWinNtFirmwareVolume and the memory is never freed.
//
-UINTN gFdInfoCount = 0;
-NT_FD_INFO *gFdInfo;
+UINTN gFdInfoCount = 0;
+NT_FD_INFO *gFdInfo;
//
// Array that supports separate memory ranges.
@@ -53,8 +53,8 @@ NT_FD_INFO *gFdInfo;
// The number of array elements is allocated base on parsing
// PcdWinNtMemorySizeForSecMain value and the memory is never freed.
//
-UINTN gSystemMemoryCount = 0;
-NT_SYSTEM_MEMORY *gSystemMemory;
+UINTN gSystemMemoryCount = 0;
+NT_SYSTEM_MEMORY *gSystemMemory;
/*++
@@ -90,7 +90,7 @@ WinPeiAutoScan (
//
// Allocate enough memory space for emulator
//
- gSystemMemory[Index].Memory = (EFI_PHYSICAL_ADDRESS) (UINTN) VirtualAlloc (NULL, (SIZE_T) (gSystemMemory[Index].Size), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
+ gSystemMemory[Index].Memory = (EFI_PHYSICAL_ADDRESS)(UINTN)VirtualAlloc (NULL, (SIZE_T)(gSystemMemory[Index].Size), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (gSystemMemory[Index].Memory == 0) {
return EFI_OUT_OF_RESOURCES;
}
@@ -130,12 +130,11 @@ WinFdAddress (
return EFI_UNSUPPORTED;
}
-
*FdBase = (EFI_PHYSICAL_ADDRESS)(UINTN)gFdInfo[Index].Address;
*FdSize = (UINT64)gFdInfo[Index].Size;
*FixUp = 0;
- if (*FdBase == 0 && *FdSize == 0) {
+ if ((*FdBase == 0) && (*FdSize == 0)) {
return EFI_UNSUPPORTED;
}
@@ -173,8 +172,7 @@ WinThunk (
return &gEmuThunkProtocol;
}
-
-EMU_THUNK_PPI mSecEmuThunkPpi = {
+EMU_THUNK_PPI mSecEmuThunkPpi = {
WinPeiAutoScan,
WinFdAddress,
WinThunk
@@ -227,7 +225,7 @@ Returns:
**/
BOOLEAN
EfiSystemMemoryRange (
- IN VOID *MemoryAddress
+ IN VOID *MemoryAddress
)
{
UINTN Index;
@@ -236,7 +234,8 @@ EfiSystemMemoryRange (
MemoryBase = (EFI_PHYSICAL_ADDRESS)(UINTN)MemoryAddress;
for (Index = 0; Index < gSystemMemoryCount; Index++) {
if ((MemoryBase >= gSystemMemory[Index].Memory) &&
- (MemoryBase < (gSystemMemory[Index].Memory + gSystemMemory[Index].Size)) ) {
+ (MemoryBase < (gSystemMemory[Index].Memory + gSystemMemory[Index].Size)))
+ {
return TRUE;
}
}
@@ -244,15 +243,15 @@ EfiSystemMemoryRange (
return FALSE;
}
-
EFI_STATUS
WinNtOpenFile (
- IN CHAR16 *FileName OPTIONAL,
- IN UINT32 MapSize,
- IN DWORD CreationDisposition,
- IN OUT VOID **BaseAddress,
- OUT UINTN *Length
+ IN CHAR16 *FileName OPTIONAL,
+ IN UINT32 MapSize,
+ IN DWORD CreationDisposition,
+ IN OUT VOID **BaseAddress,
+ OUT UINTN *Length
)
+
/*++
Routine Description:
@@ -300,6 +299,7 @@ Returns:
return EFI_NOT_FOUND;
}
}
+
//
// Map the open file into a memory range
//
@@ -314,17 +314,18 @@ Returns:
if (NtMapHandle == NULL) {
return EFI_DEVICE_ERROR;
}
+
//
// Get the virtual address (address in the emulator) of the mapped file
//
VirtualAddress = MapViewOfFileEx (
- NtMapHandle,
- FILE_MAP_EXECUTE | FILE_MAP_ALL_ACCESS,
- 0,
- 0,
- MapSize,
- *BaseAddress
- );
+ NtMapHandle,
+ FILE_MAP_EXECUTE | FILE_MAP_ALL_ACCESS,
+ 0,
+ 0,
+ MapSize,
+ *BaseAddress
+ );
if (VirtualAddress == NULL) {
return EFI_DEVICE_ERROR;
}
@@ -334,11 +335,11 @@ Returns:
// Seek to the end of the file to figure out the true file size.
//
FileSize = SetFilePointer (
- NtFileHandle,
- 0,
- NULL,
- FILE_END
- );
+ NtFileHandle,
+ 0,
+ NULL,
+ FILE_END
+ );
if (FileSize == -1) {
return EFI_DEVICE_ERROR;
}
@@ -356,10 +357,11 @@ Returns:
INTN
EFIAPI
main (
- IN INT Argc,
- IN CHAR8 **Argv,
- IN CHAR8 **Envp
+ IN INT Argc,
+ IN CHAR8 **Argv,
+ IN CHAR8 **Envp
)
+
/*++
Routine Description:
@@ -376,37 +378,37 @@ Returns:
--*/
{
- EFI_STATUS Status;
- HANDLE Token;
- TOKEN_PRIVILEGES TokenPrivileges;
- VOID *TemporaryRam;
- UINT32 TemporaryRamSize;
- VOID *EmuMagicPage;
- UINTN Index;
- UINTN Index1;
- CHAR16 *FileName;
- CHAR16 *FileNamePtr;
- BOOLEAN Done;
- EFI_PEI_FILE_HANDLE FileHandle;
- VOID *SecFile;
- CHAR16 *MemorySizeStr;
- CHAR16 *FirmwareVolumesStr;
- UINTN ProcessAffinityMask;
- UINTN SystemAffinityMask;
- INT32 LowBit;
+ EFI_STATUS Status;
+ HANDLE Token;
+ TOKEN_PRIVILEGES TokenPrivileges;
+ VOID *TemporaryRam;
+ UINT32 TemporaryRamSize;
+ VOID *EmuMagicPage;
+ UINTN Index;
+ UINTN Index1;
+ CHAR16 *FileName;
+ CHAR16 *FileNamePtr;
+ BOOLEAN Done;
+ EFI_PEI_FILE_HANDLE FileHandle;
+ VOID *SecFile;
+ CHAR16 *MemorySizeStr;
+ CHAR16 *FirmwareVolumesStr;
+ UINTN ProcessAffinityMask;
+ UINTN SystemAffinityMask;
+ INT32 LowBit;
//
// Enable the privilege so that RTC driver can successfully run SetTime()
//
- OpenProcessToken (GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &Token);
- if (LookupPrivilegeValue(NULL, SE_TIME_ZONE_NAME, &TokenPrivileges.Privileges[0].Luid)) {
- TokenPrivileges.PrivilegeCount = 1;
+ OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &Token);
+ if (LookupPrivilegeValue (NULL, SE_TIME_ZONE_NAME, &TokenPrivileges.Privileges[0].Luid)) {
+ TokenPrivileges.PrivilegeCount = 1;
TokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
- AdjustTokenPrivileges(Token, FALSE, &TokenPrivileges, 0, (PTOKEN_PRIVILEGES) NULL, 0);
+ AdjustTokenPrivileges (Token, FALSE, &TokenPrivileges, 0, (PTOKEN_PRIVILEGES)NULL, 0);
}
- MemorySizeStr = (CHAR16 *) PcdGetPtr (PcdEmuMemorySize);
- FirmwareVolumesStr = (CHAR16 *) PcdGetPtr (PcdEmuFirmwareVolume);
+ MemorySizeStr = (CHAR16 *)PcdGetPtr (PcdEmuMemorySize);
+ FirmwareVolumesStr = (CHAR16 *)PcdGetPtr (PcdEmuFirmwareVolume);
SecPrint ("\n\rEDK II WIN Host Emulation Environment from http://www.tianocore.org/edk2/\n\r");
@@ -448,8 +450,8 @@ Returns:
//
// Allocate space for gSystemMemory Array
//
- gSystemMemoryCount = CountSeparatorsInString (MemorySizeStr, '!') + 1;
- gSystemMemory = calloc (gSystemMemoryCount, sizeof (NT_SYSTEM_MEMORY));
+ gSystemMemoryCount = CountSeparatorsInString (MemorySizeStr, '!') + 1;
+ gSystemMemory = calloc (gSystemMemoryCount, sizeof (NT_SYSTEM_MEMORY));
if (gSystemMemory == NULL) {
SecPrint ("ERROR : Can not allocate memory for %S. Exiting.\n\r", MemorySizeStr);
exit (1);
@@ -458,12 +460,13 @@ Returns:
//
// Allocate space for gSystemMemory Array
//
- gFdInfoCount = CountSeparatorsInString (FirmwareVolumesStr, '!') + 1;
- gFdInfo = calloc (gFdInfoCount, sizeof (NT_FD_INFO));
+ gFdInfoCount = CountSeparatorsInString (FirmwareVolumesStr, '!') + 1;
+ gFdInfo = calloc (gFdInfoCount, sizeof (NT_FD_INFO));
if (gFdInfo == NULL) {
SecPrint ("ERROR : Can not allocate memory for %S. Exiting.\n\r", FirmwareVolumesStr);
exit (1);
}
+
//
// Setup Boot Mode.
//
@@ -475,14 +478,16 @@ Returns:
// Set TemporaryRam to zero so WinNtOpenFile will allocate a new mapping
//
TemporaryRamSize = TEMPORARY_RAM_SIZE;
- TemporaryRam = VirtualAlloc (NULL, (SIZE_T) (TemporaryRamSize), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
+ TemporaryRam = VirtualAlloc (NULL, (SIZE_T)(TemporaryRamSize), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (TemporaryRam == NULL) {
SecPrint ("ERROR : Can not allocate enough space for SecStack\n\r");
exit (1);
}
+
SetMem32 (TemporaryRam, TemporaryRamSize, PcdGet32 (PcdInitValueInTempStack));
- SecPrint (" OS Emulator passing in %u KB of temp RAM at 0x%08lx to SEC\n\r",
+ SecPrint (
+ " OS Emulator passing in %u KB of temp RAM at 0x%08lx to SEC\n\r",
TemporaryRamSize / SIZE_1KB,
TemporaryRam
);
@@ -497,12 +502,12 @@ Returns:
if (EmuMagicPage != NULL) {
UINT64 Size;
Status = WinNtOpenFile (
- NULL,
- SIZE_4KB,
- 0,
- &EmuMagicPage,
- &Size
- );
+ NULL,
+ SIZE_4KB,
+ 0,
+ &EmuMagicPage,
+ &Size
+ );
if (EFI_ERROR (Status)) {
SecPrint ("ERROR : Could not allocate PeiServicesTablePage @ %p\n\r", EmuMagicPage);
return EFI_DEVICE_ERROR;
@@ -521,25 +526,26 @@ Returns:
for (Done = FALSE, Index = 0, SecFile = NULL; !Done; Index++) {
FileName = FileNamePtr;
- for (Index1 = 0; (FileNamePtr[Index1] != '!') && (FileNamePtr[Index1] != 0); Index1++)
- ;
+ for (Index1 = 0; (FileNamePtr[Index1] != '!') && (FileNamePtr[Index1] != 0); Index1++) {
+ }
+
if (FileNamePtr[Index1] == 0) {
Done = TRUE;
} else {
- FileNamePtr[Index1] = '\0';
- FileNamePtr = &FileNamePtr[Index1 + 1];
+ FileNamePtr[Index1] = '\0';
+ FileNamePtr = &FileNamePtr[Index1 + 1];
}
//
// Open the FD and remember where it got mapped into our processes address space
//
Status = WinNtOpenFile (
- FileName,
- 0,
- OPEN_EXISTING,
- &gFdInfo[Index].Address,
- &gFdInfo[Index].Size
- );
+ FileName,
+ 0,
+ OPEN_EXISTING,
+ &gFdInfo[Index].Address,
+ &gFdInfo[Index].Size
+ );
if (EFI_ERROR (Status)) {
SecPrint ("ERROR : Can not open Firmware Device File %S (0x%X). Exiting.\n\r", FileName, Status);
exit (1);
@@ -553,11 +559,11 @@ Returns:
// Load the first one we find.
//
FileHandle = NULL;
- Status = PeiServicesFfsFindNextFile (
- EFI_FV_FILETYPE_SECURITY_CORE,
- (EFI_PEI_FV_HANDLE)gFdInfo[Index].Address,
- &FileHandle
- );
+ Status = PeiServicesFfsFindNextFile (
+ EFI_FV_FILETYPE_SECURITY_CORE,
+ (EFI_PEI_FV_HANDLE)gFdInfo[Index].Address,
+ &FileHandle
+ );
if (!EFI_ERROR (Status)) {
Status = PeiServicesFfsFindSectionData (EFI_SECTION_PE32, FileHandle, &SecFile);
if (!EFI_ERROR (Status)) {
@@ -568,6 +574,7 @@ Returns:
SecPrint ("\n\r");
}
+
//
// Calculate memory regions and store the information in the gSystemMemory
// global for later use. The autosizing code will use this data to
@@ -582,8 +589,9 @@ Returns:
//
// Find the next region
//
- for (Index1 = 0; MemorySizeStr[Index1] != '!' && MemorySizeStr[Index1] != 0; Index1++)
- ;
+ for (Index1 = 0; MemorySizeStr[Index1] != '!' && MemorySizeStr[Index1] != 0; Index1++) {
+ }
+
if (MemorySizeStr[Index1] == 0) {
Done = TRUE;
}
@@ -608,12 +616,13 @@ Returns:
VOID
SecLoadSecCore (
- IN UINTN TemporaryRam,
- IN UINTN TemporaryRamSize,
- IN VOID *BootFirmwareVolumeBase,
- IN UINTN BootFirmwareVolumeSize,
- IN VOID *SecCorePe32File
+ IN UINTN TemporaryRam,
+ IN UINTN TemporaryRamSize,
+ IN VOID *BootFirmwareVolumeBase,
+ IN UINTN BootFirmwareVolumeSize,
+ IN VOID *SecCorePe32File
)
+
/*++
Routine Description:
@@ -630,11 +639,11 @@ Returns:
--*/
{
- EFI_STATUS Status;
- VOID *TopOfStack;
- VOID *SecCoreEntryPoint;
- EFI_SEC_PEI_HAND_OFF *SecCoreData;
- UINTN SecStackSize;
+ EFI_STATUS Status;
+ VOID *TopOfStack;
+ VOID *SecCoreEntryPoint;
+ EFI_SEC_PEI_HAND_OFF *SecCoreData;
+ UINTN SecStackSize;
//
// Compute Top Of Memory for Stack and PEI Core Allocations
@@ -650,37 +659,37 @@ Returns:
// | Stack |
// |-----------| <---- TemporaryRamBase
//
- TopOfStack = (VOID *)(TemporaryRam + SecStackSize);
+ TopOfStack = (VOID *)(TemporaryRam + SecStackSize);
//
// Reservet space for storing PeiCore's parament in stack.
//
- TopOfStack = (VOID *)((UINTN)TopOfStack - sizeof (EFI_SEC_PEI_HAND_OFF) - CPU_STACK_ALIGNMENT);
- TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);
+ TopOfStack = (VOID *)((UINTN)TopOfStack - sizeof (EFI_SEC_PEI_HAND_OFF) - CPU_STACK_ALIGNMENT);
+ TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);
//
// Bind this information into the SEC hand-off state
//
- SecCoreData = (EFI_SEC_PEI_HAND_OFF*)(UINTN)TopOfStack;
+ SecCoreData = (EFI_SEC_PEI_HAND_OFF *)(UINTN)TopOfStack;
SecCoreData->DataSize = sizeof (EFI_SEC_PEI_HAND_OFF);
SecCoreData->BootFirmwareVolumeBase = BootFirmwareVolumeBase;
SecCoreData->BootFirmwareVolumeSize = BootFirmwareVolumeSize;
- SecCoreData->TemporaryRamBase = (VOID*)TemporaryRam;
+ SecCoreData->TemporaryRamBase = (VOID *)TemporaryRam;
SecCoreData->TemporaryRamSize = TemporaryRamSize;
SecCoreData->StackBase = SecCoreData->TemporaryRamBase;
SecCoreData->StackSize = SecStackSize;
- SecCoreData->PeiTemporaryRamBase = (VOID*) ((UINTN) SecCoreData->TemporaryRamBase + SecStackSize);
+ SecCoreData->PeiTemporaryRamBase = (VOID *)((UINTN)SecCoreData->TemporaryRamBase + SecStackSize);
SecCoreData->PeiTemporaryRamSize = TemporaryRamSize - SecStackSize;
//
// Load the PEI Core from a Firmware Volume
//
Status = SecPeCoffGetEntryPoint (
- SecCorePe32File,
- &SecCoreEntryPoint
- );
+ SecCorePe32File,
+ &SecCoreEntryPoint
+ );
if (EFI_ERROR (Status)) {
- return ;
+ return;
}
//
@@ -695,7 +704,7 @@ Returns:
//
// If we get here, then the SEC Core returned. This is an error
//
- return ;
+ return;
}
RETURN_STATUS
@@ -705,26 +714,28 @@ SecPeCoffGetEntryPoint (
IN OUT VOID **EntryPoint
)
{
- EFI_STATUS Status;
- PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
+ EFI_STATUS Status;
+ PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
ZeroMem (&ImageContext, sizeof (ImageContext));
- ImageContext.Handle = Pe32Data;
+ ImageContext.Handle = Pe32Data;
- ImageContext.ImageRead = (PE_COFF_LOADER_READ_FILE) SecImageRead;
+ ImageContext.ImageRead = (PE_COFF_LOADER_READ_FILE)SecImageRead;
- Status = PeCoffLoaderGetImageInfo (&ImageContext);
+ Status = PeCoffLoaderGetImageInfo (&ImageContext);
if (EFI_ERROR (Status)) {
return Status;
}
+
//
// Allocate space in NT (not emulator) memory with ReadWrite and Execute attribute.
// Extra space is for alignment
//
- ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS) (UINTN) VirtualAlloc (NULL, (SIZE_T) (ImageContext.ImageSize + (ImageContext.SectionAlignment * 2)), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
+ ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)VirtualAlloc (NULL, (SIZE_T)(ImageContext.ImageSize + (ImageContext.SectionAlignment * 2)), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (ImageContext.ImageAddress == 0) {
return EFI_OUT_OF_RESOURCES;
}
+
//
// Align buffer on section boundary
//
@@ -741,7 +752,7 @@ SecPeCoffGetEntryPoint (
return Status;
}
- *EntryPoint = (VOID *)(UINTN)ImageContext.EntryPoint;
+ *EntryPoint = (VOID *)(UINTN)ImageContext.EntryPoint;
return EFI_SUCCESS;
}
@@ -749,11 +760,12 @@ SecPeCoffGetEntryPoint (
EFI_STATUS
EFIAPI
SecImageRead (
- IN VOID *FileHandle,
- IN UINTN FileOffset,
- IN OUT UINTN *ReadSize,
- OUT VOID *Buffer
+ IN VOID *FileHandle,
+ IN UINTN FileOffset,
+ IN OUT UINTN *ReadSize,
+ OUT VOID *Buffer
)
+
/*++
Routine Description:
@@ -770,13 +782,13 @@ Returns:
--*/
{
- CHAR8 *Destination8;
- CHAR8 *Source8;
- UINTN Length;
+ CHAR8 *Destination8;
+ CHAR8 *Source8;
+ UINTN Length;
- Destination8 = Buffer;
- Source8 = (CHAR8 *) ((UINTN) FileHandle + FileOffset);
- Length = *ReadSize;
+ Destination8 = Buffer;
+ Source8 = (CHAR8 *)((UINTN)FileHandle + FileOffset);
+ Length = *ReadSize;
while (Length--) {
*(Destination8++) = *(Source8++);
}
@@ -786,9 +798,10 @@ Returns:
CHAR16 *
AsciiToUnicode (
- IN CHAR8 *Ascii,
- IN UINTN *StrLen OPTIONAL
+ IN CHAR8 *Ascii,
+ IN UINTN *StrLen OPTIONAL
)
+
/*++
Routine Description:
@@ -810,15 +823,16 @@ Returns:
//
// Allocate a buffer for unicode string
//
- for (Index = 0; Ascii[Index] != '\0'; Index++)
- ;
+ for (Index = 0; Ascii[Index] != '\0'; Index++) {
+ }
+
Unicode = malloc ((Index + 1) * sizeof (CHAR16));
if (Unicode == NULL) {
return NULL;
}
for (Index = 0; Ascii[Index] != '\0'; Index++) {
- Unicode[Index] = (CHAR16) Ascii[Index];
+ Unicode[Index] = (CHAR16)Ascii[Index];
}
Unicode[Index] = '\0';
@@ -832,9 +846,10 @@ Returns:
UINTN
CountSeparatorsInString (
- IN CONST CHAR16 *String,
- IN CHAR16 Separator
+ IN CONST CHAR16 *String,
+ IN CHAR16 Separator
)
+
/*++
Routine Description:
@@ -849,7 +864,7 @@ Returns:
--*/
{
- UINTN Count;
+ UINTN Count;
for (Count = 0; *String != '\0'; String++) {
if (*String == Separator) {
@@ -871,8 +886,8 @@ Returns:
--*/
EFI_STATUS
AddModHandle (
- IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext,
- IN VOID *ModHandle
+ IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext,
+ IN VOID *ModHandle
)
{
@@ -888,7 +903,7 @@ AddModHandle (
//
Array = mPdbNameModHandleArray;
for (Index = 0; Index < mPdbNameModHandleArraySize; Index++, Array++) {
- if (Array->PdbPointer != NULL && Array->ModHandle == ModHandle) {
+ if ((Array->PdbPointer != NULL) && (Array->ModHandle == ModHandle)) {
return EFI_ALREADY_STARTED;
}
}
@@ -899,9 +914,9 @@ AddModHandle (
//
// Make a copy of the stirng and store the ModHandle
//
- Handle = GetProcessHeap ();
- Size = AsciiStrLen (ImageContext->PdbPointer) + 1;
- Array->PdbPointer = HeapAlloc ( Handle, HEAP_ZERO_MEMORY, Size);
+ Handle = GetProcessHeap ();
+ Size = AsciiStrLen (ImageContext->PdbPointer) + 1;
+ Array->PdbPointer = HeapAlloc (Handle, HEAP_ZERO_MEMORY, Size);
ASSERT (Array->PdbPointer != NULL);
AsciiStrCpyS (Array->PdbPointer, Size, ImageContext->PdbPointer);
@@ -914,17 +929,18 @@ AddModHandle (
// No free space in mPdbNameModHandleArray so grow it by
// MAX_PDB_NAME_TO_MOD_HANDLE_ARRAY_SIZE entires.
//
- PreviousSize = mPdbNameModHandleArraySize * sizeof (PDB_NAME_TO_MOD_HANDLE);
+ PreviousSize = mPdbNameModHandleArraySize * sizeof (PDB_NAME_TO_MOD_HANDLE);
mPdbNameModHandleArraySize += MAX_PDB_NAME_TO_MOD_HANDLE_ARRAY_SIZE;
//
// re-allocate a new buffer and copy the old values to the new locaiton.
//
- TempArray = HeapAlloc (GetProcessHeap (),
- HEAP_ZERO_MEMORY,
- mPdbNameModHandleArraySize * sizeof (PDB_NAME_TO_MOD_HANDLE)
- );
+ TempArray = HeapAlloc (
+ GetProcessHeap (),
+ HEAP_ZERO_MEMORY,
+ mPdbNameModHandleArraySize * sizeof (PDB_NAME_TO_MOD_HANDLE)
+ );
- CopyMem ((VOID *) (UINTN) TempArray, (VOID *) (UINTN)mPdbNameModHandleArray, PreviousSize);
+ CopyMem ((VOID *)(UINTN)TempArray, (VOID *)(UINTN)mPdbNameModHandleArray, PreviousSize);
HeapFree (GetProcessHeap (), 0, mPdbNameModHandleArray);
@@ -947,7 +963,7 @@ AddModHandle (
**/
VOID *
RemoveModHandle (
- IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
+ IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
UINTN Index;
@@ -962,7 +978,7 @@ RemoveModHandle (
Array = mPdbNameModHandleArray;
for (Index = 0; Index < mPdbNameModHandleArraySize; Index++, Array++) {
- if ((Array->PdbPointer != NULL) && (AsciiStrCmp(Array->PdbPointer, ImageContext->PdbPointer) == 0)) {
+ if ((Array->PdbPointer != NULL) && (AsciiStrCmp (Array->PdbPointer, ImageContext->PdbPointer) == 0)) {
//
// If you find a match return it and delete the entry
//
@@ -978,14 +994,14 @@ RemoveModHandle (
VOID
EFIAPI
PeCoffLoaderRelocateImageExtraAction (
- IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
+ IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
- EFI_STATUS Status;
- VOID *DllEntryPoint;
- CHAR16 *DllFileName;
- HMODULE Library;
- UINTN Index;
+ EFI_STATUS Status;
+ VOID *DllEntryPoint;
+ CHAR16 *DllFileName;
+ HMODULE Library;
+ UINTN Index;
ASSERT (ImageContext != NULL);
//
@@ -1003,7 +1019,8 @@ PeCoffLoaderRelocateImageExtraAction (
// Load the DLL if it's not an EBC image.
//
if ((ImageContext->PdbPointer != NULL) &&
- (ImageContext->Machine != EFI_IMAGE_MACHINE_EBC)) {
+ (ImageContext->Machine != EFI_IMAGE_MACHINE_EBC))
+ {
//
// Convert filename from ASCII to Unicode
//
@@ -1012,7 +1029,7 @@ PeCoffLoaderRelocateImageExtraAction (
//
// Check that we have a valid filename
//
- if (Index < 5 || DllFileName[Index - 4] != '.') {
+ if ((Index < 5) || (DllFileName[Index - 4] != '.')) {
free (DllFileName);
//
@@ -1022,12 +1039,13 @@ PeCoffLoaderRelocateImageExtraAction (
//
return;
}
+
//
// Replace .PDB with .DLL on the filename
//
- DllFileName[Index - 3] = 'D';
- DllFileName[Index - 2] = 'L';
- DllFileName[Index - 1] = 'L';
+ DllFileName[Index - 3] = 'D';
+ DllFileName[Index - 2] = 'L';
+ DllFileName[Index - 1] = 'L';
//
// Load the .DLL file into the user process's address space for source
@@ -1043,8 +1061,7 @@ PeCoffLoaderRelocateImageExtraAction (
// checking as the we can point to the PE32 image loaded by Tiano. This
// step is only needed for source level debugging
//
- DllEntryPoint = (VOID *) (UINTN) GetProcAddress (Library, "InitializeDriver");
-
+ DllEntryPoint = (VOID *)(UINTN)GetProcAddress (Library, "InitializeDriver");
}
if ((Library != NULL) && (DllEntryPoint != NULL)) {
@@ -1059,7 +1076,7 @@ PeCoffLoaderRelocateImageExtraAction (
//
// This DLL is not already loaded, so source level debugging is supported.
//
- ImageContext->EntryPoint = (EFI_PHYSICAL_ADDRESS) (UINTN) DllEntryPoint;
+ ImageContext->EntryPoint = (EFI_PHYSICAL_ADDRESS)(UINTN)DllEntryPoint;
SecPrint ("LoadLibraryEx (\n\r %S,\n\r NULL, DONT_RESOLVE_DLL_REFERENCES)\n\r", DllFileName);
}
} else {
@@ -1074,7 +1091,7 @@ VOID
EFIAPI
PeCoffLoaderUnloadImageExtraAction (
IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
-)
+ )
{
VOID *ModHandle;
diff --git a/EmulatorPkg/Win/Host/WinHost.h b/EmulatorPkg/Win/Host/WinHost.h
index b36fea254e..49d42d1ad8 100644
--- a/EmulatorPkg/Win/Host/WinHost.h
+++ b/EmulatorPkg/Win/Host/WinHost.h
@@ -12,6 +12,7 @@ Abstract:
Include file for Windows Host
**/
+
#ifndef _HOST_H_
#define _HOST_H_
@@ -45,17 +46,16 @@ Abstract:
#include <Library/PeCoffExtraActionLib.h>
#include <Library/NetLib.h>
-
-#define TEMPORARY_RAM_SIZE 0x20000
+#define TEMPORARY_RAM_SIZE 0x20000
typedef struct {
- VOID *Address;
- UINTN Size;
+ VOID *Address;
+ UINTN Size;
} NT_FD_INFO;
typedef struct {
- EFI_PHYSICAL_ADDRESS Memory;
- UINT64 Size;
+ EFI_PHYSICAL_ADDRESS Memory;
+ UINT64 Size;
} NT_SYSTEM_MEMORY;
RETURN_STATUS
@@ -63,16 +63,17 @@ EFIAPI
SecPeCoffGetEntryPoint (
IN VOID *Pe32Data,
IN OUT VOID **EntryPoint
-);
+ );
VOID
SecLoadSecCore (
- IN UINTN TemporaryRam,
- IN UINTN TemporaryRamSize,
- IN VOID *BootFirmwareVolumeBase,
- IN UINTN BootFirmwareVolumeSize,
- IN VOID *SecCorePe32File
-)
+ IN UINTN TemporaryRam,
+ IN UINTN TemporaryRamSize,
+ IN VOID *BootFirmwareVolumeBase,
+ IN UINTN BootFirmwareVolumeSize,
+ IN VOID *SecCorePe32File
+ )
+
/*++
Routine Description:
@@ -97,6 +98,7 @@ SecWinNtFdAddress (
IN OUT EFI_PHYSICAL_ADDRESS *FdBase,
IN OUT UINT64 *FdSize
)
+
/*++
Routine Description:
@@ -116,15 +118,15 @@ Returns:
--*/
;
-
EFI_STATUS
EFIAPI
SecImageRead (
- IN VOID *FileHandle,
- IN UINTN FileOffset,
- IN OUT UINTN *ReadSize,
- OUT VOID *Buffer
+ IN VOID *FileHandle,
+ IN UINTN FileOffset,
+ IN OUT UINTN *ReadSize,
+ OUT VOID *Buffer
)
+
/*++
Routine Description:
@@ -147,9 +149,10 @@ Returns:
CHAR16 *
AsciiToUnicode (
- IN CHAR8 *Ascii,
- IN UINTN *StrLen OPTIONAL
+ IN CHAR8 *Ascii,
+ IN UINTN *StrLen OPTIONAL
)
+
/*++
Routine Description:
@@ -170,9 +173,10 @@ Returns:
UINTN
CountSeparatorsInString (
- IN CONST CHAR16 *String,
- IN CHAR16 Separator
+ IN CONST CHAR16 *String,
+ IN CHAR16 Separator
)
+
/*++
Routine Description:
@@ -193,16 +197,18 @@ Returns:
BOOLEAN
EfiSystemMemoryRange (
- IN VOID *MemoryAddress
+ IN VOID *MemoryAddress
);
+
VOID
SecInitializeThunk (
VOID
-);
-extern EMU_THUNK_PROTOCOL gEmuThunkProtocol;
-extern EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo;
-extern EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo;
-extern EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo;
-extern EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo;
+ );
+
+extern EMU_THUNK_PROTOCOL gEmuThunkProtocol;
+extern EMU_IO_THUNK_PROTOCOL mWinNtWndThunkIo;
+extern EMU_IO_THUNK_PROTOCOL mWinNtFileSystemThunkIo;
+extern EMU_IO_THUNK_PROTOCOL mWinNtBlockIoThunkIo;
+extern EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo;
#endif
diff --git a/EmulatorPkg/Win/Host/WinInclude.h b/EmulatorPkg/Win/Host/WinInclude.h
index 8a9ae7d746..c2b6cfa3d6 100644
--- a/EmulatorPkg/Win/Host/WinInclude.h
+++ b/EmulatorPkg/Win/Host/WinInclude.h
@@ -19,13 +19,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#pragma warning(disable : 4028)
#pragma warning(disable : 4133)
-#define GUID _WINNT_DUP_GUID_____
+#define GUID _WINNT_DUP_GUID_____
#define _LIST_ENTRY _WINNT_DUP_LIST_ENTRY_FORWARD
#define LIST_ENTRY _WINNT_DUP_LIST_ENTRY
#if defined (MDE_CPU_IA32) && (_MSC_VER < 1800)
-#define InterlockedIncrement _WINNT_DUP_InterlockedIncrement
-#define InterlockedDecrement _WINNT_DUP_InterlockedDecrement
-#define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange64
+#define InterlockedIncrement _WINNT_DUP_InterlockedIncrement
+#define InterlockedDecrement _WINNT_DUP_InterlockedDecrement
+#define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange64
#endif
#undef UNALIGNED
#undef CONST
@@ -36,7 +36,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
// It should be removed after the root cause why
// size_t is undefined when go into the line below is found.
#if defined (MDE_CPU_IA32)
-typedef UINT32 size_t ;
+typedef UINT32 size_t;
#endif
#include "windows.h"
@@ -51,7 +51,7 @@ typedef UINT32 size_t ;
#undef InterlockedCompareExchangePointer
#undef CreateEventEx
-#define VOID void
+#define VOID void
//
// Prevent collisions with Windows API name macros that deal with Unicode/Not issues
@@ -66,5 +66,4 @@ typedef UINT32 size_t ;
#pragma warning(default : 4115)
#pragma warning(default : 4201)
-
#endif
diff --git a/EmulatorPkg/Win/Host/WinMemoryAllocationLib.c b/EmulatorPkg/Win/Host/WinMemoryAllocationLib.c
index a29ebddd14..4d972d2c2e 100644
--- a/EmulatorPkg/Win/Host/WinMemoryAllocationLib.c
+++ b/EmulatorPkg/Win/Host/WinMemoryAllocationLib.c
@@ -30,10 +30,9 @@ AllocatePool (
IN UINTN AllocationSize
)
{
- return (VOID*) malloc (AllocationSize);
+ return (VOID *)malloc (AllocationSize);
}
-
/**
Allocates and zeros a buffer of type EfiBootServicesData.
@@ -53,7 +52,7 @@ AllocateZeroPool (
IN UINTN AllocationSize
)
{
- VOID *Buffer;
+ VOID *Buffer;
Buffer = AllocatePool (AllocationSize);
if (Buffer == NULL) {
@@ -65,7 +64,6 @@ AllocateZeroPool (
return Buffer;
}
-
/**
Reallocates a buffer of type EfiBootServicesData.
@@ -95,7 +93,7 @@ ReallocatePool (
IN VOID *OldBuffer OPTIONAL
)
{
- VOID *NewBuffer;
+ VOID *NewBuffer;
NewBuffer = AllocatePool (NewSize);
if (NewBuffer == NULL) {
@@ -143,10 +141,10 @@ AllocateCopyPool (
if (Memory != NULL) {
Memory = CopyMem (Memory, Buffer, AllocationSize);
}
+
return Memory;
}
-
/**
Frees a buffer that was previously allocated with one of the pool allocation functions in the
Memory Allocation Library.
@@ -164,9 +162,8 @@ AllocateCopyPool (
VOID
EFIAPI
FreePool (
- IN VOID *Buffer
+ IN VOID *Buffer
)
{
- free ((void *) Buffer);
+ free ((void *)Buffer);
}
-
diff --git a/EmulatorPkg/Win/Host/WinPacketFilter.c b/EmulatorPkg/Win/Host/WinPacketFilter.c
index 0b751f97e3..21859897c8 100644
--- a/EmulatorPkg/Win/Host/WinPacketFilter.c
+++ b/EmulatorPkg/Win/Host/WinPacketFilter.c
@@ -20,16 +20,16 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#pragma pack(1)
typedef struct _NT_NET_INTERFACE_INFO {
- UINT32 InterfaceIndex;
- EFI_MAC_ADDRESS MacAddr;
+ UINT32 InterfaceIndex;
+ EFI_MAC_ADDRESS MacAddr;
} NT_NET_INTERFACE_INFO;
#pragma pack()
-#define NET_ETHER_HEADER_SIZE 14
-#define MAX_INTERFACE_INFO_NUMBER 16
-#define SNP_MAX_TX_BUFFER_NUM 65536
-#define SNP_TX_BUFFER_INCREASEMENT 32
-#define DEFAULT_SELECTED_NIC_INDEX 0
+#define NET_ETHER_HEADER_SIZE 14
+#define MAX_INTERFACE_INFO_NUMBER 16
+#define SNP_MAX_TX_BUFFER_NUM 65536
+#define SNP_TX_BUFFER_INCREASEMENT 32
+#define DEFAULT_SELECTED_NIC_INDEX 0
//
// Functions in Net Library
@@ -37,8 +37,8 @@ typedef struct _NT_NET_INTERFACE_INFO {
typedef
INT32
(*NT_NET_INITIALIZE) (
- IN OUT UINT32 *InterfaceCount,
- IN OUT NT_NET_INTERFACE_INFO * InterfaceInfoBuffer
+ IN OUT UINT32 *InterfaceCount,
+ IN OUT NT_NET_INTERFACE_INFO *InterfaceInfoBuffer
);
typedef
@@ -50,85 +50,84 @@ INT32
typedef
INT32
(*NT_NET_SET_RECEIVE_FILTER) (
- IN UINT32 Index,
- IN UINT32 EnableFilter,
- IN UINT32 MCastFilterCnt,
- IN EFI_MAC_ADDRESS * MCastFilter
+ IN UINT32 Index,
+ IN UINT32 EnableFilter,
+ IN UINT32 MCastFilterCnt,
+ IN EFI_MAC_ADDRESS *MCastFilter
);
typedef
INT32
(*NT_NET_RECEIVE) (
- IN UINT32 Index,
- IN OUT UINT32 *BufferSize,
- OUT VOID *Buffer
+ IN UINT32 Index,
+ IN OUT UINT32 *BufferSize,
+ OUT VOID *Buffer
);
typedef
INT32
(*NT_NET_TRANSMIT) (
- IN UINT32 Index,
- IN UINT32 HeaderSize,
- IN UINT32 BufferSize,
- IN VOID *Buffer,
- IN EFI_MAC_ADDRESS * SrcAddr,
- IN EFI_MAC_ADDRESS * DestAddr,
- IN UINT16 *Protocol
+ IN UINT32 Index,
+ IN UINT32 HeaderSize,
+ IN UINT32 BufferSize,
+ IN VOID *Buffer,
+ IN EFI_MAC_ADDRESS *SrcAddr,
+ IN EFI_MAC_ADDRESS *DestAddr,
+ IN UINT16 *Protocol
);
typedef struct _NT_NET_UTILITY_TABLE {
- NT_NET_INITIALIZE Initialize;
- NT_NET_FINALIZE Finalize;
- NT_NET_SET_RECEIVE_FILTER SetReceiveFilter;
- NT_NET_RECEIVE Receive;
- NT_NET_TRANSMIT Transmit;
+ NT_NET_INITIALIZE Initialize;
+ NT_NET_FINALIZE Finalize;
+ NT_NET_SET_RECEIVE_FILTER SetReceiveFilter;
+ NT_NET_RECEIVE Receive;
+ NT_NET_TRANSMIT Transmit;
} NT_NET_UTILITY_TABLE;
//
// Instance data for each fake SNP instance
//
-#define WIN_NT_INSTANCE_SIGNATURE SIGNATURE_32 ('N', 'T', 'I', 'S')
+#define WIN_NT_INSTANCE_SIGNATURE SIGNATURE_32 ('N', 'T', 'I', 'S')
typedef struct {
- UINT32 Signature;
+ UINT32 Signature;
//
// Array of the recycled transmit buffer address.
//
- UINT64 *RecycledTxBuf;
+ UINT64 *RecycledTxBuf;
//
// Current number of recycled buffer pointers in RecycledTxBuf.
//
- UINT32 RecycledTxBufCount;
+ UINT32 RecycledTxBufCount;
//
// The maximum number of recycled buffer pointers in RecycledTxBuf.
//
- UINT32 MaxRecycledTxBuf;
- EFI_SIMPLE_NETWORK_MODE Mode;
- NT_NET_INTERFACE_INFO InterfaceInfo;
+ UINT32 MaxRecycledTxBuf;
+ EFI_SIMPLE_NETWORK_MODE Mode;
+ NT_NET_INTERFACE_INFO InterfaceInfo;
} WIN_NT_INSTANCE_DATA;
//
// Instance data for each SNP private instance
//
-#define WIN_NT_SIMPLE_NETWORK_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 's', 'n')
+#define WIN_NT_SIMPLE_NETWORK_PRIVATE_SIGNATURE SIGNATURE_32 ('N', 'T', 's', 'n')
typedef struct {
- UINTN Signature;
- EMU_IO_THUNK_PROTOCOL *Thunk;
- EMU_SNP_PROTOCOL EmuSnp;
- EFI_SIMPLE_NETWORK_MODE *Mode;
- HMODULE NetworkLibraryHandle;
- NT_NET_UTILITY_TABLE NtNetUtilityTable;
- WIN_NT_INSTANCE_DATA Instance;
+ UINTN Signature;
+ EMU_IO_THUNK_PROTOCOL *Thunk;
+ EMU_SNP_PROTOCOL EmuSnp;
+ EFI_SIMPLE_NETWORK_MODE *Mode;
+ HMODULE NetworkLibraryHandle;
+ NT_NET_UTILITY_TABLE NtNetUtilityTable;
+ WIN_NT_INSTANCE_DATA Instance;
} WIN_NT_SNP_PRIVATE;
#define WIN_NT_SNP_PRIVATE_DATA_FROM_THIS(a) \
CR(a, WIN_NT_SNP_PRIVATE, EmuSnp, WIN_NT_SIMPLE_NETWORK_PRIVATE_SIGNATURE)
-
/**
Register storage for SNP Mode.
@@ -145,7 +144,7 @@ WinNtSnpCreateMapping (
IN EFI_SIMPLE_NETWORK_MODE *Mode
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -181,7 +180,7 @@ WinNtSnpStart (
IN EMU_SNP_PROTOCOL *This
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -221,7 +220,7 @@ WinNtSnpStop (
IN EMU_SNP_PROTOCOL *This
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -271,12 +270,12 @@ WinNtSnpStop (
**/
EFI_STATUS
WinNtSnpInitialize (
- IN EMU_SNP_PROTOCOL *This,
- IN UINTN ExtraRxBufferSize OPTIONAL,
- IN UINTN ExtraTxBufferSize OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ IN UINTN ExtraRxBufferSize OPTIONAL,
+ IN UINTN ExtraTxBufferSize OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -293,7 +292,7 @@ WinNtSnpInitialize (
break;
}
- Private->Mode->MCastFilterCount = 0;
+ Private->Mode->MCastFilterCount = 0;
Private->Mode->ReceiveFilterSetting = 0;
ZeroMem (Private->Mode->MCastFilter, sizeof (Private->Mode->MCastFilter));
@@ -320,11 +319,11 @@ WinNtSnpInitialize (
**/
EFI_STATUS
WinNtSnpReset (
- IN EMU_SNP_PROTOCOL *This,
- IN BOOLEAN ExtendedVerification
+ IN EMU_SNP_PROTOCOL *This,
+ IN BOOLEAN ExtendedVerification
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -362,7 +361,7 @@ WinNtSnpShutdown (
IN EMU_SNP_PROTOCOL *This
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -382,7 +381,7 @@ WinNtSnpShutdown (
Private->Mode->State = EfiSimpleNetworkStarted;
Private->Mode->ReceiveFilterSetting = 0;
- Private->Mode->MCastFilterCount = 0;
+ Private->Mode->MCastFilterCount = 0;
ZeroMem (Private->Mode->MCastFilter, sizeof (Private->Mode->MCastFilter));
return EFI_SUCCESS;
@@ -414,25 +413,25 @@ WinNtSnpShutdown (
**/
EFI_STATUS
WinNtSnpReceiveFilters (
- IN EMU_SNP_PROTOCOL *This,
- IN UINT32 Enable,
- IN UINT32 Disable,
- IN BOOLEAN ResetMCastFilter,
- IN UINTN MCastFilterCnt OPTIONAL,
- IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ IN UINT32 Enable,
+ IN UINT32 Disable,
+ IN BOOLEAN ResetMCastFilter,
+ IN UINTN MCastFilterCnt OPTIONAL,
+ IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
- INT32 ReturnValue;
+ WIN_NT_SNP_PRIVATE *Private;
+ INT32 ReturnValue;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
ReturnValue = Private->NtNetUtilityTable.SetReceiveFilter (
- Private->Instance.InterfaceInfo.InterfaceIndex,
- Enable,
- (UINT32)MCastFilterCnt,
- MCastFilter
- );
+ Private->Instance.InterfaceInfo.InterfaceIndex,
+ Enable,
+ (UINT32)MCastFilterCnt,
+ MCastFilter
+ );
if (ReturnValue <= 0) {
return EFI_DEVICE_ERROR;
@@ -458,12 +457,12 @@ WinNtSnpReceiveFilters (
**/
EFI_STATUS
WinNtSnpStationAddress (
- IN EMU_SNP_PROTOCOL *This,
- IN BOOLEAN Reset,
- IN EFI_MAC_ADDRESS *New OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ IN BOOLEAN Reset,
+ IN EFI_MAC_ADDRESS *New OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -493,13 +492,13 @@ WinNtSnpStationAddress (
**/
EFI_STATUS
WinNtSnpStatistics (
- IN EMU_SNP_PROTOCOL *This,
- IN BOOLEAN Reset,
- IN OUT UINTN *StatisticsSize OPTIONAL,
- OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ IN BOOLEAN Reset,
+ IN OUT UINTN *StatisticsSize OPTIONAL,
+ OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -529,13 +528,13 @@ WinNtSnpStatistics (
**/
EFI_STATUS
WinNtSnpMCastIpToMac (
- IN EMU_SNP_PROTOCOL *This,
- IN BOOLEAN IPv6,
- IN EFI_IP_ADDRESS *IP,
- OUT EFI_MAC_ADDRESS *MAC
+ IN EMU_SNP_PROTOCOL *This,
+ IN BOOLEAN IPv6,
+ IN EFI_IP_ADDRESS *IP,
+ OUT EFI_MAC_ADDRESS *MAC
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -564,14 +563,14 @@ WinNtSnpMCastIpToMac (
**/
EFI_STATUS
WinNtSnpNvData (
- IN EMU_SNP_PROTOCOL *This,
- IN BOOLEAN ReadWrite,
- IN UINTN Offset,
- IN UINTN BufferSize,
- IN OUT VOID *Buffer
+ IN EMU_SNP_PROTOCOL *This,
+ IN BOOLEAN ReadWrite,
+ IN UINTN Offset,
+ IN UINTN BufferSize,
+ IN OUT VOID *Buffer
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -605,21 +604,21 @@ WinNtSnpNvData (
**/
EFI_STATUS
WinNtSnpGetStatus (
- IN EMU_SNP_PROTOCOL *This,
- OUT UINT32 *InterruptStatus OPTIONAL,
- OUT VOID **TxBuf OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ OUT UINT32 *InterruptStatus OPTIONAL,
+ OUT VOID **TxBuf OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
+ WIN_NT_SNP_PRIVATE *Private;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
if (TxBuf != NULL) {
if (Private->Instance.RecycledTxBufCount != 0) {
- Private->Instance.RecycledTxBufCount --;
- *((UINT8 **) TxBuf) = (UINT8 *) (UINTN)Private->Instance.RecycledTxBuf[Private->Instance.RecycledTxBufCount];
+ Private->Instance.RecycledTxBufCount--;
+ *((UINT8 **)TxBuf) = (UINT8 *)(UINTN)Private->Instance.RecycledTxBuf[Private->Instance.RecycledTxBufCount];
} else {
- *((UINT8 **) TxBuf) = NULL;
+ *((UINT8 **)TxBuf) = NULL;
}
}
@@ -665,18 +664,18 @@ WinNtSnpGetStatus (
**/
EFI_STATUS
WinNtSnpTransmit (
- IN EMU_SNP_PROTOCOL *This,
- IN UINTN HeaderSize,
- IN UINTN BufferSize,
- IN VOID *Buffer,
- IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL,
- IN EFI_MAC_ADDRESS *DestAddr OPTIONAL,
- IN UINT16 *Protocol OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ IN UINTN HeaderSize,
+ IN UINTN BufferSize,
+ IN VOID *Buffer,
+ IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL,
+ IN EFI_MAC_ADDRESS *DestAddr OPTIONAL,
+ IN UINT16 *Protocol OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
- INT32 ReturnValue;
- UINT64 *Tmp;
+ WIN_NT_SNP_PRIVATE *Private;
+ INT32 ReturnValue;
+ UINT64 *Tmp;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
@@ -685,14 +684,14 @@ WinNtSnpTransmit (
}
ReturnValue = Private->NtNetUtilityTable.Transmit (
- Private->Instance.InterfaceInfo.InterfaceIndex,
- (UINT32)HeaderSize,
- (UINT32)BufferSize,
- Buffer,
- SrcAddr,
- DestAddr,
- Protocol
- );
+ Private->Instance.InterfaceInfo.InterfaceIndex,
+ (UINT32)HeaderSize,
+ (UINT32)BufferSize,
+ Buffer,
+ SrcAddr,
+ DestAddr,
+ Protocol
+ );
if (ReturnValue < 0) {
return EFI_DEVICE_ERROR;
@@ -702,16 +701,17 @@ WinNtSnpTransmit (
}
if (Private->Instance.RecycledTxBufCount < Private->Instance.MaxRecycledTxBuf) {
- Private->Instance.RecycledTxBuf[Private->Instance.RecycledTxBufCount] = (UINT64) Buffer;
- Private->Instance.RecycledTxBufCount ++;
+ Private->Instance.RecycledTxBuf[Private->Instance.RecycledTxBufCount] = (UINT64)Buffer;
+ Private->Instance.RecycledTxBufCount++;
} else {
Tmp = malloc (sizeof (UINT64) * (Private->Instance.MaxRecycledTxBuf + SNP_TX_BUFFER_INCREASEMENT));
if (Tmp == NULL) {
return EFI_DEVICE_ERROR;
}
+
CopyMem (Tmp, Private->Instance.RecycledTxBuf, sizeof (UINT64) * Private->Instance.RecycledTxBufCount);
free (Private->Instance.RecycledTxBuf);
- Private->Instance.RecycledTxBuf = Tmp;
+ Private->Instance.RecycledTxBuf = Tmp;
Private->Instance.MaxRecycledTxBuf += SNP_TX_BUFFER_INCREASEMENT;
}
}
@@ -753,30 +753,30 @@ WinNtSnpTransmit (
**/
EFI_STATUS
WinNtSnpReceive (
- IN EMU_SNP_PROTOCOL *This,
- OUT UINTN *HeaderSize OPTIONAL,
- IN OUT UINTN *BufferSize,
- OUT VOID *Buffer,
- OUT EFI_MAC_ADDRESS *SrcAddr OPTIONAL,
- OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL,
- OUT UINT16 *Protocol OPTIONAL
+ IN EMU_SNP_PROTOCOL *This,
+ OUT UINTN *HeaderSize OPTIONAL,
+ IN OUT UINTN *BufferSize,
+ OUT VOID *Buffer,
+ OUT EFI_MAC_ADDRESS *SrcAddr OPTIONAL,
+ OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL,
+ OUT UINT16 *Protocol OPTIONAL
)
{
- WIN_NT_SNP_PRIVATE *Private;
- INT32 ReturnValue;
- UINTN BufSize;
+ WIN_NT_SNP_PRIVATE *Private;
+ INT32 ReturnValue;
+ UINTN BufSize;
Private = WIN_NT_SNP_PRIVATE_DATA_FROM_THIS (This);
- BufSize = *BufferSize;
+ BufSize = *BufferSize;
ASSERT (Private->NtNetUtilityTable.Receive != NULL);
ReturnValue = Private->NtNetUtilityTable.Receive (
- Private->Instance.InterfaceInfo.InterfaceIndex,
- BufferSize,
- Buffer
- );
+ Private->Instance.InterfaceInfo.InterfaceIndex,
+ BufferSize,
+ Buffer
+ );
if (ReturnValue < 0) {
if (ReturnValue == -100) {
@@ -794,16 +794,16 @@ WinNtSnpReceive (
if (SrcAddr != NULL) {
ZeroMem (SrcAddr, sizeof (EFI_MAC_ADDRESS));
- CopyMem (SrcAddr, ((UINT8 *) Buffer) + 6, 6);
+ CopyMem (SrcAddr, ((UINT8 *)Buffer) + 6, 6);
}
if (DestAddr != NULL) {
ZeroMem (DestAddr, sizeof (EFI_MAC_ADDRESS));
- CopyMem (DestAddr, ((UINT8 *) Buffer), 6);
+ CopyMem (DestAddr, ((UINT8 *)Buffer), 6);
}
if (Protocol != NULL) {
- *Protocol = NTOHS (*((UINT16 *) (((UINT8 *) Buffer) + 12)));
+ *Protocol = NTOHS (*((UINT16 *)(((UINT8 *)Buffer) + 12)));
}
return (*BufferSize <= BufSize) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL;
@@ -821,27 +821,27 @@ WinNtSnpReceive (
**/
EFI_STATUS
WinNtInitializeInstanceData (
- IN OUT WIN_NT_INSTANCE_DATA *Instance,
- IN NT_NET_INTERFACE_INFO *NetInfo
+ IN OUT WIN_NT_INSTANCE_DATA *Instance,
+ IN NT_NET_INTERFACE_INFO *NetInfo
)
{
- if (Instance == NULL || NetInfo == NULL) {
+ if ((Instance == NULL) || (NetInfo == NULL)) {
return EFI_INVALID_PARAMETER;
}
ZeroMem (Instance, sizeof (WIN_NT_INSTANCE_DATA));
- Instance->Signature = WIN_NT_INSTANCE_SIGNATURE;
- Instance->RecycledTxBufCount = 0;
- Instance->MaxRecycledTxBuf = 32;
- Instance->Mode.State = EfiSimpleNetworkInitialized;
- Instance->Mode.HwAddressSize = NET_ETHER_ADDR_LEN;
- Instance->Mode.MediaHeaderSize = NET_ETHER_HEADER_SIZE;
- Instance->Mode.MaxPacketSize = 1500;
- Instance->Mode.MaxMCastFilterCount = MAX_MCAST_FILTER_CNT;
- Instance->Mode.IfType = NET_IFTYPE_ETHERNET;
+ Instance->Signature = WIN_NT_INSTANCE_SIGNATURE;
+ Instance->RecycledTxBufCount = 0;
+ Instance->MaxRecycledTxBuf = 32;
+ Instance->Mode.State = EfiSimpleNetworkInitialized;
+ Instance->Mode.HwAddressSize = NET_ETHER_ADDR_LEN;
+ Instance->Mode.MediaHeaderSize = NET_ETHER_HEADER_SIZE;
+ Instance->Mode.MaxPacketSize = 1500;
+ Instance->Mode.MaxMCastFilterCount = MAX_MCAST_FILTER_CNT;
+ Instance->Mode.IfType = NET_IFTYPE_ETHERNET;
Instance->Mode.MediaPresentSupported = TRUE;
- Instance->Mode.MediaPresent = TRUE;
+ Instance->Mode.MediaPresent = TRUE;
//
// Allocate the RecycledTxBuf.
@@ -856,7 +856,6 @@ WinNtInitializeInstanceData (
//
CopyMem (&Instance->InterfaceInfo, NetInfo, sizeof (Instance->InterfaceInfo));
-
//
// Set broadcast address
//
@@ -865,8 +864,8 @@ WinNtInitializeInstanceData (
//
// Copy Current/PermanentAddress MAC address
//
- CopyMem (&Instance->Mode.CurrentAddress, &Instance->InterfaceInfo.MacAddr, sizeof(Instance->Mode.CurrentAddress));
- CopyMem (&Instance->Mode.PermanentAddress, &Instance->InterfaceInfo.MacAddr, sizeof(Instance->Mode.PermanentAddress));
+ CopyMem (&Instance->Mode.CurrentAddress, &Instance->InterfaceInfo.MacAddr, sizeof (Instance->Mode.CurrentAddress));
+ CopyMem (&Instance->Mode.PermanentAddress, &Instance->InterfaceInfo.MacAddr, sizeof (Instance->Mode.PermanentAddress));
//
// Since the fake SNP is based on a real NIC, to avoid conflict with the host
@@ -892,20 +891,20 @@ WinNtInitializeInstanceData (
**/
EFI_STATUS
WintNtInitializeNetUtilityData (
- IN OUT WIN_NT_SNP_PRIVATE *Private,
+ IN OUT WIN_NT_SNP_PRIVATE *Private,
IN UINT8 ActiveInstance
)
{
- EFI_STATUS Status;
- CHAR16 *DllFileNameU;
- INT32 ReturnValue;
- BOOLEAN NetUtilityLibInitDone;
- NT_NET_INTERFACE_INFO NetInterfaceInfoBuffer[MAX_INTERFACE_INFO_NUMBER];
- UINT32 InterfaceCount;
- UINT8 ActiveInterfaceIndex;
+ EFI_STATUS Status;
+ CHAR16 *DllFileNameU;
+ INT32 ReturnValue;
+ BOOLEAN NetUtilityLibInitDone;
+ NT_NET_INTERFACE_INFO NetInterfaceInfoBuffer[MAX_INTERFACE_INFO_NUMBER];
+ UINT32 InterfaceCount;
+ UINT8 ActiveInterfaceIndex;
if (Private == NULL) {
- return EFI_INVALID_PARAMETER;
+ return EFI_INVALID_PARAMETER;
}
NetUtilityLibInitDone = FALSE;
@@ -920,31 +919,31 @@ WintNtInitializeNetUtilityData (
return EFI_NOT_FOUND;
}
- Private->NtNetUtilityTable.Initialize = (NT_NET_INITIALIZE) GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_INITIALIZE);
+ Private->NtNetUtilityTable.Initialize = (NT_NET_INITIALIZE)GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_INITIALIZE);
if (NULL == Private->NtNetUtilityTable.Initialize) {
Status = EFI_NOT_FOUND;
goto ErrorReturn;
}
- Private->NtNetUtilityTable.Finalize = (NT_NET_FINALIZE) GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_FINALIZE);
+ Private->NtNetUtilityTable.Finalize = (NT_NET_FINALIZE)GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_FINALIZE);
if (NULL == Private->NtNetUtilityTable.Finalize) {
Status = EFI_NOT_FOUND;
goto ErrorReturn;
}
- Private->NtNetUtilityTable.SetReceiveFilter = (NT_NET_SET_RECEIVE_FILTER) GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_SET_RCV_FILTER);
+ Private->NtNetUtilityTable.SetReceiveFilter = (NT_NET_SET_RECEIVE_FILTER)GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_SET_RCV_FILTER);
if (NULL == Private->NtNetUtilityTable.SetReceiveFilter) {
Status = EFI_NOT_FOUND;
goto ErrorReturn;
}
- Private->NtNetUtilityTable.Receive = (NT_NET_RECEIVE) GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_RECEIVE);
+ Private->NtNetUtilityTable.Receive = (NT_NET_RECEIVE)GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_RECEIVE);
if (NULL == Private->NtNetUtilityTable.Receive) {
Status = EFI_NOT_FOUND;
goto ErrorReturn;
}
- Private->NtNetUtilityTable.Transmit = (NT_NET_TRANSMIT) GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_TRANSMIT);
+ Private->NtNetUtilityTable.Transmit = (NT_NET_TRANSMIT)GetProcAddress (Private->NetworkLibraryHandle, NETWORK_LIBRARY_TRANSMIT);
if (NULL == Private->NtNetUtilityTable.Transmit) {
Status = EFI_NOT_FOUND;
goto ErrorReturn;
@@ -979,7 +978,7 @@ WintNtInitializeNetUtilityData (
//
Status = WinNtInitializeInstanceData (&Private->Instance, &NetInterfaceInfoBuffer[ActiveInterfaceIndex]);
if (EFI_ERROR (Status)) {
- goto ErrorReturn;
+ goto ErrorReturn;
}
return EFI_SUCCESS;
@@ -987,7 +986,7 @@ WintNtInitializeNetUtilityData (
ErrorReturn:
if (Private->Instance.RecycledTxBuf != NULL) {
- free (Private->Instance.RecycledTxBuf);
+ free (Private->Instance.RecycledTxBuf);
}
if (NetUtilityLibInitDone) {
@@ -1011,7 +1010,7 @@ ErrorReturn:
**/
EFI_STATUS
WintNtReleaseNetUtilityData (
- IN OUT WIN_NT_SNP_PRIVATE *Private
+ IN OUT WIN_NT_SNP_PRIVATE *Private
)
{
if (Private == NULL) {
@@ -1019,7 +1018,7 @@ WintNtReleaseNetUtilityData (
}
if (Private->Instance.RecycledTxBuf != NULL) {
- free (Private->Instance.RecycledTxBuf);
+ free (Private->Instance.RecycledTxBuf);
}
if (Private->NtNetUtilityTable.Finalize != NULL) {
@@ -1031,7 +1030,7 @@ WintNtReleaseNetUtilityData (
return EFI_SUCCESS;
}
-EMU_SNP_PROTOCOL mWinNtSnpProtocol = {
+EMU_SNP_PROTOCOL mWinNtSnpProtocol = {
WinNtSnpCreateMapping,
WinNtSnpStart,
WinNtSnpStop,
@@ -1061,7 +1060,7 @@ EMU_SNP_PROTOCOL mWinNtSnpProtocol = {
**/
EFI_STATUS
WinNtSnpThunkOpen (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_SNP_PRIVATE *Private;
@@ -1089,7 +1088,7 @@ WinNtSnpThunkOpen (
This->Interface = &Private->EmuSnp;
This->Private = Private;
- if (This->ConfigString != NULL && This->ConfigString[0] != '\0') {
+ if ((This->ConfigString != NULL) && (This->ConfigString[0] != '\0')) {
HostInterfaceIndex = (UINT8)StrDecimalToUintn (This->ConfigString);
}
@@ -1108,7 +1107,7 @@ WinNtSnpThunkOpen (
**/
EFI_STATUS
WinNtSnpThunkClose (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
WIN_NT_SNP_PRIVATE *Private;
@@ -1124,7 +1123,7 @@ WinNtSnpThunkClose (
return EFI_SUCCESS;
}
-EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo = {
+EMU_IO_THUNK_PROTOCOL mWinNtSnpThunkIo = {
&gEmuSnpProtocolGuid,
NULL,
NULL,
diff --git a/EmulatorPkg/Win/Host/WinThunk.c b/EmulatorPkg/Win/Host/WinThunk.c
index a77be2a64b..008e5755db 100644
--- a/EmulatorPkg/Win/Host/WinThunk.c
+++ b/EmulatorPkg/Win/Host/WinThunk.c
@@ -32,33 +32,32 @@ Abstract:
UINTN
SecWriteStdErr (
- IN UINT8 *Buffer,
- IN UINTN NumberOfBytes
+ IN UINT8 *Buffer,
+ IN UINTN NumberOfBytes
)
{
- BOOL Success;
- DWORD CharCount;
+ BOOL Success;
+ DWORD CharCount;
CharCount = (DWORD)NumberOfBytes;
- Success = WriteFile (
- GetStdHandle (STD_ERROR_HANDLE),
- Buffer,
- CharCount,
- &CharCount,
- NULL
- );
+ Success = WriteFile (
+ GetStdHandle (STD_ERROR_HANDLE),
+ Buffer,
+ CharCount,
+ &CharCount,
+ NULL
+ );
return Success ? CharCount : 0;
}
-
EFI_STATUS
SecConfigStdIn (
VOID
)
{
- BOOL Success;
- DWORD Mode;
+ BOOL Success;
+ DWORD Mode;
Success = GetConsoleMode (GetStdHandle (STD_INPUT_HANDLE), &Mode);
if (Success) {
@@ -67,17 +66,17 @@ SecConfigStdIn (
//
Mode &= ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT | ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT);
-#if defined(NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)
+ #if defined (NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)
//
// Enable virtual terminal input for Win10 above TH2
//
Mode |= ENABLE_VIRTUAL_TERMINAL_INPUT;
-#endif
+ #endif
Success = SetConsoleMode (GetStdHandle (STD_INPUT_HANDLE), Mode);
}
-#if defined(NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)
+ #if defined (NTDDI_VERSION) && defined (NTDDI_WIN10_TH2) && (NTDDI_VERSION > NTDDI_WIN10_TH2)
//
// Enable terminal mode for Win10 above TH2
//
@@ -85,32 +84,33 @@ SecConfigStdIn (
Success = GetConsoleMode (GetStdHandle (STD_OUTPUT_HANDLE), &Mode);
if (Success) {
Success = SetConsoleMode (
- GetStdHandle (STD_OUTPUT_HANDLE),
- Mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN
- );
+ GetStdHandle (STD_OUTPUT_HANDLE),
+ Mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN
+ );
}
}
-#endif
+
+ #endif
return Success ? EFI_SUCCESS : EFI_DEVICE_ERROR;
}
UINTN
SecWriteStdOut (
- IN UINT8 *Buffer,
- IN UINTN NumberOfBytes
+ IN UINT8 *Buffer,
+ IN UINTN NumberOfBytes
)
{
- BOOL Success;
- DWORD CharCount;
+ BOOL Success;
+ DWORD CharCount;
CharCount = (DWORD)NumberOfBytes;
- Success = WriteFile (
- GetStdHandle (STD_OUTPUT_HANDLE),
- Buffer,
- CharCount,
- &CharCount,
- NULL
- );
+ Success = WriteFile (
+ GetStdHandle (STD_OUTPUT_HANDLE),
+ Buffer,
+ CharCount,
+ &CharCount,
+ NULL
+ );
return Success ? CharCount : 0;
}
@@ -120,34 +120,35 @@ SecPollStdIn (
VOID
)
{
- BOOL Success;
- INPUT_RECORD Record;
- DWORD RecordNum;
+ BOOL Success;
+ INPUT_RECORD Record;
+ DWORD RecordNum;
do {
Success = GetNumberOfConsoleInputEvents (GetStdHandle (STD_INPUT_HANDLE), &RecordNum);
if (!Success || (RecordNum == 0)) {
break;
}
+
Success = PeekConsoleInput (
- GetStdHandle (STD_INPUT_HANDLE),
- &Record,
- 1,
- &RecordNum
- );
+ GetStdHandle (STD_INPUT_HANDLE),
+ &Record,
+ 1,
+ &RecordNum
+ );
if (Success && (RecordNum == 1)) {
- if (Record.EventType == KEY_EVENT && Record.Event.KeyEvent.bKeyDown) {
+ if ((Record.EventType == KEY_EVENT) && Record.Event.KeyEvent.bKeyDown) {
return TRUE;
} else {
//
// Consume the non-key event.
//
Success = ReadConsoleInput (
- GetStdHandle (STD_INPUT_HANDLE),
- &Record,
- 1,
- &RecordNum
- );
+ GetStdHandle (STD_INPUT_HANDLE),
+ &Record,
+ 1,
+ &RecordNum
+ );
}
}
} while (Success);
@@ -157,37 +158,38 @@ SecPollStdIn (
UINTN
SecReadStdIn (
- IN UINT8 *Buffer,
- IN UINTN NumberOfBytes
+ IN UINT8 *Buffer,
+ IN UINTN NumberOfBytes
)
{
- BOOL Success;
- INPUT_RECORD Record;
- DWORD RecordNum;
- UINTN BytesReturn;
+ BOOL Success;
+ INPUT_RECORD Record;
+ DWORD RecordNum;
+ UINTN BytesReturn;
if (!SecPollStdIn ()) {
return 0;
}
+
Success = ReadConsoleInput (
- GetStdHandle (STD_INPUT_HANDLE),
- &Record,
- 1,
- &RecordNum
- );
+ GetStdHandle (STD_INPUT_HANDLE),
+ &Record,
+ 1,
+ &RecordNum
+ );
ASSERT (Success && (RecordNum == 1) && (Record.EventType == KEY_EVENT) && (Record.Event.KeyEvent.bKeyDown));
NumberOfBytes = MIN (Record.Event.KeyEvent.wRepeatCount, NumberOfBytes);
BytesReturn = NumberOfBytes;
while (NumberOfBytes-- != 0) {
Buffer[NumberOfBytes] = Record.Event.KeyEvent.uChar.AsciiChar;
}
+
return BytesReturn;
}
-
VOID *
SecAlloc (
- IN UINTN Size
+ IN UINTN Size
)
{
return malloc ((size_t)Size);
@@ -195,7 +197,7 @@ SecAlloc (
BOOLEAN
SecFree (
- IN VOID *Ptr
+ IN VOID *Ptr
)
{
if (EfiSystemMemoryRange (Ptr)) {
@@ -208,13 +210,11 @@ SecFree (
return TRUE;
}
-
-
//
// Define a global that we can use to shut down the NT timer thread when
// the timer is canceled.
//
-BOOLEAN mCancelTimerThread = FALSE;
+BOOLEAN mCancelTimerThread = FALSE;
//
// The notification function to call on every timer interrupt
@@ -224,41 +224,40 @@ EMU_SET_TIMER_CALLBACK *mTimerNotifyFunction = NULL;
//
// The thread handle for this driver
//
-HANDLE mNtMainThreadHandle;
+HANDLE mNtMainThreadHandle;
//
// The timer value from the last timer interrupt
//
-UINT32 mNtLastTick;
+UINT32 mNtLastTick;
//
// Critical section used to update varibles shared between the main thread and
// the timer interrupt thread.
//
-CRITICAL_SECTION mNtCriticalSection;
+CRITICAL_SECTION mNtCriticalSection;
//
// Worker Functions
//
-UINT mMMTimerThreadID = 0;
+UINT mMMTimerThreadID = 0;
-volatile BOOLEAN mInterruptEnabled = FALSE;
+volatile BOOLEAN mInterruptEnabled = FALSE;
VOID
CALLBACK
MMTimerThread (
- UINT wTimerID,
- UINT msg,
- DWORD dwUser,
- DWORD dw1,
- DWORD dw2
-)
+ UINT wTimerID,
+ UINT msg,
+ DWORD dwUser,
+ DWORD dw1,
+ DWORD dw2
+ )
{
- UINT32 CurrentTick;
- UINT32 Delta;
+ UINT32 CurrentTick;
+ UINT32 Delta;
if (!mCancelTimerThread) {
-
//
// Suspend the main thread until we are done.
// Enter the critical section before suspending
@@ -306,14 +305,13 @@ MMTimerThread (
// Get the current system tick
//
CurrentTick = GetTickCount ();
- Delta = CurrentTick - mNtLastTick;
+ Delta = CurrentTick - mNtLastTick;
mNtLastTick = CurrentTick;
//
// If delay was more then 1 second, ignore it (probably debugging case)
//
if (Delta < 1000) {
-
//
// Only invoke the callback function if a Non-NULL handler has been
// registered. Assume all other handlers are legal.
@@ -332,18 +330,17 @@ MMTimerThread (
timeKillEvent (wTimerID);
mMMTimerThreadID = 0;
}
-
}
VOID
SecSetTimer (
IN UINT64 TimerPeriod,
IN EMU_SET_TIMER_CALLBACK Callback
-)
+ )
{
//
-// If TimerPeriod is 0, then the timer thread should be canceled
-//
+ // If TimerPeriod is 0, then the timer thread should be canceled
+ //
if (TimerPeriod == 0) {
//
// Cancel the timer thread
@@ -384,23 +381,24 @@ SecSetTimer (
SetThreadPriority (
GetCurrentThread (),
THREAD_PRIORITY_HIGHEST
- );
+ );
mMMTimerThreadID = timeSetEvent (
- (UINT)TimerPeriod,
- 0,
- MMTimerThread,
- (DWORD_PTR)NULL,
- TIME_PERIODIC | TIME_KILL_SYNCHRONOUS | TIME_CALLBACK_FUNCTION
- );
+ (UINT)TimerPeriod,
+ 0,
+ MMTimerThread,
+ (DWORD_PTR)NULL,
+ TIME_PERIODIC | TIME_KILL_SYNCHRONOUS | TIME_CALLBACK_FUNCTION
+ );
}
+
mTimerNotifyFunction = Callback;
}
VOID
SecInitializeThunk (
VOID
-)
+ )
{
InitializeCriticalSection (&mNtCriticalSection);
@@ -412,7 +410,7 @@ SecInitializeThunk (
0,
FALSE,
DUPLICATE_SAME_ACCESS
- );
+ );
}
VOID
@@ -423,7 +421,6 @@ SecEnableInterrupt (
mInterruptEnabled = TRUE;
}
-
VOID
SecDisableInterrupt (
VOID
@@ -432,7 +429,6 @@ SecDisableInterrupt (
mInterruptEnabled = FALSE;
}
-
UINT64
SecQueryPerformanceFrequency (
VOID
@@ -450,17 +446,14 @@ SecQueryPerformanceCounter (
return 0;
}
-
-
VOID
SecSleep (
- IN UINT64 Nanoseconds
+ IN UINT64 Nanoseconds
)
{
Sleep ((DWORD)DivU64x32 (Nanoseconds, 1000000));
}
-
VOID
SecCpuSleep (
VOID
@@ -469,40 +462,38 @@ SecCpuSleep (
Sleep (1);
}
-
VOID
SecExit (
- UINTN Status
+ UINTN Status
)
{
exit ((int)Status);
}
-
VOID
SecGetTime (
- OUT EFI_TIME *Time,
- OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
+ OUT EFI_TIME *Time,
+ OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
)
{
- SYSTEMTIME SystemTime;
- TIME_ZONE_INFORMATION TimeZone;
+ SYSTEMTIME SystemTime;
+ TIME_ZONE_INFORMATION TimeZone;
GetLocalTime (&SystemTime);
GetTimeZoneInformation (&TimeZone);
- Time->Year = (UINT16)SystemTime.wYear;
- Time->Month = (UINT8)SystemTime.wMonth;
- Time->Day = (UINT8)SystemTime.wDay;
- Time->Hour = (UINT8)SystemTime.wHour;
- Time->Minute = (UINT8)SystemTime.wMinute;
- Time->Second = (UINT8)SystemTime.wSecond;
+ Time->Year = (UINT16)SystemTime.wYear;
+ Time->Month = (UINT8)SystemTime.wMonth;
+ Time->Day = (UINT8)SystemTime.wDay;
+ Time->Hour = (UINT8)SystemTime.wHour;
+ Time->Minute = (UINT8)SystemTime.wMinute;
+ Time->Second = (UINT8)SystemTime.wSecond;
Time->Nanosecond = (UINT32)(SystemTime.wMilliseconds * 1000000);
- Time->TimeZone = (INT16)TimeZone.Bias;
+ Time->TimeZone = (INT16)TimeZone.Bias;
if (Capabilities != NULL) {
Capabilities->Resolution = 1;
- Capabilities->Accuracy = 50000000;
+ Capabilities->Accuracy = 50000000;
Capabilities->SetsToZero = FALSE;
}
@@ -514,30 +505,30 @@ SecGetTime (
EFI_STATUS
SecSetTime (
- IN EFI_TIME *Time
+ IN EFI_TIME *Time
)
{
- TIME_ZONE_INFORMATION TimeZone;
- SYSTEMTIME SystemTime;
- BOOL Flag;
+ TIME_ZONE_INFORMATION TimeZone;
+ SYSTEMTIME SystemTime;
+ BOOL Flag;
//
// Set Daylight savings time information and Time Zone
//
GetTimeZoneInformation (&TimeZone);
TimeZone.StandardDate.wMonth = Time->Daylight;
- TimeZone.Bias = Time->TimeZone;
- Flag = SetTimeZoneInformation (&TimeZone);
+ TimeZone.Bias = Time->TimeZone;
+ Flag = SetTimeZoneInformation (&TimeZone);
if (!Flag) {
return EFI_DEVICE_ERROR;
}
- SystemTime.wYear = Time->Year;
- SystemTime.wMonth = Time->Month;
- SystemTime.wDay = Time->Day;
- SystemTime.wHour = Time->Hour;
- SystemTime.wMinute = Time->Minute;
- SystemTime.wSecond = Time->Second;
+ SystemTime.wYear = Time->Year;
+ SystemTime.wMonth = Time->Month;
+ SystemTime.wDay = Time->Day;
+ SystemTime.wHour = Time->Hour;
+ SystemTime.wMinute = Time->Minute;
+ SystemTime.wSecond = Time->Second;
SystemTime.wMilliseconds = (INT16)(Time->Nanosecond / 1000000);
Flag = SetLocalTime (&SystemTime);
@@ -549,7 +540,7 @@ SecSetTime (
}
}
-EMU_THUNK_PROTOCOL gEmuThunkProtocol = {
+EMU_THUNK_PROTOCOL gEmuThunkProtocol = {
SecWriteStdErr,
SecConfigStdIn,
SecWriteStdOut,
@@ -574,7 +565,5 @@ EMU_THUNK_PROTOCOL gEmuThunkProtocol = {
GetNextThunkProtocol
};
-
#pragma warning(default : 4996)
#pragma warning(default : 4232)
-