MdePkg: Add ToText/FromText support for URI device path node
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17370 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -2741,6 +2741,38 @@ DevPathFromTextBluetooth (
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) BluetoothDp;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to URI device path structure.
|
||||
|
||||
@param TextDeviceNode The input Text device path node.
|
||||
|
||||
@return A pointer to the newly-created URI device path structure.
|
||||
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
DevPathFromTextUri (
|
||||
IN CHAR16 *TextDeviceNode
|
||||
)
|
||||
{
|
||||
CHAR16 *UriStr;
|
||||
UINTN UriLength;
|
||||
URI_DEVICE_PATH *Uri;
|
||||
|
||||
UriStr = GetNextParamStr (&TextDeviceNode);
|
||||
UriLength = StrnLenS (UriStr, MAX_UINT16 - sizeof (URI_DEVICE_PATH));
|
||||
Uri = (URI_DEVICE_PATH *) CreateDeviceNode (
|
||||
MESSAGING_DEVICE_PATH,
|
||||
MSG_URI_DP,
|
||||
(UINT16) (sizeof (URI_DEVICE_PATH) + UriLength)
|
||||
);
|
||||
|
||||
while (UriLength-- != 0) {
|
||||
Uri->Uri[UriLength] = (CHAR8) UriStr[UriLength];
|
||||
}
|
||||
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) Uri;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a media text device path node to media device path structure.
|
||||
|
||||
@@ -3181,6 +3213,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED DEVICE_PATH_FROM_TEXT_TABLE mUefiDevicePathLibDevP
|
||||
{L"Unit", DevPathFromTextUnit },
|
||||
{L"iSCSI", DevPathFromTextiSCSI },
|
||||
{L"Vlan", DevPathFromTextVlan },
|
||||
{L"Uri", DevPathFromTextUri },
|
||||
{L"Bluetooth", DevPathFromTextBluetooth },
|
||||
{L"MediaPath", DevPathFromTextMediaPath },
|
||||
{L"HD", DevPathFromTextHD },
|
||||
|
Reference in New Issue
Block a user