19 #ifndef __EFI_DEVICE_PATH_PROTOCOL_H__ 20 #define __EFI_DEVICE_PATH_PROTOCOL_H__ 27 #define EFI_DEVICE_PATH_PROTOCOL_GUID \ 29 0x9576e91, 0x6d3f, 0x11d2, { 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ 35 #define DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH_PROTOCOL_GUID 73 #define HARDWARE_DEVICE_PATH 0x01 78 #define HW_PCI_DP 0x01 98 #define HW_PCCARD_DP 0x02 114 #define HW_MEMMAP_DP 0x03 138 #define HW_VENDOR_DP 0x04 159 #define HW_CONTROLLER_DP 0x05 175 #define ACPI_DEVICE_PATH 0x02 202 #define ACPI_EXTENDED_DP 0x02 238 #define PNP_EISA_ID_CONST 0x41d0 239 #define EISA_ID(_Name, _Num) ((UINT32)((_Name) | (_Num) << 16)) 240 #define EISA_PNP_ID(_PNPId) (EISA_ID(PNP_EISA_ID_CONST, (_PNPId))) 241 #define EFI_PNP_ID(_PNPId) (EISA_ID(PNP_EISA_ID_CONST, (_PNPId))) 243 #define PNP_EISA_ID_MASK 0xffff 244 #define EISA_ID_TO_NUM(_Id) ((_Id) >> 16) 249 #define ACPI_ADR_DP 0x03 269 #define ACPI_ADR_DISPLAY_TYPE_OTHER 0 270 #define ACPI_ADR_DISPLAY_TYPE_VGA 1 271 #define ACPI_ADR_DISPLAY_TYPE_TV 2 272 #define ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL 3 273 #define ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL 4 275 #define ACPI_DISPLAY_ADR(_DeviceIdScheme, _HeadId, _NonVgaOutput, _BiosCanDetect, _VendorInfo, _Type, _Port, _Index) \ 276 ((UINT32) ((((_DeviceIdScheme) & 0x1) << 31) | \ 277 (((_HeadId) & 0x7) << 18) | \ 278 (((_NonVgaOutput) & 0x1) << 17) | \ 279 (((_BiosCanDetect) & 0x1) << 16) | \ 280 (((_VendorInfo) & 0xf) << 12) | \ 281 (((_Type) & 0xf) << 8) | \ 282 (((_Port) & 0xf) << 4) | \ 291 #define MESSAGING_DEVICE_PATH 0x03 296 #define MSG_ATAPI_DP 0x01 316 #define MSG_SCSI_DP 0x02 332 #define MSG_FIBRECHANNEL_DP 0x03 352 #define MSG_FIBRECHANNELEX_DP 0x15 372 #define MSG_1394_DP 0x04 388 #define MSG_USB_DP 0x05 404 #define MSG_USB_CLASS_DP 0x0f 437 #define MSG_USB_WWID_DP 0x10 468 #define MSG_DEVICE_LOGICAL_UNIT_DP 0x11 480 #define MSG_SATA_DP 0x12 503 #define SATA_HBA_DIRECT_CONNECT_FLAG 0x8000 508 #define MSG_I2O_DP 0x06 520 #define MSG_MAC_ADDR_DP 0x0b 536 #define MSG_IPv4_DP 0x0c 577 #define MSG_IPv6_DP 0x0d 621 #define MSG_INFINIBAND_DP 0x09 653 #define INFINIBAND_RESOURCE_FLAG_IOC_SERVICE 0x01 654 #define INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT 0x02 655 #define INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL 0x04 656 #define INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL 0x08 657 #define INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL 0x10 662 #define MSG_UART_DP 0x0e 702 #define MSG_VENDOR_DP 0x0a 705 #define DEVICE_PATH_MESSAGING_PC_ANSI EFI_PC_ANSI_GUID 706 #define DEVICE_PATH_MESSAGING_VT_100 EFI_VT_100_GUID 707 #define DEVICE_PATH_MESSAGING_VT_100_PLUS EFI_VT_100_PLUS_GUID 708 #define DEVICE_PATH_MESSAGING_VT_UTF8 EFI_VT_UTF8_GUID 729 #define UART_FLOW_CONTROL_HARDWARE 0x00000001 730 #define UART_FLOW_CONTROL_XON_XOFF 0x00000010 732 #define DEVICE_PATH_MESSAGING_SAS EFI_SAS_DEVICE_PATH_GUID 767 #define MSG_SASEX_DP 0x16 791 #define MSG_ISCSI_DP 0x13 818 #define ISCSI_LOGIN_OPTION_NO_HEADER_DIGEST 0x0000 819 #define ISCSI_LOGIN_OPTION_HEADER_DIGEST_USING_CRC32C 0x0002 820 #define ISCSI_LOGIN_OPTION_NO_DATA_DIGEST 0x0000 821 #define ISCSI_LOGIN_OPTION_DATA_DIGEST_USING_CRC32C 0x0008 822 #define ISCSI_LOGIN_OPTION_AUTHMETHOD_CHAP 0x0000 823 #define ISCSI_LOGIN_OPTION_AUTHMETHOD_NON 0x1000 824 #define ISCSI_LOGIN_OPTION_CHAP_BI 0x0000 825 #define ISCSI_LOGIN_OPTION_CHAP_UNI 0x2000 830 #define MSG_VLAN_DP 0x14 842 #define MEDIA_DEVICE_PATH 0x04 847 #define MEDIA_HARDDRIVE_DP 0x01 892 #define MBR_TYPE_PCAT 0x01 893 #define MBR_TYPE_EFI_PARTITION_TABLE_HEADER 0x02 895 #define NO_DISK_SIGNATURE 0x00 896 #define SIGNATURE_TYPE_MBR 0x01 897 #define SIGNATURE_TYPE_GUID 0x02 902 #define MEDIA_CDROM_DP 0x02 926 #define MEDIA_VENDOR_DP 0x03 928 #define MEDIA_FILEPATH_DP 0x04 940 #define SIZE_OF_FILEPATH_DEVICE_PATH OFFSET_OF(FILEPATH_DEVICE_PATH,PathName) 945 #define MEDIA_PROTOCOL_DP 0x05 963 #define MEDIA_PIWG_FW_FILE_DP 0x06 979 #define MEDIA_PIWG_FW_VOL_DP 0x07 995 #define MEDIA_RELATIVE_OFFSET_RANGE_DP 0x08 1010 #define BBS_DEVICE_PATH 0x05 1015 #define BBS_BBS_DP 0x01 1039 #define BBS_TYPE_FLOPPY 0x01 1040 #define BBS_TYPE_HARDDRIVE 0x02 1041 #define BBS_TYPE_CDROM 0x03 1042 #define BBS_TYPE_PCMCIA 0x04 1043 #define BBS_TYPE_USB 0x05 1044 #define BBS_TYPE_EMBEDDED_NETWORK 0x06 1045 #define BBS_TYPE_BEV 0x80 1046 #define BBS_TYPE_UNKNOWN 0xFF 1151 #define END_DEVICE_PATH_TYPE 0x7f 1152 #define END_ENTIRE_DEVICE_PATH_SUBTYPE 0xFF 1153 #define END_INSTANCE_DEVICE_PATH_SUBTYPE 0x01 INFINIBAND_DEVICE_PATH * InfiniBand
CONTROLLER_DEVICE_PATH Controller
EFI_DEVICE_PATH_PROTOCOL Header
ACPI_HID_DEVICE_PATH Acpi
ACPI_HID_DEVICE_PATH * Acpi
_In_ ULONG _In_ ULONG _In_ ULONG Length
FORCEINLINE UINT8 DevicePathType(_In_ PVOID Node)
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR _In_ UCHAR _In_ UCHAR Lun
EFI_DEVICE_PATH_PROTOCOL DevPath
VENDOR_DEVICE_PATH VENDOR_DEFINED_DEVICE_PATH
#define END_DEVICE_PATH_TYPE
MAC_ADDR_DEVICE_PATH MacAddr
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
F1394_DEVICE_PATH * F1394
EFI_DEVICE_PATH_PROTOCOL Header
EFI_MAC_ADDRESS MacAddress
ACPI_ADR_DEVICE_PATH * AcpiAdr
SASEX_DEVICE_PATH * SasEx
EFI_IPv4_ADDRESS RemoteIpAddress
MEDIA_PROTOCOL_DEVICE_PATH * MediaProtocol
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL * DevPath
FIBRECHANNELEX_DEVICE_PATH FibreChannelEx
FORCEINLINE UINT8 DevicePathSubType(_In_ PVOID Node)
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
MEMMAP_DEVICE_PATH MemMap
UINT64 EFI_PHYSICAL_ADDRESS
EFI_DEVICE_PATH_PROTOCOL Header
FIBRECHANNELEX_DEVICE_PATH * FibreChannelEx
EFI_DEVICE_PATH_PROTOCOL Header
EFI_IPv4_ADDRESS GatewayIpAddress
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
ISCSI_DEVICE_PATH * Iscsi
UINT16 RelativeTargetPort
EFI_DEVICE_PATH_PROTOCOL Header
USB_WWID_DEVICE_PATH UsbWwid
EFI_DEVICE_PATH_PROTOCOL Header
FORCEINLINE UINTN DevicePathNodeLength(_In_ PVOID Node)
FORCEINLINE BOOLEAN IsDevicePathEndType(_In_ PVOID Node)
EFI_DEVICE_PATH_PROTOCOL Header
EFI_PHYSICAL_ADDRESS StartingAddress
PCCARD_DEVICE_PATH * PcCard
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH Offset
EFI_GUID gEfiDevicePathProtocolGuid
DEVICE_LOGICAL_UNIT_DEVICE_PATH LogicUnit
ACPI_EXTENDED_HID_DEVICE_PATH * ExtendedAcpi
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
FILEPATH_DEVICE_PATH * FilePath
EFI_IPv6_ADDRESS GatewayIpAddress
USB_CLASS_DEVICE_PATH UsbClass
FILEPATH_DEVICE_PATH FilePath
EFI_DEVICE_PATH_PROTOCOL Header
CONTROLLER_DEVICE_PATH * Controller
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_IPv6_ADDRESS RemoteIpAddress
ACPI_ADR_DEVICE_PATH AcpiAdr
EFI_DEVICE_PATH_PROTOCOL Header
FIBRECHANNEL_DEVICE_PATH FibreChannel
MAC_ADDR_DEVICE_PATH * MacAddr
EFI_PHYSICAL_ADDRESS EndingAddress
INFINIBAND_DEVICE_PATH InfiniBand
UART_FLOW_CONTROL_DEVICE_PATH UartFlowControl
EFI_DEVICE_PATH_PROTOCOL Header
HARDDRIVE_DEVICE_PATH HardDrive
USB_CLASS_DEVICE_PATH * UsbClass
MEDIA_FW_VOL_DEVICE_PATH * FirmwareVolume
#define END_ENTIRE_DEVICE_PATH_SUBTYPE
ACPI_EXTENDED_HID_DEVICE_PATH ExtendedAcpi
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
ATAPI_DEVICE_PATH * Atapi
MEMMAP_DEVICE_PATH * MemMap
EFI_DEVICE_PATH_PROTOCOL Header
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH * FirmwareFile
EFI_IPv6_ADDRESS LocalIpAddress
UINT16 TargetPortalGroupTag
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
EFI_DEVICE_PATH_PROTOCOL Header
VENDOR_DEVICE_PATH Vendor
EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH
FORCEINLINE BOOLEAN IsDevicePathEnd(_In_ PVOID Node)
UINT16 PortMultiplierPortNumber
EFI_DEVICE_PATH_PROTOCOL Header
VENDOR_DEVICE_PATH * Vendor
BBS_BBS_DEVICE_PATH * Bbs
PCCARD_DEVICE_PATH PcCard
UINT16 RelativeTargetPort
MEDIA_PROTOCOL_DEVICE_PATH MediaProtocol
EFI_DEVICE_PATH_PROTOCOL Header
HARDDRIVE_DEVICE_PATH * HardDrive
unsigned long long UINT64
static const WCHAR Signature[]
EFI_IPv4_ADDRESS LocalIpAddress
FIBRECHANNEL_DEVICE_PATH * FibreChannel
EFI_DEVICE_PATH_PROTOCOL Header
FORCEINLINE EFI_DEVICE_PATH_PROTOCOL * NextDevicePathNode(_In_ PVOID Node)
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH * Offset
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH FirmwareFile
UART_FLOW_CONTROL_DEVICE_PATH * UartFlowControl
USB_WWID_DEVICE_PATH * UsbWwid
MEDIA_FW_VOL_DEVICE_PATH FirmwareVolume
DEVICE_LOGICAL_UNIT_DEVICE_PATH * LogicUnit
EFI_IPv4_ADDRESS SubnetMask