uefi.protocols.devicepath

Based on Protocol/DevicePath.h, original notice:

The device path protocol as defined in UEFI 2.0.

The device path represents a programmatic path to a device, from a software point of view. The path must persist from boot to boot, so it can not contain things like PCI bus numbers that change from boot to boot.

Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Members

Aliases

EFI_DEVICE_PATH
alias EFI_DEVICE_PATH = EFI_DEVICE_PATH_PROTOCOL

Device Path protocol definition for backward-compatible with EFI1.1.

Manifest constants

ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL
enum ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL
enum ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_ADR_DISPLAY_TYPE_OTHER
enum ACPI_ADR_DISPLAY_TYPE_OTHER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_ADR_DISPLAY_TYPE_TV
enum ACPI_ADR_DISPLAY_TYPE_TV;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_ADR_DISPLAY_TYPE_VGA
enum ACPI_ADR_DISPLAY_TYPE_VGA;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_ADR_DP
enum ACPI_ADR_DP;

ACPI _ADR Device Path SubType.

ACPI_DEVICE_PATH
enum ACPI_DEVICE_PATH;

ACPI Device Paths.

ACPI_DP
enum ACPI_DP;

ACPI Device Path SubType.

ACPI_EXTENDED_DP
enum ACPI_EXTENDED_DP;

Expanded ACPI Device Path SubType.

BBS_BBS_DP
enum BBS_BBS_DP;

BIOS Boot Specification Device Path SubType.

BBS_DEVICE_PATH
enum BBS_DEVICE_PATH;

BIOS Boot Specification Device Path.

BBS_TYPE_BEV
enum BBS_TYPE_BEV;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_CDROM
enum BBS_TYPE_CDROM;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_EMBEDDED_NETWORK
enum BBS_TYPE_EMBEDDED_NETWORK;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_FLOPPY
enum BBS_TYPE_FLOPPY;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_HARDDRIVE
enum BBS_TYPE_HARDDRIVE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_PCMCIA
enum BBS_TYPE_PCMCIA;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_UNKNOWN
enum BBS_TYPE_UNKNOWN;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_TYPE_USB
enum BBS_TYPE_USB;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
DEVICE_PATH_PROTOCOL
enum DEVICE_PATH_PROTOCOL;

Device Path guid definition for backward-compatible with EFI1.1.

END_DEVICE_PATH_TYPE
enum END_DEVICE_PATH_TYPE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
END_ENTIRE_DEVICE_PATH_SUBTYPE
enum END_ENTIRE_DEVICE_PATH_SUBTYPE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
END_INSTANCE_DEVICE_PATH_SUBTYPE
enum END_INSTANCE_DEVICE_PATH_SUBTYPE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
HARDWARE_DEVICE_PATH
enum HARDWARE_DEVICE_PATH;

Hardware Device Paths.

HW_BMC_DP
enum HW_BMC_DP;

BMC Device Path SubType.

HW_CONTROLLER_DP
enum HW_CONTROLLER_DP;

Controller Device Path SubType.

HW_MEMMAP_DP
enum HW_MEMMAP_DP;

Memory Mapped Device Path SubType.

HW_PCCARD_DP
enum HW_PCCARD_DP;

PCCARD Device Path SubType.

HW_PCI_DP
enum HW_PCI_DP;

PCI Device Path SubType.

HW_VENDOR_DP
enum HW_VENDOR_DP;

Hardware Vendor Device Path SubType.

INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL
enum INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT
enum INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
INFINIBAND_RESOURCE_FLAG_IOC_SERVICE
enum INFINIBAND_RESOURCE_FLAG_IOC_SERVICE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL
enum INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL
enum INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_AUTHMETHOD_CHAP
enum ISCSI_LOGIN_OPTION_AUTHMETHOD_CHAP;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_AUTHMETHOD_NON
enum ISCSI_LOGIN_OPTION_AUTHMETHOD_NON;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_CHAP_BI
enum ISCSI_LOGIN_OPTION_CHAP_BI;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_CHAP_UNI
enum ISCSI_LOGIN_OPTION_CHAP_UNI;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_DATA_DIGEST_USING_CRC32C
enum ISCSI_LOGIN_OPTION_DATA_DIGEST_USING_CRC32C;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_HEADER_DIGEST_USING_CRC32C
enum ISCSI_LOGIN_OPTION_HEADER_DIGEST_USING_CRC32C;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_NO_DATA_DIGEST
enum ISCSI_LOGIN_OPTION_NO_DATA_DIGEST;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_LOGIN_OPTION_NO_HEADER_DIGEST
enum ISCSI_LOGIN_OPTION_NO_HEADER_DIGEST;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MBR_TYPE_EFI_PARTITION_TABLE_HEADER
enum MBR_TYPE_EFI_PARTITION_TABLE_HEADER;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MBR_TYPE_PCAT
enum MBR_TYPE_PCAT;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MEDIA_CDROM_DP
enum MEDIA_CDROM_DP;

CD-ROM Media Device Path SubType.

MEDIA_DEVICE_PATH
enum MEDIA_DEVICE_PATH;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MEDIA_FILEPATH_DP
enum MEDIA_FILEPATH_DP;

File Path Media Device Path SubType

MEDIA_HARDDRIVE_DP
enum MEDIA_HARDDRIVE_DP;

Hard Drive Media Device Path SubType.

MEDIA_PIWG_FW_FILE_DP
enum MEDIA_PIWG_FW_FILE_DP;

PIWG Firmware File SubType.

MEDIA_PIWG_FW_VOL_DP
enum MEDIA_PIWG_FW_VOL_DP;

PIWG Firmware Volume Device Path SubType.

MEDIA_PROTOCOL_DP
enum MEDIA_PROTOCOL_DP;

Media Protocol Device Path SubType.

MEDIA_RAM_DISK_DP
enum MEDIA_RAM_DISK_DP;

Media ram disk device path.

MEDIA_RELATIVE_OFFSET_RANGE_DP
enum MEDIA_RELATIVE_OFFSET_RANGE_DP;

Media relative offset range device path.

MEDIA_VENDOR_DP
enum MEDIA_VENDOR_DP;

<Mediavendordevicepathsubtype.

MESSAGING_DEVICE_PATH
enum MESSAGING_DEVICE_PATH;

Messaging Device Paths. This Device Path is used to describe the connection of devices outside the resource domain of the system. This Device Path can describe physical messaging information like SCSI ID, or abstract information like networking protocol IP addresses.

MSG_1394_DP
enum MSG_1394_DP;

1394 Device Path SubType

MSG_ATAPI_DP
enum MSG_ATAPI_DP;

ATAPI Device Path SubType

MSG_BLUETOOTH_DP
enum MSG_BLUETOOTH_DP;

Bluetooth Device Path SubType.

MSG_DEVICE_LOGICAL_UNIT_DP
enum MSG_DEVICE_LOGICAL_UNIT_DP;

Device Logical Unit SubType.

MSG_FIBRECHANNELEX_DP
enum MSG_FIBRECHANNELEX_DP;

Fibre Channel Ex SubType.

MSG_FIBRECHANNEL_DP
enum MSG_FIBRECHANNEL_DP;

Fibre Channel SubType.

MSG_I2O_DP
enum MSG_I2O_DP;

I2O Device Path SubType.

MSG_INFINIBAND_DP
enum MSG_INFINIBAND_DP;

InfiniBand Device Path SubType.

MSG_IPv4_DP
enum MSG_IPv4_DP;

IPv4 Device Path SubType

MSG_IPv6_DP
enum MSG_IPv6_DP;

IPv6 Device Path SubType.

MSG_ISCSI_DP
enum MSG_ISCSI_DP;

iSCSI Device Path SubType

MSG_MAC_ADDR_DP
enum MSG_MAC_ADDR_DP;

MAC Address Device Path SubType.

MSG_NVME_NAMESPACE_DP
enum MSG_NVME_NAMESPACE_DP;

