InOsEmuPkg: Rename package to EmulatorPkg & Sec to Host
* Rename InOsEmuPkg to EmulatorPkg * Rename Unix/Sec to Unix/Host Signed-off-by: jljusten Reviewed-by: andrewfish Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11918 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
183
EmulatorPkg/Library/DevicePathTextLib/DevicePathTextLib.c
Normal file
183
EmulatorPkg/Library/DevicePathTextLib/DevicePathTextLib.c
Normal file
@ -0,0 +1,183 @@
|
||||
/** @file
|
||||
Null Platform Hook Library instance.
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#include <Base.h>
|
||||
|
||||
#include <Protocol/EmuThunk.h>
|
||||
#include <Protocol/EmuGraphicsWindow.h>
|
||||
#include <Protocol/EmuBlockIo.h>
|
||||
#include <Protocol/SimpleFileSystem.h>
|
||||
#include <Protocol/EmuThread.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/DevicePathToTextLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/DevicePathLib.h>
|
||||
|
||||
|
||||
/**
|
||||
Converts a Vendor device path structure to its string representative.
|
||||
|
||||
@param Str The string representative of input device.
|
||||
@param DevPath The input device path structure.
|
||||
@param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
|
||||
of the display node is used, where applicable. If DisplayOnly
|
||||
is FALSE, then the longer text representation of the display node
|
||||
is used.
|
||||
@param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
|
||||
representation for a device node can be used, where applicable.
|
||||
|
||||
@return EFI_NOT_FOUND if no string representation exists.
|
||||
@return EFI_SUCCESS a string representation was created.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DevPathToTextVendorLib (
|
||||
IN OUT POOL_PRINT *Str,
|
||||
IN VOID *DevPath,
|
||||
IN BOOLEAN DisplayOnly,
|
||||
IN BOOLEAN AllowShortcuts
|
||||
)
|
||||
{
|
||||
EMU_VENDOR_DEVICE_PATH_NODE *Vendor;
|
||||
CHAR16 *Type;
|
||||
|
||||
Vendor = (EMU_VENDOR_DEVICE_PATH_NODE *)DevPath;
|
||||
if (CompareGuid (&Vendor->VendorDevicePath.Guid, &gEmuThunkProtocolGuid)) {
|
||||
CatPrint (Str, L"EmuThunk()");
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
if (CompareGuid (&Vendor->VendorDevicePath.Guid, &gEmuGraphicsWindowProtocolGuid)) {
|
||||
CatPrint (Str, L"EmuGraphics(%d)", Vendor->Instance);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
if (CompareGuid (&Vendor->VendorDevicePath.Guid, &gEfiSimpleFileSystemProtocolGuid)) {
|
||||
CatPrint (Str, L"EmuFs(%d)", Vendor->Instance);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
if (CompareGuid (&Vendor->VendorDevicePath.Guid, &gEmuBlockIoProtocolGuid)) {
|
||||
CatPrint (Str, L"EmuBlk(%d)", Vendor->Instance);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
if (CompareGuid (&Vendor->VendorDevicePath.Guid, &gEmuThreadThunkProtocolGuid)) {
|
||||
CatPrint (Str, L"EmuThread()");
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to Hardware Vendor device path structure.
|
||||
|
||||
@param TextDeviceNode The input Text device path node.
|
||||
|
||||
@return A pointer to the newly-created Hardware Vendor device path structure.
|
||||
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
DevPathFromTextEmuThunk (
|
||||
IN CHAR16 *TextDeviceNode
|
||||
)
|
||||
{
|
||||
CHAR16 *Str;
|
||||
VENDOR_DEVICE_PATH *Vendor;
|
||||
|
||||
Str = GetNextParamStr (&TextDeviceNode);
|
||||
Vendor = (VENDOR_DEVICE_PATH *) CreateDeviceNode (
|
||||
HARDWARE_DEVICE_PATH,
|
||||
HW_VENDOR_DP,
|
||||
(UINT16) sizeof (VENDOR_DEVICE_PATH)
|
||||
);
|
||||
CopyGuid (&Vendor->Guid, &gEmuThunkProtocolGuid);
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to Hardware Vendor device path structure.
|
||||
|
||||
@param TextDeviceNode The input Text device path node.
|
||||
|
||||
@return A pointer to the newly-created Hardware Vendor device path structure.
|
||||
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
DevPathFromTextEmuThread (
|
||||
IN CHAR16 *TextDeviceNode
|
||||
)
|
||||
{
|
||||
CHAR16 *Str;
|
||||
VENDOR_DEVICE_PATH *Vendor;
|
||||
|
||||
Str = GetNextParamStr (&TextDeviceNode);
|
||||
Vendor = (VENDOR_DEVICE_PATH *) CreateDeviceNode (
|
||||
HARDWARE_DEVICE_PATH,
|
||||
HW_VENDOR_DP,
|
||||
(UINT16) sizeof (VENDOR_DEVICE_PATH)
|
||||
);
|
||||
CopyGuid (&Vendor->Guid, &gEmuThreadThunkProtocolGuid);
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to Hardware Vendor device path structure.
|
||||
|
||||
@param TextDeviceNode The input Text device path node.
|
||||
|
||||
@return A pointer to the newly-created Hardware Vendor device path structure.
|
||||
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
DevPathFromTextEmuFs (
|
||||
IN CHAR16 *TextDeviceNode
|
||||
)
|
||||
{
|
||||
CHAR16 *Str;
|
||||
EMU_VENDOR_DEVICE_PATH_NODE *Vendor;
|
||||
|
||||
Str = GetNextParamStr (&TextDeviceNode);
|
||||
Vendor = (EMU_VENDOR_DEVICE_PATH_NODE *) CreateDeviceNode (
|
||||
HARDWARE_DEVICE_PATH,
|
||||
HW_VENDOR_DP,
|
||||
(UINT16) sizeof (EMU_VENDOR_DEVICE_PATH_NODE)
|
||||
);
|
||||
CopyGuid (&Vendor->VendorDevicePath.Guid, &gEfiSimpleFileSystemProtocolGuid);
|
||||
Vendor->Instance = (UINT32) StrDecimalToUintn (Str);
|
||||
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;
|
||||
}
|
||||
|
||||
/**
|
||||
Register the Filter function
|
||||
|
||||
@param ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The constructor executed correctly.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DevicePathToTextLibConstructor (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
|
||||
{
|
||||
DevPathToTextSetVendorDevicePathFilter (DevPathToTextVendorLib);
|
||||
DevicePathFromTextAddFilter (L"EmuThunk", DevPathFromTextEmuThunk);
|
||||
DevicePathFromTextAddFilter (L"EmuThread", DevPathFromTextEmuThread);
|
||||
DevicePathFromTextAddFilter (L"EmuFs", DevPathFromTextEmuFs);
|
||||
return EFI_SUCCESS;
|
||||
}
|
Reference in New Issue
Block a user