from a software point of view. The path must persist from boot to boot, so \r
it can not contain things like PCI bus numbers that change from boot to boot.\r
\r
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials are licensed and made available under \r
the terms and conditions of the BSD License that accompanies this distribution. \r
The full text of the license may be found at\r
#define __EFI_DEVICE_PATH_PROTOCOL_H__\r
\r
#include <Guid/PcAnsi.h>\r
-\r
+#include <IndustryStandard/Bluetooth.h>\r
///\r
/// Device Path protocol.\r
///\r
#define ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL 4\r
\r
#define ACPI_DISPLAY_ADR(_DeviceIdScheme, _HeadId, _NonVgaOutput, _BiosCanDetect, _VendorInfo, _Type, _Port, _Index) \\r
- ((UINT32)( (((_DeviceIdScheme) & 0x1) << 31) | \\r
- (((_HeadId) & 0x7) << 18) | \\r
- (((_NonVgaOutput) & 0x1) << 17) | \\r
- (((_BiosCanDetect) & 0x1) << 16) | \\r
- (((_VendorInfo) & 0xf) << 12) | \\r
- (((_Type) & 0xf) << 8) | \\r
- (((_Port) & 0xf) << 4) | \\r
- ((_Index) & 0xf) ))\r
+ ((UINT32)( ((UINT32)((_DeviceIdScheme) & 0x1) << 31) | \\r
+ (((_HeadId) & 0x7) << 18) | \\r
+ (((_NonVgaOutput) & 0x1) << 17) | \\r
+ (((_BiosCanDetect) & 0x1) << 16) | \\r
+ (((_VendorInfo) & 0xf) << 12) | \\r
+ (((_Type) & 0xf) << 8) | \\r
+ (((_Port) & 0xf) << 4) | \\r
+ ((_Index) & 0xf) ))\r
\r
///\r
/// Messaging Device Paths.\r
UINT64 NamespaceUuid;\r
} NVME_NAMESPACE_DEVICE_PATH;\r
\r
+///\r
+/// Uniform Resource Identifiers (URI) Device Path SubType\r
+///\r
+#define MSG_URI_DP 0x18\r
+typedef struct {\r
+ EFI_DEVICE_PATH_PROTOCOL Header;\r
+ ///\r
+ /// Instance of the URI pursuant to RFC 3986.\r
+ ///\r
+ CHAR8 Uri[];\r
+} URI_DEVICE_PATH;\r
+\r
+///\r
+/// Universal Flash Storage (UFS) Device Path SubType.\r
+///\r
+#define MSG_UFS_DP 0x19\r
+typedef struct {\r
+ EFI_DEVICE_PATH_PROTOCOL Header;\r
+ ///\r
+ /// Target ID on the UFS bus (PUN).\r
+ ///\r
+ UINT8 Pun;\r
+ ///\r
+ /// Logical Unit Number (LUN).\r
+ ///\r
+ UINT8 Lun;\r
+} UFS_DEVICE_PATH;\r
+\r
///\r
/// iSCSI Device Path SubType\r
///\r
UINT16 VlanId;\r
} VLAN_DEVICE_PATH;\r
\r
+///\r
+/// Bluetooth Device Path SubType.\r
+///\r
+#define MSG_BLUETOOTH_DP 0x1b\r
+typedef struct {\r
+ EFI_DEVICE_PATH_PROTOCOL Header;\r
+ ///\r
+ /// 48bit Bluetooth device address.\r
+ ///\r
+ BLUETOOTH_ADDRESS BD_ADDR;\r
+} BLUETOOTH_DEVICE_PATH;\r
+\r
//\r
// Media Device Path\r
//\r
SAS_DEVICE_PATH Sas;\r
SASEX_DEVICE_PATH SasEx;\r
NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;\r
+ URI_DEVICE_PATH Uri;\r
+ BLUETOOTH_DEVICE_PATH Bluetooth;\r
+ UFS_DEVICE_PATH Ufs;\r
HARDDRIVE_DEVICE_PATH HardDrive;\r
CDROM_DEVICE_PATH CD;\r
\r
SAS_DEVICE_PATH *Sas;\r
SASEX_DEVICE_PATH *SasEx;\r
NVME_NAMESPACE_DEVICE_PATH *NvmeNamespace;\r
+ URI_DEVICE_PATH *Uri;\r
+ BLUETOOTH_DEVICE_PATH *Bluetooth;\r
+ UFS_DEVICE_PATH *Ufs;\r
HARDDRIVE_DEVICE_PATH *HardDrive;\r
CDROM_DEVICE_PATH *CD;\r
\r