X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FProtocol%2FDevicePath.h;h=2ca008ac65fbbbd6ca2a61abe7ae11e1aa923f75;hp=6ff0050437177645fe1081bfcf0e01ad86cccea6;hb=8a7d75b0625cffee0c67b85afe56763f93d86481;hpb=d1f950002362305fcd4c30f108ef7b76679f5843 diff --git a/MdePkg/Include/Protocol/DevicePath.h b/MdePkg/Include/Protocol/DevicePath.h index 6ff0050437..2ca008ac65 100644 --- a/MdePkg/Include/Protocol/DevicePath.h +++ b/MdePkg/Include/Protocol/DevicePath.h @@ -1,5 +1,5 @@ /** @file - The device path protocol as defined in EFI 1.0. + The device path protocol as defined in UEFI 2.0. The device path represents a programatic path to a device. It's the view from a software point of view. It also must persist from boot to boot, so @@ -14,13 +14,13 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - Module Name: DevicePath.h - **/ #ifndef __EFI_DEVICE_PATH_PROTOCOL_H__ #define __EFI_DEVICE_PATH_PROTOCOL_H__ +#include + // // Device Path protocol // @@ -29,9 +29,14 @@ 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ } +// +// Protocol GUID defined in EFI1.1. +// + // // Device Path information // +#define DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH_PROTOCOL_GUID #pragma pack(1) @@ -41,6 +46,11 @@ typedef struct { UINT8 Length[2]; } EFI_DEVICE_PATH_PROTOCOL; +// +// For backward-compatible with EFI1.1. +// +typedef EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH; + // // Hardware Device Paths // @@ -299,9 +309,8 @@ typedef struct { EFI_DEVICE_PATH_PROTOCOL Header; UINT16 NetworkProtocol; UINT16 LoginOption; - UINT16 Reserved; + UINT64 Lun; UINT16 TargetPortalGroupTag; - UINT64 LUN; // CHAR8 iSCSI Target Name } ISCSI_DEVICE_PATH; @@ -355,7 +364,7 @@ typedef struct { CHAR16 PathName[1]; } FILEPATH_DEVICE_PATH; -#define SIZE_OF_FILEPATH_DEVICE_PATH EFI_FIELD_OFFSET(FILEPATH_DEVICE_PATH,PathName) +#define SIZE_OF_FILEPATH_DEVICE_PATH EFI_FIELD_OFFSET(FILEPATH_DEVICE_PATH,PathName) #define MEDIA_PROTOCOL_DP 0x05 typedef struct { @@ -365,11 +374,17 @@ typedef struct { #define MEDIA_PIWG_FW_VOL_DP 0x6 -typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_FILEPATH_DEVICE_PATH; +typedef struct { + EFI_DEVICE_PATH_PROTOCOL Header; + EFI_GUID FvName; +} MEDIA_FW_VOL_DEVICE_PATH; #define MEDIA_PIWG_FW_FILE_DP 0x7 -typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_DEVICE_PATH; +typedef struct { + EFI_DEVICE_PATH_PROTOCOL Header; + EFI_GUID FvFileName; +} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH; // // BBS Device Path