NvmExpress Namespace Device Path SubType.

MSG_SASEX_DP
enum MSG_SASEX_DP;

Serial Attached SCSI (SAS) Ex Device Path SubType

MSG_SATA_DP
enum MSG_SATA_DP;

SATA Device Path SubType.

MSG_SCSI_DP
enum MSG_SCSI_DP;

SCSI Device Path SubType.

MSG_SD_DP
enum MSG_SD_DP;

SD (Secure Digital) Device Path SubType.

MSG_UART_DP
enum MSG_UART_DP;

UART Device Path SubType.

MSG_UFS_DP
enum MSG_UFS_DP;

Universal Flash Storage (UFS) Device Path SubType.

MSG_URI_DP
enum MSG_URI_DP;

Uniform Resource Identifiers (URI) Device Path SubType

MSG_USB_CLASS_DP
enum MSG_USB_CLASS_DP;

USB Class Device Path SubType.

MSG_USB_DP
enum MSG_USB_DP;

USB Device Path SubType.

MSG_USB_WWID_DP
enum MSG_USB_WWID_DP;

USB WWID Device Path SubType.

MSG_VENDOR_DP
enum MSG_VENDOR_DP;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MSG_VLAN_DP
enum MSG_VLAN_DP;

VLAN Device Path SubType.

MSG_WIFI_DP
enum MSG_WIFI_DP;

Wi-Fi Device Path SubType.

NO_DISK_SIGNATURE
enum NO_DISK_SIGNATURE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
PNP_EISA_ID_CONST
enum PNP_EISA_ID_CONST;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
PNP_EISA_ID_MASK
enum PNP_EISA_ID_MASK;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
SATA_HBA_DIRECT_CONNECT_FLAG
enum SATA_HBA_DIRECT_CONNECT_FLAG;

Flag for if the device is directly connected to the HBA.

SIGNATURE_TYPE_GUID
enum SIGNATURE_TYPE_GUID;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
SIGNATURE_TYPE_MBR
enum SIGNATURE_TYPE_MBR;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
UART_FLOW_CONTROL_HARDWARE
enum UART_FLOW_CONTROL_HARDWARE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
UART_FLOW_CONTROL_XON_XOFF
enum UART_FLOW_CONTROL_XON_XOFF;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Structs

ACPI_ADR_DEVICE_PATH
struct ACPI_ADR_DEVICE_PATH

The _ADR device path is used to contain video output device attributes to support the Graphics Output Protocol. The device path can contain multiple _ADR entries if multiple video output devices are displaying the same output.

ACPI_EXTENDED_HID_DEVICE_PATH
struct ACPI_EXTENDED_HID_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ACPI_HID_DEVICE_PATH
struct ACPI_HID_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ATAPI_DEVICE_PATH
struct ATAPI_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BBS_BBS_DEVICE_PATH
struct BBS_BBS_DEVICE_PATH

This Device Path is used to describe the booting of non-EFI-aware operating systems.

BLUETOOTH_DEVICE_PATH
struct BLUETOOTH_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
BMC_DEVICE_PATH
struct BMC_DEVICE_PATH

BMC Device Path.

CDROM_DEVICE_PATH
struct CDROM_DEVICE_PATH

The CD-ROM Media Device Path is used to define a system partition that exists on a CD-ROM.

CONTROLLER_DEVICE_PATH
struct CONTROLLER_DEVICE_PATH

Controller Device Path.

DEVICE_LOGICAL_UNIT_DEVICE_PATH
struct DEVICE_LOGICAL_UNIT_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
EFI_DEVICE_PATH_PROTOCOL
struct EFI_DEVICE_PATH_PROTOCOL

This protocol can be used on any device handle to obtain generic path/location information concerning the physical device or logical device. If the handle does not logically map to a physical device, the handle may not necessarily support the device path protocol. The device path describes the location of the device the handle is for. The size of the Device Path can be determined from the structures that make up the Device Path.

