summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/efi/efi_path.h
diff options
context:
space:
mode:
authorMichael Brown2024-03-05 21:00:15 +0100
committerMichael Brown2024-03-06 17:11:29 +0100
commitc4471e3408d85c51a69991974985fe283d869eac (patch)
treec3e24fa6bb2386dbbcf19993e26dc8ba1b29b685 /src/include/ipxe/efi/efi_path.h
parent[block] Allow for additional SAN boot parameters alongside filename (diff)
downloadipxe-c4471e3408d85c51a69991974985fe283d869eac.tar.gz
ipxe-c4471e3408d85c51a69991974985fe283d869eac.tar.xz
ipxe-c4471e3408d85c51a69991974985fe283d869eac.zip
[efi] Add efi_path_guid() utility function
EFI provides no API for determining the partition GUID (if any) for a specified device handle. The partition GUID appears to be exposed only as part of the device path. Add efi_path_guid() to extract the partition GUID (if any) from a device path. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/efi/efi_path.h')
-rw-r--r--src/include/ipxe/efi/efi_path.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/ipxe/efi/efi_path.h b/src/include/ipxe/efi/efi_path.h
index e75ae42c..20ff43f6 100644
--- a/src/include/ipxe/efi/efi_path.h
+++ b/src/include/ipxe/efi/efi_path.h
@@ -20,6 +20,7 @@ struct aoe_device;
struct fcp_description;
struct ib_srp_device;
struct usb_function;
+union uuid;
/**
* Terminate device path
@@ -43,6 +44,7 @@ extern EFI_DEVICE_PATH_PROTOCOL *
efi_path_end ( EFI_DEVICE_PATH_PROTOCOL *path );
extern size_t efi_path_len ( EFI_DEVICE_PATH_PROTOCOL *path );
extern unsigned int efi_path_vlan ( EFI_DEVICE_PATH_PROTOCOL *path );
+extern int efi_path_guid ( EFI_DEVICE_PATH_PROTOCOL *path, union uuid *uuid );
extern EFI_DEVICE_PATH_PROTOCOL * efi_paths ( EFI_DEVICE_PATH_PROTOCOL *first,
... );
extern EFI_DEVICE_PATH_PROTOCOL * efi_netdev_path ( struct net_device *netdev );