]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/DevicePath.h
MdePkg: Add URI_DEVICE_PATH definition.
[mirror_edk2.git] / MdePkg / Include / Protocol / DevicePath.h
index 05e0d019b719ac7612921e1b551e72d9f855c782..de24db18ef3bb51aee694eec2b5019e1e6849759 100644 (file)
@@ -273,14 +273,14 @@ typedef struct {
 #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
@@ -795,6 +795,34 @@ typedef struct {
   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
@@ -1106,7 +1134,9 @@ typedef union {
   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
@@ -1157,7 +1187,9 @@ typedef union {
   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