/* device_path device path to be converted display_only true if the shorter text representation shall be used allow_shortcuts true if shortcut forms may be used  */
static uint16_t EFIAPI* efi_convert_device_path_to_text(struct efi_device_path *device_path, bool display_only, bool allow_shortcuts)
/* device_path device path to be converted display_only true if the shorter text representation shall be used allow_shortcuts true if shortcut forms may be used  */
static uint16_t EFIAPI* efi_convert_device_path_to_text(struct efi_device_path *device_path, bool display_only, bool allow_shortcuts)
{
	uint16_t *text = NULL;
	char buffer[MAX_PATH_LEN];
	char *str = buffer;
	EFI_ENTRY("%p, %d, %d", device_path, display_only, allow_shortcuts);
	if (!device_path)
		goto out;
	while (device_path &&
	       str + MAX_NODE_LEN < buffer + MAX_PATH_LEN) {
		*str++ = '/';
		str = efi_convert_single_device_node_to_text(str, device_path);
		device_path = efi_dp_next(device_path);
	}
	text = efi_str_to_u16(buffer);
out:
	EFI_EXIT(EFI_SUCCESS);
	return text;
}