F1394_DEVICE_PATH
struct F1394_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
FIBRECHANNELEX_DEVICE_PATH
struct FIBRECHANNELEX_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
FIBRECHANNEL_DEVICE_PATH
struct FIBRECHANNEL_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
FILEPATH_DEVICE_PATH
struct FILEPATH_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
HARDDRIVE_DEVICE_PATH
struct HARDDRIVE_DEVICE_PATH

The Hard Drive Media Device Path is used to represent a partition on a hard drive.

I2O_DEVICE_PATH
struct I2O_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
INFINIBAND_DEVICE_PATH
struct INFINIBAND_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
IPv4_DEVICE_PATH
struct IPv4_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
IPv6_DEVICE_PATH
struct IPv6_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ISCSI_DEVICE_PATH
struct ISCSI_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MAC_ADDR_DEVICE_PATH
struct MAC_ADDR_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
MEDIA_FW_VOL_DEVICE_PATH
struct MEDIA_FW_VOL_DEVICE_PATH

This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware volume.

MEDIA_FW_VOL_FILEPATH_DEVICE_PATH
struct MEDIA_FW_VOL_FILEPATH_DEVICE_PATH

This device path is used by systems implementing the UEFI PI Specification 1.0 to describe a firmware file.

MEDIA_PROTOCOL_DEVICE_PATH
struct MEDIA_PROTOCOL_DEVICE_PATH

The Media Protocol Device Path is used to denote the protocol that is being used in a device path at the location of the path specified. Many protocols are inherent to the style of device path.

MEDIA_RAM_DISK_DEVICE_PATH
struct MEDIA_RAM_DISK_DEVICE_PATH

Used to describe the ram disk device path.

MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH
struct MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH

Used to describe the offset range of media relative.

MEMMAP_DEVICE_PATH
struct MEMMAP_DEVICE_PATH

Memory Mapped Device Path.

NVME_NAMESPACE_DEVICE_PATH
struct NVME_NAMESPACE_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
PCCARD_DEVICE_PATH
struct PCCARD_DEVICE_PATH

PCCARD Device Path.

PCI_DEVICE_PATH
struct PCI_DEVICE_PATH

PCI Device Path.

SASEX_DEVICE_PATH
struct SASEX_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
SAS_DEVICE_PATH
struct SAS_DEVICE_PATH

Serial Attached SCSI (SAS) Device Path.

SATA_DEVICE_PATH
struct SATA_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
SCSI_DEVICE_PATH
struct SCSI_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
SD_DEVICE_PATH
struct SD_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
UART_DEVICE_PATH
struct UART_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
UART_FLOW_CONTROL_DEVICE_PATH
struct UART_FLOW_CONTROL_DEVICE_PATH

A new device path node is defined to declare flow control characteristics. UART Flow Control Messaging Device Path

UFS_DEVICE_PATH
struct UFS_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
URI_DEVICE_PATH
struct URI_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
USB_CLASS_DEVICE_PATH
struct USB_CLASS_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
USB_DEVICE_PATH
struct USB_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
USB_WWID_DEVICE_PATH
struct USB_WWID_DEVICE_PATH

This device path describes a USB device using its serial number.

VENDOR_DEVICE_PATH
struct VENDOR_DEVICE_PATH

The Vendor Device Path allows the creation of vendor-defined Device Paths. A vendor must allocate a Vendor GUID for a Device Path. The Vendor GUID can then be used to define the contents on the n bytes that follow in the Vendor Device Path node.

VLAN_DEVICE_PATH
struct VLAN_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
WIFI_DEVICE_PATH
struct WIFI_DEVICE_PATH
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Unions

EFI_DEV_PATH
union EFI_DEV_PATH

Union of all possible Device Paths and pointers to Device Paths.

EFI_DEV_PATH_PTR
union EFI_DEV_PATH_PTR
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Variables

EFI_DEVICE_PATH_PROTOCOL_GUID
enum EFI_GUID EFI_DEVICE_PATH_PROTOCOL_GUID;

Device Path protocol.

Meta