mirror of https://github.com/acidanthera/audk.git
MdePkg: Add WiFi device path definition and its node/text conversion
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17476 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
0d2aa2b196
commit
3bafd562b7
|
@ -895,6 +895,18 @@ typedef struct {
|
|||
BLUETOOTH_ADDRESS BD_ADDR;
|
||||
} BLUETOOTH_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// Wi-Fi Device Path SubType.
|
||||
///
|
||||
#define MSG_WIFI_DP 0x1C
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// Service set identifier. A 32-byte octets string.
|
||||
///
|
||||
UINT8 SSId[32];
|
||||
} WIFI_DEVICE_PATH;
|
||||
|
||||
//
|
||||
// Media Device Path
|
||||
//
|
||||
|
@ -1145,6 +1157,7 @@ typedef union {
|
|||
NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;
|
||||
URI_DEVICE_PATH Uri;
|
||||
BLUETOOTH_DEVICE_PATH Bluetooth;
|
||||
WIFI_DEVICE_PATH WiFi;
|
||||
UFS_DEVICE_PATH Ufs;
|
||||
SD_DEVICE_PATH Sd;
|
||||
HARDDRIVE_DEVICE_PATH HardDrive;
|
||||
|
@ -1199,6 +1212,7 @@ typedef union {
|
|||
NVME_NAMESPACE_DEVICE_PATH *NvmeNamespace;
|
||||
URI_DEVICE_PATH *Uri;
|
||||
BLUETOOTH_DEVICE_PATH *Bluetooth;
|
||||
WIFI_DEVICE_PATH *WiFi;
|
||||
UFS_DEVICE_PATH *Ufs;
|
||||
SD_DEVICE_PATH *Sd;
|
||||
HARDDRIVE_DEVICE_PATH *HardDrive;
|
||||
|
|
|
@ -2769,6 +2769,36 @@ DevPathFromTextBluetooth (
|
|||
return (EFI_DEVICE_PATH_PROTOCOL *) BluetoothDp;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to Wi-Fi device path structure.
|
||||
|
||||
@param TextDeviceNode The input Text device path node.
|
||||
|
||||
@return A pointer to the newly-created Wi-Fi device path structure.
|
||||
|
||||
**/
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
DevPathFromTextWiFi (
|
||||
IN CHAR16 *TextDeviceNode
|
||||
)
|
||||
{
|
||||
CHAR16 *SSIdStr;
|
||||
CHAR8 *AsciiStr;
|
||||
WIFI_DEVICE_PATH *WiFiDp;
|
||||
|
||||
SSIdStr = GetNextParamStr (&TextDeviceNode);
|
||||
WiFiDp = (WIFI_DEVICE_PATH *) CreateDeviceNode (
|
||||
MESSAGING_DEVICE_PATH,
|
||||
MSG_WIFI_DP,
|
||||
(UINT16) sizeof (WIFI_DEVICE_PATH)
|
||||
);
|
||||
|
||||
AsciiStr = WiFiDp->SSId;
|
||||
StrToAscii (SSIdStr, &AsciiStr);
|
||||
|
||||
return (EFI_DEVICE_PATH_PROTOCOL *) WiFiDp;
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a text device path node to URI device path structure.
|
||||
|
||||
|
@ -3244,6 +3274,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED DEVICE_PATH_FROM_TEXT_TABLE mUefiDevicePathLibDevP
|
|||
{L"Vlan", DevPathFromTextVlan },
|
||||
{L"Uri", DevPathFromTextUri },
|
||||
{L"Bluetooth", DevPathFromTextBluetooth },
|
||||
{L"WiFi", DevPathFromTextWiFi },
|
||||
{L"MediaPath", DevPathFromTextMediaPath },
|
||||
{L"HD", DevPathFromTextHD },
|
||||
{L"CDROM", DevPathFromTextCDROM },
|
||||
|
|
|
@ -1561,6 +1561,33 @@ DevPathToTextBluetooth (
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a Wi-Fi 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.
|
||||
|
||||
**/
|
||||
VOID
|
||||
DevPathToTextWiFi (
|
||||
IN OUT POOL_PRINT *Str,
|
||||
IN VOID *DevPath,
|
||||
IN BOOLEAN DisplayOnly,
|
||||
IN BOOLEAN AllowShortcuts
|
||||
)
|
||||
{
|
||||
WIFI_DEVICE_PATH *WiFi;
|
||||
|
||||
WiFi = DevPath;
|
||||
UefiDevicePathLibCatPrint (Str, L"WiFi(%a)", WiFi->SSId);
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a URI device path structure to its string representative.
|
||||
|
||||
|
@ -2021,6 +2048,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE mUefiDevicePathLib
|
|||
{MESSAGING_DEVICE_PATH, MSG_VLAN_DP, DevPathToTextVlan },
|
||||
{MESSAGING_DEVICE_PATH, MSG_URI_DP, DevPathToTextUri },
|
||||
{MESSAGING_DEVICE_PATH, MSG_BLUETOOTH_DP, DevPathToTextBluetooth },
|
||||
{MESSAGING_DEVICE_PATH, MSG_WIFI_DP, DevPathToTextWiFi },
|
||||
{MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP, DevPathToTextHardDrive },
|
||||
{MEDIA_DEVICE_PATH, MEDIA_CDROM_DP, DevPathToTextCDROM },
|
||||
{MEDIA_DEVICE_PATH, MEDIA_VENDOR_DP, DevPathToTextVendor },
|
||||
|
|
Loading…
Reference in New Issue