diff options
Diffstat (limited to 'src/interface/efi/efi_utils.c')
-rw-r--r-- | src/interface/efi/efi_utils.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/interface/efi/efi_utils.c b/src/interface/efi/efi_utils.c index 1bebaa5..4dc7541 100644 --- a/src/interface/efi/efi_utils.c +++ b/src/interface/efi/efi_utils.c @@ -51,6 +51,18 @@ EFI_DEVICE_PATH_PROTOCOL * efi_devpath_end ( EFI_DEVICE_PATH_PROTOCOL *path ) { } /** + * Find length of device path (excluding terminator) + * + * @v path Path to device + * @ret path_len Length of device path + */ +size_t efi_devpath_len ( EFI_DEVICE_PATH_PROTOCOL *path ) { + EFI_DEVICE_PATH_PROTOCOL *end = efi_devpath_end ( path ); + + return ( ( ( void * ) end ) - ( ( void * ) path ) ); +} + +/** * Locate parent device supporting a given protocol * * @v device EFI device handle |