pevent_log);
}
+int nvme_cli_fw_download(struct nvme_dev *dev,
+ struct nvme_fw_download_args *args)
+{
+ return do_admin_args_op(fw_download, dev, args);
+}
+
+int nvme_cli_fw_commit(struct nvme_dev *dev,
+ struct nvme_fw_commit_args *args)
+{
+ return do_admin_args_op(fw_commit, dev, args);
+}
+
/* The MI & direct interfaces don't have an exactly-matching API for
* ns_mgmt_create, as we don't support a timeout for MI.
*/
int nvme_cli_get_log_persistent_event(struct nvme_dev *dev,
enum nvme_pevent_log_action action,
__u32 size, void *pevent_log);
+
+int nvme_cli_fw_download(struct nvme_dev *dev,
+ struct nvme_fw_download_args *args);
+
+int nvme_cli_fw_commit(struct nvme_dev *dev,
+ struct nvme_fw_commit_args *args);
#endif /* _NVME_WRAP_H */
struct nvme_fw_download_args args = {
.args_size = sizeof(args),
- .fd = dev_fd(dev),
.offset = cfg.offset,
.data_len = cfg.xfer,
.data = fw_buf,
.timeout = NVME_DEFAULT_IOCTL_TIMEOUT,
.result = NULL,
};
- err = nvme_fw_download(&args);
+ err = nvme_cli_fw_download(dev, &args);
if (err < 0) {
fprintf(stderr, "fw-download: %s\n", nvme_strerror(errno));
break;
struct nvme_fw_commit_args args = {
.args_size = sizeof(args),
- .fd = dev_fd(dev),
.slot = cfg.slot,
.action = cfg.action,
.bpid = cfg.bpid,
.timeout = NVME_DEFAULT_IOCTL_TIMEOUT,
.result = &result,
};
- err = nvme_fw_commit(&args);
+ err = nvme_cli_fw_commit(dev, &args);
if (err < 0)
fprintf(stderr, "fw-commit: %s\n", nvme_strerror(errno));
else if (err != 0)