]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Efi/Include/EfiDevicePath.h
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Include / EfiDevicePath.h
index e9189bd6c86f9ffac7d823487570d27989df92cf..4bde7d26109a8180aebf1bc3ab3af529c2662364 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
  \r
-Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -58,7 +58,7 @@ Abstract:
 #define SetDevicePathEndNode(a)  {                       \\r
           (a)->Type = END_DEVICE_PATH_TYPE;              \\r
           (a)->SubType = END_ENTIRE_DEVICE_PATH_SUBTYPE; \\r
-          (a)->Length[0] = sizeof(EFI_DEVICE_PATH_PROTOCOL);      \\r
+          (a)->Length[0] = (UINT8) sizeof (EFI_DEVICE_PATH_PROTOCOL);      \\r
           (a)->Length[1] = 0;                            \\r
           }\r
 \r
@@ -214,7 +214,6 @@ typedef struct {
   UINT8                           DeviceProtocol;\r
 } USB_CLASS_DEVICE_PATH;\r
 \r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
 #define MSG_USB_WWID_DP           0x10\r
 typedef struct {\r
   EFI_DEVICE_PATH_PROTOCOL        Header;\r
@@ -231,7 +230,6 @@ typedef struct {
   EFI_DEVICE_PATH_PROTOCOL        Header;\r
   UINT8                           Lun;\r
 } DEVICE_LOGICAL_UNIT_DEVICE_PATH;\r
-#endif\r
 \r
 #define MSG_SATA_DP               0x12\r
 typedef struct {\r
@@ -330,8 +328,6 @@ typedef struct {
   UINT32                          FlowControlMap;\r
 } UART_FLOW_CONTROL_DEVICE_PATH;\r
 \r
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
-\r
 #define DEVICE_PATH_MESSAGING_SAS \\r
     { 0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d} }\r
 \r
@@ -345,8 +341,6 @@ typedef struct {
   UINT16                          RelativeTargetPort;\r
 } SAS_DEVICE_PATH;\r
 \r
-#endif\r
-\r
 #define MSG_ISCSI_DP              0x13\r
 typedef struct {\r
   EFI_DEVICE_PATH_PROTOCOL        Header;\r
@@ -366,6 +360,19 @@ typedef struct {
 #define ISCSI_LOGIN_OPTION_CHAP_BI                      0x0000\r
 #define ISCSI_LOGIN_OPTION_CHAP_UNI                     0x2000\r
 \r
+///\r
+/// VLAN Device Path SubType.\r
+///\r
+#define MSG_VLAN_DP               0x14\r
+typedef struct {\r
+  EFI_DEVICE_PATH_PROTOCOL        Header;\r
+  ///\r
+  /// VLAN identifier (0-4094).\r
+  ///\r
+  UINT16                          VlanId;\r
+} VLAN_DEVICE_PATH;\r
+\r
+\r
 //\r
 // Media Device Path\r
 //\r
@@ -415,8 +422,6 @@ typedef struct {
   EFI_GUID                        Protocol;\r
 } MEDIA_PROTOCOL_DEVICE_PATH;\r
 \r
-#if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
-\r
 #define MEDIA_FV_DP  0x07\r
 typedef struct {\r
   EFI_DEVICE_PATH_PROTOCOL  Header;\r
@@ -436,7 +441,6 @@ typedef struct {
   UINT64                    StartingOffset;\r
   UINT64                    EndingOffset;\r
 } MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH;\r
-#endif\r
 \r
 //\r
 // BBS Device Path\r
@@ -496,10 +500,8 @@ typedef union {
   F1394_DEVICE_PATH                    F1394;\r
   USB_DEVICE_PATH                      Usb;\r
   USB_CLASS_DEVICE_PATH                UsbClass;\r
-  #if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
   USB_WWID_DEVICE_PATH                 UsbWwid;\r
   DEVICE_LOGICAL_UNIT_DEVICE_PATH      LogicUnit;\r
-  #endif\r
   I2O_DEVICE_PATH                      I2O;\r
   MAC_ADDR_DEVICE_PATH                 MacAddr;\r
   IPv4_DEVICE_PATH                     Ipv4;\r
@@ -507,9 +509,7 @@ typedef union {
   INFINIBAND_DEVICE_PATH               InfiniBand;\r
   UART_DEVICE_PATH                     Uart;\r
   UART_FLOW_CONTROL_DEVICE_PATH        UartFlowControl;\r
-  #if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
   SAS_DEVICE_PATH                      Sas;\r
-  #endif\r
   ISCSI_DEVICE_PATH                    Iscsi;\r
   HARDDRIVE_DEVICE_PATH                HardDrive;\r
   CDROM_DEVICE_PATH                    CD;\r
@@ -517,12 +517,10 @@ typedef union {
   FILEPATH_DEVICE_PATH                 FilePath;\r
   MEDIA_PROTOCOL_DEVICE_PATH           MediaProtocol;\r
 \r
-  #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
   MEDIA_FW_VOL_DEVICE_PATH             PiwgFirmwareVolume;\r
   MEDIA_FW_VOL_FILEPATH_DEVICE_PATH    PiwgFirmwareFile;\r
   MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH\r
                                        Offset;\r
-  #endif\r
 \r
   BBS_BBS_DEVICE_PATH                  Bbs;\r
 } EFI_DEV_PATH;\r
@@ -550,10 +548,8 @@ typedef union {
   F1394_DEVICE_PATH                    *F1394;\r
   USB_DEVICE_PATH                      *Usb;\r
   USB_CLASS_DEVICE_PATH                *UsbClass;\r
-  #if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
   USB_WWID_DEVICE_PATH                 *UsbWwid;\r
   DEVICE_LOGICAL_UNIT_DEVICE_PATH      *LogicUnit;\r
-  #endif\r
   I2O_DEVICE_PATH                      *I2O;\r
   MAC_ADDR_DEVICE_PATH                 *MacAddr;\r
   IPv4_DEVICE_PATH                     *Ipv4;\r
@@ -562,9 +558,7 @@ typedef union {
   UART_DEVICE_PATH                     *Uart;\r
   UART_FLOW_CONTROL_DEVICE_PATH        *UartFlowControl;\r
 \r
-  #if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
   SAS_DEVICE_PATH                      *Sas;\r
-  #endif\r
   ISCSI_DEVICE_PATH                    *Iscsi;\r
 \r
   HARDDRIVE_DEVICE_PATH                *HardDrive;\r
@@ -573,10 +567,10 @@ typedef union {
   FILEPATH_DEVICE_PATH                 *FilePath;\r
   MEDIA_PROTOCOL_DEVICE_PATH           *MediaProtocol;\r
 \r
-  #if (EFI_SPECIFICATION_VERSION >= 0x0002000A)\r
   MEDIA_FW_VOL_DEVICE_PATH             *PiwgFirmwareVolume;\r
   MEDIA_FW_VOL_FILEPATH_DEVICE_PATH    *PiwgFirmwareFile;\r
-  #endif\r
+  MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH\r
+                                       *Offset;\r
 \r
   BBS_BBS_DEVICE_PATH                  *Bbs;\r
   UINT8                                *Raw;\r