if (options->format >= G_N_ELEMENTS(qcrypto_block_drivers) ||
!qcrypto_block_drivers[options->format]) {
- error_setg(errp, "Unsupported block driver %d", options->format);
+ error_setg(errp, "Unsupported block driver %s",
+ QCryptoBlockFormat_lookup[options->format]);
g_free(block);
return NULL;
}
if (options->format >= G_N_ELEMENTS(qcrypto_block_drivers) ||
!qcrypto_block_drivers[options->format]) {
- error_setg(errp, "Unsupported block driver %d", options->format);
+ error_setg(errp, "Unsupported block driver %s",
+ QCryptoBlockFormat_lookup[options->format]);
g_free(block);
return NULL;
}
}
+QCryptoBlockInfo *qcrypto_block_get_info(QCryptoBlock *block,
+ Error **errp)
+{
+ QCryptoBlockInfo *info = g_new0(QCryptoBlockInfo, 1);
+
+ info->format = block->format;
+
+ if (block->driver->get_info &&
+ block->driver->get_info(block, info, errp) < 0) {
+ g_free(info);
+ return NULL;
+ }
+
+ return info;
+}
+
+
int qcrypto_block_decrypt(QCryptoBlock *block,
uint64_t startsector,
uint8_t *buf,