/** @file\r
The device path protocol as defined in UEFI 2.0.\r
\r
- The device path represents a programatic path to a device. It's the view\r
- from a software point of view. It also must persist from boot to boot, so \r
+ The device path represents a programmatic path to a device,\r
+ 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 - 2009, Intel Corporation \r
#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
// Media Device Path\r
//\r
/// Describes the entry in a partition table, starting with entry 1.\r
/// Partition number zero represents the entire device. Valid\r
/// partition numbers for a MBR partition are [1, 4]. Valid\r
- /// partition numbers for a GPT partition are [1,\r
- /// NumberOfPartitionEntries].\r
+ /// partition numbers for a GPT partition are [1, NumberOfPartitionEntries].\r
///\r
UINT32 PartitionNumber;\r
///\r
///\r
UINT64 PartitionSize;\r
///\r
- /// Signature unique to this partition\r
+ /// Signature unique to this partition:\r
+ /// If SignatureType is 0, this field has to be initialized with 16 zeros.\r
+ /// If SignatureType is 1, the MBR signature is stored in the first 4 bytes of this field.\r
+ /// The other 12 bytes are initialized with zeros.\r
+ /// If SignatureType is 2, this field contains a 16 byte signature.\r
///\r
UINT8 Signature[16];\r
///\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL Header;\r
///\r
- /// A NULL-terminated Unicode Path string including directory and file names.\r
+ /// A NULL-terminated Path string including directory and file names.\r
///\r
CHAR16 PathName[1];\r
} FILEPATH_DEVICE_PATH;\r
///\r
/// PIWG Firmware Volume Device Path SubType\r
///\r
-#define MEDIA_PIWG_FW_VOL_DP 0x7\r
+#define MEDIA_PIWG_FW_FILE_DP 0x06\r
\r
///\r
-/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware volume.\r
+/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware file.\r
///\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL Header;\r
///\r
- /// Firmware volume name.\r
+ /// Firmware file name\r
///\r
- EFI_GUID FvName;\r
-} MEDIA_FW_VOL_DEVICE_PATH;\r
+ EFI_GUID FvFileName;\r
+} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;\r
\r
///\r
/// PIWG Firmware Volume Device Path SubType\r
///\r
-#define MEDIA_PIWG_FW_FILE_DP 0x6\r
+#define MEDIA_PIWG_FW_VOL_DP 0x07\r
\r
///\r
-/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware file.\r
+/// This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware volume.\r
///\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL Header;\r
///\r
- /// Firmware file name\r
+ /// Firmware volume name.\r
///\r
- EFI_GUID FvFileName;\r
-} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;\r
+ EFI_GUID FvName;\r
+} MEDIA_FW_VOL_DEVICE_PATH;\r
\r
///\r
/// Media relative offset range device path\r
///\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL Header;\r
+ UINT32 Reserved;\r
UINT64 StartingOffset;\r
UINT64 EndingOffset;\r
} MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH;\r