summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/conf.py2
-rw-r--r--doc/config-schema.json4
-rw-r--r--doc/config-schema.json.in4
-rwxr-xr-xdoc/list-man-pages.sh6
-rwxr-xr-xdoc/list-pre-compiled.sh5
-rw-r--r--doc/man/nvme_admin_opcode.22
-rw-r--r--doc/man/nvme_admin_passthru.22
-rw-r--r--doc/man/nvme_admin_passthru64.271
-rw-r--r--doc/man/nvme_ae_info_css_nvm.22
-rw-r--r--doc/man/nvme_ae_info_error.22
-rw-r--r--doc/man/nvme_ae_info_notice.22
-rw-r--r--doc/man/nvme_ae_info_smart.22
-rw-r--r--doc/man/nvme_ae_type.22
-rw-r--r--doc/man/nvme_aggregate_endurance_group_event.22
-rw-r--r--doc/man/nvme_aggregate_predictable_lat_event.22
-rw-r--r--doc/man/nvme_ana_group_desc.22
-rw-r--r--doc/man/nvme_ana_log.22
-rw-r--r--doc/man/nvme_ana_state.22
-rw-r--r--doc/man/nvme_apst_entry.22
-rw-r--r--doc/man/nvme_boot_partition.22
-rw-r--r--doc/man/nvme_capacity_config_desc.22
-rw-r--r--doc/man/nvme_capacity_mgmt.22
-rw-r--r--doc/man/nvme_change_ns_event.22
-rw-r--r--doc/man/nvme_channel_config_desc.22
-rw-r--r--doc/man/nvme_cmb_size.22
-rw-r--r--doc/man/nvme_cmd_effects.22
-rw-r--r--doc/man/nvme_cmd_effects_log.22
-rw-r--r--doc/man/nvme_cmd_format_mset.22
-rw-r--r--doc/man/nvme_cmd_format_pi.22
-rw-r--r--doc/man/nvme_cmd_format_pil.22
-rw-r--r--doc/man/nvme_cmd_format_ses.22
-rw-r--r--doc/man/nvme_cmd_get_log_lid.22
-rw-r--r--doc/man/nvme_cmd_get_log_telemetry_host_lsp.22
-rw-r--r--doc/man/nvme_compare.22
-rw-r--r--doc/man/nvme_connect_err.22
-rw-r--r--doc/man/nvme_constants.22
-rw-r--r--doc/man/nvme_copy.22
-rw-r--r--doc/man/nvme_copy_range.22
-rw-r--r--doc/man/nvme_copy_range_f1.240
-rw-r--r--doc/man/nvme_create_ctrl.22
-rw-r--r--doc/man/nvme_create_root.22
-rw-r--r--doc/man/nvme_csi.22
-rw-r--r--doc/man/nvme_ctrl_first_ns.22
-rw-r--r--doc/man/nvme_ctrl_first_path.22
-rw-r--r--doc/man/nvme_ctrl_for_each_ns.22
-rw-r--r--doc/man/nvme_ctrl_for_each_ns_safe.22
-rw-r--r--doc/man/nvme_ctrl_for_each_path.22
-rw-r--r--doc/man/nvme_ctrl_for_each_path_safe.22
-rw-r--r--doc/man/nvme_ctrl_get_address.22
-rw-r--r--doc/man/nvme_ctrl_get_config.22
-rw-r--r--doc/man/nvme_ctrl_get_dhchap_host_key.211
-rw-r--r--doc/man/nvme_ctrl_get_dhchap_key.22
-rw-r--r--doc/man/nvme_ctrl_get_fd.22
-rw-r--r--doc/man/nvme_ctrl_get_firmware.22
-rw-r--r--doc/man/nvme_ctrl_get_host_iface.22
-rw-r--r--doc/man/nvme_ctrl_get_host_traddr.22
-rw-r--r--doc/man/nvme_ctrl_get_model.22
-rw-r--r--doc/man/nvme_ctrl_get_name.22
-rw-r--r--doc/man/nvme_ctrl_get_numa_node.22
-rw-r--r--doc/man/nvme_ctrl_get_queue_count.22
-rw-r--r--doc/man/nvme_ctrl_get_serial.22
-rw-r--r--doc/man/nvme_ctrl_get_sqsize.22
-rw-r--r--doc/man/nvme_ctrl_get_state.22
-rw-r--r--doc/man/nvme_ctrl_get_subsysnqn.22
-rw-r--r--doc/man/nvme_ctrl_get_subsystem.22
-rw-r--r--doc/man/nvme_ctrl_get_sysfs_dir.22
-rw-r--r--doc/man/nvme_ctrl_get_traddr.22
-rw-r--r--doc/man/nvme_ctrl_get_transport.22
-rw-r--r--doc/man/nvme_ctrl_get_trsvcid.22
-rw-r--r--doc/man/nvme_ctrl_identify.22
-rw-r--r--doc/man/nvme_ctrl_is_discovered.22
-rw-r--r--doc/man/nvme_ctrl_is_discovery_ctrl.22
-rw-r--r--doc/man/nvme_ctrl_is_persistent.22
-rw-r--r--doc/man/nvme_ctrl_list.22
-rw-r--r--doc/man/nvme_ctrl_metadata_type.22
-rw-r--r--doc/man/nvme_ctrl_next_ns.22
-rw-r--r--doc/man/nvme_ctrl_next_path.22
-rw-r--r--doc/man/nvme_ctrl_reset.22
-rw-r--r--doc/man/nvme_ctrl_set_dhchap_host_key.212
-rw-r--r--doc/man/nvme_ctrl_set_dhchap_key.22
-rw-r--r--doc/man/nvme_ctrl_set_discovered.22
-rw-r--r--doc/man/nvme_ctrl_set_discovery_ctrl.22
-rw-r--r--doc/man/nvme_ctrl_set_persistent.22
-rw-r--r--doc/man/nvme_ctrls_filter.22
-rw-r--r--doc/man/nvme_data_tfr.230
-rw-r--r--doc/man/nvme_default_host.22
-rw-r--r--doc/man/nvme_dev_self_test.22
-rw-r--r--doc/man/nvme_directive_dtype.22
-rw-r--r--doc/man/nvme_directive_receive_doper.22
-rw-r--r--doc/man/nvme_directive_recv.22
-rw-r--r--doc/man/nvme_directive_recv_identify_parameters.22
-rw-r--r--doc/man/nvme_directive_recv_stream_allocate.22
-rw-r--r--doc/man/nvme_directive_recv_stream_parameters.22
-rw-r--r--doc/man/nvme_directive_recv_stream_status.22
-rw-r--r--doc/man/nvme_directive_send.22
-rw-r--r--doc/man/nvme_directive_send_doper.22
-rw-r--r--doc/man/nvme_directive_send_id_endir.22
-rw-r--r--doc/man/nvme_directive_send_identify_endir.22
-rw-r--r--doc/man/nvme_directive_send_stream_release_identifier.22
-rw-r--r--doc/man/nvme_directive_send_stream_release_resource.22
-rw-r--r--doc/man/nvme_directive_types.22
-rw-r--r--doc/man/nvme_disconnect_ctrl.22
-rw-r--r--doc/man/nvme_dsm.22
-rw-r--r--doc/man/nvme_dsm_attributes.22
-rw-r--r--doc/man/nvme_dsm_range.22
-rw-r--r--doc/man/nvme_dst_stc.22
-rw-r--r--doc/man/nvme_dump_config.22
-rw-r--r--doc/man/nvme_dump_tree.22
-rw-r--r--doc/man/nvme_eg_critical_warning_flags.22
-rw-r--r--doc/man/nvme_eg_event_aggregate_log.22
-rw-r--r--doc/man/nvme_end_grp_chan_desc.22
-rw-r--r--doc/man/nvme_end_grp_config_desc.22
-rw-r--r--doc/man/nvme_endurance_group_log.22
-rw-r--r--doc/man/nvme_errno_to_string.22
-rw-r--r--doc/man/nvme_error_log_page.22
-rw-r--r--doc/man/nvme_fabrics_config.22
-rw-r--r--doc/man/nvme_fctype.22
-rw-r--r--doc/man/nvme_feat.22
-rw-r--r--doc/man/nvme_feat_auto_pst.22
-rw-r--r--doc/man/nvme_feat_host_behavior.22
-rw-r--r--doc/man/nvme_feat_nswpcfg_state.22
-rw-r--r--doc/man/nvme_feat_plm_window_select.22
-rw-r--r--doc/man/nvme_feat_resv_notify_flags.22
-rw-r--r--doc/man/nvme_feat_tmpthresh_thsel.22
-rw-r--r--doc/man/nvme_features_async_event_config_flags.22
-rw-r--r--doc/man/nvme_features_id.22
-rw-r--r--doc/man/nvme_fid_supported_effects.22
-rw-r--r--doc/man/nvme_fid_supported_effects_log.22
-rw-r--r--doc/man/nvme_firmware_slot.22
-rw-r--r--doc/man/nvme_first_host.22
-rw-r--r--doc/man/nvme_first_subsystem.22
-rw-r--r--doc/man/nvme_flush.22
-rw-r--r--doc/man/nvme_for_each_host.22
-rw-r--r--doc/man/nvme_for_each_host_safe.22
-rw-r--r--doc/man/nvme_for_each_subsystem.22
-rw-r--r--doc/man/nvme_for_each_subsystem_safe.22
-rw-r--r--doc/man/nvme_format_nvm.22
-rw-r--r--doc/man/nvme_format_nvm_compln_event.22
-rw-r--r--doc/man/nvme_format_nvm_start_event.22
-rw-r--r--doc/man/nvme_free_ctrl.22
-rw-r--r--doc/man/nvme_free_host.22
-rw-r--r--doc/man/nvme_free_ns.22
-rw-r--r--doc/man/nvme_free_subsystem.22
-rw-r--r--doc/man/nvme_free_tree.22
-rw-r--r--doc/man/nvme_fw_commit.22
-rw-r--r--doc/man/nvme_fw_commit_ca.22
-rw-r--r--doc/man/nvme_fw_commit_event.22
-rw-r--r--doc/man/nvme_fw_download.22
-rw-r--r--doc/man/nvme_fw_download_seq.22
-rw-r--r--doc/man/nvme_gen_dhchap_key.22
-rw-r--r--doc/man/nvme_get_ana_log_len.22
-rw-r--r--doc/man/nvme_get_attr.22
-rw-r--r--doc/man/nvme_get_ctrl_attr.22
-rw-r--r--doc/man/nvme_get_ctrl_telemetry.22
-rw-r--r--doc/man/nvme_get_directive_receive_length.22
-rw-r--r--doc/man/nvme_get_discovery_args.235
-rw-r--r--doc/man/nvme_get_feature_length.22
-rw-r--r--doc/man/nvme_get_feature_length2.224
-rw-r--r--doc/man/nvme_get_features.22
-rw-r--r--doc/man/nvme_get_features_arbitration.22
-rw-r--r--doc/man/nvme_get_features_async_event.22
-rw-r--r--doc/man/nvme_get_features_auto_pst.22
-rw-r--r--doc/man/nvme_get_features_data.22
-rw-r--r--doc/man/nvme_get_features_endurance_event_cfg.22
-rw-r--r--doc/man/nvme_get_features_err_recovery.22
-rw-r--r--doc/man/nvme_get_features_hctm.22
-rw-r--r--doc/man/nvme_get_features_host_behavior.22
-rw-r--r--doc/man/nvme_get_features_host_id.22
-rw-r--r--doc/man/nvme_get_features_host_mem_buf.22
-rw-r--r--doc/man/nvme_get_features_iocs_profile.22
-rw-r--r--doc/man/nvme_get_features_irq_coalesce.22
-rw-r--r--doc/man/nvme_get_features_irq_config.22
-rw-r--r--doc/man/nvme_get_features_kato.22
-rw-r--r--doc/man/nvme_get_features_lba_range.22
-rw-r--r--doc/man/nvme_get_features_lba_sts_interval.22
-rw-r--r--doc/man/nvme_get_features_nopsc.22
-rw-r--r--doc/man/nvme_get_features_num_queues.22
-rw-r--r--doc/man/nvme_get_features_plm_config.22
-rw-r--r--doc/man/nvme_get_features_plm_window.22
-rw-r--r--doc/man/nvme_get_features_power_mgmt.22
-rw-r--r--doc/man/nvme_get_features_resv_mask.22
-rw-r--r--doc/man/nvme_get_features_resv_persist.22
-rw-r--r--doc/man/nvme_get_features_rrl.22
-rw-r--r--doc/man/nvme_get_features_sanitize.22
-rw-r--r--doc/man/nvme_get_features_sel.22
-rw-r--r--doc/man/nvme_get_features_simple.22
-rw-r--r--doc/man/nvme_get_features_sw_progress.22
-rw-r--r--doc/man/nvme_get_features_temp_thresh.22
-rw-r--r--doc/man/nvme_get_features_timestamp.22
-rw-r--r--doc/man/nvme_get_features_volatile_wc.22
-rw-r--r--doc/man/nvme_get_features_write_atomic.22
-rw-r--r--doc/man/nvme_get_features_write_protect.22
-rw-r--r--doc/man/nvme_get_host_telemetry.22
-rw-r--r--doc/man/nvme_get_lba_status.22
-rw-r--r--doc/man/nvme_get_lba_status_log.22
-rw-r--r--doc/man/nvme_get_log.22
-rw-r--r--doc/man/nvme_get_log_ana.22
-rw-r--r--doc/man/nvme_get_log_ana_groups.22
-rw-r--r--doc/man/nvme_get_log_boot_partition.22
-rw-r--r--doc/man/nvme_get_log_changed_ns_list.22
-rw-r--r--doc/man/nvme_get_log_cmd_effects.22
-rw-r--r--doc/man/nvme_get_log_create_telemetry_host.22
-rw-r--r--doc/man/nvme_get_log_device_self_test.22
-rw-r--r--doc/man/nvme_get_log_discovery.22
-rw-r--r--doc/man/nvme_get_log_endurance_group.22
-rw-r--r--doc/man/nvme_get_log_endurance_grp_evt.22
-rw-r--r--doc/man/nvme_get_log_error.22
-rw-r--r--doc/man/nvme_get_log_fid_supported_effects.22
-rw-r--r--doc/man/nvme_get_log_fw_slot.22
-rw-r--r--doc/man/nvme_get_log_lba_status.22
-rw-r--r--doc/man/nvme_get_log_media_unit_stat.22
-rw-r--r--doc/man/nvme_get_log_mi_cmd_supported_effects.22
-rw-r--r--doc/man/nvme_get_log_page.22
-rw-r--r--doc/man/nvme_get_log_persistent_event.22
-rw-r--r--doc/man/nvme_get_log_predictable_lat_event.22
-rw-r--r--doc/man/nvme_get_log_predictable_lat_nvmset.22
-rw-r--r--doc/man/nvme_get_log_reservation.22
-rw-r--r--doc/man/nvme_get_log_sanitize.22
-rw-r--r--doc/man/nvme_get_log_smart.22
-rw-r--r--doc/man/nvme_get_log_support_cap_config_list.22
-rw-r--r--doc/man/nvme_get_log_supported_log_pages.22
-rw-r--r--doc/man/nvme_get_log_telemetry_ctrl.22
-rw-r--r--doc/man/nvme_get_log_telemetry_host.22
-rw-r--r--doc/man/nvme_get_log_zns_changed_zones.22
-rw-r--r--doc/man/nvme_get_logical_block_size.22
-rw-r--r--doc/man/nvme_get_new_host_telemetry.22
-rw-r--r--doc/man/nvme_get_ns_attr.22
-rw-r--r--doc/man/nvme_get_nsid.22
-rw-r--r--doc/man/nvme_get_path_attr.22
-rw-r--r--doc/man/nvme_get_property.22
-rw-r--r--doc/man/nvme_get_subsys_attr.22
-rw-r--r--doc/man/nvme_hmac_alg.22
-rw-r--r--doc/man/nvme_host_behavior_support.22
-rw-r--r--doc/man/nvme_host_get_dhchap_key.22
-rw-r--r--doc/man/nvme_host_get_hostid.22
-rw-r--r--doc/man/nvme_host_get_hostnqn.22
-rw-r--r--doc/man/nvme_host_get_hostsymname.22
-rw-r--r--doc/man/nvme_host_get_root.22
-rw-r--r--doc/man/nvme_host_mem_buf_attrs.22
-rw-r--r--doc/man/nvme_host_metadata.22
-rw-r--r--doc/man/nvme_host_set_dhchap_key.22
-rw-r--r--doc/man/nvme_host_set_hostsymname.22
-rw-r--r--doc/man/nvme_id_ctrl.22
-rw-r--r--doc/man/nvme_id_ctrl_anacap.22
-rw-r--r--doc/man/nvme_id_ctrl_apsta.22
-rw-r--r--doc/man/nvme_id_ctrl_avscc.22
-rw-r--r--doc/man/nvme_id_ctrl_cmic.22
-rw-r--r--doc/man/nvme_id_ctrl_cntrltype.22
-rw-r--r--doc/man/nvme_id_ctrl_cqes.22
-rw-r--r--doc/man/nvme_id_ctrl_ctratt.22
-rw-r--r--doc/man/nvme_id_ctrl_dctype.22
-rw-r--r--doc/man/nvme_id_ctrl_dsto.22
-rw-r--r--doc/man/nvme_id_ctrl_fcatt.22
-rw-r--r--doc/man/nvme_id_ctrl_fna.22
-rw-r--r--doc/man/nvme_id_ctrl_frmw.22
-rw-r--r--doc/man/nvme_id_ctrl_fuses.22
-rw-r--r--doc/man/nvme_id_ctrl_hctm.22
-rw-r--r--doc/man/nvme_id_ctrl_lpa.22
-rw-r--r--doc/man/nvme_id_ctrl_mec.22
-rw-r--r--doc/man/nvme_id_ctrl_nvm.22
-rw-r--r--doc/man/nvme_id_ctrl_nvmsr.22
-rw-r--r--doc/man/nvme_id_ctrl_nvscc.22
-rw-r--r--doc/man/nvme_id_ctrl_nwpc.22
-rw-r--r--doc/man/nvme_id_ctrl_oacs.22
-rw-r--r--doc/man/nvme_id_ctrl_oaes.22
-rw-r--r--doc/man/nvme_id_ctrl_ofcs.22
-rw-r--r--doc/man/nvme_id_ctrl_oncs.22
-rw-r--r--doc/man/nvme_id_ctrl_rpmbs.22
-rw-r--r--doc/man/nvme_id_ctrl_sanicap.22
-rw-r--r--doc/man/nvme_id_ctrl_sgls.22
-rw-r--r--doc/man/nvme_id_ctrl_sqes.22
-rw-r--r--doc/man/nvme_id_ctrl_vwc.22
-rw-r--r--doc/man/nvme_id_ctrl_vwci.22
-rw-r--r--doc/man/nvme_id_directives.22
-rw-r--r--doc/man/nvme_id_domain_attr.22
-rw-r--r--doc/man/nvme_id_domain_list.22
-rw-r--r--doc/man/nvme_id_endurance_group_list.22
-rw-r--r--doc/man/nvme_id_independent_id_ns.22
-rw-r--r--doc/man/nvme_id_iocs.22
-rw-r--r--doc/man/nvme_id_ns.22
-rw-r--r--doc/man/nvme_id_ns_attr.22
-rw-r--r--doc/man/nvme_id_ns_dlfeat.22
-rw-r--r--doc/man/nvme_id_ns_dpc.22
-rw-r--r--doc/man/nvme_id_ns_dps.22
-rw-r--r--doc/man/nvme_id_ns_flbas.22
-rw-r--r--doc/man/nvme_id_ns_granularity_desc.22
-rw-r--r--doc/man/nvme_id_ns_granularity_list.22
-rw-r--r--doc/man/nvme_id_ns_mc.22
-rw-r--r--doc/man/nvme_id_ns_nmic.22
-rw-r--r--doc/man/nvme_id_ns_rescap.22
-rw-r--r--doc/man/nvme_id_nsfeat.22
-rw-r--r--doc/man/nvme_id_nvmset_list.22
-rw-r--r--doc/man/nvme_id_psd.22
-rw-r--r--doc/man/nvme_id_uuid.22
-rw-r--r--doc/man/nvme_id_uuid_list.22
-rw-r--r--doc/man/nvme_id_uuid_list_entry.22
-rw-r--r--doc/man/nvme_identify.22
-rw-r--r--doc/man/nvme_identify_active_ns_list.22
-rw-r--r--doc/man/nvme_identify_active_ns_list_csi.22
-rw-r--r--doc/man/nvme_identify_allocated_ns.22
-rw-r--r--doc/man/nvme_identify_allocated_ns_list.22
-rw-r--r--doc/man/nvme_identify_allocated_ns_list_csi.22
-rw-r--r--doc/man/nvme_identify_cns.22
-rw-r--r--doc/man/nvme_identify_ctrl.22
-rw-r--r--doc/man/nvme_identify_ctrl_csi.22
-rw-r--r--doc/man/nvme_identify_ctrl_list.22
-rw-r--r--doc/man/nvme_identify_domain_list.22
-rw-r--r--doc/man/nvme_identify_endurance_group_list.22
-rw-r--r--doc/man/nvme_identify_independent_identify_ns.22
-rw-r--r--doc/man/nvme_identify_iocs.22
-rw-r--r--doc/man/nvme_identify_iocs_ns_csi_user_data_format.22
-rw-r--r--doc/man/nvme_identify_ns.22
-rw-r--r--doc/man/nvme_identify_ns_csi.22
-rw-r--r--doc/man/nvme_identify_ns_csi_user_data_format.22
-rw-r--r--doc/man/nvme_identify_ns_descs.22
-rw-r--r--doc/man/nvme_identify_ns_granularity.22
-rw-r--r--doc/man/nvme_identify_nsid_ctrl_list.22
-rw-r--r--doc/man/nvme_identify_nvmset_list.22
-rw-r--r--doc/man/nvme_identify_primary_ctrl.22
-rw-r--r--doc/man/nvme_identify_secondary_ctrl_list.22
-rw-r--r--doc/man/nvme_identify_uuid.22
-rw-r--r--doc/man/nvme_init_copy_range.22
-rw-r--r--doc/man/nvme_init_copy_range_f1.227
-rw-r--r--doc/man/nvme_init_ctrl.22
-rw-r--r--doc/man/nvme_init_ctrl_list.22
-rw-r--r--doc/man/nvme_init_dsm_range.22
-rw-r--r--doc/man/nvme_init_logging.22
-rw-r--r--doc/man/nvme_io.22
-rw-r--r--doc/man/nvme_io_control_flags.22
-rw-r--r--doc/man/nvme_io_dsm_flags.22
-rw-r--r--doc/man/nvme_io_opcode.22
-rw-r--r--doc/man/nvme_io_passthru.22
-rw-r--r--doc/man/nvme_io_passthru64.271
-rw-r--r--doc/man/nvme_is_64bit_reg.216
-rw-r--r--doc/man/nvme_lba_range_type.22
-rw-r--r--doc/man/nvme_lba_range_type_entry.22
-rw-r--r--doc/man/nvme_lba_rd.22
-rw-r--r--doc/man/nvme_lba_status.22
-rw-r--r--doc/man/nvme_lba_status_atype.22
-rw-r--r--doc/man/nvme_lba_status_desc.22
-rw-r--r--doc/man/nvme_lba_status_log.22
-rw-r--r--doc/man/nvme_lbaf.22
-rw-r--r--doc/man/nvme_lbaf_rp.22
-rw-r--r--doc/man/nvme_lbart.22
-rw-r--r--doc/man/nvme_lbas_ns_element.22
-rw-r--r--doc/man/nvme_lockdown.22
-rw-r--r--doc/man/nvme_log_ana_lsp.22
-rw-r--r--doc/man/nvme_lookup_ctrl.22
-rw-r--r--doc/man/nvme_lookup_host.22
-rw-r--r--doc/man/nvme_lookup_subsystem.22
-rw-r--r--doc/man/nvme_media_unit_config_desc.22
-rw-r--r--doc/man/nvme_media_unit_stat_desc.22
-rw-r--r--doc/man/nvme_media_unit_stat_log.22
-rw-r--r--doc/man/nvme_metadata_element_desc.22
-rw-r--r--doc/man/nvme_mi_admin_format_nvm.218
-rw-r--r--doc/man/nvme_mi_admin_fw_commit.216
-rw-r--r--doc/man/nvme_mi_admin_fw_download.227
-rw-r--r--doc/man/nvme_mi_admin_get_features_data.230
-rw-r--r--doc/man/nvme_mi_admin_get_log.25
-rw-r--r--doc/man/nvme_mi_admin_get_log_ana.233
-rw-r--r--doc/man/nvme_mi_admin_get_log_ana_groups.223
-rw-r--r--doc/man/nvme_mi_admin_get_log_boot_partition.225
-rw-r--r--doc/man/nvme_mi_admin_get_log_changed_ns_list.222
-rw-r--r--doc/man/nvme_mi_admin_get_log_cmd_effects.221
-rw-r--r--doc/man/nvme_mi_admin_get_log_create_telemetry_host.215
-rw-r--r--doc/man/nvme_mi_admin_get_log_device_self_test.219
-rw-r--r--doc/man/nvme_mi_admin_get_log_discovery.227
-rw-r--r--doc/man/nvme_mi_admin_get_log_endurance_group.225
-rw-r--r--doc/man/nvme_mi_admin_get_log_endurance_grp_evt.224
-rw-r--r--doc/man/nvme_mi_admin_get_log_error.225
-rw-r--r--doc/man/nvme_mi_admin_get_log_fid_supported_effects.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_fw_slot.222
-rw-r--r--doc/man/nvme_mi_admin_get_log_lba_status.224
-rw-r--r--doc/man/nvme_mi_admin_get_log_media_unit_stat.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_persistent_event.221
-rw-r--r--doc/man/nvme_mi_admin_get_log_predictable_lat_event.224
-rw-r--r--doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_reservation.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_sanitize.221
-rw-r--r--doc/man/nvme_mi_admin_get_log_simple.224
-rw-r--r--doc/man/nvme_mi_admin_get_log_smart.228
-rw-r--r--doc/man/nvme_mi_admin_get_log_support_cap_config_list.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_supported_log_pages.218
-rw-r--r--doc/man/nvme_mi_admin_get_log_telemetry_ctrl.227
-rw-r--r--doc/man/nvme_mi_admin_get_log_telemetry_host.224
-rw-r--r--doc/man/nvme_mi_admin_get_log_zns_changed_zones.223
-rw-r--r--doc/man/nvme_mi_admin_get_nsid_log.232
-rw-r--r--doc/man/nvme_mi_admin_identify.25
-rw-r--r--doc/man/nvme_mi_admin_identify_active_ns_list.228
-rw-r--r--doc/man/nvme_mi_admin_identify_allocated_ns.221
-rw-r--r--doc/man/nvme_mi_admin_identify_allocated_ns_list.228
-rw-r--r--doc/man/nvme_mi_admin_identify_cns_nsid.25
-rw-r--r--doc/man/nvme_mi_admin_identify_ctrl.25
-rw-r--r--doc/man/nvme_mi_admin_identify_ctrl_list.25
-rw-r--r--doc/man/nvme_mi_admin_identify_ns.221
-rw-r--r--doc/man/nvme_mi_admin_identify_ns_descs.221
-rw-r--r--doc/man/nvme_mi_admin_identify_nsid_ctrl_list.230
-rw-r--r--doc/man/nvme_mi_admin_identify_partial.25
-rw-r--r--doc/man/nvme_mi_admin_identify_primary_ctrl.226
-rw-r--r--doc/man/nvme_mi_admin_identify_secondary_ctrl_list.230
-rw-r--r--doc/man/nvme_mi_admin_ns_attach.215
-rw-r--r--doc/man/nvme_mi_admin_ns_attach_ctrls.218
-rw-r--r--doc/man/nvme_mi_admin_ns_detach_ctrls.218
-rw-r--r--doc/man/nvme_mi_admin_req_hdr.22
-rw-r--r--doc/man/nvme_mi_admin_resp_hdr.22
-rw-r--r--doc/man/nvme_mi_admin_sanitize_nvm.225
-rw-r--r--doc/man/nvme_mi_admin_security_recv.25
-rw-r--r--doc/man/nvme_mi_admin_security_send.25
-rw-r--r--doc/man/nvme_mi_admin_xfer.25
-rw-r--r--doc/man/nvme_mi_ccs.22
-rw-r--r--doc/man/nvme_mi_close.22
-rw-r--r--doc/man/nvme_mi_close_ctrl.22
-rw-r--r--doc/man/nvme_mi_cmd_supported_effects.22
-rw-r--r--doc/man/nvme_mi_cmd_supported_effects_log.22
-rw-r--r--doc/man/nvme_mi_config_id.22
-rw-r--r--doc/man/nvme_mi_config_smbus_freq.22
-rw-r--r--doc/man/nvme_mi_create_root.22
-rw-r--r--doc/man/nvme_mi_csts.22
-rw-r--r--doc/man/nvme_mi_ctrl_health_status.22
-rw-r--r--doc/man/nvme_mi_cwarn.22
-rw-r--r--doc/man/nvme_mi_dtyp.22
-rw-r--r--doc/man/nvme_mi_elem.22
-rw-r--r--doc/man/nvme_mi_free_root.22
-rw-r--r--doc/man/nvme_mi_init_ctrl.22
-rw-r--r--doc/man/nvme_mi_message_type.22
-rw-r--r--doc/man/nvme_mi_mi_opcode.22
-rw-r--r--doc/man/nvme_mi_mi_read_mi_data_ctrl.25
-rw-r--r--doc/man/nvme_mi_mi_read_mi_data_ctrl_list.25
-rw-r--r--doc/man/nvme_mi_mi_read_mi_data_port.25
-rw-r--r--doc/man/nvme_mi_mi_read_mi_data_subsys.25
-rw-r--r--doc/man/nvme_mi_mi_req_hdr.22
-rw-r--r--doc/man/nvme_mi_mi_resp_hdr.22
-rw-r--r--doc/man/nvme_mi_mi_subsystem_health_status_poll.25
-rw-r--r--doc/man/nvme_mi_msg_hdr.22
-rw-r--r--doc/man/nvme_mi_msg_resp.22
-rw-r--r--doc/man/nvme_mi_nvm_ss_health_status.22
-rw-r--r--doc/man/nvme_mi_open_mctp.22
-rw-r--r--doc/man/nvme_mi_osc.22
-rw-r--r--doc/man/nvme_mi_port_pcie.22
-rw-r--r--doc/man/nvme_mi_port_smb.22
-rw-r--r--doc/man/nvme_mi_read_ctrl_info.22
-rw-r--r--doc/man/nvme_mi_read_nvm_ss_info.22
-rw-r--r--doc/man/nvme_mi_read_port_info.22
-rw-r--r--doc/man/nvme_mi_read_sc_list.22
-rw-r--r--doc/man/nvme_mi_resp_status.22
-rw-r--r--doc/man/nvme_mi_status_to_string.217
-rw-r--r--doc/man/nvme_mi_vpd_hdr.22
-rw-r--r--doc/man/nvme_mi_vpd_mr_common.22
-rw-r--r--doc/man/nvme_mi_vpd_mra.22
-rw-r--r--doc/man/nvme_mi_vpd_ppmra.22
-rw-r--r--doc/man/nvme_mi_vpd_telem.22
-rw-r--r--doc/man/nvme_mi_vpd_tra.22
-rw-r--r--doc/man/nvme_namespace_attach_ctrls.22
-rw-r--r--doc/man/nvme_namespace_detach_ctrls.22
-rw-r--r--doc/man/nvme_namespace_filter.22
-rw-r--r--doc/man/nvme_namespace_first_path.22
-rw-r--r--doc/man/nvme_namespace_for_each_path.22
-rw-r--r--doc/man/nvme_namespace_for_each_path_safe.22
-rw-r--r--doc/man/nvme_namespace_next_path.22
-rw-r--r--doc/man/nvme_nd_ns_fpi.22
-rw-r--r--doc/man/nvme_next_host.22
-rw-r--r--doc/man/nvme_next_subsystem.22
-rw-r--r--doc/man/nvme_ns_attach.22
-rw-r--r--doc/man/nvme_ns_attach_ctrls.22
-rw-r--r--doc/man/nvme_ns_attach_sel.22
-rw-r--r--doc/man/nvme_ns_compare.22
-rw-r--r--doc/man/nvme_ns_detach_ctrls.22
-rw-r--r--doc/man/nvme_ns_flush.22
-rw-r--r--doc/man/nvme_ns_get_csi.22
-rw-r--r--doc/man/nvme_ns_get_ctrl.22
-rw-r--r--doc/man/nvme_ns_get_eui64.211
-rw-r--r--doc/man/nvme_ns_get_fd.22
-rw-r--r--doc/man/nvme_ns_get_firmware.22
-rw-r--r--doc/man/nvme_ns_get_generic_name.22
-rw-r--r--doc/man/nvme_ns_get_lba_count.22
-rw-r--r--doc/man/nvme_ns_get_lba_size.22
-rw-r--r--doc/man/nvme_ns_get_lba_util.22
-rw-r--r--doc/man/nvme_ns_get_meta_size.22
-rw-r--r--doc/man/nvme_ns_get_model.22
-rw-r--r--doc/man/nvme_ns_get_name.22
-rw-r--r--doc/man/nvme_ns_get_nguid.22
-rw-r--r--doc/man/nvme_ns_get_nsid.22
-rw-r--r--doc/man/nvme_ns_get_serial.22
-rw-r--r--doc/man/nvme_ns_get_subsystem.22
-rw-r--r--doc/man/nvme_ns_get_sysfs_dir.22
-rw-r--r--doc/man/nvme_ns_get_uuid.24
-rw-r--r--doc/man/nvme_ns_id_desc.22
-rw-r--r--doc/man/nvme_ns_id_desc_nidt.22
-rw-r--r--doc/man/nvme_ns_identify.22
-rw-r--r--doc/man/nvme_ns_identify_descs.22
-rw-r--r--doc/man/nvme_ns_list.22
-rw-r--r--doc/man/nvme_ns_metadata_type.22
-rw-r--r--doc/man/nvme_ns_mgmt.22
-rw-r--r--doc/man/nvme_ns_mgmt_create.22
-rw-r--r--doc/man/nvme_ns_mgmt_delete.22
-rw-r--r--doc/man/nvme_ns_mgmt_sel.22
-rw-r--r--doc/man/nvme_ns_read.22
-rw-r--r--doc/man/nvme_ns_rescan.22
-rw-r--r--doc/man/nvme_ns_verify.22
-rw-r--r--doc/man/nvme_ns_write.22
-rw-r--r--doc/man/nvme_ns_write_protect_cfg.22
-rw-r--r--doc/man/nvme_ns_write_uncorrectable.22
-rw-r--r--doc/man/nvme_ns_write_zeros.22
-rw-r--r--doc/man/nvme_nss_hw_err_event.22
-rw-r--r--doc/man/nvme_nvm_id_ns.22
-rw-r--r--doc/man/nvme_nvm_id_ns_elbaf.22
-rw-r--r--doc/man/nvme_nvm_identify_ctrl.22
-rw-r--r--doc/man/nvme_nvmeset_pl_status.22
-rw-r--r--doc/man/nvme_nvmset_attr.22
-rw-r--r--doc/man/nvme_nvmset_pl_events.22
-rw-r--r--doc/man/nvme_nvmset_predictable_lat_log.22
-rw-r--r--doc/man/nvme_open.22
-rw-r--r--doc/man/nvme_passthru_cmd.22
-rw-r--r--doc/man/nvme_passthru_cmd64.287
-rw-r--r--doc/man/nvme_path_get_ana_state.22
-rw-r--r--doc/man/nvme_path_get_ctrl.22
-rw-r--r--doc/man/nvme_path_get_name.22
-rw-r--r--doc/man/nvme_path_get_ns.22
-rw-r--r--doc/man/nvme_path_get_sysfs_dir.22
-rw-r--r--doc/man/nvme_paths_filter.22
-rw-r--r--doc/man/nvme_persistent_event_entry.22
-rw-r--r--doc/man/nvme_persistent_event_log.22
-rw-r--r--doc/man/nvme_persistent_event_types.22
-rw-r--r--doc/man/nvme_pevent_log_action.22
-rw-r--r--doc/man/nvme_plm_config.22
-rw-r--r--doc/man/nvme_pmr_size.22
-rw-r--r--doc/man/nvme_pmr_throughput.22
-rw-r--r--doc/man/nvme_power_on_reset_info_list.22
-rw-r--r--doc/man/nvme_primary_ctrl_cap.22
-rw-r--r--doc/man/nvme_psd_flags.22
-rw-r--r--doc/man/nvme_psd_power_scale.22
-rw-r--r--doc/man/nvme_psd_ps.22
-rw-r--r--doc/man/nvme_psd_workload.22
-rw-r--r--doc/man/nvme_read.22
-rw-r--r--doc/man/nvme_read_config.22
-rw-r--r--doc/man/nvme_refresh_topology.22
-rw-r--r--doc/man/nvme_register_offsets.22
-rw-r--r--doc/man/nvme_registered_ctrl.22
-rw-r--r--doc/man/nvme_registered_ctrl_ext.22
-rw-r--r--doc/man/nvme_rescan_ctrl.22
-rw-r--r--doc/man/nvme_resv_acquire.22
-rw-r--r--doc/man/nvme_resv_cptpl.22
-rw-r--r--doc/man/nvme_resv_notification_log.22
-rw-r--r--doc/man/nvme_resv_notify_rnlpt.22
-rw-r--r--doc/man/nvme_resv_racqa.22
-rw-r--r--doc/man/nvme_resv_register.22
-rw-r--r--doc/man/nvme_resv_release.22
-rw-r--r--doc/man/nvme_resv_report.22
-rw-r--r--doc/man/nvme_resv_rrega.22
-rw-r--r--doc/man/nvme_resv_rrela.22
-rw-r--r--doc/man/nvme_resv_rtype.22
-rw-r--r--doc/man/nvme_resv_status.22
-rw-r--r--doc/man/nvme_sanitize_compln_event.22
-rw-r--r--doc/man/nvme_sanitize_log_page.22
-rw-r--r--doc/man/nvme_sanitize_nvm.22
-rw-r--r--doc/man/nvme_sanitize_sanact.22
-rw-r--r--doc/man/nvme_sanitize_sstat.22
-rw-r--r--doc/man/nvme_sanitize_start_event.22
-rw-r--r--doc/man/nvme_scan.22
-rw-r--r--doc/man/nvme_scan_ctrl.22
-rw-r--r--doc/man/nvme_scan_ctrl_namespace_paths.22
-rw-r--r--doc/man/nvme_scan_ctrl_namespaces.22
-rw-r--r--doc/man/nvme_scan_ctrls.22
-rw-r--r--doc/man/nvme_scan_namespace.22
-rw-r--r--doc/man/nvme_scan_subsystem_namespaces.22
-rw-r--r--doc/man/nvme_scan_subsystems.22
-rw-r--r--doc/man/nvme_scan_topology.22
-rw-r--r--doc/man/nvme_secondary_ctrl.22
-rw-r--r--doc/man/nvme_secondary_ctrl_list.22
-rw-r--r--doc/man/nvme_security_receive.22
-rw-r--r--doc/man/nvme_security_send.22
-rw-r--r--doc/man/nvme_self_test_log.22
-rw-r--r--doc/man/nvme_set_feature_event.22
-rw-r--r--doc/man/nvme_set_features.22
-rw-r--r--doc/man/nvme_set_features_arbitration.22
-rw-r--r--doc/man/nvme_set_features_async_event.22
-rw-r--r--doc/man/nvme_set_features_auto_pst.22
-rw-r--r--doc/man/nvme_set_features_data.22
-rw-r--r--doc/man/nvme_set_features_endurance_evt_cfg.22
-rw-r--r--doc/man/nvme_set_features_err_recovery.22
-rw-r--r--doc/man/nvme_set_features_hctm.22
-rw-r--r--doc/man/nvme_set_features_host_behavior.22
-rw-r--r--doc/man/nvme_set_features_host_id.22
-rw-r--r--doc/man/nvme_set_features_irq_coalesce.22
-rw-r--r--doc/man/nvme_set_features_irq_config.22
-rw-r--r--doc/man/nvme_set_features_lba_range.22
-rw-r--r--doc/man/nvme_set_features_lba_sts_interval.22
-rw-r--r--doc/man/nvme_set_features_nopsc.22
-rw-r--r--doc/man/nvme_set_features_plm_config.22
-rw-r--r--doc/man/nvme_set_features_plm_window.22
-rw-r--r--doc/man/nvme_set_features_power_mgmt.22
-rw-r--r--doc/man/nvme_set_features_resv_mask.22
-rw-r--r--doc/man/nvme_set_features_resv_persist.22
-rw-r--r--doc/man/nvme_set_features_rrl.22
-rw-r--r--doc/man/nvme_set_features_sanitize.22
-rw-r--r--doc/man/nvme_set_features_simple.22
-rw-r--r--doc/man/nvme_set_features_sw_progress.22
-rw-r--r--doc/man/nvme_set_features_temp_thresh.22
-rw-r--r--doc/man/nvme_set_features_timestamp.22
-rw-r--r--doc/man/nvme_set_features_volatile_wc.22
-rw-r--r--doc/man/nvme_set_features_write_atomic.22
-rw-r--r--doc/man/nvme_set_features_write_protect.22
-rw-r--r--doc/man/nvme_set_property.22
-rw-r--r--doc/man/nvme_smart_crit.22
-rw-r--r--doc/man/nvme_smart_egcw.22
-rw-r--r--doc/man/nvme_smart_log.22
-rw-r--r--doc/man/nvme_st_code.22
-rw-r--r--doc/man/nvme_st_curr_op.22
-rw-r--r--doc/man/nvme_st_result.22
-rw-r--r--doc/man/nvme_st_valid_diag_info.22
-rw-r--r--doc/man/nvme_status_code.22
-rw-r--r--doc/man/nvme_status_code_type.22
-rw-r--r--doc/man/nvme_status_equals.217
-rw-r--r--doc/man/nvme_status_field.22
-rw-r--r--doc/man/nvme_status_get_type.211
-rw-r--r--doc/man/nvme_status_get_value.212
-rw-r--r--doc/man/nvme_status_result.22
-rw-r--r--doc/man/nvme_status_to_errno.22
-rw-r--r--doc/man/nvme_status_to_string.22
-rw-r--r--doc/man/nvme_status_type.240
-rw-r--r--doc/man/nvme_streams_directive_params.22
-rw-r--r--doc/man/nvme_streams_directive_status.22
-rw-r--r--doc/man/nvme_submit_admin_passthru.22
-rw-r--r--doc/man/nvme_submit_admin_passthru64.220
-rw-r--r--doc/man/nvme_submit_io_passthru.22
-rw-r--r--doc/man/nvme_submit_io_passthru64.220
-rw-r--r--doc/man/nvme_subsys_filter.22
-rw-r--r--doc/man/nvme_subsys_type.22
-rw-r--r--doc/man/nvme_subsystem_first_ctrl.22
-rw-r--r--doc/man/nvme_subsystem_first_ns.22
-rw-r--r--doc/man/nvme_subsystem_for_each_ctrl.22
-rw-r--r--doc/man/nvme_subsystem_for_each_ctrl_safe.22
-rw-r--r--doc/man/nvme_subsystem_for_each_ns.22
-rw-r--r--doc/man/nvme_subsystem_for_each_ns_safe.22
-rw-r--r--doc/man/nvme_subsystem_get_host.22
-rw-r--r--doc/man/nvme_subsystem_get_name.22
-rw-r--r--doc/man/nvme_subsystem_get_nqn.22
-rw-r--r--doc/man/nvme_subsystem_get_sysfs_dir.22
-rw-r--r--doc/man/nvme_subsystem_get_type.22
-rw-r--r--doc/man/nvme_subsystem_lookup_namespace.22
-rw-r--r--doc/man/nvme_subsystem_next_ctrl.22
-rw-r--r--doc/man/nvme_subsystem_next_ns.22
-rw-r--r--doc/man/nvme_subsystem_reset.22
-rw-r--r--doc/man/nvme_supported_cap_config_list_log.22
-rw-r--r--doc/man/nvme_supported_log_pages.22
-rw-r--r--doc/man/nvme_telemetry_da.22
-rw-r--r--doc/man/nvme_telemetry_log.22
-rw-r--r--doc/man/nvme_thermal_exc_event.22
-rw-r--r--doc/man/nvme_time_stamp_change_event.22
-rw-r--r--doc/man/nvme_timestamp.22
-rw-r--r--doc/man/nvme_unlink_ctrl.22
-rw-r--r--doc/man/nvme_update_config.22
-rw-r--r--doc/man/nvme_uring_cmd.22
-rw-r--r--doc/man/nvme_verify.22
-rw-r--r--doc/man/nvme_version.22
-rw-r--r--doc/man/nvme_virt_mgmt_act.22
-rw-r--r--doc/man/nvme_virt_mgmt_rt.22
-rw-r--r--doc/man/nvme_virtual_mgmt.22
-rw-r--r--doc/man/nvme_write.22
-rw-r--r--doc/man/nvme_write_uncorrectable.22
-rw-r--r--doc/man/nvme_write_zeros.22
-rw-r--r--doc/man/nvme_zns_append.22
-rw-r--r--doc/man/nvme_zns_changed_zone_log.22
-rw-r--r--doc/man/nvme_zns_desc.22
-rw-r--r--doc/man/nvme_zns_id_ctrl.22
-rw-r--r--doc/man/nvme_zns_id_ns.22
-rw-r--r--doc/man/nvme_zns_identify_ctrl.22
-rw-r--r--doc/man/nvme_zns_identify_ns.22
-rw-r--r--doc/man/nvme_zns_lbafe.22
-rw-r--r--doc/man/nvme_zns_mgmt_recv.22
-rw-r--r--doc/man/nvme_zns_mgmt_send.22
-rw-r--r--doc/man/nvme_zns_recv_action.22
-rw-r--r--doc/man/nvme_zns_report_options.22
-rw-r--r--doc/man/nvme_zns_report_zones.22
-rw-r--r--doc/man/nvme_zns_send_action.22
-rw-r--r--doc/man/nvme_zns_za.22
-rw-r--r--doc/man/nvme_zns_zs.22
-rw-r--r--doc/man/nvme_zns_zt.22
-rw-r--r--doc/man/nvme_zone_report.22
-rw-r--r--doc/man/nvmf_add_ctrl.22
-rw-r--r--doc/man/nvmf_addr_family.22
-rw-r--r--doc/man/nvmf_adrfam_str.22
-rw-r--r--doc/man/nvmf_cms_str.22
-rw-r--r--doc/man/nvmf_connect_data.22
-rw-r--r--doc/man/nvmf_connect_disc_entry.22
-rw-r--r--doc/man/nvmf_default_config.22
-rw-r--r--doc/man/nvmf_dim_data.22
-rw-r--r--doc/man/nvmf_dim_entfmt.22
-rw-r--r--doc/man/nvmf_dim_etype.22
-rw-r--r--doc/man/nvmf_dim_tas.22
-rw-r--r--doc/man/nvmf_disc_eflags.22
-rw-r--r--doc/man/nvmf_disc_log_entry.22
-rw-r--r--doc/man/nvmf_discovery_log.22
-rw-r--r--doc/man/nvmf_eflags_str.22
-rw-r--r--doc/man/nvmf_exat_len.22
-rw-r--r--doc/man/nvmf_exattype.22
-rw-r--r--doc/man/nvmf_ext_attr.22
-rw-r--r--doc/man/nvmf_ext_die.22
-rw-r--r--doc/man/nvmf_get_discovery_log.211
-rw-r--r--doc/man/nvmf_get_discovery_wargs.220
-rw-r--r--doc/man/nvmf_hostid_from_file.22
-rw-r--r--doc/man/nvmf_hostnqn_from_file.22
-rw-r--r--doc/man/nvmf_hostnqn_generate.22
-rw-r--r--doc/man/nvmf_log_discovery_lid_support.230
-rw-r--r--doc/man/nvmf_log_discovery_lsp.230
-rw-r--r--doc/man/nvmf_prtype_str.22
-rw-r--r--doc/man/nvmf_qptype_str.22
-rw-r--r--doc/man/nvmf_rdma_cms.22
-rw-r--r--doc/man/nvmf_rdma_prtype.22
-rw-r--r--doc/man/nvmf_rdma_qptype.22
-rw-r--r--doc/man/nvmf_register_ctrl.22
-rw-r--r--doc/man/nvmf_sectype_str.22
-rw-r--r--doc/man/nvmf_subtype_str.22
-rw-r--r--doc/man/nvmf_tcp_sectype.22
-rw-r--r--doc/man/nvmf_treq.22
-rw-r--r--doc/man/nvmf_treq_str.22
-rw-r--r--doc/man/nvmf_trtype.22
-rw-r--r--doc/man/nvmf_trtype_str.22
-rw-r--r--doc/man/nvmf_update_config.22
-rw-r--r--doc/meson.build5
-rw-r--r--doc/rst/fabrics.rst79
-rw-r--r--doc/rst/mi.rst1457
-rw-r--r--doc/rst/tree.rst31
-rw-r--r--doc/rst/types.rst145
-rw-r--r--doc/rst/util.rst80
726 files changed, 4152 insertions, 694 deletions
diff --git a/doc/conf.py b/doc/conf.py
index 686434e..abfa57c 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -12,7 +12,7 @@ copyright = '2020, Keith Busch'
author = 'Keith Busch <kbusch@kernel.org>'
master_doc = 'index'
-release = '1.1'
+release = '1.2'
# -- General configuration ---------------------------------------------------
diff --git a/doc/config-schema.json b/doc/config-schema.json
index a7bbdf1..69fb606 100644
--- a/doc/config-schema.json
+++ b/doc/config-schema.json
@@ -25,6 +25,10 @@
"description": "NVMe host ID",
"type": "string"
},
+ "dhchap_key": {
+ "description": "Host DH-HMAC-CHAP key",
+ "type": "string"
+ },
"hostsymname": {
"description": "NVMe host symbolic name",
"type": "string"
diff --git a/doc/config-schema.json.in b/doc/config-schema.json.in
index a7bbdf1..69fb606 100644
--- a/doc/config-schema.json.in
+++ b/doc/config-schema.json.in
@@ -25,6 +25,10 @@
"description": "NVMe host ID",
"type": "string"
},
+ "dhchap_key": {
+ "description": "Host DH-HMAC-CHAP key",
+ "type": "string"
+ },
"hostsymname": {
"description": "NVMe host symbolic name",
"type": "string"
diff --git a/doc/list-man-pages.sh b/doc/list-man-pages.sh
index e22691d..3acdf7a 100755
--- a/doc/list-man-pages.sh
+++ b/doc/list-man-pages.sh
@@ -3,14 +3,14 @@
file=$1
-for func in $(sed -n 's/ \* \([a-z_]*\)() -.*/\1/p' $file); do
+for func in $(sed -n 's/ \* \([a-z_][a-z_0-9]*\)() -.*/\1/p' $file); do
echo ${func}
done
-for struct in $(sed -n 's/ \* struct \([a-z_]*\) -.*/\1/p' $file); do
+for struct in $(sed -n 's/ \* struct \([a-z_][a-z_0-9]*\) -.*/\1/p' $file); do
echo ${struct}
done
-for enum in $(sed -n 's/ \* enum \([a-z_]*\) -.*/\1/p' $file); do
+for enum in $(sed -n 's/ \* enum \([a-z_][a-z_0-9]*\) -.*/\1/p' $file); do
echo ${enum}
done
diff --git a/doc/list-pre-compiled.sh b/doc/list-pre-compiled.sh
new file mode 100755
index 0000000..c31caf9
--- /dev/null
+++ b/doc/list-pre-compiled.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+for i in man/*.2; do
+ echo $i
+done
diff --git a/doc/man/nvme_admin_opcode.2 b/doc/man/nvme_admin_opcode.2
index ebe4f15..be7d1c3 100644
--- a/doc/man/nvme_admin_opcode.2
+++ b/doc/man/nvme_admin_opcode.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_admin_opcode" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_admin_opcode" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_admin_opcode \- Known NVMe admin opcodes
.SH SYNOPSIS
diff --git a/doc/man/nvme_admin_passthru.2 b/doc/man/nvme_admin_passthru.2
index 0703e97..acf2a63 100644
--- a/doc/man/nvme_admin_passthru.2
+++ b/doc/man/nvme_admin_passthru.2
@@ -1,4 +1,4 @@
-.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_admin_passthru \- Submit an nvme passthrough command
.SH SYNOPSIS
diff --git a/doc/man/nvme_admin_passthru64.2 b/doc/man/nvme_admin_passthru64.2
new file mode 100644
index 0000000..806251e
--- /dev/null
+++ b/doc/man/nvme_admin_passthru64.2
@@ -0,0 +1,71 @@
+.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command
+.SH SYNOPSIS
+.B "int" nvme_admin_passthru64
+.BI "(int fd " ","
+.BI "__u8 opcode " ","
+.BI "__u8 flags " ","
+.BI "__u16 rsvd " ","
+.BI "__u32 nsid " ","
+.BI "__u32 cdw2 " ","
+.BI "__u32 cdw3 " ","
+.BI "__u32 cdw10 " ","
+.BI "__u32 cdw11 " ","
+.BI "__u32 cdw12 " ","
+.BI "__u32 cdw13 " ","
+.BI "__u32 cdw14 " ","
+.BI "__u32 cdw15 " ","
+.BI "__u32 data_len " ","
+.BI "void *data " ","
+.BI "__u32 metadata_len " ","
+.BI "void *metadata " ","
+.BI "__u32 timeout_ms " ","
+.BI "__u64 *result " ");"
+.SH ARGUMENTS
+.IP "fd" 12
+File descriptor of nvme device
+.IP "opcode" 12
+The nvme io command to send
+.IP "flags" 12
+NVMe command flags (not used)
+.IP "rsvd" 12
+Reserved for future use
+.IP "nsid" 12
+Namespace identifier
+.IP "cdw2" 12
+Command dword 2
+.IP "cdw3" 12
+Command dword 3
+.IP "cdw10" 12
+Command dword 10
+.IP "cdw11" 12
+Command dword 11
+.IP "cdw12" 12
+Command dword 12
+.IP "cdw13" 12
+Command dword 13
+.IP "cdw14" 12
+Command dword 14
+.IP "cdw15" 12
+Command dword 15
+.IP "data_len" 12
+Length of the data transferred in this command in bytes
+.IP "data" 12
+Pointer to user address of the data buffer
+.IP "metadata_len" 12
+Length of metadata transferred in this command
+.IP "metadata" 12
+Pointer to user address of the metadata buffer
+.IP "timeout_ms" 12
+How long the kernel waits for the command to complete
+.IP "result" 12
+Optional field to return the result from the CQE dword 0
+.SH "DESCRIPTION"
+Parameterized form of \fBnvme_submit_admin_passthru64\fP. This sets up and
+submits a \fIstruct nvme_passthru_cmd64\fP.
+
+Known values for \fIopcode\fP are defined in \fIenum nvme_admin_opcode\fP.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_ae_info_css_nvm.2 b/doc/man/nvme_ae_info_css_nvm.2
index 4816632..4090339 100644
--- a/doc/man/nvme_ae_info_css_nvm.2
+++ b/doc/man/nvme_ae_info_css_nvm.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_css_nvm \- Asynchronous Event Information - I/O Command Specific Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_ae_info_error.2 b/doc/man/nvme_ae_info_error.2
index 5f5f55f..4b8deeb 100644
--- a/doc/man/nvme_ae_info_error.2
+++ b/doc/man/nvme_ae_info_error.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ae_info_error" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_error" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_error \- Asynchronous Event Information - Error Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_ae_info_notice.2 b/doc/man/nvme_ae_info_notice.2
index c815d66..5ccb5ed 100644
--- a/doc/man/nvme_ae_info_notice.2
+++ b/doc/man/nvme_ae_info_notice.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ae_info_notice" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_notice" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_notice \- Asynchronous Event Information - Notice
.SH SYNOPSIS
diff --git a/doc/man/nvme_ae_info_smart.2 b/doc/man/nvme_ae_info_smart.2
index a828666..964a7bb 100644
--- a/doc/man/nvme_ae_info_smart.2
+++ b/doc/man/nvme_ae_info_smart.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ae_info_smart" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_smart" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_smart \- Asynchronous Event Information - SMART / Health Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_ae_type.2 b/doc/man/nvme_ae_type.2
index 8bbd063..478522e 100644
--- a/doc/man/nvme_ae_type.2
+++ b/doc/man/nvme_ae_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ae_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_type" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_type \- Asynchronous Event Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_aggregate_endurance_group_event.2 b/doc/man/nvme_aggregate_endurance_group_event.2
index ddc19e1..8e104f4 100644
--- a/doc/man/nvme_aggregate_endurance_group_event.2
+++ b/doc/man/nvme_aggregate_endurance_group_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_endurance_group_event \- Endurance Group Event Aggregate
.SH SYNOPSIS
diff --git a/doc/man/nvme_aggregate_predictable_lat_event.2 b/doc/man/nvme_aggregate_predictable_lat_event.2
index 39bc4e1..871cf1c 100644
--- a/doc/man/nvme_aggregate_predictable_lat_event.2
+++ b/doc/man/nvme_aggregate_predictable_lat_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_predictable_lat_event \- Predictable Latency Event Aggregate Log Page
.SH SYNOPSIS
diff --git a/doc/man/nvme_ana_group_desc.2 b/doc/man/nvme_ana_group_desc.2
index 1c93e28..02056c5 100644
--- a/doc/man/nvme_ana_group_desc.2
+++ b/doc/man/nvme_ana_group_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_ana_group_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ana_group_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_ana_group_desc \- ANA Group Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_ana_log.2 b/doc/man/nvme_ana_log.2
index ea60e03..1a09d31 100644
--- a/doc/man/nvme_ana_log.2
+++ b/doc/man/nvme_ana_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_ana_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ana_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_ana_log \- Asymmetric Namespace Access Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_ana_state.2 b/doc/man/nvme_ana_state.2
index fbe76cf..a177ade 100644
--- a/doc/man/nvme_ana_state.2
+++ b/doc/man/nvme_ana_state.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ana_state" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ana_state" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ana_state \- ANA Group Descriptor - Asymmetric Namespace Access State
.SH SYNOPSIS
diff --git a/doc/man/nvme_apst_entry.2 b/doc/man/nvme_apst_entry.2
index 1472885..13b2077 100644
--- a/doc/man/nvme_apst_entry.2
+++ b/doc/man/nvme_apst_entry.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_apst_entry" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_apst_entry" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_apst_entry \- Autonomous Power State Transition
.SH SYNOPSIS
diff --git a/doc/man/nvme_boot_partition.2 b/doc/man/nvme_boot_partition.2
index e64b3e0..0005b99 100644
--- a/doc/man/nvme_boot_partition.2
+++ b/doc/man/nvme_boot_partition.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_boot_partition" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_boot_partition" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_boot_partition \- Boot Partition Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_capacity_config_desc.2 b/doc/man/nvme_capacity_config_desc.2
index eb4ee6c..f3bd068 100644
--- a/doc/man/nvme_capacity_config_desc.2
+++ b/doc/man/nvme_capacity_config_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_capacity_config_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_capacity_config_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_capacity_config_desc \- Capacity Configuration structure definitions
.SH SYNOPSIS
diff --git a/doc/man/nvme_capacity_mgmt.2 b/doc/man/nvme_capacity_mgmt.2
index 2345ca0..8dba4a1 100644
--- a/doc/man/nvme_capacity_mgmt.2
+++ b/doc/man/nvme_capacity_mgmt.2
@@ -1,4 +1,4 @@
-.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_capacity_mgmt \- Capacity management command
.SH SYNOPSIS
diff --git a/doc/man/nvme_change_ns_event.2 b/doc/man/nvme_change_ns_event.2
index 5f437c2..7892083 100644
--- a/doc/man/nvme_change_ns_event.2
+++ b/doc/man/nvme_change_ns_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_change_ns_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_change_ns_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_change_ns_event \- Change Namespace Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_channel_config_desc.2 b/doc/man/nvme_channel_config_desc.2
index 5e58ce5..3948070 100644
--- a/doc/man/nvme_channel_config_desc.2
+++ b/doc/man/nvme_channel_config_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_channel_config_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_channel_config_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_channel_config_desc \- Channel Configuration Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmb_size.2 b/doc/man/nvme_cmb_size.2
index 0ed5ed0..2166cba 100644
--- a/doc/man/nvme_cmb_size.2
+++ b/doc/man/nvme_cmb_size.2
@@ -1,4 +1,4 @@
-.TH "nvme_cmb_size" 9 "nvme_cmb_size" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_cmb_size" 9 "nvme_cmb_size" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_cmb_size \- Calculate size of the controller memory buffer
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_effects.2 b/doc/man/nvme_cmd_effects.2
index efd3c88..7600ea3 100644
--- a/doc/man/nvme_cmd_effects.2
+++ b/doc/man/nvme_cmd_effects.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_effects" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_effects" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_effects \- Commands Supported and Effects
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_effects_log.2 b/doc/man/nvme_cmd_effects_log.2
index 669e86e..83e0a85 100644
--- a/doc/man/nvme_cmd_effects_log.2
+++ b/doc/man/nvme_cmd_effects_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_cmd_effects_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_cmd_effects_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_cmd_effects_log \- Commands Supported and Effects Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_format_mset.2 b/doc/man/nvme_cmd_format_mset.2
index aeaa72c..d1cb0eb 100644
--- a/doc/man/nvme_cmd_format_mset.2
+++ b/doc/man/nvme_cmd_format_mset.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_format_mset" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_mset" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_mset \- Format NVM - Metadata Settings
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_format_pi.2 b/doc/man/nvme_cmd_format_pi.2
index f77640a..87ca2f4 100644
--- a/doc/man/nvme_cmd_format_pi.2
+++ b/doc/man/nvme_cmd_format_pi.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_format_pi" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_pi" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pi \- Format NVM - Protection Information
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_format_pil.2 b/doc/man/nvme_cmd_format_pil.2
index 388e6d1..d21373f 100644
--- a/doc/man/nvme_cmd_format_pil.2
+++ b/doc/man/nvme_cmd_format_pil.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_format_pil" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_pil" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pil \- Format NVM - Protection Information Location
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_format_ses.2 b/doc/man/nvme_cmd_format_ses.2
index d0acccb..257c7a5 100644
--- a/doc/man/nvme_cmd_format_ses.2
+++ b/doc/man/nvme_cmd_format_ses.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_format_ses" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_ses" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_get_log_lid.2 b/doc/man/nvme_cmd_get_log_lid.2
index be8aad4..31ee57c 100644
--- a/doc/man/nvme_cmd_get_log_lid.2
+++ b/doc/man/nvme_cmd_get_log_lid.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers
.SH SYNOPSIS
diff --git a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2
index 436a5f0..7ba3d49 100644
--- a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2
+++ b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_telemetry_host_lsp \- Telemetry Host-Initiated log specific field
.SH SYNOPSIS
diff --git a/doc/man/nvme_compare.2 b/doc/man/nvme_compare.2
index 7d6d7d2..961d584 100644
--- a/doc/man/nvme_compare.2
+++ b/doc/man/nvme_compare.2
@@ -1,4 +1,4 @@
-.TH "nvme_compare" 9 "nvme_compare" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_compare" 9 "nvme_compare" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_compare \- Submit an nvme user compare command
.SH SYNOPSIS
diff --git a/doc/man/nvme_connect_err.2 b/doc/man/nvme_connect_err.2
index 7b41b4c..0b5e4bc 100644
--- a/doc/man/nvme_connect_err.2
+++ b/doc/man/nvme_connect_err.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_connect_err" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_connect_err" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_connect_err \- nvme connect error codes
.SH SYNOPSIS
diff --git a/doc/man/nvme_constants.2 b/doc/man/nvme_constants.2
index 7f1773c..a79031c 100644
--- a/doc/man/nvme_constants.2
+++ b/doc/man/nvme_constants.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_constants" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_constants" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_constants \- A place to stash various constant nvme values
.SH SYNOPSIS
diff --git a/doc/man/nvme_copy.2 b/doc/man/nvme_copy.2
index eb363e1..71489d2 100644
--- a/doc/man/nvme_copy.2
+++ b/doc/man/nvme_copy.2
@@ -1,4 +1,4 @@
-.TH "nvme_copy" 9 "nvme_copy" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_copy" 9 "nvme_copy" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_copy \- Copy command
.SH SYNOPSIS
diff --git a/doc/man/nvme_copy_range.2 b/doc/man/nvme_copy_range.2
index 9975b1b..fb82d8d 100644
--- a/doc/man/nvme_copy_range.2
+++ b/doc/man/nvme_copy_range.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_copy_range" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_copy_range" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_copy_range \- Copy - Source Range Entries Descriptor Format
.SH SYNOPSIS
diff --git a/doc/man/nvme_copy_range_f1.2 b/doc/man/nvme_copy_range_f1.2
new file mode 100644
index 0000000..f83ef09
--- /dev/null
+++ b/doc/man/nvme_copy_range_f1.2
@@ -0,0 +1,40 @@
+.TH "libnvme" 9 "struct nvme_copy_range_f1" "October 2022" "API Manual" LINUX
+.SH NAME
+struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h
+.SH SYNOPSIS
+struct nvme_copy_range_f1 {
+.br
+.BI " __u8 rsvd0[8];"
+.br
+.BI " __le64 slba;"
+.br
+.BI " __le16 nlb;"
+.br
+.BI " __u8 rsvd18[8];"
+.br
+.BI " __u8 elbt[10];"
+.br
+.BI " __le16 elbatm;"
+.br
+.BI " __le16 elbat;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "rsvd0" 12
+Reserved
+.IP "slba" 12
+Starting LBA
+.IP "nlb" 12
+Number of Logical Blocks
+.IP "rsvd18" 12
+Reserved
+.IP "elbt" 12
+Expected Initial Logical Block Reference Tag /
+Expected Logical Block Storage Tag
+.IP "elbatm" 12
+Expected Logical Block Application Tag Mask
+.IP "elbat" 12
+Expected Logical Block Application Tag
diff --git a/doc/man/nvme_create_ctrl.2 b/doc/man/nvme_create_ctrl.2
index 6b00537..325cb84 100644
--- a/doc/man/nvme_create_ctrl.2
+++ b/doc/man/nvme_create_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_create_ctrl \- Allocate an unconnected NVMe controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_create_root.2 b/doc/man/nvme_create_root.2
index dfe029d..924d7e2 100644
--- a/doc/man/nvme_create_root.2
+++ b/doc/man/nvme_create_root.2
@@ -1,4 +1,4 @@
-.TH "nvme_create_root" 9 "nvme_create_root" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_create_root" 9 "nvme_create_root" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_create_root \- Initialize root object
.SH SYNOPSIS
diff --git a/doc/man/nvme_csi.2 b/doc/man/nvme_csi.2
index 2ee3cd1..c2496dc 100644
--- a/doc/man/nvme_csi.2
+++ b/doc/man/nvme_csi.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_csi" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_csi" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_csi \- Defined command set indicators
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_first_ns.2 b/doc/man/nvme_ctrl_first_ns.2
index ae64a28..8e8e4df 100644
--- a/doc/man/nvme_ctrl_first_ns.2
+++ b/doc/man/nvme_ctrl_first_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_ns \- Start namespace iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_first_path.2 b/doc/man/nvme_ctrl_first_path.2
index 6945c3d..0247898 100644
--- a/doc/man/nvme_ctrl_first_path.2
+++ b/doc/man/nvme_ctrl_first_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_path \- Start path iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_for_each_ns.2 b/doc/man/nvme_ctrl_for_each_ns.2
index 3310025..d08adeb 100644
--- a/doc/man/nvme_ctrl_for_each_ns.2
+++ b/doc/man/nvme_ctrl_for_each_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns \- Traverse namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_for_each_ns_safe.2 b/doc/man/nvme_ctrl_for_each_ns_safe.2
index 7ff6fc3..87862b0 100644
--- a/doc/man/nvme_ctrl_for_each_ns_safe.2
+++ b/doc/man/nvme_ctrl_for_each_ns_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns_safe \- Traverse namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_for_each_path.2 b/doc/man/nvme_ctrl_for_each_path.2
index 3a2289c..6d6d33f 100644
--- a/doc/man/nvme_ctrl_for_each_path.2
+++ b/doc/man/nvme_ctrl_for_each_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path \- Traverse paths
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_for_each_path_safe.2 b/doc/man/nvme_ctrl_for_each_path_safe.2
index 8e3dccd..b2f8be4 100644
--- a/doc/man/nvme_ctrl_for_each_path_safe.2
+++ b/doc/man/nvme_ctrl_for_each_path_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path_safe \- Traverse paths
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_address.2 b/doc/man/nvme_ctrl_get_address.2
index 7d3536c..f9686c1 100644
--- a/doc/man/nvme_ctrl_get_address.2
+++ b/doc/man/nvme_ctrl_get_address.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_address \- Address string of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_config.2 b/doc/man/nvme_ctrl_get_config.2
index 779ccc8..47269e5 100644
--- a/doc/man/nvme_ctrl_get_config.2
+++ b/doc/man/nvme_ctrl_get_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_config \- Fabrics configuration of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_dhchap_host_key.2 b/doc/man/nvme_ctrl_get_dhchap_host_key.2
new file mode 100644
index 0000000..174aa97
--- /dev/null
+++ b/doc/man/nvme_ctrl_get_dhchap_host_key.2
@@ -0,0 +1,11 @@
+.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_ctrl_get_dhchap_host_key \- Return host key
+.SH SYNOPSIS
+.B "const char *" nvme_ctrl_get_dhchap_host_key
+.BI "(nvme_ctrl_t c " ");"
+.SH ARGUMENTS
+.IP "c" 12
+Controller to be checked
+.SH "RETURN"
+DH-HMAC-CHAP host key or NULL if not set
diff --git a/doc/man/nvme_ctrl_get_dhchap_key.2 b/doc/man/nvme_ctrl_get_dhchap_key.2
index 3187eec..a3efd36 100644
--- a/doc/man/nvme_ctrl_get_dhchap_key.2
+++ b/doc/man/nvme_ctrl_get_dhchap_key.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_dhchap_key \- Return controller key
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_fd.2 b/doc/man/nvme_ctrl_get_fd.2
index b41ebbc..daf746b 100644
--- a/doc/man/nvme_ctrl_get_fd.2
+++ b/doc/man/nvme_ctrl_get_fd.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_fd \- Get associated file descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_firmware.2 b/doc/man/nvme_ctrl_get_firmware.2
index 0ceadc6..3e3766c 100644
--- a/doc/man/nvme_ctrl_get_firmware.2
+++ b/doc/man/nvme_ctrl_get_firmware.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_firmware \- Firmware string of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_host_iface.2 b/doc/man/nvme_ctrl_get_host_iface.2
index 980ec60..2e98010 100644
--- a/doc/man/nvme_ctrl_get_host_iface.2
+++ b/doc/man/nvme_ctrl_get_host_iface.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_iface \- Host interface name of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_host_traddr.2 b/doc/man/nvme_ctrl_get_host_traddr.2
index 8a8967b..6102269 100644
--- a/doc/man/nvme_ctrl_get_host_traddr.2
+++ b/doc/man/nvme_ctrl_get_host_traddr.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_traddr \- Host transport address of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_model.2 b/doc/man/nvme_ctrl_get_model.2
index 50476c9..3471eb9 100644
--- a/doc/man/nvme_ctrl_get_model.2
+++ b/doc/man/nvme_ctrl_get_model.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_model \- Model of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_name.2 b/doc/man/nvme_ctrl_get_name.2
index 09be716..0c9c5bd 100644
--- a/doc/man/nvme_ctrl_get_name.2
+++ b/doc/man/nvme_ctrl_get_name.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_name \- sysfs name of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_numa_node.2 b/doc/man/nvme_ctrl_get_numa_node.2
index 6b8bc08..6be8e99 100644
--- a/doc/man/nvme_ctrl_get_numa_node.2
+++ b/doc/man/nvme_ctrl_get_numa_node.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_numa_node \- NUMA node of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_queue_count.2 b/doc/man/nvme_ctrl_get_queue_count.2
index f2fc809..8852d84 100644
--- a/doc/man/nvme_ctrl_get_queue_count.2
+++ b/doc/man/nvme_ctrl_get_queue_count.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_queue_count \- Queue count of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_serial.2 b/doc/man/nvme_ctrl_get_serial.2
index c7af106..0af26f4 100644
--- a/doc/man/nvme_ctrl_get_serial.2
+++ b/doc/man/nvme_ctrl_get_serial.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_serial \- Serial number of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_sqsize.2 b/doc/man/nvme_ctrl_get_sqsize.2
index ef0f407..2ff350d 100644
--- a/doc/man/nvme_ctrl_get_sqsize.2
+++ b/doc/man/nvme_ctrl_get_sqsize.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sqsize \- SQ size of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_state.2 b/doc/man/nvme_ctrl_get_state.2
index 80b3818..d787758 100644
--- a/doc/man/nvme_ctrl_get_state.2
+++ b/doc/man/nvme_ctrl_get_state.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_state \- Running state of an controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_subsysnqn.2 b/doc/man/nvme_ctrl_get_subsysnqn.2
index 9c3f5ee..3b14394 100644
--- a/doc/man/nvme_ctrl_get_subsysnqn.2
+++ b/doc/man/nvme_ctrl_get_subsysnqn.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsysnqn \- Subsystem NQN of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_subsystem.2 b/doc/man/nvme_ctrl_get_subsystem.2
index 31f2869..0c0f7ca 100644
--- a/doc/man/nvme_ctrl_get_subsystem.2
+++ b/doc/man/nvme_ctrl_get_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsystem \- Parent subsystem of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_sysfs_dir.2 b/doc/man/nvme_ctrl_get_sysfs_dir.2
index 12b5eb7..247aada 100644
--- a/doc/man/nvme_ctrl_get_sysfs_dir.2
+++ b/doc/man/nvme_ctrl_get_sysfs_dir.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sysfs_dir \- sysfs directory of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_traddr.2 b/doc/man/nvme_ctrl_get_traddr.2
index 7dca450..ce9c961 100644
--- a/doc/man/nvme_ctrl_get_traddr.2
+++ b/doc/man/nvme_ctrl_get_traddr.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_traddr \- Transport address of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_transport.2 b/doc/man/nvme_ctrl_get_transport.2
index 7134db9..d0b2fb6 100644
--- a/doc/man/nvme_ctrl_get_transport.2
+++ b/doc/man/nvme_ctrl_get_transport.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_transport \- Transport type of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_get_trsvcid.2 b/doc/man/nvme_ctrl_get_trsvcid.2
index f684a88..b1e6b5a 100644
--- a/doc/man/nvme_ctrl_get_trsvcid.2
+++ b/doc/man/nvme_ctrl_get_trsvcid.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_trsvcid \- Transport service identifier of a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_identify.2 b/doc/man/nvme_ctrl_identify.2
index 735d509..ce17f5c 100644
--- a/doc/man/nvme_ctrl_identify.2
+++ b/doc/man/nvme_ctrl_identify.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_identify \- Issues an 'identify controller' command
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_is_discovered.2 b/doc/man/nvme_ctrl_is_discovered.2
index 1bfe472..d6dd6d5 100644
--- a/doc/man/nvme_ctrl_is_discovered.2
+++ b/doc/man/nvme_ctrl_is_discovered.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovered \- Returns the value of the 'discovered' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_is_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_discovery_ctrl.2
index 81da033..6ad4d00 100644
--- a/doc/man/nvme_ctrl_is_discovery_ctrl.2
+++ b/doc/man/nvme_ctrl_is_discovery_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovery_ctrl \- Check the 'discovery_ctrl' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_is_persistent.2 b/doc/man/nvme_ctrl_is_persistent.2
index a4e4aec..37ca92c 100644
--- a/doc/man/nvme_ctrl_is_persistent.2
+++ b/doc/man/nvme_ctrl_is_persistent.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_persistent \- Returns the value of the 'persistent' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_list.2 b/doc/man/nvme_ctrl_list.2
index 264775e..dabdc0c 100644
--- a/doc/man/nvme_ctrl_list.2
+++ b/doc/man/nvme_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_ctrl_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ctrl_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_ctrl_list \- Controller List
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_metadata_type.2 b/doc/man/nvme_ctrl_metadata_type.2
index b7e36b6..24caeee 100644
--- a/doc/man/nvme_ctrl_metadata_type.2
+++ b/doc/man/nvme_ctrl_metadata_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ctrl_metadata_type \- Controller Metadata Element Types
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_next_ns.2 b/doc/man/nvme_ctrl_next_ns.2
index 6a6459f..7e98add 100644
--- a/doc/man/nvme_ctrl_next_ns.2
+++ b/doc/man/nvme_ctrl_next_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_ns \- Next namespace iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_next_path.2 b/doc/man/nvme_ctrl_next_path.2
index 2b76335..2081965 100644
--- a/doc/man/nvme_ctrl_next_path.2
+++ b/doc/man/nvme_ctrl_next_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_path \- Next path iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_reset.2 b/doc/man/nvme_ctrl_reset.2
index 0d8ede1..55f084a 100644
--- a/doc/man/nvme_ctrl_reset.2
+++ b/doc/man/nvme_ctrl_reset.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_reset \- Initiate a controller reset
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_set_dhchap_host_key.2 b/doc/man/nvme_ctrl_set_dhchap_host_key.2
new file mode 100644
index 0000000..036c29e
--- /dev/null
+++ b/doc/man/nvme_ctrl_set_dhchap_host_key.2
@@ -0,0 +1,12 @@
+.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_ctrl_set_dhchap_host_key \- Set host key
+.SH SYNOPSIS
+.B "void" nvme_ctrl_set_dhchap_host_key
+.BI "(nvme_ctrl_t c " ","
+.BI "const char *key " ");"
+.SH ARGUMENTS
+.IP "c" 12
+Host for which the key should be set
+.IP "key" 12
+DH-HMAC-CHAP Key to set or NULL to clear existing key
diff --git a/doc/man/nvme_ctrl_set_dhchap_key.2 b/doc/man/nvme_ctrl_set_dhchap_key.2
index 506de41..bcaaf86 100644
--- a/doc/man/nvme_ctrl_set_dhchap_key.2
+++ b/doc/man/nvme_ctrl_set_dhchap_key.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_dhchap_key \- Set controller key
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_set_discovered.2 b/doc/man/nvme_ctrl_set_discovered.2
index 4e7bf4c..0565135 100644
--- a/doc/man/nvme_ctrl_set_discovered.2
+++ b/doc/man/nvme_ctrl_set_discovered.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovered \- Set the 'discovered' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_set_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_discovery_ctrl.2
index d21c93e..a2c6200 100644
--- a/doc/man/nvme_ctrl_set_discovery_ctrl.2
+++ b/doc/man/nvme_ctrl_set_discovery_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovery_ctrl \- Set the 'discovery_ctrl' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrl_set_persistent.2 b/doc/man/nvme_ctrl_set_persistent.2
index 5fee767..d86e8d9 100644
--- a/doc/man/nvme_ctrl_set_persistent.2
+++ b/doc/man/nvme_ctrl_set_persistent.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_persistent \- Set the 'persistent' flag
.SH SYNOPSIS
diff --git a/doc/man/nvme_ctrls_filter.2 b/doc/man/nvme_ctrls_filter.2
index 70666bb..498f724 100644
--- a/doc/man/nvme_ctrls_filter.2
+++ b/doc/man/nvme_ctrls_filter.2
@@ -1,4 +1,4 @@
-.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrls_filter \- Filter for controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_data_tfr.2 b/doc/man/nvme_data_tfr.2
new file mode 100644
index 0000000..bf0e99a
--- /dev/null
+++ b/doc/man/nvme_data_tfr.2
@@ -0,0 +1,30 @@
+.TH "libnvme" 9 "enum nvme_data_tfr" "October 2022" "API Manual" LINUX
+.SH NAME
+enum nvme_data_tfr \- Data transfer direction of the command
+.SH SYNOPSIS
+enum nvme_data_tfr {
+.br
+.BI " NVME_DATA_TFR_NO_DATA_TFR"
+,
+.br
+.br
+.BI " NVME_DATA_TFR_HOST_TO_CTRL"
+,
+.br
+.br
+.BI " NVME_DATA_TFR_CTRL_TO_HOST"
+,
+.br
+.br
+.BI " NVME_DATA_TFR_BIDIRECTIONAL"
+
+};
+.SH Constants
+.IP "NVME_DATA_TFR_NO_DATA_TFR" 12
+No data transfer
+.IP "NVME_DATA_TFR_HOST_TO_CTRL" 12
+Host to controller
+.IP "NVME_DATA_TFR_CTRL_TO_HOST" 12
+Controller to host
+.IP "NVME_DATA_TFR_BIDIRECTIONAL" 12
+Bidirectional
diff --git a/doc/man/nvme_default_host.2 b/doc/man/nvme_default_host.2
index f112ab2..2ca5d98 100644
--- a/doc/man/nvme_default_host.2
+++ b/doc/man/nvme_default_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_default_host" 9 "nvme_default_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_default_host" 9 "nvme_default_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_default_host \- Initializes the default host
.SH SYNOPSIS
diff --git a/doc/man/nvme_dev_self_test.2 b/doc/man/nvme_dev_self_test.2
index ac994a0..e366b9b 100644
--- a/doc/man/nvme_dev_self_test.2
+++ b/doc/man/nvme_dev_self_test.2
@@ -1,4 +1,4 @@
-.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_dev_self_test \- Start or abort a self test
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_dtype.2 b/doc/man/nvme_directive_dtype.2
index dee8114..8ee7b9c 100644
--- a/doc/man/nvme_directive_dtype.2
+++ b/doc/man/nvme_directive_dtype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_directive_dtype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_dtype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_dtype \- Directive Types
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_receive_doper.2 b/doc/man/nvme_directive_receive_doper.2
index 4b00691..03c43ab 100644
--- a/doc/man/nvme_directive_receive_doper.2
+++ b/doc/man/nvme_directive_receive_doper.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_directive_receive_doper" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_receive_doper" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_receive_doper \- Directive Receive Directive Operation
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_recv.2 b/doc/man/nvme_directive_recv.2
index b3aa7b0..1494ecd 100644
--- a/doc/man/nvme_directive_recv.2
+++ b/doc/man/nvme_directive_recv.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_recv" 9 "nvme_directive_recv" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_recv" 9 "nvme_directive_recv" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv \- Receive directive specific data
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_recv_identify_parameters.2 b/doc/man/nvme_directive_recv_identify_parameters.2
index 3f8e2f0..828c5b6 100644
--- a/doc/man/nvme_directive_recv_identify_parameters.2
+++ b/doc/man/nvme_directive_recv_identify_parameters.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_identify_parameters \- Directive receive identifier parameters
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_recv_stream_allocate.2 b/doc/man/nvme_directive_recv_stream_allocate.2
index 2e7304c..1311585 100644
--- a/doc/man/nvme_directive_recv_stream_allocate.2
+++ b/doc/man/nvme_directive_recv_stream_allocate.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_allocate \- Directive receive stream allocate
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_recv_stream_parameters.2 b/doc/man/nvme_directive_recv_stream_parameters.2
index 6e5d77c..179c4a6 100644
--- a/doc/man/nvme_directive_recv_stream_parameters.2
+++ b/doc/man/nvme_directive_recv_stream_parameters.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_parameters \- Directive receive stream parameters
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_recv_stream_status.2 b/doc/man/nvme_directive_recv_stream_status.2
index 497bbeb..68101c9 100644
--- a/doc/man/nvme_directive_recv_stream_status.2
+++ b/doc/man/nvme_directive_recv_stream_status.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_status \- Directive receive stream status
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send.2 b/doc/man/nvme_directive_send.2
index 9fad9ef..74469e3 100644
--- a/doc/man/nvme_directive_send.2
+++ b/doc/man/nvme_directive_send.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_send" 9 "nvme_directive_send" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_send" 9 "nvme_directive_send" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send \- Send directive command
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send_doper.2 b/doc/man/nvme_directive_send_doper.2
index 48355e4..7e8bd7d 100644
--- a/doc/man/nvme_directive_send_doper.2
+++ b/doc/man/nvme_directive_send_doper.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_directive_send_doper" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_send_doper" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_doper \- Directive Send Directive Operation
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send_id_endir.2 b/doc/man/nvme_directive_send_id_endir.2
index 3f6f46e..9d47611 100644
--- a/doc/man/nvme_directive_send_id_endir.2
+++ b/doc/man/nvme_directive_send_id_endir.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_id_endir \- Directive Send Enable Directive
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send_identify_endir.2 b/doc/man/nvme_directive_send_identify_endir.2
index 83838ef..b4c3d08 100644
--- a/doc/man/nvme_directive_send_identify_endir.2
+++ b/doc/man/nvme_directive_send_identify_endir.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_identify_endir \- Enable Directive
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send_stream_release_identifier.2 b/doc/man/nvme_directive_send_stream_release_identifier.2
index 09cfb41..baa509e 100644
--- a/doc/man/nvme_directive_send_stream_release_identifier.2
+++ b/doc/man/nvme_directive_send_stream_release_identifier.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_stream_release_identifier \- Directive Send Stream release
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_send_stream_release_resource.2 b/doc/man/nvme_directive_send_stream_release_resource.2
index 1ddfa74..fbcb609 100644
--- a/doc/man/nvme_directive_send_stream_release_resource.2
+++ b/doc/man/nvme_directive_send_stream_release_resource.2
@@ -1,4 +1,4 @@
-.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_stream_release_resource \- Directive Send Stream release resources
.SH SYNOPSIS
diff --git a/doc/man/nvme_directive_types.2 b/doc/man/nvme_directive_types.2
index f8ba3c1..944dca7 100644
--- a/doc/man/nvme_directive_types.2
+++ b/doc/man/nvme_directive_types.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_directive_types" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_types" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_types \- Directives Supported or Enabled
.SH SYNOPSIS
diff --git a/doc/man/nvme_disconnect_ctrl.2 b/doc/man/nvme_disconnect_ctrl.2
index be383ad..7e7db99 100644
--- a/doc/man/nvme_disconnect_ctrl.2
+++ b/doc/man/nvme_disconnect_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_disconnect_ctrl \- Disconnect a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_dsm.2 b/doc/man/nvme_dsm.2
index 2c9e37c..b567d21 100644
--- a/doc/man/nvme_dsm.2
+++ b/doc/man/nvme_dsm.2
@@ -1,4 +1,4 @@
-.TH "nvme_dsm" 9 "nvme_dsm" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_dsm" 9 "nvme_dsm" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_dsm \- Send an nvme data set management command
.SH SYNOPSIS
diff --git a/doc/man/nvme_dsm_attributes.2 b/doc/man/nvme_dsm_attributes.2
index 8f326a1..1c42a94 100644
--- a/doc/man/nvme_dsm_attributes.2
+++ b/doc/man/nvme_dsm_attributes.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_dsm_attributes" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_dsm_attributes" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_dsm_attributes \- Dataset Management attributes
.SH SYNOPSIS
diff --git a/doc/man/nvme_dsm_range.2 b/doc/man/nvme_dsm_range.2
index 04bc88c..8ff7b3c 100644
--- a/doc/man/nvme_dsm_range.2
+++ b/doc/man/nvme_dsm_range.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_dsm_range" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_dsm_range" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_dsm_range \- Dataset Management - Range Definition
.SH SYNOPSIS
diff --git a/doc/man/nvme_dst_stc.2 b/doc/man/nvme_dst_stc.2
index b22649c..9654e64 100644
--- a/doc/man/nvme_dst_stc.2
+++ b/doc/man/nvme_dst_stc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_dst_stc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_dst_stc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_dst_stc \- Action taken by the Device Self-test command
.SH SYNOPSIS
diff --git a/doc/man/nvme_dump_config.2 b/doc/man/nvme_dump_config.2
index 1403ca5..400da1d 100644
--- a/doc/man/nvme_dump_config.2
+++ b/doc/man/nvme_dump_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_dump_config" 9 "nvme_dump_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_dump_config" 9 "nvme_dump_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_dump_config \- Print the JSON configuration
.SH SYNOPSIS
diff --git a/doc/man/nvme_dump_tree.2 b/doc/man/nvme_dump_tree.2
index 35c51e5..52b5392 100644
--- a/doc/man/nvme_dump_tree.2
+++ b/doc/man/nvme_dump_tree.2
@@ -1,4 +1,4 @@
-.TH "nvme_dump_tree" 9 "nvme_dump_tree" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_dump_tree" 9 "nvme_dump_tree" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_dump_tree \- Dump internal object tree
.SH SYNOPSIS
diff --git a/doc/man/nvme_eg_critical_warning_flags.2 b/doc/man/nvme_eg_critical_warning_flags.2
index d5a4a8e..e60d99b 100644
--- a/doc/man/nvme_eg_critical_warning_flags.2
+++ b/doc/man/nvme_eg_critical_warning_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_eg_critical_warning_flags \- Endurance Group Information Log - Critical Warning
.SH SYNOPSIS
diff --git a/doc/man/nvme_eg_event_aggregate_log.2 b/doc/man/nvme_eg_event_aggregate_log.2
index 7c52e69..7ee2d83 100644
--- a/doc/man/nvme_eg_event_aggregate_log.2
+++ b/doc/man/nvme_eg_event_aggregate_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_eg_event_aggregate_log \- Endurance Group Event Aggregate
.SH SYNOPSIS
diff --git a/doc/man/nvme_end_grp_chan_desc.2 b/doc/man/nvme_end_grp_chan_desc.2
index d5142ea..d016877 100644
--- a/doc/man/nvme_end_grp_chan_desc.2
+++ b/doc/man/nvme_end_grp_chan_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_end_grp_chan_desc \- Endurance Group Channel Configuration Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_end_grp_config_desc.2 b/doc/man/nvme_end_grp_config_desc.2
index 35039a9..947aada 100644
--- a/doc/man/nvme_end_grp_config_desc.2
+++ b/doc/man/nvme_end_grp_config_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_end_grp_config_desc \- Endurance Group Configuration Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_endurance_group_log.2 b/doc/man/nvme_endurance_group_log.2
index e9da166..57dd1d8 100644
--- a/doc/man/nvme_endurance_group_log.2
+++ b/doc/man/nvme_endurance_group_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_endurance_group_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_endurance_group_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_endurance_group_log \- Endurance Group Information Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_errno_to_string.2 b/doc/man/nvme_errno_to_string.2
index a0aaad5..71fb96a 100644
--- a/doc/man/nvme_errno_to_string.2
+++ b/doc/man/nvme_errno_to_string.2
@@ -1,4 +1,4 @@
-.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_errno_to_string \- Returns string describing nvme connect failures
.SH SYNOPSIS
diff --git a/doc/man/nvme_error_log_page.2 b/doc/man/nvme_error_log_page.2
index 8188d83..80a1efa 100644
--- a/doc/man/nvme_error_log_page.2
+++ b/doc/man/nvme_error_log_page.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_error_log_page" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_error_log_page" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_error_log_page \- Error Information Log Entry (Log Identifier 01h)
.SH SYNOPSIS
diff --git a/doc/man/nvme_fabrics_config.2 b/doc/man/nvme_fabrics_config.2
index 72b3021..f0ff8f8 100644
--- a/doc/man/nvme_fabrics_config.2
+++ b/doc/man/nvme_fabrics_config.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_fabrics_config" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fabrics_config" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options
.SH SYNOPSIS
diff --git a/doc/man/nvme_fctype.2 b/doc/man/nvme_fctype.2
index 90b5d46..42b1c0c 100644
--- a/doc/man/nvme_fctype.2
+++ b/doc/man/nvme_fctype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_fctype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fctype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_fctype \- Fabrics Command Types
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat.2 b/doc/man/nvme_feat.2
index 86cb2f4..6b2e8b3 100644
--- a/doc/man/nvme_feat.2
+++ b/doc/man/nvme_feat.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_feat" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_feat \- Features Access Shifts/Masks values
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_auto_pst.2 b/doc/man/nvme_feat_auto_pst.2
index ef8989d..48ec4c0 100644
--- a/doc/man/nvme_feat_auto_pst.2
+++ b/doc/man/nvme_feat_auto_pst.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_feat_auto_pst" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_feat_auto_pst" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_feat_auto_pst \- Autonomous Power State Transition
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_host_behavior.2 b/doc/man/nvme_feat_host_behavior.2
index 9949541..c4357ca 100644
--- a/doc/man/nvme_feat_host_behavior.2
+++ b/doc/man/nvme_feat_host_behavior.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_feat_host_behavior" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_feat_host_behavior" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_feat_host_behavior \- Host Behavior Support - Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_nswpcfg_state.2 b/doc/man/nvme_feat_nswpcfg_state.2
index d7dc994..408cd21 100644
--- a/doc/man/nvme_feat_nswpcfg_state.2
+++ b/doc/man/nvme_feat_nswpcfg_state.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_feat_nswpcfg_state \- Write Protection - Write Protection State
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_plm_window_select.2 b/doc/man/nvme_feat_plm_window_select.2
index 43ffe97..8b11e49 100644
--- a/doc/man/nvme_feat_plm_window_select.2
+++ b/doc/man/nvme_feat_plm_window_select.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_feat_plm_window_select \- Predictable Latency Per NVM Set Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_resv_notify_flags.2 b/doc/man/nvme_feat_resv_notify_flags.2
index d6ccf35..26c7b4f 100644
--- a/doc/man/nvme_feat_resv_notify_flags.2
+++ b/doc/man/nvme_feat_resv_notify_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_feat_resv_notify_flags \- Reservation Notification Configuration
.SH SYNOPSIS
diff --git a/doc/man/nvme_feat_tmpthresh_thsel.2 b/doc/man/nvme_feat_tmpthresh_thsel.2
index 2904619..872658f 100644
--- a/doc/man/nvme_feat_tmpthresh_thsel.2
+++ b/doc/man/nvme_feat_tmpthresh_thsel.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_feat_tmpthresh_thsel \- Temperature Threshold - Threshold Type Select
.SH SYNOPSIS
diff --git a/doc/man/nvme_features_async_event_config_flags.2 b/doc/man/nvme_features_async_event_config_flags.2
index 4bcea65..1651598 100644
--- a/doc/man/nvme_features_async_event_config_flags.2
+++ b/doc/man/nvme_features_async_event_config_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_features_async_event_config_flags \- Asynchronous Event Configuration configuration flags
.SH SYNOPSIS
diff --git a/doc/man/nvme_features_id.2 b/doc/man/nvme_features_id.2
index b31f69f..c9c4981 100644
--- a/doc/man/nvme_features_id.2
+++ b/doc/man/nvme_features_id.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_features_id" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_features_id" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_features_id \- Features - Feature Identifiers
.SH SYNOPSIS
diff --git a/doc/man/nvme_fid_supported_effects.2 b/doc/man/nvme_fid_supported_effects.2
index 4f80257..37e424b 100644
--- a/doc/man/nvme_fid_supported_effects.2
+++ b/doc/man/nvme_fid_supported_effects.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_fid_supported_effects" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fid_supported_effects" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_fid_supported_effects \- FID Supported and Effects Data Structure definitions
.SH SYNOPSIS
diff --git a/doc/man/nvme_fid_supported_effects_log.2 b/doc/man/nvme_fid_supported_effects_log.2
index f73269f..992e47e 100644
--- a/doc/man/nvme_fid_supported_effects_log.2
+++ b/doc/man/nvme_fid_supported_effects_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_fid_supported_effects_log \- Feature Identifiers Supported and Effects
.SH SYNOPSIS
diff --git a/doc/man/nvme_firmware_slot.2 b/doc/man/nvme_firmware_slot.2
index f091cc1..6715665 100644
--- a/doc/man/nvme_firmware_slot.2
+++ b/doc/man/nvme_firmware_slot.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_firmware_slot" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_firmware_slot" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_firmware_slot \- Firmware Slot Information Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_first_host.2 b/doc/man/nvme_first_host.2
index 0f65bec..b813604 100644
--- a/doc/man/nvme_first_host.2
+++ b/doc/man/nvme_first_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_first_host" 9 "nvme_first_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_first_host" 9 "nvme_first_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_first_host \- Start host iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_first_subsystem.2 b/doc/man/nvme_first_subsystem.2
index 62a6d54..dc356e1 100644
--- a/doc/man/nvme_first_subsystem.2
+++ b/doc/man/nvme_first_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_first_subsystem \- Start subsystem iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_flush.2 b/doc/man/nvme_flush.2
index 4202f41..125874f 100644
--- a/doc/man/nvme_flush.2
+++ b/doc/man/nvme_flush.2
@@ -1,4 +1,4 @@
-.TH "nvme_flush" 9 "nvme_flush" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_flush" 9 "nvme_flush" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_flush \- Send an nvme flush command
.SH SYNOPSIS
diff --git a/doc/man/nvme_for_each_host.2 b/doc/man/nvme_for_each_host.2
index 03a3882..c8db377 100644
--- a/doc/man/nvme_for_each_host.2
+++ b/doc/man/nvme_for_each_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_for_each_host" 9 "nvme_for_each_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_for_each_host" 9 "nvme_for_each_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_host \- Traverse host list
.SH SYNOPSIS
diff --git a/doc/man/nvme_for_each_host_safe.2 b/doc/man/nvme_for_each_host_safe.2
index 8b61009..d95ce6f 100644
--- a/doc/man/nvme_for_each_host_safe.2
+++ b/doc/man/nvme_for_each_host_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_host_safe \- Traverse host list
.SH SYNOPSIS
diff --git a/doc/man/nvme_for_each_subsystem.2 b/doc/man/nvme_for_each_subsystem.2
index 943819b..29e1a04 100644
--- a/doc/man/nvme_for_each_subsystem.2
+++ b/doc/man/nvme_for_each_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_subsystem \- Traverse subsystems
.SH SYNOPSIS
diff --git a/doc/man/nvme_for_each_subsystem_safe.2 b/doc/man/nvme_for_each_subsystem_safe.2
index 5d54aef..9ce4e92 100644
--- a/doc/man/nvme_for_each_subsystem_safe.2
+++ b/doc/man/nvme_for_each_subsystem_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_subsystem_safe \- Traverse subsystems
.SH SYNOPSIS
diff --git a/doc/man/nvme_format_nvm.2 b/doc/man/nvme_format_nvm.2
index 6733f69..698fe37 100644
--- a/doc/man/nvme_format_nvm.2
+++ b/doc/man/nvme_format_nvm.2
@@ -1,4 +1,4 @@
-.TH "nvme_format_nvm" 9 "nvme_format_nvm" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_format_nvm" 9 "nvme_format_nvm" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_format_nvm \- Format nvme namespace(s)
.SH SYNOPSIS
diff --git a/doc/man/nvme_format_nvm_compln_event.2 b/doc/man/nvme_format_nvm_compln_event.2
index 54b462f..967826e 100644
--- a/doc/man/nvme_format_nvm_compln_event.2
+++ b/doc/man/nvme_format_nvm_compln_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_format_nvm_compln_event \- Format NVM Completion Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_format_nvm_start_event.2 b/doc/man/nvme_format_nvm_start_event.2
index 0356ae8..681aa10 100644
--- a/doc/man/nvme_format_nvm_start_event.2
+++ b/doc/man/nvme_format_nvm_start_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_format_nvm_start_event \- Format NVM Start Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_free_ctrl.2 b/doc/man/nvme_free_ctrl.2
index 9a4f5a0..3d7af4a 100644
--- a/doc/man/nvme_free_ctrl.2
+++ b/doc/man/nvme_free_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_free_ctrl \- Free controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_free_host.2 b/doc/man/nvme_free_host.2
index 3738b31..f61d3c5 100644
--- a/doc/man/nvme_free_host.2
+++ b/doc/man/nvme_free_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_free_host" 9 "nvme_free_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_free_host" 9 "nvme_free_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_free_host \- Free nvme_host_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_free_ns.2 b/doc/man/nvme_free_ns.2
index 84dcd16..dcf1325 100644
--- a/doc/man/nvme_free_ns.2
+++ b/doc/man/nvme_free_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_free_ns" 9 "nvme_free_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_free_ns" 9 "nvme_free_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_free_ns \- Free a namespace object
.SH SYNOPSIS
diff --git a/doc/man/nvme_free_subsystem.2 b/doc/man/nvme_free_subsystem.2
index d437768..dd2354a 100644
--- a/doc/man/nvme_free_subsystem.2
+++ b/doc/man/nvme_free_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_free_subsystem \- Free a subsystem
.SH SYNOPSIS
diff --git a/doc/man/nvme_free_tree.2 b/doc/man/nvme_free_tree.2
index 3bfd358..c2a17dd 100644
--- a/doc/man/nvme_free_tree.2
+++ b/doc/man/nvme_free_tree.2
@@ -1,4 +1,4 @@
-.TH "nvme_free_tree" 9 "nvme_free_tree" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_free_tree" 9 "nvme_free_tree" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_free_tree \- Free root object
.SH SYNOPSIS
diff --git a/doc/man/nvme_fw_commit.2 b/doc/man/nvme_fw_commit.2
index f377419..6228653 100644
--- a/doc/man/nvme_fw_commit.2
+++ b/doc/man/nvme_fw_commit.2
@@ -1,4 +1,4 @@
-.TH "nvme_fw_commit" 9 "nvme_fw_commit" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_fw_commit" 9 "nvme_fw_commit" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_fw_commit \- Commit firmware using the specified action
.SH SYNOPSIS
diff --git a/doc/man/nvme_fw_commit_ca.2 b/doc/man/nvme_fw_commit_ca.2
index adea8e6..5c02ae9 100644
--- a/doc/man/nvme_fw_commit_ca.2
+++ b/doc/man/nvme_fw_commit_ca.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_fw_commit_ca" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fw_commit_ca" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_fw_commit_ca \- Firmware Commit - Commit Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_fw_commit_event.2 b/doc/man/nvme_fw_commit_event.2
index 76a0629..6800b92 100644
--- a/doc/man/nvme_fw_commit_event.2
+++ b/doc/man/nvme_fw_commit_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_fw_commit_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fw_commit_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_fw_commit_event \- Firmware Commit Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_fw_download.2 b/doc/man/nvme_fw_download.2
index e889e7a..a665318 100644
--- a/doc/man/nvme_fw_download.2
+++ b/doc/man/nvme_fw_download.2
@@ -1,4 +1,4 @@
-.TH "nvme_fw_download" 9 "nvme_fw_download" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_fw_download" 9 "nvme_fw_download" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_fw_download \- Download part or all of a firmware image to the controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_fw_download_seq.2 b/doc/man/nvme_fw_download_seq.2
index 51c545e..c790221 100644
--- a/doc/man/nvme_fw_download_seq.2
+++ b/doc/man/nvme_fw_download_seq.2
@@ -1,4 +1,4 @@
-.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_fw_download_seq \- Firmware download sequence
.SH SYNOPSIS
diff --git a/doc/man/nvme_gen_dhchap_key.2 b/doc/man/nvme_gen_dhchap_key.2
index c4616ca..19531c9 100644
--- a/doc/man/nvme_gen_dhchap_key.2
+++ b/doc/man/nvme_gen_dhchap_key.2
@@ -1,4 +1,4 @@
-.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_gen_dhchap_key \- DH-HMAC-CHAP key generation
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_ana_log_len.2 b/doc/man/nvme_get_ana_log_len.2
index a5856d5..0f47d50 100644
--- a/doc/man/nvme_get_ana_log_len.2
+++ b/doc/man/nvme_get_ana_log_len.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_ana_log_len \- Retrieve size of the current ANA log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_attr.2 b/doc/man/nvme_get_attr.2
index f68365c..f5c273f 100644
--- a/doc/man/nvme_get_attr.2
+++ b/doc/man/nvme_get_attr.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_attr" 9 "nvme_get_attr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_attr" 9 "nvme_get_attr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_attr \- Read sysfs attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_ctrl_attr.2 b/doc/man/nvme_get_ctrl_attr.2
index 04fb5e1..9c28999 100644
--- a/doc/man/nvme_get_ctrl_attr.2
+++ b/doc/man/nvme_get_ctrl_attr.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_ctrl_attr \- Read controller sysfs attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_ctrl_telemetry.2 b/doc/man/nvme_get_ctrl_telemetry.2
index 3ac2c8b..33d5c16 100644
--- a/doc/man/nvme_get_ctrl_telemetry.2
+++ b/doc/man/nvme_get_ctrl_telemetry.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_ctrl_telemetry \- Get controller telemetry log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_directive_receive_length.2 b/doc/man/nvme_get_directive_receive_length.2
index 686d7cd..e38aca9 100644
--- a/doc/man/nvme_get_directive_receive_length.2
+++ b/doc/man/nvme_get_directive_receive_length.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_directive_receive_length \- Get directive receive length
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_discovery_args.2 b/doc/man/nvme_get_discovery_args.2
new file mode 100644
index 0000000..d80b614
--- /dev/null
+++ b/doc/man/nvme_get_discovery_args.2
@@ -0,0 +1,35 @@
+.TH "libnvme" 9 "struct nvme_get_discovery_args" "October 2022" "API Manual" LINUX
+.SH NAME
+struct nvme_get_discovery_args \- Arguments for nvmf_get_discovery_wargs()
+.SH SYNOPSIS
+struct nvme_get_discovery_args {
+.br
+.BI " nvme_ctrl_t c;"
+.br
+.BI " int args_size;"
+.br
+.BI " int max_retries;"
+.br
+.BI " __u32 *result;"
+.br
+.BI " __u32 timeout;"
+.br
+.BI " __u8 lsp;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "c" 12
+Discovery controller
+.IP "args_size" 12
+Length of the structure
+.IP "max_retries" 12
+Number of retries in case of failure
+.IP "result" 12
+The command completion result from CQE dword0
+.IP "timeout" 12
+Timeout in ms (default: NVME_DEFAULT_IOCTL_TIMEOUT)
+.IP "lsp" 12
+Log specific field (See enum nvmf_log_discovery_lsp)
diff --git a/doc/man/nvme_get_feature_length.2 b/doc/man/nvme_get_feature_length.2
index e415320..b176a02 100644
--- a/doc/man/nvme_get_feature_length.2
+++ b/doc/man/nvme_get_feature_length.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_feature_length \- Retreive the command payload length for a specific feature identifier
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_feature_length2.2 b/doc/man/nvme_get_feature_length2.2
new file mode 100644
index 0000000..9a3d5a9
--- /dev/null
+++ b/doc/man/nvme_get_feature_length2.2
@@ -0,0 +1,24 @@
+.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_get_feature_length2 \- Retreive the command payload length for a specific feature identifier
+.SH SYNOPSIS
+.B "int" nvme_get_feature_length2
+.BI "(int fid " ","
+.BI "__u32 cdw11 " ","
+.BI "enum nvme_data_tfr dir " ","
+.BI "__u32 *len " ");"
+.SH ARGUMENTS
+.IP "fid" 12
+Feature identifier, see \fIenum nvme_features_id\fP.
+.IP "cdw11" 12
+The cdw11 value may affect the transfer (only known fid is
+NVME_FEAT_FID_HOST_ID)
+.IP "dir" 12
+Data transfer direction: false - host to controller, true -
+controller to host may affect the transfer (only known fid is
+NVME_FEAT_FID_HOST_MEM_BUF).
+.IP "len" 12
+On success, set to this features payload length in bytes.
+.SH "RETURN"
+0 on success, -1 with errno set to EINVAL if the function did not
+recognize \fIfid\fP.
diff --git a/doc/man/nvme_get_features.2 b/doc/man/nvme_get_features.2
index bfa165f..98d10ce 100644
--- a/doc/man/nvme_get_features.2
+++ b/doc/man/nvme_get_features.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features" 9 "nvme_get_features" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features" 9 "nvme_get_features" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features \- Retrieve a feature attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_arbitration.2 b/doc/man/nvme_get_features_arbitration.2
index 3dd2755..d179153 100644
--- a/doc/man/nvme_get_features_arbitration.2
+++ b/doc/man/nvme_get_features_arbitration.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_arbitration \- Get arbitration feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_async_event.2 b/doc/man/nvme_get_features_async_event.2
index 136083d..dd32249 100644
--- a/doc/man/nvme_get_features_async_event.2
+++ b/doc/man/nvme_get_features_async_event.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_async_event \- Get asynchronous event feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_auto_pst.2 b/doc/man/nvme_get_features_auto_pst.2
index 294185f..3841101 100644
--- a/doc/man/nvme_get_features_auto_pst.2
+++ b/doc/man/nvme_get_features_auto_pst.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_auto_pst \- Get autonomous power state feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_data.2 b/doc/man/nvme_get_features_data.2
index 5e52115..2091ad6 100644
--- a/doc/man/nvme_get_features_data.2
+++ b/doc/man/nvme_get_features_data.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_data" 9 "nvme_get_features_data" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_data" 9 "nvme_get_features_data" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_data \- Helper function for @nvme_get_features()
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_endurance_event_cfg.2 b/doc/man/nvme_get_features_endurance_event_cfg.2
index 5b75c92..9ccac84 100644
--- a/doc/man/nvme_get_features_endurance_event_cfg.2
+++ b/doc/man/nvme_get_features_endurance_event_cfg.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_endurance_event_cfg \- Get endurance event config feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_err_recovery.2 b/doc/man/nvme_get_features_err_recovery.2
index 679f201..a40fe1b 100644
--- a/doc/man/nvme_get_features_err_recovery.2
+++ b/doc/man/nvme_get_features_err_recovery.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_err_recovery \- Get error recovery feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_hctm.2 b/doc/man/nvme_get_features_hctm.2
index bcdbcd2..ede7b19 100644
--- a/doc/man/nvme_get_features_hctm.2
+++ b/doc/man/nvme_get_features_hctm.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_hctm \- Get thermal management feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_host_behavior.2 b/doc/man/nvme_get_features_host_behavior.2
index 541042b..6086336 100644
--- a/doc/man/nvme_get_features_host_behavior.2
+++ b/doc/man/nvme_get_features_host_behavior.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_behavior \- Get host behavior feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_host_id.2 b/doc/man/nvme_get_features_host_id.2
index f162e02..52a611a 100644
--- a/doc/man/nvme_get_features_host_id.2
+++ b/doc/man/nvme_get_features_host_id.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_id \- Get host id feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_host_mem_buf.2 b/doc/man/nvme_get_features_host_mem_buf.2
index 7a88166..92eaf75 100644
--- a/doc/man/nvme_get_features_host_mem_buf.2
+++ b/doc/man/nvme_get_features_host_mem_buf.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_mem_buf \- Get host memory buffer feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_iocs_profile.2 b/doc/man/nvme_get_features_iocs_profile.2
index f1a78fe..6a961a4 100644
--- a/doc/man/nvme_get_features_iocs_profile.2
+++ b/doc/man/nvme_get_features_iocs_profile.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_iocs_profile \- Get IOCS profile feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_irq_coalesce.2 b/doc/man/nvme_get_features_irq_coalesce.2
index ade03a8..f09f537 100644
--- a/doc/man/nvme_get_features_irq_coalesce.2
+++ b/doc/man/nvme_get_features_irq_coalesce.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_irq_coalesce \- Get IRQ coalesce feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_irq_config.2 b/doc/man/nvme_get_features_irq_config.2
index 2a6f9d4..f07d1b6 100644
--- a/doc/man/nvme_get_features_irq_config.2
+++ b/doc/man/nvme_get_features_irq_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_irq_config \- Get IRQ config feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_kato.2 b/doc/man/nvme_get_features_kato.2
index c9b7e1e..da3130c 100644
--- a/doc/man/nvme_get_features_kato.2
+++ b/doc/man/nvme_get_features_kato.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_kato \- Get keep alive timeout feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_lba_range.2 b/doc/man/nvme_get_features_lba_range.2
index 861d375..88ac731 100644
--- a/doc/man/nvme_get_features_lba_range.2
+++ b/doc/man/nvme_get_features_lba_range.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_lba_range \- Get LBA range feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_lba_sts_interval.2 b/doc/man/nvme_get_features_lba_sts_interval.2
index 1361e02..2c77cfc 100644
--- a/doc/man/nvme_get_features_lba_sts_interval.2
+++ b/doc/man/nvme_get_features_lba_sts_interval.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_lba_sts_interval \- Get LBA status information feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_nopsc.2 b/doc/man/nvme_get_features_nopsc.2
index 3ac22cc..7710964 100644
--- a/doc/man/nvme_get_features_nopsc.2
+++ b/doc/man/nvme_get_features_nopsc.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_nopsc \- Get non-operational power state feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_num_queues.2 b/doc/man/nvme_get_features_num_queues.2
index 863638e..4a577a9 100644
--- a/doc/man/nvme_get_features_num_queues.2
+++ b/doc/man/nvme_get_features_num_queues.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_num_queues \- Get number of queues feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_plm_config.2 b/doc/man/nvme_get_features_plm_config.2
index 6911319..ec2f5ce 100644
--- a/doc/man/nvme_get_features_plm_config.2
+++ b/doc/man/nvme_get_features_plm_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_plm_config \- Get predictable latency feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_plm_window.2 b/doc/man/nvme_get_features_plm_window.2
index 14095d1..1b653a9 100644
--- a/doc/man/nvme_get_features_plm_window.2
+++ b/doc/man/nvme_get_features_plm_window.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_plm_window \- Get window select feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_power_mgmt.2 b/doc/man/nvme_get_features_power_mgmt.2
index c89fcec..75f7a01 100644
--- a/doc/man/nvme_get_features_power_mgmt.2
+++ b/doc/man/nvme_get_features_power_mgmt.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_power_mgmt \- Get power management feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_resv_mask.2 b/doc/man/nvme_get_features_resv_mask.2
index 815dc8d..059ae3b 100644
--- a/doc/man/nvme_get_features_resv_mask.2
+++ b/doc/man/nvme_get_features_resv_mask.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_resv_mask \- Get reservation mask feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_resv_persist.2 b/doc/man/nvme_get_features_resv_persist.2
index 3b7315c..5634e9e 100644
--- a/doc/man/nvme_get_features_resv_persist.2
+++ b/doc/man/nvme_get_features_resv_persist.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_resv_persist \- Get reservation persist feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_rrl.2 b/doc/man/nvme_get_features_rrl.2
index 1cde710..a20b8fc 100644
--- a/doc/man/nvme_get_features_rrl.2
+++ b/doc/man/nvme_get_features_rrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_rrl \- Get read recovery level feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_sanitize.2 b/doc/man/nvme_get_features_sanitize.2
index 625f014..b5869ec 100644
--- a/doc/man/nvme_get_features_sanitize.2
+++ b/doc/man/nvme_get_features_sanitize.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_sanitize \- Get sanitize feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_sel.2 b/doc/man/nvme_get_features_sel.2
index 2eff9b7..7381831 100644
--- a/doc/man/nvme_get_features_sel.2
+++ b/doc/man/nvme_get_features_sel.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_get_features_sel" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_get_features_sel" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_get_features_sel \- Get Features - Select
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_simple.2 b/doc/man/nvme_get_features_simple.2
index 8712cf7..e528114 100644
--- a/doc/man/nvme_get_features_simple.2
+++ b/doc/man/nvme_get_features_simple.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_simple \- Helper function for @nvme_get_features()
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_sw_progress.2 b/doc/man/nvme_get_features_sw_progress.2
index b3f9d74..745221c 100644
--- a/doc/man/nvme_get_features_sw_progress.2
+++ b/doc/man/nvme_get_features_sw_progress.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_sw_progress \- Get software progress feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_temp_thresh.2 b/doc/man/nvme_get_features_temp_thresh.2
index 7d6cca8..30d0e97 100644
--- a/doc/man/nvme_get_features_temp_thresh.2
+++ b/doc/man/nvme_get_features_temp_thresh.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_temp_thresh \- Get temperature threshold feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_timestamp.2 b/doc/man/nvme_get_features_timestamp.2
index 10518bd..d8c6503 100644
--- a/doc/man/nvme_get_features_timestamp.2
+++ b/doc/man/nvme_get_features_timestamp.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_timestamp \- Get timestamp feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_volatile_wc.2 b/doc/man/nvme_get_features_volatile_wc.2
index 3d05971..76db21e 100644
--- a/doc/man/nvme_get_features_volatile_wc.2
+++ b/doc/man/nvme_get_features_volatile_wc.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_volatile_wc \- Get volatile write cache feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_write_atomic.2 b/doc/man/nvme_get_features_write_atomic.2
index 2dbbce3..8d4d814 100644
--- a/doc/man/nvme_get_features_write_atomic.2
+++ b/doc/man/nvme_get_features_write_atomic.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_write_atomic \- Get write atomic feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_features_write_protect.2 b/doc/man/nvme_get_features_write_protect.2
index 63e81ff..4ad6411 100644
--- a/doc/man/nvme_get_features_write_protect.2
+++ b/doc/man/nvme_get_features_write_protect.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_write_protect \- Get write protect feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_host_telemetry.2 b/doc/man/nvme_get_host_telemetry.2
index 6d78fff..c5df379 100644
--- a/doc/man/nvme_get_host_telemetry.2
+++ b/doc/man/nvme_get_host_telemetry.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_host_telemetry \- Get host telemetry log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_lba_status.2 b/doc/man/nvme_get_lba_status.2
index 3ee965c..cab0c57 100644
--- a/doc/man/nvme_get_lba_status.2
+++ b/doc/man/nvme_get_lba_status.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_lba_status \- Retrieve information on possibly unrecoverable LBAs
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_lba_status_log.2 b/doc/man/nvme_get_lba_status_log.2
index 860e4b8..4490880 100644
--- a/doc/man/nvme_get_lba_status_log.2
+++ b/doc/man/nvme_get_lba_status_log.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_lba_status_log \- Retrieve the LBA Status log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log.2 b/doc/man/nvme_get_log.2
index 86b5a82..5c9f50c 100644
--- a/doc/man/nvme_get_log.2
+++ b/doc/man/nvme_get_log.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log" 9 "nvme_get_log" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log" 9 "nvme_get_log" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log \- NVMe Admin Get Log command
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_ana.2 b/doc/man/nvme_get_log_ana.2
index f26ee0e..46d0931 100644
--- a/doc/man/nvme_get_log_ana.2
+++ b/doc/man/nvme_get_log_ana.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_ana \- Retrieve Asymmetric Namespace Access log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_ana_groups.2 b/doc/man/nvme_get_log_ana_groups.2
index 89e7bfa..6f4a07c 100644
--- a/doc/man/nvme_get_log_ana_groups.2
+++ b/doc/man/nvme_get_log_ana_groups.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_boot_partition.2 b/doc/man/nvme_get_log_boot_partition.2
index d40fba8..b8d65b0 100644
--- a/doc/man/nvme_get_log_boot_partition.2
+++ b/doc/man/nvme_get_log_boot_partition.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_boot_partition \- Retrieve Boot Partition
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_changed_ns_list.2 b/doc/man/nvme_get_log_changed_ns_list.2
index 1cd36d6..9ce502e 100644
--- a/doc/man/nvme_get_log_changed_ns_list.2
+++ b/doc/man/nvme_get_log_changed_ns_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_changed_ns_list \- Retrieve namespace changed list
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_cmd_effects.2 b/doc/man/nvme_get_log_cmd_effects.2
index 8a06c8a..a5a78b0 100644
--- a/doc/man/nvme_get_log_cmd_effects.2
+++ b/doc/man/nvme_get_log_cmd_effects.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_cmd_effects \- Retrieve nvme command effects log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_create_telemetry_host.2 b/doc/man/nvme_get_log_create_telemetry_host.2
index c9313b0..feae35b 100644
--- a/doc/man/nvme_get_log_create_telemetry_host.2
+++ b/doc/man/nvme_get_log_create_telemetry_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_create_telemetry_host \- Create host telemetry log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_device_self_test.2 b/doc/man/nvme_get_log_device_self_test.2
index 0daddca..710f0a0 100644
--- a/doc/man/nvme_get_log_device_self_test.2
+++ b/doc/man/nvme_get_log_device_self_test.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_device_self_test \- Retrieve the device self test log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_discovery.2 b/doc/man/nvme_get_log_discovery.2
index 761dfc6..3954a13 100644
--- a/doc/man/nvme_get_log_discovery.2
+++ b/doc/man/nvme_get_log_discovery.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_discovery \- Retrieve Discovery log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_endurance_group.2 b/doc/man/nvme_get_log_endurance_group.2
index 99af510..7690ec7 100644
--- a/doc/man/nvme_get_log_endurance_group.2
+++ b/doc/man/nvme_get_log_endurance_group.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_endurance_group \- Get Endurance Group log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_endurance_grp_evt.2 b/doc/man/nvme_get_log_endurance_grp_evt.2
index 56eb332..2be5ff3 100644
--- a/doc/man/nvme_get_log_endurance_grp_evt.2
+++ b/doc/man/nvme_get_log_endurance_grp_evt.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_endurance_grp_evt \- Retrieve Rotational Media Information
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_error.2 b/doc/man/nvme_get_log_error.2
index a923da1..09bdd32 100644
--- a/doc/man/nvme_get_log_error.2
+++ b/doc/man/nvme_get_log_error.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_error" 9 "nvme_get_log_error" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_error" 9 "nvme_get_log_error" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_error \- Retrieve nvme error log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_fid_supported_effects.2 b/doc/man/nvme_get_log_fid_supported_effects.2
index 9944914..7b4b8e5 100644
--- a/doc/man/nvme_get_log_fid_supported_effects.2
+++ b/doc/man/nvme_get_log_fid_supported_effects.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_fw_slot.2 b/doc/man/nvme_get_log_fw_slot.2
index bc52c58..2792ba6 100644
--- a/doc/man/nvme_get_log_fw_slot.2
+++ b/doc/man/nvme_get_log_fw_slot.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fw_slot \- Retrieves the controller firmware log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_lba_status.2 b/doc/man/nvme_get_log_lba_status.2
index 8e23341..723e6b1 100644
--- a/doc/man/nvme_get_log_lba_status.2
+++ b/doc/man/nvme_get_log_lba_status.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_lba_status \- Retrieve LBA Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_media_unit_stat.2 b/doc/man/nvme_get_log_media_unit_stat.2
index 7480e08..117034b 100644
--- a/doc/man/nvme_get_log_media_unit_stat.2
+++ b/doc/man/nvme_get_log_media_unit_stat.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_media_unit_stat \- Retrieve Media Unit Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_get_log_mi_cmd_supported_effects.2
index 23abcbe..c153f1d 100644
--- a/doc/man/nvme_get_log_mi_cmd_supported_effects.2
+++ b/doc/man/nvme_get_log_mi_cmd_supported_effects.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_page.2 b/doc/man/nvme_get_log_page.2
index 773645c..bff7063 100644
--- a/doc/man/nvme_get_log_page.2
+++ b/doc/man/nvme_get_log_page.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_page" 9 "nvme_get_log_page" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_page" 9 "nvme_get_log_page" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_page \- Get log page data
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_persistent_event.2 b/doc/man/nvme_get_log_persistent_event.2
index c1d215f..168e4e9 100644
--- a/doc/man/nvme_get_log_persistent_event.2
+++ b/doc/man/nvme_get_log_persistent_event.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_persistent_event \- Retrieve Persistent Event Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_predictable_lat_event.2 b/doc/man/nvme_get_log_predictable_lat_event.2
index 09ff289..ca8a071 100644
--- a/doc/man/nvme_get_log_predictable_lat_event.2
+++ b/doc/man/nvme_get_log_predictable_lat_event.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_get_log_predictable_lat_nvmset.2
index f0525cf..653e807 100644
--- a/doc/man/nvme_get_log_predictable_lat_nvmset.2
+++ b/doc/man/nvme_get_log_predictable_lat_nvmset.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_reservation.2 b/doc/man/nvme_get_log_reservation.2
index 21032c4..ec14ee4 100644
--- a/doc/man/nvme_get_log_reservation.2
+++ b/doc/man/nvme_get_log_reservation.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_reservation \- Retrieve Reservation Notification
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_sanitize.2 b/doc/man/nvme_get_log_sanitize.2
index 2b4afa4..bc935bd 100644
--- a/doc/man/nvme_get_log_sanitize.2
+++ b/doc/man/nvme_get_log_sanitize.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_sanitize \- Retrieve Sanitize Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_smart.2 b/doc/man/nvme_get_log_smart.2
index 5d3f74f..3f232ad 100644
--- a/doc/man/nvme_get_log_smart.2
+++ b/doc/man/nvme_get_log_smart.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_smart \- Retrieve nvme smart log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_support_cap_config_list.2 b/doc/man/nvme_get_log_support_cap_config_list.2
index a7239ba..f0a94a3 100644
--- a/doc/man/nvme_get_log_support_cap_config_list.2
+++ b/doc/man/nvme_get_log_support_cap_config_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_supported_log_pages.2 b/doc/man/nvme_get_log_supported_log_pages.2
index 2e32b04..832a566 100644
--- a/doc/man/nvme_get_log_supported_log_pages.2
+++ b/doc/man/nvme_get_log_supported_log_pages.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_supported_log_pages \- Retrieve nmve supported log pages
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_telemetry_ctrl.2 b/doc/man/nvme_get_log_telemetry_ctrl.2
index 4039917..110dab0 100644
--- a/doc/man/nvme_get_log_telemetry_ctrl.2
+++ b/doc/man/nvme_get_log_telemetry_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_telemetry_host.2 b/doc/man/nvme_get_log_telemetry_host.2
index 43bc5dc..56cabae 100644
--- a/doc/man/nvme_get_log_telemetry_host.2
+++ b/doc/man/nvme_get_log_telemetry_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_telemetry_host \- Get Telemetry Host-Initiated log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_log_zns_changed_zones.2 b/doc/man/nvme_get_log_zns_changed_zones.2
index 1b2f440..10906fa 100644
--- a/doc/man/nvme_get_log_zns_changed_zones.2
+++ b/doc/man/nvme_get_log_zns_changed_zones.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_zns_changed_zones \- Retrieve list of zones that have changed
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_logical_block_size.2 b/doc/man/nvme_get_logical_block_size.2
index 66fdf64..5a86abb 100644
--- a/doc/man/nvme_get_logical_block_size.2
+++ b/doc/man/nvme_get_logical_block_size.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_logical_block_size \- Retrieve block size
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_new_host_telemetry.2 b/doc/man/nvme_get_new_host_telemetry.2
index 3766f3c..90f3210 100644
--- a/doc/man/nvme_get_new_host_telemetry.2
+++ b/doc/man/nvme_get_new_host_telemetry.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_new_host_telemetry \- Get new host telemetry log
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_ns_attr.2 b/doc/man/nvme_get_ns_attr.2
index 5b5abb6..bf9977d 100644
--- a/doc/man/nvme_get_ns_attr.2
+++ b/doc/man/nvme_get_ns_attr.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_ns_attr \- Read namespace sysfs attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_nsid.2 b/doc/man/nvme_get_nsid.2
index d0b4a9c..ece18ec 100644
--- a/doc/man/nvme_get_nsid.2
+++ b/doc/man/nvme_get_nsid.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_nsid" 9 "nvme_get_nsid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_nsid" 9 "nvme_get_nsid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_nsid \- Retrieve the NSID from a namespace file descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_path_attr.2 b/doc/man/nvme_get_path_attr.2
index ca6dce4..e7044a4 100644
--- a/doc/man/nvme_get_path_attr.2
+++ b/doc/man/nvme_get_path_attr.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_path_attr \- Read path sysfs attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_property.2 b/doc/man/nvme_get_property.2
index 4f2c040..bad5b54 100644
--- a/doc/man/nvme_get_property.2
+++ b/doc/man/nvme_get_property.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_property" 9 "nvme_get_property" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_property" 9 "nvme_get_property" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_property \- Get a controller property
.SH SYNOPSIS
diff --git a/doc/man/nvme_get_subsys_attr.2 b/doc/man/nvme_get_subsys_attr.2
index a9cf272..39d632d 100644
--- a/doc/man/nvme_get_subsys_attr.2
+++ b/doc/man/nvme_get_subsys_attr.2
@@ -1,4 +1,4 @@
-.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_get_subsys_attr \- Read subsystem sysfs attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_hmac_alg.2 b/doc/man/nvme_hmac_alg.2
index e478574..e2699d9 100644
--- a/doc/man/nvme_hmac_alg.2
+++ b/doc/man/nvme_hmac_alg.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_hmac_alg" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_hmac_alg" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_hmac_alg \- HMAC algorithm
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_behavior_support.2 b/doc/man/nvme_host_behavior_support.2
index 8c22a36..dc6f2c9 100644
--- a/doc/man/nvme_host_behavior_support.2
+++ b/doc/man/nvme_host_behavior_support.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_host_behavior_support" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_host_behavior_support" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_host_behavior_support \- Enable Advanced Command
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_get_dhchap_key.2 b/doc/man/nvme_host_get_dhchap_key.2
index 657436f..5eabfd3 100644
--- a/doc/man/nvme_host_get_dhchap_key.2
+++ b/doc/man/nvme_host_get_dhchap_key.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_dhchap_key \- Return host key
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_get_hostid.2 b/doc/man/nvme_host_get_hostid.2
index 58db781..afa6178 100644
--- a/doc/man/nvme_host_get_hostid.2
+++ b/doc/man/nvme_host_get_hostid.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostid \- Host ID of an nvme_host_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_get_hostnqn.2 b/doc/man/nvme_host_get_hostnqn.2
index d554904..0c897d6 100644
--- a/doc/man/nvme_host_get_hostnqn.2
+++ b/doc/man/nvme_host_get_hostnqn.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostnqn \- Host NQN of an nvme_host_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_get_hostsymname.2 b/doc/man/nvme_host_get_hostsymname.2
index b22d56e..c021b56 100644
--- a/doc/man/nvme_host_get_hostsymname.2
+++ b/doc/man/nvme_host_get_hostsymname.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostsymname \- Get the host's symbolic name
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_get_root.2 b/doc/man/nvme_host_get_root.2
index c405fb4..29a74b0 100644
--- a/doc/man/nvme_host_get_root.2
+++ b/doc/man/nvme_host_get_root.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_get_root" 9 "nvme_host_get_root" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_get_root" 9 "nvme_host_get_root" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_root \- Returns nvme_root_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_mem_buf_attrs.2 b/doc/man/nvme_host_mem_buf_attrs.2
index abf2cdd..9d4da55 100644
--- a/doc/man/nvme_host_mem_buf_attrs.2
+++ b/doc/man/nvme_host_mem_buf_attrs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_host_mem_buf_attrs \- Host Memory Buffer - Attributes Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_metadata.2 b/doc/man/nvme_host_metadata.2
index 213d87b..c329d95 100644
--- a/doc/man/nvme_host_metadata.2
+++ b/doc/man/nvme_host_metadata.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_host_metadata" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_host_metadata" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_host_metadata \- Host Metadata Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_set_dhchap_key.2 b/doc/man/nvme_host_set_dhchap_key.2
index 5e6fbf9..96704fa 100644
--- a/doc/man/nvme_host_set_dhchap_key.2
+++ b/doc/man/nvme_host_set_dhchap_key.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_set_dhchap_key \- set host key
.SH SYNOPSIS
diff --git a/doc/man/nvme_host_set_hostsymname.2 b/doc/man/nvme_host_set_hostsymname.2
index d7822cf..f8b3725 100644
--- a/doc/man/nvme_host_set_hostsymname.2
+++ b/doc/man/nvme_host_set_hostsymname.2
@@ -1,4 +1,4 @@
-.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_host_set_hostsymname \- Set the host's symbolic name
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl.2 b/doc/man/nvme_id_ctrl.2
index e057d7c..9d0661f 100644
--- a/doc/man/nvme_id_ctrl.2
+++ b/doc/man/nvme_id_ctrl.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_ctrl" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ctrl" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_ctrl \- Identify Controller data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_anacap.2 b/doc/man/nvme_id_ctrl_anacap.2
index fdb83d9..7046e5c 100644
--- a/doc/man/nvme_id_ctrl_anacap.2
+++ b/doc/man/nvme_id_ctrl_anacap.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_anacap \- This field indicates the capabilities associated with Asymmetric Namespace Access Reporting.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_apsta.2 b/doc/man/nvme_id_ctrl_apsta.2
index 7e88fcf..bf40d5d 100644
--- a/doc/man/nvme_id_ctrl_apsta.2
+++ b/doc/man/nvme_id_ctrl_apsta.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_apsta \- Flags indicating the attributes of the autonomous power state transition feature.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_avscc.2 b/doc/man/nvme_id_ctrl_avscc.2
index 08bd8b8..138534e 100644
--- a/doc/man/nvme_id_ctrl_avscc.2
+++ b/doc/man/nvme_id_ctrl_avscc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_avscc \- Flags indicating the configuration settings for Admin Vendor Specific command handling.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_cmic.2 b/doc/man/nvme_id_ctrl_cmic.2
index 86cdb6c..4a9c640 100644
--- a/doc/man/nvme_id_ctrl_cmic.2
+++ b/doc/man/nvme_id_ctrl_cmic.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cmic \- Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_cntrltype.2 b/doc/man/nvme_id_ctrl_cntrltype.2
index b65bbfa..49af016 100644
--- a/doc/man/nvme_id_ctrl_cntrltype.2
+++ b/doc/man/nvme_id_ctrl_cntrltype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cntrltype \- Controller types
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_cqes.2 b/doc/man/nvme_id_ctrl_cqes.2
index 18e0612..a5d39b3 100644
--- a/doc/man/nvme_id_ctrl_cqes.2
+++ b/doc/man/nvme_id_ctrl_cqes.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cqes \- Defines the required and maximum Completion Queue entry size when using the NVM Command Set.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_ctratt.2 b/doc/man/nvme_id_ctrl_ctratt.2
index a2ee992..3e98d88 100644
--- a/doc/man/nvme_id_ctrl_ctratt.2
+++ b/doc/man/nvme_id_ctrl_ctratt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_ctratt \- Controller attributes
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_dctype.2 b/doc/man/nvme_id_ctrl_dctype.2
index 2a993cd..c7ac74b 100644
--- a/doc/man/nvme_id_ctrl_dctype.2
+++ b/doc/man/nvme_id_ctrl_dctype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_dctype \- Discovery Controller types
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_dsto.2 b/doc/man/nvme_id_ctrl_dsto.2
index 885ba57..7d365bb 100644
--- a/doc/man/nvme_id_ctrl_dsto.2
+++ b/doc/man/nvme_id_ctrl_dsto.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_dsto \- Flags indicating the optional Device Self-test command or operation behaviors supported by the controller or NVM subsystem.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_fcatt.2 b/doc/man/nvme_id_ctrl_fcatt.2
index 458f68b..1642213 100644
--- a/doc/man/nvme_id_ctrl_fcatt.2
+++ b/doc/man/nvme_id_ctrl_fcatt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fcatt \- This field indicates attributes of the controller that are specific to NVMe over Fabrics.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_fna.2 b/doc/man/nvme_id_ctrl_fna.2
index 31a97bc..edbd3d6 100644
--- a/doc/man/nvme_id_ctrl_fna.2
+++ b/doc/man/nvme_id_ctrl_fna.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fna \- This field indicates attributes for the Format NVM command.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_frmw.2 b/doc/man/nvme_id_ctrl_frmw.2
index 02d4fad..533dbf8 100644
--- a/doc/man/nvme_id_ctrl_frmw.2
+++ b/doc/man/nvme_id_ctrl_frmw.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_frmw \- Flags and values indicates capabilities regarding firmware updates from &struct nvme_id_ctrl.frmw.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_fuses.2 b/doc/man/nvme_id_ctrl_fuses.2
index 2d2ce70..272c604 100644
--- a/doc/man/nvme_id_ctrl_fuses.2
+++ b/doc/man/nvme_id_ctrl_fuses.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fuses \- This field indicates the fused operations that the controller supports.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_hctm.2 b/doc/man/nvme_id_ctrl_hctm.2
index b247be0..9d1106c 100644
--- a/doc/man/nvme_id_ctrl_hctm.2
+++ b/doc/man/nvme_id_ctrl_hctm.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_hctm \- Flags indicate the attributes of the host controlled thermal management feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_lpa.2 b/doc/man/nvme_id_ctrl_lpa.2
index 1bfc611..fc29d73 100644
--- a/doc/man/nvme_id_ctrl_lpa.2
+++ b/doc/man/nvme_id_ctrl_lpa.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_lpa \- Flags indicating optional attributes for log pages that are accessed via the Get Log Page command.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_mec.2 b/doc/man/nvme_id_ctrl_mec.2
index f0b6f3f..f26c443 100644
--- a/doc/man/nvme_id_ctrl_mec.2
+++ b/doc/man/nvme_id_ctrl_mec.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_mec \- Flags indicating the capabilities of the Management Endpoint in the Controller, &struct nvme_id_ctrl.mec.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_nvm.2 b/doc/man/nvme_id_ctrl_nvm.2
index 28060bd..4639578 100644
--- a/doc/man/nvme_id_ctrl_nvm.2
+++ b/doc/man/nvme_id_ctrl_nvm.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_ctrl_nvm \- I/O Command Set Specific Identify Controller data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_nvmsr.2 b/doc/man/nvme_id_ctrl_nvmsr.2
index a851626..52e2581 100644
--- a/doc/man/nvme_id_ctrl_nvmsr.2
+++ b/doc/man/nvme_id_ctrl_nvmsr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nvmsr \- This field reports information associated with the NVM Subsystem, see &struct nvme_id_ctrl.nvmsr.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_nvscc.2 b/doc/man/nvme_id_ctrl_nvscc.2
index a5bf117..a04d003 100644
--- a/doc/man/nvme_id_ctrl_nvscc.2
+++ b/doc/man/nvme_id_ctrl_nvscc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nvscc \- This field indicates the configuration settings for NVM Vendor Specific command handling.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_nwpc.2 b/doc/man/nvme_id_ctrl_nwpc.2
index 48699d1..05d915c 100644
--- a/doc/man/nvme_id_ctrl_nwpc.2
+++ b/doc/man/nvme_id_ctrl_nwpc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nwpc \- This field indicates the optional namespace write protection capabilities supported by the controller.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_oacs.2 b/doc/man/nvme_id_ctrl_oacs.2
index f06c95a..b67818f 100644
--- a/doc/man/nvme_id_ctrl_oacs.2
+++ b/doc/man/nvme_id_ctrl_oacs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oacs \- Flags indicating the optional Admin commands and features supported by the controller, see &struct nvme_id_ctrl.oacs.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_oaes.2 b/doc/man/nvme_id_ctrl_oaes.2
index 7257cb4..9b065b2 100644
--- a/doc/man/nvme_id_ctrl_oaes.2
+++ b/doc/man/nvme_id_ctrl_oaes.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oaes \- Optional Asynchronous Events Supported
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_ofcs.2 b/doc/man/nvme_id_ctrl_ofcs.2
index b93374e..e3c8a47 100644
--- a/doc/man/nvme_id_ctrl_ofcs.2
+++ b/doc/man/nvme_id_ctrl_ofcs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_ofcs \- Indicate whether the controller supports optional fabric commands.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_oncs.2 b/doc/man/nvme_id_ctrl_oncs.2
index e912516..011fc5c 100644
--- a/doc/man/nvme_id_ctrl_oncs.2
+++ b/doc/man/nvme_id_ctrl_oncs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oncs \- This field indicates the optional NVM commands and features supported by the controller.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_rpmbs.2 b/doc/man/nvme_id_ctrl_rpmbs.2
index 6dfcdd2..52ff266 100644
--- a/doc/man/nvme_id_ctrl_rpmbs.2
+++ b/doc/man/nvme_id_ctrl_rpmbs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_rpmbs \- This field indicates if the controller supports one or more Replay Protected Memory Blocks, from &struct nvme_id_ctrl.rpmbs.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_sanicap.2 b/doc/man/nvme_id_ctrl_sanicap.2
index bf9ad69..1a6456f 100644
--- a/doc/man/nvme_id_ctrl_sanicap.2
+++ b/doc/man/nvme_id_ctrl_sanicap.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sanicap \- Indicates attributes for sanitize operations.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_sgls.2 b/doc/man/nvme_id_ctrl_sgls.2
index a486713..fdfba05 100644
--- a/doc/man/nvme_id_ctrl_sgls.2
+++ b/doc/man/nvme_id_ctrl_sgls.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sgls \- This field indicates if SGLs are supported for the NVM Command Set and the particular SGL types supported.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_sqes.2 b/doc/man/nvme_id_ctrl_sqes.2
index 9358f77..4135fe8 100644
--- a/doc/man/nvme_id_ctrl_sqes.2
+++ b/doc/man/nvme_id_ctrl_sqes.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sqes \- Defines the required and maximum Submission Queue entry size when using the NVM Command Set.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_vwc.2 b/doc/man/nvme_id_ctrl_vwc.2
index ea196f3..3a36864 100644
--- a/doc/man/nvme_id_ctrl_vwc.2
+++ b/doc/man/nvme_id_ctrl_vwc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_vwc \- Volatile write cache
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ctrl_vwci.2 b/doc/man/nvme_id_ctrl_vwci.2
index e0b075c..53283c9 100644
--- a/doc/man/nvme_id_ctrl_vwci.2
+++ b/doc/man/nvme_id_ctrl_vwci.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_vwci \- This field indicates information about remaining number of times that VPD contents are able to be updated using the VPD Write command, see &struct nvme_id_ctrl.vwci.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_directives.2 b/doc/man/nvme_id_directives.2
index f04d12f..63267f6 100644
--- a/doc/man/nvme_id_directives.2
+++ b/doc/man/nvme_id_directives.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_directives" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_directives" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_directives \- Identify Directive - Return Parameters Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_domain_attr.2 b/doc/man/nvme_id_domain_attr.2
index f660cb8..1998ba3 100644
--- a/doc/man/nvme_id_domain_attr.2
+++ b/doc/man/nvme_id_domain_attr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_domain_attr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_domain_attr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_domain_attr \- Domain Attributes Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_domain_list.2 b/doc/man/nvme_id_domain_list.2
index d8dfb11..95b0a99 100644
--- a/doc/man/nvme_id_domain_list.2
+++ b/doc/man/nvme_id_domain_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_domain_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_domain_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_domain_list \- Domain List
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_endurance_group_list.2 b/doc/man/nvme_id_endurance_group_list.2
index 88317bf..94cd512 100644
--- a/doc/man/nvme_id_endurance_group_list.2
+++ b/doc/man/nvme_id_endurance_group_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_endurance_group_list \- Endurance Group List
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_independent_id_ns.2 b/doc/man/nvme_id_independent_id_ns.2
index 9dce1b2..704ed39 100644
--- a/doc/man/nvme_id_independent_id_ns.2
+++ b/doc/man/nvme_id_independent_id_ns.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_independent_id_ns \- Identify - I/O Command Set Independent Identify Namespace Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_iocs.2 b/doc/man/nvme_id_iocs.2
index c691f14..4145e17 100644
--- a/doc/man/nvme_id_iocs.2
+++ b/doc/man/nvme_id_iocs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_iocs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_iocs" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_iocs \- NVMe Identify IO Command Set data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns.2 b/doc/man/nvme_id_ns.2
index 6431f8e..ce284d8 100644
--- a/doc/man/nvme_id_ns.2
+++ b/doc/man/nvme_id_ns.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_ns" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_ns \- Identify Namespace data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_attr.2 b/doc/man/nvme_id_ns_attr.2
index e56f122..324faf0 100644
--- a/doc/man/nvme_id_ns_attr.2
+++ b/doc/man/nvme_id_ns_attr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_attr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_attr" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_attr \- Specifies attributes of the namespace.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_dlfeat.2 b/doc/man/nvme_id_ns_dlfeat.2
index 749fa36..6d98a2a 100644
--- a/doc/man/nvme_id_ns_dlfeat.2
+++ b/doc/man/nvme_id_ns_dlfeat.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dlfeat \- This field indicates information about features that affect deallocating logical blocks for this namespace.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_dpc.2 b/doc/man/nvme_id_ns_dpc.2
index 40093ed..57faa6f 100644
--- a/doc/man/nvme_id_ns_dpc.2
+++ b/doc/man/nvme_id_ns_dpc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_dpc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dpc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dpc \- This field indicates the capabilities for the end-to-end data protection feature.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_dps.2 b/doc/man/nvme_id_ns_dps.2
index bc7c1a6..ebd45d5 100644
--- a/doc/man/nvme_id_ns_dps.2
+++ b/doc/man/nvme_id_ns_dps.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_dps" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dps" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dps \- This field indicates the Type settings for the end-to-end data protection feature.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_flbas.2 b/doc/man/nvme_id_ns_flbas.2
index c65b5de..4d55384 100644
--- a/doc/man/nvme_id_ns_flbas.2
+++ b/doc/man/nvme_id_ns_flbas.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_flbas" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_flbas" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_flbas \- This field indicates the LBA data size & metadata size combination that the namespace has been formatted with
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_granularity_desc.2 b/doc/man/nvme_id_ns_granularity_desc.2
index 96303bf..1a3c8f3 100644
--- a/doc/man/nvme_id_ns_granularity_desc.2
+++ b/doc/man/nvme_id_ns_granularity_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_ns_granularity_desc \- Namespace Granularity Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_granularity_list.2 b/doc/man/nvme_id_ns_granularity_list.2
index 5245b1a..d4da19d 100644
--- a/doc/man/nvme_id_ns_granularity_list.2
+++ b/doc/man/nvme_id_ns_granularity_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_ns_granularity_list \- Namespace Granularity List
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_mc.2 b/doc/man/nvme_id_ns_mc.2
index 21bb73b..129614a 100644
--- a/doc/man/nvme_id_ns_mc.2
+++ b/doc/man/nvme_id_ns_mc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_mc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_mc" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_mc \- This field indicates the capabilities for metadata.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_nmic.2 b/doc/man/nvme_id_ns_nmic.2
index f4400e9..b27318e 100644
--- a/doc/man/nvme_id_ns_nmic.2
+++ b/doc/man/nvme_id_ns_nmic.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_nmic" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_nmic" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_nmic \- This field specifies multi-path I/O and namespace sharing capabilities of the namespace.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_ns_rescap.2 b/doc/man/nvme_id_ns_rescap.2
index 8fc112f..ccdeecd 100644
--- a/doc/man/nvme_id_ns_rescap.2
+++ b/doc/man/nvme_id_ns_rescap.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_ns_rescap" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_rescap" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_rescap \- This field indicates the reservation capabilities of the namespace.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_nsfeat.2 b/doc/man/nvme_id_nsfeat.2
index 7499cd2..881ee8f 100644
--- a/doc/man/nvme_id_nsfeat.2
+++ b/doc/man/nvme_id_nsfeat.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_nsfeat" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_nsfeat" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_nsfeat \- This field defines features of the namespace.
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_nvmset_list.2 b/doc/man/nvme_id_nvmset_list.2
index 90be349..6646458 100644
--- a/doc/man/nvme_id_nvmset_list.2
+++ b/doc/man/nvme_id_nvmset_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_nvmset_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_nvmset_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_nvmset_list \- NVM set list
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_psd.2 b/doc/man/nvme_id_psd.2
index c45e0ce..3e4864d 100644
--- a/doc/man/nvme_id_psd.2
+++ b/doc/man/nvme_id_psd.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_psd" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_psd" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_psd \- Power Management data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_uuid.2 b/doc/man/nvme_id_uuid.2
index 933719d..41ca728 100644
--- a/doc/man/nvme_id_uuid.2
+++ b/doc/man/nvme_id_uuid.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_id_uuid" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_uuid" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_id_uuid \- Identifier Association
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_uuid_list.2 b/doc/man/nvme_id_uuid_list.2
index 56a0957..2243279 100644
--- a/doc/man/nvme_id_uuid_list.2
+++ b/doc/man/nvme_id_uuid_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_uuid_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_uuid_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_uuid_list \- UUID list
.SH SYNOPSIS
diff --git a/doc/man/nvme_id_uuid_list_entry.2 b/doc/man/nvme_id_uuid_list_entry.2
index 9486ff4..c194b78 100644
--- a/doc/man/nvme_id_uuid_list_entry.2
+++ b/doc/man/nvme_id_uuid_list_entry.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_id_uuid_list_entry \- UUID List Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify.2 b/doc/man/nvme_identify.2
index 10cfa3d..b0cf067 100644
--- a/doc/man/nvme_identify.2
+++ b/doc/man/nvme_identify.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify" 9 "nvme_identify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify" 9 "nvme_identify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify \- Send the NVMe Identify command
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_active_ns_list.2 b/doc/man/nvme_identify_active_ns_list.2
index d82faac..8f9b412 100644
--- a/doc/man/nvme_identify_active_ns_list.2
+++ b/doc/man/nvme_identify_active_ns_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_active_ns_list \- Retrieves active namespaces id list
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_active_ns_list_csi.2 b/doc/man/nvme_identify_active_ns_list_csi.2
index 226a8bb..a87020c 100644
--- a/doc/man/nvme_identify_active_ns_list_csi.2
+++ b/doc/man/nvme_identify_active_ns_list_csi.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_active_ns_list_csi \- Active namespace ID list associated with a specified I/O command set
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_allocated_ns.2 b/doc/man/nvme_identify_allocated_ns.2
index cec9f1c..b4766ff 100644
--- a/doc/man/nvme_identify_allocated_ns.2
+++ b/doc/man/nvme_identify_allocated_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns \- Same as nvme_identify_ns, but only for allocated namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_allocated_ns_list.2 b/doc/man/nvme_identify_allocated_ns_list.2
index 4741560..15d9129 100644
--- a/doc/man/nvme_identify_allocated_ns_list.2
+++ b/doc/man/nvme_identify_allocated_ns_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns_list \- Retrieves allocated namespace id list
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_allocated_ns_list_csi.2 b/doc/man/nvme_identify_allocated_ns_list_csi.2
index 1c5b69e..a444b33 100644
--- a/doc/man/nvme_identify_allocated_ns_list_csi.2
+++ b/doc/man/nvme_identify_allocated_ns_list_csi.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns_list_csi \- Allocated namespace ID list associated with a specified I/O command set
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_cns.2 b/doc/man/nvme_identify_cns.2
index 6d1f707..1d11ffb 100644
--- a/doc/man/nvme_identify_cns.2
+++ b/doc/man/nvme_identify_cns.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_identify_cns" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_identify_cns" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_identify_cns \- Identify - CNS Values
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ctrl.2 b/doc/man/nvme_identify_ctrl.2
index e88ead4..606831b 100644
--- a/doc/man/nvme_identify_ctrl.2
+++ b/doc/man/nvme_identify_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl \- Retrieves nvme identify controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ctrl_csi.2 b/doc/man/nvme_identify_ctrl_csi.2
index 0563678..9d8bd03 100644
--- a/doc/man/nvme_identify_ctrl_csi.2
+++ b/doc/man/nvme_identify_ctrl_csi.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl_csi \- I/O command set specific Identify Controller data
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ctrl_list.2 b/doc/man/nvme_identify_ctrl_list.2
index 7a8f42d..3019f20 100644
--- a/doc/man/nvme_identify_ctrl_list.2
+++ b/doc/man/nvme_identify_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl_list \- Retrieves identify controller list
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_domain_list.2 b/doc/man/nvme_identify_domain_list.2
index bb6d659..18ec2e9 100644
--- a/doc/man/nvme_identify_domain_list.2
+++ b/doc/man/nvme_identify_domain_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_domain_list \- Domain list data
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_endurance_group_list.2 b/doc/man/nvme_identify_endurance_group_list.2
index 3fa011b..188dde4 100644
--- a/doc/man/nvme_identify_endurance_group_list.2
+++ b/doc/man/nvme_identify_endurance_group_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_endurance_group_list \- Endurance group list data
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_independent_identify_ns.2 b/doc/man/nvme_identify_independent_identify_ns.2
index 4e3db91..e9d4070 100644
--- a/doc/man/nvme_identify_independent_identify_ns.2
+++ b/doc/man/nvme_identify_independent_identify_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_independent_identify_ns \- I/O command set independent Identify namespace data
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_iocs.2 b/doc/man/nvme_identify_iocs.2
index edc64db..fdbd644 100644
--- a/doc/man/nvme_identify_iocs.2
+++ b/doc/man/nvme_identify_iocs.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_iocs \- I/O command set data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2
index ac16543..6bddd4c 100644
--- a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2
+++ b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_iocs_ns_csi_user_data_format \- Identify I/O command set namespace data structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ns.2 b/doc/man/nvme_identify_ns.2
index 39fd911..fa03c1d 100644
--- a/doc/man/nvme_identify_ns.2
+++ b/doc/man/nvme_identify_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ns" 9 "nvme_identify_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ns" 9 "nvme_identify_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns \- Retrieves nvme identify namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ns_csi.2 b/doc/man/nvme_identify_ns_csi.2
index e41e276..0d6437e 100644
--- a/doc/man/nvme_identify_ns_csi.2
+++ b/doc/man/nvme_identify_ns_csi.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_csi \- I/O command set specific identify namespace data
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ns_csi_user_data_format.2 b/doc/man/nvme_identify_ns_csi_user_data_format.2
index a8d85ae..f34c5f8 100644
--- a/doc/man/nvme_identify_ns_csi_user_data_format.2
+++ b/doc/man/nvme_identify_ns_csi_user_data_format.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_csi_user_data_format \- Identify namespace user data format
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ns_descs.2 b/doc/man/nvme_identify_ns_descs.2
index ac1a1f6..5f00ec1 100644
--- a/doc/man/nvme_identify_ns_descs.2
+++ b/doc/man/nvme_identify_ns_descs.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_descs \- Retrieves namespace descriptor list
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_ns_granularity.2 b/doc/man/nvme_identify_ns_granularity.2
index 01efee4..5361386 100644
--- a/doc/man/nvme_identify_ns_granularity.2
+++ b/doc/man/nvme_identify_ns_granularity.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_granularity \- Retrieves namespace granularity identification
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_nsid_ctrl_list.2 b/doc/man/nvme_identify_nsid_ctrl_list.2
index dc38f35..7eb5d07 100644
--- a/doc/man/nvme_identify_nsid_ctrl_list.2
+++ b/doc/man/nvme_identify_nsid_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_nsid_ctrl_list \- Retrieves controller list attached to an nsid
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_nvmset_list.2 b/doc/man/nvme_identify_nvmset_list.2
index e653bd8..139a20e 100644
--- a/doc/man/nvme_identify_nvmset_list.2
+++ b/doc/man/nvme_identify_nvmset_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_nvmset_list \- Retrieves NVM Set List
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_primary_ctrl.2 b/doc/man/nvme_identify_primary_ctrl.2
index 96ad2d7..6b725cb 100644
--- a/doc/man/nvme_identify_primary_ctrl.2
+++ b/doc/man/nvme_identify_primary_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_primary_ctrl \- Retrieve NVMe Primary Controller identification
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_secondary_ctrl_list.2 b/doc/man/nvme_identify_secondary_ctrl_list.2
index 1bc358b..354f1f0 100644
--- a/doc/man/nvme_identify_secondary_ctrl_list.2
+++ b/doc/man/nvme_identify_secondary_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_secondary_ctrl_list \- Retrieves secondary controller list
.SH SYNOPSIS
diff --git a/doc/man/nvme_identify_uuid.2 b/doc/man/nvme_identify_uuid.2
index d7a23c1..ff81c15 100644
--- a/doc/man/nvme_identify_uuid.2
+++ b/doc/man/nvme_identify_uuid.2
@@ -1,4 +1,4 @@
-.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_identify_uuid \- Retrieves device's UUIDs
.SH SYNOPSIS
diff --git a/doc/man/nvme_init_copy_range.2 b/doc/man/nvme_init_copy_range.2
index cc68ce8..7a3e786 100644
--- a/doc/man/nvme_init_copy_range.2
+++ b/doc/man/nvme_init_copy_range.2
@@ -1,4 +1,4 @@
-.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_init_copy_range \- Constructs a copy range structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_init_copy_range_f1.2 b/doc/man/nvme_init_copy_range_f1.2
new file mode 100644
index 0000000..2f2f3ad
--- /dev/null
+++ b/doc/man/nvme_init_copy_range_f1.2
@@ -0,0 +1,27 @@
+.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_init_copy_range_f1 \- Constructs a copy range f1 structure
+.SH SYNOPSIS
+.B "void" nvme_init_copy_range_f1
+.BI "(struct nvme_copy_range_f1 *copy " ","
+.BI "__u16 *nlbs " ","
+.BI "__u64 *slbas " ","
+.BI "__u64 *eilbrts " ","
+.BI "__u32 *elbatms " ","
+.BI "__u32 *elbats " ","
+.BI "__u16 nr " ");"
+.SH ARGUMENTS
+.IP "copy" 12
+Copy range array
+.IP "nlbs" 12
+Number of logical blocks
+.IP "slbas" 12
+Starting LBA
+.IP "eilbrts" 12
+Expected initial logical block reference tag
+.IP "elbatms" 12
+Expected logical block application tag mask
+.IP "elbats" 12
+Expected logical block application tag
+.IP "nr" 12
+Number of descriptors to construct
diff --git a/doc/man/nvme_init_ctrl.2 b/doc/man/nvme_init_ctrl.2
index c3d1a19..941281c 100644
--- a/doc/man/nvme_init_ctrl.2
+++ b/doc/man/nvme_init_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_init_ctrl \- Initialize nvme_ctrl_t object for an existing controller.
.SH SYNOPSIS
diff --git a/doc/man/nvme_init_ctrl_list.2 b/doc/man/nvme_init_ctrl_list.2
index 9dd3b92..44cf66c 100644
--- a/doc/man/nvme_init_ctrl_list.2
+++ b/doc/man/nvme_init_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_init_ctrl_list \- Initialize an nvme_ctrl_list structure from an array.
.SH SYNOPSIS
diff --git a/doc/man/nvme_init_dsm_range.2 b/doc/man/nvme_init_dsm_range.2
index 57bdb3d..b7d7b69 100644
--- a/doc/man/nvme_init_dsm_range.2
+++ b/doc/man/nvme_init_dsm_range.2
@@ -1,4 +1,4 @@
-.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_init_dsm_range \- Constructs a data set range structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_init_logging.2 b/doc/man/nvme_init_logging.2
index 626c541..f33d25b 100644
--- a/doc/man/nvme_init_logging.2
+++ b/doc/man/nvme_init_logging.2
@@ -1,4 +1,4 @@
-.TH "nvme_init_logging" 9 "nvme_init_logging" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_init_logging" 9 "nvme_init_logging" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_init_logging \- Initialize logging
.SH SYNOPSIS
diff --git a/doc/man/nvme_io.2 b/doc/man/nvme_io.2
index 64c0fc7..bb357b2 100644
--- a/doc/man/nvme_io.2
+++ b/doc/man/nvme_io.2
@@ -1,4 +1,4 @@
-.TH "nvme_io" 9 "nvme_io" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_io" 9 "nvme_io" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_io \- Submit an nvme user I/O command
.SH SYNOPSIS
diff --git a/doc/man/nvme_io_control_flags.2 b/doc/man/nvme_io_control_flags.2
index 72a2074..791f45b 100644
--- a/doc/man/nvme_io_control_flags.2
+++ b/doc/man/nvme_io_control_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_io_control_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_control_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_io_control_flags \- I/O control flags
.SH SYNOPSIS
diff --git a/doc/man/nvme_io_dsm_flags.2 b/doc/man/nvme_io_dsm_flags.2
index adeadd3..fdab16c 100644
--- a/doc/man/nvme_io_dsm_flags.2
+++ b/doc/man/nvme_io_dsm_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_io_dsm_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_dsm_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_io_dsm_flags \- Dataset Management flags
.SH SYNOPSIS
diff --git a/doc/man/nvme_io_opcode.2 b/doc/man/nvme_io_opcode.2
index cbdde5e..492161f 100644
--- a/doc/man/nvme_io_opcode.2
+++ b/doc/man/nvme_io_opcode.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_io_opcode" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_opcode" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_io_opcode \- Opcodes for I/O Commands
.SH SYNOPSIS
diff --git a/doc/man/nvme_io_passthru.2 b/doc/man/nvme_io_passthru.2
index 127a45b..ffb19fc 100644
--- a/doc/man/nvme_io_passthru.2
+++ b/doc/man/nvme_io_passthru.2
@@ -1,4 +1,4 @@
-.TH "nvme_io_passthru" 9 "nvme_io_passthru" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_io_passthru" 9 "nvme_io_passthru" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_io_passthru \- Submit an nvme io passthrough command
.SH SYNOPSIS
diff --git a/doc/man/nvme_io_passthru64.2 b/doc/man/nvme_io_passthru64.2
new file mode 100644
index 0000000..30e0378
--- /dev/null
+++ b/doc/man/nvme_io_passthru64.2
@@ -0,0 +1,71 @@
+.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_io_passthru64 \- Submit an nvme io passthrough command
+.SH SYNOPSIS
+.B "int" nvme_io_passthru64
+.BI "(int fd " ","
+.BI "__u8 opcode " ","
+.BI "__u8 flags " ","
+.BI "__u16 rsvd " ","
+.BI "__u32 nsid " ","
+.BI "__u32 cdw2 " ","
+.BI "__u32 cdw3 " ","
+.BI "__u32 cdw10 " ","
+.BI "__u32 cdw11 " ","
+.BI "__u32 cdw12 " ","
+.BI "__u32 cdw13 " ","
+.BI "__u32 cdw14 " ","
+.BI "__u32 cdw15 " ","
+.BI "__u32 data_len " ","
+.BI "void *data " ","
+.BI "__u32 metadata_len " ","
+.BI "void *metadata " ","
+.BI "__u32 timeout_ms " ","
+.BI "__u64 *result " ");"
+.SH ARGUMENTS
+.IP "fd" 12
+File descriptor of nvme device
+.IP "opcode" 12
+The nvme io command to send
+.IP "flags" 12
+NVMe command flags (not used)
+.IP "rsvd" 12
+Reserved for future use
+.IP "nsid" 12
+Namespace identifier
+.IP "cdw2" 12
+Command dword 2
+.IP "cdw3" 12
+Command dword 3
+.IP "cdw10" 12
+Command dword 10
+.IP "cdw11" 12
+Command dword 11
+.IP "cdw12" 12
+Command dword 12
+.IP "cdw13" 12
+Command dword 13
+.IP "cdw14" 12
+Command dword 14
+.IP "cdw15" 12
+Command dword 15
+.IP "data_len" 12
+Length of the data transferred in this command in bytes
+.IP "data" 12
+Pointer to user address of the data buffer
+.IP "metadata_len" 12
+Length of metadata transferred in this command
+.IP "metadata" 12
+Pointer to user address of the metadata buffer
+.IP "timeout_ms" 12
+How long the kernel waits for the command to complete
+.IP "result" 12
+Optional field to return the result from the CQE dword 0
+.SH "DESCRIPTION"
+Parameterized form of \fBnvme_submit_io_passthru64\fP. This sets up and submits
+a \fIstruct nvme_passthru_cmd64\fP.
+
+Known values for \fIopcode\fP are defined in \fIenum nvme_io_opcode\fP.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_is_64bit_reg.2 b/doc/man/nvme_is_64bit_reg.2
new file mode 100644
index 0000000..e23f562
--- /dev/null
+++ b/doc/man/nvme_is_64bit_reg.2
@@ -0,0 +1,16 @@
+.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_is_64bit_reg \- Checks if offset of the controller register is a know 64bit value.
+.SH SYNOPSIS
+.B "bool" nvme_is_64bit_reg
+.BI "(__u32 offset " ");"
+.SH ARGUMENTS
+.IP "offset" 12
+Offset of controller register field in bytes
+.SH "DESCRIPTION"
+This function does not care about transport so that the offset is not going
+to be checked inside of this function for the unsupported fields in a
+specific transport. For example, BPMBL(Boot Partition Memory Buffer
+Location) register is not supported by fabrics, but it can be checked here.
+.SH "RETURN"
+true if given offset is 64bit register, otherwise it returns false.
diff --git a/doc/man/nvme_lba_range_type.2 b/doc/man/nvme_lba_range_type.2
index 6e9226a..6d935be 100644
--- a/doc/man/nvme_lba_range_type.2
+++ b/doc/man/nvme_lba_range_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_range_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_range_type" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_range_type \- LBA Range Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_range_type_entry.2 b/doc/man/nvme_lba_range_type_entry.2
index d504531..f6bf43e 100644
--- a/doc/man/nvme_lba_range_type_entry.2
+++ b/doc/man/nvme_lba_range_type_entry.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_range_type_entry \- LBA Range Type - Data Structure Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_rd.2 b/doc/man/nvme_lba_rd.2
index c808846..d6e02ed 100644
--- a/doc/man/nvme_lba_rd.2
+++ b/doc/man/nvme_lba_rd.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_rd" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_rd" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_rd \- LBA Range Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_status.2 b/doc/man/nvme_lba_status.2
index 935895b..629460b 100644
--- a/doc/man/nvme_lba_status.2
+++ b/doc/man/nvme_lba_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_status \- LBA Status Descriptor List
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_status_atype.2 b/doc/man/nvme_lba_status_atype.2
index ca8e5fa..1f42175 100644
--- a/doc/man/nvme_lba_status_atype.2
+++ b/doc/man/nvme_lba_status_atype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_lba_status_atype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lba_status_atype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_lba_status_atype \- Potentially Unrecoverable LBAs
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_status_desc.2 b/doc/man/nvme_lba_status_desc.2
index 3deacaa..73aab2e 100644
--- a/doc/man/nvme_lba_status_desc.2
+++ b/doc/man/nvme_lba_status_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_status_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_status_desc \- LBA Status Descriptor Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_lba_status_log.2 b/doc/man/nvme_lba_status_log.2
index 42b6a16..c2d1e5d 100644
--- a/doc/man/nvme_lba_status_log.2
+++ b/doc/man/nvme_lba_status_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lba_status_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lba_status_log \- LBA Status Information Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_lbaf.2 b/doc/man/nvme_lbaf.2
index c9ac6c7..cf946ab 100644
--- a/doc/man/nvme_lbaf.2
+++ b/doc/man/nvme_lbaf.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lbaf" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lbaf" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lbaf \- LBA Format Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_lbaf_rp.2 b/doc/man/nvme_lbaf_rp.2
index 1c8eb23..3d13eea 100644
--- a/doc/man/nvme_lbaf_rp.2
+++ b/doc/man/nvme_lbaf_rp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_lbaf_rp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lbaf_rp" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_lbaf_rp \- This field indicates the relative performance of the LBA format indicated relative to other LBA formats supported by the controller.
.SH SYNOPSIS
diff --git a/doc/man/nvme_lbart.2 b/doc/man/nvme_lbart.2
index 5293177..32a6296 100644
--- a/doc/man/nvme_lbart.2
+++ b/doc/man/nvme_lbart.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_lbart" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lbart" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_lbart \- LBA Range Type - Data Structure Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_lbas_ns_element.2 b/doc/man/nvme_lbas_ns_element.2
index 02e9585..dc8043e 100644
--- a/doc/man/nvme_lbas_ns_element.2
+++ b/doc/man/nvme_lbas_ns_element.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_lbas_ns_element" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lbas_ns_element" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_lbas_ns_element \- LBA Status Log Namespace Element
.SH SYNOPSIS
diff --git a/doc/man/nvme_lockdown.2 b/doc/man/nvme_lockdown.2
index 9712d48..775bd6b 100644
--- a/doc/man/nvme_lockdown.2
+++ b/doc/man/nvme_lockdown.2
@@ -1,4 +1,4 @@
-.TH "nvme_lockdown" 9 "nvme_lockdown" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_lockdown" 9 "nvme_lockdown" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_lockdown \- Issue lockdown command
.SH SYNOPSIS
diff --git a/doc/man/nvme_log_ana_lsp.2 b/doc/man/nvme_log_ana_lsp.2
index 1de2b0f..3e1df4a 100644
--- a/doc/man/nvme_log_ana_lsp.2
+++ b/doc/man/nvme_log_ana_lsp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_log_ana_lsp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_log_ana_lsp" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_log_ana_lsp \- Asymmetric Namespace Access - Return Groups Only
.SH SYNOPSIS
diff --git a/doc/man/nvme_lookup_ctrl.2 b/doc/man/nvme_lookup_ctrl.2
index 2db83fa..0d400ea 100644
--- a/doc/man/nvme_lookup_ctrl.2
+++ b/doc/man/nvme_lookup_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_ctrl \- Lookup nvme_ctrl_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_lookup_host.2 b/doc/man/nvme_lookup_host.2
index 6aec444..47b6239 100644
--- a/doc/man/nvme_lookup_host.2
+++ b/doc/man/nvme_lookup_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_lookup_host" 9 "nvme_lookup_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_lookup_host" 9 "nvme_lookup_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_host \- Lookup nvme_host_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_lookup_subsystem.2 b/doc/man/nvme_lookup_subsystem.2
index 1cf6464..4adc5cb 100644
--- a/doc/man/nvme_lookup_subsystem.2
+++ b/doc/man/nvme_lookup_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_subsystem \- Lookup nvme_subsystem_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_media_unit_config_desc.2 b/doc/man/nvme_media_unit_config_desc.2
index 83f9a83..e39bb39 100644
--- a/doc/man/nvme_media_unit_config_desc.2
+++ b/doc/man/nvme_media_unit_config_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_config_desc \- Media Unit Configuration Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_media_unit_stat_desc.2 b/doc/man/nvme_media_unit_stat_desc.2
index dfc216e..9f381b8 100644
--- a/doc/man/nvme_media_unit_stat_desc.2
+++ b/doc/man/nvme_media_unit_stat_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_stat_desc \- Media Unit Status Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_media_unit_stat_log.2 b/doc/man/nvme_media_unit_stat_log.2
index c20f444..f23ea35 100644
--- a/doc/man/nvme_media_unit_stat_log.2
+++ b/doc/man/nvme_media_unit_stat_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_stat_log \- Media Unit Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_metadata_element_desc.2 b/doc/man/nvme_metadata_element_desc.2
index 5da55c4..62356e4 100644
--- a/doc/man/nvme_metadata_element_desc.2
+++ b/doc/man/nvme_metadata_element_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_metadata_element_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_metadata_element_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_metadata_element_desc \- Metadata Element Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_admin_format_nvm.2 b/doc/man/nvme_mi_admin_format_nvm.2
new file mode 100644
index 0000000..95550ee
--- /dev/null
+++ b/doc/man/nvme_mi_admin_format_nvm.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_format_nvm \- Format NVMe namespace
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_format_nvm
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_format_nvm_args *args " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "args" 12
+Format NVM command arguments
+.SH "DESCRIPTION"
+Perform a low-level format to set the LBA data & metadata size. May destroy
+data & metadata on the specified namespaces
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_fw_commit.2 b/doc/man/nvme_mi_admin_fw_commit.2
new file mode 100644
index 0000000..d7ac6ac
--- /dev/null
+++ b/doc/man/nvme_mi_admin_fw_commit.2
@@ -0,0 +1,16 @@
+.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_fw_commit \- Commit firmware using the specified action
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_fw_commit
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_fw_commit_args *args " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send firmware data to
+.IP "args" 12
+\fIstruct nvme_fw_download_args\fP argument structure
+.SH "DESCRIPTION"
+The Firmware Commit command modifies the firmware image or Boot Partitions.
+.SH "RETURN"
+0 on success, non-zero on failure
diff --git a/doc/man/nvme_mi_admin_fw_download.2 b/doc/man/nvme_mi_admin_fw_download.2
new file mode 100644
index 0000000..9faf329
--- /dev/null
+++ b/doc/man/nvme_mi_admin_fw_download.2
@@ -0,0 +1,27 @@
+.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_fw_download \- Download part or all of a firmware image to the controller
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_fw_download
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_fw_download_args *args " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send firmware data to
+.IP "args" 12
+\fIstruct nvme_fw_download_args\fP argument structure
+.SH "DESCRIPTION"
+The Firmware Image Download command downloads all or a portion of an image
+for a future update to the controller. The Firmware Image Download command
+downloads a new image (in whole or in part) to the controller.
+
+The image may be constructed of multiple pieces that are individually
+downloaded with separate Firmware Image Download commands. Each Firmware
+Image Download command includes a Dword Offset and Number of Dwords that
+specify a dword range.
+
+The new firmware image is not activated as part of the Firmware Image
+Download command. Use the \fBnvme_mi_admin_fw_commit\fP to activate a newly
+downloaded image.
+.SH "RETURN"
+0 on success, non-zero on failure
diff --git a/doc/man/nvme_mi_admin_get_features_data.2 b/doc/man/nvme_mi_admin_get_features_data.2
new file mode 100644
index 0000000..4b57744
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_features_data.2
@@ -0,0 +1,30 @@
+.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_features_data \- Helper function for &nvme_mi_admin_get_features()
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_features_data
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "enum nvme_features_id fid " ","
+.BI "__u32 nsid " ","
+.BI "__u32 data_len " ","
+.BI "void *data " ","
+.BI "__u32 *result " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "fid" 12
+Feature identifier
+.IP "nsid" 12
+Namespace ID, if applicable for \fIfid\fP
+.IP "data_len" 12
+Length of feature data, if applicable for \fIfid\fP, in bytes
+.IP "data" 12
+User address of feature data, if applicable
+.IP "result" 12
+The command completion result from CQE dword0
+.SH "DESCRIPTION"
+Helper for optionally features that optionally return data, using the
+SEL_CURRENT selector value.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log.2 b/doc/man/nvme_mi_admin_get_log.2
index 1727124..f52c668 100644
--- a/doc/man/nvme_mi_admin_get_log.2
+++ b/doc/man/nvme_mi_admin_get_log.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log \- Retrieve log page data from controller
.SH SYNOPSIS
@@ -21,4 +21,5 @@ to fit within MI message-size limits.
See: \fIstruct nvme_get_log_args\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_ana.2 b/doc/man/nvme_mi_admin_get_log_ana.2
new file mode 100644
index 0000000..b5bd512
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_ana.2
@@ -0,0 +1,33 @@
+.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_ana \- Retrieve Asymmetric Namespace Access log page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_ana
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "enum nvme_log_ana_lsp lsp " ","
+.BI "bool rae " ","
+.BI "__u64 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "lsp" 12
+Log specific, see \fIenum nvme_get_log_ana_lsp\fP
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset to the start of the log page
+.IP "len" 12
+The allocated length of the log page
+.IP "log" 12
+User address to store the ana log
+.SH "DESCRIPTION"
+This log consists of a header describing the log and descriptors containing
+the asymmetric namespace access information for ANA Groups that contain
+namespaces that are attached to the controller processing the command.
+
+See \fIstruct nvme_ana_rsp_hdr\fP for the definition of the returned structure.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_ana_groups.2 b/doc/man/nvme_mi_admin_get_log_ana_groups.2
new file mode 100644
index 0000000..2aae5b2
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_ana_groups.2
@@ -0,0 +1,23 @@
+.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_ana_groups
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u32 len " ","
+.BI "struct nvme_ana_group_desc *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "len" 12
+The allocated length of the log page
+.IP "log" 12
+User address to store the ana group log
+.SH "DESCRIPTION"
+See \fIstruct nvme_ana_group_desc\fP for the definition of the returned structure.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_boot_partition.2 b/doc/man/nvme_mi_admin_get_log_boot_partition.2
new file mode 100644
index 0000000..8c4238f
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_boot_partition.2
@@ -0,0 +1,25 @@
+.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_boot_partition \- Retrieve Boot Partition
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_boot_partition
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u8 lsp " ","
+.BI "__u32 len " ","
+.BI "struct nvme_boot_partition *part " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "lsp" 12
+The log specified field of LID
+.IP "len" 12
+The allocated size, minimum
+struct nvme_boot_partition
+.IP "part" 12
+User address to store the log page
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2
new file mode 100644
index 0000000..a95b090
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2
@@ -0,0 +1,22 @@
+.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_changed_ns_list \- Retrieve namespace changed list
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_changed_ns_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_ns_list *ns_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "ns_log" 12
+User address to store the log page
+.SH "DESCRIPTION"
+This log page describes namespaces attached to this controller that have
+changed since the last time the namespace was identified, been added, or
+deleted.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 b/doc/man/nvme_mi_admin_get_log_cmd_effects.2
new file mode 100644
index 0000000..1aa24f6
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_cmd_effects.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_cmd_effects \- Retrieve nvme command effects log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_cmd_effects
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "enum nvme_csi csi " ","
+.BI "struct nvme_cmd_effects_log *effects_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "csi" 12
+Command Set Identifier
+.IP "effects_log" 12
+User address to store the effects log
+.SH "DESCRIPTION"
+This log page describes the commands that the controller supports and the
+effects of those commands on the state of the NVM subsystem.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2
new file mode 100644
index 0000000..47cfccc
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2
@@ -0,0 +1,15 @@
+.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_create_telemetry_host \- Create host telemetry log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_create_telemetry_host
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_telemetry_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "log" 12
+Userspace address of the log payload
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_device_self_test.2 b/doc/man/nvme_mi_admin_get_log_device_self_test.2
new file mode 100644
index 0000000..d05eb67
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_device_self_test.2
@@ -0,0 +1,19 @@
+.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_device_self_test \- Retrieve the device self test log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_device_self_test
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_self_test_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "log" 12
+Userspace address of the log payload
+.SH "DESCRIPTION"
+The log page indicates the status of an in progress self test and the
+percent complete of that operation, and the results of the previous 20
+self-test operations.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_discovery.2 b/doc/man/nvme_mi_admin_get_log_discovery.2
new file mode 100644
index 0000000..056bb2b
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_discovery.2
@@ -0,0 +1,27 @@
+.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_discovery \- Retrieve Discovery log page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_discovery
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u32 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset of this log to retrieve
+.IP "len" 12
+The allocated size for this portion of the log
+.IP "log" 12
+User address to store the discovery log
+.SH "DESCRIPTION"
+Supported only by fabrics discovery controllers, returning discovery
+records.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_endurance_group.2 b/doc/man/nvme_mi_admin_get_log_endurance_group.2
new file mode 100644
index 0000000..4b3fe59
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_endurance_group.2
@@ -0,0 +1,25 @@
+.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_endurance_group \- Get Endurance Group log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_endurance_group
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u16 endgid " ","
+.BI "struct nvme_endurance_group_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "endgid" 12
+Starting group identifier to return in the list
+.IP "log" 12
+User address to store the endurance log
+.SH "DESCRIPTION"
+This log page indicates if an Endurance Group Event has occurred for a
+particular Endurance Group. If an Endurance Group Event has occurred, the
+details of the particular event are included in the Endurance Group
+Information log page for that Endurance Group. An asynchronous event is
+generated when an entry for an Endurance Group is newly added to this log
+page.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2
new file mode 100644
index 0000000..c0556a1
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2
@@ -0,0 +1,24 @@
+.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_endurance_grp_evt \- Retrieve Rotational Media Information
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_endurance_grp_evt
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u32 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset to the start of the log page
+.IP "len" 12
+The allocated length of the log page
+.IP "log" 12
+User address to store the log page
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_error.2 b/doc/man/nvme_mi_admin_get_log_error.2
new file mode 100644
index 0000000..eac5d66
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_error.2
@@ -0,0 +1,25 @@
+.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_error \- Retrieve nvme error log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_error
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "unsigned int nr_entries " ","
+.BI "bool rae " ","
+.BI "struct nvme_error_log_page *err_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "nr_entries" 12
+Number of error log entries allocated
+.IP "rae" 12
+Retain asynchronous events
+.IP "err_log" 12
+Array of error logs of size 'entries'
+.SH "DESCRIPTION"
+This log page describes extended error information for a command that
+completed with error, or may report an error that is not specific to a
+particular command.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2
new file mode 100644
index 0000000..999c1eb
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_fid_supported_effects
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_fid_supported_effects_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+FID Supported and Effects data structure
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_fw_slot.2 b/doc/man/nvme_mi_admin_get_log_fw_slot.2
new file mode 100644
index 0000000..d4e3952
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_fw_slot.2
@@ -0,0 +1,22 @@
+.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_fw_slot \- Retrieves the controller firmware log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_fw_slot
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_firmware_slot *fw_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "fw_log" 12
+User address to store the log page
+.SH "DESCRIPTION"
+This log page describes the firmware revision stored in each firmware slot
+supported. The firmware revision is indicated as an ASCII string. The log
+page also indicates the active slot number.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_lba_status.2 b/doc/man/nvme_mi_admin_get_log_lba_status.2
new file mode 100644
index 0000000..d2bd99e
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_lba_status.2
@@ -0,0 +1,24 @@
+.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_lba_status \- Retrieve LBA Status
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_lba_status
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u64 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset to the start of the log page
+.IP "len" 12
+The allocated length of the log page
+.IP "log" 12
+User address to store the log page
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2
new file mode 100644
index 0000000..05706f7
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_media_unit_stat \- Retrieve Media Unit Status
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_media_unit_stat
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u16 domid " ","
+.BI "struct nvme_media_unit_stat_log *mus " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "domid" 12
+Domain Identifier selection, if supported
+.IP "mus" 12
+User address to store the Media Unit statistics log
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2
new file mode 100644
index 0000000..11df378
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_mi_cmd_supported_effects
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_mi_cmd_supported_effects_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+MI Command Supported and Effects data structure
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_persistent_event.2 b/doc/man/nvme_mi_admin_get_log_persistent_event.2
new file mode 100644
index 0000000..aa53c90
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_persistent_event.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_persistent_event \- Retrieve Persistent Event Log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_persistent_event
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "enum nvme_pevent_log_action action " ","
+.BI "__u32 size " ","
+.BI "void *pevent_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "action" 12
+Action the controller should take during processing this command
+.IP "size" 12
+Size of \fIpevent_log\fP
+.IP "pevent_log" 12
+User address to store the persistent event log
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2
new file mode 100644
index 0000000..c2e9f56
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2
@@ -0,0 +1,24 @@
+.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_predictable_lat_event
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u32 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset into the predictable latency event
+.IP "len" 12
+Length of provided user buffer to hold the log data in bytes
+.IP "log" 12
+User address for log page data
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2
new file mode 100644
index 0000000..5315b41
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_predictable_lat_nvmset
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u16 nvmsetid " ","
+.BI "struct nvme_nvmset_predictable_lat_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "nvmsetid" 12
+NVM set id
+.IP "log" 12
+User address to store the predictable latency log
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_reservation.2 b/doc/man/nvme_mi_admin_get_log_reservation.2
new file mode 100644
index 0000000..44c4ef2
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_reservation.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_reservation \- Retrieve Reservation Notification
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_reservation
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_resv_notification_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+User address to store the reservation log
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_sanitize.2 b/doc/man/nvme_mi_admin_get_log_sanitize.2
new file mode 100644
index 0000000..b457c53
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_sanitize.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_sanitize \- Retrieve Sanitize Status
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_sanitize
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_sanitize_log_page *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+User address to store the sanitize log
+.SH "DESCRIPTION"
+The Sanitize Status log page reports sanitize operation time estimates and
+information about the most recent sanitize operation.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_simple.2 b/doc/man/nvme_mi_admin_get_log_simple.2
new file mode 100644
index 0000000..1db47a6
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_simple.2
@@ -0,0 +1,24 @@
+.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_simple \- Helper for Get Log Page functions with no NSID or RAE requirements
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_simple
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "enum nvme_cmd_get_log_lid lid " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "lid" 12
+Log identifier
+.IP "len" 12
+length of log buffer
+.IP "log" 12
+pointer for resulting log data
+.SH "DESCRIPTION"
+Performs a Get Log Page Admin command for a specific log ID \fIlid\fP, using
+NVME_NSID_ALL for the namespace identifier, and rae set to false.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_smart.2 b/doc/man/nvme_mi_admin_get_log_smart.2
new file mode 100644
index 0000000..4110313
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_smart.2
@@ -0,0 +1,28 @@
+.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_smart \- Retrieve nvme smart log
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_smart
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "bool rae " ","
+.BI "struct nvme_smart_log *smart_log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "nsid" 12
+Optional namespace identifier
+.IP "rae" 12
+Retain asynchronous events
+.IP "smart_log" 12
+User address to store the smart log
+.SH "DESCRIPTION"
+This log page provides SMART and general health information. The information
+provided is over the life of the controller and is retained across power
+cycles. To request the controller log page, the namespace identifier
+specified is FFFFFFFFh. The controller may also support requesting the log
+page on a per namespace basis, as indicated by bit 0 of the LPA field in the
+Identify Controller data structure.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2
new file mode 100644
index 0000000..9effb5e
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_support_cap_config_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u16 domid " ","
+.BI "struct nvme_supported_cap_config_list_log *cap " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "domid" 12
+Domain Identifier selection, if supported
+.IP "cap" 12
+User address to store supported capabilities config list
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2
new file mode 100644
index 0000000..0912736
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_supported_log_pages \- Retrieve nmve supported log pages
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_supported_log_pages
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "struct nvme_supported_log_pages *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+Array of LID supported and Effects data structures
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2
new file mode 100644
index 0000000..7478fd3
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2
@@ -0,0 +1,27 @@
+.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_telemetry_ctrl
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "__u64 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain asynchronous events
+.IP "offset" 12
+Offset into the telemetry data
+.IP "len" 12
+Length of provided user buffer to hold the log data in bytes
+.IP "log" 12
+User address for log page data
+.SH "DESCRIPTION"
+Retrieves the Telemetry Controller-Initiated log page at the requested offset
+using the previously existing capture.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_telemetry_host.2
new file mode 100644
index 0000000..eb64be4
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_telemetry_host.2
@@ -0,0 +1,24 @@
+.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_telemetry_host \- Get Telemetry Host-Initiated log page
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_telemetry_host
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u64 offset " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "offset" 12
+Offset into the telemetry data
+.IP "len" 12
+Length of provided user buffer to hold the log data in bytes
+.IP "log" 12
+User address for log page data
+.SH "DESCRIPTION"
+Retrieves the Telemetry Host-Initiated log page at the requested offset
+using the previously existing capture.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2
new file mode 100644
index 0000000..9b2b78a
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2
@@ -0,0 +1,23 @@
+.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_log_zns_changed_zones \- Retrieve list of zones that have changed
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_log_zns_changed_zones
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "bool rae " ","
+.BI "struct nvme_zns_changed_zone_log *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "nsid" 12
+Namespace ID
+.IP "rae" 12
+Retain asynchronous events
+.IP "log" 12
+User address to store the changed zone log
+.SH "DESCRIPTION"
+The list of zones that have changed state due to an exceptional event.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_get_nsid_log.2 b/doc/man/nvme_mi_admin_get_nsid_log.2
new file mode 100644
index 0000000..6976fe4
--- /dev/null
+++ b/doc/man/nvme_mi_admin_get_nsid_log.2
@@ -0,0 +1,32 @@
+.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_get_nsid_log \- Helper for Get Log Page functions
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_get_nsid_log
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "bool rae " ","
+.BI "enum nvme_cmd_get_log_lid lid " ","
+.BI "__u32 nsid " ","
+.BI "__u32 len " ","
+.BI "void *log " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to query
+.IP "rae" 12
+Retain Asynchronous Events
+.IP "lid" 12
+Log identifier
+.IP "nsid" 12
+Namespace ID
+.IP "len" 12
+length of log buffer
+.IP "log" 12
+pointer for resulting log data
+.SH "DESCRIPTION"
+Performs a Get Log Page Admin command for a specific log ID \fIlid\fP and
+namespace ID \fInsid\fP. Log data is expected to be \fIlen\fP bytes, and is stored
+in \fIlog\fP on success. The \fIrae\fP flag is passed as-is to the Get Log Page
+command, and is specific to the Log Page requested.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify.2 b/doc/man/nvme_mi_admin_identify.2
index 1d95814..2080bd7 100644
--- a/doc/man/nvme_mi_admin_identify.2
+++ b/doc/man/nvme_mi_admin_identify.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify \- Perform an Admin identify command.
.SH SYNOPSIS
@@ -20,4 +20,5 @@ controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP.
See: \fIstruct nvme_identify_args\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_active_ns_list.2 b/doc/man/nvme_mi_admin_identify_active_ns_list.2
new file mode 100644
index 0000000..bfd7a90
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_active_ns_list.2
@@ -0,0 +1,28 @@
+.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_active_ns_list \- Perform an Admin identify for an active namespace list
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_active_ns_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_ns_list *list " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+Namespace ID to specify list start
+.IP "list" 12
+List data to populate
+.SH "DESCRIPTION"
+Perform an Identify command, for the active namespace list starting with
+IDs greater than or equal to \fInsid\fP. Specify \fINVME_NSID_NONE\fP for the start
+of the list.
+
+Will return an error if the length of the response data (from the
+controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP, so \fIlist\fP will be
+be fully populated on success.
+
+See: \fIstruct nvme_ns_list\fP
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns.2 b/doc/man/nvme_mi_admin_identify_allocated_ns.2
new file mode 100644
index 0000000..b588c34
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_allocated_ns.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_allocated_ns \- Perform an Admin identify command for an allocated namespace
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_allocated_ns
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_id_ns *ns " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+namespace ID
+.IP "ns" 12
+Namespace identification to populate
+.SH "DESCRIPTION"
+Perform an Identify (namespace) command, setting the namespace id data
+in \fIns\fP.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2
new file mode 100644
index 0000000..d29553a
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2
@@ -0,0 +1,28 @@
+.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_allocated_ns_list \- Perform an Admin identify for an allocated namespace list
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_allocated_ns_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_ns_list *list " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+Namespace ID to specify list start
+.IP "list" 12
+List data to populate
+.SH "DESCRIPTION"
+Perform an Identify command, for the allocated namespace list starting with
+IDs greater than or equal to \fInsid\fP. Specify \fINVME_NSID_NONE\fP for the start
+of the list.
+
+Will return an error if the length of the response data (from the
+controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP, so \fIlist\fP will be
+be fully populated on success.
+
+See: \fIstruct nvme_ns_list\fP
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_cns_nsid.2 b/doc/man/nvme_mi_admin_identify_cns_nsid.2
index 9cb882b..314c047 100644
--- a/doc/man/nvme_mi_admin_identify_cns_nsid.2
+++ b/doc/man/nvme_mi_admin_identify_cns_nsid.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_cns_nsid \- Perform an Admin identify command using specific CNS/NSID parameters.
.SH SYNOPSIS
@@ -26,4 +26,5 @@ Stores the identify data in \fIdata\fP, which is expected to be a buffer of
Will return an error if the length of the response data (from the
controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP.
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_ctrl.2 b/doc/man/nvme_mi_admin_identify_ctrl.2
index 8f82ff4..f3ed411 100644
--- a/doc/man/nvme_mi_admin_identify_ctrl.2
+++ b/doc/man/nvme_mi_admin_identify_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ctrl \- Perform an Admin identify for a controller
.SH SYNOPSIS
@@ -20,4 +20,5 @@ fully populated on success.
See: \fIstruct nvme_id_ctrl\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_ctrl_list.2
index 477401e..d223cb0 100644
--- a/doc/man/nvme_mi_admin_identify_ctrl_list.2
+++ b/doc/man/nvme_mi_admin_identify_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ctrl_list \- Perform an Admin identify for a controller list.
.SH SYNOPSIS
@@ -23,4 +23,5 @@ fully populated on success.
See: \fIstruct nvme_ctrl_list\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_ns.2 b/doc/man/nvme_mi_admin_identify_ns.2
new file mode 100644
index 0000000..233be5b
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_ns.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_ns \- Perform an Admin identify command for a namespace
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_ns
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_id_ns *ns " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+namespace ID
+.IP "ns" 12
+Namespace identification to populate
+.SH "DESCRIPTION"
+Perform an Identify (namespace) command, setting the namespace id data
+in \fIns\fP. The namespace is expected to active and allocated.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_ns_descs.2 b/doc/man/nvme_mi_admin_identify_ns_descs.2
new file mode 100644
index 0000000..b937a84
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_ns_descs.2
@@ -0,0 +1,21 @@
+.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_ns_descs \- Perform an Admin identify Namespace Identification Descriptor list command for a namespace
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_ns_descs
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_ns_id_desc *descs " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+Namespace ID
+.IP "descs" 12
+Namespace Identification Descriptor list to populate
+.SH "DESCRIPTION"
+Perform an Identify namespace identification description list command,
+setting the namespace identification description list in \fIdescs\fP
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2
new file mode 100644
index 0000000..7077442
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2
@@ -0,0 +1,30 @@
+.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_nsid_ctrl_list \- Perform an Admin identify for a controller list with specific namespace ID
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_nsid_ctrl_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "__u16 cntid " ","
+.BI "struct nvme_ctrl_list *list " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+Namespace identifier
+.IP "cntid" 12
+Controller ID to specify list start
+.IP "list" 12
+List data to populate
+.SH "DESCRIPTION"
+Perform an Identify command, for the controller list for \fInsid\fP, starting
+with IDs greater than or equal to \fIcntid\fP.
+
+Will return an error if the length of the response data (from the
+controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP, so \fIid\fP will be
+fully populated on success.
+
+See: \fIstruct nvme_ctrl_list\fP
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_partial.2 b/doc/man/nvme_mi_admin_identify_partial.2
index 8e9f867..c2d64ae 100644
--- a/doc/man/nvme_mi_admin_identify_partial.2
+++ b/doc/man/nvme_mi_admin_identify_partial.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_partial \- Perform an Admin identify command, and retrieve partial response data.
.SH SYNOPSIS
@@ -33,4 +33,5 @@ yet supported by libnvme-mi, please contact the maintainers.
See: \fIstruct nvme_identify_args\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 b/doc/man/nvme_mi_admin_identify_primary_ctrl.2
new file mode 100644
index 0000000..4c89791
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_primary_ctrl.2
@@ -0,0 +1,26 @@
+.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_primary_ctrl \- Perform an Admin identify for primary controller capabilities data structure.
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_primary_ctrl
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u16 cntid " ","
+.BI "struct nvme_primary_ctrl_cap *cap " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "cntid" 12
+Controller ID to specify
+.IP "cap" 12
+Primary Controller Capabilities data structure to populate
+.SH "DESCRIPTION"
+Perform an Identify command to get the Primary Controller Capabilities data
+for the controller specified by \fIcntid\fP
+
+Will return an error if the length of the response data (from the
+controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP, so \fIcap\fP will be
+be fully populated on success.
+
+See: \fIstruct nvme_primary_ctrl_cap\fP
+.SH "RETURN"
+0 on success, non-zero on failure
diff --git a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2
new file mode 100644
index 0000000..9773676
--- /dev/null
+++ b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2
@@ -0,0 +1,30 @@
+.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_identify_secondary_ctrl_list \- Perform an Admin identify for a secondary controller list.
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_identify_secondary_ctrl_list
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "__u16 cntid " ","
+.BI "struct nvme_secondary_ctrl_list *list " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to process identify command
+.IP "nsid" 12
+Namespace ID to specify list start
+.IP "cntid" 12
+Controller ID to specify list start
+.IP "list" 12
+List data to populate
+.SH "DESCRIPTION"
+Perform an Identify command, for the secondary controllers associated with
+the current primary controller. Only entries with IDs greater than or
+equal to \fIcntid\fP are returned.
+
+Will return an error if the length of the response data (from the
+controller) is not a full \fINVME_IDENTIFY_DATA_SIZE\fP, so \fIlist\fP will be
+be fully populated on success.
+
+See: \fIstruct nvme_secondary_ctrl_list\fP
+.SH "RETURN"
+0 on success, non-zero on failure
diff --git a/doc/man/nvme_mi_admin_ns_attach.2 b/doc/man/nvme_mi_admin_ns_attach.2
new file mode 100644
index 0000000..19fe15a
--- /dev/null
+++ b/doc/man/nvme_mi_admin_ns_attach.2
@@ -0,0 +1,15 @@
+.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_ns_attach \- Attach or detach namespace to controller(s)
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_ns_attach
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_ns_attach_args *args " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "args" 12
+Namespace Attach command arguments
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 b/doc/man/nvme_mi_admin_ns_attach_ctrls.2
new file mode 100644
index 0000000..96cd691
--- /dev/null
+++ b/doc/man/nvme_mi_admin_ns_attach_ctrls.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_ns_attach_ctrls \- Attach namespace to controllers
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_ns_attach_ctrls
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_ctrl_list *ctrlist " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "nsid" 12
+Namespace ID to attach
+.IP "ctrlist" 12
+Controller list to modify attachment state of nsid
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 b/doc/man/nvme_mi_admin_ns_detach_ctrls.2
new file mode 100644
index 0000000..a413f9b
--- /dev/null
+++ b/doc/man/nvme_mi_admin_ns_detach_ctrls.2
@@ -0,0 +1,18 @@
+.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_ns_detach_ctrls \- Detach namespace from controllers
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_ns_detach_ctrls
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "__u32 nsid " ","
+.BI "struct nvme_ctrl_list *ctrlist " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "nsid" 12
+Namespace ID to detach
+.IP "ctrlist" 12
+Controller list to modify attachment state of nsid
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_req_hdr.2 b/doc/man/nvme_mi_admin_req_hdr.2
index 3e6bf4a..97d7927 100644
--- a/doc/man/nvme_mi_admin_req_hdr.2
+++ b/doc/man/nvme_mi_admin_req_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_admin_req_hdr \- Admin command request header.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_admin_resp_hdr.2 b/doc/man/nvme_mi_admin_resp_hdr.2
index e8f3f28..fb26a90 100644
--- a/doc/man/nvme_mi_admin_resp_hdr.2
+++ b/doc/man/nvme_mi_admin_resp_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_admin_resp_hdr \- Admin command response header.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_admin_sanitize_nvm.2 b/doc/man/nvme_mi_admin_sanitize_nvm.2
new file mode 100644
index 0000000..3f2ea2c
--- /dev/null
+++ b/doc/man/nvme_mi_admin_sanitize_nvm.2
@@ -0,0 +1,25 @@
+.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_sanitize_nvm \- Start a subsystem Sanitize operation
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_sanitize_nvm
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_sanitize_nvm_args *args " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+Controller to send command to
+.IP "args" 12
+Sanitize command arguments
+.SH "DESCRIPTION"
+A sanitize operation alters all user data in the NVM subsystem such that
+recovery of any previous user data from any cache, the non-volatile media,
+or any Controller Memory Buffer is not possible.
+
+The Sanitize command starts a sanitize operation or to recover from a
+previously failed sanitize operation. The sanitize operation types that may
+be supported are Block Erase, Crypto Erase, and Overwrite. All sanitize
+operations are processed in the background, i.e., completion of the sanitize
+command does not indicate completion of the sanitize operation.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_security_recv.2 b/doc/man/nvme_mi_admin_security_recv.2
index 8fc0dc7..ec3abcd 100644
--- a/doc/man/nvme_mi_admin_security_recv.2
+++ b/doc/man/nvme_mi_admin_security_recv.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_security_recv \- Perform a Security Receive command on a controller.
.SH SYNOPSIS
@@ -21,4 +21,5 @@ comply with specification limits.
See: \fIstruct nvme_get_log_args\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_security_send.2 b/doc/man/nvme_mi_admin_security_send.2
index bad47f0..7aad612 100644
--- a/doc/man/nvme_mi_admin_security_send.2
+++ b/doc/man/nvme_mi_admin_security_send.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_security_send \- Perform a Security Send command on a controller.
.SH SYNOPSIS
@@ -21,4 +21,5 @@ comply with specification limits.
See: \fIstruct nvme_get_log_args\fP
.SH "RETURN"
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_mi_admin_xfer.2 b/doc/man/nvme_mi_admin_xfer.2
index 3f3edba..9cccd8b 100644
--- a/doc/man/nvme_mi_admin_xfer.2
+++ b/doc/man/nvme_mi_admin_xfer.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_xfer \- Raw admin transfer interface.
.SH SYNOPSIS
@@ -38,4 +38,5 @@ Response payload, offset by \fIresp_data_offset\fP.
See: \fIstruct nvme_mi_admin_req_hdr\fP and \fIstruct nvme_mi_admin_resp_hdr\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_ccs.2 b/doc/man/nvme_mi_ccs.2
index 94d8836..d51b676 100644
--- a/doc/man/nvme_mi_ccs.2
+++ b/doc/man/nvme_mi_ccs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_ccs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_ccs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_ccs \- Get State Control Primitive Success Response Fields - Control Primitive Specific Response
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_close.2 b/doc/man/nvme_mi_close.2
index dd31f5e..99b372d 100644
--- a/doc/man/nvme_mi_close.2
+++ b/doc/man/nvme_mi_close.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_close" 9 "nvme_mi_close" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_close" 9 "nvme_mi_close" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_close \- Close an endpoint connection and release resources, including controller objects.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_close_ctrl.2 b/doc/man/nvme_mi_close_ctrl.2
index 40b17ba..0da3444 100644
--- a/doc/man/nvme_mi_close_ctrl.2
+++ b/doc/man/nvme_mi_close_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_close_ctrl \- free a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_cmd_supported_effects.2
index 2ec0907..1c92f22 100644
--- a/doc/man/nvme_mi_cmd_supported_effects.2
+++ b/doc/man/nvme_mi_cmd_supported_effects.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_cmd_supported_effects \- MI Command Supported and Effects Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_cmd_supported_effects_log.2 b/doc/man/nvme_mi_cmd_supported_effects_log.2
index c6c76fd..2c31034 100644
--- a/doc/man/nvme_mi_cmd_supported_effects_log.2
+++ b/doc/man/nvme_mi_cmd_supported_effects_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_cmd_supported_effects_log \- NVMe-MI Commands Supported and Effects Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_config_id.2 b/doc/man/nvme_mi_config_id.2
index f8f46ce..e1f9623 100644
--- a/doc/man/nvme_mi_config_id.2
+++ b/doc/man/nvme_mi_config_id.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_config_id" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_config_id" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_config_id \- NVMe-MI Configuration identifier.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_config_smbus_freq.2 b/doc/man/nvme_mi_config_smbus_freq.2
index 19a5ca6..f32d02a 100644
--- a/doc/man/nvme_mi_config_smbus_freq.2
+++ b/doc/man/nvme_mi_config_smbus_freq.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_config_smbus_freq \- SMBus/I2C frequency values
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_create_root.2 b/doc/man/nvme_mi_create_root.2
index 22d420e..36af0a8 100644
--- a/doc/man/nvme_mi_create_root.2
+++ b/doc/man/nvme_mi_create_root.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_create_root \- Create top-level MI (root) handle.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_csts.2 b/doc/man/nvme_mi_csts.2
index 32508e9..e60ee88 100644
--- a/doc/man/nvme_mi_csts.2
+++ b/doc/man/nvme_mi_csts.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_csts" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_csts" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_csts \- Controller Health Data Structure (CHDS) - Controller Status (CSTS)
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_ctrl_health_status.2 b/doc/man/nvme_mi_ctrl_health_status.2
index db5f1e9..3618dee 100644
--- a/doc/man/nvme_mi_ctrl_health_status.2
+++ b/doc/man/nvme_mi_ctrl_health_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_ctrl_health_status \- Controller Health Data Structure (CHDS)
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_cwarn.2 b/doc/man/nvme_mi_cwarn.2
index f8bec97..cfc6e6f 100644
--- a/doc/man/nvme_mi_cwarn.2
+++ b/doc/man/nvme_mi_cwarn.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_cwarn" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_cwarn" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_cwarn \- Controller Health Data Structure (CHDS) - Critical Warning (CWARN)
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_dtyp.2 b/doc/man/nvme_mi_dtyp.2
index 62a1010..72433cd 100644
--- a/doc/man/nvme_mi_dtyp.2
+++ b/doc/man/nvme_mi_dtyp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_dtyp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_dtyp" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_dtyp \- Data Structure Type field.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_elem.2 b/doc/man/nvme_mi_elem.2
index ef87653..9b63108 100644
--- a/doc/man/nvme_mi_elem.2
+++ b/doc/man/nvme_mi_elem.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_elem" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_elem" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_elem \- Element Descriptor Types
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_free_root.2 b/doc/man/nvme_mi_free_root.2
index e3b839b..f27be6c 100644
--- a/doc/man/nvme_mi_free_root.2
+++ b/doc/man/nvme_mi_free_root.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_free_root \- Free root object.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_init_ctrl.2 b/doc/man/nvme_mi_init_ctrl.2
index 5f43179..cd555a8 100644
--- a/doc/man/nvme_mi_init_ctrl.2
+++ b/doc/man/nvme_mi_init_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_init_ctrl \- initialise a NVMe controller.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_message_type.2 b/doc/man/nvme_mi_message_type.2
index a3f826f..0d0aa0a 100644
--- a/doc/man/nvme_mi_message_type.2
+++ b/doc/man/nvme_mi_message_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_message_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_message_type" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_message_type \- NVMe-MI message type field.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_mi_opcode.2 b/doc/man/nvme_mi_mi_opcode.2
index 366fcdf..85690b4 100644
--- a/doc/man/nvme_mi_mi_opcode.2
+++ b/doc/man/nvme_mi_mi_opcode.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_mi_opcode \- Operation code for supported NVMe-MI commands.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2
index 830fda1..288b63a 100644
--- a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2
+++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_ctrl \- Perform a Read MI Data Structure command, retrieving controller information
.SH SYNOPSIS
@@ -19,4 +19,5 @@ controller with ID \fIctrlid\fP.
See \fIstruct nvme_mi_read_ctrl_info\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2
index 69de67f..5d88fa8 100644
--- a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2
+++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_ctrl_list \- Perform a Read MI Data Structure command, retrieving the list of attached controllers.
.SH SYNOPSIS
@@ -19,4 +19,5 @@ equal to \fIstart_ctrlid\fP.
See \fIstruct nvme_ctrl_list\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_mi_read_mi_data_port.2 b/doc/man/nvme_mi_mi_read_mi_data_port.2
index b72b283..4d56bf0 100644
--- a/doc/man/nvme_mi_mi_read_mi_data_port.2
+++ b/doc/man/nvme_mi_mi_read_mi_data_port.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_port \- Perform a Read MI Data Structure command, retrieving port data.
.SH SYNOPSIS
@@ -20,4 +20,5 @@ range of port IDs.
See \fIstruct nvme_mi_read_port_info\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_mi_read_mi_data_subsys.2 b/doc/man/nvme_mi_mi_read_mi_data_subsys.2
index 69c028e..685399e 100644
--- a/doc/man/nvme_mi_mi_read_mi_data_subsys.2
+++ b/doc/man/nvme_mi_mi_read_mi_data_subsys.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_subsys \- Perform a Read MI Data Structure command, retrieving subsystem data.
.SH SYNOPSIS
@@ -14,4 +14,5 @@ subsystem information to populate
Retrieves the Subsystem information - number of external ports and
NVMe version information. See \fIstruct nvme_mi_read_nvm_ss_info\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_mi_req_hdr.2 b/doc/man/nvme_mi_mi_req_hdr.2
index 422a075..29cd019 100644
--- a/doc/man/nvme_mi_mi_req_hdr.2
+++ b/doc/man/nvme_mi_mi_req_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_mi_req_hdr \- MI request message header.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_mi_resp_hdr.2 b/doc/man/nvme_mi_mi_resp_hdr.2
index 0b93adb..c330b1b 100644
--- a/doc/man/nvme_mi_mi_resp_hdr.2
+++ b/doc/man/nvme_mi_mi_resp_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_mi_resp_hdr \- MI response message header.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2
index 6730250..198744f 100644
--- a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2
+++ b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_subsystem_health_status_poll \- Read the Subsystem Health Data Structure from the NVM subsystem
.SH SYNOPSIS
@@ -20,4 +20,5 @@ the read. See NVMe-MI section 5.6 for details on the CCS bits.
See \fIstruct nvme_mi_nvm_ss_health_status\fP.
.SH "RETURN"
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise..
diff --git a/doc/man/nvme_mi_msg_hdr.2 b/doc/man/nvme_mi_msg_hdr.2
index dac89e7..19e863b 100644
--- a/doc/man/nvme_mi_msg_hdr.2
+++ b/doc/man/nvme_mi_msg_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_msg_hdr \- General MI message header.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_msg_resp.2 b/doc/man/nvme_mi_msg_resp.2
index 6196b3d..d0fd332 100644
--- a/doc/man/nvme_mi_msg_resp.2
+++ b/doc/man/nvme_mi_msg_resp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_msg_resp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_msg_resp" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_msg_resp \- Generic response type.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_nvm_ss_health_status.2 b/doc/man/nvme_mi_nvm_ss_health_status.2
index 62e1014..4c3e829 100644
--- a/doc/man/nvme_mi_nvm_ss_health_status.2
+++ b/doc/man/nvme_mi_nvm_ss_health_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_nvm_ss_health_status \- Subsystem Management Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_open_mctp.2 b/doc/man/nvme_mi_open_mctp.2
index 307b0b1..df239fb 100644
--- a/doc/man/nvme_mi_open_mctp.2
+++ b/doc/man/nvme_mi_open_mctp.2
@@ -1,4 +1,4 @@
-.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_mi_open_mctp \- Create an endpoint using a MCTP connection.
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_osc.2 b/doc/man/nvme_mi_osc.2
index 2105e3d..447786f 100644
--- a/doc/man/nvme_mi_osc.2
+++ b/doc/man/nvme_mi_osc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_osc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_osc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_osc \- Optionally Supported Command Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_port_pcie.2 b/doc/man/nvme_mi_port_pcie.2
index e5e760a..09825fe 100644
--- a/doc/man/nvme_mi_port_pcie.2
+++ b/doc/man/nvme_mi_port_pcie.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_port_pcie" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_port_pcie" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_port_pcie \- PCIe Port Specific Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_port_smb.2 b/doc/man/nvme_mi_port_smb.2
index f3a5319..c11e3dd 100644
--- a/doc/man/nvme_mi_port_smb.2
+++ b/doc/man/nvme_mi_port_smb.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_port_smb" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_port_smb" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_port_smb \- SMBus Port Specific Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_read_ctrl_info.2 b/doc/man/nvme_mi_read_ctrl_info.2
index 16b06d1..830e7f8 100644
--- a/doc/man/nvme_mi_read_ctrl_info.2
+++ b/doc/man/nvme_mi_read_ctrl_info.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_ctrl_info \- Controller Information Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_read_nvm_ss_info.2 b/doc/man/nvme_mi_read_nvm_ss_info.2
index 581f8da..a761e7d 100644
--- a/doc/man/nvme_mi_read_nvm_ss_info.2
+++ b/doc/man/nvme_mi_read_nvm_ss_info.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_nvm_ss_info \- NVM Subsystem Information Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_read_port_info.2 b/doc/man/nvme_mi_read_port_info.2
index 4c00a67..831aff7 100644
--- a/doc/man/nvme_mi_read_port_info.2
+++ b/doc/man/nvme_mi_read_port_info.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_read_port_info" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_port_info" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_port_info \- Port Information Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_read_sc_list.2 b/doc/man/nvme_mi_read_sc_list.2
index f7f6096..c3fa251 100644
--- a/doc/man/nvme_mi_read_sc_list.2
+++ b/doc/man/nvme_mi_read_sc_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_sc_list \- Management Endpoint Buffer Supported Command List Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_resp_status.2 b/doc/man/nvme_mi_resp_status.2
index a46bafc..e0b79c9 100644
--- a/doc/man/nvme_mi_resp_status.2
+++ b/doc/man/nvme_mi_resp_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_mi_resp_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_resp_status" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_mi_resp_status \- values for the response status field
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_status_to_string.2 b/doc/man/nvme_mi_status_to_string.2
new file mode 100644
index 0000000..a65a85f
--- /dev/null
+++ b/doc/man/nvme_mi_status_to_string.2
@@ -0,0 +1,17 @@
+.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_status_to_string \- return a string representation of the MI status.
+.SH SYNOPSIS
+.B "const char *" nvme_mi_status_to_string
+.BI "(int status " ");"
+.SH ARGUMENTS
+.IP "status" 12
+MI response status
+.SH "DESCRIPTION"
+Gives a string description of \fIstatus\fP, as per section 4.1.2 of the NVMe-MI
+spec. The status value should be of type NVME_STATUS_MI, and extracted
+from the return value using \fBnvme_status_get_value\fP.
+
+Returned string is const, and should not be \fBfree\fPed.
+.SH "RETURN"
+A string representing the status value
diff --git a/doc/man/nvme_mi_vpd_hdr.2 b/doc/man/nvme_mi_vpd_hdr.2
index 8f65e06..79188a8 100644
--- a/doc/man/nvme_mi_vpd_hdr.2
+++ b/doc/man/nvme_mi_vpd_hdr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_hdr \- Vital Product Data Common Header
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_vpd_mr_common.2 b/doc/man/nvme_mi_vpd_mr_common.2
index b88a43f..95195c3 100644
--- a/doc/man/nvme_mi_vpd_mr_common.2
+++ b/doc/man/nvme_mi_vpd_mr_common.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_mr_common \- NVMe MultiRecord Area
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_vpd_mra.2 b/doc/man/nvme_mi_vpd_mra.2
index b9d192b..76c1dda 100644
--- a/doc/man/nvme_mi_vpd_mra.2
+++ b/doc/man/nvme_mi_vpd_mra.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_mra \- NVMe MultiRecord Area
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_vpd_ppmra.2 b/doc/man/nvme_mi_vpd_ppmra.2
index 0065676..7d2050e 100644
--- a/doc/man/nvme_mi_vpd_ppmra.2
+++ b/doc/man/nvme_mi_vpd_ppmra.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_ppmra \- NVMe PCIe Port MultiRecord Area
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_vpd_telem.2 b/doc/man/nvme_mi_vpd_telem.2
index c8f236b..22524e4 100644
--- a/doc/man/nvme_mi_vpd_telem.2
+++ b/doc/man/nvme_mi_vpd_telem.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_telem \- Vital Product Data Element Descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_mi_vpd_tra.2 b/doc/man/nvme_mi_vpd_tra.2
index 4164d87..25aa2b6 100644
--- a/doc/man/nvme_mi_vpd_tra.2
+++ b/doc/man/nvme_mi_vpd_tra.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_tra \- Vital Product Data Topology MultiRecord
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_attach_ctrls.2 b/doc/man/nvme_namespace_attach_ctrls.2
index 862e7a1..f03a0d3 100644
--- a/doc/man/nvme_namespace_attach_ctrls.2
+++ b/doc/man/nvme_namespace_attach_ctrls.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_attach_ctrls \- Attach namespace to controller(s)
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_detach_ctrls.2 b/doc/man/nvme_namespace_detach_ctrls.2
index 4c8a5ee..a98170f 100644
--- a/doc/man/nvme_namespace_detach_ctrls.2
+++ b/doc/man/nvme_namespace_detach_ctrls.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_detach_ctrls \- Detach namespace from controller(s)
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_filter.2 b/doc/man/nvme_namespace_filter.2
index 89fb9f2..d74e862 100644
--- a/doc/man/nvme_namespace_filter.2
+++ b/doc/man/nvme_namespace_filter.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_filter \- Filter for namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_first_path.2 b/doc/man/nvme_namespace_first_path.2
index 0bb322d..f3ea1dc 100644
--- a/doc/man/nvme_namespace_first_path.2
+++ b/doc/man/nvme_namespace_first_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_first_path \- Start path iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_for_each_path.2 b/doc/man/nvme_namespace_for_each_path.2
index c08b29c..a8e104a 100644
--- a/doc/man/nvme_namespace_for_each_path.2
+++ b/doc/man/nvme_namespace_for_each_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_for_each_path \- Traverse paths
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_for_each_path_safe.2 b/doc/man/nvme_namespace_for_each_path_safe.2
index 53e0e5a..a2e932c 100644
--- a/doc/man/nvme_namespace_for_each_path_safe.2
+++ b/doc/man/nvme_namespace_for_each_path_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_for_each_path_safe \- Traverse paths
.SH SYNOPSIS
diff --git a/doc/man/nvme_namespace_next_path.2 b/doc/man/nvme_namespace_next_path.2
index 635ac93..6606597 100644
--- a/doc/man/nvme_namespace_next_path.2
+++ b/doc/man/nvme_namespace_next_path.2
@@ -1,4 +1,4 @@
-.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_next_path \- Next path iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_nd_ns_fpi.2 b/doc/man/nvme_nd_ns_fpi.2
index a0c7d16..320b2c0 100644
--- a/doc/man/nvme_nd_ns_fpi.2
+++ b/doc/man/nvme_nd_ns_fpi.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_nd_ns_fpi \- If a format operation is in progress, this field indicates the percentage of the namespace that remains to be formatted.
.SH SYNOPSIS
diff --git a/doc/man/nvme_next_host.2 b/doc/man/nvme_next_host.2
index 94ad79e..f084378 100644
--- a/doc/man/nvme_next_host.2
+++ b/doc/man/nvme_next_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_next_host" 9 "nvme_next_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_next_host" 9 "nvme_next_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_next_host \- Next host iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_next_subsystem.2 b/doc/man/nvme_next_subsystem.2
index 89e6fa7..55459ea 100644
--- a/doc/man/nvme_next_subsystem.2
+++ b/doc/man/nvme_next_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_next_subsystem \- Next subsystem iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_attach.2 b/doc/man/nvme_ns_attach.2
index 9f88cdc..fc2d0f5 100644
--- a/doc/man/nvme_ns_attach.2
+++ b/doc/man/nvme_ns_attach.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_attach" 9 "nvme_ns_attach" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_attach" 9 "nvme_ns_attach" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_attach \- Attach or detach namespace to controller(s)
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_attach_ctrls.2 b/doc/man/nvme_ns_attach_ctrls.2
index 29b70f0..621a497 100644
--- a/doc/man/nvme_ns_attach_ctrls.2
+++ b/doc/man/nvme_ns_attach_ctrls.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_attach_ctrls \- Attach namespace to controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_attach_sel.2 b/doc/man/nvme_ns_attach_sel.2
index 02e6d8f..ec2586b 100644
--- a/doc/man/nvme_ns_attach_sel.2
+++ b/doc/man/nvme_ns_attach_sel.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ns_attach_sel" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_attach_sel" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ns_attach_sel \- Namespace Attachment - Select
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_compare.2 b/doc/man/nvme_ns_compare.2
index ff0a0c0..e6858fb 100644
--- a/doc/man/nvme_ns_compare.2
+++ b/doc/man/nvme_ns_compare.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_compare" 9 "nvme_ns_compare" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_compare" 9 "nvme_ns_compare" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_compare \- Compare data on a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_detach_ctrls.2 b/doc/man/nvme_ns_detach_ctrls.2
index 93b37f1..aa0da79 100644
--- a/doc/man/nvme_ns_detach_ctrls.2
+++ b/doc/man/nvme_ns_detach_ctrls.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_detach_ctrls \- Detach namespace from controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_flush.2 b/doc/man/nvme_ns_flush.2
index 8c3e340..88ef5f1 100644
--- a/doc/man/nvme_ns_flush.2
+++ b/doc/man/nvme_ns_flush.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_flush" 9 "nvme_ns_flush" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_flush" 9 "nvme_ns_flush" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_flush \- Flush data to a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_csi.2 b/doc/man/nvme_ns_get_csi.2
index c862bc7..1f48d89 100644
--- a/doc/man/nvme_ns_get_csi.2
+++ b/doc/man/nvme_ns_get_csi.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_csi \- Command set identifier of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_ctrl.2 b/doc/man/nvme_ns_get_ctrl.2
index a4262ef..04d7405 100644
--- a/doc/man/nvme_ns_get_ctrl.2
+++ b/doc/man/nvme_ns_get_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_ctrl \- &nvme_ctrl_t of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_eui64.2 b/doc/man/nvme_ns_get_eui64.2
new file mode 100644
index 0000000..0e2d46a
--- /dev/null
+++ b/doc/man/nvme_ns_get_eui64.2
@@ -0,0 +1,11 @@
+.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_ns_get_eui64 \- 64-bit eui of a namespace
+.SH SYNOPSIS
+.B "const uint8_t *" nvme_ns_get_eui64
+.BI "(nvme_ns_t n " ");"
+.SH ARGUMENTS
+.IP "n" 12
+Namespace instance
+.SH "RETURN"
+A pointer to the 64-bit eui
diff --git a/doc/man/nvme_ns_get_fd.2 b/doc/man/nvme_ns_get_fd.2
index 29d90ab..21f89c4 100644
--- a/doc/man/nvme_ns_get_fd.2
+++ b/doc/man/nvme_ns_get_fd.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_fd \- Get associated file descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_firmware.2 b/doc/man/nvme_ns_get_firmware.2
index 0511f75..c9a6a7e 100644
--- a/doc/man/nvme_ns_get_firmware.2
+++ b/doc/man/nvme_ns_get_firmware.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_firmware \- Firmware string of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_generic_name.2 b/doc/man/nvme_ns_get_generic_name.2
index 3e5065e..5c0fe36 100644
--- a/doc/man/nvme_ns_get_generic_name.2
+++ b/doc/man/nvme_ns_get_generic_name.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_generic_name \- Returns name of generic namespace chardev.
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_lba_count.2 b/doc/man/nvme_ns_get_lba_count.2
index 40f9eb3..1827dcd 100644
--- a/doc/man/nvme_ns_get_lba_count.2
+++ b/doc/man/nvme_ns_get_lba_count.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_count \- LBA count of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_lba_size.2 b/doc/man/nvme_ns_get_lba_size.2
index 9845e91..ca1c6bc 100644
--- a/doc/man/nvme_ns_get_lba_size.2
+++ b/doc/man/nvme_ns_get_lba_size.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_size \- LBA size of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_lba_util.2 b/doc/man/nvme_ns_get_lba_util.2
index 805185a..c35b360 100644
--- a/doc/man/nvme_ns_get_lba_util.2
+++ b/doc/man/nvme_ns_get_lba_util.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_util \- LBA utilization of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_meta_size.2 b/doc/man/nvme_ns_get_meta_size.2
index 2a40073..4bd0940 100644
--- a/doc/man/nvme_ns_get_meta_size.2
+++ b/doc/man/nvme_ns_get_meta_size.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_meta_size \- Metadata size of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_model.2 b/doc/man/nvme_ns_get_model.2
index ffa16f9..223ff01 100644
--- a/doc/man/nvme_ns_get_model.2
+++ b/doc/man/nvme_ns_get_model.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_model \- Model of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_name.2 b/doc/man/nvme_ns_get_name.2
index b4f4172..c25bd93 100644
--- a/doc/man/nvme_ns_get_name.2
+++ b/doc/man/nvme_ns_get_name.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_name \- sysfs name of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_nguid.2 b/doc/man/nvme_ns_get_nguid.2
index 2c240b1..cecd646 100644
--- a/doc/man/nvme_ns_get_nguid.2
+++ b/doc/man/nvme_ns_get_nguid.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_nguid \- 128-bit nguid of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_nsid.2 b/doc/man/nvme_ns_get_nsid.2
index 30ee3c9..0212042 100644
--- a/doc/man/nvme_ns_get_nsid.2
+++ b/doc/man/nvme_ns_get_nsid.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_nsid \- NSID of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_serial.2 b/doc/man/nvme_ns_get_serial.2
index 49d3f6f..4ab27b3 100644
--- a/doc/man/nvme_ns_get_serial.2
+++ b/doc/man/nvme_ns_get_serial.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_serial \- Serial number of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_subsystem.2 b/doc/man/nvme_ns_get_subsystem.2
index ca9ef5b..2d20ba9 100644
--- a/doc/man/nvme_ns_get_subsystem.2
+++ b/doc/man/nvme_ns_get_subsystem.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_subsystem \- &nvme_subsystem_t of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_sysfs_dir.2 b/doc/man/nvme_ns_get_sysfs_dir.2
index ac6fcfe..51ff7de 100644
--- a/doc/man/nvme_ns_get_sysfs_dir.2
+++ b/doc/man/nvme_ns_get_sysfs_dir.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_sysfs_dir \- sysfs directory of a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_get_uuid.2 b/doc/man/nvme_ns_get_uuid.2
index 8215345..b471d55 100644
--- a/doc/man/nvme_ns_get_uuid.2
+++ b/doc/man/nvme_ns_get_uuid.2
@@ -1,10 +1,10 @@
-.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_uuid \- UUID of a namespace
.SH SYNOPSIS
.B "void" nvme_ns_get_uuid
.BI "(nvme_ns_t n " ","
-.BI "uuid_t out " ");"
+.BI "unsigned char out[NVME_UUID_LEN] " ");"
.SH ARGUMENTS
.IP "n" 12
Namespace instance
diff --git a/doc/man/nvme_ns_id_desc.2 b/doc/man/nvme_ns_id_desc.2
index f2ea76a..a8a7567 100644
--- a/doc/man/nvme_ns_id_desc.2
+++ b/doc/man/nvme_ns_id_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_ns_id_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ns_id_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_ns_id_desc \- Namespace identifier type descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_id_desc_nidt.2 b/doc/man/nvme_ns_id_desc_nidt.2
index 5cfb1d7..7177ccb 100644
--- a/doc/man/nvme_ns_id_desc_nidt.2
+++ b/doc/man/nvme_ns_id_desc_nidt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ns_id_desc_nidt \- Known namespace identifier types
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_identify.2 b/doc/man/nvme_ns_identify.2
index 2375306..5e522a0 100644
--- a/doc/man/nvme_ns_identify.2
+++ b/doc/man/nvme_ns_identify.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_identify" 9 "nvme_ns_identify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_identify" 9 "nvme_ns_identify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_identify \- Issue an 'identify namespace' command
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_identify_descs.2 b/doc/man/nvme_ns_identify_descs.2
index 98d77b9..a727935 100644
--- a/doc/man/nvme_ns_identify_descs.2
+++ b/doc/man/nvme_ns_identify_descs.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_identify_descs \- Issue an 'identify descriptors' command
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_list.2 b/doc/man/nvme_ns_list.2
index 6443a71..8e3f787 100644
--- a/doc/man/nvme_ns_list.2
+++ b/doc/man/nvme_ns_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_ns_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ns_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_ns_list \- Namespace List
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_metadata_type.2 b/doc/man/nvme_ns_metadata_type.2
index cc10b8d..8d874a8 100644
--- a/doc/man/nvme_ns_metadata_type.2
+++ b/doc/man/nvme_ns_metadata_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ns_metadata_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_metadata_type" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ns_metadata_type \- Namespace Metadata Element Types
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_mgmt.2 b/doc/man/nvme_ns_mgmt.2
index 3013a2e..04d3e51 100644
--- a/doc/man/nvme_ns_mgmt.2
+++ b/doc/man/nvme_ns_mgmt.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt \- Issue a Namespace management command
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_mgmt_create.2 b/doc/man/nvme_ns_mgmt_create.2
index 7060941..896332c 100644
--- a/doc/man/nvme_ns_mgmt_create.2
+++ b/doc/man/nvme_ns_mgmt_create.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt_create \- Create a non attached namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_mgmt_delete.2 b/doc/man/nvme_ns_mgmt_delete.2
index 4993ed4..b60654b 100644
--- a/doc/man/nvme_ns_mgmt_delete.2
+++ b/doc/man/nvme_ns_mgmt_delete.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt_delete \- Delete a non attached namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_mgmt_sel.2 b/doc/man/nvme_ns_mgmt_sel.2
index 4d76f29..947ca7b 100644
--- a/doc/man/nvme_ns_mgmt_sel.2
+++ b/doc/man/nvme_ns_mgmt_sel.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ns_mgmt_sel \- Namespace Management - Select
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_read.2 b/doc/man/nvme_ns_read.2
index 9e5386e..682ca14 100644
--- a/doc/man/nvme_ns_read.2
+++ b/doc/man/nvme_ns_read.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_read" 9 "nvme_ns_read" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_read" 9 "nvme_ns_read" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_read \- Read from a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_rescan.2 b/doc/man/nvme_ns_rescan.2
index 0db76a0..a483c0b 100644
--- a/doc/man/nvme_ns_rescan.2
+++ b/doc/man/nvme_ns_rescan.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_rescan \- Initiate a controller rescan
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_verify.2 b/doc/man/nvme_ns_verify.2
index 0a37121..48ce2fc 100644
--- a/doc/man/nvme_ns_verify.2
+++ b/doc/man/nvme_ns_verify.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_verify" 9 "nvme_ns_verify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_verify" 9 "nvme_ns_verify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_verify \- Verify data on a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_write.2 b/doc/man/nvme_ns_write.2
index 5944967..b671d37 100644
--- a/doc/man/nvme_ns_write.2
+++ b/doc/man/nvme_ns_write.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_write" 9 "nvme_ns_write" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_write" 9 "nvme_ns_write" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write \- Write to a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_write_protect_cfg.2 b/doc/man/nvme_ns_write_protect_cfg.2
index f6f7e46..0987434 100644
--- a/doc/man/nvme_ns_write_protect_cfg.2
+++ b/doc/man/nvme_ns_write_protect_cfg.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_ns_write_protect_cfg \- Write Protection - Write Protection State
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_write_uncorrectable.2 b/doc/man/nvme_ns_write_uncorrectable.2
index b4280d7..944b953 100644
--- a/doc/man/nvme_ns_write_uncorrectable.2
+++ b/doc/man/nvme_ns_write_uncorrectable.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write_uncorrectable \- Issus a 'write uncorrectable' command
.SH SYNOPSIS
diff --git a/doc/man/nvme_ns_write_zeros.2 b/doc/man/nvme_ns_write_zeros.2
index 2354329..132c83a 100644
--- a/doc/man/nvme_ns_write_zeros.2
+++ b/doc/man/nvme_ns_write_zeros.2
@@ -1,4 +1,4 @@
-.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write_zeros \- Write zeros to a namespace
.SH SYNOPSIS
diff --git a/doc/man/nvme_nss_hw_err_event.2 b/doc/man/nvme_nss_hw_err_event.2
index 870bc84..ad38206 100644
--- a/doc/man/nvme_nss_hw_err_event.2
+++ b/doc/man/nvme_nss_hw_err_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_nss_hw_err_event \- NVM Subsystem Hardware Error Event
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvm_id_ns.2 b/doc/man/nvme_nvm_id_ns.2
index 14e150a..8bfc16f 100644
--- a/doc/man/nvme_nvm_id_ns.2
+++ b/doc/man/nvme_nvm_id_ns.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_nvm_id_ns" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvm_id_ns" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_nvm_id_ns \- NVME Command Set I/O Command Set Specific Identify Namespace Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvm_id_ns_elbaf.2 b/doc/man/nvme_nvm_id_ns_elbaf.2
index f5e89ac..8e466dd 100644
--- a/doc/man/nvme_nvm_id_ns_elbaf.2
+++ b/doc/man/nvme_nvm_id_ns_elbaf.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_nvm_id_ns_elbaf \- This field indicates the extended LBA format
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvm_identify_ctrl.2 b/doc/man/nvme_nvm_identify_ctrl.2
index 93083bf..541143f 100644
--- a/doc/man/nvme_nvm_identify_ctrl.2
+++ b/doc/man/nvme_nvm_identify_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_nvm_identify_ctrl \- Identify controller data
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvmeset_pl_status.2 b/doc/man/nvme_nvmeset_pl_status.2
index b8ab7e9..fbb2ea4 100644
--- a/doc/man/nvme_nvmeset_pl_status.2
+++ b/doc/man/nvme_nvmeset_pl_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_nvmeset_pl_status \- Predictable Latency Per NVM Set Log - Status
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvmset_attr.2 b/doc/man/nvme_nvmset_attr.2
index d985812..92210da 100644
--- a/doc/man/nvme_nvmset_attr.2
+++ b/doc/man/nvme_nvmset_attr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_nvmset_attr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvmset_attr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_nvmset_attr \- NVM Set Attributes Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvmset_pl_events.2 b/doc/man/nvme_nvmset_pl_events.2
index 2243280..7f74421 100644
--- a/doc/man/nvme_nvmset_pl_events.2
+++ b/doc/man/nvme_nvmset_pl_events.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_nvmset_pl_events \- Predictable Latency Per NVM Set Log - Event Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_nvmset_predictable_lat_log.2 b/doc/man/nvme_nvmset_predictable_lat_log.2
index 85432d9..ec9994b 100644
--- a/doc/man/nvme_nvmset_predictable_lat_log.2
+++ b/doc/man/nvme_nvmset_predictable_lat_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_nvmset_predictable_lat_log \- Predictable Latency Mode - Deterministic Threshold Configuration Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_open.2 b/doc/man/nvme_open.2
index cb10cbe..370f86c 100644
--- a/doc/man/nvme_open.2
+++ b/doc/man/nvme_open.2
@@ -1,4 +1,4 @@
-.TH "nvme_open" 9 "nvme_open" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_open" 9 "nvme_open" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_open \- Open an nvme controller or namespace device
.SH SYNOPSIS
diff --git a/doc/man/nvme_passthru_cmd.2 b/doc/man/nvme_passthru_cmd.2
index b73ff94..7528ccc 100644
--- a/doc/man/nvme_passthru_cmd.2
+++ b/doc/man/nvme_passthru_cmd.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_passthru_cmd" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_passthru_cmd" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_passthru_cmd \- nvme passthrough command structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_passthru_cmd64.2 b/doc/man/nvme_passthru_cmd64.2
new file mode 100644
index 0000000..82de2f7
--- /dev/null
+++ b/doc/man/nvme_passthru_cmd64.2
@@ -0,0 +1,87 @@
+.TH "libnvme" 9 "struct nvme_passthru_cmd64" "October 2022" "API Manual" LINUX
+.SH NAME
+struct nvme_passthru_cmd64 \- 64-bit nvme passthrough command structure
+.SH SYNOPSIS
+struct nvme_passthru_cmd64 {
+.br
+.BI " __u8 opcode;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __u16 rsvd1;"
+.br
+.BI " __u32 nsid;"
+.br
+.BI " __u32 cdw2;"
+.br
+.BI " __u32 cdw3;"
+.br
+.BI " __u64 metadata;"
+.br
+.BI " __u64 addr;"
+.br
+.BI " __u32 metadata_len;"
+.br
+.BI " __u32 data_len;"
+.br
+.BI " __u32 cdw10;"
+.br
+.BI " __u32 cdw11;"
+.br
+.BI " __u32 cdw12;"
+.br
+.BI " __u32 cdw13;"
+.br
+.BI " __u32 cdw14;"
+.br
+.BI " __u32 cdw15;"
+.br
+.BI " __u32 timeout_ms;"
+.br
+.BI " __u32 rsvd2;"
+.br
+.BI " __u64 result;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "opcode" 12
+Operation code, see \fIenum nvme_io_opcodes\fP and \fIenum nvme_admin_opcodes\fP
+.IP "flags" 12
+Not supported: intended for command flags (eg: SGL, FUSE)
+.IP "rsvd1" 12
+Reserved for future use
+.IP "nsid" 12
+Namespace Identifier, or Fabrics type
+.IP "cdw2" 12
+Command Dword 2 (no spec defined use)
+.IP "cdw3" 12
+Command Dword 3 (no spec defined use)
+.IP "metadata" 12
+User space address to metadata buffer (NULL if not used)
+.IP "addr" 12
+User space address to data buffer (NULL if not used)
+.IP "metadata_len" 12
+Metadata buffer transfer length
+.IP "data_len" 12
+Data buffer transfer length
+.IP "cdw10" 12
+Command Dword 10 (command specific)
+.IP "cdw11" 12
+Command Dword 11 (command specific)
+.IP "cdw12" 12
+Command Dword 12 (command specific)
+.IP "cdw13" 12
+Command Dword 13 (command specific)
+.IP "cdw14" 12
+Command Dword 14 (command specific)
+.IP "cdw15" 12
+Command Dword 15 (command specific)
+.IP "timeout_ms" 12
+If non-zero, overrides system default timeout in milliseconds
+.IP "rsvd2" 12
+Reserved for future use (and fills an implicit struct pad
+.IP "result" 12
+Set on completion to the command's CQE DWORD 0-1 controller response
diff --git a/doc/man/nvme_path_get_ana_state.2 b/doc/man/nvme_path_get_ana_state.2
index ab63ffd..d99f00f 100644
--- a/doc/man/nvme_path_get_ana_state.2
+++ b/doc/man/nvme_path_get_ana_state.2
@@ -1,4 +1,4 @@
-.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ana_state \- ANA state of an nvme_path_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_path_get_ctrl.2 b/doc/man/nvme_path_get_ctrl.2
index 1db55a9..d486718 100644
--- a/doc/man/nvme_path_get_ctrl.2
+++ b/doc/man/nvme_path_get_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ctrl \- Parent controller of an nvme_path_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_path_get_name.2 b/doc/man/nvme_path_get_name.2
index 9aa970e..4c8f4b4 100644
--- a/doc/man/nvme_path_get_name.2
+++ b/doc/man/nvme_path_get_name.2
@@ -1,4 +1,4 @@
-.TH "nvme_path_get_name" 9 "nvme_path_get_name" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_path_get_name" 9 "nvme_path_get_name" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_name \- sysfs name of an &nvme_path_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_path_get_ns.2 b/doc/man/nvme_path_get_ns.2
index 3a91217..fbd9629 100644
--- a/doc/man/nvme_path_get_ns.2
+++ b/doc/man/nvme_path_get_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ns \- Parent namespace of an nvme_path_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_path_get_sysfs_dir.2 b/doc/man/nvme_path_get_sysfs_dir.2
index 1bdad2a..4c7e01a 100644
--- a/doc/man/nvme_path_get_sysfs_dir.2
+++ b/doc/man/nvme_path_get_sysfs_dir.2
@@ -1,4 +1,4 @@
-.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_sysfs_dir \- sysfs directory of an nvme_path_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_paths_filter.2 b/doc/man/nvme_paths_filter.2
index 10b7f86..1825634 100644
--- a/doc/man/nvme_paths_filter.2
+++ b/doc/man/nvme_paths_filter.2
@@ -1,4 +1,4 @@
-.TH "nvme_paths_filter" 9 "nvme_paths_filter" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_paths_filter" 9 "nvme_paths_filter" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_paths_filter \- Filter for paths
.SH SYNOPSIS
diff --git a/doc/man/nvme_persistent_event_entry.2 b/doc/man/nvme_persistent_event_entry.2
index 36effd1..9a7e795 100644
--- a/doc/man/nvme_persistent_event_entry.2
+++ b/doc/man/nvme_persistent_event_entry.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_persistent_event_entry" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_persistent_event_entry" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_persistent_event_entry \- Persistent Event
.SH SYNOPSIS
diff --git a/doc/man/nvme_persistent_event_log.2 b/doc/man/nvme_persistent_event_log.2
index 1bd69af..59d4866 100644
--- a/doc/man/nvme_persistent_event_log.2
+++ b/doc/man/nvme_persistent_event_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_persistent_event_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_persistent_event_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_persistent_event_log \- Persistent Event Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_persistent_event_types.2 b/doc/man/nvme_persistent_event_types.2
index cad8aac..2b96a9b 100644
--- a/doc/man/nvme_persistent_event_types.2
+++ b/doc/man/nvme_persistent_event_types.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_persistent_event_types" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_persistent_event_types" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_persistent_event_types \- Persistent event log events
.SH SYNOPSIS
diff --git a/doc/man/nvme_pevent_log_action.2 b/doc/man/nvme_pevent_log_action.2
index 7eaebb7..2373336 100644
--- a/doc/man/nvme_pevent_log_action.2
+++ b/doc/man/nvme_pevent_log_action.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_pevent_log_action" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_pevent_log_action" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_pevent_log_action \- Persistent Event Log - Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_plm_config.2 b/doc/man/nvme_plm_config.2
index 7d33cc9..7aad2e1 100644
--- a/doc/man/nvme_plm_config.2
+++ b/doc/man/nvme_plm_config.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_plm_config" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_plm_config" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_plm_config \- Predictable Latency Mode - Deterministic Threshold Configuration Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_pmr_size.2 b/doc/man/nvme_pmr_size.2
index 94a95f1..6c35194 100644
--- a/doc/man/nvme_pmr_size.2
+++ b/doc/man/nvme_pmr_size.2
@@ -1,4 +1,4 @@
-.TH "nvme_pmr_size" 9 "nvme_pmr_size" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_pmr_size" 9 "nvme_pmr_size" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_pmr_size \- Calculate size of persistent memory region elasticity buffer
.SH SYNOPSIS
diff --git a/doc/man/nvme_pmr_throughput.2 b/doc/man/nvme_pmr_throughput.2
index 3390e32..807caac 100644
--- a/doc/man/nvme_pmr_throughput.2
+++ b/doc/man/nvme_pmr_throughput.2
@@ -1,4 +1,4 @@
-.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_pmr_throughput \- Calculate throughput of persistent memory buffer
.SH SYNOPSIS
diff --git a/doc/man/nvme_power_on_reset_info_list.2 b/doc/man/nvme_power_on_reset_info_list.2
index 7f67adb..ff6d5eb 100644
--- a/doc/man/nvme_power_on_reset_info_list.2
+++ b/doc/man/nvme_power_on_reset_info_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_power_on_reset_info_list \- Controller Reset Information
.SH SYNOPSIS
diff --git a/doc/man/nvme_primary_ctrl_cap.2 b/doc/man/nvme_primary_ctrl_cap.2
index b47dc0d..da6a296 100644
--- a/doc/man/nvme_primary_ctrl_cap.2
+++ b/doc/man/nvme_primary_ctrl_cap.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_primary_ctrl_cap \- Identify - Controller Capabilities Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_psd_flags.2 b/doc/man/nvme_psd_flags.2
index b14551a..aa92507 100644
--- a/doc/man/nvme_psd_flags.2
+++ b/doc/man/nvme_psd_flags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_psd_flags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_flags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_psd_flags \- Possible flag values in nvme power state descriptor
.SH SYNOPSIS
diff --git a/doc/man/nvme_psd_power_scale.2 b/doc/man/nvme_psd_power_scale.2
index 3548b5c..2b95fc2 100644
--- a/doc/man/nvme_psd_power_scale.2
+++ b/doc/man/nvme_psd_power_scale.2
@@ -1,4 +1,4 @@
-.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_psd_power_scale \- power scale occupies the upper 3 bits
.SH SYNOPSIS
diff --git a/doc/man/nvme_psd_ps.2 b/doc/man/nvme_psd_ps.2
index 66473b7..4efe647 100644
--- a/doc/man/nvme_psd_ps.2
+++ b/doc/man/nvme_psd_ps.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_psd_ps" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_ps" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_psd_ps \- Known values for &struct nvme_psd %ips and %aps. Use with nvme_psd_power_scale() to extract the power scale field to match this enum.
.SH SYNOPSIS
diff --git a/doc/man/nvme_psd_workload.2 b/doc/man/nvme_psd_workload.2
index 61f01d3..82f1566 100644
--- a/doc/man/nvme_psd_workload.2
+++ b/doc/man/nvme_psd_workload.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_psd_workload" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_workload" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_psd_workload \- Specifies a workload hint in the Power Management Feature (see &struct nvme_psd.apw) to inform the NVM subsystem or indicate the conditions for the active power level.
.SH SYNOPSIS
diff --git a/doc/man/nvme_read.2 b/doc/man/nvme_read.2
index b709003..bfd8bd1 100644
--- a/doc/man/nvme_read.2
+++ b/doc/man/nvme_read.2
@@ -1,4 +1,4 @@
-.TH "nvme_read" 9 "nvme_read" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_read" 9 "nvme_read" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_read \- Submit an nvme user read command
.SH SYNOPSIS
diff --git a/doc/man/nvme_read_config.2 b/doc/man/nvme_read_config.2
index 06b1651..a262cb3 100644
--- a/doc/man/nvme_read_config.2
+++ b/doc/man/nvme_read_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_read_config" 9 "nvme_read_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_read_config" 9 "nvme_read_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_read_config \- Read NVMe JSON configuration file
.SH SYNOPSIS
diff --git a/doc/man/nvme_refresh_topology.2 b/doc/man/nvme_refresh_topology.2
index 291b788..6d71be0 100644
--- a/doc/man/nvme_refresh_topology.2
+++ b/doc/man/nvme_refresh_topology.2
@@ -1,4 +1,4 @@
-.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_refresh_topology \- Refresh nvme_root_t object contents
.SH SYNOPSIS
diff --git a/doc/man/nvme_register_offsets.2 b/doc/man/nvme_register_offsets.2
index 708d743..eb29c1b 100644
--- a/doc/man/nvme_register_offsets.2
+++ b/doc/man/nvme_register_offsets.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_register_offsets" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_register_offsets" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_register_offsets \- controller registers for all transports. This is the layout of BAR0/1 for PCIe, and properties for fabrics.
.SH SYNOPSIS
diff --git a/doc/man/nvme_registered_ctrl.2 b/doc/man/nvme_registered_ctrl.2
index 3a8f24a..bb0054f 100644
--- a/doc/man/nvme_registered_ctrl.2
+++ b/doc/man/nvme_registered_ctrl.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_registered_ctrl" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_registered_ctrl" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_registered_ctrl \- Registered Controller Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_registered_ctrl_ext.2 b/doc/man/nvme_registered_ctrl_ext.2
index 92a591e..12825b4 100644
--- a/doc/man/nvme_registered_ctrl_ext.2
+++ b/doc/man/nvme_registered_ctrl_ext.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_registered_ctrl_ext \- Registered Controller Extended Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_rescan_ctrl.2 b/doc/man/nvme_rescan_ctrl.2
index a100e3a..f4ab5ec 100644
--- a/doc/man/nvme_rescan_ctrl.2
+++ b/doc/man/nvme_rescan_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_rescan_ctrl \- Rescan an existing controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_acquire.2 b/doc/man/nvme_resv_acquire.2
index d31c092..4374637 100644
--- a/doc/man/nvme_resv_acquire.2
+++ b/doc/man/nvme_resv_acquire.2
@@ -1,4 +1,4 @@
-.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_resv_acquire \- Send an nvme reservation acquire
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_cptpl.2 b/doc/man/nvme_resv_cptpl.2
index 1b6c032..30ea56a 100644
--- a/doc/man/nvme_resv_cptpl.2
+++ b/doc/man/nvme_resv_cptpl.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_cptpl" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_cptpl" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_cptpl \- Reservation Register - Change Persist Through Power Loss State
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_notification_log.2 b/doc/man/nvme_resv_notification_log.2
index 166ab06..de2b0c3 100644
--- a/doc/man/nvme_resv_notification_log.2
+++ b/doc/man/nvme_resv_notification_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_resv_notification_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_resv_notification_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_resv_notification_log \- Reservation Notification Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_notify_rnlpt.2 b/doc/man/nvme_resv_notify_rnlpt.2
index 9d0953e..2f3d25b 100644
--- a/doc/man/nvme_resv_notify_rnlpt.2
+++ b/doc/man/nvme_resv_notify_rnlpt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_notify_rnlpt \- Reservation Notification Log - Reservation Notification Log Page Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_racqa.2 b/doc/man/nvme_resv_racqa.2
index cb86632..94351c0 100644
--- a/doc/man/nvme_resv_racqa.2
+++ b/doc/man/nvme_resv_racqa.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_racqa" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_racqa" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_racqa \- Reservation Acquire - Reservation Acquire Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_register.2 b/doc/man/nvme_resv_register.2
index ad3da93..1fdfc18 100644
--- a/doc/man/nvme_resv_register.2
+++ b/doc/man/nvme_resv_register.2
@@ -1,4 +1,4 @@
-.TH "nvme_resv_register" 9 "nvme_resv_register" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_resv_register" 9 "nvme_resv_register" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_resv_register \- Send an nvme reservation register
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_release.2 b/doc/man/nvme_resv_release.2
index 8dd34d1..cb02096 100644
--- a/doc/man/nvme_resv_release.2
+++ b/doc/man/nvme_resv_release.2
@@ -1,4 +1,4 @@
-.TH "nvme_resv_release" 9 "nvme_resv_release" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_resv_release" 9 "nvme_resv_release" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_resv_release \- Send an nvme reservation release
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_report.2 b/doc/man/nvme_resv_report.2
index a1b9d3b..2760676 100644
--- a/doc/man/nvme_resv_report.2
+++ b/doc/man/nvme_resv_report.2
@@ -1,4 +1,4 @@
-.TH "nvme_resv_report" 9 "nvme_resv_report" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_resv_report" 9 "nvme_resv_report" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_resv_report \- Send an nvme reservation report
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_rrega.2 b/doc/man/nvme_resv_rrega.2
index dc0d5c4..08996f9 100644
--- a/doc/man/nvme_resv_rrega.2
+++ b/doc/man/nvme_resv_rrega.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_rrega" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rrega" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_rrega \- Reservation Register - Reservation Register Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_rrela.2 b/doc/man/nvme_resv_rrela.2
index 75c79e5..7017723 100644
--- a/doc/man/nvme_resv_rrela.2
+++ b/doc/man/nvme_resv_rrela.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_rrela" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rrela" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_rrela \- Reservation Release - Reservation Release Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_rtype.2 b/doc/man/nvme_resv_rtype.2
index 2354ceb..0e4d392 100644
--- a/doc/man/nvme_resv_rtype.2
+++ b/doc/man/nvme_resv_rtype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_resv_rtype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rtype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_resv_rtype \- Reservation Type Encoding
.SH SYNOPSIS
diff --git a/doc/man/nvme_resv_status.2 b/doc/man/nvme_resv_status.2
index 20ebfec..241452c 100644
--- a/doc/man/nvme_resv_status.2
+++ b/doc/man/nvme_resv_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_resv_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_resv_status" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_resv_status \- Reservation Status Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_compln_event.2 b/doc/man/nvme_sanitize_compln_event.2
index 8ac2be6..f3c4251 100644
--- a/doc/man/nvme_sanitize_compln_event.2
+++ b/doc/man/nvme_sanitize_compln_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_compln_event \- Sanitize Completion Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_log_page.2 b/doc/man/nvme_sanitize_log_page.2
index f04ceb9..c7fdbd7 100644
--- a/doc/man/nvme_sanitize_log_page.2
+++ b/doc/man/nvme_sanitize_log_page.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_sanitize_log_page" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_log_page" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_log_page \- Sanitize Status (Log Identifier 81h)
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_nvm.2 b/doc/man/nvme_sanitize_nvm.2
index f711c8d..823ee49 100644
--- a/doc/man/nvme_sanitize_nvm.2
+++ b/doc/man/nvme_sanitize_nvm.2
@@ -1,4 +1,4 @@
-.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_sanitize_nvm \- Start a sanitize operation
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_sanact.2 b/doc/man/nvme_sanitize_sanact.2
index 3eb397e..668d08f 100644
--- a/doc/man/nvme_sanitize_sanact.2
+++ b/doc/man/nvme_sanitize_sanact.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_sanitize_sanact" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_sanitize_sanact" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_sanitize_sanact \- Sanitize Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_sstat.2 b/doc/man/nvme_sanitize_sstat.2
index e9e66ea..c2c0781 100644
--- a/doc/man/nvme_sanitize_sstat.2
+++ b/doc/man/nvme_sanitize_sstat.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_sanitize_sstat" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_sanitize_sstat" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_sanitize_sstat \- Sanitize Status (SSTAT)
.SH SYNOPSIS
diff --git a/doc/man/nvme_sanitize_start_event.2 b/doc/man/nvme_sanitize_start_event.2
index a092ca3..6813fee 100644
--- a/doc/man/nvme_sanitize_start_event.2
+++ b/doc/man/nvme_sanitize_start_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_sanitize_start_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_start_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_start_event \- Sanitize Start Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan.2 b/doc/man/nvme_scan.2
index 9821468..e4bb31c 100644
--- a/doc/man/nvme_scan.2
+++ b/doc/man/nvme_scan.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan" 9 "nvme_scan" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan" 9 "nvme_scan" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan \- Scan NVMe topology
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_ctrl.2 b/doc/man/nvme_scan_ctrl.2
index 594136b..4d324ed 100644
--- a/doc/man/nvme_scan_ctrl.2
+++ b/doc/man/nvme_scan_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl \- Scan on a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_ctrl_namespace_paths.2 b/doc/man/nvme_scan_ctrl_namespace_paths.2
index 7ab944f..81cd4c0 100644
--- a/doc/man/nvme_scan_ctrl_namespace_paths.2
+++ b/doc/man/nvme_scan_ctrl_namespace_paths.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl_namespace_paths \- Scan for namespace paths in a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_ctrl_namespaces.2 b/doc/man/nvme_scan_ctrl_namespaces.2
index ecfe99c..2426c05 100644
--- a/doc/man/nvme_scan_ctrl_namespaces.2
+++ b/doc/man/nvme_scan_ctrl_namespaces.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl_namespaces \- Scan for namespaces in a controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_ctrls.2 b/doc/man/nvme_scan_ctrls.2
index 6708e4f..25fd677 100644
--- a/doc/man/nvme_scan_ctrls.2
+++ b/doc/man/nvme_scan_ctrls.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrls \- Scan for controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_namespace.2 b/doc/man/nvme_scan_namespace.2
index f7cfc5f..2e2fb61 100644
--- a/doc/man/nvme_scan_namespace.2
+++ b/doc/man/nvme_scan_namespace.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_namespace \- scan namespace based on sysfs name
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_subsystem_namespaces.2 b/doc/man/nvme_scan_subsystem_namespaces.2
index cf45aa0..8d7b208 100644
--- a/doc/man/nvme_scan_subsystem_namespaces.2
+++ b/doc/man/nvme_scan_subsystem_namespaces.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_subsystem_namespaces \- Scan for namespaces in a subsystem
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_subsystems.2 b/doc/man/nvme_scan_subsystems.2
index da59ebd..00bc922 100644
--- a/doc/man/nvme_scan_subsystems.2
+++ b/doc/man/nvme_scan_subsystems.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_subsystems \- Scan for subsystems
.SH SYNOPSIS
diff --git a/doc/man/nvme_scan_topology.2 b/doc/man/nvme_scan_topology.2
index 7155564..c548138 100644
--- a/doc/man/nvme_scan_topology.2
+++ b/doc/man/nvme_scan_topology.2
@@ -1,4 +1,4 @@
-.TH "nvme_scan_topology" 9 "nvme_scan_topology" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_scan_topology" 9 "nvme_scan_topology" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_scan_topology \- Scan NVMe topology and apply filter
.SH SYNOPSIS
diff --git a/doc/man/nvme_secondary_ctrl.2 b/doc/man/nvme_secondary_ctrl.2
index 2bce294..40c1601 100644
--- a/doc/man/nvme_secondary_ctrl.2
+++ b/doc/man/nvme_secondary_ctrl.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_secondary_ctrl" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_secondary_ctrl" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_secondary_ctrl \- Secondary Controller Entry
.SH SYNOPSIS
diff --git a/doc/man/nvme_secondary_ctrl_list.2 b/doc/man/nvme_secondary_ctrl_list.2
index 2b8b773..42a0510 100644
--- a/doc/man/nvme_secondary_ctrl_list.2
+++ b/doc/man/nvme_secondary_ctrl_list.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_secondary_ctrl_list \- Secondary Controller List
.SH SYNOPSIS
diff --git a/doc/man/nvme_security_receive.2 b/doc/man/nvme_security_receive.2
index c10c35e..298238e 100644
--- a/doc/man/nvme_security_receive.2
+++ b/doc/man/nvme_security_receive.2
@@ -1,4 +1,4 @@
-.TH "nvme_security_receive" 9 "nvme_security_receive" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_security_receive" 9 "nvme_security_receive" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_security_receive \- Security Receive command
.SH SYNOPSIS
diff --git a/doc/man/nvme_security_send.2 b/doc/man/nvme_security_send.2
index d3ae84c..fc2fe04 100644
--- a/doc/man/nvme_security_send.2
+++ b/doc/man/nvme_security_send.2
@@ -1,4 +1,4 @@
-.TH "nvme_security_send" 9 "nvme_security_send" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_security_send" 9 "nvme_security_send" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_security_send \- Security Send command
.SH SYNOPSIS
diff --git a/doc/man/nvme_self_test_log.2 b/doc/man/nvme_self_test_log.2
index 215a896..1fa2d79 100644
--- a/doc/man/nvme_self_test_log.2
+++ b/doc/man/nvme_self_test_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_self_test_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_self_test_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_self_test_log \- Device Self-test (Log Identifier 06h)
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_feature_event.2 b/doc/man/nvme_set_feature_event.2
index 0034017..54eb128 100644
--- a/doc/man/nvme_set_feature_event.2
+++ b/doc/man/nvme_set_feature_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_set_feature_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_set_feature_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_set_feature_event \- Set Feature Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features.2 b/doc/man/nvme_set_features.2
index c23014b..818deaa 100644
--- a/doc/man/nvme_set_features.2
+++ b/doc/man/nvme_set_features.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features" 9 "nvme_set_features" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features" 9 "nvme_set_features" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features \- Set a feature attribute
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_arbitration.2 b/doc/man/nvme_set_features_arbitration.2
index 2f4afa5..0f5179e 100644
--- a/doc/man/nvme_set_features_arbitration.2
+++ b/doc/man/nvme_set_features_arbitration.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_arbitration \- Set arbitration features
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_async_event.2 b/doc/man/nvme_set_features_async_event.2
index 97f9e70..6f3a899 100644
--- a/doc/man/nvme_set_features_async_event.2
+++ b/doc/man/nvme_set_features_async_event.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_async_event \- Set asynchronous event feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_auto_pst.2 b/doc/man/nvme_set_features_auto_pst.2
index 99ae9a8..8a8cc91 100644
--- a/doc/man/nvme_set_features_auto_pst.2
+++ b/doc/man/nvme_set_features_auto_pst.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_auto_pst \- Set autonomous power state feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_data.2 b/doc/man/nvme_set_features_data.2
index ae49988..73c2e69 100644
--- a/doc/man/nvme_set_features_data.2
+++ b/doc/man/nvme_set_features_data.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_data" 9 "nvme_set_features_data" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_data" 9 "nvme_set_features_data" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_data \- Helper function for @nvme_set_features()
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_endurance_evt_cfg.2 b/doc/man/nvme_set_features_endurance_evt_cfg.2
index 0acb6d2..5c4afcc 100644
--- a/doc/man/nvme_set_features_endurance_evt_cfg.2
+++ b/doc/man/nvme_set_features_endurance_evt_cfg.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_endurance_evt_cfg \- Set endurance event config feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_err_recovery.2 b/doc/man/nvme_set_features_err_recovery.2
index a277c96..3f1646d 100644
--- a/doc/man/nvme_set_features_err_recovery.2
+++ b/doc/man/nvme_set_features_err_recovery.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_err_recovery \- Set error recovery feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_hctm.2 b/doc/man/nvme_set_features_hctm.2
index c1a88c5..422ba43 100644
--- a/doc/man/nvme_set_features_hctm.2
+++ b/doc/man/nvme_set_features_hctm.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_hctm \- Set thermal management feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_host_behavior.2 b/doc/man/nvme_set_features_host_behavior.2
index 2f1cd4b..af29adf 100644
--- a/doc/man/nvme_set_features_host_behavior.2
+++ b/doc/man/nvme_set_features_host_behavior.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_host_behavior \- Set host behavior feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_host_id.2 b/doc/man/nvme_set_features_host_id.2
index 00e4943..1d269b3 100644
--- a/doc/man/nvme_set_features_host_id.2
+++ b/doc/man/nvme_set_features_host_id.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_host_id \- Set enable extended host identifers feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_irq_coalesce.2 b/doc/man/nvme_set_features_irq_coalesce.2
index 68a85d1..c55dbe6 100644
--- a/doc/man/nvme_set_features_irq_coalesce.2
+++ b/doc/man/nvme_set_features_irq_coalesce.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_irq_coalesce \- Set IRQ coalesce feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_irq_config.2 b/doc/man/nvme_set_features_irq_config.2
index 1515045..2116c43 100644
--- a/doc/man/nvme_set_features_irq_config.2
+++ b/doc/man/nvme_set_features_irq_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_irq_config \- Set IRQ config feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_lba_range.2 b/doc/man/nvme_set_features_lba_range.2
index 7d745ee..f366d15 100644
--- a/doc/man/nvme_set_features_lba_range.2
+++ b/doc/man/nvme_set_features_lba_range.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_lba_range \- Set LBA range feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_lba_sts_interval.2 b/doc/man/nvme_set_features_lba_sts_interval.2
index c799cf9..ca5238c 100644
--- a/doc/man/nvme_set_features_lba_sts_interval.2
+++ b/doc/man/nvme_set_features_lba_sts_interval.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_lba_sts_interval \- Set LBA status information feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_nopsc.2 b/doc/man/nvme_set_features_nopsc.2
index 8eed539..7837016 100644
--- a/doc/man/nvme_set_features_nopsc.2
+++ b/doc/man/nvme_set_features_nopsc.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_nopsc \- Set non-operational power state feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_plm_config.2 b/doc/man/nvme_set_features_plm_config.2
index 74ab6e1..acc0062 100644
--- a/doc/man/nvme_set_features_plm_config.2
+++ b/doc/man/nvme_set_features_plm_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_plm_config \- Set predictable latency feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_plm_window.2 b/doc/man/nvme_set_features_plm_window.2
index e7bf3e5..dc9e537 100644
--- a/doc/man/nvme_set_features_plm_window.2
+++ b/doc/man/nvme_set_features_plm_window.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_plm_window \- Set window select feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_power_mgmt.2 b/doc/man/nvme_set_features_power_mgmt.2
index 0a048e6..7a662b6 100644
--- a/doc/man/nvme_set_features_power_mgmt.2
+++ b/doc/man/nvme_set_features_power_mgmt.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_power_mgmt \- Set power management feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_resv_mask.2 b/doc/man/nvme_set_features_resv_mask.2
index 2b9ebb7..b283bbd 100644
--- a/doc/man/nvme_set_features_resv_mask.2
+++ b/doc/man/nvme_set_features_resv_mask.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_resv_mask \- Set reservation notification mask feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_resv_persist.2 b/doc/man/nvme_set_features_resv_persist.2
index 2c6eeec..57e9a31 100644
--- a/doc/man/nvme_set_features_resv_persist.2
+++ b/doc/man/nvme_set_features_resv_persist.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_resv_persist \- Set persist through power loss feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_rrl.2 b/doc/man/nvme_set_features_rrl.2
index ffa2c8e..0b35db1 100644
--- a/doc/man/nvme_set_features_rrl.2
+++ b/doc/man/nvme_set_features_rrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_rrl \- Set read recovery level feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_sanitize.2 b/doc/man/nvme_set_features_sanitize.2
index f53839e..5e874db 100644
--- a/doc/man/nvme_set_features_sanitize.2
+++ b/doc/man/nvme_set_features_sanitize.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_sanitize \- Set sanitize feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_simple.2 b/doc/man/nvme_set_features_simple.2
index 096b4dd..1d82a39 100644
--- a/doc/man/nvme_set_features_simple.2
+++ b/doc/man/nvme_set_features_simple.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_simple \- Helper function for @nvme_set_features()
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_sw_progress.2 b/doc/man/nvme_set_features_sw_progress.2
index b9afa31..0350bfd 100644
--- a/doc/man/nvme_set_features_sw_progress.2
+++ b/doc/man/nvme_set_features_sw_progress.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_sw_progress \- Set pre-boot software load count feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_temp_thresh.2 b/doc/man/nvme_set_features_temp_thresh.2
index bcea1aa..b04ccbd 100644
--- a/doc/man/nvme_set_features_temp_thresh.2
+++ b/doc/man/nvme_set_features_temp_thresh.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_temp_thresh \- Set temperature threshold feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_timestamp.2 b/doc/man/nvme_set_features_timestamp.2
index 682d8b9..3c572cf 100644
--- a/doc/man/nvme_set_features_timestamp.2
+++ b/doc/man/nvme_set_features_timestamp.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_timestamp \- Set timestamp feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_volatile_wc.2 b/doc/man/nvme_set_features_volatile_wc.2
index 4792972..ca05ebc 100644
--- a/doc/man/nvme_set_features_volatile_wc.2
+++ b/doc/man/nvme_set_features_volatile_wc.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_volatile_wc \- Set volatile write cache feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_write_atomic.2 b/doc/man/nvme_set_features_write_atomic.2
index 0cd8f68..bf7d80f 100644
--- a/doc/man/nvme_set_features_write_atomic.2
+++ b/doc/man/nvme_set_features_write_atomic.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_write_atomic \- Set write atomic feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_features_write_protect.2 b/doc/man/nvme_set_features_write_protect.2
index 42fb1c3..3106cd7 100644
--- a/doc/man/nvme_set_features_write_protect.2
+++ b/doc/man/nvme_set_features_write_protect.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_write_protect \- Set write protect feature
.SH SYNOPSIS
diff --git a/doc/man/nvme_set_property.2 b/doc/man/nvme_set_property.2
index 2409097..e15b573 100644
--- a/doc/man/nvme_set_property.2
+++ b/doc/man/nvme_set_property.2
@@ -1,4 +1,4 @@
-.TH "nvme_set_property" 9 "nvme_set_property" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_set_property" 9 "nvme_set_property" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_set_property \- Set controller property
.SH SYNOPSIS
diff --git a/doc/man/nvme_smart_crit.2 b/doc/man/nvme_smart_crit.2
index f32f42e..5dd636c 100644
--- a/doc/man/nvme_smart_crit.2
+++ b/doc/man/nvme_smart_crit.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_smart_crit" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_smart_crit" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_smart_crit \- Critical Warning
.SH SYNOPSIS
diff --git a/doc/man/nvme_smart_egcw.2 b/doc/man/nvme_smart_egcw.2
index 91c8ff0..2f19104 100644
--- a/doc/man/nvme_smart_egcw.2
+++ b/doc/man/nvme_smart_egcw.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_smart_egcw" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_smart_egcw" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_smart_egcw \- Endurance Group Critical Warning Summary
.SH SYNOPSIS
diff --git a/doc/man/nvme_smart_log.2 b/doc/man/nvme_smart_log.2
index 27d8c42..32acefd 100644
--- a/doc/man/nvme_smart_log.2
+++ b/doc/man/nvme_smart_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_smart_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_smart_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_smart_log \- SMART / Health Information Log (Log Identifier 02h)
.SH SYNOPSIS
diff --git a/doc/man/nvme_st_code.2 b/doc/man/nvme_st_code.2
index 083649e..0bff08d 100644
--- a/doc/man/nvme_st_code.2
+++ b/doc/man/nvme_st_code.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_st_code" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_code" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_st_code \- Self-test Code value
.SH SYNOPSIS
diff --git a/doc/man/nvme_st_curr_op.2 b/doc/man/nvme_st_curr_op.2
index 7b6f907..fc19830 100644
--- a/doc/man/nvme_st_curr_op.2
+++ b/doc/man/nvme_st_curr_op.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_st_curr_op" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_curr_op" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_st_curr_op \- Current Device Self-Test Operation
.SH SYNOPSIS
diff --git a/doc/man/nvme_st_result.2 b/doc/man/nvme_st_result.2
index 3ebcace..e4dca2b 100644
--- a/doc/man/nvme_st_result.2
+++ b/doc/man/nvme_st_result.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_st_result" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_st_result" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_st_result \- Self-test Result
.SH SYNOPSIS
diff --git a/doc/man/nvme_st_valid_diag_info.2 b/doc/man/nvme_st_valid_diag_info.2
index cbc9e08..8fc5b96 100644
--- a/doc/man/nvme_st_valid_diag_info.2
+++ b/doc/man/nvme_st_valid_diag_info.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_st_valid_diag_info \- Valid Diagnostic Information
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_code.2 b/doc/man/nvme_status_code.2
index cca0c5a..84e6b7b 100644
--- a/doc/man/nvme_status_code.2
+++ b/doc/man/nvme_status_code.2
@@ -1,4 +1,4 @@
-.TH "nvme_status_code" 9 "nvme_status_code" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_status_code" 9 "nvme_status_code" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_status_code \- Returns the NVMe Status Code
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_code_type.2 b/doc/man/nvme_status_code_type.2
index b3c97b8..eacecb2 100644
--- a/doc/man/nvme_status_code_type.2
+++ b/doc/man/nvme_status_code_type.2
@@ -1,4 +1,4 @@
-.TH "nvme_status_code_type" 9 "nvme_status_code_type" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_status_code_type" 9 "nvme_status_code_type" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_status_code_type \- Returns the NVMe Status Code Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_equals.2 b/doc/man/nvme_status_equals.2
new file mode 100644
index 0000000..55c3def
--- /dev/null
+++ b/doc/man/nvme_status_equals.2
@@ -0,0 +1,17 @@
+.TH "nvme_status_equals" 9 "nvme_status_equals" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_status_equals \- helper to check a status against a type and value
+.SH SYNOPSIS
+.B "__u32" nvme_status_equals
+.BI "(int status " ","
+.BI "enum nvme_status_type type " ","
+.BI "unsigned int value " ");"
+.SH ARGUMENTS
+.IP "status" 12
+the (non-negative) return value from the NVMe API
+.IP "type" 12
+the status type
+.IP "value" 12
+the status value
+.SH "RETURN"
+true if \fIstatus\fP is of the specified type and value
diff --git a/doc/man/nvme_status_field.2 b/doc/man/nvme_status_field.2
index ad35862..e3234fc 100644
--- a/doc/man/nvme_status_field.2
+++ b/doc/man/nvme_status_field.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_status_field" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_status_field" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_status_field \- Defines all parts of the nvme status field: status code, status code type, and additional flags.
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_get_type.2 b/doc/man/nvme_status_get_type.2
new file mode 100644
index 0000000..addbea4
--- /dev/null
+++ b/doc/man/nvme_status_get_type.2
@@ -0,0 +1,11 @@
+.TH "nvme_status_get_type" 9 "nvme_status_get_type" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_status_get_type \- extract the type from a nvme_* return value
+.SH SYNOPSIS
+.B "__u32" nvme_status_get_type
+.BI "(int status " ");"
+.SH ARGUMENTS
+.IP "status" 12
+the (non-negative) return value from the NVMe API
+.SH "RETURN"
+the type component of the status.
diff --git a/doc/man/nvme_status_get_value.2 b/doc/man/nvme_status_get_value.2
new file mode 100644
index 0000000..fbef5fa
--- /dev/null
+++ b/doc/man/nvme_status_get_value.2
@@ -0,0 +1,12 @@
+.TH "nvme_status_get_value" 9 "nvme_status_get_value" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_status_get_value \- extract the status value from a nvme_* return value
+.SH SYNOPSIS
+.B "__u32" nvme_status_get_value
+.BI "(int status " ");"
+.SH ARGUMENTS
+.IP "status" 12
+the (non-negative) return value from the NVMe API
+.SH "RETURN"
+the value component of the status; the set of values will depend
+on the status type.
diff --git a/doc/man/nvme_status_result.2 b/doc/man/nvme_status_result.2
index 235dc98..df79a39 100644
--- a/doc/man/nvme_status_result.2
+++ b/doc/man/nvme_status_result.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_status_result" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_status_result" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_status_result \- Result of the device self-test operation
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_to_errno.2 b/doc/man/nvme_status_to_errno.2
index 5c16c11..c047ed6 100644
--- a/doc/man/nvme_status_to_errno.2
+++ b/doc/man/nvme_status_to_errno.2
@@ -1,4 +1,4 @@
-.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_status_to_errno \- Converts nvme return status to errno
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_to_string.2 b/doc/man/nvme_status_to_string.2
index f192cc7..614224d 100644
--- a/doc/man/nvme_status_to_string.2
+++ b/doc/man/nvme_status_to_string.2
@@ -1,4 +1,4 @@
-.TH "nvme_status_to_string" 9 "nvme_status_to_string" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_status_to_string" 9 "nvme_status_to_string" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_status_to_string \- Returns string describing nvme return status.
.SH SYNOPSIS
diff --git a/doc/man/nvme_status_type.2 b/doc/man/nvme_status_type.2
new file mode 100644
index 0000000..60056ee
--- /dev/null
+++ b/doc/man/nvme_status_type.2
@@ -0,0 +1,40 @@
+.TH "libnvme" 9 "enum nvme_status_type" "October 2022" "API Manual" LINUX
+.SH NAME
+enum nvme_status_type \- type encoding for NVMe return values, when represented as an int.
+.SH SYNOPSIS
+enum nvme_status_type {
+.br
+.BI " NVME_STATUS_TYPE_SHIFT"
+,
+.br
+.br
+.BI " NVME_STATUS_TYPE_MASK"
+,
+.br
+.br
+.BI " NVME_STATUS_TYPE_NVME"
+,
+.br
+.br
+.BI " NVME_STATUS_TYPE_MI"
+
+};
+.SH Constants
+.IP "NVME_STATUS_TYPE_SHIFT" 12
+shift value for status bits
+.IP "NVME_STATUS_TYPE_MASK" 12
+mask value for status bits
+.IP "NVME_STATUS_TYPE_NVME" 12
+NVMe command status value, typically from CDW3
+.IP "NVME_STATUS_TYPE_MI" 12
+NVMe-MI header status
+.SH "Description"
+
+The nvme_* api returns an int, with negative values indicating an internal
+or syscall error, zero signifying success, positive values representing
+the NVMe status.
+
+That latter case (the NVMe status) may represent status values from
+different parts of the transport/controller/etc, and are at most 16 bits of
+data. So, we use the most-significant 3 bits of the signed int to indicate
+which type of status this is.
diff --git a/doc/man/nvme_streams_directive_params.2 b/doc/man/nvme_streams_directive_params.2
index 02c5c66..3313701 100644
--- a/doc/man/nvme_streams_directive_params.2
+++ b/doc/man/nvme_streams_directive_params.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_streams_directive_params" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_streams_directive_params" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_streams_directive_params \- Streams Directive - Return Parameters Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_streams_directive_status.2 b/doc/man/nvme_streams_directive_status.2
index 13a9a05..df9c96d 100644
--- a/doc/man/nvme_streams_directive_status.2
+++ b/doc/man/nvme_streams_directive_status.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_streams_directive_status" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_streams_directive_status" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_streams_directive_status \- Streams Directive - Get Status Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_submit_admin_passthru.2 b/doc/man/nvme_submit_admin_passthru.2
index c71ab37..f507a8c 100644
--- a/doc/man/nvme_submit_admin_passthru.2
+++ b/doc/man/nvme_submit_admin_passthru.2
@@ -1,4 +1,4 @@
-.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_submit_admin_passthru \- Submit an nvme passthrough admin command
.SH SYNOPSIS
diff --git a/doc/man/nvme_submit_admin_passthru64.2 b/doc/man/nvme_submit_admin_passthru64.2
new file mode 100644
index 0000000..730eef3
--- /dev/null
+++ b/doc/man/nvme_submit_admin_passthru64.2
@@ -0,0 +1,20 @@
+.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_submit_admin_passthru64 \- Submit a 64-bit nvme passthrough admin command
+.SH SYNOPSIS
+.B "int" nvme_submit_admin_passthru64
+.BI "(int fd " ","
+.BI "struct nvme_passthru_cmd64 *cmd " ","
+.BI "__u64 *result " ");"
+.SH ARGUMENTS
+.IP "fd" 12
+File descriptor of nvme device
+.IP "cmd" 12
+The nvme admin command to send
+.IP "result" 12
+Optional field to return the result from the CQE DW0-1
+.SH "DESCRIPTION"
+Uses NVME_IOCTL_ADMIN64_CMD for the ioctl request.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_submit_io_passthru.2 b/doc/man/nvme_submit_io_passthru.2
index db6107c..bacbe3e 100644
--- a/doc/man/nvme_submit_io_passthru.2
+++ b/doc/man/nvme_submit_io_passthru.2
@@ -1,4 +1,4 @@
-.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_submit_io_passthru \- Submit an nvme passthrough command
.SH SYNOPSIS
diff --git a/doc/man/nvme_submit_io_passthru64.2 b/doc/man/nvme_submit_io_passthru64.2
new file mode 100644
index 0000000..3d77f57
--- /dev/null
+++ b/doc/man/nvme_submit_io_passthru64.2
@@ -0,0 +1,20 @@
+.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_submit_io_passthru64 \- Submit a 64-bit nvme passthrough command
+.SH SYNOPSIS
+.B "int" nvme_submit_io_passthru64
+.BI "(int fd " ","
+.BI "struct nvme_passthru_cmd64 *cmd " ","
+.BI "__u64 *result " ");"
+.SH ARGUMENTS
+.IP "fd" 12
+File descriptor of nvme device
+.IP "cmd" 12
+The nvme io command to send
+.IP "result" 12
+Optional field to return the result from the CQE DW0-1
+.SH "DESCRIPTION"
+Uses NVME_IOCTL_IO64_CMD for the ioctl request.
+.SH "RETURN"
+The nvme command status if a response was received (see
+\fIenum nvme_status_field\fP) or -1 with errno set otherwise.
diff --git a/doc/man/nvme_subsys_filter.2 b/doc/man/nvme_subsys_filter.2
index 2b65b0f..7932258 100644
--- a/doc/man/nvme_subsys_filter.2
+++ b/doc/man/nvme_subsys_filter.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsys_filter \- Filter for subsystems
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsys_type.2 b/doc/man/nvme_subsys_type.2
index 191994c..dcfe0c8 100644
--- a/doc/man/nvme_subsys_type.2
+++ b/doc/man/nvme_subsys_type.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_subsys_type" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_subsys_type" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_subsys_type \- Type of the NVM subsystem.
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_first_ctrl.2 b/doc/man/nvme_subsystem_first_ctrl.2
index 5b252af..d87bb62 100644
--- a/doc/man/nvme_subsystem_first_ctrl.2
+++ b/doc/man/nvme_subsystem_first_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_first_ctrl \- First ctrl iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_first_ns.2 b/doc/man/nvme_subsystem_first_ns.2
index f85fa5b..ac30d57 100644
--- a/doc/man/nvme_subsystem_first_ns.2
+++ b/doc/man/nvme_subsystem_first_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_first_ns \- Start namespace iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_for_each_ctrl.2 b/doc/man/nvme_subsystem_for_each_ctrl.2
index b4d6d52..7b695c9 100644
--- a/doc/man/nvme_subsystem_for_each_ctrl.2
+++ b/doc/man/nvme_subsystem_for_each_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ctrl \- Traverse controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_for_each_ctrl_safe.2 b/doc/man/nvme_subsystem_for_each_ctrl_safe.2
index da1b352..4bfde84 100644
--- a/doc/man/nvme_subsystem_for_each_ctrl_safe.2
+++ b/doc/man/nvme_subsystem_for_each_ctrl_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ctrl_safe \- Traverse controllers
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_for_each_ns.2 b/doc/man/nvme_subsystem_for_each_ns.2
index e200507..f5d210f 100644
--- a/doc/man/nvme_subsystem_for_each_ns.2
+++ b/doc/man/nvme_subsystem_for_each_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ns \- Traverse namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_for_each_ns_safe.2 b/doc/man/nvme_subsystem_for_each_ns_safe.2
index fbba908..19e2480 100644
--- a/doc/man/nvme_subsystem_for_each_ns_safe.2
+++ b/doc/man/nvme_subsystem_for_each_ns_safe.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ns_safe \- Traverse namespaces
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_get_host.2 b/doc/man/nvme_subsystem_get_host.2
index 503f149..79e7e95 100644
--- a/doc/man/nvme_subsystem_get_host.2
+++ b/doc/man/nvme_subsystem_get_host.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_host \- Returns nvme_host_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_get_name.2 b/doc/man/nvme_subsystem_get_name.2
index 4bbe8bb..b0138e8 100644
--- a/doc/man/nvme_subsystem_get_name.2
+++ b/doc/man/nvme_subsystem_get_name.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_name \- sysfs name of an nvme_subsystem_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_get_nqn.2 b/doc/man/nvme_subsystem_get_nqn.2
index a8390ad..e3cd0ec 100644
--- a/doc/man/nvme_subsystem_get_nqn.2
+++ b/doc/man/nvme_subsystem_get_nqn.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_nqn \- Retrieve NQN from subsystem
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_get_sysfs_dir.2 b/doc/man/nvme_subsystem_get_sysfs_dir.2
index 001ff2f..9e28b43 100644
--- a/doc/man/nvme_subsystem_get_sysfs_dir.2
+++ b/doc/man/nvme_subsystem_get_sysfs_dir.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_sysfs_dir \- sysfs directory of an nvme_subsystem_t object
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_get_type.2 b/doc/man/nvme_subsystem_get_type.2
index f1b76a6..766819f 100644
--- a/doc/man/nvme_subsystem_get_type.2
+++ b/doc/man/nvme_subsystem_get_type.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_type \- Returns the type of a subsystem
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_lookup_namespace.2 b/doc/man/nvme_subsystem_lookup_namespace.2
index 957eda7..ad850ba 100644
--- a/doc/man/nvme_subsystem_lookup_namespace.2
+++ b/doc/man/nvme_subsystem_lookup_namespace.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_lookup_namespace \- lookup namespace by NSID
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_next_ctrl.2 b/doc/man/nvme_subsystem_next_ctrl.2
index 009fbfd..8a2d2dc 100644
--- a/doc/man/nvme_subsystem_next_ctrl.2
+++ b/doc/man/nvme_subsystem_next_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_next_ctrl \- Next ctrl iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_next_ns.2 b/doc/man/nvme_subsystem_next_ns.2
index 3ba119d..9ac9d14 100644
--- a/doc/man/nvme_subsystem_next_ns.2
+++ b/doc/man/nvme_subsystem_next_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_next_ns \- Next namespace iterator
.SH SYNOPSIS
diff --git a/doc/man/nvme_subsystem_reset.2 b/doc/man/nvme_subsystem_reset.2
index 2ba7245..5e5fb99 100644
--- a/doc/man/nvme_subsystem_reset.2
+++ b/doc/man/nvme_subsystem_reset.2
@@ -1,4 +1,4 @@
-.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_reset \- Initiate a subsystem reset
.SH SYNOPSIS
diff --git a/doc/man/nvme_supported_cap_config_list_log.2 b/doc/man/nvme_supported_cap_config_list_log.2
index 8734c4a..2f904db 100644
--- a/doc/man/nvme_supported_cap_config_list_log.2
+++ b/doc/man/nvme_supported_cap_config_list_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_supported_cap_config_list_log \- Supported Capacity Configuration list log page
.SH SYNOPSIS
diff --git a/doc/man/nvme_supported_log_pages.2 b/doc/man/nvme_supported_log_pages.2
index 1c70a23..1e083d5 100644
--- a/doc/man/nvme_supported_log_pages.2
+++ b/doc/man/nvme_supported_log_pages.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_supported_log_pages" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_supported_log_pages" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_supported_log_pages \- Supported Log Pages - Log
.SH SYNOPSIS
diff --git a/doc/man/nvme_telemetry_da.2 b/doc/man/nvme_telemetry_da.2
index 8249f3a..447f110 100644
--- a/doc/man/nvme_telemetry_da.2
+++ b/doc/man/nvme_telemetry_da.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_telemetry_da" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_telemetry_da" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_telemetry_da \- Telemetry Log Data Area
.SH SYNOPSIS
diff --git a/doc/man/nvme_telemetry_log.2 b/doc/man/nvme_telemetry_log.2
index 73c8991..56e47ca 100644
--- a/doc/man/nvme_telemetry_log.2
+++ b/doc/man/nvme_telemetry_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_telemetry_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_telemetry_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_telemetry_log \- Retrieve internal data specific to the manufacturer.
.SH SYNOPSIS
diff --git a/doc/man/nvme_thermal_exc_event.2 b/doc/man/nvme_thermal_exc_event.2
index 99d25d1..69b9b08 100644
--- a/doc/man/nvme_thermal_exc_event.2
+++ b/doc/man/nvme_thermal_exc_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_thermal_exc_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_thermal_exc_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_thermal_exc_event \- Thermal Excursion Event Data
.SH SYNOPSIS
diff --git a/doc/man/nvme_time_stamp_change_event.2 b/doc/man/nvme_time_stamp_change_event.2
index 7798a4b..648ab3c 100644
--- a/doc/man/nvme_time_stamp_change_event.2
+++ b/doc/man/nvme_time_stamp_change_event.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_time_stamp_change_event \- Timestamp Change Event
.SH SYNOPSIS
diff --git a/doc/man/nvme_timestamp.2 b/doc/man/nvme_timestamp.2
index 7cd6590..6811763 100644
--- a/doc/man/nvme_timestamp.2
+++ b/doc/man/nvme_timestamp.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_timestamp" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_timestamp" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_timestamp \- Timestamp - Data Structure for Get Features
.SH SYNOPSIS
diff --git a/doc/man/nvme_unlink_ctrl.2 b/doc/man/nvme_unlink_ctrl.2
index c7bcc5c..444fac2 100644
--- a/doc/man/nvme_unlink_ctrl.2
+++ b/doc/man/nvme_unlink_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_unlink_ctrl \- Unlink controller
.SH SYNOPSIS
diff --git a/doc/man/nvme_update_config.2 b/doc/man/nvme_update_config.2
index 25d9968..fe7614a 100644
--- a/doc/man/nvme_update_config.2
+++ b/doc/man/nvme_update_config.2
@@ -1,4 +1,4 @@
-.TH "nvme_update_config" 9 "nvme_update_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_update_config" 9 "nvme_update_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_update_config \- Update JSON configuration
.SH SYNOPSIS
diff --git a/doc/man/nvme_uring_cmd.2 b/doc/man/nvme_uring_cmd.2
index f3ca0bc..76c70a2 100644
--- a/doc/man/nvme_uring_cmd.2
+++ b/doc/man/nvme_uring_cmd.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_uring_cmd" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_uring_cmd" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_uring_cmd \- nvme uring command structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_verify.2 b/doc/man/nvme_verify.2
index 29f0f43..3bab758 100644
--- a/doc/man/nvme_verify.2
+++ b/doc/man/nvme_verify.2
@@ -1,4 +1,4 @@
-.TH "nvme_verify" 9 "nvme_verify" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_verify" 9 "nvme_verify" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_verify \- Send an nvme verify command
.SH SYNOPSIS
diff --git a/doc/man/nvme_version.2 b/doc/man/nvme_version.2
index 7a91aba..dcf837f 100644
--- a/doc/man/nvme_version.2
+++ b/doc/man/nvme_version.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_version" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_version" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_version \- Selector for version to be returned by @nvme_get_version
.SH SYNOPSIS
diff --git a/doc/man/nvme_virt_mgmt_act.2 b/doc/man/nvme_virt_mgmt_act.2
index 407a98e..0fe6da0 100644
--- a/doc/man/nvme_virt_mgmt_act.2
+++ b/doc/man/nvme_virt_mgmt_act.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_virt_mgmt_act \- Virtualization Management - Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_virt_mgmt_rt.2 b/doc/man/nvme_virt_mgmt_rt.2
index 4200bfb..31c0996 100644
--- a/doc/man/nvme_virt_mgmt_rt.2
+++ b/doc/man/nvme_virt_mgmt_rt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_virt_mgmt_rt \- Virtualization Management - Resource Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_virtual_mgmt.2 b/doc/man/nvme_virtual_mgmt.2
index c69b40e..ccce5d0 100644
--- a/doc/man/nvme_virtual_mgmt.2
+++ b/doc/man/nvme_virtual_mgmt.2
@@ -1,4 +1,4 @@
-.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_virtual_mgmt \- Virtualization resource management
.SH SYNOPSIS
diff --git a/doc/man/nvme_write.2 b/doc/man/nvme_write.2
index 19d27b7..82b7f46 100644
--- a/doc/man/nvme_write.2
+++ b/doc/man/nvme_write.2
@@ -1,4 +1,4 @@
-.TH "nvme_write" 9 "nvme_write" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_write" 9 "nvme_write" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_write \- Submit an nvme user write command
.SH SYNOPSIS
diff --git a/doc/man/nvme_write_uncorrectable.2 b/doc/man/nvme_write_uncorrectable.2
index aadb4c1..2c4ff91 100644
--- a/doc/man/nvme_write_uncorrectable.2
+++ b/doc/man/nvme_write_uncorrectable.2
@@ -1,4 +1,4 @@
-.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_write_uncorrectable \- Submit an nvme write uncorrectable command
.SH SYNOPSIS
diff --git a/doc/man/nvme_write_zeros.2 b/doc/man/nvme_write_zeros.2
index dc1c4db..0a8a31e 100644
--- a/doc/man/nvme_write_zeros.2
+++ b/doc/man/nvme_write_zeros.2
@@ -1,4 +1,4 @@
-.TH "nvme_write_zeros" 9 "nvme_write_zeros" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_write_zeros" 9 "nvme_write_zeros" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_write_zeros \- Submit an nvme write zeroes command
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_append.2 b/doc/man/nvme_zns_append.2
index 21b907f..8c053aa 100644
--- a/doc/man/nvme_zns_append.2
+++ b/doc/man/nvme_zns_append.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_append" 9 "nvme_zns_append" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_append" 9 "nvme_zns_append" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_append \- Append data to a zone
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_changed_zone_log.2 b/doc/man/nvme_zns_changed_zone_log.2
index 4a7d395..532d6c8 100644
--- a/doc/man/nvme_zns_changed_zone_log.2
+++ b/doc/man/nvme_zns_changed_zone_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zns_changed_zone_log \- ZNS Changed Zone List log
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_desc.2 b/doc/man/nvme_zns_desc.2
index 8f3dc14..61c6faf 100644
--- a/doc/man/nvme_zns_desc.2
+++ b/doc/man/nvme_zns_desc.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zns_desc" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_desc" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zns_desc \- Zone Descriptor Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_id_ctrl.2 b/doc/man/nvme_zns_id_ctrl.2
index 66e03b9..9435814 100644
--- a/doc/man/nvme_zns_id_ctrl.2
+++ b/doc/man/nvme_zns_id_ctrl.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zns_id_ctrl \- I/O Command Set Specific Identify Controller Data Structure for the Zoned Namespace Command Set
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_id_ns.2 b/doc/man/nvme_zns_id_ns.2
index 3e21cc6..ca31bcf 100644
--- a/doc/man/nvme_zns_id_ns.2
+++ b/doc/man/nvme_zns_id_ns.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zns_id_ns" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_id_ns" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zns_id_ns \- Zoned Namespace Command Set Specific Identify Namespace Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_identify_ctrl.2 b/doc/man/nvme_zns_identify_ctrl.2
index b68cb5e..b7aa908 100644
--- a/doc/man/nvme_zns_identify_ctrl.2
+++ b/doc/man/nvme_zns_identify_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_identify_ctrl \- ZNS identify controller data
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_identify_ns.2 b/doc/man/nvme_zns_identify_ns.2
index 8caa6e9..b021df3 100644
--- a/doc/man/nvme_zns_identify_ns.2
+++ b/doc/man/nvme_zns_identify_ns.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_identify_ns \- ZNS identify namespace data
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_lbafe.2 b/doc/man/nvme_zns_lbafe.2
index fb6352f..fe25273 100644
--- a/doc/man/nvme_zns_lbafe.2
+++ b/doc/man/nvme_zns_lbafe.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zns_lbafe" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_lbafe" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zns_lbafe \- LBA Format Extension Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_mgmt_recv.2 b/doc/man/nvme_zns_mgmt_recv.2
index 9e4ac1f..bd0caf6 100644
--- a/doc/man/nvme_zns_mgmt_recv.2
+++ b/doc/man/nvme_zns_mgmt_recv.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_mgmt_recv \- ZNS management receive command
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_mgmt_send.2 b/doc/man/nvme_zns_mgmt_send.2
index 597f138..017f44f 100644
--- a/doc/man/nvme_zns_mgmt_send.2
+++ b/doc/man/nvme_zns_mgmt_send.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_mgmt_send \- ZNS management send command
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_recv_action.2 b/doc/man/nvme_zns_recv_action.2
index 499ea14..b6f249b 100644
--- a/doc/man/nvme_zns_recv_action.2
+++ b/doc/man/nvme_zns_recv_action.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_recv_action" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_recv_action" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_recv_action \- Zone Management Receive - Zone Receive Action Specific Features
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_report_options.2 b/doc/man/nvme_zns_report_options.2
index 3ba8f37..1396181 100644
--- a/doc/man/nvme_zns_report_options.2
+++ b/doc/man/nvme_zns_report_options.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_report_options" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_report_options" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_report_options \- Zone Management Receive - Zone Receive Action Specific Field
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_report_zones.2 b/doc/man/nvme_zns_report_zones.2
index 430c597..51f8cd2 100644
--- a/doc/man/nvme_zns_report_zones.2
+++ b/doc/man/nvme_zns_report_zones.2
@@ -1,4 +1,4 @@
-.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "August 2022" "libnvme API manual" LINUX
+.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvme_zns_report_zones \- Return the list of zones
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_send_action.2 b/doc/man/nvme_zns_send_action.2
index ebec78c..073fa8b 100644
--- a/doc/man/nvme_zns_send_action.2
+++ b/doc/man/nvme_zns_send_action.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_send_action" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_send_action" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_send_action \- Zone Management Send - Zone Send Action
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_za.2 b/doc/man/nvme_zns_za.2
index 6f8466a..c2d387a 100644
--- a/doc/man/nvme_zns_za.2
+++ b/doc/man/nvme_zns_za.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_za" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_za" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_za \- Zone Descriptor Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_zs.2 b/doc/man/nvme_zns_zs.2
index f8f0820..05fd4f0 100644
--- a/doc/man/nvme_zns_zs.2
+++ b/doc/man/nvme_zns_zs.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_zs" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_zs" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_zs \- Zone Descriptor Data Structure - Zone State
.SH SYNOPSIS
diff --git a/doc/man/nvme_zns_zt.2 b/doc/man/nvme_zns_zt.2
index 04439cd..3051a4f 100644
--- a/doc/man/nvme_zns_zt.2
+++ b/doc/man/nvme_zns_zt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvme_zns_zt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_zt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvme_zns_zt \- Zone Descriptor Data Structure - Zone Type
.SH SYNOPSIS
diff --git a/doc/man/nvme_zone_report.2 b/doc/man/nvme_zone_report.2
index d0a7b4f..98cedb1 100644
--- a/doc/man/nvme_zone_report.2
+++ b/doc/man/nvme_zone_report.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvme_zone_report" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zone_report" "October 2022" "API Manual" LINUX
.SH NAME
struct nvme_zone_report \- Report Zones Data Structure
.SH SYNOPSIS
diff --git a/doc/man/nvmf_add_ctrl.2 b/doc/man/nvmf_add_ctrl.2
index 02d5dfe..4da7085 100644
--- a/doc/man/nvmf_add_ctrl.2
+++ b/doc/man/nvmf_add_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_add_ctrl \- Connect a controller and update topology
.SH SYNOPSIS
diff --git a/doc/man/nvmf_addr_family.2 b/doc/man/nvmf_addr_family.2
index 0dae370..d55d386 100644
--- a/doc/man/nvmf_addr_family.2
+++ b/doc/man/nvmf_addr_family.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_addr_family" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_addr_family" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_addr_family \- Address Family codes for Discovery Log Page entry ADRFAM field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_adrfam_str.2 b/doc/man/nvmf_adrfam_str.2
index 27afa56..f0e7dad 100644
--- a/doc/man/nvmf_adrfam_str.2
+++ b/doc/man/nvmf_adrfam_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_adrfam_str \- Decode ADRFAM field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_cms_str.2 b/doc/man/nvmf_cms_str.2
index ab5fea1..b65cc08 100644
--- a/doc/man/nvmf_cms_str.2
+++ b/doc/man/nvmf_cms_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_cms_str" 9 "nvmf_cms_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_cms_str" 9 "nvmf_cms_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_cms_str \- Decode RDMA connection management service field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_connect_data.2 b/doc/man/nvmf_connect_data.2
index 073ddb1..c32c2a3 100644
--- a/doc/man/nvmf_connect_data.2
+++ b/doc/man/nvmf_connect_data.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_connect_data" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_connect_data" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_connect_data \- Data payload for the 'connect' command
.SH SYNOPSIS
diff --git a/doc/man/nvmf_connect_disc_entry.2 b/doc/man/nvmf_connect_disc_entry.2
index fca4624..5f72f36 100644
--- a/doc/man/nvmf_connect_disc_entry.2
+++ b/doc/man/nvmf_connect_disc_entry.2
@@ -1,4 +1,4 @@
-.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_connect_disc_entry \- Connect controller based on the discovery log page entry
.SH SYNOPSIS
diff --git a/doc/man/nvmf_default_config.2 b/doc/man/nvmf_default_config.2
index bfdcdf0..bd4855c 100644
--- a/doc/man/nvmf_default_config.2
+++ b/doc/man/nvmf_default_config.2
@@ -1,4 +1,4 @@
-.TH "nvmf_default_config" 9 "nvmf_default_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_default_config" 9 "nvmf_default_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_default_config \- Default values for fabrics configuration
.SH SYNOPSIS
diff --git a/doc/man/nvmf_dim_data.2 b/doc/man/nvmf_dim_data.2
index fa717ad..28a56fa 100644
--- a/doc/man/nvmf_dim_data.2
+++ b/doc/man/nvmf_dim_data.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_dim_data" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_dim_data" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_dim_data \- Discovery Information Management (DIM) - Data
.SH SYNOPSIS
diff --git a/doc/man/nvmf_dim_entfmt.2 b/doc/man/nvmf_dim_entfmt.2
index f50057c..1babab1 100644
--- a/doc/man/nvmf_dim_entfmt.2
+++ b/doc/man/nvmf_dim_entfmt.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_dim_entfmt" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_entfmt" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_dim_entfmt \- Discovery Information Management Entry Format
.SH SYNOPSIS
diff --git a/doc/man/nvmf_dim_etype.2 b/doc/man/nvmf_dim_etype.2
index cf5026e..fd2f760 100644
--- a/doc/man/nvmf_dim_etype.2
+++ b/doc/man/nvmf_dim_etype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_dim_etype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_etype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_dim_etype \- Discovery Information Management Entity Type
.SH SYNOPSIS
diff --git a/doc/man/nvmf_dim_tas.2 b/doc/man/nvmf_dim_tas.2
index f63d154..605c81a 100644
--- a/doc/man/nvmf_dim_tas.2
+++ b/doc/man/nvmf_dim_tas.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_dim_tas" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_tas" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_dim_tas \- Discovery Information Management Task
.SH SYNOPSIS
diff --git a/doc/man/nvmf_disc_eflags.2 b/doc/man/nvmf_disc_eflags.2
index 1b55e05..ffa91a8 100644
--- a/doc/man/nvmf_disc_eflags.2
+++ b/doc/man/nvmf_disc_eflags.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_disc_eflags" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_disc_eflags" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_disc_eflags \- Discovery Log Page entry flags.
.SH SYNOPSIS
diff --git a/doc/man/nvmf_disc_log_entry.2 b/doc/man/nvmf_disc_log_entry.2
index 88dc362..0faa8b8 100644
--- a/doc/man/nvmf_disc_log_entry.2
+++ b/doc/man/nvmf_disc_log_entry.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_disc_log_entry" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_disc_log_entry" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_disc_log_entry \- Discovery Log Page entry
.SH SYNOPSIS
diff --git a/doc/man/nvmf_discovery_log.2 b/doc/man/nvmf_discovery_log.2
index 345a17f..912644b 100644
--- a/doc/man/nvmf_discovery_log.2
+++ b/doc/man/nvmf_discovery_log.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_discovery_log" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_discovery_log" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_discovery_log \- Discovery Log Page (Log Identifier 70h)
.SH SYNOPSIS
diff --git a/doc/man/nvmf_eflags_str.2 b/doc/man/nvmf_eflags_str.2
index 849962d..11b9e14 100644
--- a/doc/man/nvmf_eflags_str.2
+++ b/doc/man/nvmf_eflags_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_eflags_str \- Decode EFLAGS field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_exat_len.2 b/doc/man/nvmf_exat_len.2
index a71fd3b..b7f9783 100644
--- a/doc/man/nvmf_exat_len.2
+++ b/doc/man/nvmf_exat_len.2
@@ -1,4 +1,4 @@
-.TH "nvmf_exat_len" 9 "nvmf_exat_len" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_exat_len" 9 "nvmf_exat_len" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_exat_len \- Return length rounded up by 4
.SH SYNOPSIS
diff --git a/doc/man/nvmf_exattype.2 b/doc/man/nvmf_exattype.2
index 972de97..881ec36 100644
--- a/doc/man/nvmf_exattype.2
+++ b/doc/man/nvmf_exattype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_exattype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_exattype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_exattype \- Extended Attribute Type
.SH SYNOPSIS
diff --git a/doc/man/nvmf_ext_attr.2 b/doc/man/nvmf_ext_attr.2
index 2cb4009..d94b835 100644
--- a/doc/man/nvmf_ext_attr.2
+++ b/doc/man/nvmf_ext_attr.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_ext_attr" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_ext_attr" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_ext_attr \- Extended Attribute (EXAT)
.SH SYNOPSIS
diff --git a/doc/man/nvmf_ext_die.2 b/doc/man/nvmf_ext_die.2
index 13fa255..c8c1de6 100644
--- a/doc/man/nvmf_ext_die.2
+++ b/doc/man/nvmf_ext_die.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "struct nvmf_ext_die" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_ext_die" "October 2022" "API Manual" LINUX
.SH NAME
struct nvmf_ext_die \- Extended Discovery Information Entry (DIE)
.SH SYNOPSIS
diff --git a/doc/man/nvmf_get_discovery_log.2 b/doc/man/nvmf_get_discovery_log.2
index 87a3c7c..715fe10 100644
--- a/doc/man/nvmf_get_discovery_log.2
+++ b/doc/man/nvmf_get_discovery_log.2
@@ -1,4 +1,4 @@
-.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_get_discovery_log \- Return the discovery log page
.SH SYNOPSIS
@@ -8,10 +8,15 @@ nvmf_get_discovery_log \- Return the discovery log page
.BI "int max_retries " ");"
.SH ARGUMENTS
.IP "c" 12
-Discover controller to use
+Discovery controller to use
.IP "logp" 12
Pointer to the log page to be returned
.IP "max_retries" 12
-maximum number of log page entries to be returned
+Number of retries in case of failure
+.SH "DESCRIPTION"
+The memory allocated for the log page and returned in \fIlogp\fP
+must be freed by the caller using \fBfree\fP.
+.SH "NOTE"
+Consider using \fBnvmf_get_discovery_wargs\fP instead.
.SH "RETURN"
0 on success; on failure -1 is returned and errno is set
diff --git a/doc/man/nvmf_get_discovery_wargs.2 b/doc/man/nvmf_get_discovery_wargs.2
new file mode 100644
index 0000000..b07c2f9
--- /dev/null
+++ b/doc/man/nvmf_get_discovery_wargs.2
@@ -0,0 +1,20 @@
+.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "October 2022" "libnvme API manual" LINUX
+.SH NAME
+nvmf_get_discovery_wargs \- Get the discovery log page with args
+.SH SYNOPSIS
+.B "struct nvmf_discovery_log *" nvmf_get_discovery_wargs
+.BI "(struct nvme_get_discovery_args *args " ");"
+.SH ARGUMENTS
+.IP "args" 12
+Argument structure
+.SH "DESCRIPTION"
+This function is similar to \fBnvmf_get_discovery_log\fP, but
+takes an extensible \fIargs\fP parameter. \fIargs\fP provides more
+options than \fBnvmf_get_discovery_log\fP.
+
+This function performs a get discovery log page (DLP) command
+and returns the DLP. The memory allocated for the returned
+DLP must be freed by the caller using \fBfree\fP.
+.SH "RETURN"
+Pointer to the discovery log page (to be freed). NULL
+on failure and errno is set.
diff --git a/doc/man/nvmf_hostid_from_file.2 b/doc/man/nvmf_hostid_from_file.2
index 7e13626..65d6942 100644
--- a/doc/man/nvmf_hostid_from_file.2
+++ b/doc/man/nvmf_hostid_from_file.2
@@ -1,4 +1,4 @@
-.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_hostid_from_file \- Reads the host identifier from the config default location in /etc/nvme/.
.SH SYNOPSIS
diff --git a/doc/man/nvmf_hostnqn_from_file.2 b/doc/man/nvmf_hostnqn_from_file.2
index 987aa45..eaa9701 100644
--- a/doc/man/nvmf_hostnqn_from_file.2
+++ b/doc/man/nvmf_hostnqn_from_file.2
@@ -1,4 +1,4 @@
-.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_hostnqn_from_file \- Reads the host nvm qualified name from the config default location in /etc/nvme/
.SH SYNOPSIS
diff --git a/doc/man/nvmf_hostnqn_generate.2 b/doc/man/nvmf_hostnqn_generate.2
index c17f5c0..b7a77d6 100644
--- a/doc/man/nvmf_hostnqn_generate.2
+++ b/doc/man/nvmf_hostnqn_generate.2
@@ -1,4 +1,4 @@
-.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_hostnqn_generate \- Generate a machine specific host nqn
.SH SYNOPSIS
diff --git a/doc/man/nvmf_log_discovery_lid_support.2 b/doc/man/nvmf_log_discovery_lid_support.2
new file mode 100644
index 0000000..e5bd563
--- /dev/null
+++ b/doc/man/nvmf_log_discovery_lid_support.2
@@ -0,0 +1,30 @@
+.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "October 2022" "API Manual" LINUX
+.SH NAME
+enum nvmf_log_discovery_lid_support \- Discovery log specific support
+.SH SYNOPSIS
+enum nvmf_log_discovery_lid_support {
+.br
+.BI " NVMF_LOG_DISC_LID_NONE"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LID_EXTDLPES"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LID_PLEOS"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LID_ALLSUBES"
+
+};
+.SH Constants
+.IP "NVMF_LOG_DISC_LID_NONE" 12
+None
+.IP "NVMF_LOG_DISC_LID_EXTDLPES" 12
+Extended Discovery Log Page Entries Supported
+.IP "NVMF_LOG_DISC_LID_PLEOS" 12
+Port Local Entries Only Supported
+.IP "NVMF_LOG_DISC_LID_ALLSUBES" 12
+All NVM Subsystem Entries Supported
diff --git a/doc/man/nvmf_log_discovery_lsp.2 b/doc/man/nvmf_log_discovery_lsp.2
new file mode 100644
index 0000000..ec2ede1
--- /dev/null
+++ b/doc/man/nvmf_log_discovery_lsp.2
@@ -0,0 +1,30 @@
+.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "October 2022" "API Manual" LINUX
+.SH NAME
+enum nvmf_log_discovery_lsp \- Discovery log specific field
+.SH SYNOPSIS
+enum nvmf_log_discovery_lsp {
+.br
+.BI " NVMF_LOG_DISC_LSP_NONE"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LSP_EXTDLPE"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LSP_PLEO"
+,
+.br
+.br
+.BI " NVMF_LOG_DISC_LSP_ALLSUBE"
+
+};
+.SH Constants
+.IP "NVMF_LOG_DISC_LSP_NONE" 12
+None
+.IP "NVMF_LOG_DISC_LSP_EXTDLPE" 12
+Extended Discovery Log Page Entries
+.IP "NVMF_LOG_DISC_LSP_PLEO" 12
+Port Local Entries Only
+.IP "NVMF_LOG_DISC_LSP_ALLSUBE" 12
+All NVM Subsystem Entries
diff --git a/doc/man/nvmf_prtype_str.2 b/doc/man/nvmf_prtype_str.2
index a90ace3..615d854 100644
--- a/doc/man/nvmf_prtype_str.2
+++ b/doc/man/nvmf_prtype_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_prtype_str \- Decode RDMA Provider type field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_qptype_str.2 b/doc/man/nvmf_qptype_str.2
index 2464ea9..b9dea4f 100644
--- a/doc/man/nvmf_qptype_str.2
+++ b/doc/man/nvmf_qptype_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_qptype_str \- Decode RDMA QP Service type field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_rdma_cms.2 b/doc/man/nvmf_rdma_cms.2
index aee4c06..e619dca 100644
--- a/doc/man/nvmf_rdma_cms.2
+++ b/doc/man/nvmf_rdma_cms.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_rdma_cms" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_cms" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_cms \- RDMA Connection Management Service Type codes for Discovery Log Page entry TSAS RDMA_CMS field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_rdma_prtype.2 b/doc/man/nvmf_rdma_prtype.2
index 7782bab..db1bd06 100644
--- a/doc/man/nvmf_rdma_prtype.2
+++ b/doc/man/nvmf_rdma_prtype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_rdma_prtype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_prtype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_prtype \- RDMA Provider Type codes for Discovery Log Page entry TSAS RDMA_PRTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_rdma_qptype.2 b/doc/man/nvmf_rdma_qptype.2
index 43cd99b..0640667 100644
--- a/doc/man/nvmf_rdma_qptype.2
+++ b/doc/man/nvmf_rdma_qptype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_rdma_qptype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_qptype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_qptype \- RDMA QP Service Type codes for Discovery Log Page entry TSAS RDMA_QPTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_register_ctrl.2 b/doc/man/nvmf_register_ctrl.2
index b432391..12cab3f 100644
--- a/doc/man/nvmf_register_ctrl.2
+++ b/doc/man/nvmf_register_ctrl.2
@@ -1,4 +1,4 @@
-.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_register_ctrl \- Perform registration task with a DC
.SH SYNOPSIS
diff --git a/doc/man/nvmf_sectype_str.2 b/doc/man/nvmf_sectype_str.2
index 8c5fd35..bd9bc9b 100644
--- a/doc/man/nvmf_sectype_str.2
+++ b/doc/man/nvmf_sectype_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_sectype_str \- Decode SECTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_subtype_str.2 b/doc/man/nvmf_subtype_str.2
index 157f5fa..13ad38c 100644
--- a/doc/man/nvmf_subtype_str.2
+++ b/doc/man/nvmf_subtype_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_subtype_str \- Decode SUBTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_tcp_sectype.2 b/doc/man/nvmf_tcp_sectype.2
index 0322e24..ca97e55 100644
--- a/doc/man/nvmf_tcp_sectype.2
+++ b/doc/man/nvmf_tcp_sectype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_tcp_sectype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_tcp_sectype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_tcp_sectype \- Transport Specific Address Subtype Definition for NVMe/TCP Transport
.SH SYNOPSIS
diff --git a/doc/man/nvmf_treq.2 b/doc/man/nvmf_treq.2
index 6970856..f881ecc 100644
--- a/doc/man/nvmf_treq.2
+++ b/doc/man/nvmf_treq.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_treq" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_treq" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_treq \- Transport Requirements codes for Discovery Log Page entry TREQ field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_treq_str.2 b/doc/man/nvmf_treq_str.2
index 9816c25..8a2b954 100644
--- a/doc/man/nvmf_treq_str.2
+++ b/doc/man/nvmf_treq_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_treq_str" 9 "nvmf_treq_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_treq_str" 9 "nvmf_treq_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_treq_str \- Decode TREQ field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_trtype.2 b/doc/man/nvmf_trtype.2
index d301771..9db82f1 100644
--- a/doc/man/nvmf_trtype.2
+++ b/doc/man/nvmf_trtype.2
@@ -1,4 +1,4 @@
-.TH "libnvme" 9 "enum nvmf_trtype" "August 2022" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_trtype" "October 2022" "API Manual" LINUX
.SH NAME
enum nvmf_trtype \- Transport Type codes for Discovery Log Page entry TRTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_trtype_str.2 b/doc/man/nvmf_trtype_str.2
index 9e323a8..53a04c4 100644
--- a/doc/man/nvmf_trtype_str.2
+++ b/doc/man/nvmf_trtype_str.2
@@ -1,4 +1,4 @@
-.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_trtype_str \- Decode TRTYPE field
.SH SYNOPSIS
diff --git a/doc/man/nvmf_update_config.2 b/doc/man/nvmf_update_config.2
index 2edbc2c..cc84868 100644
--- a/doc/man/nvmf_update_config.2
+++ b/doc/man/nvmf_update_config.2
@@ -1,4 +1,4 @@
-.TH "nvmf_update_config" 9 "nvmf_update_config" "August 2022" "libnvme API manual" LINUX
+.TH "nvmf_update_config" 9 "nvmf_update_config" "October 2022" "libnvme API manual" LINUX
.SH NAME
nvmf_update_config \- Update fabrics configuration values
.SH SYNOPSIS
diff --git a/doc/meson.build b/doc/meson.build
index d716c8b..60a92ed 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -85,7 +85,10 @@ if want_docs != 'false'
endforeach
else
if want_docs == 'all' or want_docs == 'man'
- install_subdir('man', install_dir: mandir)
+ list_pre_compiled = find_program('list-pre-compiled.sh')
+ m = run_command(list_pre_compiled, check: true)
+ man_pages = m.stdout().strip().split('\n')
+ install_data(man_pages, install_dir: mandir)
endif
endif
endif
diff --git a/doc/rst/fabrics.rst b/doc/rst/fabrics.rst
index b89dc0f..f0249f0 100644
--- a/doc/rst/fabrics.rst
+++ b/doc/rst/fabrics.rst
@@ -322,19 +322,94 @@ into the topology using **h** as parent.
**Parameters**
``nvme_ctrl_t c``
- Discover controller to use
+ Discovery controller to use
``struct nvmf_discovery_log **logp``
Pointer to the log page to be returned
``int max_retries``
- maximum number of log page entries to be returned
+ Number of retries in case of failure
+
+**Description**
+
+The memory allocated for the log page and returned in **logp**
+must be freed by the caller using free().
+
+**Note**
+
+Consider using nvmf_get_discovery_wargs() instead.
**Return**
0 on success; on failure -1 is returned and errno is set
+
+
+.. c:struct:: nvme_get_discovery_args
+
+ Arguments for nvmf_get_discovery_wargs()
+
+**Definition**
+
+::
+
+ struct nvme_get_discovery_args {
+ nvme_ctrl_t c;
+ int args_size;
+ int max_retries;
+ __u32 *result;
+ __u32 timeout;
+ __u8 lsp;
+ };
+
+**Members**
+
+``c``
+ Discovery controller
+
+``args_size``
+ Length of the structure
+
+``max_retries``
+ Number of retries in case of failure
+
+``result``
+ The command completion result from CQE dword0
+
+``timeout``
+ Timeout in ms (default: NVME_DEFAULT_IOCTL_TIMEOUT)
+
+``lsp``
+ Log specific field (See enum nvmf_log_discovery_lsp)
+
+
+
+.. c:function:: struct nvmf_discovery_log * nvmf_get_discovery_wargs (struct nvme_get_discovery_args *args)
+
+ Get the discovery log page with args
+
+**Parameters**
+
+``struct nvme_get_discovery_args *args``
+ Argument structure
+
+**Description**
+
+This function is similar to nvmf_get_discovery_log(), but
+takes an extensible **args** parameter. **args** provides more
+options than nvmf_get_discovery_log().
+
+This function performs a get discovery log page (DLP) command
+and returns the DLP. The memory allocated for the returned
+DLP must be freed by the caller using free().
+
+**Return**
+
+Pointer to the discovery log page (to be freed). NULL
+on failure and errno is set.
+
+
.. c:function:: char * nvmf_hostnqn_generate ()
Generate a machine specific host nqn
diff --git a/doc/rst/mi.rst b/doc/rst/mi.rst
index 0da53a5..3eaa20c 100644
--- a/doc/rst/mi.rst
+++ b/doc/rst/mi.rst
@@ -578,6 +578,28 @@ This is the generic response format with the three doublewords of completion
queue data, plus optional response data.
+.. c:function:: const char * nvme_mi_status_to_string (int status)
+
+ return a string representation of the MI status.
+
+**Parameters**
+
+``int status``
+ MI response status
+
+**Description**
+
+Gives a string description of **status**, as per section 4.1.2 of the NVMe-MI
+spec. The status value should be of type NVME_STATUS_MI, and extracted
+from the return value using nvme_status_get_value().
+
+Returned string is const, and should not be free()ed.
+
+**Return**
+
+A string representing the status value
+
+
.. c:function:: nvme_root_t nvme_mi_create_root (FILE *fp, int log_level)
Create top-level MI (root) handle.
@@ -949,7 +971,8 @@ See: :c:type:`nvme_mi_for_each_ctrl`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: nvme_mi_ctrl_t nvme_mi_init_ctrl (nvme_mi_ep_t ep, __u16 ctrl_id)
@@ -1027,7 +1050,8 @@ NVMe version information. See :c:type:`struct nvme_mi_read_nvm_ss_info <nvme_mi_
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_read_mi_data_port (nvme_mi_ep_t ep, __u8 portid, struct nvme_mi_read_port_info *p)
@@ -1055,7 +1079,8 @@ See :c:type:`struct nvme_mi_read_port_info <nvme_mi_read_port_info>`.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_read_mi_data_ctrl_list (nvme_mi_ep_t ep, __u8 start_ctrlid, struct nvme_ctrl_list *list)
@@ -1082,7 +1107,8 @@ See :c:type:`struct nvme_ctrl_list <nvme_ctrl_list>`.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_read_mi_data_ctrl (nvme_mi_ep_t ep, __u16 ctrl_id, struct nvme_mi_read_ctrl_info *ctrl)
@@ -1109,7 +1135,8 @@ See :c:type:`struct nvme_mi_read_ctrl_info <nvme_mi_read_ctrl_info>`.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_subsystem_health_status_poll (nvme_mi_ep_t ep, bool clear, struct nvme_mi_nvm_ss_health_status *nshds)
@@ -1137,7 +1164,8 @@ See :c:type:`struct nvme_mi_nvm_ss_health_status <nvme_mi_nvm_ss_health_status>`
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_get (nvme_mi_ep_t ep, __u32 dw0, __u32 dw1, __u32 *nmresp)
@@ -1172,7 +1200,8 @@ See :c:type:`enum nvme_mi_config_id <nvme_mi_config_id>` for identifiers.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_set (nvme_mi_ep_t ep, __u32 dw0, __u32 dw1)
@@ -1200,7 +1229,8 @@ See :c:type:`enum nvme_mi_config_id <nvme_mi_config_id>` for identifiers.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_get_smbus_freq (nvme_mi_ep_t ep, __u8 port, enum nvme_mi_config_smbus_freq *freq)
@@ -1226,7 +1256,8 @@ frequency
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_set_smbus_freq (nvme_mi_ep_t ep, __u8 port, enum nvme_mi_config_smbus_freq freq)
@@ -1254,7 +1285,8 @@ for the port.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_set_health_status_change (nvme_mi_ep_t ep, __u32 mask)
@@ -1281,7 +1313,8 @@ values in **mask**.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_get_mctp_mtu (nvme_mi_ep_t ep, __u8 port, __u16 *mtu)
@@ -1312,7 +1345,8 @@ may not accept MCTP messages larger than the configured MTU.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_config_set_mctp_mtu (nvme_mi_ep_t ep, __u8 port, __u16 mtu)
@@ -1342,7 +1376,8 @@ interface(s) to match.
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_admin_xfer (nvme_mi_ctrl_t ctrl, struct nvme_mi_admin_req_hdr *admin_req, size_t req_data_size, struct nvme_mi_admin_resp_hdr *admin_resp, off_t resp_data_offset, size_t *resp_data_size)
@@ -1388,7 +1423,8 @@ See: :c:type:`struct nvme_mi_admin_req_hdr <nvme_mi_admin_req_hdr>` and :c:type:
**Return**
-0 on success, non-zero on failure.
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_admin_identify_partial (nvme_mi_ctrl_t ctrl, struct nvme_identify_args *args, off_t offset, size_t size)
@@ -1429,7 +1465,8 @@ See: :c:type:`struct nvme_identify_args <nvme_identify_args>`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_identify (nvme_mi_ctrl_t ctrl, struct nvme_identify_args *args)
@@ -1457,7 +1494,8 @@ See: :c:type:`struct nvme_identify_args <nvme_identify_args>`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_identify_cns_nsid (nvme_mi_ctrl_t ctrl, enum nvme_identify_cns cns, __u32 nsid, void *data)
@@ -1491,7 +1529,86 @@ controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`.
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_ns (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_id_ns *ns)
+
+ Perform an Admin identify command for a namespace
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ namespace ID
+
+``struct nvme_id_ns *ns``
+ Namespace identification to populate
+
+**Description**
+
+Perform an Identify (namespace) command, setting the namespace id data
+in **ns**. The namespace is expected to active and allocated.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_ns_descs (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_ns_id_desc *descs)
+
+ Perform an Admin identify Namespace Identification Descriptor list command for a namespace
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ Namespace ID
+
+``struct nvme_ns_id_desc *descs``
+ Namespace Identification Descriptor list to populate
+
+**Description**
+
+Perform an Identify namespace identification description list command,
+setting the namespace identification description list in **descs**
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_allocated_ns (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_id_ns *ns)
+
+ Perform an Admin identify command for an allocated namespace
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ namespace ID
+
+``struct nvme_id_ns *ns``
+ Namespace identification to populate
+
+**Description**
+
+Perform an Identify (namespace) command, setting the namespace id data
+in **ns**.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_identify_ctrl (nvme_mi_ctrl_t ctrl, struct nvme_id_ctrl *id)
@@ -1519,7 +1636,8 @@ See: :c:type:`struct nvme_id_ctrl <nvme_id_ctrl>`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_identify_ctrl_list (nvme_mi_ctrl_t ctrl, __u16 cntid, struct nvme_ctrl_list *list)
@@ -1550,6 +1668,174 @@ See: :c:type:`struct nvme_ctrl_list <nvme_ctrl_list>`
**Return**
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_nsid_ctrl_list (nvme_mi_ctrl_t ctrl, __u32 nsid, __u16 cntid, struct nvme_ctrl_list *list)
+
+ Perform an Admin identify for a controller list with specific namespace ID
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ Namespace identifier
+
+``__u16 cntid``
+ Controller ID to specify list start
+
+``struct nvme_ctrl_list *list``
+ List data to populate
+
+**Description**
+
+Perform an Identify command, for the controller list for **nsid**, starting
+with IDs greater than or equal to **cntid**.
+
+Will return an error if the length of the response data (from the
+controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`, so **id** will be
+fully populated on success.
+
+See: :c:type:`struct nvme_ctrl_list <nvme_ctrl_list>`
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_allocated_ns_list (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_ns_list *list)
+
+ Perform an Admin identify for an allocated namespace list
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ Namespace ID to specify list start
+
+``struct nvme_ns_list *list``
+ List data to populate
+
+**Description**
+
+Perform an Identify command, for the allocated namespace list starting with
+IDs greater than or equal to **nsid**. Specify :c:type:`NVME_NSID_NONE` for the start
+of the list.
+
+Will return an error if the length of the response data (from the
+controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`, so **list** will be
+be fully populated on success.
+
+See: :c:type:`struct nvme_ns_list <nvme_ns_list>`
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_active_ns_list (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_ns_list *list)
+
+ Perform an Admin identify for an active namespace list
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ Namespace ID to specify list start
+
+``struct nvme_ns_list *list``
+ List data to populate
+
+**Description**
+
+Perform an Identify command, for the active namespace list starting with
+IDs greater than or equal to **nsid**. Specify :c:type:`NVME_NSID_NONE` for the start
+of the list.
+
+Will return an error if the length of the response data (from the
+controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`, so **list** will be
+be fully populated on success.
+
+See: :c:type:`struct nvme_ns_list <nvme_ns_list>`
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_identify_primary_ctrl (nvme_mi_ctrl_t ctrl, __u16 cntid, struct nvme_primary_ctrl_cap *cap)
+
+ Perform an Admin identify for primary controller capabilities data structure.
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u16 cntid``
+ Controller ID to specify
+
+``struct nvme_primary_ctrl_cap *cap``
+ Primary Controller Capabilities data structure to populate
+
+**Description**
+
+Perform an Identify command to get the Primary Controller Capabilities data
+for the controller specified by **cntid**
+
+Will return an error if the length of the response data (from the
+controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`, so **cap** will be
+be fully populated on success.
+
+See: :c:type:`struct nvme_primary_ctrl_cap <nvme_primary_ctrl_cap>`
+
+**Return**
+
+0 on success, non-zero on failure
+
+
+.. c:function:: int nvme_mi_admin_identify_secondary_ctrl_list (nvme_mi_ctrl_t ctrl, __u32 nsid, __u16 cntid, struct nvme_secondary_ctrl_list *list)
+
+ Perform an Admin identify for a secondary controller list.
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to process identify command
+
+``__u32 nsid``
+ Namespace ID to specify list start
+
+``__u16 cntid``
+ Controller ID to specify list start
+
+``struct nvme_secondary_ctrl_list *list``
+ List data to populate
+
+**Description**
+
+Perform an Identify command, for the secondary controllers associated with
+the current primary controller. Only entries with IDs greater than or
+equal to **cntid** are returned.
+
+Will return an error if the length of the response data (from the
+controller) is not a full :c:type:`NVME_IDENTIFY_DATA_SIZE`, so **list** will be
+be fully populated on success.
+
+See: :c:type:`struct nvme_secondary_ctrl_list <nvme_secondary_ctrl_list>`
+
+**Return**
+
0 on success, non-zero on failure
@@ -1579,7 +1865,782 @@ See: :c:type:`struct nvme_get_log_args <nvme_get_log_args>`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_nsid_log (nvme_mi_ctrl_t ctrl, bool rae, enum nvme_cmd_get_log_lid lid, __u32 nsid, __u32 len, void *log)
+
+ Helper for Get Log Page functions
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain Asynchronous Events
+
+``enum nvme_cmd_get_log_lid lid``
+ Log identifier
+
+``__u32 nsid``
+ Namespace ID
+
+``__u32 len``
+ length of log buffer
+
+``void *log``
+ pointer for resulting log data
+
+**Description**
+
+Performs a Get Log Page Admin command for a specific log ID **lid** and
+namespace ID **nsid**. Log data is expected to be **len** bytes, and is stored
+in **log** on success. The **rae** flag is passed as-is to the Get Log Page
+command, and is specific to the Log Page requested.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_simple (nvme_mi_ctrl_t ctrl, enum nvme_cmd_get_log_lid lid, __u32 len, void *log)
+
+ Helper for Get Log Page functions with no NSID or RAE requirements
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``enum nvme_cmd_get_log_lid lid``
+ Log identifier
+
+``__u32 len``
+ length of log buffer
+
+``void *log``
+ pointer for resulting log data
+
+**Description**
+
+Performs a Get Log Page Admin command for a specific log ID **lid**, using
+NVME_NSID_ALL for the namespace identifier, and rae set to false.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_supported_log_pages (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_supported_log_pages *log)
+
+ Retrieve nmve supported log pages
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_supported_log_pages *log``
+ Array of LID supported and Effects data structures
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_error (nvme_mi_ctrl_t ctrl, unsigned int nr_entries, bool rae, struct nvme_error_log_page *err_log)
+
+ Retrieve nvme error log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``unsigned int nr_entries``
+ Number of error log entries allocated
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_error_log_page *err_log``
+ Array of error logs of size 'entries'
+
+**Description**
+
+This log page describes extended error information for a command that
+completed with error, or may report an error that is not specific to a
+particular command.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_smart (nvme_mi_ctrl_t ctrl, __u32 nsid, bool rae, struct nvme_smart_log *smart_log)
+
+ Retrieve nvme smart log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u32 nsid``
+ Optional namespace identifier
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_smart_log *smart_log``
+ User address to store the smart log
+
+**Description**
+
+This log page provides SMART and general health information. The information
+provided is over the life of the controller and is retained across power
+cycles. To request the controller log page, the namespace identifier
+specified is FFFFFFFFh. The controller may also support requesting the log
+page on a per namespace basis, as indicated by bit 0 of the LPA field in the
+Identify Controller data structure.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_fw_slot (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_firmware_slot *fw_log)
+
+ Retrieves the controller firmware log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_firmware_slot *fw_log``
+ User address to store the log page
+
+**Description**
+
+This log page describes the firmware revision stored in each firmware slot
+supported. The firmware revision is indicated as an ASCII string. The log
+page also indicates the active slot number.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_changed_ns_list (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_ns_list *ns_log)
+
+ Retrieve namespace changed list
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_ns_list *ns_log``
+ User address to store the log page
+
+**Description**
+
+This log page describes namespaces attached to this controller that have
+changed since the last time the namespace was identified, been added, or
+deleted.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_cmd_effects (nvme_mi_ctrl_t ctrl, enum nvme_csi csi, struct nvme_cmd_effects_log *effects_log)
+
+ Retrieve nvme command effects log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``enum nvme_csi csi``
+ Command Set Identifier
+
+``struct nvme_cmd_effects_log *effects_log``
+ User address to store the effects log
+
+**Description**
+
+This log page describes the commands that the controller supports and the
+effects of those commands on the state of the NVM subsystem.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_device_self_test (nvme_mi_ctrl_t ctrl, struct nvme_self_test_log *log)
+
+ Retrieve the device self test log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``struct nvme_self_test_log *log``
+ Userspace address of the log payload
+
+**Description**
+
+The log page indicates the status of an in progress self test and the
+percent complete of that operation, and the results of the previous 20
+self-test operations.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_create_telemetry_host (nvme_mi_ctrl_t ctrl, struct nvme_telemetry_log *log)
+
+ Create host telemetry log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``struct nvme_telemetry_log *log``
+ Userspace address of the log payload
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_telemetry_host (nvme_mi_ctrl_t ctrl, __u64 offset, __u32 len, void *log)
+
+ Get Telemetry Host-Initiated log page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u64 offset``
+ Offset into the telemetry data
+
+``__u32 len``
+ Length of provided user buffer to hold the log data in bytes
+
+``void *log``
+ User address for log page data
+
+**Description**
+
+Retrieves the Telemetry Host-Initiated log page at the requested offset
+using the previously existing capture.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_telemetry_ctrl (nvme_mi_ctrl_t ctrl, bool rae, __u64 offset, __u32 len, void *log)
+
+ Get Telemetry Controller-Initiated log page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u64 offset``
+ Offset into the telemetry data
+
+``__u32 len``
+ Length of provided user buffer to hold the log data in bytes
+
+``void *log``
+ User address for log page data
+
+**Description**
+
+Retrieves the Telemetry Controller-Initiated log page at the requested offset
+using the previously existing capture.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_endurance_group (nvme_mi_ctrl_t ctrl, __u16 endgid, struct nvme_endurance_group_log *log)
+
+ Get Endurance Group log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u16 endgid``
+ Starting group identifier to return in the list
+
+``struct nvme_endurance_group_log *log``
+ User address to store the endurance log
+
+**Description**
+
+This log page indicates if an Endurance Group Event has occurred for a
+particular Endurance Group. If an Endurance Group Event has occurred, the
+details of the particular event are included in the Endurance Group
+Information log page for that Endurance Group. An asynchronous event is
+generated when an entry for an Endurance Group is newly added to this log
+page.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_predictable_lat_nvmset (nvme_mi_ctrl_t ctrl, __u16 nvmsetid, struct nvme_nvmset_predictable_lat_log *log)
+
+ Predictable Latency Per NVM Set
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u16 nvmsetid``
+ NVM set id
+
+``struct nvme_nvmset_predictable_lat_log *log``
+ User address to store the predictable latency log
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_predictable_lat_event (nvme_mi_ctrl_t ctrl, bool rae, __u32 offset, __u32 len, void *log)
+
+ Retrieve Predictable Latency Event Aggregate Log Page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u32 offset``
+ Offset into the predictable latency event
+
+``__u32 len``
+ Length of provided user buffer to hold the log data in bytes
+
+``void *log``
+ User address for log page data
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_ana (nvme_mi_ctrl_t ctrl, enum nvme_log_ana_lsp lsp, bool rae, __u64 offset, __u32 len, void *log)
+
+ Retrieve Asymmetric Namespace Access log page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``enum nvme_log_ana_lsp lsp``
+ Log specific, see :c:type:`enum nvme_get_log_ana_lsp <nvme_get_log_ana_lsp>`
+
+``bool rae``
+ Retain asynchronous events
+
+``__u64 offset``
+ Offset to the start of the log page
+
+``__u32 len``
+ The allocated length of the log page
+
+``void *log``
+ User address to store the ana log
+
+**Description**
+
+This log consists of a header describing the log and descriptors containing
+the asymmetric namespace access information for ANA Groups that contain
+namespaces that are attached to the controller processing the command.
+
+See :c:type:`struct nvme_ana_rsp_hdr <nvme_ana_rsp_hdr>` for the definition of the returned structure.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_ana_groups (nvme_mi_ctrl_t ctrl, bool rae, __u32 len, struct nvme_ana_group_desc *log)
+
+ Retrieve Asymmetric Namespace Access groups only log page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u32 len``
+ The allocated length of the log page
+
+``struct nvme_ana_group_desc *log``
+ User address to store the ana group log
+
+**Description**
+
+See :c:type:`struct nvme_ana_group_desc <nvme_ana_group_desc>` for the definition of the returned structure.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_lba_status (nvme_mi_ctrl_t ctrl, bool rae, __u64 offset, __u32 len, void *log)
+
+ Retrieve LBA Status
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u64 offset``
+ Offset to the start of the log page
+
+``__u32 len``
+ The allocated length of the log page
+
+``void *log``
+ User address to store the log page
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_endurance_grp_evt (nvme_mi_ctrl_t ctrl, bool rae, __u32 offset, __u32 len, void *log)
+
+ Retrieve Rotational Media Information
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u32 offset``
+ Offset to the start of the log page
+
+``__u32 len``
+ The allocated length of the log page
+
+``void *log``
+ User address to store the log page
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_fid_supported_effects (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_fid_supported_effects_log *log)
+
+ Retrieve Feature Identifiers Supported and Effects
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_fid_supported_effects_log *log``
+ FID Supported and Effects data structure
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_mi_cmd_supported_effects (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_mi_cmd_supported_effects_log *log)
+
+ displays the MI Commands Supported by the controller
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_mi_cmd_supported_effects_log *log``
+ MI Command Supported and Effects data structure
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_boot_partition (nvme_mi_ctrl_t ctrl, bool rae, __u8 lsp, __u32 len, struct nvme_boot_partition *part)
+
+ Retrieve Boot Partition
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u8 lsp``
+ The log specified field of LID
+
+``__u32 len``
+ The allocated size, minimum
+ struct nvme_boot_partition
+
+``struct nvme_boot_partition *part``
+ User address to store the log page
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_discovery (nvme_mi_ctrl_t ctrl, bool rae, __u32 offset, __u32 len, void *log)
+
+ Retrieve Discovery log page
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``__u32 offset``
+ Offset of this log to retrieve
+
+``__u32 len``
+ The allocated size for this portion of the log
+
+``void *log``
+ User address to store the discovery log
+
+**Description**
+
+Supported only by fabrics discovery controllers, returning discovery
+records.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_media_unit_stat (nvme_mi_ctrl_t ctrl, __u16 domid, struct nvme_media_unit_stat_log *mus)
+
+ Retrieve Media Unit Status
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u16 domid``
+ Domain Identifier selection, if supported
+
+``struct nvme_media_unit_stat_log *mus``
+ User address to store the Media Unit statistics log
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_support_cap_config_list (nvme_mi_ctrl_t ctrl, __u16 domid, struct nvme_supported_cap_config_list_log *cap)
+
+ Retrieve Supported Capacity Configuration List
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u16 domid``
+ Domain Identifier selection, if supported
+
+``struct nvme_supported_cap_config_list_log *cap``
+ User address to store supported capabilities config list
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_reservation (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_resv_notification_log *log)
+
+ Retrieve Reservation Notification
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_resv_notification_log *log``
+ User address to store the reservation log
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_sanitize (nvme_mi_ctrl_t ctrl, bool rae, struct nvme_sanitize_log_page *log)
+
+ Retrieve Sanitize Status
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_sanitize_log_page *log``
+ User address to store the sanitize log
+
+**Description**
+
+The Sanitize Status log page reports sanitize operation time estimates and
+information about the most recent sanitize operation.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_zns_changed_zones (nvme_mi_ctrl_t ctrl, __u32 nsid, bool rae, struct nvme_zns_changed_zone_log *log)
+
+ Retrieve list of zones that have changed
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``__u32 nsid``
+ Namespace ID
+
+``bool rae``
+ Retain asynchronous events
+
+``struct nvme_zns_changed_zone_log *log``
+ User address to store the changed zone log
+
+**Description**
+
+The list of zones that have changed state due to an exceptional event.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_log_persistent_event (nvme_mi_ctrl_t ctrl, enum nvme_pevent_log_action action, __u32 size, void *pevent_log)
+
+ Retrieve Persistent Event Log
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to query
+
+``enum nvme_pevent_log_action action``
+ Action the controller should take during processing this command
+
+``__u32 size``
+ Size of **pevent_log**
+
+``void *pevent_log``
+ User address to store the persistent event log
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_security_send (nvme_mi_ctrl_t ctrl, struct nvme_security_send_args *args)
@@ -1608,7 +2669,8 @@ See: :c:type:`struct nvme_get_log_args <nvme_get_log_args>`
**Return**
-0 on success, non-zero on failure
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_security_recv (nvme_mi_ctrl_t ctrl, struct nvme_security_receive_args *args)
@@ -1637,6 +2699,361 @@ See: :c:type:`struct nvme_get_log_args <nvme_get_log_args>`
**Return**
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_features (nvme_mi_ctrl_t ctrl, struct nvme_get_features_args *args)
+
+ Perform a Get Feature command on a controller
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_get_features_args *args``
+ Get Features command arguments
+
+**Description**
+
+Performs a Get Features Admin command as specified by **args**. Returned
+feature data will be stored in **args->result** and **args->data**, depending
+on the specification of the feature itself; most features do not return
+additional data. See section 5.27.1 of the NVMe spec (v2.0b) for
+feature-specific information.
+
+On success, **args->data_len** will be updated with the actual data length
+received.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_features_data (nvme_mi_ctrl_t ctrl, enum nvme_features_id fid, __u32 nsid, __u32 data_len, void *data, __u32 *result)
+
+ Helper function for :c:type:`nvme_mi_admin_get_features`()
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``enum nvme_features_id fid``
+ Feature identifier
+
+``__u32 nsid``
+ Namespace ID, if applicable for **fid**
+
+``__u32 data_len``
+ Length of feature data, if applicable for **fid**, in bytes
+
+``void *data``
+ User address of feature data, if applicable
+
+``__u32 *result``
+ The command completion result from CQE dword0
+
+**Description**
+
+Helper for optionally features that optionally return data, using the
+SEL_CURRENT selector value.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_get_features_simple (nvme_mi_ctrl_t ctrl, enum nvme_features_id fid, __u32 nsid, __u32 *result)
+
+ Get a simple feature value with no data
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``enum nvme_features_id fid``
+ Feature identifier
+
+``__u32 nsid``
+ Namespace id, if required by **fid**
+
+``__u32 *result``
+ output feature data
+
+
+.. c:function:: int nvme_mi_admin_set_features (nvme_mi_ctrl_t ctrl, struct nvme_set_features_args *args)
+
+ Perform a Set Features command on a controller
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_set_features_args *args``
+ Set Features command arguments
+
+**Description**
+
+Performs a Set Features Admin command as specified by **args**. Result
+data will be stored in **args->result**.
+on the specification of the feature itself; most features do not return
+additional data. See section 5.27.1 of the NVMe spec (v2.0b) for
+feature-specific information.
+
+On success, **args->data_len** will be updated with the actual data length
+received.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_mgmt (nvme_mi_ctrl_t ctrl, struct nvme_ns_mgmt_args *args)
+
+ Issue a Namespace Management command
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_ns_mgmt_args *args``
+ Namespace management command arguments
+
+**Description**
+
+Issues a Namespace Management command to **ctrl**, with arguments specified
+from **args**.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_mgmt_create (nvme_mi_ctrl_t ctrl, struct nvme_id_ns *ns, __u8 csi, __u32 *nsid)
+
+ Helper for Namespace Management Create command
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_id_ns *ns``
+ New namespace parameters
+
+``__u8 csi``
+ Command Set Identifier for new NS
+
+``__u32 *nsid``
+ Set to new namespace ID on create
+
+**Description**
+
+Issues a Namespace Management (Create) command to **ctrl**, to create a
+new namespace specified by **ns**, using command set **csi**. On success,
+the new namespace ID will be written to **nsid**.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_mgmt_delete (nvme_mi_ctrl_t ctrl, __u32 nsid)
+
+ Helper for Namespace Management Delete command
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``__u32 nsid``
+ Namespace ID to delete
+
+**Description**
+
+Issues a Namespace Management (Delete) command to **ctrl**, to delete the
+namespace with id **nsid**.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_attach (nvme_mi_ctrl_t ctrl, struct nvme_ns_attach_args *args)
+
+ Attach or detach namespace to controller(s)
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_ns_attach_args *args``
+ Namespace Attach command arguments
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_attach_ctrls (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_ctrl_list *ctrlist)
+
+ Attach namespace to controllers
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``__u32 nsid``
+ Namespace ID to attach
+
+``struct nvme_ctrl_list *ctrlist``
+ Controller list to modify attachment state of nsid
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_ns_detach_ctrls (nvme_mi_ctrl_t ctrl, __u32 nsid, struct nvme_ctrl_list *ctrlist)
+
+ Detach namespace from controllers
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``__u32 nsid``
+ Namespace ID to detach
+
+``struct nvme_ctrl_list *ctrlist``
+ Controller list to modify attachment state of nsid
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_fw_download (nvme_mi_ctrl_t ctrl, struct nvme_fw_download_args *args)
+
+ Download part or all of a firmware image to the controller
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send firmware data to
+
+``struct nvme_fw_download_args *args``
+ :c:type:`struct nvme_fw_download_args <nvme_fw_download_args>` argument structure
+
+**Description**
+
+The Firmware Image Download command downloads all or a portion of an image
+for a future update to the controller. The Firmware Image Download command
+downloads a new image (in whole or in part) to the controller.
+
+The image may be constructed of multiple pieces that are individually
+downloaded with separate Firmware Image Download commands. Each Firmware
+Image Download command includes a Dword Offset and Number of Dwords that
+specify a dword range.
+
+The new firmware image is not activated as part of the Firmware Image
+Download command. Use the nvme_mi_admin_fw_commit() to activate a newly
+downloaded image.
+
+**Return**
+
0 on success, non-zero on failure
+.. c:function:: int nvme_mi_admin_fw_commit (nvme_mi_ctrl_t ctrl, struct nvme_fw_commit_args *args)
+
+ Commit firmware using the specified action
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send firmware data to
+
+``struct nvme_fw_commit_args *args``
+ :c:type:`struct nvme_fw_download_args <nvme_fw_download_args>` argument structure
+
+**Description**
+
+The Firmware Commit command modifies the firmware image or Boot Partitions.
+
+**Return**
+
+0 on success, non-zero on failure
+
+
+.. c:function:: int nvme_mi_admin_format_nvm (nvme_mi_ctrl_t ctrl, struct nvme_format_nvm_args *args)
+
+ Format NVMe namespace
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_format_nvm_args *args``
+ Format NVM command arguments
+
+**Description**
+
+Perform a low-level format to set the LBA data & metadata size. May destroy
+data & metadata on the specified namespaces
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
+.. c:function:: int nvme_mi_admin_sanitize_nvm (nvme_mi_ctrl_t ctrl, struct nvme_sanitize_nvm_args *args)
+
+ Start a subsystem Sanitize operation
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ Controller to send command to
+
+``struct nvme_sanitize_nvm_args *args``
+ Sanitize command arguments
+
+**Description**
+
+A sanitize operation alters all user data in the NVM subsystem such that
+recovery of any previous user data from any cache, the non-volatile media,
+or any Controller Memory Buffer is not possible.
+
+The Sanitize command starts a sanitize operation or to recover from a
+previously failed sanitize operation. The sanitize operation types that may
+be supported are Block Erase, Crypto Erase, and Overwrite. All sanitize
+operations are processed in the background, i.e., completion of the sanitize
+command does not indicate completion of the sanitize operation.
+
+**Return**
+
+The nvme command status if a response was received (see
+:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
+
+
diff --git a/doc/rst/tree.rst b/doc/rst/tree.rst
index 2334464..d6f270d 100644
--- a/doc/rst/tree.rst
+++ b/doc/rst/tree.rst
@@ -824,7 +824,7 @@ A pointer to the 64-bit eui
A pointer to the 128-bit nguid
-.. c:function:: void nvme_ns_get_uuid (nvme_ns_t n, uuid_t out)
+.. c:function:: void nvme_ns_get_uuid (nvme_ns_t n, unsigned char out[NVME_UUID_LEN])
UUID of a namespace
@@ -833,7 +833,7 @@ A pointer to the 128-bit nguid
``nvme_ns_t n``
Namespace instance
-``uuid_t out``
+``unsigned char out[NVME_UUID_LEN]``
buffer for the UUID
**Description**
@@ -1477,6 +1477,33 @@ Host transport address of **c** (if present)
Host interface name of **c** (if present)
+.. c:function:: const char * nvme_ctrl_get_dhchap_host_key (nvme_ctrl_t c)
+
+ Return host key
+
+**Parameters**
+
+``nvme_ctrl_t c``
+ Controller to be checked
+
+**Return**
+
+DH-HMAC-CHAP host key or NULL if not set
+
+
+.. c:function:: void nvme_ctrl_set_dhchap_host_key (nvme_ctrl_t c, const char *key)
+
+ Set host key
+
+**Parameters**
+
+``nvme_ctrl_t c``
+ Host for which the key should be set
+
+``const char *key``
+ DH-HMAC-CHAP Key to set or NULL to clear existing key
+
+
.. c:function:: const char * nvme_ctrl_get_dhchap_key (nvme_ctrl_t c)
Return controller key
diff --git a/doc/rst/types.rst b/doc/rst/types.rst
index 43e2049..9140821 100644
--- a/doc/rst/types.rst
+++ b/doc/rst/types.rst
@@ -7551,6 +7551,48 @@ bytes, in size. This log captures the controller’s internal state.
+.. c:enum:: nvmf_log_discovery_lid_support
+
+ Discovery log specific support
+
+**Constants**
+
+``NVMF_LOG_DISC_LID_NONE``
+ None
+
+``NVMF_LOG_DISC_LID_EXTDLPES``
+ Extended Discovery Log Page Entries Supported
+
+``NVMF_LOG_DISC_LID_PLEOS``
+ Port Local Entries Only Supported
+
+``NVMF_LOG_DISC_LID_ALLSUBES``
+ All NVM Subsystem Entries Supported
+
+
+
+
+.. c:enum:: nvmf_log_discovery_lsp
+
+ Discovery log specific field
+
+**Constants**
+
+``NVMF_LOG_DISC_LSP_NONE``
+ None
+
+``NVMF_LOG_DISC_LSP_EXTDLPE``
+ Extended Discovery Log Page Entries
+
+``NVMF_LOG_DISC_LSP_PLEO``
+ Port Local Entries Only
+
+``NVMF_LOG_DISC_LSP_ALLSUBE``
+ All NVM Subsystem Entries
+
+
+
+
.. c:struct:: nvmf_discovery_log
Discovery Log Page (Log Identifier 70h)
@@ -9483,6 +9525,88 @@ status code
+.. c:enum:: nvme_status_type
+
+ type encoding for NVMe return values, when represented as an int.
+
+**Constants**
+
+``NVME_STATUS_TYPE_SHIFT``
+ shift value for status bits
+
+``NVME_STATUS_TYPE_MASK``
+ mask value for status bits
+
+``NVME_STATUS_TYPE_NVME``
+ NVMe command status value, typically from CDW3
+
+``NVME_STATUS_TYPE_MI``
+ NVMe-MI header status
+
+**Description**
+
+
+The nvme_* api returns an int, with negative values indicating an internal
+or syscall error, zero signifying success, positive values representing
+the NVMe status.
+
+That latter case (the NVMe status) may represent status values from
+different parts of the transport/controller/etc, and are at most 16 bits of
+data. So, we use the most-significant 3 bits of the signed int to indicate
+which type of status this is.
+
+
+.. c:function:: __u32 nvme_status_get_type (int status)
+
+ extract the type from a nvme_* return value
+
+**Parameters**
+
+``int status``
+ the (non-negative) return value from the NVMe API
+
+**Return**
+
+the type component of the status.
+
+
+.. c:function:: __u32 nvme_status_get_value (int status)
+
+ extract the status value from a nvme_* return value
+
+**Parameters**
+
+``int status``
+ the (non-negative) return value from the NVMe API
+
+**Return**
+
+the value component of the status; the set of values will depend
+on the status type.
+
+
+.. c:function:: __u32 nvme_status_equals (int status, enum nvme_status_type type, unsigned int value)
+
+ helper to check a status against a type and value
+
+**Parameters**
+
+``int status``
+ the (non-negative) return value from the NVMe API
+
+``enum nvme_status_type type``
+ the status type
+
+``unsigned int value``
+ the status value
+
+**Return**
+
+true if **status** is of the specified type and value
+
+
+
+
.. c:enum:: nvme_admin_opcode
Known NVMe admin opcodes
@@ -10592,6 +10716,27 @@ status code
+.. c:enum:: nvme_data_tfr
+
+ Data transfer direction of the command
+
+**Constants**
+
+``NVME_DATA_TFR_NO_DATA_TFR``
+ No data transfer
+
+``NVME_DATA_TFR_HOST_TO_CTRL``
+ Host to controller
+
+``NVME_DATA_TFR_CTRL_TO_HOST``
+ Controller to host
+
+``NVME_DATA_TFR_BIDIRECTIONAL``
+ Bidirectional
+
+
+
+
.. c:enum:: nvme_io_opcode
Opcodes for I/O Commands
diff --git a/doc/rst/util.rst b/doc/rst/util.rst
index 68ac03b..87ea945 100644
--- a/doc/rst/util.rst
+++ b/doc/rst/util.rst
@@ -246,6 +246,33 @@ otherwise.
recognize :c:type:`fid`.
+.. c:function:: int nvme_get_feature_length2 (int fid, __u32 cdw11, enum nvme_data_tfr dir, __u32 *len)
+
+ Retreive the command payload length for a specific feature identifier
+
+**Parameters**
+
+``int fid``
+ Feature identifier, see :c:type:`enum nvme_features_id <nvme_features_id>`.
+
+``__u32 cdw11``
+ The cdw11 value may affect the transfer (only known fid is
+ ``NVME_FEAT_FID_HOST_ID``)
+
+``enum nvme_data_tfr dir``
+ Data transfer direction: false - host to controller, true -
+ controller to host may affect the transfer (only known fid is
+ ``NVME_FEAT_FID_HOST_MEM_BUF``).
+
+``__u32 *len``
+ On success, set to this features payload length in bytes.
+
+**Return**
+
+0 on success, -1 with errno set to EINVAL if the function did not
+recognize :c:type:`fid`.
+
+
.. c:function:: int nvme_get_directive_receive_length (enum nvme_directive_dtype dtype, enum nvme_directive_receive_doper doper, __u32 *len)
Get directive receive length
@@ -492,3 +519,56 @@ Pointer to the next element in the array.
Returns version string for known types or else "n/a"
+.. c:function:: int nvme_uuid_to_string (unsigned char uuid[NVME_UUID_LEN], char *str)
+
+ Return string represenation of encoded UUID
+
+**Parameters**
+
+``unsigned char uuid[NVME_UUID_LEN]``
+ Binary encoded input UUID
+
+``char *str``
+ Output string represenation of UUID
+
+**Return**
+
+Returns error code if type conversion fails.
+
+
+.. c:function:: int nvme_uuid_from_string (const char *str, unsigned char uuid[NVME_UUID_LEN])
+
+ Return encoded UUID represenation of string UUID
+
+**Parameters**
+
+``const char *str``
+ Output string represenation of UUID
+
+``unsigned char uuid[NVME_UUID_LEN]``
+ Binary encoded input UUID
+
+**Return**
+
+Returns error code if type conversion fails.
+
+
+.. c:function:: int nvme_uuid_random (unsigned char uuid[NVME_UUID_LEN])
+
+ Generate random UUID
+
+**Parameters**
+
+``unsigned char uuid[NVME_UUID_LEN]``
+ Generated random UUID
+
+**Description**
+
+Generate random number according
+https://www.rfc-editor.org/rfc/rfc4122#section-4.4
+
+**Return**
+
+Returns error code if generating of random number fails.
+
+