From 86fcc93b6dde545a549437629292af70f0af0e9d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 13:06:51 +0200 Subject: Merging upstream version 1.9. Signed-off-by: Daniel Baumann --- .gitignore | 1 + doc/api.rst.in | 1 + doc/conf.py | 2 +- doc/config-schema.json | 16 +- doc/config-schema.json.in | 16 +- doc/man/nbft_control.2 | 2 +- doc/man/nbft_control_flags.2 | 2 +- doc/man/nbft_desc_type.2 | 2 +- doc/man/nbft_discovery.2 | 2 +- doc/man/nbft_discovery_flags.2 | 2 +- doc/man/nbft_header.2 | 2 +- doc/man/nbft_heap_obj.2 | 2 +- doc/man/nbft_hfi.2 | 2 +- doc/man/nbft_hfi_flags.2 | 2 +- doc/man/nbft_hfi_info_tcp.2 | 2 +- doc/man/nbft_hfi_info_tcp_flags.2 | 2 +- doc/man/nbft_host.2 | 2 +- doc/man/nbft_host_flags.2 | 2 +- doc/man/nbft_info.2 | 2 +- doc/man/nbft_info_discovery.2 | 2 +- doc/man/nbft_info_hfi.2 | 2 +- doc/man/nbft_info_hfi_info_tcp.2 | 2 +- doc/man/nbft_info_host.2 | 2 +- doc/man/nbft_info_nid_type.2 | 2 +- doc/man/nbft_info_primary_admin_host_flag.2 | 2 +- doc/man/nbft_info_security.2 | 2 +- doc/man/nbft_info_subsystem_ns.2 | 12 +- doc/man/nbft_security.2 | 2 +- doc/man/nbft_security_flags.2 | 2 +- doc/man/nbft_security_secret_type.2 | 2 +- doc/man/nbft_ssns.2 | 2 +- doc/man/nbft_ssns_ext_info.2 | 2 +- doc/man/nbft_ssns_ext_info_flags.2 | 2 +- doc/man/nbft_ssns_flags.2 | 2 +- doc/man/nbft_ssns_trflags.2 | 2 +- doc/man/nbft_trtype.2 | 2 +- doc/man/nvme_acq.2 | 12 + doc/man/nvme_admin_opcode.2 | 2 +- doc/man/nvme_admin_passthru.2 | 2 +- doc/man/nvme_admin_passthru64.2 | 2 +- doc/man/nvme_ae_info_css_nvm.2 | 2 +- doc/man/nvme_ae_info_error.2 | 2 +- doc/man/nvme_ae_info_notice.2 | 2 +- doc/man/nvme_ae_info_smart.2 | 2 +- doc/man/nvme_ae_type.2 | 2 +- doc/man/nvme_aggregate_endurance_group_event.2 | 2 +- doc/man/nvme_aggregate_predictable_lat_event.2 | 2 +- doc/man/nvme_ana_group_desc.2 | 2 +- doc/man/nvme_ana_log.2 | 2 +- doc/man/nvme_ana_state.2 | 2 +- doc/man/nvme_apst_entry.2 | 2 +- doc/man/nvme_aqa.2 | 30 + doc/man/nvme_asq.2 | 12 + doc/man/nvme_boot_partition.2 | 2 +- doc/man/nvme_boot_partition_info.2 | 34 + doc/man/nvme_bpinfo.2 | 66 ++ doc/man/nvme_bpmbl.2 | 12 + doc/man/nvme_bprsel.2 | 42 + doc/man/nvme_cap.2 | 252 +++++ doc/man/nvme_capacity_config_desc.2 | 2 +- doc/man/nvme_capacity_mgmt.2 | 2 +- doc/man/nvme_cc.2 | 168 +++ doc/man/nvme_change_ns_event.2 | 2 +- doc/man/nvme_channel_config_desc.2 | 2 +- doc/man/nvme_cmb_size.2 | 2 +- doc/man/nvme_cmbebs.2 | 66 ++ doc/man/nvme_cmbloc.2 | 102 ++ doc/man/nvme_cmbmsc.2 | 36 + doc/man/nvme_cmbsts.2 | 18 + doc/man/nvme_cmbswtp.2 | 54 + doc/man/nvme_cmbsz.2 | 132 +++ doc/man/nvme_cmd_effects.2 | 2 +- doc/man/nvme_cmd_effects_log.2 | 2 +- doc/man/nvme_cmd_format_mset.2 | 2 +- doc/man/nvme_cmd_format_pi.2 | 2 +- doc/man/nvme_cmd_format_pil.2 | 2 +- doc/man/nvme_cmd_format_ses.2 | 2 +- doc/man/nvme_cmd_get_log_lid.2 | 8 +- doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 | 2 +- doc/man/nvme_cmic.2 | 66 ++ doc/man/nvme_compare.2 | 2 +- doc/man/nvme_connect_err.2 | 2 +- doc/man/nvme_constants.2 | 2 +- doc/man/nvme_copy.2 | 2 +- doc/man/nvme_copy_range.2 | 2 +- doc/man/nvme_copy_range_f1.2 | 2 +- doc/man/nvme_copy_range_f2.2 | 2 +- doc/man/nvme_copy_range_f3.2 | 2 +- doc/man/nvme_copy_range_sopt.2 | 2 +- doc/man/nvme_create_ctrl.2 | 2 +- doc/man/nvme_create_root.2 | 2 +- doc/man/nvme_crto.2 | 30 + doc/man/nvme_csi.2 | 2 +- doc/man/nvme_csts.2 | 102 ++ doc/man/nvme_ctrl_config_match.2 | 2 +- doc/man/nvme_ctrl_find.2 | 2 +- doc/man/nvme_ctrl_first_ns.2 | 2 +- doc/man/nvme_ctrl_first_path.2 | 2 +- doc/man/nvme_ctrl_for_each_ns.2 | 2 +- doc/man/nvme_ctrl_for_each_ns_safe.2 | 2 +- doc/man/nvme_ctrl_for_each_path.2 | 2 +- doc/man/nvme_ctrl_for_each_path_safe.2 | 2 +- doc/man/nvme_ctrl_get_address.2 | 2 +- doc/man/nvme_ctrl_get_config.2 | 2 +- doc/man/nvme_ctrl_get_dhchap_host_key.2 | 2 +- doc/man/nvme_ctrl_get_dhchap_key.2 | 2 +- doc/man/nvme_ctrl_get_fd.2 | 2 +- doc/man/nvme_ctrl_get_firmware.2 | 2 +- doc/man/nvme_ctrl_get_host_iface.2 | 2 +- doc/man/nvme_ctrl_get_host_traddr.2 | 2 +- doc/man/nvme_ctrl_get_model.2 | 2 +- doc/man/nvme_ctrl_get_name.2 | 2 +- doc/man/nvme_ctrl_get_numa_node.2 | 2 +- doc/man/nvme_ctrl_get_phy_slot.2 | 2 +- doc/man/nvme_ctrl_get_queue_count.2 | 2 +- doc/man/nvme_ctrl_get_serial.2 | 2 +- doc/man/nvme_ctrl_get_sqsize.2 | 2 +- doc/man/nvme_ctrl_get_src_addr.2 | 2 +- doc/man/nvme_ctrl_get_state.2 | 2 +- doc/man/nvme_ctrl_get_subsysnqn.2 | 2 +- doc/man/nvme_ctrl_get_subsystem.2 | 2 +- doc/man/nvme_ctrl_get_sysfs_dir.2 | 2 +- doc/man/nvme_ctrl_get_traddr.2 | 2 +- doc/man/nvme_ctrl_get_transport.2 | 2 +- doc/man/nvme_ctrl_get_trsvcid.2 | 2 +- doc/man/nvme_ctrl_identify.2 | 2 +- doc/man/nvme_ctrl_is_discovered.2 | 2 +- doc/man/nvme_ctrl_is_discovery_ctrl.2 | 2 +- doc/man/nvme_ctrl_is_persistent.2 | 2 +- doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 | 2 +- doc/man/nvme_ctrl_list.2 | 2 +- doc/man/nvme_ctrl_metadata_type.2 | 2 +- doc/man/nvme_ctrl_next_ns.2 | 2 +- doc/man/nvme_ctrl_next_path.2 | 2 +- doc/man/nvme_ctrl_release_fd.2 | 2 +- doc/man/nvme_ctrl_reset.2 | 2 +- doc/man/nvme_ctrl_set_dhchap_host_key.2 | 2 +- doc/man/nvme_ctrl_set_dhchap_key.2 | 2 +- doc/man/nvme_ctrl_set_discovered.2 | 2 +- doc/man/nvme_ctrl_set_discovery_ctrl.2 | 2 +- doc/man/nvme_ctrl_set_persistent.2 | 2 +- doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 | 2 +- doc/man/nvme_ctrls_filter.2 | 2 +- doc/man/nvme_data_tfr.2 | 2 +- doc/man/nvme_default_host.2 | 2 +- doc/man/nvme_describe_key_serial.2 | 2 +- doc/man/nvme_dev_self_test.2 | 2 +- doc/man/nvme_directive_dtype.2 | 2 +- doc/man/nvme_directive_receive_doper.2 | 2 +- doc/man/nvme_directive_recv.2 | 2 +- doc/man/nvme_directive_recv_identify_parameters.2 | 2 +- doc/man/nvme_directive_recv_stream_allocate.2 | 2 +- doc/man/nvme_directive_recv_stream_parameters.2 | 2 +- doc/man/nvme_directive_recv_stream_status.2 | 2 +- doc/man/nvme_directive_send.2 | 2 +- doc/man/nvme_directive_send_doper.2 | 2 +- doc/man/nvme_directive_send_id_endir.2 | 2 +- doc/man/nvme_directive_send_identify_endir.2 | 2 +- ...nvme_directive_send_stream_release_identifier.2 | 2 +- .../nvme_directive_send_stream_release_resource.2 | 2 +- doc/man/nvme_directive_types.2 | 2 +- doc/man/nvme_disconnect_ctrl.2 | 2 +- doc/man/nvme_dsm.2 | 2 +- doc/man/nvme_dsm_attributes.2 | 2 +- doc/man/nvme_dsm_range.2 | 2 +- doc/man/nvme_dst_stc.2 | 2 +- doc/man/nvme_dump_config.2 | 2 +- doc/man/nvme_dump_tree.2 | 2 +- doc/man/nvme_eg_critical_warning_flags.2 | 2 +- doc/man/nvme_eg_event_aggregate_log.2 | 2 +- doc/man/nvme_end_grp_chan_desc.2 | 2 +- doc/man/nvme_end_grp_config_desc.2 | 2 +- doc/man/nvme_endurance_group_log.2 | 2 +- doc/man/nvme_eom_lane_desc.2 | 2 +- doc/man/nvme_eom_optional_data.2 | 12 +- doc/man/nvme_eom_optional_data_present.2 | 48 + doc/man/nvme_errno_to_string.2 | 2 +- doc/man/nvme_error_log_page.2 | 2 +- doc/man/nvme_export_tls_key.2 | 19 + doc/man/nvme_fabrics_config.2 | 6 +- doc/man/nvme_fctype.2 | 2 +- doc/man/nvme_fdp_config_desc.2 | 2 +- doc/man/nvme_fdp_config_fdpa.2 | 2 +- doc/man/nvme_fdp_config_log.2 | 2 +- doc/man/nvme_fdp_event.2 | 2 +- doc/man/nvme_fdp_event_flags.2 | 2 +- doc/man/nvme_fdp_event_realloc.2 | 2 +- doc/man/nvme_fdp_event_realloc_flags.2 | 2 +- doc/man/nvme_fdp_event_type.2 | 2 +- doc/man/nvme_fdp_events_log.2 | 2 +- doc/man/nvme_fdp_reclaim_unit_handle_status.2 | 2 +- doc/man/nvme_fdp_reclaim_unit_handle_update.2 | 2 +- doc/man/nvme_fdp_ruh_desc.2 | 2 +- doc/man/nvme_fdp_ruh_status.2 | 2 +- doc/man/nvme_fdp_ruh_status_desc.2 | 2 +- doc/man/nvme_fdp_ruh_type.2 | 2 +- doc/man/nvme_fdp_ruha.2 | 2 +- doc/man/nvme_fdp_ruhu_desc.2 | 2 +- doc/man/nvme_fdp_ruhu_log.2 | 2 +- doc/man/nvme_fdp_stats_log.2 | 2 +- doc/man/nvme_fdp_supported_event_attributes.2 | 2 +- doc/man/nvme_fdp_supported_event_desc.2 | 2 +- doc/man/nvme_feat.2 | 2 +- doc/man/nvme_feat_auto_pst.2 | 2 +- doc/man/nvme_feat_fdp_events_cdw11.2 | 2 +- doc/man/nvme_feat_host_behavior.2 | 2 +- doc/man/nvme_feat_nswpcfg_state.2 | 2 +- doc/man/nvme_feat_plm_window_select.2 | 2 +- doc/man/nvme_feat_resv_notify_flags.2 | 2 +- doc/man/nvme_feat_tmpthresh_thsel.2 | 2 +- doc/man/nvme_features_async_event_config_flags.2 | 2 +- doc/man/nvme_features_id.2 | 2 +- doc/man/nvme_fid_supported_effects.2 | 2 +- doc/man/nvme_fid_supported_effects_log.2 | 2 +- doc/man/nvme_firmware_slot.2 | 2 +- doc/man/nvme_first_host.2 | 2 +- doc/man/nvme_first_subsystem.2 | 2 +- doc/man/nvme_flbas.2 | 42 + doc/man/nvme_flush.2 | 2 +- doc/man/nvme_for_each_host.2 | 2 +- doc/man/nvme_for_each_host_safe.2 | 2 +- doc/man/nvme_for_each_subsystem.2 | 2 +- doc/man/nvme_for_each_subsystem_safe.2 | 2 +- doc/man/nvme_format_nvm.2 | 2 +- doc/man/nvme_format_nvm_compln_event.2 | 2 +- doc/man/nvme_format_nvm_start_event.2 | 2 +- doc/man/nvme_free_ctrl.2 | 2 +- doc/man/nvme_free_host.2 | 2 +- doc/man/nvme_free_ns.2 | 2 +- doc/man/nvme_free_subsystem.2 | 2 +- doc/man/nvme_free_tree.2 | 2 +- doc/man/nvme_fw_commit.2 | 2 +- doc/man/nvme_fw_commit_ca.2 | 2 +- doc/man/nvme_fw_commit_event.2 | 2 +- doc/man/nvme_fw_download.2 | 2 +- doc/man/nvme_fw_download_seq.2 | 2 +- doc/man/nvme_gen_dhchap_key.2 | 2 +- doc/man/nvme_generate_tls_key_identity.2 | 2 +- doc/man/nvme_get_ana_log_len.2 | 2 +- doc/man/nvme_get_attr.2 | 2 +- doc/man/nvme_get_ctrl_attr.2 | 2 +- doc/man/nvme_get_ctrl_telemetry.2 | 2 +- doc/man/nvme_get_directive_receive_length.2 | 2 +- doc/man/nvme_get_discovery_args.2 | 2 +- doc/man/nvme_get_feature_length.2 | 2 +- doc/man/nvme_get_feature_length2.2 | 2 +- doc/man/nvme_get_features.2 | 2 +- doc/man/nvme_get_features_arbitration.2 | 2 +- doc/man/nvme_get_features_async_event.2 | 2 +- doc/man/nvme_get_features_auto_pst.2 | 2 +- doc/man/nvme_get_features_data.2 | 2 +- doc/man/nvme_get_features_endurance_event_cfg.2 | 2 +- doc/man/nvme_get_features_err_recovery.2 | 2 +- doc/man/nvme_get_features_err_recovery2.2 | 2 +- doc/man/nvme_get_features_hctm.2 | 2 +- doc/man/nvme_get_features_host_behavior.2 | 2 +- doc/man/nvme_get_features_host_id.2 | 2 +- doc/man/nvme_get_features_host_mem_buf.2 | 2 +- doc/man/nvme_get_features_host_mem_buf2.2 | 2 +- doc/man/nvme_get_features_iocs_profile.2 | 2 +- doc/man/nvme_get_features_irq_coalesce.2 | 2 +- doc/man/nvme_get_features_irq_config.2 | 2 +- doc/man/nvme_get_features_kato.2 | 2 +- doc/man/nvme_get_features_lba_range.2 | 2 +- doc/man/nvme_get_features_lba_range2.2 | 2 +- doc/man/nvme_get_features_lba_sts_interval.2 | 2 +- doc/man/nvme_get_features_nopsc.2 | 2 +- doc/man/nvme_get_features_num_queues.2 | 2 +- doc/man/nvme_get_features_plm_config.2 | 2 +- doc/man/nvme_get_features_plm_window.2 | 2 +- doc/man/nvme_get_features_power_mgmt.2 | 2 +- doc/man/nvme_get_features_resv_mask.2 | 2 +- doc/man/nvme_get_features_resv_mask2.2 | 2 +- doc/man/nvme_get_features_resv_persist.2 | 2 +- doc/man/nvme_get_features_resv_persist2.2 | 2 +- doc/man/nvme_get_features_rrl.2 | 2 +- doc/man/nvme_get_features_sanitize.2 | 2 +- doc/man/nvme_get_features_sel.2 | 2 +- doc/man/nvme_get_features_simple.2 | 2 +- doc/man/nvme_get_features_sw_progress.2 | 2 +- doc/man/nvme_get_features_temp_thresh.2 | 2 +- doc/man/nvme_get_features_timestamp.2 | 2 +- doc/man/nvme_get_features_volatile_wc.2 | 2 +- doc/man/nvme_get_features_write_atomic.2 | 2 +- doc/man/nvme_get_features_write_protect.2 | 2 +- doc/man/nvme_get_host_telemetry.2 | 2 +- doc/man/nvme_get_lba_status.2 | 2 +- doc/man/nvme_get_lba_status_log.2 | 2 +- doc/man/nvme_get_log.2 | 2 +- doc/man/nvme_get_log_ana.2 | 2 +- doc/man/nvme_get_log_ana_groups.2 | 2 +- doc/man/nvme_get_log_boot_partition.2 | 2 +- doc/man/nvme_get_log_changed_ns_list.2 | 2 +- doc/man/nvme_get_log_cmd_effects.2 | 2 +- doc/man/nvme_get_log_create_telemetry_host.2 | 2 +- doc/man/nvme_get_log_device_self_test.2 | 2 +- doc/man/nvme_get_log_discovery.2 | 2 +- doc/man/nvme_get_log_endurance_group.2 | 2 +- doc/man/nvme_get_log_endurance_grp_evt.2 | 2 +- doc/man/nvme_get_log_error.2 | 2 +- doc/man/nvme_get_log_fdp_configurations.2 | 2 +- doc/man/nvme_get_log_fdp_events.2 | 2 +- doc/man/nvme_get_log_fdp_stats.2 | 2 +- doc/man/nvme_get_log_fid_supported_effects.2 | 2 +- doc/man/nvme_get_log_fw_slot.2 | 2 +- doc/man/nvme_get_log_lba_status.2 | 2 +- doc/man/nvme_get_log_media_unit_stat.2 | 2 +- doc/man/nvme_get_log_mi_cmd_supported_effects.2 | 2 +- doc/man/nvme_get_log_page.2 | 2 +- doc/man/nvme_get_log_persistent_event.2 | 2 +- doc/man/nvme_get_log_phy_rx_eom.2 | 2 +- doc/man/nvme_get_log_predictable_lat_event.2 | 2 +- doc/man/nvme_get_log_predictable_lat_nvmset.2 | 2 +- doc/man/nvme_get_log_reclaim_unit_handle_usage.2 | 2 +- doc/man/nvme_get_log_reservation.2 | 2 +- doc/man/nvme_get_log_sanitize.2 | 2 +- doc/man/nvme_get_log_smart.2 | 2 +- doc/man/nvme_get_log_support_cap_config_list.2 | 2 +- doc/man/nvme_get_log_supported_log_pages.2 | 2 +- doc/man/nvme_get_log_telemetry_ctrl.2 | 2 +- doc/man/nvme_get_log_telemetry_host.2 | 2 +- doc/man/nvme_get_log_zns_changed_zones.2 | 2 +- doc/man/nvme_get_logging_level.2 | 21 + doc/man/nvme_get_logical_block_size.2 | 2 +- doc/man/nvme_get_new_host_telemetry.2 | 2 +- doc/man/nvme_get_ns_attr.2 | 2 +- doc/man/nvme_get_nsid.2 | 2 +- doc/man/nvme_get_path_attr.2 | 2 +- doc/man/nvme_get_property.2 | 2 +- doc/man/nvme_get_subsys_attr.2 | 2 +- doc/man/nvme_get_telemetry_log.2 | 2 +- doc/man/nvme_get_telemetry_max.2 | 2 +- doc/man/nvme_hmac_alg.2 | 2 +- doc/man/nvme_host_behavior_support.2 | 2 +- doc/man/nvme_host_get_dhchap_key.2 | 2 +- doc/man/nvme_host_get_hostid.2 | 2 +- doc/man/nvme_host_get_hostnqn.2 | 2 +- doc/man/nvme_host_get_hostsymname.2 | 2 +- doc/man/nvme_host_get_root.2 | 2 +- doc/man/nvme_host_is_pdc_enabled.2 | 2 +- doc/man/nvme_host_mem_buf_attrs.2 | 2 +- doc/man/nvme_host_metadata.2 | 2 +- doc/man/nvme_host_release_fds.2 | 2 +- doc/man/nvme_host_set_dhchap_key.2 | 2 +- doc/man/nvme_host_set_hostsymname.2 | 2 +- doc/man/nvme_host_set_pdc_enabled.2 | 2 +- doc/man/nvme_id_ctrl.2 | 2 +- doc/man/nvme_id_ctrl_anacap.2 | 2 +- doc/man/nvme_id_ctrl_apsta.2 | 2 +- doc/man/nvme_id_ctrl_avscc.2 | 2 +- doc/man/nvme_id_ctrl_cmic.2 | 2 +- doc/man/nvme_id_ctrl_cntrltype.2 | 2 +- doc/man/nvme_id_ctrl_cqes.2 | 2 +- doc/man/nvme_id_ctrl_ctratt.2 | 2 +- doc/man/nvme_id_ctrl_dctype.2 | 2 +- doc/man/nvme_id_ctrl_dsto.2 | 2 +- doc/man/nvme_id_ctrl_fcatt.2 | 2 +- doc/man/nvme_id_ctrl_fna.2 | 2 +- doc/man/nvme_id_ctrl_frmw.2 | 2 +- doc/man/nvme_id_ctrl_fuses.2 | 2 +- doc/man/nvme_id_ctrl_hctm.2 | 2 +- doc/man/nvme_id_ctrl_lpa.2 | 2 +- doc/man/nvme_id_ctrl_mec.2 | 2 +- doc/man/nvme_id_ctrl_nvm.2 | 2 +- doc/man/nvme_id_ctrl_nvmsr.2 | 2 +- doc/man/nvme_id_ctrl_nvscc.2 | 2 +- doc/man/nvme_id_ctrl_nwpc.2 | 2 +- doc/man/nvme_id_ctrl_oacs.2 | 2 +- doc/man/nvme_id_ctrl_oaes.2 | 2 +- doc/man/nvme_id_ctrl_ofcs.2 | 2 +- doc/man/nvme_id_ctrl_oncs.2 | 2 +- doc/man/nvme_id_ctrl_rpmbs.2 | 2 +- doc/man/nvme_id_ctrl_sanicap.2 | 2 +- doc/man/nvme_id_ctrl_sgls.2 | 2 +- doc/man/nvme_id_ctrl_sqes.2 | 2 +- doc/man/nvme_id_ctrl_vwc.2 | 2 +- doc/man/nvme_id_ctrl_vwci.2 | 2 +- doc/man/nvme_id_directives.2 | 2 +- doc/man/nvme_id_domain_attr.2 | 2 +- doc/man/nvme_id_domain_list.2 | 2 +- doc/man/nvme_id_endurance_group_list.2 | 2 +- doc/man/nvme_id_independent_id_ns.2 | 2 +- doc/man/nvme_id_iocs.2 | 2 +- doc/man/nvme_id_ns.2 | 2 +- doc/man/nvme_id_ns_attr.2 | 2 +- doc/man/nvme_id_ns_dlfeat.2 | 2 +- doc/man/nvme_id_ns_dpc.2 | 2 +- doc/man/nvme_id_ns_dps.2 | 2 +- doc/man/nvme_id_ns_flbas.2 | 2 +- doc/man/nvme_id_ns_granularity_desc.2 | 2 +- doc/man/nvme_id_ns_granularity_list.2 | 2 +- doc/man/nvme_id_ns_mc.2 | 2 +- doc/man/nvme_id_ns_nmic.2 | 2 +- doc/man/nvme_id_ns_rescap.2 | 2 +- doc/man/nvme_id_nsfeat.2 | 2 +- doc/man/nvme_id_nvmset_list.2 | 2 +- doc/man/nvme_id_psd.2 | 2 +- doc/man/nvme_id_uuid.2 | 2 +- doc/man/nvme_id_uuid_list.2 | 2 +- doc/man/nvme_id_uuid_list_entry.2 | 2 +- doc/man/nvme_identify.2 | 2 +- doc/man/nvme_identify_active_ns_list.2 | 2 +- doc/man/nvme_identify_active_ns_list_csi.2 | 2 +- doc/man/nvme_identify_allocated_ns.2 | 2 +- doc/man/nvme_identify_allocated_ns_list.2 | 2 +- doc/man/nvme_identify_allocated_ns_list_csi.2 | 2 +- doc/man/nvme_identify_cns.2 | 2 +- doc/man/nvme_identify_ctrl.2 | 2 +- doc/man/nvme_identify_ctrl_csi.2 | 2 +- doc/man/nvme_identify_ctrl_list.2 | 2 +- doc/man/nvme_identify_domain_list.2 | 2 +- doc/man/nvme_identify_endurance_group_list.2 | 2 +- doc/man/nvme_identify_independent_identify_ns.2 | 2 +- doc/man/nvme_identify_iocs.2 | 2 +- .../nvme_identify_iocs_ns_csi_user_data_format.2 | 2 +- doc/man/nvme_identify_ns.2 | 2 +- doc/man/nvme_identify_ns_csi.2 | 2 +- doc/man/nvme_identify_ns_csi_user_data_format.2 | 2 +- doc/man/nvme_identify_ns_descs.2 | 2 +- doc/man/nvme_identify_ns_granularity.2 | 2 +- doc/man/nvme_identify_nsid_ctrl_list.2 | 2 +- doc/man/nvme_identify_nvmset_list.2 | 2 +- doc/man/nvme_identify_primary_ctrl.2 | 2 +- doc/man/nvme_identify_secondary_ctrl_list.2 | 2 +- doc/man/nvme_identify_uuid.2 | 2 +- doc/man/nvme_import_tls_key.2 | 21 + doc/man/nvme_init_copy_range.2 | 2 +- doc/man/nvme_init_copy_range_f1.2 | 2 +- doc/man/nvme_init_copy_range_f2.2 | 2 +- doc/man/nvme_init_copy_range_f3.2 | 2 +- doc/man/nvme_init_ctrl.2 | 2 +- doc/man/nvme_init_ctrl_list.2 | 2 +- doc/man/nvme_init_dsm_range.2 | 2 +- doc/man/nvme_init_logging.2 | 2 +- doc/man/nvme_insert_tls_key.2 | 2 +- doc/man/nvme_insert_tls_key_versioned.2 | 2 +- doc/man/nvme_io.2 | 2 +- doc/man/nvme_io_control_flags.2 | 2 +- doc/man/nvme_io_dsm_flags.2 | 2 +- doc/man/nvme_io_mgmt_recv.2 | 2 +- doc/man/nvme_io_mgmt_recv_mo.2 | 2 +- doc/man/nvme_io_mgmt_send.2 | 2 +- doc/man/nvme_io_mgmt_send_mo.2 | 2 +- doc/man/nvme_io_opcode.2 | 2 +- doc/man/nvme_io_passthru.2 | 2 +- doc/man/nvme_io_passthru64.2 | 2 +- doc/man/nvme_is_64bit_reg.2 | 2 +- doc/man/nvme_lba_range_type.2 | 2 +- doc/man/nvme_lba_range_type_entry.2 | 2 +- doc/man/nvme_lba_rd.2 | 2 +- doc/man/nvme_lba_status.2 | 2 +- doc/man/nvme_lba_status_atype.2 | 2 +- doc/man/nvme_lba_status_desc.2 | 2 +- doc/man/nvme_lba_status_log.2 | 2 +- doc/man/nvme_lbaf.2 | 2 +- doc/man/nvme_lbaf_rp.2 | 2 +- doc/man/nvme_lbart.2 | 2 +- doc/man/nvme_lbas_ns_element.2 | 2 +- doc/man/nvme_lockdown.2 | 2 +- doc/man/nvme_log_ana_lsp.2 | 2 +- doc/man/nvme_log_phy_rx_eom_action.2 | 2 +- doc/man/nvme_log_phy_rx_eom_quality.2 | 2 +- doc/man/nvme_lookup_ctrl.2 | 2 +- doc/man/nvme_lookup_host.2 | 2 +- doc/man/nvme_lookup_key.2 | 2 +- doc/man/nvme_lookup_keyring.2 | 2 +- doc/man/nvme_lookup_subsystem.2 | 2 +- doc/man/nvme_media_unit_config_desc.2 | 2 +- doc/man/nvme_media_unit_stat_desc.2 | 2 +- doc/man/nvme_media_unit_stat_log.2 | 2 +- doc/man/nvme_metadata_element_desc.2 | 2 +- doc/man/nvme_mi_admin_admin_passthru.2 | 2 +- doc/man/nvme_mi_admin_format_nvm.2 | 2 +- doc/man/nvme_mi_admin_fw_commit.2 | 2 +- doc/man/nvme_mi_admin_fw_download.2 | 2 +- doc/man/nvme_mi_admin_get_features_data.2 | 2 +- doc/man/nvme_mi_admin_get_log.2 | 2 +- doc/man/nvme_mi_admin_get_log_ana.2 | 2 +- doc/man/nvme_mi_admin_get_log_ana_groups.2 | 2 +- doc/man/nvme_mi_admin_get_log_boot_partition.2 | 2 +- doc/man/nvme_mi_admin_get_log_changed_ns_list.2 | 2 +- doc/man/nvme_mi_admin_get_log_cmd_effects.2 | 2 +- .../nvme_mi_admin_get_log_create_telemetry_host.2 | 2 +- doc/man/nvme_mi_admin_get_log_device_self_test.2 | 2 +- doc/man/nvme_mi_admin_get_log_discovery.2 | 2 +- doc/man/nvme_mi_admin_get_log_endurance_group.2 | 2 +- doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 | 2 +- doc/man/nvme_mi_admin_get_log_error.2 | 2 +- .../nvme_mi_admin_get_log_fid_supported_effects.2 | 2 +- doc/man/nvme_mi_admin_get_log_fw_slot.2 | 2 +- doc/man/nvme_mi_admin_get_log_lba_status.2 | 2 +- doc/man/nvme_mi_admin_get_log_media_unit_stat.2 | 2 +- ...vme_mi_admin_get_log_mi_cmd_supported_effects.2 | 2 +- doc/man/nvme_mi_admin_get_log_page.2 | 2 +- doc/man/nvme_mi_admin_get_log_persistent_event.2 | 2 +- doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 | 2 +- .../nvme_mi_admin_get_log_predictable_lat_event.2 | 2 +- .../nvme_mi_admin_get_log_predictable_lat_nvmset.2 | 2 +- doc/man/nvme_mi_admin_get_log_reservation.2 | 2 +- doc/man/nvme_mi_admin_get_log_sanitize.2 | 2 +- doc/man/nvme_mi_admin_get_log_simple.2 | 2 +- doc/man/nvme_mi_admin_get_log_smart.2 | 2 +- ...nvme_mi_admin_get_log_support_cap_config_list.2 | 2 +- .../nvme_mi_admin_get_log_supported_log_pages.2 | 2 +- doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 | 2 +- doc/man/nvme_mi_admin_get_log_telemetry_host.2 | 2 +- doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 | 2 +- doc/man/nvme_mi_admin_get_nsid_log.2 | 2 +- doc/man/nvme_mi_admin_identify.2 | 2 +- doc/man/nvme_mi_admin_identify_active_ns_list.2 | 2 +- doc/man/nvme_mi_admin_identify_allocated_ns.2 | 2 +- doc/man/nvme_mi_admin_identify_allocated_ns_list.2 | 2 +- doc/man/nvme_mi_admin_identify_cns_nsid.2 | 2 +- doc/man/nvme_mi_admin_identify_ctrl.2 | 2 +- doc/man/nvme_mi_admin_identify_ctrl_list.2 | 2 +- doc/man/nvme_mi_admin_identify_ns.2 | 2 +- doc/man/nvme_mi_admin_identify_ns_descs.2 | 2 +- doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 | 2 +- doc/man/nvme_mi_admin_identify_partial.2 | 2 +- doc/man/nvme_mi_admin_identify_primary_ctrl.2 | 2 +- .../nvme_mi_admin_identify_secondary_ctrl_list.2 | 2 +- doc/man/nvme_mi_admin_ns_attach.2 | 2 +- doc/man/nvme_mi_admin_ns_attach_ctrls.2 | 2 +- doc/man/nvme_mi_admin_ns_detach_ctrls.2 | 2 +- doc/man/nvme_mi_admin_req_hdr.2 | 2 +- doc/man/nvme_mi_admin_resp_hdr.2 | 2 +- doc/man/nvme_mi_admin_sanitize_nvm.2 | 2 +- doc/man/nvme_mi_admin_security_recv.2 | 2 +- doc/man/nvme_mi_admin_security_send.2 | 2 +- doc/man/nvme_mi_admin_xfer.2 | 2 +- doc/man/nvme_mi_ccs.2 | 2 +- doc/man/nvme_mi_close.2 | 2 +- doc/man/nvme_mi_close_ctrl.2 | 2 +- doc/man/nvme_mi_cmd_supported_effects.2 | 2 +- doc/man/nvme_mi_cmd_supported_effects_log.2 | 2 +- doc/man/nvme_mi_config_id.2 | 2 +- doc/man/nvme_mi_config_smbus_freq.2 | 2 +- doc/man/nvme_mi_create_root.2 | 2 +- doc/man/nvme_mi_csts.2 | 2 +- doc/man/nvme_mi_ctrl_health_status.2 | 2 +- doc/man/nvme_mi_ctrl_id.2 | 2 +- doc/man/nvme_mi_cwarn.2 | 2 +- doc/man/nvme_mi_dtyp.2 | 2 +- doc/man/nvme_mi_elem.2 | 2 +- doc/man/nvme_mi_free_root.2 | 2 +- doc/man/nvme_mi_init_ctrl.2 | 2 +- doc/man/nvme_mi_message_type.2 | 2 +- doc/man/nvme_mi_mi_opcode.2 | 2 +- doc/man/nvme_mi_mi_read_mi_data_ctrl.2 | 2 +- doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 | 2 +- doc/man/nvme_mi_mi_read_mi_data_port.2 | 2 +- doc/man/nvme_mi_mi_read_mi_data_subsys.2 | 2 +- doc/man/nvme_mi_mi_req_hdr.2 | 2 +- doc/man/nvme_mi_mi_resp_hdr.2 | 2 +- doc/man/nvme_mi_mi_subsystem_health_status_poll.2 | 2 +- doc/man/nvme_mi_msg_hdr.2 | 2 +- doc/man/nvme_mi_msg_resp.2 | 2 +- doc/man/nvme_mi_nvm_ss_health_status.2 | 2 +- doc/man/nvme_mi_open_mctp.2 | 2 +- doc/man/nvme_mi_osc.2 | 2 +- doc/man/nvme_mi_port_pcie.2 | 2 +- doc/man/nvme_mi_port_smb.2 | 2 +- doc/man/nvme_mi_read_ctrl_info.2 | 2 +- doc/man/nvme_mi_read_nvm_ss_info.2 | 2 +- doc/man/nvme_mi_read_port_info.2 | 2 +- doc/man/nvme_mi_read_sc_list.2 | 2 +- doc/man/nvme_mi_resp_status.2 | 2 +- doc/man/nvme_mi_set_probe_enabled.2 | 2 +- doc/man/nvme_mi_status_to_string.2 | 2 +- doc/man/nvme_mi_vpd_hdr.2 | 2 +- doc/man/nvme_mi_vpd_mr_common.2 | 2 +- doc/man/nvme_mi_vpd_mra.2 | 2 +- doc/man/nvme_mi_vpd_ppmra.2 | 2 +- doc/man/nvme_mi_vpd_telem.2 | 2 +- doc/man/nvme_mi_vpd_tra.2 | 2 +- doc/man/nvme_namespace_attach_ctrls.2 | 2 +- doc/man/nvme_namespace_detach_ctrls.2 | 2 +- doc/man/nvme_namespace_filter.2 | 2 +- doc/man/nvme_namespace_first_path.2 | 2 +- doc/man/nvme_namespace_for_each_path.2 | 2 +- doc/man/nvme_namespace_for_each_path_safe.2 | 2 +- doc/man/nvme_namespace_next_path.2 | 2 +- doc/man/nvme_nbft_free.2 | 2 +- doc/man/nvme_nbft_read.2 | 2 +- doc/man/nvme_nd_ns_fpi.2 | 2 +- doc/man/nvme_next_host.2 | 2 +- doc/man/nvme_next_subsystem.2 | 2 +- doc/man/nvme_ns_attach.2 | 2 +- doc/man/nvme_ns_attach_ctrls.2 | 2 +- doc/man/nvme_ns_attach_sel.2 | 2 +- doc/man/nvme_ns_compare.2 | 2 +- doc/man/nvme_ns_detach_ctrls.2 | 2 +- doc/man/nvme_ns_flush.2 | 2 +- doc/man/nvme_ns_get_csi.2 | 2 +- doc/man/nvme_ns_get_ctrl.2 | 2 +- doc/man/nvme_ns_get_eui64.2 | 2 +- doc/man/nvme_ns_get_fd.2 | 2 +- doc/man/nvme_ns_get_firmware.2 | 2 +- doc/man/nvme_ns_get_generic_name.2 | 2 +- doc/man/nvme_ns_get_lba_count.2 | 2 +- doc/man/nvme_ns_get_lba_size.2 | 2 +- doc/man/nvme_ns_get_lba_util.2 | 2 +- doc/man/nvme_ns_get_meta_size.2 | 2 +- doc/man/nvme_ns_get_model.2 | 2 +- doc/man/nvme_ns_get_name.2 | 2 +- doc/man/nvme_ns_get_nguid.2 | 2 +- doc/man/nvme_ns_get_nsid.2 | 2 +- doc/man/nvme_ns_get_serial.2 | 2 +- doc/man/nvme_ns_get_subsystem.2 | 2 +- doc/man/nvme_ns_get_sysfs_dir.2 | 2 +- doc/man/nvme_ns_get_uuid.2 | 2 +- doc/man/nvme_ns_id_desc.2 | 2 +- doc/man/nvme_ns_id_desc_nidt.2 | 2 +- doc/man/nvme_ns_identify.2 | 2 +- doc/man/nvme_ns_identify_descs.2 | 2 +- doc/man/nvme_ns_list.2 | 2 +- doc/man/nvme_ns_metadata_type.2 | 2 +- doc/man/nvme_ns_mgmt.2 | 2 +- doc/man/nvme_ns_mgmt_create.2 | 2 +- doc/man/nvme_ns_mgmt_delete.2 | 2 +- doc/man/nvme_ns_mgmt_delete_timeout.2 | 23 + doc/man/nvme_ns_mgmt_host_sw_specified.2 | 2 +- doc/man/nvme_ns_mgmt_sel.2 | 2 +- doc/man/nvme_ns_read.2 | 2 +- doc/man/nvme_ns_release_fd.2 | 2 +- doc/man/nvme_ns_rescan.2 | 2 +- doc/man/nvme_ns_verify.2 | 2 +- doc/man/nvme_ns_write.2 | 2 +- doc/man/nvme_ns_write_protect_cfg.2 | 2 +- doc/man/nvme_ns_write_uncorrectable.2 | 2 +- doc/man/nvme_ns_write_zeros.2 | 2 +- doc/man/nvme_nss_hw_err_event.2 | 2 +- doc/man/nvme_nvm_id_ns.2 | 2 +- doc/man/nvme_nvm_id_ns_elbaf.2 | 2 +- doc/man/nvme_nvm_identify_ctrl.2 | 2 +- doc/man/nvme_nvmeset_pl_status.2 | 2 +- doc/man/nvme_nvmset_attr.2 | 2 +- doc/man/nvme_nvmset_pl_events.2 | 2 +- doc/man/nvme_nvmset_predictable_lat_log.2 | 2 +- doc/man/nvme_open.2 | 2 +- doc/man/nvme_passthru_cmd.2 | 2 +- doc/man/nvme_passthru_cmd64.2 | 2 +- doc/man/nvme_path_get_ana_state.2 | 2 +- doc/man/nvme_path_get_ctrl.2 | 2 +- doc/man/nvme_path_get_name.2 | 2 +- doc/man/nvme_path_get_ns.2 | 2 +- doc/man/nvme_path_get_sysfs_dir.2 | 2 +- doc/man/nvme_paths_filter.2 | 2 +- doc/man/nvme_pel_ehai.2 | 34 + doc/man/nvme_pel_ehai_pit.2 | 30 + doc/man/nvme_pel_rci.2 | 62 + doc/man/nvme_pel_rci_rcpit.2 | 24 + doc/man/nvme_persistent_event_entry.2 | 2 +- doc/man/nvme_persistent_event_log.2 | 2 +- doc/man/nvme_persistent_event_types.2 | 2 +- doc/man/nvme_pevent_log_action.2 | 2 +- doc/man/nvme_phy_rx_eom_log.2 | 2 +- doc/man/nvme_phy_rx_eom_progress.2 | 2 +- doc/man/nvme_plm_config.2 | 2 +- doc/man/nvme_pmr_size.2 | 2 +- doc/man/nvme_pmr_throughput.2 | 2 +- doc/man/nvme_pmrcap.2 | 114 ++ doc/man/nvme_pmrctl.2 | 18 + doc/man/nvme_pmrebs.2 | 66 ++ doc/man/nvme_pmrmsc.2 | 24 + doc/man/nvme_pmrsts.2 | 54 + doc/man/nvme_pmrswtp.2 | 54 + doc/man/nvme_power_on_reset_info_list.2 | 2 +- doc/man/nvme_primary_ctrl_cap.2 | 2 +- doc/man/nvme_psd_flags.2 | 2 +- doc/man/nvme_psd_power_scale.2 | 2 +- doc/man/nvme_psd_ps.2 | 2 +- doc/man/nvme_psd_workload.2 | 2 +- doc/man/nvme_read.2 | 2 +- doc/man/nvme_read_config.2 | 2 +- doc/man/nvme_read_key.2 | 23 + doc/man/nvme_refresh_topology.2 | 2 +- doc/man/nvme_register_offsets.2 | 2 +- doc/man/nvme_registered_ctrl.2 | 2 +- doc/man/nvme_registered_ctrl_ext.2 | 2 +- doc/man/nvme_rescan_ctrl.2 | 2 +- doc/man/nvme_resv_acquire.2 | 2 +- doc/man/nvme_resv_cptpl.2 | 2 +- doc/man/nvme_resv_notification_log.2 | 2 +- doc/man/nvme_resv_notify_rnlpt.2 | 2 +- doc/man/nvme_resv_racqa.2 | 2 +- doc/man/nvme_resv_register.2 | 2 +- doc/man/nvme_resv_release.2 | 2 +- doc/man/nvme_resv_report.2 | 2 +- doc/man/nvme_resv_rrega.2 | 2 +- doc/man/nvme_resv_rrela.2 | 2 +- doc/man/nvme_resv_rtype.2 | 2 +- doc/man/nvme_resv_status.2 | 2 +- doc/man/nvme_sanitize_compln_event.2 | 2 +- doc/man/nvme_sanitize_log_page.2 | 2 +- doc/man/nvme_sanitize_nvm.2 | 2 +- doc/man/nvme_sanitize_sanact.2 | 2 +- doc/man/nvme_sanitize_sstat.2 | 2 +- doc/man/nvme_sanitize_start_event.2 | 2 +- doc/man/nvme_scan.2 | 2 +- doc/man/nvme_scan_ctrl.2 | 2 +- doc/man/nvme_scan_ctrl_namespace_paths.2 | 2 +- doc/man/nvme_scan_ctrl_namespaces.2 | 2 +- doc/man/nvme_scan_ctrls.2 | 2 +- doc/man/nvme_scan_namespace.2 | 2 +- doc/man/nvme_scan_subsystem_namespaces.2 | 2 +- doc/man/nvme_scan_subsystems.2 | 2 +- doc/man/nvme_scan_tls_keys.2 | 24 + doc/man/nvme_scan_topology.2 | 2 +- doc/man/nvme_secondary_ctrl.2 | 2 +- doc/man/nvme_secondary_ctrl_list.2 | 2 +- doc/man/nvme_security_receive.2 | 2 +- doc/man/nvme_security_send.2 | 2 +- doc/man/nvme_self_test_log.2 | 2 +- doc/man/nvme_set_feat_event_layout.2 | 48 + doc/man/nvme_set_feature_event.2 | 2 +- doc/man/nvme_set_features.2 | 2 +- doc/man/nvme_set_features_arbitration.2 | 2 +- doc/man/nvme_set_features_async_event.2 | 2 +- doc/man/nvme_set_features_auto_pst.2 | 2 +- doc/man/nvme_set_features_data.2 | 2 +- doc/man/nvme_set_features_endurance_evt_cfg.2 | 2 +- doc/man/nvme_set_features_err_recovery.2 | 2 +- doc/man/nvme_set_features_hctm.2 | 2 +- doc/man/nvme_set_features_host_behavior.2 | 2 +- doc/man/nvme_set_features_host_id.2 | 2 +- doc/man/nvme_set_features_iocs_profile.2 | 2 +- doc/man/nvme_set_features_irq_coalesce.2 | 2 +- doc/man/nvme_set_features_irq_config.2 | 2 +- doc/man/nvme_set_features_lba_range.2 | 2 +- doc/man/nvme_set_features_lba_sts_interval.2 | 2 +- doc/man/nvme_set_features_nopsc.2 | 2 +- doc/man/nvme_set_features_plm_config.2 | 2 +- doc/man/nvme_set_features_plm_window.2 | 2 +- doc/man/nvme_set_features_power_mgmt.2 | 2 +- doc/man/nvme_set_features_resv_mask.2 | 2 +- doc/man/nvme_set_features_resv_mask2.2 | 2 +- doc/man/nvme_set_features_resv_persist.2 | 2 +- doc/man/nvme_set_features_resv_persist2.2 | 2 +- doc/man/nvme_set_features_rrl.2 | 2 +- doc/man/nvme_set_features_sanitize.2 | 2 +- doc/man/nvme_set_features_simple.2 | 2 +- doc/man/nvme_set_features_sw_progress.2 | 2 +- doc/man/nvme_set_features_temp_thresh.2 | 2 +- doc/man/nvme_set_features_timestamp.2 | 2 +- doc/man/nvme_set_features_volatile_wc.2 | 2 +- doc/man/nvme_set_features_write_atomic.2 | 2 +- doc/man/nvme_set_features_write_protect.2 | 2 +- doc/man/nvme_set_features_write_protect2.2 | 2 +- doc/man/nvme_set_keyring.2 | 2 +- doc/man/nvme_set_property.2 | 2 +- doc/man/nvme_set_root.2 | 2 +- doc/man/nvme_smart_crit.2 | 2 +- doc/man/nvme_smart_egcw.2 | 2 +- doc/man/nvme_smart_log.2 | 2 +- doc/man/nvme_st_code.2 | 2 +- doc/man/nvme_st_curr_op.2 | 2 +- doc/man/nvme_st_result.2 | 2 +- doc/man/nvme_st_valid_diag_info.2 | 2 +- doc/man/nvme_status_code.2 | 2 +- doc/man/nvme_status_code_type.2 | 2 +- doc/man/nvme_status_equals.2 | 2 +- doc/man/nvme_status_field.2 | 2 +- doc/man/nvme_status_get_type.2 | 2 +- doc/man/nvme_status_get_value.2 | 2 +- doc/man/nvme_status_result.2 | 2 +- doc/man/nvme_status_to_errno.2 | 2 +- doc/man/nvme_status_to_string.2 | 2 +- doc/man/nvme_status_type.2 | 2 +- doc/man/nvme_streams_directive_params.2 | 2 +- doc/man/nvme_streams_directive_status.2 | 2 +- doc/man/nvme_submit_admin_passthru.2 | 2 +- doc/man/nvme_submit_admin_passthru64.2 | 2 +- doc/man/nvme_submit_io_passthru.2 | 2 +- doc/man/nvme_submit_io_passthru64.2 | 2 +- doc/man/nvme_subsys_filter.2 | 2 +- doc/man/nvme_subsys_type.2 | 2 +- doc/man/nvme_subsystem_first_ctrl.2 | 2 +- doc/man/nvme_subsystem_first_ns.2 | 2 +- doc/man/nvme_subsystem_for_each_ctrl.2 | 2 +- doc/man/nvme_subsystem_for_each_ctrl_safe.2 | 2 +- doc/man/nvme_subsystem_for_each_ns.2 | 2 +- doc/man/nvme_subsystem_for_each_ns_safe.2 | 2 +- doc/man/nvme_subsystem_get_application.2 | 2 +- doc/man/nvme_subsystem_get_host.2 | 2 +- doc/man/nvme_subsystem_get_iopolicy.2 | 2 +- doc/man/nvme_subsystem_get_name.2 | 2 +- doc/man/nvme_subsystem_get_nqn.2 | 2 +- doc/man/nvme_subsystem_get_sysfs_dir.2 | 2 +- doc/man/nvme_subsystem_get_type.2 | 2 +- doc/man/nvme_subsystem_lookup_namespace.2 | 2 +- doc/man/nvme_subsystem_next_ctrl.2 | 2 +- doc/man/nvme_subsystem_next_ns.2 | 2 +- doc/man/nvme_subsystem_release_fds.2 | 2 +- doc/man/nvme_subsystem_reset.2 | 2 +- doc/man/nvme_subsystem_set_application.2 | 2 +- doc/man/nvme_supported_cap_config_list_log.2 | 2 +- doc/man/nvme_supported_log_pages.2 | 2 +- doc/man/nvme_telemetry_da.2 | 2 +- doc/man/nvme_telemetry_log.2 | 2 +- doc/man/nvme_thermal_exc_event.2 | 2 +- doc/man/nvme_time_stamp_change_event.2 | 2 +- doc/man/nvme_timestamp.2 | 2 +- doc/man/nvme_unit.2 | 30 + doc/man/nvme_unlink_ctrl.2 | 2 +- doc/man/nvme_update_config.2 | 2 +- doc/man/nvme_update_key.2 | 28 + doc/man/nvme_uring_cmd.2 | 2 +- doc/man/nvme_verify.2 | 2 +- doc/man/nvme_version.2 | 2 +- doc/man/nvme_virt_mgmt_act.2 | 2 +- doc/man/nvme_virt_mgmt_rt.2 | 2 +- doc/man/nvme_virtual_mgmt.2 | 2 +- doc/man/nvme_vs.2 | 42 + doc/man/nvme_write.2 | 2 +- doc/man/nvme_write_uncorrectable.2 | 2 +- doc/man/nvme_write_zeros.2 | 2 +- doc/man/nvme_zns_append.2 | 2 +- doc/man/nvme_zns_changed_zone_log.2 | 2 +- doc/man/nvme_zns_desc.2 | 2 +- doc/man/nvme_zns_id_ctrl.2 | 2 +- doc/man/nvme_zns_id_ns.2 | 2 +- doc/man/nvme_zns_identify_ctrl.2 | 2 +- doc/man/nvme_zns_identify_ns.2 | 2 +- doc/man/nvme_zns_lbafe.2 | 2 +- doc/man/nvme_zns_mgmt_recv.2 | 2 +- doc/man/nvme_zns_mgmt_send.2 | 2 +- doc/man/nvme_zns_recv_action.2 | 2 +- doc/man/nvme_zns_report_options.2 | 2 +- doc/man/nvme_zns_report_zones.2 | 2 +- doc/man/nvme_zns_send_action.2 | 2 +- doc/man/nvme_zns_za.2 | 2 +- doc/man/nvme_zns_zs.2 | 2 +- doc/man/nvme_zns_zt.2 | 2 +- doc/man/nvme_zone_report.2 | 2 +- doc/man/nvmf_add_ctrl.2 | 2 +- doc/man/nvmf_addr_family.2 | 2 +- doc/man/nvmf_adrfam_str.2 | 2 +- doc/man/nvmf_cms_str.2 | 2 +- doc/man/nvmf_connect_data.2 | 2 +- doc/man/nvmf_connect_disc_entry.2 | 2 +- doc/man/nvmf_default_config.2 | 2 +- doc/man/nvmf_dim_data.2 | 2 +- doc/man/nvmf_dim_entfmt.2 | 2 +- doc/man/nvmf_dim_etype.2 | 2 +- doc/man/nvmf_dim_tas.2 | 2 +- doc/man/nvmf_disc_eflags.2 | 2 +- doc/man/nvmf_disc_log_entry.2 | 2 +- doc/man/nvmf_discovery_log.2 | 2 +- doc/man/nvmf_eflags_str.2 | 2 +- doc/man/nvmf_exat_len.2 | 2 +- doc/man/nvmf_exattype.2 | 2 +- doc/man/nvmf_ext_attr.2 | 2 +- doc/man/nvmf_ext_die.2 | 2 +- doc/man/nvmf_get_discovery_log.2 | 2 +- doc/man/nvmf_get_discovery_wargs.2 | 2 +- doc/man/nvmf_hostid_from_file.2 | 2 +- doc/man/nvmf_hostnqn_from_file.2 | 2 +- doc/man/nvmf_hostnqn_generate.2 | 2 +- doc/man/nvmf_log_discovery_lid_support.2 | 2 +- doc/man/nvmf_log_discovery_lsp.2 | 2 +- doc/man/nvmf_prtype_str.2 | 2 +- doc/man/nvmf_qptype_str.2 | 2 +- doc/man/nvmf_rdma_cms.2 | 2 +- doc/man/nvmf_rdma_prtype.2 | 2 +- doc/man/nvmf_rdma_qptype.2 | 2 +- doc/man/nvmf_register_ctrl.2 | 2 +- doc/man/nvmf_sectype_str.2 | 2 +- doc/man/nvmf_subtype_str.2 | 2 +- doc/man/nvmf_tcp_sectype.2 | 2 +- doc/man/nvmf_treq.2 | 2 +- doc/man/nvmf_treq_str.2 | 2 +- doc/man/nvmf_trtype.2 | 2 +- doc/man/nvmf_trtype_str.2 | 2 +- doc/man/nvmf_update_config.2 | 2 +- doc/rst/fabrics.rst | 4 +- doc/rst/ioctl.rst | 52 +- doc/rst/linux.rst | 229 ++++ doc/rst/log.rst | 59 + doc/rst/nbft.rst | 19 + doc/rst/tree.rst | 14 + doc/rst/types.rst | 1195 +++++++++++++++++++- examples/mi-mctp.c | 4 +- meson.build | 4 +- src/libnvme.map | 13 + src/meson.build | 4 +- src/nvme/crc32.c | 111 ++ src/nvme/crc32.h | 9 + src/nvme/fabrics.c | 39 +- src/nvme/fabrics.h | 4 +- src/nvme/filters.c | 62 +- src/nvme/ioctl.c | 185 +-- src/nvme/ioctl.h | 156 ++- src/nvme/json.c | 95 +- src/nvme/linux.c | 275 ++++- src/nvme/linux.h | 130 +++ src/nvme/log.c | 25 + src/nvme/log.h | 31 + src/nvme/nbft.c | 6 + src/nvme/nbft.h | 110 +- src/nvme/private.h | 15 +- src/nvme/sysfs.c | 86 ++ src/nvme/tree.c | 71 +- src/nvme/tree.h | 8 + src/nvme/types.h | 623 +++++++++- src/nvme/util.c | 16 + src/nvme/util.h | 4 +- ...BFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery | 312 +++++ .../diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single | 4 + test/nbft/diffs/NBFT-Dell.PowerEdge.R760 | 4 + test/nbft/diffs/NBFT-auto-ipv6 | 2 + test/nbft/diffs/NBFT-dhcp-ipv4 | 2 + test/nbft/diffs/NBFT-dhcp-ipv6 | 2 + test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half | 141 +++ test/nbft/diffs/NBFT-rhpoc | 2 + test/nbft/diffs/NBFT-static-ipv4 | 2 + test/nbft/diffs/NBFT-static-ipv4-discovery | 2 + test/nbft/diffs/NBFT-static-ipv6 | 2 + test/nbft/meson.build | 4 +- test/nbft/nbft-dump.c | 2 + ...BFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery | Bin 0 -> 4147 bytes test/nbft/tables/NBFT-mpath+disc-ipv4+6_half | Bin 0 -> 1922 bytes test/register.c | 8 +- test/sysfs/meson.build | 45 +- test/sysfs/setup.sh | 11 - test/sysfs/sysfs-tree-diff.sh | 22 + test/sysfs/sysfs.c | 77 +- test/test-util.c | 58 + 928 files changed, 6739 insertions(+), 1430 deletions(-) create mode 100644 doc/man/nvme_acq.2 create mode 100644 doc/man/nvme_aqa.2 create mode 100644 doc/man/nvme_asq.2 create mode 100644 doc/man/nvme_boot_partition_info.2 create mode 100644 doc/man/nvme_bpinfo.2 create mode 100644 doc/man/nvme_bpmbl.2 create mode 100644 doc/man/nvme_bprsel.2 create mode 100644 doc/man/nvme_cap.2 create mode 100644 doc/man/nvme_cc.2 create mode 100644 doc/man/nvme_cmbebs.2 create mode 100644 doc/man/nvme_cmbloc.2 create mode 100644 doc/man/nvme_cmbmsc.2 create mode 100644 doc/man/nvme_cmbsts.2 create mode 100644 doc/man/nvme_cmbswtp.2 create mode 100644 doc/man/nvme_cmbsz.2 create mode 100644 doc/man/nvme_cmic.2 create mode 100644 doc/man/nvme_crto.2 create mode 100644 doc/man/nvme_csts.2 create mode 100644 doc/man/nvme_eom_optional_data_present.2 create mode 100644 doc/man/nvme_export_tls_key.2 create mode 100644 doc/man/nvme_flbas.2 create mode 100644 doc/man/nvme_get_logging_level.2 create mode 100644 doc/man/nvme_import_tls_key.2 create mode 100644 doc/man/nvme_ns_mgmt_delete_timeout.2 create mode 100644 doc/man/nvme_pel_ehai.2 create mode 100644 doc/man/nvme_pel_ehai_pit.2 create mode 100644 doc/man/nvme_pel_rci.2 create mode 100644 doc/man/nvme_pel_rci_rcpit.2 create mode 100644 doc/man/nvme_pmrcap.2 create mode 100644 doc/man/nvme_pmrctl.2 create mode 100644 doc/man/nvme_pmrebs.2 create mode 100644 doc/man/nvme_pmrmsc.2 create mode 100644 doc/man/nvme_pmrsts.2 create mode 100644 doc/man/nvme_pmrswtp.2 create mode 100644 doc/man/nvme_read_key.2 create mode 100644 doc/man/nvme_scan_tls_keys.2 create mode 100644 doc/man/nvme_set_feat_event_layout.2 create mode 100644 doc/man/nvme_unit.2 create mode 100644 doc/man/nvme_update_key.2 create mode 100644 doc/man/nvme_vs.2 create mode 100644 src/nvme/crc32.c create mode 100644 src/nvme/crc32.h create mode 100644 src/nvme/sysfs.c create mode 100644 test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery create mode 100644 test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half create mode 100644 test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery create mode 100644 test/nbft/tables/NBFT-mpath+disc-ipv4+6_half delete mode 100755 test/sysfs/setup.sh create mode 100644 test/sysfs/sysfs-tree-diff.sh diff --git a/.gitignore b/.gitignore index 89e032e..bfd45bd 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ compile_commands.json .build .cache +.vscode/ subprojects/* !subprojects/*.wrap diff --git a/doc/api.rst.in b/doc/api.rst.in index 3478766..57188f6 100644 --- a/doc/api.rst.in +++ b/doc/api.rst.in @@ -16,3 +16,4 @@ functions. .. include:: rst/filters.rst .. include:: rst/util.rst .. include:: rst/log.rst +.. include:: rst/nbft.rst diff --git a/doc/conf.py b/doc/conf.py index b9d25e5..2c73f1c 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -12,7 +12,7 @@ copyright = '2020, Keith Busch' author = 'Keith Busch ' master_doc = 'index' -release = '1.8' +release = '1.9' # -- General configuration --------------------------------------------------- diff --git a/doc/config-schema.json b/doc/config-schema.json index 6d9e36a..cb0769f 100644 --- a/doc/config-schema.json +++ b/doc/config-schema.json @@ -98,6 +98,14 @@ "description": "Controller DH-HMAC-CHAP key", "type": "string" }, + "keyring": { + "description": "Keyring for TLS key lookup", + "type": "string" + }, + "tls_key": { + "description": "TLS key for the connection", + "type": "string" + }, "nr_io_queues": { "description": "Number of I/O queues", "type": "integer" @@ -156,14 +164,6 @@ "type": "boolean", "default": false }, - "keyring": { - "description": "Keyring for TLS key lookup", - "type": "integer" - }, - "tls_key": { - "description": "TLS key for the connection", - "type": "integer" - }, "tls": { "description": "Enable TLS encryption", "type": "boolean", diff --git a/doc/config-schema.json.in b/doc/config-schema.json.in index 6d9e36a..cb0769f 100644 --- a/doc/config-schema.json.in +++ b/doc/config-schema.json.in @@ -98,6 +98,14 @@ "description": "Controller DH-HMAC-CHAP key", "type": "string" }, + "keyring": { + "description": "Keyring for TLS key lookup", + "type": "string" + }, + "tls_key": { + "description": "TLS key for the connection", + "type": "string" + }, "nr_io_queues": { "description": "Number of I/O queues", "type": "integer" @@ -156,14 +164,6 @@ "type": "boolean", "default": false }, - "keyring": { - "description": "Keyring for TLS key lookup", - "type": "integer" - }, - "tls_key": { - "description": "TLS key for the connection", - "type": "integer" - }, "tls": { "description": "Enable TLS encryption", "type": "boolean", diff --git a/doc/man/nbft_control.2 b/doc/man/nbft_control.2 index 6eee036..94005dd 100644 --- a/doc/man/nbft_control.2 +++ b/doc/man/nbft_control.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_control" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_control" "May 2024" "API Manual" LINUX .SH NAME struct nbft_control \- NBFT Table - Control Descriptor (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_control_flags.2 b/doc/man/nbft_control_flags.2 index e2343d2..c6e529c 100644 --- a/doc/man/nbft_control_flags.2 +++ b/doc/man/nbft_control_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_control_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_control_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_control_flags \- Control Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_desc_type.2 b/doc/man/nbft_desc_type.2 index 890ab33..d7ec7b8 100644 --- a/doc/man/nbft_desc_type.2 +++ b/doc/man/nbft_desc_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_desc_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_desc_type" "May 2024" "API Manual" LINUX .SH NAME enum nbft_desc_type \- NBFT Elements - Descriptor Types (Figure 5) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery.2 b/doc/man/nbft_discovery.2 index c3de0e9..7a3fe02 100644 --- a/doc/man/nbft_discovery.2 +++ b/doc/man/nbft_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_discovery" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_discovery" "May 2024" "API Manual" LINUX .SH NAME struct nbft_discovery \- Discovery Descriptor (Figure 24) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery_flags.2 b/doc/man/nbft_discovery_flags.2 index 232490b..9a68153 100644 --- a/doc/man/nbft_discovery_flags.2 +++ b/doc/man/nbft_discovery_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_discovery_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_discovery_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_discovery_flags \- Discovery Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_header.2 b/doc/man/nbft_header.2 index ff59e3d..b31289f 100644 --- a/doc/man/nbft_header.2 +++ b/doc/man/nbft_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_header" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_header" "May 2024" "API Manual" LINUX .SH NAME struct nbft_header \- NBFT Table - Header (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_heap_obj.2 b/doc/man/nbft_heap_obj.2 index a7c7fab..021168c 100644 --- a/doc/man/nbft_heap_obj.2 +++ b/doc/man/nbft_heap_obj.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_heap_obj" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_heap_obj" "May 2024" "API Manual" LINUX .SH NAME struct nbft_heap_obj \- NBFT Header Driver Signature .SH SYNOPSIS diff --git a/doc/man/nbft_hfi.2 b/doc/man/nbft_hfi.2 index 1caf368..6a3b6c8 100644 --- a/doc/man/nbft_hfi.2 +++ b/doc/man/nbft_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi" "May 2024" "API Manual" LINUX .SH NAME struct nbft_hfi \- Host Fabric Interface (HFI) Descriptor (Figure 11) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_flags.2 b/doc/man/nbft_hfi_flags.2 index 558c767..1854283 100644 --- a/doc/man/nbft_hfi_flags.2 +++ b/doc/man/nbft_hfi_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_flags \- HFI Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp.2 b/doc/man/nbft_hfi_info_tcp.2 index 53436df..d082ff6 100644 --- a/doc/man/nbft_hfi_info_tcp.2 +++ b/doc/man/nbft_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "May 2024" "API Manual" LINUX .SH NAME struct nbft_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP (Figure 13) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp_flags.2 b/doc/man/nbft_hfi_info_tcp_flags.2 index c8efaef..13bdcdb 100644 --- a/doc/man/nbft_hfi_info_tcp_flags.2 +++ b/doc/man/nbft_hfi_info_tcp_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_info_tcp_flags \- HFI Transport Flags .SH SYNOPSIS diff --git a/doc/man/nbft_host.2 b/doc/man/nbft_host.2 index 27c77bd..c7dfc57 100644 --- a/doc/man/nbft_host.2 +++ b/doc/man/nbft_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_host" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_host" "May 2024" "API Manual" LINUX .SH NAME struct nbft_host \- Host Descriptor (Figure 9) .SH SYNOPSIS diff --git a/doc/man/nbft_host_flags.2 b/doc/man/nbft_host_flags.2 index 1443059..ba613ac 100644 --- a/doc/man/nbft_host_flags.2 +++ b/doc/man/nbft_host_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_host_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_host_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_host_flags \- Host Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info.2 b/doc/man/nbft_info.2 index 565b9cf..9d598ab 100644 --- a/doc/man/nbft_info.2 +++ b/doc/man/nbft_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info \- The parsed NBFT table data. .SH SYNOPSIS diff --git a/doc/man/nbft_info_discovery.2 b/doc/man/nbft_info_discovery.2 index d4555e7..dfb0a70 100644 --- a/doc/man/nbft_info_discovery.2 +++ b/doc/man/nbft_info_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_discovery" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_discovery" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_discovery \- Discovery Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi.2 b/doc/man/nbft_info_hfi.2 index 7566e2b..435f665 100644 --- a/doc/man/nbft_info_hfi.2 +++ b/doc/man/nbft_info_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi \- Host Fabric Interface (HFI) Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi_info_tcp.2 b/doc/man/nbft_info_hfi_info_tcp.2 index 52e3077..46deceb 100644 --- a/doc/man/nbft_info_hfi_info_tcp.2 +++ b/doc/man/nbft_info_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP .SH SYNOPSIS diff --git a/doc/man/nbft_info_host.2 b/doc/man/nbft_info_host.2 index 4afc90b..c8f7738 100644 --- a/doc/man/nbft_info_host.2 +++ b/doc/man/nbft_info_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_host" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_host" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_host \- Host Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_nid_type.2 b/doc/man/nbft_info_nid_type.2 index 74599ad..a730c47 100644 --- a/doc/man/nbft_info_nid_type.2 +++ b/doc/man/nbft_info_nid_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_nid_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_nid_type" "May 2024" "API Manual" LINUX .SH NAME enum nbft_info_nid_type \- Namespace Identifier Type (NIDT) .SH SYNOPSIS diff --git a/doc/man/nbft_info_primary_admin_host_flag.2 b/doc/man/nbft_info_primary_admin_host_flag.2 index a1c6db3..b49c9d8 100644 --- a/doc/man/nbft_info_primary_admin_host_flag.2 +++ b/doc/man/nbft_info_primary_admin_host_flag.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "May 2024" "API Manual" LINUX .SH NAME enum nbft_info_primary_admin_host_flag \- Primary Administrative Host Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info_security.2 b/doc/man/nbft_info_security.2 index 915aeb7..2936634 100644 --- a/doc/man/nbft_info_security.2 +++ b/doc/man/nbft_info_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_security" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_security" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_security \- Security Profile Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_subsystem_ns.2 b/doc/man/nbft_info_subsystem_ns.2 index ba11740..746afe7 100644 --- a/doc/man/nbft_info_subsystem_ns.2 +++ b/doc/man/nbft_info_subsystem_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "May 2024" "API Manual" LINUX .SH NAME struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info .SH SYNOPSIS @@ -40,6 +40,10 @@ struct nbft_info_subsystem_ns { .br .BI " char *dhcp_root_path_string;" .br +.BI " bool discovered;" +.br +.BI " bool unavailable;" +.br .BI " }; .br @@ -92,3 +96,9 @@ Descriptor) or 0 if not supported. .IP "dhcp_root_path_string" 12 DHCP Root Path Override string (SSNS Extended Information Descriptor). +.IP "discovered" 12 +Indicates that this namespace was acquired +through discovery. +.IP "unavailable" 12 +Namespace is unavailable as indicated by +the pre-OS driver. diff --git a/doc/man/nbft_security.2 b/doc/man/nbft_security.2 index c8060b0..d29e07a 100644 --- a/doc/man/nbft_security.2 +++ b/doc/man/nbft_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_security" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_security" "May 2024" "API Manual" LINUX .SH NAME struct nbft_security \- Security Profile Descriptor (Figure 21) .SH SYNOPSIS diff --git a/doc/man/nbft_security_flags.2 b/doc/man/nbft_security_flags.2 index 8047a8b..cb9e4dc 100644 --- a/doc/man/nbft_security_flags.2 +++ b/doc/man/nbft_security_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_security_flags \- Security Profile Descriptor Flags (Figure 22) .SH SYNOPSIS diff --git a/doc/man/nbft_security_secret_type.2 b/doc/man/nbft_security_secret_type.2 index e7ecaaa..0c1b455 100644 --- a/doc/man/nbft_security_secret_type.2 +++ b/doc/man/nbft_security_secret_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_secret_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_secret_type" "May 2024" "API Manual" LINUX .SH NAME enum nbft_security_secret_type \- Security Profile Descriptor Secret Type .SH SYNOPSIS diff --git a/doc/man/nbft_ssns.2 b/doc/man/nbft_ssns.2 index f2982c7..30c7a81 100644 --- a/doc/man/nbft_ssns.2 +++ b/doc/man/nbft_ssns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns" "May 2024" "API Manual" LINUX .SH NAME struct nbft_ssns \- Subsystem Namespace (SSNS) Descriptor (Figure 15) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info.2 b/doc/man/nbft_ssns_ext_info.2 index 465f4d7..f070931 100644 --- a/doc/man/nbft_ssns_ext_info.2 +++ b/doc/man/nbft_ssns_ext_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns_ext_info" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns_ext_info" "May 2024" "API Manual" LINUX .SH NAME struct nbft_ssns_ext_info \- Subsystem and Namespace Extended Information Descriptor (Figure 19) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info_flags.2 b/doc/man/nbft_ssns_ext_info_flags.2 index 00932f4..7428a73 100644 --- a/doc/man/nbft_ssns_ext_info_flags.2 +++ b/doc/man/nbft_ssns_ext_info_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_ext_info_flags \- Subsystem and Namespace Extended Information Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_flags.2 b/doc/man/nbft_ssns_flags.2 index b421e46..93a4bea 100644 --- a/doc/man/nbft_ssns_flags.2 +++ b/doc/man/nbft_ssns_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_flags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_flags \- Subsystem and Namespace Specific Flags Field (Figure 16) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_trflags.2 b/doc/man/nbft_ssns_trflags.2 index 2c177b8..3fed3fb 100644 --- a/doc/man/nbft_ssns_trflags.2 +++ b/doc/man/nbft_ssns_trflags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_trflags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_trflags" "May 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_trflags \- SSNS Transport Specific Flags Field (Figure 17) .SH SYNOPSIS diff --git a/doc/man/nbft_trtype.2 b/doc/man/nbft_trtype.2 index 8d3b7ea..50a8e07 100644 --- a/doc/man/nbft_trtype.2 +++ b/doc/man/nbft_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_trtype" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_trtype" "May 2024" "API Manual" LINUX .SH NAME enum nbft_trtype \- NBFT Interface Transport Types (Figure 7) .SH SYNOPSIS diff --git a/doc/man/nvme_acq.2 b/doc/man/nvme_acq.2 new file mode 100644 index 0000000..c182177 --- /dev/null +++ b/doc/man/nvme_acq.2 @@ -0,0 +1,12 @@ +.TH "libnvme" 9 "enum nvme_acq" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_acq \- This field indicates the admin completion queue base address +.SH SYNOPSIS +enum nvme_acq { +.br +.BI " NVME_ACQ_ACQB_SHIFT" + +}; +.SH Constants +.IP "NVME_ACQ_ACQB_SHIFT" 12 +Shift amount to get the admin completion queue base diff --git a/doc/man/nvme_admin_opcode.2 b/doc/man/nvme_admin_opcode.2 index 5ddc3be..20447d6 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_admin_opcode" "May 2024" "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 817fd74..a8353aa 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "May 2024" "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 index f003d78..8b66887 100644 --- a/doc/man/nvme_admin_passthru64.2 +++ b/doc/man/nvme_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "February 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_css_nvm.2 b/doc/man/nvme_ae_info_css_nvm.2 index 76f2ecf..25f4e7b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "May 2024" "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 57c40fa..e6fc0d8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_error" "May 2024" "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 e52cd26..ea369af 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_notice" "May 2024" "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 c7c9b1f..9557fe5 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_smart" "May 2024" "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 23c5b23..e242054 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_type" "May 2024" "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 7400320..ebc374b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "May 2024" "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 95174aa..e58657f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "May 2024" "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 d479fee..5b25005 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_group_desc" "May 2024" "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 4ceb9ac..f2e93f3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_log" "May 2024" "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 c3c8909..a71ee79 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ana_state" "May 2024" "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 73485cd..233327c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_apst_entry" "May 2024" "API Manual" LINUX .SH NAME enum nvme_apst_entry \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_aqa.2 b/doc/man/nvme_aqa.2 new file mode 100644 index 0000000..e03719c --- /dev/null +++ b/doc/man/nvme_aqa.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_aqa" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_aqa \- This field indicates the admin queue attributes +.SH SYNOPSIS +enum nvme_aqa { +.br +.BI " NVME_AQA_ASQS_SHIFT" +, +.br +.br +.BI " NVME_AQA_ACQS_SHIFT" +, +.br +.br +.BI " NVME_AQA_ASQS_MASK" +, +.br +.br +.BI " NVME_AQA_ACQS_MASK" + +}; +.SH Constants +.IP "NVME_AQA_ASQS_SHIFT" 12 +Shift amount to get the admin submission queue size +.IP "NVME_AQA_ACQS_SHIFT" 12 +Shift amount to get the admin completion queue size +.IP "NVME_AQA_ASQS_MASK" 12 +Mask to get the admin submission queue size +.IP "NVME_AQA_ACQS_MASK" 12 +Mask to get the admin completion queue size diff --git a/doc/man/nvme_asq.2 b/doc/man/nvme_asq.2 new file mode 100644 index 0000000..5e5d188 --- /dev/null +++ b/doc/man/nvme_asq.2 @@ -0,0 +1,12 @@ +.TH "libnvme" 9 "enum nvme_asq" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_asq \- This field indicates the admin submission queue base address +.SH SYNOPSIS +enum nvme_asq { +.br +.BI " NVME_ASQ_ASQB_SHIFT" + +}; +.SH Constants +.IP "NVME_ASQ_ASQB_SHIFT" 12 +Shift amount to get the admin submission queue base diff --git a/doc/man/nvme_boot_partition.2 b/doc/man/nvme_boot_partition.2 index 6187f5e..0b4b586 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_boot_partition" "May 2024" "API Manual" LINUX .SH NAME struct nvme_boot_partition \- Boot Partition Log .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition_info.2 b/doc/man/nvme_boot_partition_info.2 new file mode 100644 index 0000000..84b11cd --- /dev/null +++ b/doc/man/nvme_boot_partition_info.2 @@ -0,0 +1,34 @@ +.TH "libnvme" 9 "enum nvme_boot_partition_info" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_boot_partition_info \- This field indicates the boot partition information +.SH SYNOPSIS +enum nvme_boot_partition_info { +.br +.BI " NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT" +, +.br +.br +.BI " NVME_BOOT_PARTITION_INFO_ABPID_SHIFT" +, +.br +.br +.BI " NVME_BOOT_PARTITION_INFO_BPSZ_MASK" +, +.br +.br +.BI " NVME_BOOT_PARTITION_INFO_ABPID_MASK" + +}; +.SH Constants +.IP "NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT" 12 +Shift amount to get the boot partition size from +the \fIstruct nvme_boot_partition\fP.bpinfo field. +.IP "NVME_BOOT_PARTITION_INFO_ABPID_SHIFT" 12 +Shift amount to get the active boot partition ID +from the \fIstruct nvme_boot_partition\fP.bpinfo field. +.IP "NVME_BOOT_PARTITION_INFO_BPSZ_MASK" 12 +Mask to get the boot partition size from the +\fIstruct nvme_boot_partition\fP.bpinfo field. +.IP "NVME_BOOT_PARTITION_INFO_ABPID_MASK" 12 +Mask to get the active boot partition ID from the +\fIstruct nvme_boot_partition\fP.bpinfo field. diff --git a/doc/man/nvme_bpinfo.2 b/doc/man/nvme_bpinfo.2 new file mode 100644 index 0000000..be667c0 --- /dev/null +++ b/doc/man/nvme_bpinfo.2 @@ -0,0 +1,66 @@ +.TH "libnvme" 9 "enum nvme_bpinfo" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_bpinfo \- This field indicates the boot partition information +.SH SYNOPSIS +enum nvme_bpinfo { +.br +.BI " NVME_BPINFO_BPSZ_SHIFT" +, +.br +.br +.BI " NVME_BPINFO_BRS_SHIFT" +, +.br +.br +.BI " NVME_BPINFO_ABPID_SHIFT" +, +.br +.br +.BI " NVME_BPINFO_BPSZ_MASK" +, +.br +.br +.BI " NVME_BPINFO_BRS_MASK" +, +.br +.br +.BI " NVME_BPINFO_ABPID_MASK" +, +.br +.br +.BI " NVME_BPINFO_BRS_NONE" +, +.br +.br +.BI " NVME_BPINFO_BRS_READ_IN_PROGRESS" +, +.br +.br +.BI " NVME_BPINFO_BRS_READ_SUCCESS" +, +.br +.br +.BI " NVME_BPINFO_BRS_READ_ERROR" + +}; +.SH Constants +.IP "NVME_BPINFO_BPSZ_SHIFT" 12 +Shift amount to get the boot partition size +.IP "NVME_BPINFO_BRS_SHIFT" 12 +Shift amount to get the boot read status +.IP "NVME_BPINFO_ABPID_SHIFT" 12 +Shift amount to get the active boot partition ID +.IP "NVME_BPINFO_BPSZ_MASK" 12 +Mask to get the boot partition size +.IP "NVME_BPINFO_BRS_MASK" 12 +Mask to get the boot read status +.IP "NVME_BPINFO_ABPID_MASK" 12 +Mask to get the active boot partition ID +.IP "NVME_BPINFO_BRS_NONE" 12 +No boot partition read operation requested +.IP "NVME_BPINFO_BRS_READ_IN_PROGRESS" 12 +Boot partition read in progress +.IP "NVME_BPINFO_BRS_READ_SUCCESS" 12 +Boot partition read completed successfully +.IP "NVME_BPINFO_BRS_READ_ERROR" 12 +Error completing boot partition read diff --git a/doc/man/nvme_bpmbl.2 b/doc/man/nvme_bpmbl.2 new file mode 100644 index 0000000..1391c3f --- /dev/null +++ b/doc/man/nvme_bpmbl.2 @@ -0,0 +1,12 @@ +.TH "libnvme" 9 "enum nvme_bpmbl" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_bpmbl \- This field indicates the boot partition memory buffer location +.SH SYNOPSIS +enum nvme_bpmbl { +.br +.BI " NVME_BPMBL_BMBBA_SHIFT" + +}; +.SH Constants +.IP "NVME_BPMBL_BMBBA_SHIFT" 12 +Shift amount to get the boot partition memory buffer base address diff --git a/doc/man/nvme_bprsel.2 b/doc/man/nvme_bprsel.2 new file mode 100644 index 0000000..31d2512 --- /dev/null +++ b/doc/man/nvme_bprsel.2 @@ -0,0 +1,42 @@ +.TH "libnvme" 9 "enum nvme_bprsel" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_bprsel \- This field indicates the boot partition read select +.SH SYNOPSIS +enum nvme_bprsel { +.br +.BI " NVME_BPRSEL_BPRSZ_SHIFT" +, +.br +.br +.BI " NVME_BPRSEL_BPROF_SHIFT" +, +.br +.br +.BI " NVME_BPRSEL_BPID_SHIFT" +, +.br +.br +.BI " NVME_BPRSEL_BPRSZ_MASK" +, +.br +.br +.BI " NVME_BPRSEL_BPROF_MASK" +, +.br +.br +.BI " NVME_BPRSEL_BPID_MASK" + +}; +.SH Constants +.IP "NVME_BPRSEL_BPRSZ_SHIFT" 12 +Shift amount to get the boot partition read size +.IP "NVME_BPRSEL_BPROF_SHIFT" 12 +Shift amount to get the boot partition read offset +.IP "NVME_BPRSEL_BPID_SHIFT" 12 +Shift amount to get the boot partition identifier +.IP "NVME_BPRSEL_BPRSZ_MASK" 12 +Mask to get the boot partition read size +.IP "NVME_BPRSEL_BPROF_MASK" 12 +Mask to get the boot partition read offset +.IP "NVME_BPRSEL_BPID_MASK" 12 +Mask to get the boot partition identifier diff --git a/doc/man/nvme_cap.2 b/doc/man/nvme_cap.2 new file mode 100644 index 0000000..403901a --- /dev/null +++ b/doc/man/nvme_cap.2 @@ -0,0 +1,252 @@ +.TH "libnvme" 9 "enum nvme_cap" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cap \- This field indicates the controller capabilities register +.SH SYNOPSIS +enum nvme_cap { +.br +.BI " NVME_CAP_MQES_SHIFT" +, +.br +.br +.BI " NVME_CAP_CQR_SHIFT" +, +.br +.br +.BI " NVME_CAP_AMS_SHIFT" +, +.br +.br +.BI " NVME_CAP_TO_SHIFT" +, +.br +.br +.BI " NVME_CAP_DSTRD_SHIFT" +, +.br +.br +.BI " NVME_CAP_NSSRC_SHIFT" +, +.br +.br +.BI " NVME_CAP_CSS_SHIFT" +, +.br +.br +.BI " NVME_CAP_BPS_SHIFT" +, +.br +.br +.BI " NVME_CAP_CPS_SHIFT" +, +.br +.br +.BI " NVME_CAP_MPSMIN_SHIFT" +, +.br +.br +.BI " NVME_CAP_MPSMAX_SHIFT" +, +.br +.br +.BI " NVME_CAP_PMRS_SHIFT" +, +.br +.br +.BI " NVME_CAP_CMBS_SHIFT" +, +.br +.br +.BI " NVME_CAP_NSSS_SHIFT" +, +.br +.br +.BI " NVME_CAP_CRMS_SHIFT" +, +.br +.br +.BI " NVME_CAP_MQES_MASK" +, +.br +.br +.BI " NVME_CAP_CQR_MASK" +, +.br +.br +.BI " NVME_CAP_AMS_MASK" +, +.br +.br +.BI " NVME_CAP_TO_MASK" +, +.br +.br +.BI " NVME_CAP_DSTRD_MASK" +, +.br +.br +.BI " NVME_CAP_NSSRC_MASK" +, +.br +.br +.BI " NVME_CAP_CSS_MASK" +, +.br +.br +.BI " NVME_CAP_BPS_MASK" +, +.br +.br +.BI " NVME_CAP_CPS_MASK" +, +.br +.br +.BI " NVME_CAP_MPSMIN_MASK" +, +.br +.br +.BI " NVME_CAP_MPSMAX_MASK" +, +.br +.br +.BI " NVME_CAP_PMRS_MASK" +, +.br +.br +.BI " NVME_CAP_CMBS_MASK" +, +.br +.br +.BI " NVME_CAP_NSSS_MASK" +, +.br +.br +.BI " NVME_CAP_CRMS_MASK" +, +.br +.br +.BI " NVME_CAP_AMS_WRR" +, +.br +.br +.BI " NVME_CAP_AMS_VS" +, +.br +.br +.BI " NVME_CAP_CSS_NVM" +, +.br +.br +.BI " NVME_CAP_CSS_CSI" +, +.br +.br +.BI " NVME_CAP_CSS_ADMIN" +, +.br +.br +.BI " NVME_CAP_CPS_NONE" +, +.br +.br +.BI " NVME_CAP_CPS_CTRL" +, +.br +.br +.BI " NVME_CAP_CPS_DOMAIN" +, +.br +.br +.BI " NVME_CAP_CPS_NVMS" +, +.br +.br +.BI " NVME_CAP_CRWMS" +, +.br +.br +.BI " NVME_CAP_CRIMS" + +}; +.SH Constants +.IP "NVME_CAP_MQES_SHIFT" 12 +Shift amount to get the maximum queue entries supported +.IP "NVME_CAP_CQR_SHIFT" 12 +Shift amount to get the contiguous queues required +.IP "NVME_CAP_AMS_SHIFT" 12 +Shift amount to get the arbitration mechanism supported +.IP "NVME_CAP_TO_SHIFT" 12 +Shift amount to get the timeout +.IP "NVME_CAP_DSTRD_SHIFT" 12 +Shift amount to get the doorbell stride +.IP "NVME_CAP_NSSRC_SHIFT" 12 +Shift amount to get the NVM subsystem reset supported +.IP "NVME_CAP_CSS_SHIFT" 12 +Shift amount to get the command sets supported +.IP "NVME_CAP_BPS_SHIFT" 12 +Shift amount to get the boot partition support +.IP "NVME_CAP_CPS_SHIFT" 12 +Shift amount to get the controller power scope +.IP "NVME_CAP_MPSMIN_SHIFT" 12 +Shift amount to get the memory page size minimum +.IP "NVME_CAP_MPSMAX_SHIFT" 12 +Shift amount to get the memory page size maximum +.IP "NVME_CAP_PMRS_SHIFT" 12 +Shift amount to get the persistent memory region supported +.IP "NVME_CAP_CMBS_SHIFT" 12 +Shift amount to get the controller memory buffer supported +.IP "NVME_CAP_NSSS_SHIFT" 12 +Shift amount to get the NVM subsystem shutdown supported +.IP "NVME_CAP_CRMS_SHIFT" 12 +Shift amount to get the controller ready modes supported +.IP "NVME_CAP_MQES_MASK" 12 +Mask to get the maximum queue entries supported +.IP "NVME_CAP_CQR_MASK" 12 +Mask to get the contiguous queues required +.IP "NVME_CAP_AMS_MASK" 12 +Mask to get the arbitration mechanism supported +.IP "NVME_CAP_TO_MASK" 12 +Mask to get the timeout +.IP "NVME_CAP_DSTRD_MASK" 12 +Mask to get the doorbell stride +.IP "NVME_CAP_NSSRC_MASK" 12 +Mask to get the NVM subsystem reset supported +.IP "NVME_CAP_CSS_MASK" 12 +Mask to get the command sets supported +.IP "NVME_CAP_BPS_MASK" 12 +Mask to get the boot partition support +.IP "NVME_CAP_CPS_MASK" 12 +Mask to get the controller power scope +.IP "NVME_CAP_MPSMIN_MASK" 12 +Mask to get the memory page size minimum +.IP "NVME_CAP_MPSMAX_MASK" 12 +Mask to get the memory page size maximum +.IP "NVME_CAP_PMRS_MASK" 12 +Mask to get the persistent memory region supported +.IP "NVME_CAP_CMBS_MASK" 12 +Mask to get the controller memory buffer supported +.IP "NVME_CAP_NSSS_MASK" 12 +Mask to get the NVM subsystem shutdown supported +.IP "NVME_CAP_CRMS_MASK" 12 +Mask to get the controller ready modes supported +.IP "NVME_CAP_AMS_WRR" 12 +Weighted round robin with urgent priority class +.IP "NVME_CAP_AMS_VS" 12 +Vendor specific +.IP "NVME_CAP_CSS_NVM" 12 +NVM command set or a discovery controller +.IP "NVME_CAP_CSS_CSI" 12 +Controller supports one or more I/O command sets +.IP "NVME_CAP_CSS_ADMIN" 12 +No I/O command set is supported +.IP "NVME_CAP_CPS_NONE" 12 +Not reported +.IP "NVME_CAP_CPS_CTRL" 12 +Controller scope +.IP "NVME_CAP_CPS_DOMAIN" 12 +Domain scope +.IP "NVME_CAP_CPS_NVMS" 12 +NVM subsystem scope +.IP "NVME_CAP_CRWMS" 12 +Controller ready with media support +.IP "NVME_CAP_CRIMS" 12 +Controller ready independent of media support diff --git a/doc/man/nvme_capacity_config_desc.2 b/doc/man/nvme_capacity_config_desc.2 index 0637575..303cbc9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_capacity_config_desc" "May 2024" "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 b9300d4..789533d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_capacity_mgmt \- Capacity management command .SH SYNOPSIS diff --git a/doc/man/nvme_cc.2 b/doc/man/nvme_cc.2 new file mode 100644 index 0000000..8c4a2dd --- /dev/null +++ b/doc/man/nvme_cc.2 @@ -0,0 +1,168 @@ +.TH "libnvme" 9 "enum nvme_cc" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cc \- This field indicates the controller configuration +.SH SYNOPSIS +enum nvme_cc { +.br +.BI " NVME_CC_EN_SHIFT" +, +.br +.br +.BI " NVME_CC_CSS_SHIFT" +, +.br +.br +.BI " NVME_CC_MPS_SHIFT" +, +.br +.br +.BI " NVME_CC_AMS_SHIFT" +, +.br +.br +.BI " NVME_CC_SHN_SHIFT" +, +.br +.br +.BI " NVME_CC_IOSQES_SHIFT" +, +.br +.br +.BI " NVME_CC_IOCQES_SHIFT" +, +.br +.br +.BI " NVME_CC_CRIME_SHIFT" +, +.br +.br +.BI " NVME_CC_EN_MASK" +, +.br +.br +.BI " NVME_CC_CSS_MASK" +, +.br +.br +.BI " NVME_CC_MPS_MASK" +, +.br +.br +.BI " NVME_CC_AMS_MASK" +, +.br +.br +.BI " NVME_CC_SHN_MASK" +, +.br +.br +.BI " NVME_CC_CRIME_MASK" +, +.br +.br +.BI " NVME_CC_IOSQES_MASK" +, +.br +.br +.BI " NVME_CC_IOCQES_MASK" +, +.br +.br +.BI " NVME_CC_CSS_NVM" +, +.br +.br +.BI " NVME_CC_CSS_CSI" +, +.br +.br +.BI " NVME_CC_CSS_ADMIN" +, +.br +.br +.BI " NVME_CC_AMS_RR" +, +.br +.br +.BI " NVME_CC_AMS_WRRU" +, +.br +.br +.BI " NVME_CC_AMS_VS" +, +.br +.br +.BI " NVME_CC_SHN_NONE" +, +.br +.br +.BI " NVME_CC_SHN_NORMAL" +, +.br +.br +.BI " NVME_CC_SHN_ABRUPT" +, +.br +.br +.BI " NVME_CC_CRWME" +, +.br +.br +.BI " NVME_CC_CRIME" + +}; +.SH Constants +.IP "NVME_CC_EN_SHIFT" 12 +Shift amount to get the enable +.IP "NVME_CC_CSS_SHIFT" 12 +Shift amount to get the I/O command set selected +.IP "NVME_CC_MPS_SHIFT" 12 +Shift amount to get the memory page size +.IP "NVME_CC_AMS_SHIFT" 12 +Shift amount to get the arbitration mechanism selected +.IP "NVME_CC_SHN_SHIFT" 12 +Shift amount to get the shutdown notification +.IP "NVME_CC_IOSQES_SHIFT" 12 +Shift amount to get the I/O submission queue entry size +.IP "NVME_CC_IOCQES_SHIFT" 12 +Shift amount to get the I/O completion queue entry size +.IP "NVME_CC_CRIME_SHIFT" 12 +Shift amount to get the controller ready independent of media enable +.IP "NVME_CC_EN_MASK" 12 +Mask to get the enable +.IP "NVME_CC_CSS_MASK" 12 +Mask to get the I/O command set selected +.IP "NVME_CC_MPS_MASK" 12 +Mask to get the memory page size +.IP "NVME_CC_AMS_MASK" 12 +Mask to get the arbitration mechanism selected +.IP "NVME_CC_SHN_MASK" 12 +Mask to get the shutdown notification +.IP "NVME_CC_CRIME_MASK" 12 +Mask to get the I/O submission queue entry size +.IP "NVME_CC_IOSQES_MASK" 12 +Mask to get the I/O completion queue entry size +.IP "NVME_CC_IOCQES_MASK" 12 +Mask to get the controller ready independent of media enable +.IP "NVME_CC_CSS_NVM" 12 +NVM command set +.IP "NVME_CC_CSS_CSI" 12 +All supported I/O command sets +.IP "NVME_CC_CSS_ADMIN" 12 +Admin command set only +.IP "NVME_CC_AMS_RR" 12 +Round robin +.IP "NVME_CC_AMS_WRRU" 12 +Weighted round robin with urgent priority class +.IP "NVME_CC_AMS_VS" 12 +Vendor specific +.IP "NVME_CC_SHN_NONE" 12 +No notification; no effect +.IP "NVME_CC_SHN_NORMAL" 12 +Normal shutdown notification +.IP "NVME_CC_SHN_ABRUPT" 12 +Abrupt shutdown notification +.IP "NVME_CC_CRWME" 12 +Controller ready with media enable +.IP "NVME_CC_CRIME" 12 +Controller ready independent of media enable diff --git a/doc/man/nvme_change_ns_event.2 b/doc/man/nvme_change_ns_event.2 index b0ca401..515b2de 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_change_ns_event" "May 2024" "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 e52dd76..1d81f4d 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_channel_config_desc" "May 2024" "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 7de9c04..5d50190 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_cmb_size" 9 "nvme_cmb_size" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_cmb_size \- Calculate size of the controller memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_cmbebs.2 b/doc/man/nvme_cmbebs.2 new file mode 100644 index 0000000..58abb0b --- /dev/null +++ b/doc/man/nvme_cmbebs.2 @@ -0,0 +1,66 @@ +.TH "libnvme" 9 "enum nvme_cmbebs" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbebs \- This field indicates the controller memory buffer elasticity buffer size +.SH SYNOPSIS +enum nvme_cmbebs { +.br +.BI " NVME_CMBEBS_CMBSZU_SHIFT" +, +.br +.br +.BI " NVME_CMBEBS_RBB_SHIFT" +, +.br +.br +.BI " NVME_CMBEBS_CMBWBZ_SHIFT" +, +.br +.br +.BI " NVME_CMBEBS_CMBSZU_MASK" +, +.br +.br +.BI " NVME_CMBEBS_RBB_MASK" +, +.br +.br +.BI " NVME_CMBEBS_CMBWBZ_MASK" +, +.br +.br +.BI " NVME_CMBEBS_CMBSZU_B" +, +.br +.br +.BI " NVME_CMBEBS_CMBSZU_1K" +, +.br +.br +.BI " NVME_CMBEBS_CMBSZU_1M" +, +.br +.br +.BI " NVME_CMBEBS_CMBSZU_1G" + +}; +.SH Constants +.IP "NVME_CMBEBS_CMBSZU_SHIFT" 12 +Shift amount to get the CMB elasticity buffer size units +.IP "NVME_CMBEBS_RBB_SHIFT" 12 +Shift amount to get the read bypass behavior +.IP "NVME_CMBEBS_CMBWBZ_SHIFT" 12 +Shift amount to get the CMB elasiticity buffer size base +.IP "NVME_CMBEBS_CMBSZU_MASK" 12 +Mask to get the CMB elasticity buffer size units +.IP "NVME_CMBEBS_RBB_MASK" 12 +Mask to get the read bypass behavior +.IP "NVME_CMBEBS_CMBWBZ_MASK" 12 +Mask to get the CMB elasiticity buffer size base +.IP "NVME_CMBEBS_CMBSZU_B" 12 +Bytes granularity +.IP "NVME_CMBEBS_CMBSZU_1K" 12 +1 KiB granularity +.IP "NVME_CMBEBS_CMBSZU_1M" 12 +1 MiB granularity +.IP "NVME_CMBEBS_CMBSZU_1G" 12 +1 GiB granularity diff --git a/doc/man/nvme_cmbloc.2 b/doc/man/nvme_cmbloc.2 new file mode 100644 index 0000000..74e667e --- /dev/null +++ b/doc/man/nvme_cmbloc.2 @@ -0,0 +1,102 @@ +.TH "libnvme" 9 "enum nvme_cmbloc" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbloc \- This field indicates the controller memory buffer location +.SH SYNOPSIS +enum nvme_cmbloc { +.br +.BI " NVME_CMBLOC_BIR_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CQMMS_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CQPDS_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CDPLMS_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CDPCILS_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CDMMMS_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_CQDA_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_OFST_SHIFT" +, +.br +.br +.BI " NVME_CMBLOC_BIR_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CQMMS_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CQPDS_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CDPLMS_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CDPCILS_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CDMMMS_MASK" +, +.br +.br +.BI " NVME_CMBLOC_CQDA_MASK" +, +.br +.br +.BI " NVME_CMBLOC_OFST_MASK" + +}; +.SH Constants +.IP "NVME_CMBLOC_BIR_SHIFT" 12 +Shift amount to get the base indicator register +.IP "NVME_CMBLOC_CQMMS_SHIFT" 12 +Shift amount to get the CMB queue mixed memory support +.IP "NVME_CMBLOC_CQPDS_SHIFT" 12 +Shift amount to get the CMB queue physically discontiguous support +.IP "NVME_CMBLOC_CDPLMS_SHIFT" 12 +Shift amount to get the CMB data pointer mixed locations support +.IP "NVME_CMBLOC_CDPCILS_SHIFT" 12 +Shift amount to get the CMB data pointer and command independent locations support +.IP "NVME_CMBLOC_CDMMMS_SHIFT" 12 +Shift amount to get the CMB data metadata mixed memory support +.IP "NVME_CMBLOC_CQDA_SHIFT" 12 +Shift amount to get the CMB queue dword alignment +.IP "NVME_CMBLOC_OFST_SHIFT" 12 +Shift amount to get the offset +.IP "NVME_CMBLOC_BIR_MASK" 12 +Mask to get the base indicator register +.IP "NVME_CMBLOC_CQMMS_MASK" 12 +Mask to get the CMB queue mixed memory support +.IP "NVME_CMBLOC_CQPDS_MASK" 12 +Mask to get the CMB queue physically discontiguous support +.IP "NVME_CMBLOC_CDPLMS_MASK" 12 +Mask to get the CMB data pointer mixed locations support +.IP "NVME_CMBLOC_CDPCILS_MASK" 12 +Mask to get the CMB data pointer and command independent locations support +.IP "NVME_CMBLOC_CDMMMS_MASK" 12 +Mask to get the CMB data metadata mixed memory support +.IP "NVME_CMBLOC_CQDA_MASK" 12 +Mask to get the CMB queue dword alignment +.IP "NVME_CMBLOC_OFST_MASK" 12 +Mask to get the offset diff --git a/doc/man/nvme_cmbmsc.2 b/doc/man/nvme_cmbmsc.2 new file mode 100644 index 0000000..8d55ed1 --- /dev/null +++ b/doc/man/nvme_cmbmsc.2 @@ -0,0 +1,36 @@ +.TH "libnvme" 9 "enum nvme_cmbmsc" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbmsc \- This field indicates the controller memory buffer memory space control +.SH SYNOPSIS +enum nvme_cmbmsc { +.br +.BI " NVME_CMBMSC_CRE_SHIFT" +, +.br +.br +.BI " NVME_CMBMSC_CMSE_SHIFT" +, +.br +.br +.BI " NVME_CMBMSC_CBA_SHIFT" +, +.br +.br +.BI " NVME_CMBMSC_CRE_MASK" +, +.br +.br +.BI " NVME_CMBMSC_CMSE_MASK" + +}; +.SH Constants +.IP "NVME_CMBMSC_CRE_SHIFT" 12 +Shift amount to get the capabilities registers enabled +.IP "NVME_CMBMSC_CMSE_SHIFT" 12 +Shift amount to get the controller memory space enable +.IP "NVME_CMBMSC_CBA_SHIFT" 12 +Shift amount to get the controller base address +.IP "NVME_CMBMSC_CRE_MASK" 12 +Mask to get the capabilities registers enabled +.IP "NVME_CMBMSC_CMSE_MASK" 12 +Mask to get the controller memory space enable diff --git a/doc/man/nvme_cmbsts.2 b/doc/man/nvme_cmbsts.2 new file mode 100644 index 0000000..1ea657a --- /dev/null +++ b/doc/man/nvme_cmbsts.2 @@ -0,0 +1,18 @@ +.TH "libnvme" 9 "enum nvme_cmbsts" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbsts \- This field indicates the controller memory buffer status +.SH SYNOPSIS +enum nvme_cmbsts { +.br +.BI " NVME_CMBSTS_CBAI_SHIFT" +, +.br +.br +.BI " NVME_CMBSTS_CBAI_MASK" + +}; +.SH Constants +.IP "NVME_CMBSTS_CBAI_SHIFT" 12 +Shift amount to get the controller base address invalid +.IP "NVME_CMBSTS_CBAI_MASK" 12 +Mask to get the controller base address invalid diff --git a/doc/man/nvme_cmbswtp.2 b/doc/man/nvme_cmbswtp.2 new file mode 100644 index 0000000..8e14bf6 --- /dev/null +++ b/doc/man/nvme_cmbswtp.2 @@ -0,0 +1,54 @@ +.TH "libnvme" 9 "enum nvme_cmbswtp" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbswtp \- This field indicates the controller memory buffer sustained write throughput +.SH SYNOPSIS +enum nvme_cmbswtp { +.br +.BI " NVME_CMBSWTP_CMBSWTU_SHIFT" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTV_SHIFT" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTU_MASK" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTV_MASK" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTU_B" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTU_1K" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTU_1M" +, +.br +.br +.BI " NVME_CMBSWTP_CMBSWTU_1G" + +}; +.SH Constants +.IP "NVME_CMBSWTP_CMBSWTU_SHIFT" 12 +Shift amount to get the CMB sustained write throughput units +.IP "NVME_CMBSWTP_CMBSWTV_SHIFT" 12 +Shift amount to get the CMB sustained write throughput +.IP "NVME_CMBSWTP_CMBSWTU_MASK" 12 +Mask to get the CMB sustained write throughput units +.IP "NVME_CMBSWTP_CMBSWTV_MASK" 12 +Mask to get the CMB sustained write throughput +.IP "NVME_CMBSWTP_CMBSWTU_B" 12 +Bytes/second granularity +.IP "NVME_CMBSWTP_CMBSWTU_1K" 12 +1 KiB/second granularity +.IP "NVME_CMBSWTP_CMBSWTU_1M" 12 +1 MiB/second granularity +.IP "NVME_CMBSWTP_CMBSWTU_1G" 12 +1 GiB/second granularity diff --git a/doc/man/nvme_cmbsz.2 b/doc/man/nvme_cmbsz.2 new file mode 100644 index 0000000..7bd3ba2 --- /dev/null +++ b/doc/man/nvme_cmbsz.2 @@ -0,0 +1,132 @@ +.TH "libnvme" 9 "enum nvme_cmbsz" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmbsz \- This field indicates the controller memory buffer size +.SH SYNOPSIS +enum nvme_cmbsz { +.br +.BI " NVME_CMBSZ_SQS_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_CQS_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_LISTS_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_RDS_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_WDS_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_SZU_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_SZ_SHIFT" +, +.br +.br +.BI " NVME_CMBSZ_SQS_MASK" +, +.br +.br +.BI " NVME_CMBSZ_CQS_MASK" +, +.br +.br +.BI " NVME_CMBSZ_LISTS_MASK" +, +.br +.br +.BI " NVME_CMBSZ_RDS_MASK" +, +.br +.br +.BI " NVME_CMBSZ_WDS_MASK" +, +.br +.br +.BI " NVME_CMBSZ_SZU_MASK" +, +.br +.br +.BI " NVME_CMBSZ_SZ_MASK" +, +.br +.br +.BI " NVME_CMBSZ_SZU_4K" +, +.br +.br +.BI " NVME_CMBSZ_SZU_64K" +, +.br +.br +.BI " NVME_CMBSZ_SZU_1M" +, +.br +.br +.BI " NVME_CMBSZ_SZU_16M" +, +.br +.br +.BI " NVME_CMBSZ_SZU_256M" +, +.br +.br +.BI " NVME_CMBSZ_SZU_4G" +, +.br +.br +.BI " NVME_CMBSZ_SZU_64G" + +}; +.SH Constants +.IP "NVME_CMBSZ_SQS_SHIFT" 12 +Shift amount to get the submission queue support +.IP "NVME_CMBSZ_CQS_SHIFT" 12 +Shift amount to get the completion queue support +.IP "NVME_CMBSZ_LISTS_SHIFT" 12 +Shift amount to get the PLP SGL list support +.IP "NVME_CMBSZ_RDS_SHIFT" 12 +Shift amount to get the read data support +.IP "NVME_CMBSZ_WDS_SHIFT" 12 +Shift amount to get the write data support +.IP "NVME_CMBSZ_SZU_SHIFT" 12 +Shift amount to get the size units +.IP "NVME_CMBSZ_SZ_SHIFT" 12 +Shift amount to get the size +.IP "NVME_CMBSZ_SQS_MASK" 12 +Mask to get the submission queue support +.IP "NVME_CMBSZ_CQS_MASK" 12 +Mask to get the completion queue support +.IP "NVME_CMBSZ_LISTS_MASK" 12 +Mask to get the PLP SGL list support +.IP "NVME_CMBSZ_RDS_MASK" 12 +Mask to get the read data support +.IP "NVME_CMBSZ_WDS_MASK" 12 +Mask to get the write data support +.IP "NVME_CMBSZ_SZU_MASK" 12 +Mask to get the size units +.IP "NVME_CMBSZ_SZ_MASK" 12 +Mask to get the size +.IP "NVME_CMBSZ_SZU_4K" 12 +4 KiB +.IP "NVME_CMBSZ_SZU_64K" 12 +64 KiB +.IP "NVME_CMBSZ_SZU_1M" 12 +1 MiB +.IP "NVME_CMBSZ_SZU_16M" 12 +16 MiB +.IP "NVME_CMBSZ_SZU_256M" 12 +256 MiB +.IP "NVME_CMBSZ_SZU_4G" 12 +4 GiB +.IP "NVME_CMBSZ_SZU_64G" 12 +64 GiB diff --git a/doc/man/nvme_cmd_effects.2 b/doc/man/nvme_cmd_effects.2 index 3e253fa..2245aeb 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_effects" "May 2024" "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 4f3a706..138a5e9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_cmd_effects_log" "May 2024" "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 541bdc8..fab8c17 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_mset" "May 2024" "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 e5dec06..3cf9f44 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pi" "May 2024" "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 3fa74f7..bb898f1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pil" "May 2024" "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 344f0fb..c99e2d9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_ses" "May 2024" "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 f1e9ff0..0cfefb4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "May 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers .SH SYNOPSIS @@ -84,6 +84,10 @@ enum nvme_cmd_get_log_lid { , .br .br +.BI " NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN" +, +.br +.br .BI " NVME_LOG_LID_BOOT_PARTITION" , .br @@ -164,6 +168,8 @@ Supported Capacity Configuration Lis Feature Identifiers Supported and Effects .IP "NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS" 12 NVMe-MI Commands Supported and Effects +.IP "NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN" 12 +Command and Feature Lockdown .IP "NVME_LOG_LID_BOOT_PARTITION" 12 Boot Partition .IP "NVME_LOG_LID_PHY_RX_EOM" 12 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 7b82a0c..3252d13 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "May 2024" "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_cmic.2 b/doc/man/nvme_cmic.2 new file mode 100644 index 0000000..e1b4ced --- /dev/null +++ b/doc/man/nvme_cmic.2 @@ -0,0 +1,66 @@ +.TH "libnvme" 9 "enum nvme_cmic" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_cmic \- This field indicates the controller multi-path I/O and NS sharing capabilities +.SH SYNOPSIS +enum nvme_cmic { +.br +.BI " NVME_CMIC_MULTI_PORT_SHIFT" +, +.br +.br +.BI " NVME_CMIC_MULTI_CTRL_SHIFT" +, +.br +.br +.BI " NVME_CMIC_MULTI_SRIOV_SHIFT" +, +.br +.br +.BI " NVME_CMIC_MULTI_ANA_SHIFT" +, +.br +.br +.BI " NVME_CMIC_MULTI_RSVD_SHIFT" +, +.br +.br +.BI " NVME_CMIC_MULTI_PORT_MASK" +, +.br +.br +.BI " NVME_CMIC_MULTI_CTRL_MASK" +, +.br +.br +.BI " NVME_CMIC_MULTI_SRIOV_MASK" +, +.br +.br +.BI " NVME_CMIC_MULTI_ANA_MASK" +, +.br +.br +.BI " NVME_CMIC_MULTI_RSVD_MASK" + +}; +.SH Constants +.IP "NVME_CMIC_MULTI_PORT_SHIFT" 12 +Shift amount to get the NVM subsystem port +.IP "NVME_CMIC_MULTI_CTRL_SHIFT" 12 +Shift amount to get the controllers +.IP "NVME_CMIC_MULTI_SRIOV_SHIFT" 12 +Shift amount to get the SR-IOV virtual function +.IP "NVME_CMIC_MULTI_ANA_SHIFT" 12 +Shift amount to get the asymmetric namespace access reporting +.IP "NVME_CMIC_MULTI_RSVD_SHIFT" 12 +Shift amount to get the reserved +.IP "NVME_CMIC_MULTI_PORT_MASK" 12 +Mask to get the NVM subsystem port +.IP "NVME_CMIC_MULTI_CTRL_MASK" 12 +Mask to get the controllers +.IP "NVME_CMIC_MULTI_SRIOV_MASK" 12 +Mask to get the SR-IOV virtual function +.IP "NVME_CMIC_MULTI_ANA_MASK" 12 +Mask to get the asymmetric namespace access reporting +.IP "NVME_CMIC_MULTI_RSVD_MASK" 12 +Mask to get the reserved diff --git a/doc/man/nvme_compare.2 b/doc/man/nvme_compare.2 index d3554f0..5710ae6 100644 --- a/doc/man/nvme_compare.2 +++ b/doc/man/nvme_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_compare" 9 "nvme_compare" "February 2024" "libnvme API manual" LINUX +.TH "nvme_compare" 9 "nvme_compare" "May 2024" "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 50e04b2..bf29c7c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_connect_err" "May 2024" "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 167d6ae..3419612 100644 --- a/doc/man/nvme_constants.2 +++ b/doc/man/nvme_constants.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_constants" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_constants" "May 2024" "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 30e693c..85660f5 100644 --- a/doc/man/nvme_copy.2 +++ b/doc/man/nvme_copy.2 @@ -1,4 +1,4 @@ -.TH "nvme_copy" 9 "nvme_copy" "February 2024" "libnvme API manual" LINUX +.TH "nvme_copy" 9 "nvme_copy" "May 2024" "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 0733e70..0550005 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range" "May 2024" "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 index 63920ba..23b953b 100644 --- a/doc/man/nvme_copy_range_f1.2 +++ b/doc/man/nvme_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f1" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f1" "May 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f2.2 b/doc/man/nvme_copy_range_f2.2 index a8530b5..d86c51b 100644 --- a/doc/man/nvme_copy_range_f2.2 +++ b/doc/man/nvme_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f2" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f2" "May 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f2 \- Copy - Source Range Entries Descriptor Format 2h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f3.2 b/doc/man/nvme_copy_range_f3.2 index cb20072..8d2718f 100644 --- a/doc/man/nvme_copy_range_f3.2 +++ b/doc/man/nvme_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f3" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f3" "May 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f3 \- Copy - Source Range Entries Descriptor Format 3h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_sopt.2 b/doc/man/nvme_copy_range_sopt.2 index 5ec5c09..7467f1b 100644 --- a/doc/man/nvme_copy_range_sopt.2 +++ b/doc/man/nvme_copy_range_sopt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_copy_range_sopt" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_copy_range_sopt" "May 2024" "API Manual" LINUX .SH NAME enum nvme_copy_range_sopt \- NVMe Copy Range Source Options .SH SYNOPSIS diff --git a/doc/man/nvme_create_ctrl.2 b/doc/man/nvme_create_ctrl.2 index 43cec53..faaa1ed 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "May 2024" "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 ae60098..92f15bd 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_create_root" 9 "nvme_create_root" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_create_root \- Initialize root object .SH SYNOPSIS diff --git a/doc/man/nvme_crto.2 b/doc/man/nvme_crto.2 new file mode 100644 index 0000000..dd47dd0 --- /dev/null +++ b/doc/man/nvme_crto.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_crto" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_crto \- This field indicates the controller ready timeouts +.SH SYNOPSIS +enum nvme_crto { +.br +.BI " NVME_CRTO_CRWMT_SHIFT" +, +.br +.br +.BI " NVME_CRTO_CRIMT_SHIFT" +, +.br +.br +.BI " NVME_CRTO_CRWMT_MASK" +, +.br +.br +.BI " NVME_CRTO_CRIMT_MASK" + +}; +.SH Constants +.IP "NVME_CRTO_CRWMT_SHIFT" 12 +Shift amount to get the controller ready with media timeout +.IP "NVME_CRTO_CRIMT_SHIFT" 12 +Shift amount to get the controller ready independent of media timeout +.IP "NVME_CRTO_CRWMT_MASK" 12 +Mask to get the controller ready with media timeout +.IP "NVME_CRTO_CRIMT_MASK" 12 +Mask to get the controller ready independent of media timeout diff --git a/doc/man/nvme_csi.2 b/doc/man/nvme_csi.2 index b826bef..28047d0 100644 --- a/doc/man/nvme_csi.2 +++ b/doc/man/nvme_csi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csi" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csi" "May 2024" "API Manual" LINUX .SH NAME enum nvme_csi \- Defined command set indicators .SH SYNOPSIS diff --git a/doc/man/nvme_csts.2 b/doc/man/nvme_csts.2 new file mode 100644 index 0000000..a36d313 --- /dev/null +++ b/doc/man/nvme_csts.2 @@ -0,0 +1,102 @@ +.TH "libnvme" 9 "enum nvme_csts" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_csts \- This field indicates the controller status register +.SH SYNOPSIS +enum nvme_csts { +.br +.BI " NVME_CSTS_RDY_SHIFT" +, +.br +.br +.BI " NVME_CSTS_CFS_SHIFT" +, +.br +.br +.BI " NVME_CSTS_SHST_SHIFT" +, +.br +.br +.BI " NVME_CSTS_NSSRO_SHIFT" +, +.br +.br +.BI " NVME_CSTS_PP_SHIFT" +, +.br +.br +.BI " NVME_CSTS_ST_SHIFT" +, +.br +.br +.BI " NVME_CSTS_RDY_MASK" +, +.br +.br +.BI " NVME_CSTS_CFS_MASK" +, +.br +.br +.BI " NVME_CSTS_SHST_MASK" +, +.br +.br +.BI " NVME_CSTS_NSSRO_MASK" +, +.br +.br +.BI " NVME_CSTS_PP_MASK" +, +.br +.br +.BI " NVME_CSTS_ST_MASK" +, +.br +.br +.BI " NVME_CSTS_SHST_NORMAL" +, +.br +.br +.BI " NVME_CSTS_SHST_OCCUR" +, +.br +.br +.BI " NVME_CSTS_SHST_CMPLT" +, +.br +.br +.BI " NVME_CSTS_SHN_MASK" + +}; +.SH Constants +.IP "NVME_CSTS_RDY_SHIFT" 12 +Shift amount to get the ready +.IP "NVME_CSTS_CFS_SHIFT" 12 +Shift amount to get the controller fatal status +.IP "NVME_CSTS_SHST_SHIFT" 12 +Shift amount to get the shutdown status +.IP "NVME_CSTS_NSSRO_SHIFT" 12 +Shift amount to get the NVM subsystem reset occurred +.IP "NVME_CSTS_PP_SHIFT" 12 +Shift amount to get the processing paused +.IP "NVME_CSTS_ST_SHIFT" 12 +Shift amount to get the shutdown type +.IP "NVME_CSTS_RDY_MASK" 12 +Mask to get the ready +.IP "NVME_CSTS_CFS_MASK" 12 +Mask to get the controller fatal status +.IP "NVME_CSTS_SHST_MASK" 12 +Mask to get the shutdown status +.IP "NVME_CSTS_NSSRO_MASK" 12 +Mask to get the NVM subsystem reset occurred +.IP "NVME_CSTS_PP_MASK" 12 +Mask to get the processing paused +.IP "NVME_CSTS_ST_MASK" 12 +Mask to get the shutdown type +.IP "NVME_CSTS_SHST_NORMAL" 12 +Normal operation +.IP "NVME_CSTS_SHST_OCCUR" 12 +Shutdown processing occurring +.IP "NVME_CSTS_SHST_CMPLT" 12 +Shutdown processing complete +.IP "NVME_CSTS_SHN_MASK" 12 +Deprecated mask to get the shutdown status diff --git a/doc/man/nvme_ctrl_config_match.2 b/doc/man/nvme_ctrl_config_match.2 index 44a8a11..b3d3ae6 100644 --- a/doc/man/nvme_ctrl_config_match.2 +++ b/doc/man/nvme_ctrl_config_match.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_config_match \- Check if ctrl @c matches config params .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_find.2 b/doc/man/nvme_ctrl_find.2 index cb2cf61..e58c204 100644 --- a/doc/man/nvme_ctrl_find.2 +++ b/doc/man/nvme_ctrl_find.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_find \- Locate an existing controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_first_ns.2 b/doc/man/nvme_ctrl_first_ns.2 index f9e174a..b43ae6c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "May 2024" "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 2c682cd..7663358 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "May 2024" "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 71fdd5f..6f879a8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "May 2024" "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 78c9c03..d01faa4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "May 2024" "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 aa192c2..4705b9b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "May 2024" "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 c8dfc29..93203c4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "May 2024" "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 6d15499..7633a74 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "May 2024" "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 3cbc9e4..fa0a0dd 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "May 2024" "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 index 65e7e40..2bd285b 100644 --- a/doc/man/nvme_ctrl_get_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_get_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_dhchap_host_key \- Return host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_dhchap_key.2 b/doc/man/nvme_ctrl_get_dhchap_key.2 index 8fb206a..f41320a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "May 2024" "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 e8da7f4..7175260 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "May 2024" "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 f30586f..d57c6bc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "May 2024" "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 79737f5..c87e1de 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "May 2024" "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 0e6d097..bb96788 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "May 2024" "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 70a1d3f..ca7fc91 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "May 2024" "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 44f1da3..3d1e60b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "May 2024" "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 33411aa..6b19d0c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "May 2024" "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_phy_slot.2 b/doc/man/nvme_ctrl_get_phy_slot.2 index c4f777f..3a61d85 100644 --- a/doc/man/nvme_ctrl_get_phy_slot.2 +++ b/doc/man/nvme_ctrl_get_phy_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_phy_slot \- PCI physical slot number 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 4bf4b1a..e7542ee 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "May 2024" "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 f7cf63a..661aaaf 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "May 2024" "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 319b978..a54c7c9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "May 2024" "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_src_addr.2 b/doc/man/nvme_ctrl_get_src_addr.2 index effafa4..934be60 100644 --- a/doc/man/nvme_ctrl_get_src_addr.2 +++ b/doc/man/nvme_ctrl_get_src_addr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_src_addr \- Extract src_addr from the c->address string .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_state.2 b/doc/man/nvme_ctrl_get_state.2 index 2beae14..12ce62c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_state \- Running state of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_subsysnqn.2 b/doc/man/nvme_ctrl_get_subsysnqn.2 index ebc3ff8..cb95d53 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "May 2024" "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 06308cd..b6163e6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "May 2024" "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 902a3fb..d0263ca 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "May 2024" "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 bfaa4b7..f829a38 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "May 2024" "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 d267a73..42ca5b0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "May 2024" "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 42672b6..bc027fe 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "May 2024" "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 c4ff85b..fae8e8e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "May 2024" "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 28361a7..ee72a8c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "May 2024" "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 cb62dca..31dd7ae 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "May 2024" "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 05a9c35..5cabdb5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "May 2024" "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_is_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 index 3540959..2352c45 100644 --- a/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_unique_discovery_ctrl \- Check the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_list.2 b/doc/man/nvme_ctrl_list.2 index 40c0531..f849b17 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ctrl_list" "May 2024" "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 e81fb4c..cff9205 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "May 2024" "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 635350e..62de4b8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "May 2024" "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 90743ac..70c3c38 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_release_fd.2 b/doc/man/nvme_ctrl_release_fd.2 index 1b44359..35da588 100644 --- a/doc/man/nvme_ctrl_release_fd.2 +++ b/doc/man/nvme_ctrl_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_release_fd \- Close fd and clear fd from controller object .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_reset.2 b/doc/man/nvme_ctrl_reset.2 index 134b312..a519d23 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "May 2024" "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 index abc46ba..834c50f 100644 --- a/doc/man/nvme_ctrl_set_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_set_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_dhchap_host_key \- Set host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_dhchap_key.2 b/doc/man/nvme_ctrl_set_dhchap_key.2 index 85a58c8..b040020 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "May 2024" "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 10f1355..b3dada2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "May 2024" "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 509e76f..5cd91a8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "May 2024" "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 456c7cc..557e610 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_persistent \- Set the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 index e0cca59..3103d3e 100644 --- a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_unique_discovery_ctrl \- Set the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrls_filter.2 b/doc/man/nvme_ctrls_filter.2 index 1227c5c..76838b0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "May 2024" "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 index 107ed58..375ff62 100644 --- a/doc/man/nvme_data_tfr.2 +++ b/doc/man/nvme_data_tfr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_data_tfr" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_data_tfr" "May 2024" "API Manual" LINUX .SH NAME enum nvme_data_tfr \- Data transfer direction of the command .SH SYNOPSIS diff --git a/doc/man/nvme_default_host.2 b/doc/man/nvme_default_host.2 index 6b78c17..693f337 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_default_host" 9 "nvme_default_host" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_default_host \- Initializes the default host .SH SYNOPSIS diff --git a/doc/man/nvme_describe_key_serial.2 b/doc/man/nvme_describe_key_serial.2 index 6cd0e08..d17366b 100644 --- a/doc/man/nvme_describe_key_serial.2 +++ b/doc/man/nvme_describe_key_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "February 2024" "libnvme API manual" LINUX +.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_describe_key_serial \- Return key description .SH SYNOPSIS diff --git a/doc/man/nvme_dev_self_test.2 b/doc/man/nvme_dev_self_test.2 index 76627ec..4123627 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "May 2024" "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 b4d1abd..5e35792 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_dtype" "May 2024" "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 2c87145..c19c784 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_receive_doper" "May 2024" "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 fdbbe1a..a03d860 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv" 9 "nvme_directive_recv" "May 2024" "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 e8cad1a..c80f474 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "May 2024" "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 9a33428..e7b987a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "May 2024" "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 4a05dba..60811f9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "May 2024" "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 ae290d3..77e4800 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "May 2024" "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 a4e441b..4e09029 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send" 9 "nvme_directive_send" "May 2024" "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 82d47ad..3986bb4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_doper" "May 2024" "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 9b0efa6..8632333 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "May 2024" "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 12c301b..fab7e2a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "May 2024" "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 d541f5a..ccb075d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "May 2024" "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 edac8b5..ac1febc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "May 2024" "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 91a64ea..cad1dff 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_types" "May 2024" "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 8fa1021..8c9d34e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "May 2024" "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 8ec5991..3dfb43e 100644 --- a/doc/man/nvme_dsm.2 +++ b/doc/man/nvme_dsm.2 @@ -1,4 +1,4 @@ -.TH "nvme_dsm" 9 "nvme_dsm" "February 2024" "libnvme API manual" LINUX +.TH "nvme_dsm" 9 "nvme_dsm" "May 2024" "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 93ab648..591ace6 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dsm_attributes" "May 2024" "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 ee9acc4..7037cbb 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_dsm_range" "May 2024" "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 320e068..97ec627 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dst_stc" "May 2024" "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 3eef2de..46f9dc0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_dump_config" 9 "nvme_dump_config" "May 2024" "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 c157925..fb7b343 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_dump_tree" 9 "nvme_dump_tree" "May 2024" "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 c6e79e3..7104f8f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "May 2024" "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 dba6c49..b16c832 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "May 2024" "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 9a862f2..5b3a6ff 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "May 2024" "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 bcbd669..26bfd9b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "May 2024" "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 74b759e..6d58674 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_endurance_group_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_endurance_group_log \- Endurance Group Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_eom_lane_desc.2 b/doc/man/nvme_eom_lane_desc.2 index eaa51c9..8efa7a5 100644 --- a/doc/man/nvme_eom_lane_desc.2 +++ b/doc/man/nvme_eom_lane_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_eom_lane_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eom_lane_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_eom_lane_desc \- EOM Lane Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data.2 b/doc/man/nvme_eom_optional_data.2 index 3ba3484..411159e 100644 --- a/doc/man/nvme_eom_optional_data.2 +++ b/doc/man/nvme_eom_optional_data.2 @@ -1,18 +1,18 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data" "May 2024" "API Manual" LINUX .SH NAME -enum nvme_eom_optional_data \- EOM Optional Data Present Fields +enum nvme_eom_optional_data \- EOM Optional Data Present Fields (Deprecated) .SH SYNOPSIS enum nvme_eom_optional_data { .br -.BI " NVME_EOM_EYE_DATA_PRESENT" +.BI " NVME_EOM_PRINTABLE_EYE_PRESENT" , .br .br -.BI " NVME_EOM_PRINTABLE_EYE_PRESENT" +.BI " NVME_EOM_EYE_DATA_PRESENT" }; .SH Constants -.IP "NVME_EOM_EYE_DATA_PRESENT" 12 -Eye Data Present .IP "NVME_EOM_PRINTABLE_EYE_PRESENT" 12 Printable Eye Present +.IP "NVME_EOM_EYE_DATA_PRESENT" 12 +Eye Data Present diff --git a/doc/man/nvme_eom_optional_data_present.2 b/doc/man/nvme_eom_optional_data_present.2 new file mode 100644 index 0000000..f351c17 --- /dev/null +++ b/doc/man/nvme_eom_optional_data_present.2 @@ -0,0 +1,48 @@ +.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_eom_optional_data_present \- EOM Optional Data Present Fields +.SH SYNOPSIS +enum nvme_eom_optional_data_present { +.br +.BI " NVME_EOM_ODP_PEFP_SHIFT" +, +.br +.br +.BI " NVME_EOM_ODP_EDFP_SHIFT" +, +.br +.br +.BI " NVME_EOM_ODP_RSVD_SHIFT" +, +.br +.br +.BI " NVME_EOM_ODP_PEFP_MASK" +, +.br +.br +.BI " NVME_EOM_ODP_EDFP_MASK" +, +.br +.br +.BI " NVME_EOM_ODP_RSVD_MASK" + +}; +.SH Constants +.IP "NVME_EOM_ODP_PEFP_SHIFT" 12 +Shift amount to get the printable eye field present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. +.IP "NVME_EOM_ODP_EDFP_SHIFT" 12 +Shift amount to get the eye data field present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. +.IP "NVME_EOM_ODP_RSVD_SHIFT" 12 +Shift amount to get the reserved optional data present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. +.IP "NVME_EOM_ODP_PEFP_MASK" 12 +Mask to get the printable eye field present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. +.IP "NVME_EOM_ODP_EDFP_MASK" 12 +Mask to get the eye data field present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. +.IP "NVME_EOM_ODP_RSVD_MASK" 12 +Mask to get the reserved data present +from the \fIstruct nvme_phy_rx_eom_log\fP.odp field. diff --git a/doc/man/nvme_errno_to_string.2 b/doc/man/nvme_errno_to_string.2 index 0c39e0f..1493b53 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "May 2024" "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 e930329..7d703de 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_error_log_page" "May 2024" "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_export_tls_key.2 b/doc/man/nvme_export_tls_key.2 new file mode 100644 index 0000000..1cc5961 --- /dev/null +++ b/doc/man/nvme_export_tls_key.2 @@ -0,0 +1,19 @@ +.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_export_tls_key \- Export a TLS key +.SH SYNOPSIS +.B "char *" nvme_export_tls_key +.BI "(const unsigned char *key_data " "," +.BI "int key_len " ");" +.SH ARGUMENTS +.IP "key_data" 12 +Raw data of the key +.IP "key_len" 12 +Length of \fIkey_data\fP +.SH "DESCRIPTION" +Returns \fIkey_data\fP in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. +.SH "RETURN" +The string containing the TLS identity or NULL with errno set +on error. It is the responsibility of the caller to free the returned +string. diff --git a/doc/man/nvme_fabrics_config.2 b/doc/man/nvme_fabrics_config.2 index 1a110d4..b5e65d8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_config" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options .SH SYNOPSIS @@ -26,9 +26,9 @@ struct nvme_fabrics_config { .br .BI " int tos;" .br -.BI " int keyring;" +.BI " long keyring;" .br -.BI " int tls_key;" +.BI " long tls_key;" .br .BI " bool duplicate_connect;" .br diff --git a/doc/man/nvme_fctype.2 b/doc/man/nvme_fctype.2 index 00dbb70..e1c1bf4 100644 --- a/doc/man/nvme_fctype.2 +++ b/doc/man/nvme_fctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fctype" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fctype" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fctype \- Fabrics Command Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_desc.2 b/doc/man/nvme_fdp_config_desc.2 index e80c814..bc137d1 100644 --- a/doc/man/nvme_fdp_config_desc.2 +++ b/doc/man/nvme_fdp_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_desc \- FDP Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_fdpa.2 b/doc/man/nvme_fdp_config_fdpa.2 index f0662bf..11132d7 100644 --- a/doc/man/nvme_fdp_config_fdpa.2 +++ b/doc/man/nvme_fdp_config_fdpa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_config_fdpa \- FDP Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_log.2 b/doc/man/nvme_fdp_config_log.2 index c7fb7eb..de1c6de 100644 --- a/doc/man/nvme_fdp_config_log.2 +++ b/doc/man/nvme_fdp_config_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_log" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_log \- FDP Configurations Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event.2 b/doc/man/nvme_fdp_event.2 index d6dfa05..a1749bc 100644 --- a/doc/man/nvme_fdp_event.2 +++ b/doc/man/nvme_fdp_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event \- FDP Event .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_flags.2 b/doc/man/nvme_fdp_event_flags.2 index 2da0442..377cad8 100644 --- a/doc/man/nvme_fdp_event_flags.2 +++ b/doc/man/nvme_fdp_event_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_flags" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_flags \- FDP Event Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc.2 b/doc/man/nvme_fdp_event_realloc.2 index 15856d3..35d5b9e 100644 --- a/doc/man/nvme_fdp_event_realloc.2 +++ b/doc/man/nvme_fdp_event_realloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event_realloc \- Media Reallocated Event Type Specific Information .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc_flags.2 b/doc/man/nvme_fdp_event_realloc_flags.2 index a47245a..7b5fbb2 100644 --- a/doc/man/nvme_fdp_event_realloc_flags.2 +++ b/doc/man/nvme_fdp_event_realloc_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_realloc_flags \- Media Reallocated Event Type Specific Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_type.2 b/doc/man/nvme_fdp_event_type.2 index b726436..bb2ebe1 100644 --- a/doc/man/nvme_fdp_event_type.2 +++ b/doc/man/nvme_fdp_event_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_type" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_type \- FDP Event Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_events_log.2 b/doc/man/nvme_fdp_events_log.2 index a02b169..b50632e 100644 --- a/doc/man/nvme_fdp_events_log.2 +++ b/doc/man/nvme_fdp_events_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_events_log" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_events_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_events_log \- FDP Events Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 index aceccfc..ef5259d 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "February 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_status \- Get reclaim unit handle status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 index c5e5e0d..40cf67b 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "February 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_update \- Update a list of reclaim unit handles .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_desc.2 b/doc/man/nvme_fdp_ruh_desc.2 index 638d1ad..2beb49d 100644 --- a/doc/man/nvme_fdp_ruh_desc.2 +++ b/doc/man/nvme_fdp_ruh_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_desc \- Reclaim Unit Handle Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status.2 b/doc/man/nvme_fdp_ruh_status.2 index fde919c..8b6be4e 100644 --- a/doc/man/nvme_fdp_ruh_status.2 +++ b/doc/man/nvme_fdp_ruh_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status \- Reclaim Unit Handle Status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status_desc.2 b/doc/man/nvme_fdp_ruh_status_desc.2 index e5f8595..71da150 100644 --- a/doc/man/nvme_fdp_ruh_status_desc.2 +++ b/doc/man/nvme_fdp_ruh_status_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status_desc \- Reclaim Unit Handle Status Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_type.2 b/doc/man/nvme_fdp_ruh_type.2 index 6ba003a..16a8873 100644 --- a/doc/man/nvme_fdp_ruh_type.2 +++ b/doc/man/nvme_fdp_ruh_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruh_type \- Reclaim Unit Handle Type .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruha.2 b/doc/man/nvme_fdp_ruha.2 index dd1afa1..91c8ce2 100644 --- a/doc/man/nvme_fdp_ruha.2 +++ b/doc/man/nvme_fdp_ruha.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruha" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruha" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruha \- Reclaim Unit Handle Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_desc.2 b/doc/man/nvme_fdp_ruhu_desc.2 index 0ed80c8..d173466 100644 --- a/doc/man/nvme_fdp_ruhu_desc.2 +++ b/doc/man/nvme_fdp_ruhu_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_desc \- Reclaim Unit Handle Usage Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_log.2 b/doc/man/nvme_fdp_ruhu_log.2 index c11b4ff..ff74042 100644 --- a/doc/man/nvme_fdp_ruhu_log.2 +++ b/doc/man/nvme_fdp_ruhu_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_log \- Reclaim Unit Handle Usage Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_stats_log.2 b/doc/man/nvme_fdp_stats_log.2 index 0a724bd..dc6d34b 100644 --- a/doc/man/nvme_fdp_stats_log.2 +++ b/doc/man/nvme_fdp_stats_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_stats_log" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_stats_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_stats_log \- FDP Statistics Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_attributes.2 b/doc/man/nvme_fdp_supported_event_attributes.2 index 4ce8032..06936a5 100644 --- a/doc/man/nvme_fdp_supported_event_attributes.2 +++ b/doc/man/nvme_fdp_supported_event_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "May 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_supported_event_attributes \- Supported FDP Event Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_desc.2 b/doc/man/nvme_fdp_supported_event_desc.2 index e58a403..fc82a61 100644 --- a/doc/man/nvme_fdp_supported_event_desc.2 +++ b/doc/man/nvme_fdp_supported_event_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_supported_event_desc \- Supported FDP Event Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_feat.2 b/doc/man/nvme_feat.2 index bc81227..855f093 100644 --- a/doc/man/nvme_feat.2 +++ b/doc/man/nvme_feat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat" "May 2024" "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 8d1ce60..386569a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_auto_pst" "May 2024" "API Manual" LINUX .SH NAME struct nvme_feat_auto_pst \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_feat_fdp_events_cdw11.2 b/doc/man/nvme_feat_fdp_events_cdw11.2 index db9da67..949435a 100644 --- a/doc/man/nvme_feat_fdp_events_cdw11.2 +++ b/doc/man/nvme_feat_fdp_events_cdw11.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "May 2024" "API Manual" LINUX .SH NAME struct nvme_feat_fdp_events_cdw11 \- FDP Events Feature Command Dword 11 .SH SYNOPSIS diff --git a/doc/man/nvme_feat_host_behavior.2 b/doc/man/nvme_feat_host_behavior.2 index 5c7dd1d..553e248 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_host_behavior" "May 2024" "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 9a7f350..a8a735c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "May 2024" "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 0d9ee19..e16d1b4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "May 2024" "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 d25acbe..07977a7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "May 2024" "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 0eccb43..f8964b4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "May 2024" "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 83693a4..1ec9526 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "May 2024" "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 ad24bfb..f4a569d 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_id" "May 2024" "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 512c36e..2616ea3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fid_supported_effects" "May 2024" "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 8358f6c..24f9b9f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "May 2024" "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 2fb1f7d..4a2c4ae 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_firmware_slot" "May 2024" "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 ee2a5dd..bf3179a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_first_host" 9 "nvme_first_host" "May 2024" "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 58559bc..8d2c93e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_first_subsystem \- Start subsystem iterator .SH SYNOPSIS diff --git a/doc/man/nvme_flbas.2 b/doc/man/nvme_flbas.2 new file mode 100644 index 0000000..588cb50 --- /dev/null +++ b/doc/man/nvme_flbas.2 @@ -0,0 +1,42 @@ +.TH "libnvme" 9 "enum nvme_flbas" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_flbas \- This field indicates the formatted LBA size +.SH SYNOPSIS +enum nvme_flbas { +.br +.BI " NVME_FLBAS_LOWER_SHIFT" +, +.br +.br +.BI " NVME_FLBAS_META_EXT_SHIFT" +, +.br +.br +.BI " NVME_FLBAS_HIGHER_SHIFT" +, +.br +.br +.BI " NVME_FLBAS_LOWER_MASK" +, +.br +.br +.BI " NVME_FLBAS_META_EXT_MASK" +, +.br +.br +.BI " NVME_FLBAS_HIGHER_MASK" + +}; +.SH Constants +.IP "NVME_FLBAS_LOWER_SHIFT" 12 +Shift amount to get the format index least significant 4 bits +.IP "NVME_FLBAS_META_EXT_SHIFT" 12 +Shift amount to get the metadata transferred +.IP "NVME_FLBAS_HIGHER_SHIFT" 12 +Shift amount to get the format index most significant 2 bits +.IP "NVME_FLBAS_LOWER_MASK" 12 +Mask to get the format index least significant 4 bits +.IP "NVME_FLBAS_META_EXT_MASK" 12 +Mask to get the metadata transferred +.IP "NVME_FLBAS_HIGHER_MASK" 12 +Mask to get the format index most significant 2 bits diff --git a/doc/man/nvme_flush.2 b/doc/man/nvme_flush.2 index 4c79401..eaa1590 100644 --- a/doc/man/nvme_flush.2 +++ b/doc/man/nvme_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_flush" 9 "nvme_flush" "February 2024" "libnvme API manual" LINUX +.TH "nvme_flush" 9 "nvme_flush" "May 2024" "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 4e6d50f..8077030 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host" 9 "nvme_for_each_host" "May 2024" "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 45f8250..6aabd74 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "May 2024" "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 9b14dd8..f6e794d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "May 2024" "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 d2101f0..7528e3c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "May 2024" "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 c8615ad..d942278 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_format_nvm" 9 "nvme_format_nvm" "May 2024" "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 261f6d0..f198a19 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "May 2024" "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 8329ffa..2fa0d9e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "May 2024" "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 f26c491..92301fd 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "May 2024" "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 8617c5a..7bc8c4f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_free_host" 9 "nvme_free_host" "May 2024" "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 0befce4..6e87924 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_free_ns" 9 "nvme_free_ns" "May 2024" "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 2d7718a..2311486 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "May 2024" "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 61cf386..fa9a707 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_free_tree" 9 "nvme_free_tree" "May 2024" "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 eae82dc..8091b89 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_fw_commit" 9 "nvme_fw_commit" "May 2024" "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 d3cb31d..3f8a7bd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fw_commit_ca" "May 2024" "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 2a688c2..45b5f14 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fw_commit_event" "May 2024" "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 c054797..b588e84 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download" 9 "nvme_fw_download" "May 2024" "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 217f2ca..c6a3f6b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "May 2024" "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 5215896..51c8e9c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_gen_dhchap_key \- DH-HMAC-CHAP key generation .SH SYNOPSIS diff --git a/doc/man/nvme_generate_tls_key_identity.2 b/doc/man/nvme_generate_tls_key_identity.2 index 84b5174..928626b 100644 --- a/doc/man/nvme_generate_tls_key_identity.2 +++ b/doc/man/nvme_generate_tls_key_identity.2 @@ -1,4 +1,4 @@ -.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "February 2024" "libnvme API manual" LINUX +.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_generate_tls_key_identity \- Generate the TLS key identity .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_len.2 b/doc/man/nvme_get_ana_log_len.2 index 0c17419..d63b937 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "May 2024" "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 f580ea2..c3eeb9a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_attr" 9 "nvme_get_attr" "May 2024" "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 4f4a9ba..b78715d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "May 2024" "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 c27bf1c..482482d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "May 2024" "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 70e2f93..6e1f169 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "May 2024" "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 index 25ae70e..95bcbcb 100644 --- a/doc/man/nvme_get_discovery_args.2 +++ b/doc/man/nvme_get_discovery_args.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_get_discovery_args" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_get_discovery_args" "May 2024" "API Manual" LINUX .SH NAME struct nvme_get_discovery_args \- Arguments for nvmf_get_discovery_wargs() .SH SYNOPSIS diff --git a/doc/man/nvme_get_feature_length.2 b/doc/man/nvme_get_feature_length.2 index d321a49..5d02ad4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "May 2024" "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 index 6498350..9357ad8 100644 --- a/doc/man/nvme_get_feature_length2.2 +++ b/doc/man/nvme_get_feature_length2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_feature_length2 \- Retreive the command payload length for a specific feature identifier .SH SYNOPSIS diff --git a/doc/man/nvme_get_features.2 b/doc/man/nvme_get_features.2 index a8c86cf..a417388 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features" 9 "nvme_get_features" "May 2024" "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 1a01c9c..7ebbb2f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "May 2024" "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 fa2a6c6..9aaabc7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "May 2024" "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 59a41bc..ae18f36 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "May 2024" "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 823b0f9..e026c12 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_data" 9 "nvme_get_features_data" "May 2024" "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 cabe355..00f816b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "May 2024" "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 f8e14eb..5c17851 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "May 2024" "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_err_recovery2.2 b/doc/man/nvme_get_features_err_recovery2.2 index e79833f..a5852d0 100644 --- a/doc/man/nvme_get_features_err_recovery2.2 +++ b/doc/man/nvme_get_features_err_recovery2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_err_recovery2 \- 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 ce7b9c1..fb9ffdf 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "May 2024" "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 48d333b..6cf3ece 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "May 2024" "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 2f2011a..d9ba9a6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "May 2024" "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 e31e862..1e6d636 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "May 2024" "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_host_mem_buf2.2 b/doc/man/nvme_get_features_host_mem_buf2.2 index 6740a8c..44ffb0b 100644 --- a/doc/man/nvme_get_features_host_mem_buf2.2 +++ b/doc/man/nvme_get_features_host_mem_buf2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_mem_buf2 \- 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 eb448eb..833193e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "May 2024" "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 31f03fa..ff97992 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "May 2024" "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 2a7967c..4ec8b8b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "May 2024" "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 fed7ea7..1c61edf 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "May 2024" "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 05686d3..1d84e62 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "May 2024" "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_range2.2 b/doc/man/nvme_get_features_lba_range2.2 index fc6fdfd..6408a10 100644 --- a/doc/man/nvme_get_features_lba_range2.2 +++ b/doc/man/nvme_get_features_lba_range2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_range2 \- 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 0338c16..3c3b9dc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "May 2024" "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 ce6d00c..e3aa014 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "May 2024" "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 ad433b4..310bac5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "May 2024" "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 3683d04..45a7b16 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "May 2024" "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 0771662..5a4ffe1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "May 2024" "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 295c55b..5f36237 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "May 2024" "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 fe25a84..287dcd8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "May 2024" "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_mask2.2 b/doc/man/nvme_get_features_resv_mask2.2 index 271efee..13e00ee 100644 --- a/doc/man/nvme_get_features_resv_mask2.2 +++ b/doc/man/nvme_get_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_mask2 \- 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 db4f208..ec70e75 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "May 2024" "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_resv_persist2.2 b/doc/man/nvme_get_features_resv_persist2.2 index fb46e77..6ad7bae 100644 --- a/doc/man/nvme_get_features_resv_persist2.2 +++ b/doc/man/nvme_get_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_persist2 \- 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 672ea0b..61721b5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "May 2024" "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 7db9cec..9a3bebe 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "May 2024" "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 84e3853..7919533 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_get_features_sel" "May 2024" "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 f3701dc..88d79b9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "May 2024" "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 d10df48..7e5e00a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "May 2024" "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 96a95fe..7056ce1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "May 2024" "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 b376c48..4e1b866 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "May 2024" "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 478c5a3..e3101d0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "May 2024" "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 48b2d62..2b27921 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "May 2024" "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 e0200f2..17d6bb5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "May 2024" "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 b60f685..81f5a27 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "May 2024" "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 c1d39a9..8b6be5f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "May 2024" "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 73a3287..bef70d1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "May 2024" "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 b64b7d6..f227a5a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log" 9 "nvme_get_log" "May 2024" "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 8dcf428..f0b252b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "May 2024" "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 22c7787..5b957a1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "May 2024" "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 e4c5d18..5f6530f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "May 2024" "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 055d26d..1a92b54 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "May 2024" "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 8fbc4f6..7311bcc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "May 2024" "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 145de37..d8ab234 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "May 2024" "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 7c6dc37..b6d43aa 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "May 2024" "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 b5c31aa..ae2a511 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "May 2024" "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 d1e3074..9e6cc21 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "May 2024" "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 67c1dd1..c9a07ce 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "May 2024" "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 abd32df..4d30ce6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_error" 9 "nvme_get_log_error" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_error \- Retrieve nvme error log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_configurations.2 b/doc/man/nvme_get_log_fdp_configurations.2 index 0b14306..5968243 100644 --- a/doc/man/nvme_get_log_fdp_configurations.2 +++ b/doc/man/nvme_get_log_fdp_configurations.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_configurations \- Get list of Flexible Data Placement configurations .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_events.2 b/doc/man/nvme_get_log_fdp_events.2 index 1d7834d..87b239a 100644 --- a/doc/man/nvme_get_log_fdp_events.2 +++ b/doc/man/nvme_get_log_fdp_events.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_events \- Get Flexible Data Placement events .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_stats.2 b/doc/man/nvme_get_log_fdp_stats.2 index 7dd19da..c57a193 100644 --- a/doc/man/nvme_get_log_fdp_stats.2 +++ b/doc/man/nvme_get_log_fdp_stats.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_stats \- Get Flexible Data Placement statistics .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 300ffff..f9ecf4f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "May 2024" "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 3e88526..2570dc9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "May 2024" "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 32660c6..bf62e8e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "May 2024" "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 4c87a68..f166926 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "May 2024" "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 384d9df..82b74e5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "May 2024" "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 e3b16a0..ed047aa 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_page" 9 "nvme_get_log_page" "May 2024" "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 4045b53..5813e8f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "May 2024" "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_phy_rx_eom.2 b/doc/man/nvme_get_log_phy_rx_eom.2 index 845953a..53638f3 100644 --- a/doc/man/nvme_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement 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 e75dc27..aa137e9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "May 2024" "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 8ec698e..a430378 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "May 2024" "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_reclaim_unit_handle_usage.2 b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 index 1d5f274..655bd58 100644 --- a/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 +++ b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_reclaim_unit_handle_usage \- Get reclaim unit handle usage .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reservation.2 b/doc/man/nvme_get_log_reservation.2 index 85eeccc..5967bc9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "May 2024" "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 261bf1b..a0ed114 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "May 2024" "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 578db37..c530c33 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "May 2024" "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 662e004..8f16c23 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "May 2024" "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 4e2fdb6..4a05749 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "May 2024" "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 466ec9a..5b7dff7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "May 2024" "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 8b49a17..6b95b6c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "May 2024" "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 f98b6a4..95118d9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "May 2024" "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_logging_level.2 b/doc/man/nvme_get_logging_level.2 new file mode 100644 index 0000000..b2866af --- /dev/null +++ b/doc/man/nvme_get_logging_level.2 @@ -0,0 +1,21 @@ +.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_get_logging_level \- Get current logging level +.SH SYNOPSIS +.B "int" nvme_get_logging_level +.BI "(nvme_root_t r " "," +.BI "bool *log_pid " "," +.BI "bool *log_tstamp " ");" +.SH ARGUMENTS +.IP "r" 12 +nvme_root_t context +.IP "log_pid" 12 +Pointer to store a current value of logging of +the PID flag at (optional). +.IP "log_tstamp" 12 +Pointer to store a current value of logging of +the timestamp flag at (optional). +.SH "DESCRIPTION" +Retrieves current values of logging variables. +.SH "RETURN" +current log level value or DEFAULT_LOGLEVEL if not initialized. diff --git a/doc/man/nvme_get_logical_block_size.2 b/doc/man/nvme_get_logical_block_size.2 index 05992a5..9738aed 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "May 2024" "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 e608b58..d7f6c74 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "May 2024" "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 64a55ea..ebea7d6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "May 2024" "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 8b74dfe..4e1922b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_nsid" 9 "nvme_get_nsid" "May 2024" "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 0ca6ba9..f5bdb3d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "May 2024" "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 9683673..49bdf63 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_property" 9 "nvme_get_property" "May 2024" "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 592eb93..b9b2031 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_subsys_attr \- Read subsystem sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_log.2 b/doc/man/nvme_get_telemetry_log.2 index 4351c55..1ecf5e3 100644 --- a/doc/man/nvme_get_telemetry_log.2 +++ b/doc/man/nvme_get_telemetry_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_log \- Get specified telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_max.2 b/doc/man/nvme_get_telemetry_max.2 index d2b61cf..c742cf3 100644 --- a/doc/man/nvme_get_telemetry_max.2 +++ b/doc/man/nvme_get_telemetry_max.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "February 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_max \- Get telemetry limits .SH SYNOPSIS diff --git a/doc/man/nvme_hmac_alg.2 b/doc/man/nvme_hmac_alg.2 index af8f783..57a4fe9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_hmac_alg" "May 2024" "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 f13a90c..4b3aad8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_host_behavior_support" "May 2024" "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 59ec840..804c747 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "May 2024" "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 94d3e72..39123e7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "May 2024" "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 5b51b79..93dfabb 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "May 2024" "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 39c8d3d..5bbe258 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "May 2024" "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 fb929d6..6b8b453 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_root" 9 "nvme_host_get_root" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_root \- Returns nvme_root_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_is_pdc_enabled.2 b/doc/man/nvme_host_is_pdc_enabled.2 index 406dca4..795710b 100644 --- a/doc/man/nvme_host_is_pdc_enabled.2 +++ b/doc/man/nvme_host_is_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_host_is_pdc_enabled \- Is Persistenct Discovery Controller enabled .SH SYNOPSIS diff --git a/doc/man/nvme_host_mem_buf_attrs.2 b/doc/man/nvme_host_mem_buf_attrs.2 index b4a99f4..580ec67 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "May 2024" "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 662811a..75725a2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_metadata" "May 2024" "API Manual" LINUX .SH NAME struct nvme_host_metadata \- Host Metadata Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_host_release_fds.2 b/doc/man/nvme_host_release_fds.2 index 02772a9..b32acf7 100644 --- a/doc/man/nvme_host_release_fds.2 +++ b/doc/man/nvme_host_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_host_release_fds \- Close all opened file descriptors under host .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_dhchap_key.2 b/doc/man/nvme_host_set_dhchap_key.2 index f6e3018..ea8d129 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "May 2024" "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 4fb979e..a58fd13 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_hostsymname \- Set the host's symbolic name .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_pdc_enabled.2 b/doc/man/nvme_host_set_pdc_enabled.2 index 43fce53..b431ebc 100644 --- a/doc/man/nvme_host_set_pdc_enabled.2 +++ b/doc/man/nvme_host_set_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "February 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_pdc_enabled \- Set Persistent Discovery Controller flag .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl.2 b/doc/man/nvme_id_ctrl.2 index c627f87..84c714f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl" "May 2024" "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 df17a10..b57f472 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "May 2024" "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 e322d97..2f740ac 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "May 2024" "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 a7a1e34..1135345 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "May 2024" "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 2c5e43d..67aef3f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "May 2024" "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 5d21b8d..496d43c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "May 2024" "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 5d7faaf..f8a8696 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "May 2024" "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 c03bba6..7426858 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "May 2024" "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 747aee1..889699e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "May 2024" "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 4c759a1..167807e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "May 2024" "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 3fa95da..1c21556 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "May 2024" "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 1220a11..ab34884 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "May 2024" "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 4f9029c..ebd1e5f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "May 2024" "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 c32976d..426124a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "May 2024" "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 5d05ed3..52aa23d 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "May 2024" "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 f32680d..95007e7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "May 2024" "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 9fa960c..fda83ac 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "May 2024" "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 c4ebbf4..d93e2b5 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "May 2024" "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 64e6f3e..091c298 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "May 2024" "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 975554f..b013705 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "May 2024" "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 0479ea4..aed654f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "May 2024" "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 762f93a..37b5faa 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "May 2024" "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 6395687..59708e1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "May 2024" "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 2e5a52c..8f6e96f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "May 2024" "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 0045929..6e4f6e9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "May 2024" "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 bd11228..260fb5f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "May 2024" "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 a6af345..3afb3e7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "May 2024" "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 92b074d..0dbab7e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "May 2024" "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 bd48447..d9aaaf9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "May 2024" "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 89fd427..5b9dd83 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "May 2024" "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 db81959..a05f8f1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "May 2024" "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 9350a49..bf0b4b1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_directives" "May 2024" "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 76f56fe..c9811fb 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_attr" "May 2024" "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 1bf634e..cdfd345 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_list" "May 2024" "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 0d63953..4b24e4c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "May 2024" "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 d5995f9..d7f5e1b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "May 2024" "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 a9a91aa..b0a9982 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_iocs" "May 2024" "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 689f722..20dab14 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns" "May 2024" "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 15bd317..5aa916a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_attr" "May 2024" "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 248c7ac..dde5d8e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "May 2024" "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 6186d66..160dcdb 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dpc" "May 2024" "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 1f61b8e..1bd1de3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dps" "May 2024" "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 68be9cf..95acfe4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_flbas" "May 2024" "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 669d26c..66bd48a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "May 2024" "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 d501d56..9e568e8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "May 2024" "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 c7ccb04..e5d7598 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_mc" "May 2024" "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 faee303..70edb95 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_nmic" "May 2024" "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 301882f..9114253 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_rescap" "May 2024" "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 fb78c04..670bbe2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_nsfeat" "May 2024" "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 6b53ed5..a046227 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_nvmset_list" "May 2024" "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 2a377ff..4579a3e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_psd" "May 2024" "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 2be553d..348d0d2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_uuid" "May 2024" "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 f3630f4..b56e152 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list" "May 2024" "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 db887c4..dae5dc3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "May 2024" "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 332826a..406b13f 100644 --- a/doc/man/nvme_identify.2 +++ b/doc/man/nvme_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify" 9 "nvme_identify" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify" 9 "nvme_identify" "May 2024" "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 a47d827..8a1a022 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "May 2024" "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 1330390..b9a1cb2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "May 2024" "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 6b3e2b2..7a2d485 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "May 2024" "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 eb295cb..9b40f7c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "May 2024" "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 07f9820..7443ee9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "May 2024" "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 7fc4dab..126e63e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_identify_cns" "May 2024" "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 a935da9..f19e023 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "May 2024" "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 f0e8bd4..30c866e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "May 2024" "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 60cf67d..346be0c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "May 2024" "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 c5e729b..705b152 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "May 2024" "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 7e0f9b2..c0a36a4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "May 2024" "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 53269f3..7b20b46 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "May 2024" "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 ac4c8a6..ac469d5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "May 2024" "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 c1fe93c..8808429 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "May 2024" "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 7f49f72..8877a09 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns" 9 "nvme_identify_ns" "May 2024" "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 572cab3..54d7d39 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "May 2024" "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 3adaebb..4a4f636 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "May 2024" "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 ff8ea83..b0722af 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "May 2024" "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 ad351b0..10389bc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "May 2024" "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 9667f9c..4075a8d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "May 2024" "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 7ae5f3c..958bfe9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "May 2024" "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 a3010cc..66b7f93 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "May 2024" "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 c35f474..3fed99e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "May 2024" "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 2bcad5b..a7fcb3e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_uuid \- Retrieves device's UUIDs .SH SYNOPSIS diff --git a/doc/man/nvme_import_tls_key.2 b/doc/man/nvme_import_tls_key.2 new file mode 100644 index 0000000..4b3a4cc --- /dev/null +++ b/doc/man/nvme_import_tls_key.2 @@ -0,0 +1,21 @@ +.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_import_tls_key \- Import a TLS key +.SH SYNOPSIS +.B "unsigned char *" nvme_import_tls_key +.BI "(const char *encoded_key " "," +.BI "int *key_len " "," +.BI "unsigned int *hmac " ");" +.SH ARGUMENTS +.IP "encoded_key" 12 +TLS key in PSK interchange format +.IP "key_len" 12 +Length of the resulting key data +.IP "hmac" 12 +HMAC algorithm +.SH "DESCRIPTION" +Imports \fIkey_data\fP in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. +.SH "RETURN" +The raw data of the PSK or NULL with errno set on error. It is +the responsibility of the caller to free the returned string. diff --git a/doc/man/nvme_init_copy_range.2 b/doc/man/nvme_init_copy_range.2 index 36e3dfb..8b77024 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "May 2024" "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 index 54423e8..6030ff9 100644 --- a/doc/man/nvme_init_copy_range_f1.2 +++ b/doc/man/nvme_init_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f1 \- Constructs a copy range f1 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f2.2 b/doc/man/nvme_init_copy_range_f2.2 index 8c0a469..68e4365 100644 --- a/doc/man/nvme_init_copy_range_f2.2 +++ b/doc/man/nvme_init_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f2 \- Constructs a copy range f2 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f3.2 b/doc/man/nvme_init_copy_range_f3.2 index 398f474..dd73096 100644 --- a/doc/man/nvme_init_copy_range_f3.2 +++ b/doc/man/nvme_init_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f3 \- Constructs a copy range f3 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_ctrl.2 b/doc/man/nvme_init_ctrl.2 index 4b3e34a..899c7b5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "May 2024" "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 92fadd0..8c20fd6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "May 2024" "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 9ca2dc0..a27c355 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "May 2024" "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 e20c965..84005a9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_init_logging" 9 "nvme_init_logging" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_init_logging \- Initialize logging .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key.2 b/doc/man/nvme_insert_tls_key.2 index 7d9b3bf..1a4ae7c 100644 --- a/doc/man/nvme_insert_tls_key.2 +++ b/doc/man/nvme_insert_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "February 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key_versioned.2 b/doc/man/nvme_insert_tls_key_versioned.2 index 4381914..d02ea10 100644 --- a/doc/man/nvme_insert_tls_key_versioned.2 +++ b/doc/man/nvme_insert_tls_key_versioned.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "February 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key_versioned \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_io.2 b/doc/man/nvme_io.2 index 3af5d96..1d8c7f4 100644 --- a/doc/man/nvme_io.2 +++ b/doc/man/nvme_io.2 @@ -1,4 +1,4 @@ -.TH "nvme_io" 9 "nvme_io" "February 2024" "libnvme API manual" LINUX +.TH "nvme_io" 9 "nvme_io" "May 2024" "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 98129ca..afc2c01 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_control_flags" "May 2024" "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 811f9c0..ffd0cda 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_dsm_flags" "May 2024" "API Manual" LINUX .SH NAME enum nvme_io_dsm_flags \- Dataset Management flags .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv.2 b/doc/man/nvme_io_mgmt_recv.2 index 83bdaa2..0ae660b 100644 --- a/doc/man/nvme_io_mgmt_recv.2 +++ b/doc/man/nvme_io_mgmt_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "February 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_recv \- I/O Management Receive command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv_mo.2 b/doc/man/nvme_io_mgmt_recv_mo.2 index b38dc0b..914f7c6 100644 --- a/doc/man/nvme_io_mgmt_recv_mo.2 +++ b/doc/man/nvme_io_mgmt_recv_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "May 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_recv_mo \- I/O Management Receive - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send.2 b/doc/man/nvme_io_mgmt_send.2 index 43f2c7f..492f2fe 100644 --- a/doc/man/nvme_io_mgmt_send.2 +++ b/doc/man/nvme_io_mgmt_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "February 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_send \- I/O Management Send command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send_mo.2 b/doc/man/nvme_io_mgmt_send_mo.2 index 0cb8504..47722e4 100644 --- a/doc/man/nvme_io_mgmt_send_mo.2 +++ b/doc/man/nvme_io_mgmt_send_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "May 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_send_mo \- I/O Management Send - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_opcode.2 b/doc/man/nvme_io_opcode.2 index 409edfa..f077961 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_opcode" "May 2024" "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 8e2d54d..b96d533 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru" 9 "nvme_io_passthru" "May 2024" "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 index de03474..0de2082 100644 --- a/doc/man/nvme_io_passthru64.2 +++ b/doc/man/nvme_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "February 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_io_passthru64 \- Submit an nvme io passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_is_64bit_reg.2 b/doc/man/nvme_is_64bit_reg.2 index ecebc87..b93733c 100644 --- a/doc/man/nvme_is_64bit_reg.2 +++ b/doc/man/nvme_is_64bit_reg.2 @@ -1,4 +1,4 @@ -.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "February 2024" "libnvme API manual" LINUX +.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_is_64bit_reg \- Checks if offset of the controller register is a know 64bit value. .SH SYNOPSIS diff --git a/doc/man/nvme_lba_range_type.2 b/doc/man/nvme_lba_range_type.2 index b6f934b..6d3dae8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type" "May 2024" "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 25ad9d8..d6154b2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "May 2024" "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 77a8d4d..f2cde4b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_rd" "May 2024" "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 7fb6a55..498d1fc 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status" "May 2024" "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 66ae259..d2454ad 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lba_status_atype" "May 2024" "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 deb31d7..639eba3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_desc" "May 2024" "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 92a4ea7..8f7fc61 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_log" "May 2024" "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 2b699b5..936780d 100644 --- a/doc/man/nvme_lbaf.2 +++ b/doc/man/nvme_lbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbaf" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbaf" "May 2024" "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 d6511d8..8f9b0aa 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbaf_rp" "May 2024" "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 b8319d0..507e5b5 100644 --- a/doc/man/nvme_lbart.2 +++ b/doc/man/nvme_lbart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbart" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbart" "May 2024" "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 abaf8bf..869d064 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbas_ns_element" "May 2024" "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 a71f6dc..0d00d8f 100644 --- a/doc/man/nvme_lockdown.2 +++ b/doc/man/nvme_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_lockdown" 9 "nvme_lockdown" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lockdown" 9 "nvme_lockdown" "May 2024" "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 618e156..80e399b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_ana_lsp" "May 2024" "API Manual" LINUX .SH NAME enum nvme_log_ana_lsp \- Asymmetric Namespace Access - Return Groups Only .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_action.2 b/doc/man/nvme_log_phy_rx_eom_action.2 index b0f3ae1..6868049 100644 --- a/doc/man/nvme_log_phy_rx_eom_action.2 +++ b/doc/man/nvme_log_phy_rx_eom_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "May 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_action \- Physical Interface Receiver Eye Opening Measurement Action .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_quality.2 b/doc/man/nvme_log_phy_rx_eom_quality.2 index c0e0ff3..f520d44 100644 --- a/doc/man/nvme_log_phy_rx_eom_quality.2 +++ b/doc/man/nvme_log_phy_rx_eom_quality.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "May 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_quality \- Physical Interface Receiver Eye Opening Measurement Quality .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_ctrl.2 b/doc/man/nvme_lookup_ctrl.2 index d68e4da..d72c43c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "May 2024" "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 13644b0..80b2cc4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_host" 9 "nvme_lookup_host" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_host \- Lookup nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_key.2 b/doc/man/nvme_lookup_key.2 index 745ba37..00c218a 100644 --- a/doc/man/nvme_lookup_key.2 +++ b/doc/man/nvme_lookup_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_key" 9 "nvme_lookup_key" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_key" 9 "nvme_lookup_key" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_key \- Lookup key serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_keyring.2 b/doc/man/nvme_lookup_keyring.2 index 591a6d7..42b8b02 100644 --- a/doc/man/nvme_lookup_keyring.2 +++ b/doc/man/nvme_lookup_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_keyring \- Lookup keyring serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_subsystem.2 b/doc/man/nvme_lookup_subsystem.2 index ef376f9..a0db1e0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "May 2024" "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 319aac1..f610f20 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "May 2024" "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 7e85fbf..3b23386 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "May 2024" "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 c231923..c5ecadf 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "May 2024" "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 461524c..3088b94 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_metadata_element_desc" "May 2024" "API Manual" LINUX .SH NAME struct nvme_metadata_element_desc \- Metadata Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_admin_passthru.2 b/doc/man/nvme_mi_admin_admin_passthru.2 index 1b84014..e6a7d1f 100644 --- a/doc/man/nvme_mi_admin_admin_passthru.2 +++ b/doc/man/nvme_mi_admin_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_admin_passthru \- Submit an nvme admin passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_format_nvm.2 b/doc/man/nvme_mi_admin_format_nvm.2 index 12041e6..cb0f7c9 100644 --- a/doc/man/nvme_mi_admin_format_nvm.2 +++ b/doc/man/nvme_mi_admin_format_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_format_nvm \- Format NVMe namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_commit.2 b/doc/man/nvme_mi_admin_fw_commit.2 index 2d13667..6b6c466 100644 --- a/doc/man/nvme_mi_admin_fw_commit.2 +++ b/doc/man/nvme_mi_admin_fw_commit.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_commit \- Commit firmware using the specified action .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_download.2 b/doc/man/nvme_mi_admin_fw_download.2 index e73d41d..e1b6f44 100644 --- a/doc/man/nvme_mi_admin_fw_download.2 +++ b/doc/man/nvme_mi_admin_fw_download.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_download \- Download part or all of a firmware image to the controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_features_data.2 b/doc/man/nvme_mi_admin_get_features_data.2 index fdde194..b65df13 100644 --- a/doc/man/nvme_mi_admin_get_features_data.2 +++ b/doc/man/nvme_mi_admin_get_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_features_data \- Helper function for &nvme_mi_admin_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log.2 b/doc/man/nvme_mi_admin_get_log.2 index 68c3af8..c48c611 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_ana.2 b/doc/man/nvme_mi_admin_get_log_ana.2 index 5b7402f..f381cc9 100644 --- a/doc/man/nvme_mi_admin_get_log_ana.2 +++ b/doc/man/nvme_mi_admin_get_log_ana.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana \- Retrieve Asymmetric Namespace Access log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_ana_groups.2 b/doc/man/nvme_mi_admin_get_log_ana_groups.2 index 92dd182..18f4f39 100644 --- a/doc/man/nvme_mi_admin_get_log_ana_groups.2 +++ b/doc/man/nvme_mi_admin_get_log_ana_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_boot_partition.2 b/doc/man/nvme_mi_admin_get_log_boot_partition.2 index f952cc4..42fec36 100644 --- a/doc/man/nvme_mi_admin_get_log_boot_partition.2 +++ b/doc/man/nvme_mi_admin_get_log_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_boot_partition \- Retrieve Boot Partition .SH SYNOPSIS 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 index 6663d45..9c51db3 100644 --- a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 +++ b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_changed_ns_list \- Retrieve namespace changed list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 index 3f00c88..283e6e7 100644 --- a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_cmd_effects \- Retrieve nvme command effects log .SH SYNOPSIS 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 index 659910e..6635ef3 100644 --- a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_create_telemetry_host \- Create host telemetry log .SH SYNOPSIS 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 index 682b625..62f6a73 100644 --- a/doc/man/nvme_mi_admin_get_log_device_self_test.2 +++ b/doc/man/nvme_mi_admin_get_log_device_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_device_self_test \- Retrieve the device self test log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_discovery.2 b/doc/man/nvme_mi_admin_get_log_discovery.2 index bb10fb6..a1ee846 100644 --- a/doc/man/nvme_mi_admin_get_log_discovery.2 +++ b/doc/man/nvme_mi_admin_get_log_discovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_endurance_group.2 b/doc/man/nvme_mi_admin_get_log_endurance_group.2 index 60d0988..b48cf74 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_group.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_group.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_group \- Get Endurance Group log .SH SYNOPSIS 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 index d9d5edc..14a0a97 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_grp_evt \- Retrieve Rotational Media Information .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_error.2 b/doc/man/nvme_mi_admin_get_log_error.2 index 2f41599..a08dc9a 100644 --- a/doc/man/nvme_mi_admin_get_log_error.2 +++ b/doc/man/nvme_mi_admin_get_log_error.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_error \- Retrieve nvme error log .SH SYNOPSIS 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 index a04e839..aca967c 100644 --- a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_fw_slot.2 b/doc/man/nvme_mi_admin_get_log_fw_slot.2 index d6710a2..e83459a 100644 --- a/doc/man/nvme_mi_admin_get_log_fw_slot.2 +++ b/doc/man/nvme_mi_admin_get_log_fw_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fw_slot \- Retrieves the controller firmware log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_lba_status.2 b/doc/man/nvme_mi_admin_get_log_lba_status.2 index 862e63a..54d793a 100644 --- a/doc/man/nvme_mi_admin_get_log_lba_status.2 +++ b/doc/man/nvme_mi_admin_get_log_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS 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 index ef225fd..6bcd2de 100644 --- a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 +++ b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_media_unit_stat \- Retrieve Media Unit Status .SH SYNOPSIS 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 index 15dfd48..8b080d9 100644 --- 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 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "May 2024" "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 diff --git a/doc/man/nvme_mi_admin_get_log_page.2 b/doc/man/nvme_mi_admin_get_log_page.2 index f016429..f6511cc 100644 --- a/doc/man/nvme_mi_admin_get_log_page.2 +++ b/doc/man/nvme_mi_admin_get_log_page.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_page \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_persistent_event.2 b/doc/man/nvme_mi_admin_get_log_persistent_event.2 index fcdc3f4..fe16d8a 100644 --- a/doc/man/nvme_mi_admin_get_log_persistent_event.2 +++ b/doc/man/nvme_mi_admin_get_log_persistent_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_persistent_event \- Retrieve Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 index 87917a6..c2d984b 100644 --- a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS 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 index 20cf516..f5d1921 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page .SH SYNOPSIS 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 index 756613b..f8b3fa5 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_reservation.2 b/doc/man/nvme_mi_admin_get_log_reservation.2 index 239d425..855e974 100644 --- a/doc/man/nvme_mi_admin_get_log_reservation.2 +++ b/doc/man/nvme_mi_admin_get_log_reservation.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_sanitize.2 b/doc/man/nvme_mi_admin_get_log_sanitize.2 index 4994b42..c21867c 100644 --- a/doc/man/nvme_mi_admin_get_log_sanitize.2 +++ b/doc/man/nvme_mi_admin_get_log_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_sanitize \- Retrieve Sanitize Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_simple.2 b/doc/man/nvme_mi_admin_get_log_simple.2 index 337e32a..451154e 100644 --- a/doc/man/nvme_mi_admin_get_log_simple.2 +++ b/doc/man/nvme_mi_admin_get_log_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "May 2024" "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 diff --git a/doc/man/nvme_mi_admin_get_log_smart.2 b/doc/man/nvme_mi_admin_get_log_smart.2 index 3807875..55eeca4 100644 --- a/doc/man/nvme_mi_admin_get_log_smart.2 +++ b/doc/man/nvme_mi_admin_get_log_smart.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_smart \- Retrieve nvme smart log .SH SYNOPSIS 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 index 43956c8..a20a1ce 100644 --- 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 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List .SH SYNOPSIS 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 index 49df890..c90d9fc 100644 --- a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 +++ b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_supported_log_pages \- Retrieve nmve supported log pages .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 index e2e10f1..9f78de5 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 index 92d83fe..da5163c 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_host \- Get Telemetry Host-Initiated log page .SH SYNOPSIS 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 index 7e10c44..81682ca 100644 --- a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 +++ b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_zns_changed_zones \- Retrieve list of zones that have changed .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_nsid_log.2 b/doc/man/nvme_mi_admin_get_nsid_log.2 index 7408a50..c5f3511 100644 --- a/doc/man/nvme_mi_admin_get_nsid_log.2 +++ b/doc/man/nvme_mi_admin_get_nsid_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_nsid_log \- Helper for Get Log Page functions .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify.2 b/doc/man/nvme_mi_admin_identify.2 index 3af75ee..72efaed 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify \- Perform an Admin identify command. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_active_ns_list.2 b/doc/man/nvme_mi_admin_identify_active_ns_list.2 index eabc99c..075de1c 100644 --- a/doc/man/nvme_mi_admin_identify_active_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_active_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_active_ns_list \- Perform an Admin identify for an active namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns.2 b/doc/man/nvme_mi_admin_identify_allocated_ns.2 index 2e5dd91..3ae1492 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns \- Perform an Admin identify command for an allocated namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 index b847d6e..1c82a2b 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns_list \- Perform an Admin identify for an allocated namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_cns_nsid.2 b/doc/man/nvme_mi_admin_identify_cns_nsid.2 index d6cc88a..03829e4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_cns_nsid \- Perform an Admin identify command using specific CNS/NSID parameters. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl.2 b/doc/man/nvme_mi_admin_identify_ctrl.2 index 3fe3f01..67fbe4b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl \- Perform an Admin identify for a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_ctrl_list.2 index 04379b4..e6a71a9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl_list \- Perform an Admin identify for a controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns.2 b/doc/man/nvme_mi_admin_identify_ns.2 index 1aee01e..37a4f05 100644 --- a/doc/man/nvme_mi_admin_identify_ns.2 +++ b/doc/man/nvme_mi_admin_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ns \- Perform an Admin identify command for a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns_descs.2 b/doc/man/nvme_mi_admin_identify_ns_descs.2 index 3788ef0..c662ec2 100644 --- a/doc/man/nvme_mi_admin_identify_ns_descs.2 +++ b/doc/man/nvme_mi_admin_identify_ns_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "May 2024" "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 diff --git a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 index e10dfbe..661bd39 100644 --- a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "May 2024" "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 diff --git a/doc/man/nvme_mi_admin_identify_partial.2 b/doc/man/nvme_mi_admin_identify_partial.2 index bddc694..eec683d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_partial \- Perform an Admin identify command, and retrieve partial response data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 index f595e14..177aed8 100644 --- a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 +++ b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_primary_ctrl \- Perform an Admin identify for primary controller capabilities data structure. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 index 21c76e7..76ecb24 100644 --- a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_secondary_ctrl_list \- Perform an Admin identify for a secondary controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach.2 b/doc/man/nvme_mi_admin_ns_attach.2 index 80164f3..e2d1449 100644 --- a/doc/man/nvme_mi_admin_ns_attach.2 +++ b/doc/man/nvme_mi_admin_ns_attach.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach \- Attach or detach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 index f41dfdb..dcd6dd5 100644 --- a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach_ctrls \- Attach namespace to controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 index 6965810..d6a3dba 100644 --- a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_detach_ctrls \- Detach namespace from controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_req_hdr.2 b/doc/man/nvme_mi_admin_req_hdr.2 index 95aac5f..703cfd1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "May 2024" "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 c26cbd9..add43ed 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "May 2024" "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 index 2902275..7afa301 100644 --- a/doc/man/nvme_mi_admin_sanitize_nvm.2 +++ b/doc/man/nvme_mi_admin_sanitize_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_sanitize_nvm \- Start a subsystem Sanitize operation .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_recv.2 b/doc/man/nvme_mi_admin_security_recv.2 index 804d40c..7c1e707 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_recv \- Perform a Security Receive command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_send.2 b/doc/man/nvme_mi_admin_security_send.2 index 61da5f3..b9ac0de 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_send \- Perform a Security Send command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_xfer.2 b/doc/man/nvme_mi_admin_xfer.2 index a76189c..6027146 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_xfer \- Raw admin transfer interface. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ccs.2 b/doc/man/nvme_mi_ccs.2 index 565b96d..08dd5b7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_ccs" "May 2024" "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 d380e4d..d316820 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close" 9 "nvme_mi_close" "May 2024" "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 605a6af..0f206d4 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "May 2024" "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 502bff6..0f2ab63 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "May 2024" "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 df5678c..627ec16 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "May 2024" "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 fa1512f..d2ff40e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_id" "May 2024" "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 c6cab1e..17344bd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "May 2024" "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 e11912b..55cf7c6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "May 2024" "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 5eb19a1..ec8a849 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_csts" "May 2024" "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 4483462..98aca50 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "May 2024" "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_ctrl_id.2 b/doc/man/nvme_mi_ctrl_id.2 index c07633f..7c64d54 100644 --- a/doc/man/nvme_mi_ctrl_id.2 +++ b/doc/man/nvme_mi_ctrl_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_ctrl_id \- get the ID of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cwarn.2 b/doc/man/nvme_mi_cwarn.2 index fac6e60..fbc6fc2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cwarn" "May 2024" "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 88e7fab..2a3266e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_dtyp" "May 2024" "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 20ed699..9d72fba 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_elem" "May 2024" "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 b8ab29f..75ab84c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "May 2024" "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 a0f6d44..d4d5f87 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "May 2024" "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 ba3249f..ca369b0 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_message_type" "May 2024" "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 c884079..ed19f78 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "May 2024" "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 36ee870..cf09de7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "May 2024" "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 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 265ded1..f5e931c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "May 2024" "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 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 775b3d8..215ef31 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "May 2024" "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 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 b8a7ad2..9c76974 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "May 2024" "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 diff --git a/doc/man/nvme_mi_mi_req_hdr.2 b/doc/man/nvme_mi_mi_req_hdr.2 index fa49be1..08385b8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "May 2024" "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 974ec3c..cf27de1 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "May 2024" "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 f2e2d6d..462aee3 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "May 2024" "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 diff --git a/doc/man/nvme_mi_msg_hdr.2 b/doc/man/nvme_mi_msg_hdr.2 index e8f70e6..b25f953 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "May 2024" "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 32baa77..21cfa82 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_resp" "May 2024" "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 b10ea76..440d1fa 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "May 2024" "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 2f99512..50ffc96 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "May 2024" "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 8d47c5d..7545f04 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_osc" "May 2024" "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 e99e772..c7d61a6 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_pcie" "May 2024" "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 95e2238..bc4ff5a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_smb" "May 2024" "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 c340978..98695e5 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "May 2024" "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 9f1d40a..b49abe5 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "May 2024" "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 6e21e75..0f195c8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_port_info" "May 2024" "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 3d84219..616abe3 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "May 2024" "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 73a1e9c..7ef2ad0 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_resp_status" "May 2024" "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_set_probe_enabled.2 b/doc/man/nvme_mi_set_probe_enabled.2 index bc40f19..3940f27 100644 --- a/doc/man/nvme_mi_set_probe_enabled.2 +++ b/doc/man/nvme_mi_set_probe_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_set_probe_enabled \- enable/disable the probe for new endpoints .SH SYNOPSIS diff --git a/doc/man/nvme_mi_status_to_string.2 b/doc/man/nvme_mi_status_to_string.2 index bb4ba45..57364fb 100644 --- a/doc/man/nvme_mi_status_to_string.2 +++ b/doc/man/nvme_mi_status_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "February 2024" "libnvme API manual" LINUX +.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_status_to_string \- return a string representation of the MI status. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_hdr.2 b/doc/man/nvme_mi_vpd_hdr.2 index ff51fe1..3cc517e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "May 2024" "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 47ff9a4..f1afba6 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "May 2024" "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 190a1d0..805c0ca 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "May 2024" "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 9085fba..7a2c246 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "May 2024" "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 d282e3c..ef1be75 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "May 2024" "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 73aec0f..f304aee 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "May 2024" "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 4093c9b..e81a9e3 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "May 2024" "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 59e15dd..bb7ff40 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "May 2024" "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 09156bf..3d61055 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "May 2024" "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 3df6ead..5beb6a0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "May 2024" "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 d181d07..ba8b099 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "May 2024" "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 2186042..f6f1bc7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "May 2024" "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 56a9ad6..7dbc7d9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_free.2 b/doc/man/nvme_nbft_free.2 index b4a3c0e..ee1c7b8 100644 --- a/doc/man/nvme_nbft_free.2 +++ b/doc/man/nvme_nbft_free.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_free" 9 "nvme_nbft_free" "February 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_free" 9 "nvme_nbft_free" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_free \- Free the struct nbft_info and its contents .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_read.2 b/doc/man/nvme_nbft_read.2 index ac97752..c40ec16 100644 --- a/doc/man/nvme_nbft_read.2 +++ b/doc/man/nvme_nbft_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_read" 9 "nvme_nbft_read" "February 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_read" 9 "nvme_nbft_read" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_read \- Read and parse contents of an ACPI NBFT table .SH SYNOPSIS diff --git a/doc/man/nvme_nd_ns_fpi.2 b/doc/man/nvme_nd_ns_fpi.2 index 38ba32f..a81df35 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "May 2024" "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 fe6457b..b2b4b90 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_next_host" 9 "nvme_next_host" "May 2024" "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 1529bdb..8d858b7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "May 2024" "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 cea24a4..2e85a87 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach" 9 "nvme_ns_attach" "May 2024" "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 e3abef5..68f94a8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "May 2024" "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 d1f3e67..f9a7377 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_attach_sel" "May 2024" "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 37700cb..a5863ac 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_compare" 9 "nvme_ns_compare" "May 2024" "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 062e89c..9f3fc14 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "May 2024" "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 dd9a0b8..67425cc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_flush" 9 "nvme_ns_flush" "May 2024" "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 61ab0c9..5b90123 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "May 2024" "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 2c3be94..20aa557 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "May 2024" "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 index 2f8a8b9..ba7397e 100644 --- a/doc/man/nvme_ns_get_eui64.2 +++ b/doc/man/nvme_ns_get_eui64.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_eui64 \- 64-bit eui of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_fd.2 b/doc/man/nvme_ns_get_fd.2 index fee2816..197af43 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "May 2024" "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 2e314cc..4ba2a4b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "May 2024" "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 f076891..5668933 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "May 2024" "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 dcc03c4..27f2d34 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "May 2024" "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 d6e6fcb..80d4f88 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "May 2024" "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 c34b4c6..f65e249 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "May 2024" "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 0d15ef2..0fa0c67 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "May 2024" "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 2cc4f89..7cc22da 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "May 2024" "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 809aa5a..7729766 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "May 2024" "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 4e8d956..92309d2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "May 2024" "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 8ed328c..b4b913d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "May 2024" "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 21b802b..e89797d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "May 2024" "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 6b86f15..12ad11c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "May 2024" "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 870b8d7..b48702b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "May 2024" "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 265d5f1..b4d4f62 100644 --- a/doc/man/nvme_ns_get_uuid.2 +++ b/doc/man/nvme_ns_get_uuid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_uuid \- UUID of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_id_desc.2 b/doc/man/nvme_ns_id_desc.2 index 685765e..db9e5a2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_id_desc" "May 2024" "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 82d116a..da7607a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "May 2024" "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 d3fce45..ed8f754 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify" 9 "nvme_ns_identify" "May 2024" "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 fb9ad37..796f8d0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "May 2024" "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 7c71ee3..3914acd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_list" "May 2024" "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 e50a6da..e6fa70a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_metadata_type" "May 2024" "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 7b40ec3..9523c54 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "May 2024" "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 11a842d..a94102e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "May 2024" "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 97985ab..a467a3d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "May 2024" "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_delete_timeout.2 b/doc/man/nvme_ns_mgmt_delete_timeout.2 new file mode 100644 index 0000000..49a61b7 --- /dev/null +++ b/doc/man/nvme_ns_mgmt_delete_timeout.2 @@ -0,0 +1,23 @@ +.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ns_mgmt_delete_timeout \- Delete a non attached namespace with timeout +.SH SYNOPSIS +.B "int" nvme_ns_mgmt_delete_timeout +.BI "(int fd " "," +.BI "__u32 nsid " "," +.BI "__u32 timeout " ");" +.SH ARGUMENTS +.IP "fd" 12 +File descriptor of nvme device +.IP "nsid" 12 +Namespace identifier to delete +.IP "timeout" 12 +Override the default timeout to this value in milliseconds; +set to 0 to use the system default. +.SH "DESCRIPTION" +It is recommended that a namespace being deleted is not attached to any +controller. Use the \fBnvme_ns_detach_ctrls\fP first if the namespace is still +attached. +.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_ns_mgmt_host_sw_specified.2 b/doc/man/nvme_ns_mgmt_host_sw_specified.2 index 86f5164..9de961e 100644 --- a/doc/man/nvme_ns_mgmt_host_sw_specified.2 +++ b/doc/man/nvme_ns_mgmt_host_sw_specified.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "May 2024" "API Manual" LINUX .SH NAME struct nvme_ns_mgmt_host_sw_specified \- Namespace management Host Software Specified Fields. .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_sel.2 b/doc/man/nvme_ns_mgmt_sel.2 index 1fd519c..16817f2 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "May 2024" "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 7f2164c..c4c703b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_read" 9 "nvme_ns_read" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_read \- Read from a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_release_fd.2 b/doc/man/nvme_ns_release_fd.2 index 9cd406d..cc09887 100644 --- a/doc/man/nvme_ns_release_fd.2 +++ b/doc/man/nvme_ns_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_release_fd \- Close fd and clear fd from ns object .SH SYNOPSIS diff --git a/doc/man/nvme_ns_rescan.2 b/doc/man/nvme_ns_rescan.2 index bd05c54..473394a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "May 2024" "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 665b1c3..6b0ea14 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_verify" 9 "nvme_ns_verify" "May 2024" "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 02275ed..6c833d6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write" 9 "nvme_ns_write" "May 2024" "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 074a38e..4e97c31 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "May 2024" "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 5c16ed1..c620e84 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "May 2024" "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 21fa7ec..0b25b86 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "May 2024" "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 3d387ca..c36ca6b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "May 2024" "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 c970512..91b42a9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvm_id_ns" "May 2024" "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 a43a996..4569aca 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "May 2024" "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 dfca1be..1b24cbd 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "May 2024" "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 c6d99bf..31b5e85 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "May 2024" "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 f0af656..d654f9e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_attr" "May 2024" "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 feb1f1f..5742483 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "May 2024" "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 fc05409..7dc9120 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "May 2024" "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 56f266f..55703ba 100644 --- a/doc/man/nvme_open.2 +++ b/doc/man/nvme_open.2 @@ -1,4 +1,4 @@ -.TH "nvme_open" 9 "nvme_open" "February 2024" "libnvme API manual" LINUX +.TH "nvme_open" 9 "nvme_open" "May 2024" "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 565bd5f..38149bd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd" "May 2024" "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 index 8d8ba84..0a89318 100644 --- a/doc/man/nvme_passthru_cmd64.2 +++ b/doc/man/nvme_passthru_cmd64.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_passthru_cmd64" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd64" "May 2024" "API Manual" LINUX .SH NAME struct nvme_passthru_cmd64 \- 64-bit nvme passthrough command structure .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ana_state.2 b/doc/man/nvme_path_get_ana_state.2 index 1ff2cc2..ceec0db 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "May 2024" "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 4b4bb78..ab5fa8d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "May 2024" "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 e335a98..48cad51 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_name" 9 "nvme_path_get_name" "May 2024" "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 318162b..5105840 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "May 2024" "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 b7a3f07..c910437 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "May 2024" "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 2b862da..3cba004 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_paths_filter" 9 "nvme_paths_filter" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_paths_filter \- Filter for paths .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai.2 b/doc/man/nvme_pel_ehai.2 new file mode 100644 index 0000000..ff865c1 --- /dev/null +++ b/doc/man/nvme_pel_ehai.2 @@ -0,0 +1,34 @@ +.TH "libnvme" 9 "enum nvme_pel_ehai" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pel_ehai \- This field indicates the persistent event header additional information +.SH SYNOPSIS +enum nvme_pel_ehai { +.br +.BI " NVME_PEL_EHAI_PIT_SHIFT" +, +.br +.br +.BI " NVME_PEL_EHAI_RSVD_SHIFT" +, +.br +.br +.BI " NVME_PEL_EHAI_PIT_MASK" +, +.br +.br +.BI " NVME_PEL_EHAI_RSVD_MASK" + +}; +.SH Constants +.IP "NVME_PEL_EHAI_PIT_SHIFT" 12 +Shift amount to get the reporting context port identifier +from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_EHAI_RSVD_SHIFT" 12 +Shift amount to get the reserved reporting context +from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_EHAI_PIT_MASK" 12 +Mask to get the reporting context port identifier from +the \fIstruct nvme_st_result\fP.dsts field. +.IP "NVME_PEL_EHAI_RSVD_MASK" 12 +Mask to get the reserved reporting context from +the \fIstruct nvme_st_result\fP.dsts field. diff --git a/doc/man/nvme_pel_ehai_pit.2 b/doc/man/nvme_pel_ehai_pit.2 new file mode 100644 index 0000000..1078754 --- /dev/null +++ b/doc/man/nvme_pel_ehai_pit.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pel_ehai_pit \- Persistent Event Header Additional Information - Port Identifier Type +.SH SYNOPSIS +enum nvme_pel_ehai_pit { +.br +.BI " NVME_PEL_EHAI_PIT_NOT_REPORTED" +, +.br +.br +.BI " NVME_PEL_EHAI_PIT_NSS_PORT" +, +.br +.br +.BI " NVME_PEL_EHAI_PIT_NMI_PORT" +, +.br +.br +.BI " NVME_PEL_EHAI_PIT_NOT_ASSOCIATED" + +}; +.SH Constants +.IP "NVME_PEL_EHAI_PIT_NOT_REPORTED" 12 +PIT not reported and PELPID does not apply +.IP "NVME_PEL_EHAI_PIT_NSS_PORT" 12 +NVM subsystem port +.IP "NVME_PEL_EHAI_PIT_NMI_PORT" 12 +NVMe-MI port +.IP "NVME_PEL_EHAI_PIT_NOT_ASSOCIATED" 12 +Event not associated with any port and PELPID does not apply diff --git a/doc/man/nvme_pel_rci.2 b/doc/man/nvme_pel_rci.2 new file mode 100644 index 0000000..82c1af0 --- /dev/null +++ b/doc/man/nvme_pel_rci.2 @@ -0,0 +1,62 @@ +.TH "libnvme" 9 "enum nvme_pel_rci" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pel_rci \- This field indicates the persistent event log reporting context +.SH SYNOPSIS +enum nvme_pel_rci { +.br +.BI " NVME_PEL_RCI_RCPID_SHIFT" +, +.br +.br +.BI " NVME_PEL_RCI_RCPIT_SHIFT" +, +.br +.br +.BI " NVME_PEL_RCI_RCE_SHIFT" +, +.br +.br +.BI " NVME_PEL_RCI_RSVD_SHIFT" +, +.br +.br +.BI " NVME_PEL_RCI_RCPID_MASK" +, +.br +.br +.BI " NVME_PEL_RCI_RCPIT_MASK" +, +.br +.br +.BI " NVME_PEL_RCI_RCE_MASK" +, +.br +.br +.BI " NVME_PEL_RCI_RSVD_MASK" + +}; +.SH Constants +.IP "NVME_PEL_RCI_RCPID_SHIFT" 12 +Shift amount to get the reporting context port identifier +from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RCPIT_SHIFT" 12 +Shift amount to get the reporting context port identifier +type from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RCE_SHIFT" 12 +Shift amount to get the reporting context exists +from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RSVD_SHIFT" 12 +Shift amount to get the reserved reporting context +from the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RCPID_MASK" 12 +Mask to get the reporting context port identifier from +the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RCPIT_MASK" 12 +Mask to get the reporting context port identifier type from +the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RCE_MASK" 12 +Mask to get the reporting context exists from +the \fIstruct nvme_persistent_event_log\fP.rci field. +.IP "NVME_PEL_RCI_RSVD_MASK" 12 +Mask to get the reserved reporting context from +the \fIstruct nvme_persistent_event_log\fP.rci field. diff --git a/doc/man/nvme_pel_rci_rcpit.2 b/doc/man/nvme_pel_rci_rcpit.2 new file mode 100644 index 0000000..b4c9bf6 --- /dev/null +++ b/doc/man/nvme_pel_rci_rcpit.2 @@ -0,0 +1,24 @@ +.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pel_rci_rcpit \- Persistent Event Log Reporting Context - Port Identifier Type +.SH SYNOPSIS +enum nvme_pel_rci_rcpit { +.br +.BI " NVME_PEL_RCI_RCPIT_NOT_EXIST" +, +.br +.br +.BI " NVME_PEL_RCI_RCPIT_EST_PORT" +, +.br +.br +.BI " NVME_PEL_RCI_RCPIT_EST_ME" + +}; +.SH Constants +.IP "NVME_PEL_RCI_RCPIT_NOT_EXIST" 12 +Does not already exist +.IP "NVME_PEL_RCI_RCPIT_EST_PORT" 12 +Established by an NVM subsystem port +.IP "NVME_PEL_RCI_RCPIT_EST_ME" 12 +Established by a Management Endpoint diff --git a/doc/man/nvme_persistent_event_entry.2 b/doc/man/nvme_persistent_event_entry.2 index 8a47c92..01e4287 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_entry" "May 2024" "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 a8dc951..1b439ea 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_log" "May 2024" "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 ea6b6d2..87df22e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_persistent_event_types" "May 2024" "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 2e09053..7a03c4f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pevent_log_action" "May 2024" "API Manual" LINUX .SH NAME enum nvme_pevent_log_action \- Persistent Event Log - Action .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_log.2 b/doc/man/nvme_phy_rx_eom_log.2 index a90bac2..145bea6 100644 --- a/doc/man/nvme_phy_rx_eom_log.2 +++ b/doc/man/nvme_phy_rx_eom_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "May 2024" "API Manual" LINUX .SH NAME struct nvme_phy_rx_eom_log \- Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_progress.2 b/doc/man/nvme_phy_rx_eom_progress.2 index 6fcc680..9676521 100644 --- a/doc/man/nvme_phy_rx_eom_progress.2 +++ b/doc/man/nvme_phy_rx_eom_progress.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "May 2024" "API Manual" LINUX .SH NAME enum nvme_phy_rx_eom_progress \- EOM In Progress Values .SH SYNOPSIS diff --git a/doc/man/nvme_plm_config.2 b/doc/man/nvme_plm_config.2 index ec3f1a8..8df20f4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_plm_config" "May 2024" "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 8ca8b55..fa362e2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_size" 9 "nvme_pmr_size" "May 2024" "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 115c54c..fefe9ec 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_pmr_throughput \- Calculate throughput of persistent memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_pmrcap.2 b/doc/man/nvme_pmrcap.2 new file mode 100644 index 0000000..4217328 --- /dev/null +++ b/doc/man/nvme_pmrcap.2 @@ -0,0 +1,114 @@ +.TH "libnvme" 9 "enum nvme_pmrcap" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrcap \- This field indicates the persistent memory region capabilities +.SH SYNOPSIS +enum nvme_pmrcap { +.br +.BI " NVME_PMRCAP_RDS_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_WDS_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_BIR_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_PMRTU_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_PMRWBM_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_PMRTO_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_CMSS_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_PMRWMB_SHIFT" +, +.br +.br +.BI " NVME_PMRCAP_RDS_MASK" +, +.br +.br +.BI " NVME_PMRCAP_WDS_MASK" +, +.br +.br +.BI " NVME_PMRCAP_BIR_MASK" +, +.br +.br +.BI " NVME_PMRCAP_PMRTU_MASK" +, +.br +.br +.BI " NVME_PMRCAP_PMRWBM_MASK" +, +.br +.br +.BI " NVME_PMRCAP_PMRTO_MASK" +, +.br +.br +.BI " NVME_PMRCAP_CMSS_MASK" +, +.br +.br +.BI " NVME_PMRCAP_PMRWMB_MASK" +, +.br +.br +.BI " NVME_PMRCAP_PMRTU_500MS" +, +.br +.br +.BI " NVME_PMRCAP_PMRTU_60S" + +}; +.SH Constants +.IP "NVME_PMRCAP_RDS_SHIFT" 12 +Shift amount to get the read data support +.IP "NVME_PMRCAP_WDS_SHIFT" 12 +Shift amount to get the write data support +.IP "NVME_PMRCAP_BIR_SHIFT" 12 +Shift amount to get the base indicator register +.IP "NVME_PMRCAP_PMRTU_SHIFT" 12 +Shift amount to get the persistent memory region time units +.IP "NVME_PMRCAP_PMRWBM_SHIFT" 12 +Shift amount to get the persistent memory region write barrier mechanisms +.IP "NVME_PMRCAP_PMRTO_SHIFT" 12 +Shift amount to get the persistent memory region timeout +.IP "NVME_PMRCAP_CMSS_SHIFT" 12 +Shift amount to get the controller memory space supported +.IP "NVME_PMRCAP_PMRWMB_SHIFT" 12 +Deprecated shift amount to get the persistent memory region write barrier mechanisms +.IP "NVME_PMRCAP_RDS_MASK" 12 +Mask to get the read data support +.IP "NVME_PMRCAP_WDS_MASK" 12 +Mask to get the write data support +.IP "NVME_PMRCAP_BIR_MASK" 12 +Mask to get the base indicator register +.IP "NVME_PMRCAP_PMRTU_MASK" 12 +Mask to get the persistent memory region time units +.IP "NVME_PMRCAP_PMRWBM_MASK" 12 +Mask to get the persistent memory region write barrier mechanisms +.IP "NVME_PMRCAP_PMRTO_MASK" 12 +Mask to get the persistent memory region timeout +.IP "NVME_PMRCAP_CMSS_MASK" 12 +Mask to get the controller memory space supported +.IP "NVME_PMRCAP_PMRWMB_MASK" 12 +Deprecated mask to get the persistent memory region write barrier mechanisms +.IP "NVME_PMRCAP_PMRTU_500MS" 12 +500 milliseconds +.IP "NVME_PMRCAP_PMRTU_60S" 12 +minutes diff --git a/doc/man/nvme_pmrctl.2 b/doc/man/nvme_pmrctl.2 new file mode 100644 index 0000000..e568a6d --- /dev/null +++ b/doc/man/nvme_pmrctl.2 @@ -0,0 +1,18 @@ +.TH "libnvme" 9 "enum nvme_pmrctl" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrctl \- This field indicates the persistent memory region control +.SH SYNOPSIS +enum nvme_pmrctl { +.br +.BI " NVME_PMRCTL_EN_SHIFT" +, +.br +.br +.BI " NVME_PMRCTL_EN_MASK" + +}; +.SH Constants +.IP "NVME_PMRCTL_EN_SHIFT" 12 +Shift amount to get the enable +.IP "NVME_PMRCTL_EN_MASK" 12 +Mask to get the enable diff --git a/doc/man/nvme_pmrebs.2 b/doc/man/nvme_pmrebs.2 new file mode 100644 index 0000000..a69a246 --- /dev/null +++ b/doc/man/nvme_pmrebs.2 @@ -0,0 +1,66 @@ +.TH "libnvme" 9 "enum nvme_pmrebs" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrebs \- This field indicates the persistent memory region elasticity buffer size +.SH SYNOPSIS +enum nvme_pmrebs { +.br +.BI " NVME_PMREBS_PMRSZU_SHIFT" +, +.br +.br +.BI " NVME_PMREBS_RBB_SHIFT" +, +.br +.br +.BI " NVME_PMREBS_PMRWBZ_SHIFT" +, +.br +.br +.BI " NVME_PMREBS_PMRSZU_MASK" +, +.br +.br +.BI " NVME_PMREBS_RBB_MASK" +, +.br +.br +.BI " NVME_PMREBS_PMRWBZ_MASK" +, +.br +.br +.BI " NVME_PMREBS_PMRSZU_B" +, +.br +.br +.BI " NVME_PMREBS_PMRSZU_1K" +, +.br +.br +.BI " NVME_PMREBS_PMRSZU_1M" +, +.br +.br +.BI " NVME_PMREBS_PMRSZU_1G" + +}; +.SH Constants +.IP "NVME_PMREBS_PMRSZU_SHIFT" 12 +Shift amount to get the PMR elasticity buffer size units +.IP "NVME_PMREBS_RBB_SHIFT" 12 +Shift amount to get the read bypass behavior +.IP "NVME_PMREBS_PMRWBZ_SHIFT" 12 +Shift amount to get the PMR elasticity buffer size base +.IP "NVME_PMREBS_PMRSZU_MASK" 12 +Mask to get the PMR elasticity buffer size units +.IP "NVME_PMREBS_RBB_MASK" 12 +Mask to get the read bypass behavior +.IP "NVME_PMREBS_PMRWBZ_MASK" 12 +Mask to get the PMR elasticity buffer size base +.IP "NVME_PMREBS_PMRSZU_B" 12 +Bytes +.IP "NVME_PMREBS_PMRSZU_1K" 12 +1 KiB +.IP "NVME_PMREBS_PMRSZU_1M" 12 +1 MiB +.IP "NVME_PMREBS_PMRSZU_1G" 12 +1 GiB diff --git a/doc/man/nvme_pmrmsc.2 b/doc/man/nvme_pmrmsc.2 new file mode 100644 index 0000000..cdd68a3 --- /dev/null +++ b/doc/man/nvme_pmrmsc.2 @@ -0,0 +1,24 @@ +.TH "libnvme" 9 "enum nvme_pmrmsc" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrmsc \- This field indicates the persistent memory region memory space control +.SH SYNOPSIS +enum nvme_pmrmsc { +.br +.BI " NVME_PMRMSC_CMSE_SHIFT" +, +.br +.br +.BI " NVME_PMRMSC_CBA_SHIFT" +, +.br +.br +.BI " NVME_PMRMSC_CMSE_MASK" + +}; +.SH Constants +.IP "NVME_PMRMSC_CMSE_SHIFT" 12 +Shift amount to get the controller memory space enable +.IP "NVME_PMRMSC_CBA_SHIFT" 12 +Shift amount to get the controller base address +.IP "NVME_PMRMSC_CMSE_MASK" 12 +Mask to get the controller memory space enable diff --git a/doc/man/nvme_pmrsts.2 b/doc/man/nvme_pmrsts.2 new file mode 100644 index 0000000..d198368 --- /dev/null +++ b/doc/man/nvme_pmrsts.2 @@ -0,0 +1,54 @@ +.TH "libnvme" 9 "enum nvme_pmrsts" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrsts \- This field indicates the persistent memory region status +.SH SYNOPSIS +enum nvme_pmrsts { +.br +.BI " NVME_PMRSTS_ERR_SHIFT" +, +.br +.br +.BI " NVME_PMRSTS_NRDY_SHIFT" +, +.br +.br +.BI " NVME_PMRSTS_HSTS_SHIFT" +, +.br +.br +.BI " NVME_PMRSTS_CBAI_SHIFT" +, +.br +.br +.BI " NVME_PMRSTS_ERR_MASK" +, +.br +.br +.BI " NVME_PMRSTS_NRDY_MASK" +, +.br +.br +.BI " NVME_PMRSTS_HSTS_MASK" +, +.br +.br +.BI " NVME_PMRSTS_CBAI_MASK" + +}; +.SH Constants +.IP "NVME_PMRSTS_ERR_SHIFT" 12 +Shift amount to get the error +.IP "NVME_PMRSTS_NRDY_SHIFT" 12 +Shift amount to get the not ready +.IP "NVME_PMRSTS_HSTS_SHIFT" 12 +Shift amount to get the health status +.IP "NVME_PMRSTS_CBAI_SHIFT" 12 +Shift amount to get the controller base address invalid +.IP "NVME_PMRSTS_ERR_MASK" 12 +Mask to get the error +.IP "NVME_PMRSTS_NRDY_MASK" 12 +Mask to get the not ready +.IP "NVME_PMRSTS_HSTS_MASK" 12 +Mask to get the health status +.IP "NVME_PMRSTS_CBAI_MASK" 12 +Mask to get the controller base address invalid diff --git a/doc/man/nvme_pmrswtp.2 b/doc/man/nvme_pmrswtp.2 new file mode 100644 index 0000000..c6490fc --- /dev/null +++ b/doc/man/nvme_pmrswtp.2 @@ -0,0 +1,54 @@ +.TH "libnvme" 9 "enum nvme_pmrswtp" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_pmrswtp \- This field indicates the persistent memory region sustained write throughput +.SH SYNOPSIS +enum nvme_pmrswtp { +.br +.BI " NVME_PMRSWTP_PMRSWTU_SHIFT" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTV_SHIFT" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTU_MASK" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTV_MASK" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTU_BPS" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTU_KBPS" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTU_MBPS" +, +.br +.br +.BI " NVME_PMRSWTP_PMRSWTU_GBPS" + +}; +.SH Constants +.IP "NVME_PMRSWTP_PMRSWTU_SHIFT" 12 +Shift amount to get the PMR sustained write throughput units +.IP "NVME_PMRSWTP_PMRSWTV_SHIFT" 12 +Shift amount to get the PMR sustained write throughput +.IP "NVME_PMRSWTP_PMRSWTU_MASK" 12 +Mask to get the PMR sustained write throughput units +.IP "NVME_PMRSWTP_PMRSWTV_MASK" 12 +Mask to get the PMR sustained write throughput +.IP "NVME_PMRSWTP_PMRSWTU_BPS" 12 +Bytes per second +.IP "NVME_PMRSWTP_PMRSWTU_KBPS" 12 +1 KiB / s +.IP "NVME_PMRSWTP_PMRSWTU_MBPS" 12 +1 MiB / s +.IP "NVME_PMRSWTP_PMRSWTU_GBPS" 12 +1 GiB / s diff --git a/doc/man/nvme_power_on_reset_info_list.2 b/doc/man/nvme_power_on_reset_info_list.2 index 89797e7..9e52480 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "May 2024" "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 b1bd3eb..ea04194 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "May 2024" "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 6f2fec9..e021bac 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_flags" "May 2024" "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 216728f..696f131 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "May 2024" "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 1e80665..b52dc26 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_ps" "May 2024" "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 214667e..4028e7a 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_workload" "May 2024" "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 28415c7..a917fd0 100644 --- a/doc/man/nvme_read.2 +++ b/doc/man/nvme_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_read" 9 "nvme_read" "February 2024" "libnvme API manual" LINUX +.TH "nvme_read" 9 "nvme_read" "May 2024" "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 2647839..ad4f6c9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_read_config" 9 "nvme_read_config" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_read_config \- Read NVMe JSON configuration file .SH SYNOPSIS diff --git a/doc/man/nvme_read_key.2 b/doc/man/nvme_read_key.2 new file mode 100644 index 0000000..4556a7d --- /dev/null +++ b/doc/man/nvme_read_key.2 @@ -0,0 +1,23 @@ +.TH "nvme_read_key" 9 "nvme_read_key" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_read_key \- Read key raw data +.SH SYNOPSIS +.B "unsigned char *" nvme_read_key +.BI "(long keyring_id " "," +.BI "long key_id " "," +.BI "int *len " ");" +.SH ARGUMENTS +.IP "keyring_id" 12 +Id of the keyring holding key_id +.IP "key_id" 12 +Key id +.IP "len" 12 +Length of the returned data +.SH "DESCRIPTION" +Links the keyring specified by \fIkeyring_id\fP into the session +keyring and reads the payload of the key specified by \fIkey_id\fP. +\fIlen\fP holds the size of the returned buffer. +If \fIkeyring\fP is 0 the default keyring '.nvme' is used. +.SH "RETURN" +Pointer to the payload on success, +or NULL with errno set otherwise. diff --git a/doc/man/nvme_refresh_topology.2 b/doc/man/nvme_refresh_topology.2 index 465a824..0248607 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "May 2024" "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 692443b..414bd0b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_register_offsets" "May 2024" "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 ea8a9fd..9596d93 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl" "May 2024" "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 e48dc7b..ac8d4c9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "May 2024" "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 0466205..b97e047 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "May 2024" "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 310b645..048ef31 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "May 2024" "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 074e5f7..738d666 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_cptpl" "May 2024" "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 5da53e1..c8e38c4 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_notification_log" "May 2024" "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 817578e..0d1399e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "May 2024" "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 f813c56..c2b0c1c 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_racqa" "May 2024" "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 8c7a397..785a06e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_resv_register" 9 "nvme_resv_register" "May 2024" "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 ba48b42..aa77ef7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_resv_release" 9 "nvme_resv_release" "May 2024" "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 8a0de97..1e8afbf 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_resv_report" 9 "nvme_resv_report" "May 2024" "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 aae8270..c11993b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrega" "May 2024" "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 3a0dbb3..6e515e7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrela" "May 2024" "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 1407583..2781699 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rtype" "May 2024" "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 1d02777..7f549cd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_status" "May 2024" "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 b192923..857ce30 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "May 2024" "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 ee300b2..1284659 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_log_page" "May 2024" "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 05f59a1..e4c796b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "May 2024" "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 dc9b4c0..58f677d 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sanact" "May 2024" "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 f337b63..84f3942 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sstat" "May 2024" "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 f58da81..8b29a87 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_start_event" "May 2024" "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 702aa24..84bad0b 100644 --- a/doc/man/nvme_scan.2 +++ b/doc/man/nvme_scan.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan" 9 "nvme_scan" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan" 9 "nvme_scan" "May 2024" "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 4b58e11..8fb1431 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "May 2024" "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 be53a33..e31039e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "May 2024" "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 51bf044..a94bfba 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "May 2024" "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 a4bc643..b2ab313 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "May 2024" "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 0f38493..e1dc27e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "May 2024" "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 26d0432..7b52825 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "May 2024" "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 f35a05c..edb8ce9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_subsystems \- Scan for subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_scan_tls_keys.2 b/doc/man/nvme_scan_tls_keys.2 new file mode 100644 index 0000000..663a359 --- /dev/null +++ b/doc/man/nvme_scan_tls_keys.2 @@ -0,0 +1,24 @@ +.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_scan_tls_keys \- Iterate over TLS keys in a keyring +.SH SYNOPSIS +.B "int" nvme_scan_tls_keys +.BI "(const char *keyring " "," +.BI "nvme_scan_tls_keys_cb_t cb " "," +.BI "void *data " ");" +.SH ARGUMENTS +.IP "keyring" 12 +Keyring holding TLS keys +.IP "cb" 12 +Callback function +.IP "data" 12 +Pointer for data to be passed to \fIcb\fP +.SH "DESCRIPTION" +Iterates \fIkeyring\fP and call \fIcb\fP for each TLS key. When \fIkeyring\fP is NULL +the default '.nvme' keyring is used. +A TLS key must be of type 'psk' and the description must be of the +form 'NVMe<0|1>0<1|2> ', otherwise it will be skipped +during iteration. +.SH "RETURN" +Number of keys for which \fIcb\fP was called, or -1 with errno set +on error. diff --git a/doc/man/nvme_scan_topology.2 b/doc/man/nvme_scan_topology.2 index d9b9d8d..280c0f7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_scan_topology" 9 "nvme_scan_topology" "May 2024" "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 7bdd9da..e2ee749 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl" "May 2024" "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 41a5c18..64536b8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "May 2024" "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 0aa7439..a25cb1a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_security_receive" 9 "nvme_security_receive" "May 2024" "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 80586d9..0eb4da2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_security_send" 9 "nvme_security_send" "May 2024" "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 91a3987..cf6dacf 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_self_test_log" "May 2024" "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_feat_event_layout.2 b/doc/man/nvme_set_feat_event_layout.2 new file mode 100644 index 0000000..1a7dc8d --- /dev/null +++ b/doc/man/nvme_set_feat_event_layout.2 @@ -0,0 +1,48 @@ +.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_set_feat_event_layout \- This field indicates the set feature event layout +.SH SYNOPSIS +enum nvme_set_feat_event_layout { +.br +.BI " NVME_SET_FEAT_EVENT_DW_COUNT_SHIFT" +, +.br +.br +.BI " NVME_SET_FEAT_EVENT_CC_DW0_SHIFT" +, +.br +.br +.BI " NVME_SET_FEAT_EVENT_MB_COUNT_SHIFT" +, +.br +.br +.BI " NVME_SET_FEAT_EVENT_DW_COUNT_MASK" +, +.br +.br +.BI " NVME_SET_FEAT_EVENT_CC_DW0_MASK" +, +.br +.br +.BI " NVME_SET_FEAT_EVENT_MB_COUNT_MASK" + +}; +.SH Constants +.IP "NVME_SET_FEAT_EVENT_DW_COUNT_SHIFT" 12 +Shift amount to get the Dword count from the +\fIstruct nvme_set_feature_event\fP.layout field. +.IP "NVME_SET_FEAT_EVENT_CC_DW0_SHIFT" 12 +Shift amount to get the logged command completion Dword 0 +from the \fIstruct nvme_set_feature_event\fP.layout field. +.IP "NVME_SET_FEAT_EVENT_MB_COUNT_SHIFT" 12 +Shift amount to get the memory buffer count from +the \fIstruct nvme_set_feature_event\fP.layout field. +.IP "NVME_SET_FEAT_EVENT_DW_COUNT_MASK" 12 +Mask to get the Dword count from the \fIstruct +nvme_set_feature_event\fP.layout field. +.IP "NVME_SET_FEAT_EVENT_CC_DW0_MASK" 12 +Mask to get the logged command completion Dword 0 from +the \fIstruct nvme_set_feature_event\fP.layout field. +.IP "NVME_SET_FEAT_EVENT_MB_COUNT_MASK" 12 +Mask to get the memory buffer count from the \fIstruct +nvme_set_feature_event\fP.layout field. diff --git a/doc/man/nvme_set_feature_event.2 b/doc/man/nvme_set_feature_event.2 index a9d4879..e7a5cb6 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_set_feature_event" "May 2024" "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 82fa8bd..1950b8b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features" 9 "nvme_set_features" "May 2024" "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 7e0fb94..1deb5f5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "May 2024" "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 7067093..a112e96 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "May 2024" "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 4cdd746..423cd49 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "May 2024" "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 a2182b9..9a1327a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_data" 9 "nvme_set_features_data" "May 2024" "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 615acca..f114c06 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "May 2024" "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 11128d7..0c0483c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "May 2024" "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 024b379..23b0728 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "May 2024" "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 d8e40d6..59fbad6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "May 2024" "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 12cb403..cbe3838 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_host_id \- Set enable extended host identifiers feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_iocs_profile.2 b/doc/man/nvme_set_features_iocs_profile.2 index 5e193e6..bbb02c4 100644 --- a/doc/man/nvme_set_features_iocs_profile.2 +++ b/doc/man/nvme_set_features_iocs_profile.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_iocs_profile \- Set I/O command set profile feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_irq_coalesce.2 b/doc/man/nvme_set_features_irq_coalesce.2 index 2f07011..85091f1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "May 2024" "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 1e3ebeb..8af082a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "May 2024" "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 e55d81f..2dbd9ff 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "May 2024" "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 6ffdc8b..4e40820 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "May 2024" "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 867cfba..512322a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "May 2024" "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 ef92ca5..20bab5d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "May 2024" "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 40678a9..67233a3 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "May 2024" "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 531c41c..4697910 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "May 2024" "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 cf129fe..b57b4f3 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "May 2024" "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_mask2.2 b/doc/man/nvme_set_features_resv_mask2.2 index 454b8c8..cbafd03 100644 --- a/doc/man/nvme_set_features_resv_mask2.2 +++ b/doc/man/nvme_set_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_mask2 \- 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 534b664..d14b397 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "May 2024" "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_resv_persist2.2 b/doc/man/nvme_set_features_resv_persist2.2 index 70eed52..bd2c40c 100644 --- a/doc/man/nvme_set_features_resv_persist2.2 +++ b/doc/man/nvme_set_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_persist2 \- 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 c1b13d1..48da4ba 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "May 2024" "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 3cb9493..0bf44e5 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "May 2024" "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 dfc2a4e..9729e9d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "May 2024" "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 0d8a02d..9eeed48 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "May 2024" "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 cf435e3..1b6c576 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "May 2024" "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 9268ba8..3347e28 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "May 2024" "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 777a1a1..365814a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "May 2024" "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 fe0848f..99c12f2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "May 2024" "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 d8e7d61..7b92799 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_protect2.2 b/doc/man/nvme_set_features_write_protect2.2 index 5591cd3..3c184f9 100644 --- a/doc/man/nvme_set_features_write_protect2.2 +++ b/doc/man/nvme_set_features_write_protect2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect2 \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_keyring.2 b/doc/man/nvme_set_keyring.2 index 81a08ad..6719428 100644 --- a/doc/man/nvme_set_keyring.2 +++ b/doc/man/nvme_set_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_keyring" 9 "nvme_set_keyring" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_keyring" 9 "nvme_set_keyring" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_keyring \- Link keyring for lookup .SH SYNOPSIS diff --git a/doc/man/nvme_set_property.2 b/doc/man/nvme_set_property.2 index 1ef7c5a..5d21327 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_property" 9 "nvme_set_property" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_property \- Set controller property .SH SYNOPSIS diff --git a/doc/man/nvme_set_root.2 b/doc/man/nvme_set_root.2 index 8f90e50..7c02696 100644 --- a/doc/man/nvme_set_root.2 +++ b/doc/man/nvme_set_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_root" 9 "nvme_set_root" "February 2024" "libnvme API manual" LINUX +.TH "nvme_set_root" 9 "nvme_set_root" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_set_root \- Set nvme_root_t context .SH SYNOPSIS diff --git a/doc/man/nvme_smart_crit.2 b/doc/man/nvme_smart_crit.2 index 828124f..76c2d79 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_crit" "May 2024" "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 28d2205..7ea0f13 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_egcw" "May 2024" "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 ffeb798..c70dc78 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_smart_log" "May 2024" "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 913a09a..9d8523e 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_code" "May 2024" "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 d09ef83..fd2bb40 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_curr_op" "May 2024" "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 f773b7e..8b8032f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_st_result" "May 2024" "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 9d963a8..df2d7fd 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "May 2024" "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 502bda8..955a50c 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_code" 9 "nvme_status_code" "May 2024" "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 e4e0e34..29a9d85 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_code_type" 9 "nvme_status_code_type" "May 2024" "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 index 88eb928..a12221f 100644 --- a/doc/man/nvme_status_equals.2 +++ b/doc/man/nvme_status_equals.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_equals" 9 "nvme_status_equals" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_equals" 9 "nvme_status_equals" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_status_equals \- helper to check a status against a type and value .SH SYNOPSIS diff --git a/doc/man/nvme_status_field.2 b/doc/man/nvme_status_field.2 index 2ef64fe..4ada898 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_field" "May 2024" "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 index d5fe855..d73b4e6 100644 --- a/doc/man/nvme_status_get_type.2 +++ b/doc/man/nvme_status_get_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_type" 9 "nvme_status_get_type" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_type" 9 "nvme_status_get_type" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_type \- extract the type from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_get_value.2 b/doc/man/nvme_status_get_value.2 index a44340a..a50d103 100644 --- a/doc/man/nvme_status_get_value.2 +++ b/doc/man/nvme_status_get_value.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_value" 9 "nvme_status_get_value" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_value" 9 "nvme_status_get_value" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_value \- extract the status value from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_result.2 b/doc/man/nvme_status_result.2 index 6358dee..42a9d77 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_result" "May 2024" "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 aea4aec..2384b17 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "May 2024" "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 da37833..36f1347 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_string" 9 "nvme_status_to_string" "May 2024" "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 index 238cf6e..1bfd967 100644 --- a/doc/man/nvme_status_type.2 +++ b/doc/man/nvme_status_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_type" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_type" "May 2024" "API Manual" LINUX .SH NAME enum nvme_status_type \- type encoding for NVMe return values, when represented as an int. .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_params.2 b/doc/man/nvme_streams_directive_params.2 index 1df2958..59bca43 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_params" "May 2024" "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 2955ac3..c326223 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_status" "May 2024" "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 3171798..20a531b 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "May 2024" "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 index 9815df5..f0271f1 100644 --- a/doc/man/nvme_submit_admin_passthru64.2 +++ b/doc/man/nvme_submit_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "February 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_admin_passthru64 \- Submit a 64-bit nvme passthrough admin command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_io_passthru.2 b/doc/man/nvme_submit_io_passthru.2 index ccae5e4..3bfb454 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "May 2024" "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 index 914764a..f4b2200 100644 --- a/doc/man/nvme_submit_io_passthru64.2 +++ b/doc/man/nvme_submit_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "February 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_io_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_subsys_filter.2 b/doc/man/nvme_subsys_filter.2 index 5447271..54a7bb7 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "May 2024" "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 4217159..0aea148 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_subsys_type" "May 2024" "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 9cb1518..a2b4254 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "May 2024" "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 bdf2473..4c17f53 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "May 2024" "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 e0d29b9..3593a8d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "May 2024" "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 06bbf6a..8d880f0 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "May 2024" "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 06d9517..18c3d62 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "May 2024" "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 d8abb7f..3e221c2 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ns_safe \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_application.2 b/doc/man/nvme_subsystem_get_application.2 index c5d2ce5..0c406f7 100644 --- a/doc/man/nvme_subsystem_get_application.2 +++ b/doc/man/nvme_subsystem_get_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_application \- Return the application string .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_host.2 b/doc/man/nvme_subsystem_get_host.2 index 8c91f9e..358f390 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "May 2024" "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_iopolicy.2 b/doc/man/nvme_subsystem_get_iopolicy.2 index 83a38a5..691a638 100644 --- a/doc/man/nvme_subsystem_get_iopolicy.2 +++ b/doc/man/nvme_subsystem_get_iopolicy.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_iopolicy \- Return the IO policy of subsytem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_name.2 b/doc/man/nvme_subsystem_get_name.2 index 77cd881..62c09ca 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "May 2024" "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 2c8aad9..9f28032 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "May 2024" "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 85451f8..796bf30 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "May 2024" "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 06458c3..5aaaed8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "May 2024" "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 5506aa8..a72bddb 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "May 2024" "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 0bc5fcd..e099192 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "May 2024" "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 0e13407..566c4eb 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_next_ns \- Next namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_release_fds.2 b/doc/man/nvme_subsystem_release_fds.2 index 1dd034e..dd86e9b 100644 --- a/doc/man/nvme_subsystem_release_fds.2 +++ b/doc/man/nvme_subsystem_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_release_fds \- Close all opened fds under subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_reset.2 b/doc/man/nvme_subsystem_reset.2 index 6ed7dec..6e5e6a9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_reset \- Initiate a subsystem reset .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_set_application.2 b/doc/man/nvme_subsystem_set_application.2 index 49d4273..3e4c471 100644 --- a/doc/man/nvme_subsystem_set_application.2 +++ b/doc/man/nvme_subsystem_set_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "February 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_set_application \- Set the application string .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 b5abeaf..3f447d8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "May 2024" "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 4252e4d..36a3906 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_log_pages" "May 2024" "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 c5b4af9..1bb1758 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_telemetry_da" "May 2024" "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 d859465..7a265f5 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_telemetry_log" "May 2024" "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 34a28ce..38c586b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_thermal_exc_event" "May 2024" "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 ddc48c8..53cbb03 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "May 2024" "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 9012a8c..ce02412 100644 --- a/doc/man/nvme_timestamp.2 +++ b/doc/man/nvme_timestamp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_timestamp" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_timestamp" "May 2024" "API Manual" LINUX .SH NAME struct nvme_timestamp \- Timestamp - Data Structure for Get Features .SH SYNOPSIS diff --git a/doc/man/nvme_unit.2 b/doc/man/nvme_unit.2 new file mode 100644 index 0000000..eea04a7 --- /dev/null +++ b/doc/man/nvme_unit.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_unit" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_unit \- Defined buffer size and write throughput granularity units +.SH SYNOPSIS +enum nvme_unit { +.br +.BI " NVME_UNIT_B" +, +.br +.br +.BI " NVME_UNIT_1K" +, +.br +.br +.BI " NVME_UNIT_1M" +, +.br +.br +.BI " NVME_UNIT_1G" + +}; +.SH Constants +.IP "NVME_UNIT_B" 12 +Bytes or Bytes/second +.IP "NVME_UNIT_1K" 12 +1 KiB or 1 KiB/second +.IP "NVME_UNIT_1M" 12 +1 MiB or 1 MiB/second +.IP "NVME_UNIT_1G" 12 +1 GiB or 1 GiB/second diff --git a/doc/man/nvme_unlink_ctrl.2 b/doc/man/nvme_unlink_ctrl.2 index c0eb8a1..f70bb20 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "May 2024" "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 c73b018..448a8c9 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_update_config" 9 "nvme_update_config" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_update_config \- Update JSON configuration .SH SYNOPSIS diff --git a/doc/man/nvme_update_key.2 b/doc/man/nvme_update_key.2 new file mode 100644 index 0000000..96ff15c --- /dev/null +++ b/doc/man/nvme_update_key.2 @@ -0,0 +1,28 @@ +.TH "nvme_update_key" 9 "nvme_update_key" "May 2024" "libnvme API manual" LINUX +.SH NAME +nvme_update_key \- Update key raw data +.SH SYNOPSIS +.B "long" nvme_update_key +.BI "(long keyring_id " "," +.BI "const char *key_type " "," +.BI "const char *identity " "," +.BI "unsigned char *key_data " "," +.BI "int key_len " ");" +.SH ARGUMENTS +.IP "keyring_id" 12 +Id of the keyring holding key_id +.IP "key_type" 12 +Type of the key to insert +.IP "identity" 12 +Key identity string +.IP "key_data" 12 +Raw data of the key +.IP "key_len" 12 +Length of \fIkey_data\fP +.SH "DESCRIPTION" +Links the keyring specified by \fIkeyring_id\fP into the session +keyring and updates the key reference by \fIidentity\fP with \fIkey_data\fP. +The old key with identity \fIidentity\fP will be revoked to make it +inaccessible. +.SH "RETURN" +Key id of the new key or 0 with errno set otherwise. diff --git a/doc/man/nvme_uring_cmd.2 b/doc/man/nvme_uring_cmd.2 index df8eb6a..b5f55cb 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_uring_cmd" "May 2024" "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 d71380e..cdc9e12 100644 --- a/doc/man/nvme_verify.2 +++ b/doc/man/nvme_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_verify" 9 "nvme_verify" "February 2024" "libnvme API manual" LINUX +.TH "nvme_verify" 9 "nvme_verify" "May 2024" "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 d30d233..dd403df 100644 --- a/doc/man/nvme_version.2 +++ b/doc/man/nvme_version.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_version" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_version" "May 2024" "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 02794df..2a15fd9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "May 2024" "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 e106c13..1ad8308 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "May 2024" "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 1a3ae31..ca7d4ee 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "May 2024" "libnvme API manual" LINUX .SH NAME nvme_virtual_mgmt \- Virtualization resource management .SH SYNOPSIS diff --git a/doc/man/nvme_vs.2 b/doc/man/nvme_vs.2 new file mode 100644 index 0000000..c1e221f --- /dev/null +++ b/doc/man/nvme_vs.2 @@ -0,0 +1,42 @@ +.TH "libnvme" 9 "enum nvme_vs" "May 2024" "API Manual" LINUX +.SH NAME +enum nvme_vs \- This field indicates the version +.SH SYNOPSIS +enum nvme_vs { +.br +.BI " NVME_VS_TER_SHIFT" +, +.br +.br +.BI " NVME_VS_MNR_SHIFT" +, +.br +.br +.BI " NVME_VS_MJR_SHIFT" +, +.br +.br +.BI " NVME_VS_TER_MASK" +, +.br +.br +.BI " NVME_VS_MNR_MASK" +, +.br +.br +.BI " NVME_VS_MJR_MASK" + +}; +.SH Constants +.IP "NVME_VS_TER_SHIFT" 12 +Shift amount to get the tertiary version +.IP "NVME_VS_MNR_SHIFT" 12 +Shift amount to get the minor version +.IP "NVME_VS_MJR_SHIFT" 12 +Shift amount to get the major version +.IP "NVME_VS_TER_MASK" 12 +Mask to get the tertiary version +.IP "NVME_VS_MNR_MASK" 12 +Mask to get the minor version +.IP "NVME_VS_MJR_MASK" 12 +Mask to get the major version diff --git a/doc/man/nvme_write.2 b/doc/man/nvme_write.2 index b670227..00f727d 100644 --- a/doc/man/nvme_write.2 +++ b/doc/man/nvme_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_write" 9 "nvme_write" "February 2024" "libnvme API manual" LINUX +.TH "nvme_write" 9 "nvme_write" "May 2024" "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 6e365e6..0ea67a1 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "May 2024" "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 ce4353b..bb07e54 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_write_zeros" 9 "nvme_write_zeros" "May 2024" "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 22562f9..16032de 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_append" 9 "nvme_zns_append" "May 2024" "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 b350a71..0f92e84 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "May 2024" "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 d298a06..16c1422 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_desc" "May 2024" "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 62b0951..0972b25 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "May 2024" "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 a482232..123e22b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ns" "May 2024" "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 0658853..393fb10 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "May 2024" "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 22fe900..efc0018 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "May 2024" "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 46585d5..5a6ad65 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_lbafe" "May 2024" "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 5d3ed0e..425bc48 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "May 2024" "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 8e4dafa..4aa8c15 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "May 2024" "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 fffa027..fad5733 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_recv_action" "May 2024" "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 f5ba222..38bf3a8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_report_options" "May 2024" "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 767839f..eeb8327 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" "February 2024" "libnvme API manual" LINUX +.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "May 2024" "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 c349307..82ef76b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_send_action" "May 2024" "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 5f5e25a..7e58140 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_za" "May 2024" "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 3945750..94dfb20 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zs" "May 2024" "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 3c78b70..42e9025 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zt" "May 2024" "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 5f8bf18..e6398af 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zone_report" "May 2024" "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 6f9d672..5178605 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "May 2024" "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 0531b0c..2f92f49 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_addr_family" "May 2024" "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 c0535e4..b051ecf 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "May 2024" "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 fbae107..31f5410 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_cms_str" 9 "nvmf_cms_str" "May 2024" "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 8fb600a..7dead3b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_connect_data" "May 2024" "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 0d767cc..917c3d8 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "May 2024" "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 7523ad2..bcbfd1f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_default_config" 9 "nvmf_default_config" "May 2024" "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 1fc72a3..8537794 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_dim_data" "May 2024" "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 08f2c2b..d5a6ed8 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_entfmt" "May 2024" "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 6b246e8..f26a4ee 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_etype" "May 2024" "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 e77e97d..b955da7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_tas" "May 2024" "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 1c7608d..de22768 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_disc_eflags" "May 2024" "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 f61c2f5..14d1b0d 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_disc_log_entry" "May 2024" "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 4ad3412..e333dc7 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_discovery_log" "May 2024" "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 b98e848..70848cc 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "May 2024" "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 0fe3f5a..4902a9e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_exat_len" 9 "nvmf_exat_len" "May 2024" "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 93e2e8e..fd44507 100644 --- a/doc/man/nvmf_exattype.2 +++ b/doc/man/nvmf_exattype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_exattype" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_exattype" "May 2024" "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 539f0f5..a6a6d54 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_attr" "May 2024" "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 e66a1e2..488b08f 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_die" "May 2024" "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 1b6df15..7463834 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "May 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_log \- Return the discovery log page .SH SYNOPSIS diff --git a/doc/man/nvmf_get_discovery_wargs.2 b/doc/man/nvmf_get_discovery_wargs.2 index 8a3e232..960ba2b 100644 --- a/doc/man/nvmf_get_discovery_wargs.2 +++ b/doc/man/nvmf_get_discovery_wargs.2 @@ -1,4 +1,4 @@ -.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "May 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_wargs \- Get the discovery log page with args .SH SYNOPSIS diff --git a/doc/man/nvmf_hostid_from_file.2 b/doc/man/nvmf_hostid_from_file.2 index d05cec0..fa0d20e 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "May 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostid_from_file \- Reads the host identifier from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_from_file.2 b/doc/man/nvmf_hostnqn_from_file.2 index 5423f7c..a0e76d6 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "May 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_from_file \- Reads the host nvm qualified name from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate.2 b/doc/man/nvmf_hostnqn_generate.2 index a1ee41a..868fc97 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "May 2024" "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 index 1d3beca..4ff541d 100644 --- a/doc/man/nvmf_log_discovery_lid_support.2 +++ b/doc/man/nvmf_log_discovery_lid_support.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "May 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lid_support \- Discovery log specific support .SH SYNOPSIS diff --git a/doc/man/nvmf_log_discovery_lsp.2 b/doc/man/nvmf_log_discovery_lsp.2 index a50eff3..3313ad4 100644 --- a/doc/man/nvmf_log_discovery_lsp.2 +++ b/doc/man/nvmf_log_discovery_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "May 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lsp \- Discovery log specific field .SH SYNOPSIS diff --git a/doc/man/nvmf_prtype_str.2 b/doc/man/nvmf_prtype_str.2 index 4a356de..f7f6475 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "May 2024" "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 8409b40..8440f6d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "May 2024" "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 18e9aaf..501d1d9 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_cms" "May 2024" "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 d09edad..c7b0207 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_prtype" "May 2024" "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 d6d6fc4..20af094 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_qptype" "May 2024" "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 7ef04b1..3adbf57 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "May 2024" "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 5d2bca1..498ce42 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "May 2024" "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 c5f8271..f0ef62a 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "May 2024" "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 d25de9d..bcd3c6b 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" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_tcp_sectype" "May 2024" "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 12af12d..2930542 100644 --- a/doc/man/nvmf_treq.2 +++ b/doc/man/nvmf_treq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_treq" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_treq" "May 2024" "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 2c65a53..e0a376d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_treq_str" 9 "nvmf_treq_str" "May 2024" "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 98b6ac5..ea07c3c 100644 --- a/doc/man/nvmf_trtype.2 +++ b/doc/man/nvmf_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_trtype" "February 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_trtype" "May 2024" "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 98fd0a0..2c5aa6d 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "May 2024" "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 243b40e..dc3399f 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" "February 2024" "libnvme API manual" LINUX +.TH "nvmf_update_config" 9 "nvmf_update_config" "May 2024" "libnvme API manual" LINUX .SH NAME nvmf_update_config \- Update fabrics configuration values .SH SYNOPSIS diff --git a/doc/rst/fabrics.rst b/doc/rst/fabrics.rst index 74d04e5..141c486 100644 --- a/doc/rst/fabrics.rst +++ b/doc/rst/fabrics.rst @@ -27,8 +27,8 @@ Fabrics-specific definitions. int nr_write_queues; int nr_poll_queues; int tos; - int keyring; - int tls_key; + long keyring; + long tls_key; bool duplicate_connect; bool disable_sqflow; bool hdr_digest; diff --git a/doc/rst/ioctl.rst b/doc/rst/ioctl.rst index 4d8af34..7b2003d 100644 --- a/doc/rst/ioctl.rst +++ b/doc/rst/ioctl.rst @@ -4218,6 +4218,34 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field `) or -1 with errno set otherwise. +.. c:function:: int nvme_ns_mgmt_delete_timeout (int fd, __u32 nsid, __u32 timeout) + + Delete a non attached namespace with timeout + +**Parameters** + +``int fd`` + File descriptor of nvme device + +``__u32 nsid`` + Namespace identifier to delete + +``__u32 timeout`` + Override the default timeout to this value in milliseconds; + set to 0 to use the system default. + +**Description** + +It is recommended that a namespace being deleted is not attached to any +controller. Use the nvme_ns_detach_ctrls() first if the namespace is still +attached. + +**Return** + +The nvme command status if a response was received (see +:c:type:`enum nvme_status_field `) or -1 with errno set otherwise. + + .. c:function:: int nvme_ns_mgmt_delete (int fd, __u32 nsid) Delete a non attached namespace @@ -5201,27 +5229,3 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field `) or -1 with errno set otherwise. -.. c:function:: void nvme_set_debug (bool debug) - - Set NVMe command debugging output - -**Parameters** - -``bool debug`` - true to enable or false to disable - - -.. c:function:: bool nvme_get_debug (void) - - Get NVMe command debugging output - -**Parameters** - -``void`` - no arguments - -**Return** - -false if disabled or true if enabled. - - diff --git a/doc/rst/linux.rst b/doc/rst/linux.rst index 819ee68..cf49851 100644 --- a/doc/rst/linux.rst +++ b/doc/rst/linux.rst @@ -463,6 +463,127 @@ its keys are available for further key lookups. with errno set. +.. c:function:: unsigned char * nvme_read_key (long keyring_id, long key_id, int *len) + + Read key raw data + +**Parameters** + +``long keyring_id`` + Id of the keyring holding ``key_id`` + +``long key_id`` + Key id + +``int *len`` + Length of the returned data + +**Description** + +Links the keyring specified by **keyring_id** into the session +keyring and reads the payload of the key specified by **key_id**. +**len** holds the size of the returned buffer. +If **keyring** is 0 the default keyring '.nvme' is used. + +**Return** + +Pointer to the payload on success, +or NULL with errno set otherwise. + + +.. c:function:: long nvme_update_key (long keyring_id, const char *key_type, const char *identity, unsigned char *key_data, int key_len) + + Update key raw data + +**Parameters** + +``long keyring_id`` + Id of the keyring holding ``key_id`` + +``const char *key_type`` + Type of the key to insert + +``const char *identity`` + Key identity string + +``unsigned char *key_data`` + Raw data of the key + +``int key_len`` + Length of **key_data** + +**Description** + +Links the keyring specified by **keyring_id** into the session +keyring and updates the key reference by **identity** with **key_data**. +The old key with identity **identity** will be revoked to make it +inaccessible. + +**Return** + +Key id of the new key or 0 with errno set otherwise. + + +.. c:macro:: nvme_scan_tls_keys_cb_t + + **Typedef**: Callback for iterating TLS keys + + +**Syntax** + + ``void nvme_scan_tls_keys_cb_t (long keyring, long key, char *desc, int desc_len, void *data)`` + +**Parameters** + +``long keyring`` + Keyring which has been iterated + +``long key`` + Key for which the callback has been invoked + +``char *desc`` + Description of the key + +``int desc_len`` + Length of **desc** + +``void *data`` + Pointer for caller data + +**Description** + +Called for each TLS PSK in the keyring. + + +.. c:function:: int nvme_scan_tls_keys (const char *keyring, nvme_scan_tls_keys_cb_t cb, void *data) + + Iterate over TLS keys in a keyring + +**Parameters** + +``const char *keyring`` + Keyring holding TLS keys + +``nvme_scan_tls_keys_cb_t cb`` + Callback function + +``void *data`` + Pointer for data to be passed to **cb** + +**Description** + +Iterates **keyring** and call **cb** for each TLS key. When **keyring** is NULL +the default '.nvme' keyring is used. +A TLS key must be of type 'psk' and the description must be of the +form 'NVMe<0|1>0<1|2> ', otherwise it will be skipped +during iteration. + +**Return** + +Number of keys for which **cb** was called, or -1 with errno set +on error. + + .. c:function:: long nvme_insert_tls_key (const char *keyring, const char *key_type, const char *hostnqn, const char *subsysnqn, int hmac, unsigned char *configured_key, int key_len) Derive and insert TLS key @@ -578,3 +699,111 @@ The string containing the TLS identity. It is the responsibility of the caller to free the returned string. +.. c:function:: char * nvme_export_tls_key (const unsigned char *key_data, int key_len) + + Export a TLS key + +**Parameters** + +``const unsigned char *key_data`` + Raw data of the key + +``int key_len`` + Length of **key_data** + +**Description** + +Returns **key_data** in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. + +**Return** + +The string containing the TLS identity or NULL with errno set +on error. It is the responsibility of the caller to free the returned +string. + + +.. c:function:: unsigned char * nvme_import_tls_key (const char *encoded_key, int *key_len, unsigned int *hmac) + + Import a TLS key + +**Parameters** + +``const char *encoded_key`` + TLS key in PSK interchange format + +``int *key_len`` + Length of the resulting key data + +``unsigned int *hmac`` + HMAC algorithm + +**Description** + +Imports **key_data** in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. + +**Return** + +The raw data of the PSK or NULL with errno set on error. It is +the responsibility of the caller to free the returned string. + + +.. c:function:: int nvme_submit_passthru (int fd, unsigned long ioctl_cmd, struct nvme_passthru_cmd *cmd, __u32 *result) + + Low level ioctl wrapper for passthru commands + +**Parameters** + +``int fd`` + File descriptor of the nvme device + +``unsigned long ioctl_cmd`` + IOCTL command id + +``struct nvme_passthru_cmd *cmd`` + Passhtru command + +``__u32 *result`` + Optional field to return the result + +**Description** + +This is a low level library function which should not be used directly. It is +exposed as weak symbol so that the user application is able to provide their own +implementation of this function with additional debugging or logging code. + +**Return** + +The value from the ioctl system call (see ioctl documentation) + + +.. c:function:: int nvme_submit_passthru64 (int fd, unsigned long ioctl_cmd, struct nvme_passthru_cmd64 *cmd, __u64 *result) + + Low level ioctl wrapper for passthru commands + +**Parameters** + +``int fd`` + File descriptor of the nvme device + +``unsigned long ioctl_cmd`` + IOCTL command id + +``struct nvme_passthru_cmd64 *cmd`` + Passhtru command + +``__u64 *result`` + Optional field to return the result + +**Description** + +This is a low level library function which should not be used directly. It is +exposed as weak symbol so that the user application is able to provide their own +implementation of this function with additional debugging or logging code. + +**Return** + +The value from the ioctl system call (see ioctl documentation) + + diff --git a/doc/rst/log.rst b/doc/rst/log.rst index 67911a5..edbb330 100644 --- a/doc/rst/log.rst +++ b/doc/rst/log.rst @@ -28,6 +28,32 @@ logging functions Sets the default logging variables for the library. +.. c:function:: int nvme_get_logging_level (nvme_root_t r, bool *log_pid, bool *log_tstamp) + + Get current logging level + +**Parameters** + +``nvme_root_t r`` + nvme_root_t context + +``bool *log_pid`` + Pointer to store a current value of logging of + the PID flag at (optional). + +``bool *log_tstamp`` + Pointer to store a current value of logging of + the timestamp flag at (optional). + +**Description** + +Retrieves current values of logging variables. + +**Return** + +current log level value or DEFAULT_LOGLEVEL if not initialized. + + .. c:function:: void nvme_set_root (nvme_root_t r) Set nvme_root_t context @@ -47,3 +73,36 @@ the latest created root object. Note the first **nvme_free_tree** call will rese the global root object. +.. c:function:: void nvme_set_debug (bool debug) + + Set NVMe command debugging output + +**Parameters** + +``bool debug`` + true to enable or false to disable + +**Description** + +Don't use it, it's debricated. + + +.. c:function:: bool nvme_get_debug (void) + + Get NVMe command debugging output + +**Parameters** + +``void`` + no arguments + +**Description** + + +Don't use it, it's debricated. + +**Return** + +false if disabled or true if enabled. + + diff --git a/doc/rst/nbft.rst b/doc/rst/nbft.rst index 93a3642..2a7b72f 100644 --- a/doc/rst/nbft.rst +++ b/doc/rst/nbft.rst @@ -1,3 +1,12 @@ +.. _nbft.h: + +**nbft.h** + + +NVM Express Boot Specification, Revision 1.0 + +Note: this API is currently unstable, subject to further additions. + .. c:enum:: nbft_desc_type @@ -1716,6 +1725,8 @@ int controller_id; int asqsz; char *dhcp_root_path_string; + bool discovered; + bool unavailable; }; **Members** @@ -1785,6 +1796,14 @@ DHCP Root Path Override string (SSNS Extended Information Descriptor). +``discovered`` + Indicates that this namespace was acquired + through discovery. + +``unavailable`` + Namespace is unavailable as indicated by + the pre-OS driver. + diff --git a/doc/rst/tree.rst b/doc/rst/tree.rst index b73ffae..6f79703 100644 --- a/doc/rst/tree.rst +++ b/doc/rst/tree.rst @@ -1729,6 +1729,20 @@ Host interface name of **c** (if present) DH-HMAC-CHAP host key or NULL if not set +.. c:function:: const char * nvme_ctrl_get_cntlid (nvme_ctrl_t c) + + Controller id + +**Parameters** + +``nvme_ctrl_t c`` + Controller to be checked + +**Return** + +Controller id of **c** + + .. c:function:: void nvme_ctrl_set_dhchap_host_key (nvme_ctrl_t c, const char *key) Set host key diff --git a/doc/rst/types.rst b/doc/rst/types.rst index 2aecd14..1d6ad5a 100644 --- a/doc/rst/types.rst +++ b/doc/rst/types.rst @@ -296,18 +296,879 @@ Location) register is not supported by fabrics, but it can be checked here. true if given offset is 64bit register, otherwise it returns false. + + +.. c:enum:: nvme_cap + + This field indicates the controller capabilities register + +**Constants** + +``NVME_CAP_MQES_SHIFT`` + Shift amount to get the maximum queue entries supported + +``NVME_CAP_CQR_SHIFT`` + Shift amount to get the contiguous queues required + +``NVME_CAP_AMS_SHIFT`` + Shift amount to get the arbitration mechanism supported + +``NVME_CAP_TO_SHIFT`` + Shift amount to get the timeout + +``NVME_CAP_DSTRD_SHIFT`` + Shift amount to get the doorbell stride + +``NVME_CAP_NSSRC_SHIFT`` + Shift amount to get the NVM subsystem reset supported + +``NVME_CAP_CSS_SHIFT`` + Shift amount to get the command sets supported + +``NVME_CAP_BPS_SHIFT`` + Shift amount to get the boot partition support + +``NVME_CAP_CPS_SHIFT`` + Shift amount to get the controller power scope + +``NVME_CAP_MPSMIN_SHIFT`` + Shift amount to get the memory page size minimum + +``NVME_CAP_MPSMAX_SHIFT`` + Shift amount to get the memory page size maximum + +``NVME_CAP_PMRS_SHIFT`` + Shift amount to get the persistent memory region supported + +``NVME_CAP_CMBS_SHIFT`` + Shift amount to get the controller memory buffer supported + +``NVME_CAP_NSSS_SHIFT`` + Shift amount to get the NVM subsystem shutdown supported + +``NVME_CAP_CRMS_SHIFT`` + Shift amount to get the controller ready modes supported + +``NVME_CAP_MQES_MASK`` + Mask to get the maximum queue entries supported + +``NVME_CAP_CQR_MASK`` + Mask to get the contiguous queues required + +``NVME_CAP_AMS_MASK`` + Mask to get the arbitration mechanism supported + +``NVME_CAP_TO_MASK`` + Mask to get the timeout + +``NVME_CAP_DSTRD_MASK`` + Mask to get the doorbell stride + +``NVME_CAP_NSSRC_MASK`` + Mask to get the NVM subsystem reset supported + +``NVME_CAP_CSS_MASK`` + Mask to get the command sets supported + +``NVME_CAP_BPS_MASK`` + Mask to get the boot partition support + +``NVME_CAP_CPS_MASK`` + Mask to get the controller power scope + +``NVME_CAP_MPSMIN_MASK`` + Mask to get the memory page size minimum + +``NVME_CAP_MPSMAX_MASK`` + Mask to get the memory page size maximum + +``NVME_CAP_PMRS_MASK`` + Mask to get the persistent memory region supported + +``NVME_CAP_CMBS_MASK`` + Mask to get the controller memory buffer supported + +``NVME_CAP_NSSS_MASK`` + Mask to get the NVM subsystem shutdown supported + +``NVME_CAP_CRMS_MASK`` + Mask to get the controller ready modes supported + +``NVME_CAP_AMS_WRR`` + Weighted round robin with urgent priority class + +``NVME_CAP_AMS_VS`` + Vendor specific + +``NVME_CAP_CSS_NVM`` + NVM command set or a discovery controller + +``NVME_CAP_CSS_CSI`` + Controller supports one or more I/O command sets + +``NVME_CAP_CSS_ADMIN`` + No I/O command set is supported + +``NVME_CAP_CPS_NONE`` + Not reported + +``NVME_CAP_CPS_CTRL`` + Controller scope + +``NVME_CAP_CPS_DOMAIN`` + Domain scope + +``NVME_CAP_CPS_NVMS`` + NVM subsystem scope + +``NVME_CAP_CRWMS`` + Controller ready with media support + +``NVME_CAP_CRIMS`` + Controller ready independent of media support + + + + +.. c:enum:: nvme_vs + + This field indicates the version + +**Constants** + +``NVME_VS_TER_SHIFT`` + Shift amount to get the tertiary version + +``NVME_VS_MNR_SHIFT`` + Shift amount to get the minor version + +``NVME_VS_MJR_SHIFT`` + Shift amount to get the major version + +``NVME_VS_TER_MASK`` + Mask to get the tertiary version + +``NVME_VS_MNR_MASK`` + Mask to get the minor version + +``NVME_VS_MJR_MASK`` + Mask to get the major version + + + + +.. c:enum:: nvme_cc + + This field indicates the controller configuration + +**Constants** + +``NVME_CC_EN_SHIFT`` + Shift amount to get the enable + +``NVME_CC_CSS_SHIFT`` + Shift amount to get the I/O command set selected + +``NVME_CC_MPS_SHIFT`` + Shift amount to get the memory page size + +``NVME_CC_AMS_SHIFT`` + Shift amount to get the arbitration mechanism selected + +``NVME_CC_SHN_SHIFT`` + Shift amount to get the shutdown notification + +``NVME_CC_IOSQES_SHIFT`` + Shift amount to get the I/O submission queue entry size + +``NVME_CC_IOCQES_SHIFT`` + Shift amount to get the I/O completion queue entry size + +``NVME_CC_CRIME_SHIFT`` + Shift amount to get the controller ready independent of media enable + +``NVME_CC_EN_MASK`` + Mask to get the enable + +``NVME_CC_CSS_MASK`` + Mask to get the I/O command set selected + +``NVME_CC_MPS_MASK`` + Mask to get the memory page size + +``NVME_CC_AMS_MASK`` + Mask to get the arbitration mechanism selected + +``NVME_CC_SHN_MASK`` + Mask to get the shutdown notification + +``NVME_CC_CRIME_MASK`` + Mask to get the I/O submission queue entry size + +``NVME_CC_IOSQES_MASK`` + Mask to get the I/O completion queue entry size + +``NVME_CC_IOCQES_MASK`` + Mask to get the controller ready independent of media enable + +``NVME_CC_CSS_NVM`` + NVM command set + +``NVME_CC_CSS_CSI`` + All supported I/O command sets + +``NVME_CC_CSS_ADMIN`` + Admin command set only + +``NVME_CC_AMS_RR`` + Round robin + +``NVME_CC_AMS_WRRU`` + Weighted round robin with urgent priority class + +``NVME_CC_AMS_VS`` + Vendor specific + +``NVME_CC_SHN_NONE`` + No notification; no effect + +``NVME_CC_SHN_NORMAL`` + Normal shutdown notification + +``NVME_CC_SHN_ABRUPT`` + Abrupt shutdown notification + +``NVME_CC_CRWME`` + Controller ready with media enable + +``NVME_CC_CRIME`` + Controller ready independent of media enable + + + + +.. c:enum:: nvme_csts + + This field indicates the controller status register + +**Constants** + +``NVME_CSTS_RDY_SHIFT`` + Shift amount to get the ready + +``NVME_CSTS_CFS_SHIFT`` + Shift amount to get the controller fatal status + +``NVME_CSTS_SHST_SHIFT`` + Shift amount to get the shutdown status + +``NVME_CSTS_NSSRO_SHIFT`` + Shift amount to get the NVM subsystem reset occurred + +``NVME_CSTS_PP_SHIFT`` + Shift amount to get the processing paused + +``NVME_CSTS_ST_SHIFT`` + Shift amount to get the shutdown type + +``NVME_CSTS_RDY_MASK`` + Mask to get the ready + +``NVME_CSTS_CFS_MASK`` + Mask to get the controller fatal status + +``NVME_CSTS_SHST_MASK`` + Mask to get the shutdown status + +``NVME_CSTS_NSSRO_MASK`` + Mask to get the NVM subsystem reset occurred + +``NVME_CSTS_PP_MASK`` + Mask to get the processing paused + +``NVME_CSTS_ST_MASK`` + Mask to get the shutdown type + +``NVME_CSTS_SHST_NORMAL`` + Normal operation + +``NVME_CSTS_SHST_OCCUR`` + Shutdown processing occurring + +``NVME_CSTS_SHST_CMPLT`` + Shutdown processing complete + +``NVME_CSTS_SHN_MASK`` + Deprecated mask to get the shutdown status + + + + +.. c:enum:: nvme_aqa + + This field indicates the admin queue attributes + +**Constants** + +``NVME_AQA_ASQS_SHIFT`` + Shift amount to get the admin submission queue size + +``NVME_AQA_ACQS_SHIFT`` + Shift amount to get the admin completion queue size + +``NVME_AQA_ASQS_MASK`` + Mask to get the admin submission queue size + +``NVME_AQA_ACQS_MASK`` + Mask to get the admin completion queue size + + + + +.. c:enum:: nvme_asq + + This field indicates the admin submission queue base address + +**Constants** + +``NVME_ASQ_ASQB_SHIFT`` + Shift amount to get the admin submission queue base + + + + +.. c:enum:: nvme_acq + + This field indicates the admin completion queue base address + +**Constants** + +``NVME_ACQ_ACQB_SHIFT`` + Shift amount to get the admin completion queue base + + + + +.. c:enum:: nvme_cmbloc + + This field indicates the controller memory buffer location + +**Constants** + +``NVME_CMBLOC_BIR_SHIFT`` + Shift amount to get the base indicator register + +``NVME_CMBLOC_CQMMS_SHIFT`` + Shift amount to get the CMB queue mixed memory support + +``NVME_CMBLOC_CQPDS_SHIFT`` + Shift amount to get the CMB queue physically discontiguous support + +``NVME_CMBLOC_CDPLMS_SHIFT`` + Shift amount to get the CMB data pointer mixed locations support + +``NVME_CMBLOC_CDPCILS_SHIFT`` + Shift amount to get the CMB data pointer and command independent locations support + +``NVME_CMBLOC_CDMMMS_SHIFT`` + Shift amount to get the CMB data metadata mixed memory support + +``NVME_CMBLOC_CQDA_SHIFT`` + Shift amount to get the CMB queue dword alignment + +``NVME_CMBLOC_OFST_SHIFT`` + Shift amount to get the offset + +``NVME_CMBLOC_BIR_MASK`` + Mask to get the base indicator register + +``NVME_CMBLOC_CQMMS_MASK`` + Mask to get the CMB queue mixed memory support + +``NVME_CMBLOC_CQPDS_MASK`` + Mask to get the CMB queue physically discontiguous support + +``NVME_CMBLOC_CDPLMS_MASK`` + Mask to get the CMB data pointer mixed locations support + +``NVME_CMBLOC_CDPCILS_MASK`` + Mask to get the CMB data pointer and command independent locations support + +``NVME_CMBLOC_CDMMMS_MASK`` + Mask to get the CMB data metadata mixed memory support + +``NVME_CMBLOC_CQDA_MASK`` + Mask to get the CMB queue dword alignment + +``NVME_CMBLOC_OFST_MASK`` + Mask to get the offset + + + + +.. c:enum:: nvme_cmbsz + + This field indicates the controller memory buffer size + +**Constants** + +``NVME_CMBSZ_SQS_SHIFT`` + Shift amount to get the submission queue support + +``NVME_CMBSZ_CQS_SHIFT`` + Shift amount to get the completion queue support + +``NVME_CMBSZ_LISTS_SHIFT`` + Shift amount to get the PLP SGL list support + +``NVME_CMBSZ_RDS_SHIFT`` + Shift amount to get the read data support + +``NVME_CMBSZ_WDS_SHIFT`` + Shift amount to get the write data support + +``NVME_CMBSZ_SZU_SHIFT`` + Shift amount to get the size units + +``NVME_CMBSZ_SZ_SHIFT`` + Shift amount to get the size + +``NVME_CMBSZ_SQS_MASK`` + Mask to get the submission queue support + +``NVME_CMBSZ_CQS_MASK`` + Mask to get the completion queue support + +``NVME_CMBSZ_LISTS_MASK`` + Mask to get the PLP SGL list support + +``NVME_CMBSZ_RDS_MASK`` + Mask to get the read data support + +``NVME_CMBSZ_WDS_MASK`` + Mask to get the write data support + +``NVME_CMBSZ_SZU_MASK`` + Mask to get the size units + +``NVME_CMBSZ_SZ_MASK`` + Mask to get the size + +``NVME_CMBSZ_SZU_4K`` + 4 KiB + +``NVME_CMBSZ_SZU_64K`` + 64 KiB + +``NVME_CMBSZ_SZU_1M`` + 1 MiB + +``NVME_CMBSZ_SZU_16M`` + 16 MiB + +``NVME_CMBSZ_SZU_256M`` + 256 MiB + +``NVME_CMBSZ_SZU_4G`` + 4 GiB + +``NVME_CMBSZ_SZU_64G`` + 64 GiB + + .. c:function:: __u64 nvme_cmb_size (__u32 cmbsz) - Calculate size of the controller memory buffer + Calculate size of the controller memory buffer + +**Parameters** + +``__u32 cmbsz`` + Value from controller register ``NVME_REG_CMBSZ`` + +**Return** + +size of controller memory buffer in bytes + + + + +.. c:enum:: nvme_bpinfo + + This field indicates the boot partition information + +**Constants** + +``NVME_BPINFO_BPSZ_SHIFT`` + Shift amount to get the boot partition size + +``NVME_BPINFO_BRS_SHIFT`` + Shift amount to get the boot read status + +``NVME_BPINFO_ABPID_SHIFT`` + Shift amount to get the active boot partition ID + +``NVME_BPINFO_BPSZ_MASK`` + Mask to get the boot partition size + +``NVME_BPINFO_BRS_MASK`` + Mask to get the boot read status + +``NVME_BPINFO_ABPID_MASK`` + Mask to get the active boot partition ID + +``NVME_BPINFO_BRS_NONE`` + No boot partition read operation requested + +``NVME_BPINFO_BRS_READ_IN_PROGRESS`` + Boot partition read in progress + +``NVME_BPINFO_BRS_READ_SUCCESS`` + Boot partition read completed successfully + +``NVME_BPINFO_BRS_READ_ERROR`` + Error completing boot partition read + + + + +.. c:enum:: nvme_bprsel + + This field indicates the boot partition read select + +**Constants** + +``NVME_BPRSEL_BPRSZ_SHIFT`` + Shift amount to get the boot partition read size + +``NVME_BPRSEL_BPROF_SHIFT`` + Shift amount to get the boot partition read offset + +``NVME_BPRSEL_BPID_SHIFT`` + Shift amount to get the boot partition identifier + +``NVME_BPRSEL_BPRSZ_MASK`` + Mask to get the boot partition read size + +``NVME_BPRSEL_BPROF_MASK`` + Mask to get the boot partition read offset + +``NVME_BPRSEL_BPID_MASK`` + Mask to get the boot partition identifier + + + + +.. c:enum:: nvme_bpmbl + + This field indicates the boot partition memory buffer location + +**Constants** + +``NVME_BPMBL_BMBBA_SHIFT`` + Shift amount to get the boot partition memory buffer base address + + + + +.. c:enum:: nvme_cmbmsc + + This field indicates the controller memory buffer memory space control + +**Constants** + +``NVME_CMBMSC_CRE_SHIFT`` + Shift amount to get the capabilities registers enabled + +``NVME_CMBMSC_CMSE_SHIFT`` + Shift amount to get the controller memory space enable + +``NVME_CMBMSC_CBA_SHIFT`` + Shift amount to get the controller base address + +``NVME_CMBMSC_CRE_MASK`` + Mask to get the capabilities registers enabled + +``NVME_CMBMSC_CMSE_MASK`` + Mask to get the controller memory space enable + + + + +.. c:enum:: nvme_cmbsts + + This field indicates the controller memory buffer status + +**Constants** + +``NVME_CMBSTS_CBAI_SHIFT`` + Shift amount to get the controller base address invalid + +``NVME_CMBSTS_CBAI_MASK`` + Mask to get the controller base address invalid + + + + +.. c:enum:: nvme_unit + + Defined buffer size and write throughput granularity units + +**Constants** + +``NVME_UNIT_B`` + Bytes or Bytes/second + +``NVME_UNIT_1K`` + 1 KiB or 1 KiB/second + +``NVME_UNIT_1M`` + 1 MiB or 1 MiB/second + +``NVME_UNIT_1G`` + 1 GiB or 1 GiB/second + + + -**Parameters** +.. c:enum:: nvme_cmbebs -``__u32 cmbsz`` - Value from controller register ``NVME_REG_CMBSZ`` + This field indicates the controller memory buffer elasticity buffer size -**Return** +**Constants** -size of controller memory buffer in bytes +``NVME_CMBEBS_CMBSZU_SHIFT`` + Shift amount to get the CMB elasticity buffer size units + +``NVME_CMBEBS_RBB_SHIFT`` + Shift amount to get the read bypass behavior + +``NVME_CMBEBS_CMBWBZ_SHIFT`` + Shift amount to get the CMB elasiticity buffer size base + +``NVME_CMBEBS_CMBSZU_MASK`` + Mask to get the CMB elasticity buffer size units + +``NVME_CMBEBS_RBB_MASK`` + Mask to get the read bypass behavior + +``NVME_CMBEBS_CMBWBZ_MASK`` + Mask to get the CMB elasiticity buffer size base + +``NVME_CMBEBS_CMBSZU_B`` + Bytes granularity + +``NVME_CMBEBS_CMBSZU_1K`` + 1 KiB granularity + +``NVME_CMBEBS_CMBSZU_1M`` + 1 MiB granularity + +``NVME_CMBEBS_CMBSZU_1G`` + 1 GiB granularity + + + + +.. c:enum:: nvme_cmbswtp + + This field indicates the controller memory buffer sustained write throughput + +**Constants** + +``NVME_CMBSWTP_CMBSWTU_SHIFT`` + Shift amount to get the CMB sustained write throughput units + +``NVME_CMBSWTP_CMBSWTV_SHIFT`` + Shift amount to get the CMB sustained write throughput + +``NVME_CMBSWTP_CMBSWTU_MASK`` + Mask to get the CMB sustained write throughput units + +``NVME_CMBSWTP_CMBSWTV_MASK`` + Mask to get the CMB sustained write throughput + +``NVME_CMBSWTP_CMBSWTU_B`` + Bytes/second granularity + +``NVME_CMBSWTP_CMBSWTU_1K`` + 1 KiB/second granularity + +``NVME_CMBSWTP_CMBSWTU_1M`` + 1 MiB/second granularity + +``NVME_CMBSWTP_CMBSWTU_1G`` + 1 GiB/second granularity + + + + +.. c:enum:: nvme_crto + + This field indicates the controller ready timeouts + +**Constants** + +``NVME_CRTO_CRWMT_SHIFT`` + Shift amount to get the controller ready with media timeout + +``NVME_CRTO_CRIMT_SHIFT`` + Shift amount to get the controller ready independent of media timeout + +``NVME_CRTO_CRWMT_MASK`` + Mask to get the controller ready with media timeout + +``NVME_CRTO_CRIMT_MASK`` + Mask to get the controller ready independent of media timeout + + + + +.. c:enum:: nvme_pmrcap + + This field indicates the persistent memory region capabilities + +**Constants** + +``NVME_PMRCAP_RDS_SHIFT`` + Shift amount to get the read data support + +``NVME_PMRCAP_WDS_SHIFT`` + Shift amount to get the write data support + +``NVME_PMRCAP_BIR_SHIFT`` + Shift amount to get the base indicator register + +``NVME_PMRCAP_PMRTU_SHIFT`` + Shift amount to get the persistent memory region time units + +``NVME_PMRCAP_PMRWBM_SHIFT`` + Shift amount to get the persistent memory region write barrier mechanisms + +``NVME_PMRCAP_PMRTO_SHIFT`` + Shift amount to get the persistent memory region timeout + +``NVME_PMRCAP_CMSS_SHIFT`` + Shift amount to get the controller memory space supported + +``NVME_PMRCAP_PMRWMB_SHIFT`` + Deprecated shift amount to get the persistent memory region write barrier mechanisms + +``NVME_PMRCAP_RDS_MASK`` + Mask to get the read data support + +``NVME_PMRCAP_WDS_MASK`` + Mask to get the write data support + +``NVME_PMRCAP_BIR_MASK`` + Mask to get the base indicator register + +``NVME_PMRCAP_PMRTU_MASK`` + Mask to get the persistent memory region time units + +``NVME_PMRCAP_PMRWBM_MASK`` + Mask to get the persistent memory region write barrier mechanisms + +``NVME_PMRCAP_PMRTO_MASK`` + Mask to get the persistent memory region timeout + +``NVME_PMRCAP_CMSS_MASK`` + Mask to get the controller memory space supported + +``NVME_PMRCAP_PMRWMB_MASK`` + Deprecated mask to get the persistent memory region write barrier mechanisms + +``NVME_PMRCAP_PMRTU_500MS`` + 500 milliseconds + +``NVME_PMRCAP_PMRTU_60S`` + minutes + + + + +.. c:enum:: nvme_pmrctl + + This field indicates the persistent memory region control + +**Constants** + +``NVME_PMRCTL_EN_SHIFT`` + Shift amount to get the enable + +``NVME_PMRCTL_EN_MASK`` + Mask to get the enable + + + + +.. c:enum:: nvme_pmrsts + + This field indicates the persistent memory region status + +**Constants** + +``NVME_PMRSTS_ERR_SHIFT`` + Shift amount to get the error + +``NVME_PMRSTS_NRDY_SHIFT`` + Shift amount to get the not ready + +``NVME_PMRSTS_HSTS_SHIFT`` + Shift amount to get the health status + +``NVME_PMRSTS_CBAI_SHIFT`` + Shift amount to get the controller base address invalid + +``NVME_PMRSTS_ERR_MASK`` + Mask to get the error + +``NVME_PMRSTS_NRDY_MASK`` + Mask to get the not ready + +``NVME_PMRSTS_HSTS_MASK`` + Mask to get the health status + +``NVME_PMRSTS_CBAI_MASK`` + Mask to get the controller base address invalid + + + + +.. c:enum:: nvme_pmrebs + + This field indicates the persistent memory region elasticity buffer size + +**Constants** + +``NVME_PMREBS_PMRSZU_SHIFT`` + Shift amount to get the PMR elasticity buffer size units + +``NVME_PMREBS_RBB_SHIFT`` + Shift amount to get the read bypass behavior + +``NVME_PMREBS_PMRWBZ_SHIFT`` + Shift amount to get the PMR elasticity buffer size base + +``NVME_PMREBS_PMRSZU_MASK`` + Mask to get the PMR elasticity buffer size units + +``NVME_PMREBS_RBB_MASK`` + Mask to get the read bypass behavior + +``NVME_PMREBS_PMRWBZ_MASK`` + Mask to get the PMR elasticity buffer size base + +``NVME_PMREBS_PMRSZU_B`` + Bytes + +``NVME_PMREBS_PMRSZU_1K`` + 1 KiB + +``NVME_PMREBS_PMRSZU_1M`` + 1 MiB + +``NVME_PMREBS_PMRSZU_1G`` + 1 GiB .. c:function:: __u64 nvme_pmr_size (__u32 pmrebs) @@ -324,6 +1185,39 @@ size of controller memory buffer in bytes size of controller persistent memory buffer in bytes + + +.. c:enum:: nvme_pmrswtp + + This field indicates the persistent memory region sustained write throughput + +**Constants** + +``NVME_PMRSWTP_PMRSWTU_SHIFT`` + Shift amount to get the PMR sustained write throughput units + +``NVME_PMRSWTP_PMRSWTV_SHIFT`` + Shift amount to get the PMR sustained write throughput + +``NVME_PMRSWTP_PMRSWTU_MASK`` + Mask to get the PMR sustained write throughput units + +``NVME_PMRSWTP_PMRSWTV_MASK`` + Mask to get the PMR sustained write throughput + +``NVME_PMRSWTP_PMRSWTU_BPS`` + Bytes per second + +``NVME_PMRSWTP_PMRSWTU_KBPS`` + 1 KiB / s + +``NVME_PMRSWTP_PMRSWTU_MBPS`` + 1 MiB / s + +``NVME_PMRSWTP_PMRSWTU_GBPS`` + 1 GiB / s + + .. c:function:: __u64 nvme_pmr_throughput (__u32 pmrswtp) Calculate throughput of persistent memory buffer @@ -340,6 +1234,51 @@ throughput of controller persistent memory buffer in bytes/second +.. c:enum:: nvme_pmrmsc + + This field indicates the persistent memory region memory space control + +**Constants** + +``NVME_PMRMSC_CMSE_SHIFT`` + Shift amount to get the controller memory space enable + +``NVME_PMRMSC_CBA_SHIFT`` + Shift amount to get the controller base address + +``NVME_PMRMSC_CMSE_MASK`` + Mask to get the controller memory space enable + + + + +.. c:enum:: nvme_flbas + + This field indicates the formatted LBA size + +**Constants** + +``NVME_FLBAS_LOWER_SHIFT`` + Shift amount to get the format index least significant 4 bits + +``NVME_FLBAS_META_EXT_SHIFT`` + Shift amount to get the metadata transferred + +``NVME_FLBAS_HIGHER_SHIFT`` + Shift amount to get the format index most significant 2 bits + +``NVME_FLBAS_LOWER_MASK`` + Mask to get the format index least significant 4 bits + +``NVME_FLBAS_META_EXT_MASK`` + Mask to get the metadata transferred + +``NVME_FLBAS_HIGHER_MASK`` + Mask to get the format index most significant 2 bits + + + + .. c:enum:: nvme_psd_flags Possible flag values in nvme power state descriptor @@ -1042,6 +1981,45 @@ power scale value +.. c:enum:: nvme_cmic + + This field indicates the controller multi-path I/O and NS sharing capabilities + +**Constants** + +``NVME_CMIC_MULTI_PORT_SHIFT`` + Shift amount to get the NVM subsystem port + +``NVME_CMIC_MULTI_CTRL_SHIFT`` + Shift amount to get the controllers + +``NVME_CMIC_MULTI_SRIOV_SHIFT`` + Shift amount to get the SR-IOV virtual function + +``NVME_CMIC_MULTI_ANA_SHIFT`` + Shift amount to get the asymmetric namespace access reporting + +``NVME_CMIC_MULTI_RSVD_SHIFT`` + Shift amount to get the reserved + +``NVME_CMIC_MULTI_PORT_MASK`` + Mask to get the NVM subsystem port + +``NVME_CMIC_MULTI_CTRL_MASK`` + Mask to get the controllers + +``NVME_CMIC_MULTI_SRIOV_MASK`` + Mask to get the SR-IOV virtual function + +``NVME_CMIC_MULTI_ANA_MASK`` + Mask to get the asymmetric namespace access reporting + +``NVME_CMIC_MULTI_RSVD_MASK`` + Mask to get the reserved + + + + .. c:enum:: nvme_id_ctrl_cmic Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem. @@ -4682,6 +5660,65 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_pel_rci + + This field indicates the persistent event log reporting context + +**Constants** + +``NVME_PEL_RCI_RCPID_SHIFT`` + Shift amount to get the reporting context port identifier + from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RCPIT_SHIFT`` + Shift amount to get the reporting context port identifier + type from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RCE_SHIFT`` + Shift amount to get the reporting context exists + from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RSVD_SHIFT`` + Shift amount to get the reserved reporting context + from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RCPID_MASK`` + Mask to get the reporting context port identifier from + the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RCPIT_MASK`` + Mask to get the reporting context port identifier type from + the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RCE_MASK`` + Mask to get the reporting context exists from + the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_RCI_RSVD_MASK`` + Mask to get the reserved reporting context from + the :c:type:`struct nvme_persistent_event_log `.rci field. + + + + +.. c:enum:: nvme_pel_rci_rcpit + + Persistent Event Log Reporting Context - Port Identifier Type + +**Constants** + +``NVME_PEL_RCI_RCPIT_NOT_EXIST`` + Does not already exist + +``NVME_PEL_RCI_RCPIT_EST_PORT`` + Established by an NVM subsystem port + +``NVME_PEL_RCI_RCPIT_EST_ME`` + Established by a Management Endpoint + + + + .. c:struct:: nvme_persistent_event_entry Persistent Event @@ -4787,6 +5824,52 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_pel_ehai + + This field indicates the persistent event header additional information + +**Constants** + +``NVME_PEL_EHAI_PIT_SHIFT`` + Shift amount to get the reporting context port identifier + from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_EHAI_RSVD_SHIFT`` + Shift amount to get the reserved reporting context + from the :c:type:`struct nvme_persistent_event_log `.rci field. + +``NVME_PEL_EHAI_PIT_MASK`` + Mask to get the reporting context port identifier from + the :c:type:`struct nvme_st_result `.dsts field. + +``NVME_PEL_EHAI_RSVD_MASK`` + Mask to get the reserved reporting context from + the :c:type:`struct nvme_st_result `.dsts field. + + + + +.. c:enum:: nvme_pel_ehai_pit + + Persistent Event Header Additional Information - Port Identifier Type + +**Constants** + +``NVME_PEL_EHAI_PIT_NOT_REPORTED`` + PIT not reported and PELPID does not apply + +``NVME_PEL_EHAI_PIT_NSS_PORT`` + NVM subsystem port + +``NVME_PEL_EHAI_PIT_NMI_PORT`` + NVMe-MI port + +``NVME_PEL_EHAI_PIT_NOT_ASSOCIATED`` + Event not associated with any port and PELPID does not apply + + + + .. c:struct:: nvme_fw_commit_event Firmware Commit Event Data @@ -5186,6 +6269,39 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_set_feat_event_layout + + This field indicates the set feature event layout + +**Constants** + +``NVME_SET_FEAT_EVENT_DW_COUNT_SHIFT`` + Shift amount to get the Dword count from the + :c:type:`struct nvme_set_feature_event `.layout field. + +``NVME_SET_FEAT_EVENT_CC_DW0_SHIFT`` + Shift amount to get the logged command completion Dword 0 + from the :c:type:`struct nvme_set_feature_event `.layout field. + +``NVME_SET_FEAT_EVENT_MB_COUNT_SHIFT`` + Shift amount to get the memory buffer count from + the :c:type:`struct nvme_set_feature_event `.layout field. + +``NVME_SET_FEAT_EVENT_DW_COUNT_MASK`` + Mask to get the Dword count from the :c:type:`struct + nvme_set_feature_event `.layout field. + +``NVME_SET_FEAT_EVENT_CC_DW0_MASK`` + Mask to get the logged command completion Dword 0 from + the :c:type:`struct nvme_set_feature_event `.layout field. + +``NVME_SET_FEAT_EVENT_MB_COUNT_MASK`` + Mask to get the memory buffer count from the :c:type:`struct + nvme_set_feature_event `.layout field. + + + + .. c:struct:: nvme_thermal_exc_event Thermal Excursion Event Data @@ -5542,6 +6658,31 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_boot_partition_info + + This field indicates the boot partition information + +**Constants** + +``NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT`` + Shift amount to get the boot partition size from + the :c:type:`struct nvme_boot_partition `.bpinfo field. + +``NVME_BOOT_PARTITION_INFO_ABPID_SHIFT`` + Shift amount to get the active boot partition ID + from the :c:type:`struct nvme_boot_partition `.bpinfo field. + +``NVME_BOOT_PARTITION_INFO_BPSZ_MASK`` + Mask to get the boot partition size from the + :c:type:`struct nvme_boot_partition `.bpinfo field. + +``NVME_BOOT_PARTITION_INFO_ABPID_MASK`` + Mask to get the active boot partition ID from the + :c:type:`struct nvme_boot_partition `.bpinfo field. + + + + .. c:struct:: nvme_eom_lane_desc EOM Lane Descriptor @@ -5716,18 +6857,51 @@ bytes, in size. This log captures the controller’s internal state. -.. c:enum:: nvme_eom_optional_data +.. c:enum:: nvme_eom_optional_data_present EOM Optional Data Present Fields **Constants** -``NVME_EOM_EYE_DATA_PRESENT`` - Eye Data Present +``NVME_EOM_ODP_PEFP_SHIFT`` + Shift amount to get the printable eye field present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + +``NVME_EOM_ODP_EDFP_SHIFT`` + Shift amount to get the eye data field present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + +``NVME_EOM_ODP_RSVD_SHIFT`` + Shift amount to get the reserved optional data present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + +``NVME_EOM_ODP_PEFP_MASK`` + Mask to get the printable eye field present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + +``NVME_EOM_ODP_EDFP_MASK`` + Mask to get the eye data field present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + +``NVME_EOM_ODP_RSVD_MASK`` + Mask to get the reserved data present + from the :c:type:`struct nvme_phy_rx_eom_log `.odp field. + + + + +.. c:enum:: nvme_eom_optional_data + + EOM Optional Data Present Fields (Deprecated) + +**Constants** ``NVME_EOM_PRINTABLE_EYE_PRESENT`` Printable Eye Present +``NVME_EOM_EYE_DATA_PRESENT`` + Eye Data Present + @@ -10914,6 +12088,9 @@ true if **status** is of the specified type and value ``NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS`` NVMe-MI Commands Supported and Effects +``NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN`` + Command and Feature Lockdown + ``NVME_LOG_LID_BOOT_PARTITION`` Boot Partition diff --git a/examples/mi-mctp.c b/examples/mi-mctp.c index e0b7644..75437c0 100644 --- a/examples/mi-mctp.c +++ b/examples/mi-mctp.c @@ -677,8 +677,8 @@ int main(int argc, char **argv) nvme_root_t root; nvme_mi_ep_t ep; bool dbus = false, usage = true; - uint8_t eid; - int rc = 0, net; + uint8_t eid = 0; + int rc = 0, net = 0; if (argc >= 2 && strcmp(argv[1], "dbus") == 0) { usage = false; diff --git a/meson.build b/meson.build index 5d48278..f589423 100644 --- a/meson.build +++ b/meson.build @@ -8,12 +8,12 @@ project( 'libnvme', ['c'], meson_version: '>= 0.50.0', - version: '1.8', + version: '1.9', license: 'LGPL-2.1-or-later', default_options: [ 'c_std=gnu99', 'warning_level=1', - 'buildtype=debug', + 'buildtype=debugoptimized', 'prefix=/usr/local', 'sysconfdir=etc', 'wrap_mode=nofallback' diff --git a/src/libnvme.map b/src/libnvme.map index c8163cb..8710c41 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,4 +1,17 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_1.9 { + global: + nvme_export_tls_key; + nvme_get_logging_level; + nvme_import_tls_key; + nvme_read_key; + nvme_scan_tls_keys; + nvme_submit_passthru; + nvme_submit_passthru64; + nvme_update_key; + nvme_ctrl_get_cntlid; +}; + LIBNVME_1_8 { global: nvme_uuid_find; diff --git a/src/meson.build b/src/meson.build index 811f0f8..001c3b9 100644 --- a/src/meson.build +++ b/src/meson.build @@ -12,9 +12,11 @@ sources = [ 'nvme/ioctl.c', 'nvme/linux.c', 'nvme/log.c', + 'nvme/sysfs.c', 'nvme/tree.c', 'nvme/util.c', - 'nvme/base64.c' + 'nvme/base64.c', + 'nvme/crc32.c' ] mi_sources = [ diff --git a/src/nvme/crc32.c b/src/nvme/crc32.c new file mode 100644 index 0000000..e726c9f --- /dev/null +++ b/src/nvme/crc32.c @@ -0,0 +1,111 @@ +/* + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + */ + +/* + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. + */ + +/* https://web.mit.edu/freebsd/head/sys/libkern/crc32.c */ + +#include "crc32.h" + +const uint32_t crc32_tab[] = { + 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, + 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, + 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, + 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, + 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, + 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, + 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, + 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, + 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, + 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, + 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, + 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, + 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, + 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, + 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, + 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, + 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, + 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, + 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, + 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, + 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, + 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, + 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, + 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, + 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, + 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, + 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, + 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, + 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, + 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, + 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, + 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, + 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, + 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, + 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, + 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, + 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, + 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, + 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, + 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, + 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, + 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, + 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d +}; + +/* + * A function that calculates the CRC-32 based on the table above is + * given below for documentation purposes. An equivalent implementation + * of this function that's actually used in the kernel can be found + * in sys/libkern.h, where it can be inlined. + */ + +uint32_t +crc32(uint32_t crc, const void *buf, size_t size) +{ + const uint8_t *p = buf; + + crc = ~crc; + while (size--) + crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); + return ~crc; +} diff --git a/src/nvme/crc32.h b/src/nvme/crc32.h new file mode 100644 index 0000000..2bdc8fb --- /dev/null +++ b/src/nvme/crc32.h @@ -0,0 +1,9 @@ +#ifndef crc32_H +#define crc32_H + +#include +#include + +uint32_t crc32(uint32_t crc, const void *buf, size_t len); + +#endif diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index 1f50229..6738e9d 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -1186,29 +1186,12 @@ struct nvmf_discovery_log *nvmf_get_discovery_wargs(struct nvme_get_discovery_ar return log; } -#define PATH_UUID_IBM "/proc/device-tree/ibm,partition-uuid" - -static char *uuid_ibm_filename(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_UUID_IBM); - - if (!asprintf(&str, "%s" PATH_UUID_IBM, basepath)) - return NULL; - - return str; -} - static int uuid_from_device_tree(char *system_uuid) { - _cleanup_free_ char *filename = uuid_ibm_filename(); _cleanup_fd_ int f = -1; ssize_t len; - f = open(filename, O_RDONLY); + f = open(nvme_uuid_ibm_filename(), O_RDONLY); if (f < 0) return -ENXIO; @@ -1220,22 +1203,6 @@ static int uuid_from_device_tree(char *system_uuid) return strlen(system_uuid) ? 0 : -ENXIO; } -#define PATH_DMI_ENTRIES "/sys/firmware/dmi/entries" - -static char *dmi_entries_dir(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_DMI_ENTRIES); - - if (!asprintf(&str, "%s" PATH_DMI_ENTRIES, basepath)) - return NULL; - - return str; -} - /* * See System Management BIOS (SMBIOS) Reference Specification * https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.2.0.pdf @@ -1264,7 +1231,7 @@ static bool is_dmi_uuid_valid(const char *buf, size_t len) static int uuid_from_dmi_entries(char *system_uuid) { _cleanup_dir_ DIR *d = NULL; - _cleanup_free_ char *entries_dir = dmi_entries_dir(); + const char *entries_dir = nvme_dmi_entries_dir(); int f; struct dirent *de; char buf[512] = {0}; @@ -1297,6 +1264,8 @@ static int uuid_from_dmi_entries(char *system_uuid) continue; len = read(f, buf, 512); close(f); + if (len <= 0) + continue; if (!is_dmi_uuid_valid(buf, len)) continue; diff --git a/src/nvme/fabrics.h b/src/nvme/fabrics.h index a2504de..4ebeb35 100644 --- a/src/nvme/fabrics.h +++ b/src/nvme/fabrics.h @@ -56,8 +56,8 @@ struct nvme_fabrics_config { int nr_write_queues; int nr_poll_queues; int tos; - int keyring; - int tls_key; + long keyring; + long tls_key; bool duplicate_connect; bool disable_sqflow; diff --git a/src/nvme/filters.c b/src/nvme/filters.c index 312b8f6..ceaba68 100644 --- a/src/nvme/filters.c +++ b/src/nvme/filters.c @@ -6,68 +6,12 @@ * Authors: Keith Busch * Chaitanya Kulkarni */ -#include #include #include #include -#include - -#include -#include -#include -#include -#include #include "filters.h" -#include "types.h" -#include "util.h" -#include "cleanup.h" - -#define PATH_SYSFS_NVME "/sys/class/nvme" -#define PATH_SYSFS_NVME_SUBSYSTEM "/sys/class/nvme-subsystem" -#define PATH_SYSFS_BLOCK "/sys/block" - -char *nvme_ctrl_sysfs_dir(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_SYSFS_NVME); - - if (!asprintf(&str, "%s" PATH_SYSFS_NVME, basepath)) - return NULL; - - return str; -} - -char *nvme_ns_sysfs_dir(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_SYSFS_BLOCK); - - if (!asprintf(&str, "%s" PATH_SYSFS_BLOCK, basepath)) - return NULL; - - return str; -} - -char *nvme_subsys_sysfs_dir(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_SYSFS_NVME_SUBSYSTEM); - - if (!asprintf(&str, "%s" PATH_SYSFS_NVME_SUBSYSTEM, basepath)) - return NULL; - - return str; -} +#include "private.h" int nvme_namespace_filter(const struct dirent *d) { @@ -132,7 +76,7 @@ int nvme_subsys_filter(const struct dirent *d) int nvme_scan_subsystems(struct dirent ***subsys) { - _cleanup_free_ char *dir = nvme_subsys_sysfs_dir(); + const char *dir = nvme_subsys_sysfs_dir(); return scandir(dir, subsys, nvme_subsys_filter, alphasort); } @@ -145,7 +89,7 @@ int nvme_scan_subsystem_namespaces(nvme_subsystem_t s, struct dirent ***ns) int nvme_scan_ctrls(struct dirent ***ctrls) { - _cleanup_free_ char *dir = nvme_ctrl_sysfs_dir(); + const char *dir = nvme_ctrl_sysfs_dir(); return scandir(dir, ctrls, nvme_ctrls_filter, alphasort); } diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index 9090b7e..ce5a911 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -24,8 +24,7 @@ #include "ioctl.h" #include "util.h" - -static bool nvme_debug; +#include "log.h" static int nvme_verify_chr(int fd) { @@ -79,9 +78,10 @@ int nvme_get_nsid(int fd, __u32 *nsid) return -1 * (errno != 0); } -static int nvme_submit_passthru64(int fd, unsigned long ioctl_cmd, - struct nvme_passthru_cmd64 *cmd, - __u64 *result) +__attribute__((weak)) +int nvme_submit_passthru64(int fd, unsigned long ioctl_cmd, + struct nvme_passthru_cmd64 *cmd, + __u64 *result) { int err = ioctl(fd, ioctl_cmd, cmd); @@ -90,62 +90,14 @@ static int nvme_submit_passthru64(int fd, unsigned long ioctl_cmd, return err; } -static void nvme_show_command(struct nvme_passthru_cmd *cmd, int err, struct timeval start, - struct timeval end) -{ - printf("opcode : %02x\n", cmd->opcode); - printf("flags : %02x\n", cmd->flags); - printf("rsvd1 : %04x\n", cmd->rsvd1); - printf("nsid : %08x\n", cmd->nsid); - printf("cdw2 : %08x\n", cmd->cdw2); - printf("cdw3 : %08x\n", cmd->cdw3); - printf("data_len : %08x\n", cmd->data_len); - printf("metadata_len : %08x\n", cmd->metadata_len); - printf("addr : %"PRIx64"\n", (uint64_t)(uintptr_t)cmd->addr); - printf("metadata : %"PRIx64"\n", (uint64_t)(uintptr_t)cmd->metadata); - printf("cdw10 : %08x\n", cmd->cdw10); - printf("cdw11 : %08x\n", cmd->cdw11); - printf("cdw12 : %08x\n", cmd->cdw12); - printf("cdw13 : %08x\n", cmd->cdw13); - printf("cdw14 : %08x\n", cmd->cdw14); - printf("cdw15 : %08x\n", cmd->cdw15); - printf("timeout_ms : %08x\n", cmd->timeout_ms); - printf("result : %08x\n", cmd->result); - printf("err : %d\n", err); - printf("latency : %lu us\n", - (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec)); -} - -void nvme_set_debug(bool debug) -{ - nvme_debug = debug; -} - -bool nvme_get_debug(void) -{ - return nvme_debug; -} - -static int nvme_submit_passthru(int fd, unsigned long ioctl_cmd, - struct nvme_passthru_cmd *cmd, __u32 *result) +__attribute__((weak)) +int nvme_submit_passthru(int fd, unsigned long ioctl_cmd, + struct nvme_passthru_cmd *cmd, __u32 *result) { - struct timeval start; - struct timeval end; - int err; - - if (nvme_get_debug()) - gettimeofday(&start, NULL); - - err = ioctl(fd, ioctl_cmd, cmd); - - if (nvme_get_debug()) { - gettimeofday(&end, NULL); - nvme_show_command(cmd, err, start, end); - } + int err = ioctl(fd, ioctl_cmd, cmd); if (err >= 0 && result) *result = cmd->result; - return err; } @@ -246,125 +198,6 @@ int nvme_admin_passthru(int fd, __u8 opcode, __u8 flags, __u16 rsvd, metadata, timeout_ms, result); } -enum nvme_cmd_dword_fields { - NVME_DEVICE_SELF_TEST_CDW10_STC_SHIFT = 0, - NVME_DEVICE_SELF_TEST_CDW10_STC_MASK = 0xf, - NVME_DIRECTIVE_CDW11_DOPER_SHIFT = 0, - NVME_DIRECTIVE_CDW11_DTYPE_SHIFT = 8, - NVME_DIRECTIVE_CDW11_DPSEC_SHIFT = 16, - NVME_DIRECTIVE_CDW11_DOPER_MASK = 0xff, - NVME_DIRECTIVE_CDW11_DTYPE_MASK = 0xff, - NVME_DIRECTIVE_CDW11_DPSEC_MASK = 0xffff, - NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_ENDIR_SHIFT = 0, - NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_DTYPE_SHIFT = 1, - NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_ENDIR_MASK = 0x1, - NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_DTYPE_MASK = 0x1, - NVME_FW_COMMIT_CDW10_FS_SHIFT = 0, - NVME_FW_COMMIT_CDW10_CA_SHIFT = 3, - NVME_FW_COMMIT_CDW10_BPID_SHIFT = 31, - NVME_FW_COMMIT_CDW10_FS_MASK = 0x7, - NVME_FW_COMMIT_CDW10_CA_MASK = 0x7, - NVME_FW_COMMIT_CDW10_BPID_MASK = 0x1, - NVME_GET_FEATURES_CDW10_SEL_SHIFT = 8, - NVME_GET_FEATURES_CDW10_SEL_MASK = 0x7, - NVME_SET_FEATURES_CDW10_SAVE_SHIFT = 31, - NVME_SET_FEATURES_CDW10_SAVE_MASK = 0x1, - NVME_FEATURES_CDW10_FID_SHIFT = 0, - NVME_FEATURES_CDW14_UUID_SHIFT = 0, - NVME_FEATURES_CDW10_FID_MASK = 0xff, - NVME_FEATURES_CDW14_UUID_MASK = 0x7f, - NVME_LOG_CDW10_LID_SHIFT = 0, - NVME_LOG_CDW10_LSP_SHIFT = 8, - NVME_LOG_CDW10_RAE_SHIFT = 15, - NVME_LOG_CDW10_NUMDL_SHIFT = 16, - NVME_LOG_CDW11_NUMDU_SHIFT = 0, - NVME_LOG_CDW11_LSI_SHIFT = 16, - NVME_LOG_CDW14_UUID_SHIFT = 0, - NVME_LOG_CDW14_CSI_SHIFT = 24, - NVME_LOG_CDW14_OT_SHIFT = 23, - NVME_LOG_CDW10_LID_MASK = 0xff, - NVME_LOG_CDW10_LSP_MASK = 0x7f, - NVME_LOG_CDW10_RAE_MASK = 0x1, - NVME_LOG_CDW10_NUMDL_MASK = 0xffff, - NVME_LOG_CDW11_NUMDU_MASK = 0xffff, - NVME_LOG_CDW11_LSI_MASK = 0xffff, - NVME_LOG_CDW14_UUID_MASK = 0x7f, - NVME_LOG_CDW14_CSI_MASK = 0xff, - NVME_LOG_CDW14_OT_MASK = 0x1, - NVME_IDENTIFY_CDW10_CNS_SHIFT = 0, - NVME_IDENTIFY_CDW10_CNTID_SHIFT = 16, - NVME_IDENTIFY_CDW11_CNSSPECID_SHIFT = 0, - NVME_IDENTIFY_CDW14_UUID_SHIFT = 0, - NVME_IDENTIFY_CDW11_CSI_SHIFT = 24, - NVME_IDENTIFY_CDW10_CNS_MASK = 0xff, - NVME_IDENTIFY_CDW10_CNTID_MASK = 0xffff, - NVME_IDENTIFY_CDW11_CNSSPECID_MASK = 0xffff, - NVME_IDENTIFY_CDW14_UUID_MASK = 0x7f, - NVME_IDENTIFY_CDW11_CSI_MASK = 0xff, - NVME_NAMESPACE_ATTACH_CDW10_SEL_SHIFT = 0, - NVME_NAMESPACE_ATTACH_CDW10_SEL_MASK = 0xf, - NVME_NAMESPACE_MGMT_CDW10_SEL_SHIFT = 0, - NVME_NAMESPACE_MGMT_CDW10_SEL_MASK = 0xf, - NVME_NAMESPACE_MGMT_CDW11_CSI_SHIFT = 24, - NVME_NAMESPACE_MGMT_CDW11_CSI_MASK = 0xff, - NVME_VIRT_MGMT_CDW10_ACT_SHIFT = 0, - NVME_VIRT_MGMT_CDW10_RT_SHIFT = 8, - NVME_VIRT_MGMT_CDW10_CNTLID_SHIFT = 16, - NVME_VIRT_MGMT_CDW11_NR_SHIFT = 0, - NVME_VIRT_MGMT_CDW10_ACT_MASK = 0xf, - NVME_VIRT_MGMT_CDW10_RT_MASK = 0x7, - NVME_VIRT_MGMT_CDW10_CNTLID_MASK = 0xffff, - NVME_VIRT_MGMT_CDW11_NR_MASK = 0xffff, - NVME_FORMAT_CDW10_LBAF_SHIFT = 0, - NVME_FORMAT_CDW10_MSET_SHIFT = 4, - NVME_FORMAT_CDW10_PI_SHIFT = 5, - NVME_FORMAT_CDW10_PIL_SHIFT = 8, - NVME_FORMAT_CDW10_SES_SHIFT = 9, - NVME_FORMAT_CDW10_LBAFU_SHIFT = 12, - NVME_FORMAT_CDW10_LBAF_MASK = 0xf, - NVME_FORMAT_CDW10_MSET_MASK = 0x1, - NVME_FORMAT_CDW10_PI_MASK = 0x7, - NVME_FORMAT_CDW10_PIL_MASK = 0x1, - NVME_FORMAT_CDW10_SES_MASK = 0x7, - NVME_FORMAT_CDW10_LBAFU_MASK = 0x3, - NVME_SANITIZE_CDW10_SANACT_SHIFT = 0, - NVME_SANITIZE_CDW10_AUSE_SHIFT = 3, - NVME_SANITIZE_CDW10_OWPASS_SHIFT = 4, - NVME_SANITIZE_CDW10_OIPBP_SHIFT = 8, - NVME_SANITIZE_CDW10_NODAS_SHIFT = 9, - NVME_SANITIZE_CDW10_SANACT_MASK = 0x7, - NVME_SANITIZE_CDW10_AUSE_MASK = 0x1, - NVME_SANITIZE_CDW10_OWPASS_MASK = 0xf, - NVME_SANITIZE_CDW10_OIPBP_MASK = 0x1, - NVME_SANITIZE_CDW10_NODAS_MASK = 0x1, - NVME_SECURITY_NSSF_SHIFT = 0, - NVME_SECURITY_SPSP0_SHIFT = 8, - NVME_SECURITY_SPSP1_SHIFT = 16, - NVME_SECURITY_SECP_SHIFT = 24, - NVME_SECURITY_NSSF_MASK = 0xff, - NVME_SECURITY_SPSP0_MASK = 0xff, - NVME_SECURITY_SPSP1_MASK = 0xff, - NVME_SECURITY_SECP_MASK = 0xffff, - NVME_GET_LBA_STATUS_CDW13_RL_SHIFT = 0, - NVME_GET_LBA_STATUS_CDW13_ATYPE_SHIFT = 24, - NVME_GET_LBA_STATUS_CDW13_RL_MASK = 0xffff, - NVME_GET_LBA_STATUS_CDW13_ATYPE_MASK = 0xff, - NVME_ZNS_MGMT_SEND_ZSASO_SHIFT = 9, - NVME_ZNS_MGMT_SEND_ZSASO_MASK = 0x1, - NVME_ZNS_MGMT_SEND_SEL_SHIFT = 8, - NVME_ZNS_MGMT_SEND_SEL_MASK = 0x1, - NVME_ZNS_MGMT_SEND_ZSA_SHIFT = 0, - NVME_ZNS_MGMT_SEND_ZSA_MASK = 0xff, - NVME_ZNS_MGMT_RECV_ZRA_SHIFT = 0, - NVME_ZNS_MGMT_RECV_ZRA_MASK = 0xff, - NVME_ZNS_MGMT_RECV_ZRASF_SHIFT = 8, - NVME_ZNS_MGMT_RECV_ZRASF_MASK = 0xff, - NVME_ZNS_MGMT_RECV_ZRAS_FEAT_SHIFT = 16, - NVME_ZNS_MGMT_RECV_ZRAS_FEAT_MASK = 0x1, - NVME_DIM_TAS_SHIFT = 0, - NVME_DIM_TAS_MASK = 0xF, -}; - enum features { NVME_FEATURES_ARBITRATION_BURST_SHIFT = 0, NVME_FEATURES_ARBITRATION_LPW_SHIFT = 8, diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index 4a0698f..be4c1b7 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -199,6 +199,125 @@ struct nvme_uring_cmd { t + p; \ }) +enum nvme_cmd_dword_fields { + NVME_DEVICE_SELF_TEST_CDW10_STC_SHIFT = 0, + NVME_DEVICE_SELF_TEST_CDW10_STC_MASK = 0xf, + NVME_DIRECTIVE_CDW11_DOPER_SHIFT = 0, + NVME_DIRECTIVE_CDW11_DTYPE_SHIFT = 8, + NVME_DIRECTIVE_CDW11_DPSEC_SHIFT = 16, + NVME_DIRECTIVE_CDW11_DOPER_MASK = 0xff, + NVME_DIRECTIVE_CDW11_DTYPE_MASK = 0xff, + NVME_DIRECTIVE_CDW11_DPSEC_MASK = 0xffff, + NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_ENDIR_SHIFT = 0, + NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_DTYPE_SHIFT = 1, + NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_ENDIR_MASK = 0x1, + NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_DTYPE_MASK = 0x1, + NVME_FW_COMMIT_CDW10_FS_SHIFT = 0, + NVME_FW_COMMIT_CDW10_CA_SHIFT = 3, + NVME_FW_COMMIT_CDW10_BPID_SHIFT = 31, + NVME_FW_COMMIT_CDW10_FS_MASK = 0x7, + NVME_FW_COMMIT_CDW10_CA_MASK = 0x7, + NVME_FW_COMMIT_CDW10_BPID_MASK = 0x1, + NVME_GET_FEATURES_CDW10_SEL_SHIFT = 8, + NVME_GET_FEATURES_CDW10_SEL_MASK = 0x7, + NVME_SET_FEATURES_CDW10_SAVE_SHIFT = 31, + NVME_SET_FEATURES_CDW10_SAVE_MASK = 0x1, + NVME_FEATURES_CDW10_FID_SHIFT = 0, + NVME_FEATURES_CDW14_UUID_SHIFT = 0, + NVME_FEATURES_CDW10_FID_MASK = 0xff, + NVME_FEATURES_CDW14_UUID_MASK = 0x7f, + NVME_LOG_CDW10_LID_SHIFT = 0, + NVME_LOG_CDW10_LSP_SHIFT = 8, + NVME_LOG_CDW10_RAE_SHIFT = 15, + NVME_LOG_CDW10_NUMDL_SHIFT = 16, + NVME_LOG_CDW11_NUMDU_SHIFT = 0, + NVME_LOG_CDW11_LSI_SHIFT = 16, + NVME_LOG_CDW14_UUID_SHIFT = 0, + NVME_LOG_CDW14_CSI_SHIFT = 24, + NVME_LOG_CDW14_OT_SHIFT = 23, + NVME_LOG_CDW10_LID_MASK = 0xff, + NVME_LOG_CDW10_LSP_MASK = 0x7f, + NVME_LOG_CDW10_RAE_MASK = 0x1, + NVME_LOG_CDW10_NUMDL_MASK = 0xffff, + NVME_LOG_CDW11_NUMDU_MASK = 0xffff, + NVME_LOG_CDW11_LSI_MASK = 0xffff, + NVME_LOG_CDW14_UUID_MASK = 0x7f, + NVME_LOG_CDW14_CSI_MASK = 0xff, + NVME_LOG_CDW14_OT_MASK = 0x1, + NVME_IDENTIFY_CDW10_CNS_SHIFT = 0, + NVME_IDENTIFY_CDW10_CNTID_SHIFT = 16, + NVME_IDENTIFY_CDW11_CNSSPECID_SHIFT = 0, + NVME_IDENTIFY_CDW14_UUID_SHIFT = 0, + NVME_IDENTIFY_CDW11_CSI_SHIFT = 24, + NVME_IDENTIFY_CDW10_CNS_MASK = 0xff, + NVME_IDENTIFY_CDW10_CNTID_MASK = 0xffff, + NVME_IDENTIFY_CDW11_CNSSPECID_MASK = 0xffff, + NVME_IDENTIFY_CDW14_UUID_MASK = 0x7f, + NVME_IDENTIFY_CDW11_CSI_MASK = 0xff, + NVME_NAMESPACE_ATTACH_CDW10_SEL_SHIFT = 0, + NVME_NAMESPACE_ATTACH_CDW10_SEL_MASK = 0xf, + NVME_NAMESPACE_MGMT_CDW10_SEL_SHIFT = 0, + NVME_NAMESPACE_MGMT_CDW10_SEL_MASK = 0xf, + NVME_NAMESPACE_MGMT_CDW11_CSI_SHIFT = 24, + NVME_NAMESPACE_MGMT_CDW11_CSI_MASK = 0xff, + NVME_VIRT_MGMT_CDW10_ACT_SHIFT = 0, + NVME_VIRT_MGMT_CDW10_RT_SHIFT = 8, + NVME_VIRT_MGMT_CDW10_CNTLID_SHIFT = 16, + NVME_VIRT_MGMT_CDW11_NR_SHIFT = 0, + NVME_VIRT_MGMT_CDW10_ACT_MASK = 0xf, + NVME_VIRT_MGMT_CDW10_RT_MASK = 0x7, + NVME_VIRT_MGMT_CDW10_CNTLID_MASK = 0xffff, + NVME_VIRT_MGMT_CDW11_NR_MASK = 0xffff, + NVME_FORMAT_CDW10_LBAF_SHIFT = 0, + NVME_FORMAT_CDW10_MSET_SHIFT = 4, + NVME_FORMAT_CDW10_PI_SHIFT = 5, + NVME_FORMAT_CDW10_PIL_SHIFT = 8, + NVME_FORMAT_CDW10_SES_SHIFT = 9, + NVME_FORMAT_CDW10_LBAFU_SHIFT = 12, + NVME_FORMAT_CDW10_LBAF_MASK = 0xf, + NVME_FORMAT_CDW10_MSET_MASK = 0x1, + NVME_FORMAT_CDW10_PI_MASK = 0x7, + NVME_FORMAT_CDW10_PIL_MASK = 0x1, + NVME_FORMAT_CDW10_SES_MASK = 0x7, + NVME_FORMAT_CDW10_LBAFU_MASK = 0x3, + NVME_SANITIZE_CDW10_SANACT_SHIFT = 0, + NVME_SANITIZE_CDW10_AUSE_SHIFT = 3, + NVME_SANITIZE_CDW10_OWPASS_SHIFT = 4, + NVME_SANITIZE_CDW10_OIPBP_SHIFT = 8, + NVME_SANITIZE_CDW10_NODAS_SHIFT = 9, + NVME_SANITIZE_CDW10_SANACT_MASK = 0x7, + NVME_SANITIZE_CDW10_AUSE_MASK = 0x1, + NVME_SANITIZE_CDW10_OWPASS_MASK = 0xf, + NVME_SANITIZE_CDW10_OIPBP_MASK = 0x1, + NVME_SANITIZE_CDW10_NODAS_MASK = 0x1, + NVME_SECURITY_NSSF_SHIFT = 0, + NVME_SECURITY_SPSP0_SHIFT = 8, + NVME_SECURITY_SPSP1_SHIFT = 16, + NVME_SECURITY_SECP_SHIFT = 24, + NVME_SECURITY_NSSF_MASK = 0xff, + NVME_SECURITY_SPSP0_MASK = 0xff, + NVME_SECURITY_SPSP1_MASK = 0xff, + NVME_SECURITY_SECP_MASK = 0xffff, + NVME_GET_LBA_STATUS_CDW13_RL_SHIFT = 0, + NVME_GET_LBA_STATUS_CDW13_ATYPE_SHIFT = 24, + NVME_GET_LBA_STATUS_CDW13_RL_MASK = 0xffff, + NVME_GET_LBA_STATUS_CDW13_ATYPE_MASK = 0xff, + NVME_ZNS_MGMT_SEND_ZSASO_SHIFT = 9, + NVME_ZNS_MGMT_SEND_ZSASO_MASK = 0x1, + NVME_ZNS_MGMT_SEND_SEL_SHIFT = 8, + NVME_ZNS_MGMT_SEND_SEL_MASK = 0x1, + NVME_ZNS_MGMT_SEND_ZSA_SHIFT = 0, + NVME_ZNS_MGMT_SEND_ZSA_MASK = 0xff, + NVME_ZNS_MGMT_RECV_ZRA_SHIFT = 0, + NVME_ZNS_MGMT_RECV_ZRA_MASK = 0xff, + NVME_ZNS_MGMT_RECV_ZRASF_SHIFT = 8, + NVME_ZNS_MGMT_RECV_ZRASF_MASK = 0xff, + NVME_ZNS_MGMT_RECV_ZRAS_FEAT_SHIFT = 16, + NVME_ZNS_MGMT_RECV_ZRAS_FEAT_MASK = 0x1, + NVME_DIM_TAS_SHIFT = 0, + NVME_DIM_TAS_MASK = 0xF, +}; + /** * nvme_submit_admin_passthru64() - Submit a 64-bit nvme passthrough admin * command @@ -3233,9 +3352,11 @@ static inline int nvme_ns_mgmt_create(int fd, struct nvme_id_ns *ns, } /** - * nvme_ns_mgmt_delete() - Delete a non attached namespace + * nvme_ns_mgmt_delete_timeout() - Delete a non attached namespace with timeout * @fd: File descriptor of nvme device * @nsid: Namespace identifier to delete + * @timeout: Override the default timeout to this value in milliseconds; + * set to 0 to use the system default. * * It is recommended that a namespace being deleted is not attached to any * controller. Use the nvme_ns_detach_ctrls() first if the namespace is still @@ -3244,14 +3365,14 @@ static inline int nvme_ns_mgmt_create(int fd, struct nvme_id_ns *ns, * Return: The nvme command status if a response was received (see * &enum nvme_status_field) or -1 with errno set otherwise. */ -static inline int nvme_ns_mgmt_delete(int fd, __u32 nsid) +static inline int nvme_ns_mgmt_delete_timeout(int fd, __u32 nsid, __u32 timeout) { struct nvme_ns_mgmt_args args = { .result = NULL, .ns = NULL, .args_size = sizeof(args), .fd = fd, - .timeout = 0, + .timeout = timeout, .nsid = nsid, .sel = NVME_NS_MGMT_SEL_DELETE, .csi = 0, @@ -3263,6 +3384,23 @@ static inline int nvme_ns_mgmt_delete(int fd, __u32 nsid) return nvme_ns_mgmt(&args); } +/** + * nvme_ns_mgmt_delete() - Delete a non attached namespace + * @fd: File descriptor of nvme device + * @nsid: Namespace identifier to delete + * + * It is recommended that a namespace being deleted is not attached to any + * controller. Use the nvme_ns_detach_ctrls() first if the namespace is still + * attached. + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise. + */ +static inline int nvme_ns_mgmt_delete(int fd, __u32 nsid) +{ + return nvme_ns_mgmt_delete_timeout(fd, nsid, 0); +} + /** * nvme_ns_attach() - Attach or detach namespace to controller(s) * @args: &struct nvme_ns_attach_args Argument structure @@ -4047,16 +4185,4 @@ int nvme_zns_append(struct nvme_zns_append_args *args); */ int nvme_dim_send(struct nvme_dim_args *args); -/** - * nvme_set_debug - Set NVMe command debugging output - * @debug: true to enable or false to disable - */ -void nvme_set_debug(bool debug); - -/** - * nvme_get_debug - Get NVMe command debugging output - * - * Return: false if disabled or true if enabled. - */ -bool nvme_get_debug(void); #endif /* _LIBNVME_IOCTL_H */ diff --git a/src/nvme/json.c b/src/nvme/json.c index b49498a..a02bd2d 100644 --- a/src/nvme/json.c +++ b/src/nvme/json.c @@ -25,10 +25,62 @@ #define JSON_UPDATE_BOOL_OPTION(c, k, a, o) \ if (!strcmp(# a, k ) && !c->a) c->a = json_object_get_boolean(o); +static void json_import_nvme_tls_key(nvme_ctrl_t c, const char *keyring_str, + const char *encoded_key) +{ + struct nvme_fabrics_config *cfg = nvme_ctrl_get_config(c); + const char *hostnqn = nvme_host_get_hostnqn(c->s->h); + const char *subsysnqn = nvme_ctrl_get_subsysnqn(c); + int key_len; + unsigned int hmac; + long key_id; + _cleanup_free_ unsigned char *key_data = NULL; + + if (!hostnqn || !subsysnqn) { + nvme_msg(NULL, LOG_ERR, "Invalid NQNs (%s, %s)\n", + hostnqn, subsysnqn); + return; + } + key_data = nvme_import_tls_key(encoded_key, &key_len, &hmac); + if (!key_data) { + nvme_msg(NULL, LOG_ERR, "Failed to decode TLS Key '%s'\n", + encoded_key); + return; + } + key_id = nvme_insert_tls_key_versioned(keyring_str, "psk", + hostnqn, subsysnqn, + 0, hmac, key_data, key_len); + if (key_id <= 0) + nvme_msg(NULL, LOG_ERR, "Failed to insert TLS KEY, error %d\n", + errno); + else { + cfg->tls_key = key_id; + cfg->tls = true; + } +} + +static void json_export_nvme_tls_key(long keyring_id, long tls_key, + struct json_object *obj) +{ + int key_len; + _cleanup_free_ unsigned char *key_data = NULL; + + key_data = nvme_read_key(keyring_id, tls_key, &key_len); + if (key_data) { + _cleanup_free_ char *tls_str = NULL; + + tls_str = nvme_export_tls_key(key_data, key_len); + if (tls_str) + json_object_object_add(obj, "tls_key", + json_object_new_string(tls_str)); + } +} + static void json_update_attributes(nvme_ctrl_t c, struct json_object *ctrl_obj) { struct nvme_fabrics_config *cfg = nvme_ctrl_get_config(c); + const char *keyring_str = NULL, *encoded_key = NULL; json_object_object_foreach(ctrl_obj, key_str, val_obj) { JSON_UPDATE_INT_OPTION(cfg, key_str, @@ -75,21 +127,24 @@ static void json_update_attributes(nvme_ctrl_t c, if (!strcmp("keyring", key_str) && cfg->keyring == 0) { long keyring; - keyring = nvme_lookup_keyring(json_object_get_string(val_obj)); + keyring_str = json_object_get_string(val_obj); + keyring = nvme_lookup_keyring(keyring_str); if (keyring) { cfg->keyring = keyring; nvme_set_keyring(cfg->keyring); } } - if (!strcmp("tls_key", key_str) && cfg->tls_key == 0) { - long key; - - key = nvme_lookup_key("psk", - json_object_get_string(val_obj)); - if (key) - cfg->tls_key = key; - } + if (!strcmp("tls_key", key_str) && cfg->tls_key == 0) + encoded_key = json_object_get_string(val_obj); } + + /* + * We might need the keyring information from the above loop, + * so we can only import the TLS key once all entries are + * processed. + */ + if (encoded_key) + json_import_nvme_tls_key(c, keyring_str, encoded_key); } static void json_parse_port(nvme_subsystem_t s, struct json_object *port_obj) @@ -346,15 +401,11 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) json_object_new_string(desc)); } } - if (cfg->tls_key) { - _cleanup_free_ char *desc = - nvme_describe_key_serial(cfg->tls_key); - - if (desc) { - json_object_object_add(port_obj, "tls_key", - json_object_new_string(desc)); - } - } + /* + * Store the TLS key in PSK interchange format + */ + if (cfg->tls_key) + json_export_nvme_tls_key(cfg->keyring, cfg->tls_key, port_obj); json_object_array_add(ctrl_array, port_obj); } @@ -503,7 +554,13 @@ static void json_dump_ctrl(struct json_object *ctrl_array, nvme_ctrl_t c) JSON_BOOL_OPTION(cfg, ctrl_obj, disable_sqflow); JSON_BOOL_OPTION(cfg, ctrl_obj, hdr_digest); JSON_BOOL_OPTION(cfg, ctrl_obj, data_digest); - JSON_BOOL_OPTION(cfg, ctrl_obj, tls); + if (!strcmp(transport, "tcp")) { + JSON_BOOL_OPTION(cfg, ctrl_obj, tls); + + if (cfg->tls_key) + json_export_nvme_tls_key(cfg->keyring, cfg->tls_key, + ctrl_obj); + } JSON_BOOL_OPTION(cfg, ctrl_obj, concat); if (nvme_ctrl_is_persistent(c)) json_object_object_add(ctrl_obj, "persistent", diff --git a/src/nvme/linux.c b/src/nvme/linux.c index e29d9e7..25196fd 100644 --- a/src/nvme/linux.c +++ b/src/nvme/linux.c @@ -31,6 +31,8 @@ #ifdef CONFIG_KEYUTILS #include + +#define NVME_TLS_DEFAULT_KEYRING ".nvme" #endif #include @@ -41,6 +43,7 @@ #include "log.h" #include "private.h" #include "base64.h" +#include "crc32.h" static int __nvme_open(const char *name) { @@ -183,7 +186,7 @@ int nvme_get_telemetry_log(int fd, bool create, bool ctrl, bool rae, size_t max_ *size = 0; - log = malloc(xfer); + log = __nvme_alloc(xfer); if (!log) { errno = ENOMEM; return -1; @@ -236,7 +239,7 @@ int nvme_get_telemetry_log(int fd, bool create, bool ctrl, bool rae, size_t max_ } *size = (dalb + 1) * xfer; - tmp = realloc(log, *size); + tmp = __nvme_realloc(log, *size); if (!tmp) { errno = ENOMEM; return -1; @@ -1158,6 +1161,8 @@ long nvme_lookup_keyring(const char *keyring) { key_serial_t keyring_id; + if (!keyring) + keyring = NVME_TLS_DEFAULT_KEYRING; keyring_id = find_key_by_type_and_desc("keyring", keyring, 0); if (keyring_id < 0) return 0; @@ -1187,12 +1192,119 @@ int nvme_set_keyring(long key_id) { long err; + if (key_id == 0) { + key_id = nvme_lookup_keyring(NULL); + if (key_id == 0) { + errno = ENOKEY; + return -1; + } + } + err = keyctl_link(key_id, KEY_SPEC_SESSION_KEYRING); if (err < 0) return -1; return 0; } +unsigned char *nvme_read_key(long keyring_id, long key_id, int *len) +{ + void *buffer; + int ret; + + ret = nvme_set_keyring(keyring_id); + if (ret < 0) { + errno = -ret; + return NULL; + } + ret = keyctl_read_alloc(key_id, &buffer); + if (ret < 0) { + errno = -ret; + buffer = NULL; + } else + *len = ret; + + return buffer; +} + +long nvme_update_key(long keyring_id, const char *key_type, + const char *identity, unsigned char *key_data, + int key_len) +{ + long key; + + key = keyctl_search(keyring_id, key_type, identity, 0); + if (key > 0) { + if (keyctl_revoke(key) < 0) + return 0; + } + key = add_key(key_type, identity, + key_data, key_len, keyring_id); + if (key < 0) + key = 0; + return key; +} + +struct __scan_keys_data { + nvme_scan_tls_keys_cb_t cb; + key_serial_t keyring; + void *data; +}; + +int __scan_keys_cb(key_serial_t parent, key_serial_t key, + char *desc, int desc_len, void *data) +{ + struct __scan_keys_data *d = data; + int ver, hmac, uid, gid, perm; + char type, *ptr; + + if (desc_len < 6) + return 0; + if (sscanf(desc, "psk;%d;%d;%08x;NVMe%01d%c%02d %*s", + &uid, &gid, &perm, &ver, &type, &hmac) != 6) + return 0; + /* skip key type */ + ptr = strchr(desc, ';'); + if (!ptr) + return 0; + /* skip key uid */ + ptr = strchr(ptr + 1, ';'); + if (!ptr) + return 0; + /* skip key gid */ + ptr = strchr(ptr + 1, ';'); + if (!ptr) + return 0; + /* skip key permissions */ + ptr = strchr(ptr + 1, ';'); + if (!ptr) + return 0; + /* Only use the key description for the callback */ + (d->cb)(d->keyring, key, ptr + 1, strlen(ptr) - 1, d->data); + return 1; +} + +int nvme_scan_tls_keys(const char *keyring, nvme_scan_tls_keys_cb_t cb, + void *data) +{ + struct __scan_keys_data d; + key_serial_t keyring_id = nvme_lookup_keyring(keyring); + int ret; + + if (!keyring_id) { + errno = EINVAL; + return -1; + } + ret = nvme_set_keyring(keyring_id); + if (ret < 0) + return ret; + + d.keyring = keyring_id; + d.cb = cb; + d.data = data; + ret = recursive_key_scan(keyring_id, __scan_keys_cb, &d); + return ret; +} + long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, const char *hostnqn, const char *subsysnqn, int version, int hmac, @@ -1202,21 +1314,28 @@ long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, _cleanup_free_ char *identity = NULL; size_t identity_len; _cleanup_free_ unsigned char *psk = NULL; - int ret = -1; + int ret; keyring_id = nvme_lookup_keyring(keyring); - if (keyring_id == 0) - return -1; + if (keyring_id == 0) { + errno = ENOKEY; + return 0; + } + + ret = nvme_set_keyring(keyring_id); + if (ret < 0) + return 0; identity_len = nvme_identity_len(hmac, version, hostnqn, subsysnqn); if (identity_len < 0) - return -1; + return 0; identity = malloc(identity_len); if (!identity) { errno = ENOMEM; - return -1; + return 0; } + memset(identity, 0, identity_len); psk = malloc(key_len); if (!psk) { @@ -1226,19 +1345,13 @@ long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, memset(psk, 0, key_len); ret = derive_nvme_keys(hostnqn, subsysnqn, identity, version, hmac, configured_key, psk, key_len); - if (ret != key_len) + if (ret != key_len) { + errno = ENOKEY; return 0; - - key = keyctl_search(keyring_id, key_type, identity, 0); - if (key > 0) { - if (keyctl_update(key, psk, key_len) < 0) - key = 0; - } else { - key = add_key(key_type, identity, - psk, key_len, keyring_id); - if (key < 0) - key = 0; } + + key = nvme_update_key(keyring_id, key_type, identity, + psk, key_len); return key; } @@ -1275,6 +1388,27 @@ int nvme_set_keyring(long key_id) return -1; } +unsigned char *nvme_read_key(long keyring_id, long key_id, int *len) +{ + errno = ENOTSUP; + return NULL; +} + +long nvme_update_key(long keyring_id, const char *key_type, + const char *identity, unsigned char *key_data, + int key_len) +{ + errno = ENOTSUP; + return 0; +} + +int nvme_scan_tls_keys(const char *keyring, nvme_scan_tls_keys_cb_t cb, + void *data) +{ + errno = ENOTSUP; + return -1; +} + long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, const char *hostnqn, const char *subsysnqn, int version, int hmac, @@ -1295,3 +1429,108 @@ long nvme_insert_tls_key(const char *keyring, const char *key_type, hostnqn, subsysnqn, 0, hmac, configured_key, key_len); } + +char *nvme_export_tls_key(const unsigned char *key_data, int key_len) +{ + unsigned char raw_secret[52]; + char *encoded_key; + unsigned int raw_len, encoded_len, len; + unsigned long crc = crc32(0L, NULL, 0); + + if (key_len == 32) { + raw_len = 32; + } else if (key_len == 48) { + raw_len = 48; + } else { + errno = EINVAL; + return NULL; + } + + memcpy(raw_secret, key_data, raw_len); + crc = crc32(crc, raw_secret, raw_len); + raw_secret[raw_len++] = crc & 0xff; + raw_secret[raw_len++] = (crc >> 8) & 0xff; + raw_secret[raw_len++] = (crc >> 16) & 0xff; + raw_secret[raw_len++] = (crc >> 24) & 0xff; + + encoded_len = (raw_len * 2) + 20; + encoded_key = malloc(encoded_len); + if (!encoded_key) { + errno = ENOMEM; + return NULL; + } + memset(encoded_key, 0, encoded_len); + len = sprintf(encoded_key, "NVMeTLSkey-1:%02x:", + key_len == 32 ? 1 : 2); + len += base64_encode(raw_secret, raw_len, encoded_key + len); + encoded_key[len++] = ':'; + encoded_key[len++] = '\0'; + + return encoded_key; +} + +unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, + unsigned int *hmac) +{ + unsigned char decoded_key[128], *key_data; + unsigned int crc = crc32(0L, NULL, 0); + unsigned int key_crc; + int err, decoded_len; + + if (sscanf(encoded_key, "NVMeTLSkey-1:%02x:*s", &err) != 1) { + errno = EINVAL; + return NULL; + } + switch (err) { + case 1: + if (strlen(encoded_key) != 65) { + errno = EINVAL; + return NULL; + } + break; + case 2: + if (strlen(encoded_key) != 89) { + errno = EINVAL; + return NULL; + } + break; + default: + errno = EINVAL; + return NULL; + } + + *hmac = err; + err = base64_decode(encoded_key + 16, strlen(encoded_key) - 17, + decoded_key); + if (err < 0) { + errno = ENOKEY; + return NULL; + } + decoded_len = err; + decoded_len -= 4; + if (decoded_len != 32 && decoded_len != 48) { + errno = ENOKEY; + return NULL; + } + crc = crc32(crc, decoded_key, decoded_len); + key_crc = ((u_int32_t)decoded_key[decoded_len]) | + ((u_int32_t)decoded_key[decoded_len + 1] << 8) | + ((u_int32_t)decoded_key[decoded_len + 2] << 16) | + ((u_int32_t)decoded_key[decoded_len + 3] << 24); + if (key_crc != crc) { + nvme_msg(NULL, LOG_ERR, "CRC mismatch (key %08x, crc %08x)", + key_crc, crc); + errno = ENOKEY; + return NULL; + } + + key_data = malloc(decoded_len); + if (!key_data) { + errno = ENOMEM; + return NULL; + } + memcpy(key_data, decoded_key, decoded_len); + + *key_len = decoded_len; + return key_data; +} diff --git a/src/nvme/linux.h b/src/nvme/linux.h index 11ee76e..bd74262 100644 --- a/src/nvme/linux.h +++ b/src/nvme/linux.h @@ -273,6 +273,72 @@ long nvme_lookup_key(const char *type, const char *identity); */ int nvme_set_keyring(long keyring_id); +/** + * nvme_read_key() - Read key raw data + * @keyring_id: Id of the keyring holding %key_id + * @key_id: Key id + * @len: Length of the returned data + * + * Links the keyring specified by @keyring_id into the session + * keyring and reads the payload of the key specified by @key_id. + * @len holds the size of the returned buffer. + * If @keyring is 0 the default keyring '.nvme' is used. + * + * Return: Pointer to the payload on success, + * or NULL with errno set otherwise. + */ +unsigned char *nvme_read_key(long keyring_id, long key_id, int *len); + +/** + * nvme_update_key() - Update key raw data + * @keyring_id: Id of the keyring holding %key_id + * @key_type: Type of the key to insert + * @identity: Key identity string + * @key_data: Raw data of the key + * @key_len: Length of @key_data + * + * Links the keyring specified by @keyring_id into the session + * keyring and updates the key reference by @identity with @key_data. + * The old key with identity @identity will be revoked to make it + * inaccessible. + * + * Return: Key id of the new key or 0 with errno set otherwise. + */ +long nvme_update_key(long keyring_id, const char *key_type, + const char *identity, unsigned char *key_data, + int key_len); + +/** + * typedef nvme_scan_tls_keys_cb_t - Callback for iterating TLS keys + * @keyring: Keyring which has been iterated + * @key: Key for which the callback has been invoked + * @desc: Description of the key + * @desc_len: Length of @desc + * @data: Pointer for caller data + * + * Called for each TLS PSK in the keyring. + */ +typedef void (*nvme_scan_tls_keys_cb_t)(long keyring, long key, + char *desc, int desc_len, void *data); + +/** + * nvme_scan_tls_keys() - Iterate over TLS keys in a keyring + * @keyring: Keyring holding TLS keys + * @cb: Callback function + * @data: Pointer for data to be passed to @cb + * + * Iterates @keyring and call @cb for each TLS key. When @keyring is NULL + * the default '.nvme' keyring is used. + * A TLS key must be of type 'psk' and the description must be of the + * form 'NVMe<0|1>0<1|2> ', otherwise it will be skipped + * during iteration. + * + * Return: Number of keys for which @cb was called, or -1 with errno set + * on error. + */ +int nvme_scan_tls_keys(const char *keyring, nvme_scan_tls_keys_cb_t cb, + void *data); + /** * nvme_insert_tls_key() - Derive and insert TLS key * @keyring: Keyring to use @@ -335,4 +401,68 @@ char *nvme_generate_tls_key_identity(const char *hostnqn, const char *subsysnqn, int version, int hmac, unsigned char *configured_key, int key_len); +/** + * nvme_export_tls_key() - Export a TLS key + * @key_data: Raw data of the key + * @key_len: Length of @key_data + * + * Returns @key_data in the PSK Interchange format as defined in section + * 3.6.1.5 of the NVMe TCP Transport specification. + * + * Return: The string containing the TLS identity or NULL with errno set + * on error. It is the responsibility of the caller to free the returned + * string. + */ +char *nvme_export_tls_key(const unsigned char *key_data, int key_len); + +/** + * nvme_import_tls_key() - Import a TLS key + * @encoded_key: TLS key in PSK interchange format + * @key_len: Length of the resulting key data + * @hmac: HMAC algorithm + * + * Imports @key_data in the PSK Interchange format as defined in section + * 3.6.1.5 of the NVMe TCP Transport specification. + * + * Return: The raw data of the PSK or NULL with errno set on error. It is + * the responsibility of the caller to free the returned string. + */ +unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, + unsigned int *hmac); + +/** + * nvme_submit_passthru - Low level ioctl wrapper for passthru commands + * @fd: File descriptor of the nvme device + * @ioctl_cmd: IOCTL command id + * @cmd: Passhtru command + * @result: Optional field to return the result + * + * This is a low level library function which should not be used directly. It is + * exposed as weak symbol so that the user application is able to provide their own + * implementation of this function with additional debugging or logging code. + * + * Return: The value from the ioctl system call (see ioctl documentation) + */ +__attribute__((weak)) +int nvme_submit_passthru(int fd, unsigned long ioctl_cmd, + struct nvme_passthru_cmd *cmd, __u32 *result); + +/** + * nvme_submit_passthru64 - Low level ioctl wrapper for passthru commands + * @fd: File descriptor of the nvme device + * @ioctl_cmd: IOCTL command id + * @cmd: Passhtru command + * @result: Optional field to return the result + * + * This is a low level library function which should not be used directly. It is + * exposed as weak symbol so that the user application is able to provide their own + * implementation of this function with additional debugging or logging code. + * + * Return: The value from the ioctl system call (see ioctl documentation) + */ +__attribute__((weak)) +int nvme_submit_passthru64(int fd, unsigned long ioctl_cmd, + struct nvme_passthru_cmd64 *cmd, + __u64 *result); + #endif /* _LIBNVME_LINUX_H */ diff --git a/src/nvme/log.c b/src/nvme/log.c index 2ffca3e..c98d213 100644 --- a/src/nvme/log.c +++ b/src/nvme/log.c @@ -58,6 +58,8 @@ __nvme_msg(nvme_root_t r, int lvl, if (r && lvl > r->log_level) return; + if (!r && lvl > DEFAULT_LOGLEVEL) + return; if (r && r->log_timestamp) { struct timespec now; @@ -99,7 +101,30 @@ void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp) r->log_timestamp = log_tstamp; } +int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp) +{ + if (!r) + r = root; + if (!r) + return DEFAULT_LOGLEVEL; + if (log_pid) + *log_pid = r->log_pid; + if (log_tstamp) + *log_tstamp = r->log_timestamp; + return r->log_level; +} + void nvme_set_root(nvme_root_t r) { root = r; } + +void nvme_set_debug(bool debug) +{ + root->log_level = debug ? LOG_DEBUG : DEFAULT_LOGLEVEL; +} + +bool nvme_get_debug(void) +{ + return root->log_level == LOG_DEBUG; +} diff --git a/src/nvme/log.h b/src/nvme/log.h index 7c345f6..cd243ea 100644 --- a/src/nvme/log.h +++ b/src/nvme/log.h @@ -35,6 +35,20 @@ */ void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp); +/** + * nvme_get_logging_level() - Get current logging level + * @r: nvme_root_t context + * @log_pid: Pointer to store a current value of logging of + * the PID flag at (optional). + * @log_tstamp: Pointer to store a current value of logging of + * the timestamp flag at (optional). + * + * Retrieves current values of logging variables. + * + * Return: current log level value or DEFAULT_LOGLEVEL if not initialized. + */ +int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp); + /** * nvme_set_root() - Set nvme_root_t context * @r: nvme_root_t context @@ -48,4 +62,21 @@ void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp); */ void nvme_set_root(nvme_root_t r); +/** + * nvme_set_debug - Set NVMe command debugging output + * @debug: true to enable or false to disable + * + * Don't use it, it's debricated. + */ +void nvme_set_debug(bool debug); + +/** + * nvme_get_debug - Get NVMe command debugging output + * + * Don't use it, it's debricated. + * + * Return: false if disabled or true if enabled. + */ +bool nvme_get_debug(void); + #endif /* _LOG_H */ diff --git a/src/nvme/nbft.c b/src/nvme/nbft.c index f2ffc21..b7d0dc8 100644 --- a/src/nvme/nbft.c +++ b/src/nvme/nbft.c @@ -246,6 +246,12 @@ static int read_ssns(struct nbft_info *nbft, ssns->nid_type = raw_ssns->nidt; ssns->nid = raw_ssns->nid; + /* flags */ + ssns->unavailable = !!(le16_to_cpu(raw_ssns->flags) & + NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL); + ssns->discovered = !!(le16_to_cpu(raw_ssns->flags) & + NBFT_SSNS_DISCOVERED_NAMESPACE); + /* security profile */ if (raw_ssns->security_desc_index) { ssns->security = security_from_index(nbft, raw_ssns->security_desc_index); diff --git a/src/nvme/nbft.h b/src/nvme/nbft.h index 6012e16..a9eaf6f 100644 --- a/src/nvme/nbft.h +++ b/src/nvme/nbft.h @@ -12,6 +12,14 @@ #include #include "util.h" +/** + * DOC: nbft.h + * + * NVM Express Boot Specification, Revision 1.0 + * + * Note: this API is currently unstable, subject to further additions. + */ + /* * ACPI NBFT table structures (TP8012 Boot Specification rev. 1.0) */ @@ -994,17 +1002,17 @@ enum nbft_discovery_flags { /** * enum nbft_info_primary_admin_host_flag - Primary Administrative Host Descriptor Flags * @NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED: Not Indicated by Driver: The driver - * that created this NBFT provided no - * administrative priority hint for - * this NBFT. + * that created this NBFT provided no + * administrative priority hint for + * this NBFT. * @NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED: Unselected: The driver that created - * this NBFT explicitly indicated that - * this NBFT should not be prioritized - * over any other NBFT. + * this NBFT explicitly indicated that + * this NBFT should not be prioritized + * over any other NBFT. * @NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED: Selected: The driver that created - * this NBFT explicitly indicated that - * this NBFT should be prioritized over - * any other NBFT. + * this NBFT explicitly indicated that + * this NBFT should be prioritized over + * any other NBFT. * @NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED: Reserved. */ enum nbft_info_primary_admin_host_flag { @@ -1019,13 +1027,13 @@ enum nbft_info_primary_admin_host_flag { * @id: Host ID (raw UUID, length = 16 bytes). * @nqn: Host NQN. * @host_id_configured: HostID Configured Flag: value of True indicates that @id - * contains administratively-configured value, or driver - * default value if False. + * contains administratively-configured value, or driver + * default value if False. * @host_nqn_configured: Host NQN Configured Flag: value of True indicates that - * @nqn contains administratively-configured value, - * or driver default value if False. + * @nqn contains administratively-configured value, + * or driver default value if False. * @primary: Primary Administrative Host Descriptor, see - * &enum nbft_info_primary_admin_host_flag. + * &enum nbft_info_primary_admin_host_flag. */ struct nbft_info_host { unsigned char *id; @@ -1039,34 +1047,34 @@ struct nbft_info_host { * struct nbft_info_hfi_info_tcp - HFI Transport Info Descriptor - NVMe/TCP * @pci_sbdf: PCI Express Routing ID for the HFI Transport Function. * @mac_addr: MAC Address: The MAC address of this HFI, - * in EUI-48TM format. + * in EUI-48TM format. * @vlan: The VLAN identifier if the VLAN is associated with - * this HFI, as defined in IEEE 802.1q-2018 or zeroes - * if no VLAN is associated with this HFI. + * this HFI, as defined in IEEE 802.1q-2018 or zeroes + * if no VLAN is associated with this HFI. * @ip_origin: The source of Ethernet L3 configuration information - * used by the driver or 0 if not used. + * used by the driver or 0 if not used. * @ipaddr: The IPv4 or IPv6 address of this HFI. * @subnet_mask_prefix: The IPv4 or IPv6 subnet mask in CIDR routing prefix - * notation. + * notation. * @gateway_ipaddr: The IPv4 or IPv6 address of the IP gateway for this - * HFI or zeroes if no IP gateway is specified. + * HFI or zeroes if no IP gateway is specified. * @route_metric: The cost value for the route indicated by this HFI. * @primary_dns_ipaddr: The IPv4 or IPv6 address of the Primary DNS server - * for this HFI. + * for this HFI. * @secondary_dns_ipaddr: The IPv4 or IPv6 address of the Secondary DNS server - * for this HFI. + * for this HFI. * @dhcp_server_ipaddr: The IPv4 or IPv6 address of the DHCP server used - * to assign this HFI address. + * to assign this HFI address. * @host_name: The Host Name string. * @this_hfi_is_default_route: If True, then the BIOS utilized this interface - * described by HFI to be the default route with highest - * priority. If False, then routes are local to their - * own scope. + * described by HFI to be the default route with highest + * priority. If False, then routes are local to their + * own scope. * @dhcp_override: If True, then HFI information was populated - * by consuming the DHCP on this interface. If False, - * then the HFI information was set administratively - * by a configuration interface to the driver and - * pre-OS envrionment. + * by consuming the DHCP on this interface. If False, + * then the HFI information was set administratively + * by a configuration interface to the driver and + * pre-OS envrionment. */ struct nbft_info_hfi_info_tcp { __u32 pci_sbdf; @@ -1088,7 +1096,7 @@ struct nbft_info_hfi_info_tcp { /** * struct nbft_info_hfi - Host Fabric Interface (HFI) Descriptor * @index: HFI Descriptor Index: indicates the number of this HFI Descriptor - * in the Host Fabric Interface Descriptor List. + * in the Host Fabric Interface Descriptor List. * @transport: Transport Type string (e.g. 'tcp'). * @tcp_info: The HFI Transport Info Descriptor, see &struct nbft_info_hfi_info_tcp. */ @@ -1101,12 +1109,12 @@ struct nbft_info_hfi { /** * struct nbft_info_discovery - Discovery Descriptor * @index: The number of this Discovery Descriptor in the Discovery - * Descriptor List. + * Descriptor List. * @security: The Security Profile Descriptor, see &struct nbft_info_security. * @hfi: The HFI Descriptor associated with this Discovery Descriptor. - * See &struct nbft_info_hfi. + * See &struct nbft_info_hfi. * @uri: A URI which indicates an NVMe Discovery controller associated - * with this Discovery Descriptor. + * with this Discovery Descriptor. * @nqn: An NVMe Discovery controller NQN. */ struct nbft_info_discovery { @@ -1120,7 +1128,7 @@ struct nbft_info_discovery { /** * struct nbft_info_security - Security Profile Descriptor * @index: The number of this Security Profile Descriptor in the Security - * Profile Descriptor List. + * Profile Descriptor List. */ struct nbft_info_security { int index; @@ -1143,35 +1151,39 @@ enum nbft_info_nid_type { /** * struct nbft_info_subsystem_ns - Subsystem Namespace (SSNS) info - * @index: SSNS Descriptor Index in the descriptor list. + * @index: SSNS Descriptor Index in the descriptor list. * @discovery: Primary Discovery Controller associated with - * this SSNS Descriptor. + * this SSNS Descriptor. * @security: Security Profile Descriptor associated with - * this namespace. + * this namespace. * @num_hfis: Number of HFIs. * @hfis: List of HFIs associated with this namespace. - * Includes the primary HFI at the first position - * and all secondary HFIs. This array is null-terminated. + * Includes the primary HFI at the first position + * and all secondary HFIs. This array is null-terminated. * @transport: Transport Type string (e.g. 'tcp'). * @traddr: Subsystem Transport Address. * @trsvcid: Subsystem Transport Service Identifier. * @subsys_port_id: The Subsystem Port ID. * @nsid: The Namespace ID of this descriptor or when @nid - * should be used instead. + * should be used instead. * @nid_type: Namespace Identifier Type, see &enum nbft_info_nid_type. * @nid: The Namespace Identifier value. * @subsys_nqn: Subsystem and Namespace NQN. * @pdu_header_digest_required: PDU Header Digest (HDGST) Flag: the use of NVM Header - * Digest Enabled is required. - * @data_digest_required: Data Digest (DDGST) Flag: the use of NVM Data Digest - * Enabled is required. + * Digest Enabled is required. + * @data_digest_required: Data Digest (DDGST) Flag: the use of NVM Data Digest + * Enabled is required. * @controller_id: Controller ID (SSNS Extended Information Descriptor): - * The controller ID associated with the Admin Queue - * or 0 if not supported. + * The controller ID associated with the Admin Queue + * or 0 if not supported. * @asqsz: Admin Submission Queue Size (SSNS Extended Information - * Descriptor) or 0 if not supported. + * Descriptor) or 0 if not supported. * @dhcp_root_path_string: DHCP Root Path Override string (SSNS Extended - * Information Descriptor). + * Information Descriptor). + * @discovered: Indicates that this namespace was acquired + * through discovery. + * @unavailable: Namespace is unavailable as indicated by + * the pre-OS driver. */ struct nbft_info_subsystem_ns { int index; @@ -1192,6 +1204,8 @@ struct nbft_info_subsystem_ns { int controller_id; int asqsz; char *dhcp_root_path_string; + bool discovered; + bool unavailable; }; /** diff --git a/src/nvme/private.h b/src/nvme/private.h index 3505802..dec3d85 100644 --- a/src/nvme/private.h +++ b/src/nvme/private.h @@ -17,9 +17,12 @@ #include "mi.h" -char *nvme_ctrl_sysfs_dir(void); -char *nvme_subsys_sysfs_dir(void); -char *nvme_ns_sysfs_dir(void); +const char *nvme_subsys_sysfs_dir(void); +const char *nvme_ctrl_sysfs_dir(void); +const char *nvme_ns_sysfs_dir(void); +const char *nvme_slots_sysfs_dir(void); +const char *nvme_uuid_ibm_filename(void); +const char *nvme_dmi_entries_dir(void); struct nvme_path { struct list_node entry; @@ -83,6 +86,7 @@ struct nvme_ctrl { char *dhchap_key; char *dhchap_ctrl_key; char *cntrltype; + char *cntlid; char *dctype; char *phy_slot; bool discovery_ctrl; @@ -185,6 +189,8 @@ nvme_ctrl_t __nvme_lookup_ctrl(nvme_subsystem_t s, const char *transport, void *__nvme_alloc(size_t len); +void *__nvme_realloc(void *p, size_t len); + #if (LOG_FUNCNAME == 1) #define __nvme_log_func __func__ #else @@ -286,4 +292,7 @@ struct __mi_mctp_socket_ops { }; void __nvme_mi_mctp_set_ops(const struct __mi_mctp_socket_ops *newops); +#define SECTOR_SIZE 512 +#define SECTOR_SHIFT 9 + #endif /* _LIBNVME_PRIVATE_H */ diff --git a/src/nvme/sysfs.c b/src/nvme/sysfs.c new file mode 100644 index 0000000..ea4f0e2 --- /dev/null +++ b/src/nvme/sysfs.c @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +#include +#include + +#include "private.h" + +#define PATH_UUID_IBM "/proc/device-tree/ibm,partition-uuid" +#define PATH_SYSFS_BLOCK "/sys/block" +#define PATH_SYSFS_SLOTS "/sys/bus/pci/slots" +#define PATH_SYSFS_NVME_SUBSYSTEM "/sys/class/nvme-subsystem" +#define PATH_SYSFS_NVME "/sys/class/nvme" +#define PATH_DMI_ENTRIES "/sys/firmware/dmi/entries" + +static const char *make_sysfs_dir(const char *path) +{ + char *basepath = getenv("LIBNVME_SYSFS_PATH"); + char *str; + + if (!basepath) + return path; + + if (asprintf(&str, "%s%s", basepath, path) < 0) + return NULL; + + return str; +} + +const char *nvme_subsys_sysfs_dir(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_SYSFS_NVME_SUBSYSTEM); +} + +const char *nvme_ctrl_sysfs_dir(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_SYSFS_NVME); +} + +const char *nvme_ns_sysfs_dir(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_SYSFS_BLOCK); +} + +const char *nvme_slots_sysfs_dir(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_SYSFS_SLOTS); +} + +const char *nvme_uuid_ibm_filename(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_UUID_IBM); +} + +const char *nvme_dmi_entries_dir(void) +{ + static const char *str; + + if (str) + return str; + + return str = make_sysfs_dir(PATH_DMI_ENTRIES); +} diff --git a/src/nvme/tree.c b/src/nvme/tree.c index 344f8bc..eb9486d 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -61,22 +61,6 @@ struct candidate_args { }; typedef bool (*ctrl_match_t)(struct nvme_ctrl *c, struct candidate_args *candidate); -#define PATH_SYSFS_SLOTS "/sys/bus/pci/slots" - -static char *nvme_slots_sysfs_dir(void) -{ - char *basepath = getenv("LIBNVME_SYSFS_PATH"); - char *str; - - if (!basepath) - return strdup(PATH_SYSFS_SLOTS); - - if (!asprintf(&str, "%s" PATH_SYSFS_SLOTS, basepath)) - return NULL; - - return str; -} - static struct nvme_host *default_host; static void __nvme_free_host(nvme_host_t h); @@ -672,10 +656,9 @@ static int nvme_subsystem_scan_namespaces(nvme_root_t r, nvme_subsystem_t s, static int nvme_init_subsystem(nvme_subsystem_t s, const char *name) { - _cleanup_free_ char *subsys_dir = nvme_subsys_sysfs_dir(); char *path; - if (asprintf(&path, "%s/%s", subsys_dir, name) < 0) + if (asprintf(&path, "%s/%s", nvme_subsys_sysfs_dir(), name) < 0) return -1; s->model = nvme_get_attr(path, "model"); @@ -716,12 +699,11 @@ static int nvme_scan_subsystem(struct nvme_root *r, const char *name, { struct nvme_subsystem *s = NULL, *_s; _cleanup_free_ char *path = NULL, *subsysnqn = NULL; - _cleanup_free_ char *subsys_dir = nvme_subsys_sysfs_dir(); nvme_host_t h = NULL; int ret; nvme_msg(r, LOG_DEBUG, "scan subsystem %s\n", name); - ret = asprintf(&path, "%s/%s", subsys_dir, name); + ret = asprintf(&path, "%s/%s", nvme_subsys_sysfs_dir(), name); if (ret < 0) return ret; @@ -1026,6 +1008,11 @@ const char *nvme_ctrl_get_dhchap_host_key(nvme_ctrl_t c) return c->dhchap_key; } +const char *nvme_ctrl_get_cntlid(nvme_ctrl_t c) +{ + return c->cntlid; +} + void nvme_ctrl_set_dhchap_host_key(nvme_ctrl_t c, const char *key) { if (c->dhchap_key) { @@ -1135,6 +1122,7 @@ void nvme_deconfigure_ctrl(nvme_ctrl_t c) FREE_CTRL_ATTR(c->address); FREE_CTRL_ATTR(c->dctype); FREE_CTRL_ATTR(c->cntrltype); + FREE_CTRL_ATTR(c->cntlid); FREE_CTRL_ATTR(c->phy_slot); } @@ -1703,7 +1691,7 @@ static int nvme_ctrl_scan_namespaces(nvme_root_t r, struct nvme_ctrl *c) static char *nvme_ctrl_lookup_subsystem_name(nvme_root_t r, const char *ctrl_name) { - _cleanup_free_ char *subsys_dir = nvme_subsys_sysfs_dir(); + const char *subsys_dir = nvme_subsys_sysfs_dir(); _cleanup_dirents_ struct dirents subsys = {}; int i; @@ -1730,7 +1718,7 @@ static char *nvme_ctrl_lookup_subsystem_name(nvme_root_t r, static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, const char *address) { - _cleanup_free_ char *slots_sysfs_dir = nvme_slots_sysfs_dir(); + const char *slots_sysfs_dir = nvme_slots_sysfs_dir(); _cleanup_free_ char *target_addr = NULL; _cleanup_dir_ DIR *slots_dir = NULL; int ret; @@ -1747,7 +1735,7 @@ static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, const char *address) } target_addr = strndup(address, 10); - while (!(entry = readdir(slots_dir))) { + while ((entry = readdir(slots_dir))) { if (entry->d_type == DT_DIR && strncmp(entry->d_name, ".", 1) != 0 && strncmp(entry->d_name, "..", 2) != 0) { @@ -1772,7 +1760,7 @@ static int nvme_configure_ctrl(nvme_root_t r, nvme_ctrl_t c, const char *path, const char *name) { DIR *d; - char *host_key; + char *host_key, *tls_psk; d = opendir(path); if (!d) { @@ -1807,7 +1795,18 @@ static int nvme_configure_ctrl(nvme_root_t r, nvme_ctrl_t c, const char *path, free(c->dhchap_ctrl_key); c->dhchap_ctrl_key = NULL; } + tls_psk = nvme_get_ctrl_attr(c, "tls_key"); + if (tls_psk) { + char *endptr; + long key_id = strtol(tls_psk, &endptr, 16); + + if (endptr != tls_psk) { + c->cfg.tls_key = key_id; + c->cfg.tls = true; + } + } c->cntrltype = nvme_get_ctrl_attr(c, "cntrltype"); + c->cntlid = nvme_get_ctrl_attr(c, "cntlid"); c->dctype = nvme_get_ctrl_attr(c, "dctype"); c->phy_slot = nvme_ctrl_lookup_phy_slot(r, c->address); @@ -1817,7 +1816,6 @@ static int nvme_configure_ctrl(nvme_root_t r, nvme_ctrl_t c, const char *path, int nvme_init_ctrl(nvme_host_t h, nvme_ctrl_t c, int instance) { - _cleanup_free_ char *ctrl_dir = nvme_ctrl_sysfs_dir(); _cleanup_free_ char *subsys_name = NULL; _cleanup_free_ char *name = NULL; nvme_subsystem_t s; @@ -1829,7 +1827,7 @@ int nvme_init_ctrl(nvme_host_t h, nvme_ctrl_t c, int instance) errno = ENOMEM; return -1; } - ret = asprintf(&path, "%s/nvme%d", ctrl_dir, instance); + ret = asprintf(&path, "%s/%s", nvme_ctrl_sysfs_dir(), name); if (ret < 0) { errno = ENOMEM; return ret; @@ -1872,7 +1870,7 @@ static nvme_ctrl_t nvme_ctrl_alloc(nvme_root_t r, nvme_subsystem_t s, { nvme_ctrl_t c, p; _cleanup_free_ char *addr = NULL, *address = NULL; - char *a, *e; + char *a = NULL, *e = NULL; _cleanup_free_ char *transport = NULL; char *traddr = NULL, *trsvcid = NULL; char *host_traddr = NULL, *host_iface = NULL; @@ -1973,11 +1971,10 @@ nvme_ctrl_t nvme_scan_ctrl(nvme_root_t r, const char *name) _cleanup_free_ char *path = NULL; _cleanup_free_ char *hostnqn = NULL, *hostid = NULL; _cleanup_free_ char *subsysnqn = NULL, *subsysname = NULL; - _cleanup_free_ char *ctrl_dir = nvme_ctrl_sysfs_dir(); int ret; nvme_msg(r, LOG_DEBUG, "scan controller %s\n", name); - ret = asprintf(&path, "%s/%s", ctrl_dir, name); + ret = asprintf(&path, "%s/%s", nvme_ctrl_sysfs_dir(), name); if (ret < 0) { errno = ENOMEM; return NULL; @@ -2452,12 +2449,13 @@ static int nvme_ns_init(const char *path, struct nvme_ns *ns) { _cleanup_free_ char *attr = NULL; struct stat sb; + uint64_t size; int ret; struct sysfs_attr_table base[] = { { &ns->nsid, nvme_strtou32, true, "nsid" }, - { &ns->lba_count, nvme_strtou64, true, "size" }, - { &ns->lba_size, nvme_strtou64, true, "queue/logical_block_size" }, + { &size, nvme_strtou64, true, "size" }, + { &ns->lba_size, nvme_strtou32, true, "queue/logical_block_size" }, { ns->eui64, nvme_strtoeuid, false, "eui" }, { ns->nguid, nvme_strtouuid, false, "nguid" }, { ns->uuid, nvme_strtouuid, false, "uuid" } @@ -2468,6 +2466,11 @@ static int nvme_ns_init(const char *path, struct nvme_ns *ns) return ret; ns->lba_shift = GETSHIFT(ns->lba_size); + /* + * size is in 512 bytes units and lba_count is in lba_size which are not + * necessarily the same. + */ + ns->lba_count = size >> (ns->lba_shift - SECTOR_SHIFT); if (asprintf(&attr, "%s/csi", path) < 0) return -errno; @@ -2485,7 +2488,7 @@ static int nvme_ns_init(const char *path, struct nvme_ns *ns) if (ret) return ret; } else { - struct nvme_id_ns *id; + _cleanup_free_ struct nvme_id_ns *id = NULL; uint8_t flbas; id = __nvme_alloc(sizeof(*ns)); @@ -2605,9 +2608,7 @@ static struct nvme_ns *__nvme_scan_namespace(const char *sysfs_dir, const char * nvme_ns_t nvme_scan_namespace(const char *name) { - _cleanup_free_ char *ns_dir = nvme_ns_sysfs_dir(); - - return __nvme_scan_namespace(ns_dir, name); + return __nvme_scan_namespace(nvme_ns_sysfs_dir(), name); } static int nvme_ctrl_scan_namespace(nvme_root_t r, struct nvme_ctrl *c, diff --git a/src/nvme/tree.h b/src/nvme/tree.h index a30e8eb..5e82579 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1025,6 +1025,14 @@ const char *nvme_ctrl_get_host_iface(nvme_ctrl_t c); */ const char *nvme_ctrl_get_dhchap_host_key(nvme_ctrl_t c); +/** + * nvme_ctrl_get_cntlid() - Controller id + * @c: Controller to be checked + * + * Return : Controller id of @c + */ +const char *nvme_ctrl_get_cntlid(nvme_ctrl_t c); + /** * nvme_ctrl_set_dhchap_host_key() - Set host key * @c: Host for which the key should be set diff --git a/src/nvme/types.h b/src/nvme/types.h index fe79b6e..26e5e25 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -230,6 +230,50 @@ static inline bool nvme_is_64bit_reg(__u32 offset) } } +/** + * enum nvme_cap - This field indicates the controller capabilities register + * @NVME_CAP_MQES_SHIFT: Shift amount to get the maximum queue entries supported + * @NVME_CAP_CQR_SHIFT: Shift amount to get the contiguous queues required + * @NVME_CAP_AMS_SHIFT: Shift amount to get the arbitration mechanism supported + * @NVME_CAP_TO_SHIFT: Shift amount to get the timeout + * @NVME_CAP_DSTRD_SHIFT: Shift amount to get the doorbell stride + * @NVME_CAP_NSSRC_SHIFT: Shift amount to get the NVM subsystem reset supported + * @NVME_CAP_CSS_SHIFT: Shift amount to get the command sets supported + * @NVME_CAP_BPS_SHIFT: Shift amount to get the boot partition support + * @NVME_CAP_CPS_SHIFT: Shift amount to get the controller power scope + * @NVME_CAP_MPSMIN_SHIFT: Shift amount to get the memory page size minimum + * @NVME_CAP_MPSMAX_SHIFT: Shift amount to get the memory page size maximum + * @NVME_CAP_PMRS_SHIFT: Shift amount to get the persistent memory region supported + * @NVME_CAP_CMBS_SHIFT: Shift amount to get the controller memory buffer supported + * @NVME_CAP_NSSS_SHIFT: Shift amount to get the NVM subsystem shutdown supported + * @NVME_CAP_CRMS_SHIFT: Shift amount to get the controller ready modes supported + * @NVME_CAP_MQES_MASK: Mask to get the maximum queue entries supported + * @NVME_CAP_CQR_MASK: Mask to get the contiguous queues required + * @NVME_CAP_AMS_MASK: Mask to get the arbitration mechanism supported + * @NVME_CAP_TO_MASK: Mask to get the timeout + * @NVME_CAP_DSTRD_MASK: Mask to get the doorbell stride + * @NVME_CAP_NSSRC_MASK: Mask to get the NVM subsystem reset supported + * @NVME_CAP_CSS_MASK: Mask to get the command sets supported + * @NVME_CAP_BPS_MASK: Mask to get the boot partition support + * @NVME_CAP_CPS_MASK: Mask to get the controller power scope + * @NVME_CAP_MPSMIN_MASK: Mask to get the memory page size minimum + * @NVME_CAP_MPSMAX_MASK: Mask to get the memory page size maximum + * @NVME_CAP_PMRS_MASK: Mask to get the persistent memory region supported + * @NVME_CAP_CMBS_MASK: Mask to get the controller memory buffer supported + * @NVME_CAP_NSSS_MASK: Mask to get the NVM subsystem shutdown supported + * @NVME_CAP_CRMS_MASK: Mask to get the controller ready modes supported + * @NVME_CAP_AMS_WRR: Weighted round robin with urgent priority class + * @NVME_CAP_AMS_VS: Vendor specific + * @NVME_CAP_CSS_NVM: NVM command set or a discovery controller + * @NVME_CAP_CSS_CSI: Controller supports one or more I/O command sets + * @NVME_CAP_CSS_ADMIN: No I/O command set is supported + * @NVME_CAP_CPS_NONE: Not reported + * @NVME_CAP_CPS_CTRL: Controller scope + * @NVME_CAP_CPS_DOMAIN: Domain scope + * @NVME_CAP_CPS_NVMS: NVM subsystem scope + * @NVME_CAP_CRWMS: Controller ready with media support + * @NVME_CAP_CRIMS: Controller ready independent of media support + */ enum nvme_cap { NVME_CAP_MQES_SHIFT = 0, NVME_CAP_CQR_SHIFT = 16, @@ -239,10 +283,12 @@ enum nvme_cap { NVME_CAP_NSSRC_SHIFT = 36, NVME_CAP_CSS_SHIFT = 37, NVME_CAP_BPS_SHIFT = 45, + NVME_CAP_CPS_SHIFT = 46, NVME_CAP_MPSMIN_SHIFT = 48, NVME_CAP_MPSMAX_SHIFT = 52, NVME_CAP_PMRS_SHIFT = 56, NVME_CAP_CMBS_SHIFT = 57, + NVME_CAP_NSSS_SHIFT = 58, NVME_CAP_CRMS_SHIFT = 59, NVME_CAP_MQES_MASK = 0xffff, NVME_CAP_CQR_MASK = 0x1, @@ -252,16 +298,22 @@ enum nvme_cap { NVME_CAP_NSSRC_MASK = 0x1, NVME_CAP_CSS_MASK = 0xff, NVME_CAP_BPS_MASK = 0x1, + NVME_CAP_CPS_MASK = 0x3, NVME_CAP_MPSMIN_MASK = 0xf, NVME_CAP_MPSMAX_MASK = 0xf, NVME_CAP_PMRS_MASK = 0x1, NVME_CAP_CMBS_MASK = 0x1, + NVME_CAP_NSSS_MASK = 0x1, NVME_CAP_CRMS_MASK = 0x3, NVME_CAP_AMS_WRR = 1 << 0, NVME_CAP_AMS_VS = 1 << 1, NVME_CAP_CSS_NVM = 1 << 0, NVME_CAP_CSS_CSI = 1 << 6, NVME_CAP_CSS_ADMIN = 1 << 7, + NVME_CAP_CPS_NONE = 0, + NVME_CAP_CPS_CTRL = 1, + NVME_CAP_CPS_DOMAIN = 2, + NVME_CAP_CPS_NVMS = 3, NVME_CAP_CRWMS = 1 << 0, NVME_CAP_CRIMS = 1 << 1, }; @@ -274,12 +326,23 @@ enum nvme_cap { #define NVME_CAP_NSSRC(cap) NVME_GET(cap, CAP_NSSRC) #define NVME_CAP_CSS(cap) NVME_GET(cap, CAP_CSS) #define NVME_CAP_BPS(cap) NVME_GET(cap, CAP_BPS) +#define NVME_CAP_CPS(cap) NVME_GET(cap, CAP_CPS) #define NVME_CAP_MPSMIN(cap) NVME_GET(cap, CAP_MPSMIN) #define NVME_CAP_MPSMAX(cap) NVME_GET(cap, CAP_MPSMAX) #define NVME_CAP_PMRS(cap) NVME_GET(cap, CAP_PMRS) #define NVME_CAP_CMBS(cap) NVME_GET(cap, CAP_CMBS) +#define NVME_CAP_NSSS(cap) NVME_GET(cap, CAP_NSSS) #define NVME_CAP_CRMS(cap) NVME_GET(cap, CAP_CRMS) +/** + * enum nvme_vs - This field indicates the version + * @NVME_VS_TER_SHIFT: Shift amount to get the tertiary version + * @NVME_VS_MNR_SHIFT: Shift amount to get the minor version + * @NVME_VS_MJR_SHIFT: Shift amount to get the major version + * @NVME_VS_TER_MASK: Mask to get the tertiary version + * @NVME_VS_MNR_MASK: Mask to get the minor version + * @NVME_VS_MJR_MASK: Mask to get the major version + */ enum nvme_vs { NVME_VS_TER_SHIFT = 0, NVME_VS_MNR_SHIFT = 8, @@ -297,6 +360,36 @@ enum nvme_vs { #define NVME_MINOR(ver) NVME_VS_MNR(ver) #define NVME_TERTIARY(ver) NVME_VS_TER(ver) +/** + * enum nvme_cc - This field indicates the controller configuration + * @NVME_CC_EN_SHIFT: Shift amount to get the enable + * @NVME_CC_CSS_SHIFT: Shift amount to get the I/O command set selected + * @NVME_CC_MPS_SHIFT: Shift amount to get the memory page size + * @NVME_CC_AMS_SHIFT: Shift amount to get the arbitration mechanism selected + * @NVME_CC_SHN_SHIFT: Shift amount to get the shutdown notification + * @NVME_CC_IOSQES_SHIFT: Shift amount to get the I/O submission queue entry size + * @NVME_CC_IOCQES_SHIFT: Shift amount to get the I/O completion queue entry size + * @NVME_CC_CRIME_SHIFT: Shift amount to get the controller ready independent of media enable + * @NVME_CC_EN_MASK: Mask to get the enable + * @NVME_CC_CSS_MASK: Mask to get the I/O command set selected + * @NVME_CC_MPS_MASK: Mask to get the memory page size + * @NVME_CC_AMS_MASK: Mask to get the arbitration mechanism selected + * @NVME_CC_SHN_MASK: Mask to get the shutdown notification + * @NVME_CC_CRIME_MASK: Mask to get the I/O submission queue entry size + * @NVME_CC_IOSQES_MASK: Mask to get the I/O completion queue entry size + * @NVME_CC_IOCQES_MASK: Mask to get the controller ready independent of media enable + * @NVME_CC_CSS_NVM: NVM command set + * @NVME_CC_CSS_CSI: All supported I/O command sets + * @NVME_CC_CSS_ADMIN: Admin command set only + * @NVME_CC_AMS_RR: Round robin + * @NVME_CC_AMS_WRRU: Weighted round robin with urgent priority class + * @NVME_CC_AMS_VS: Vendor specific + * @NVME_CC_SHN_NONE: No notification; no effect + * @NVME_CC_SHN_NORMAL: Normal shutdown notification + * @NVME_CC_SHN_ABRUPT: Abrupt shutdown notification + * @NVME_CC_CRWME: Controller ready with media enable + * @NVME_CC_CRIME: Controller ready independent of media enable + */ enum nvme_cc { NVME_CC_EN_SHIFT = 0, NVME_CC_CSS_SHIFT = 4, @@ -336,21 +429,42 @@ enum nvme_cc { #define NVME_CC_IOCQES(cc) NVME_GET(cc, CC_IOCQES) #define NVME_CC_CRIME(cc) NVME_GET(cc, CC_CRIME) +/** + * enum nvme_csts - This field indicates the controller status register + * @NVME_CSTS_RDY_SHIFT: Shift amount to get the ready + * @NVME_CSTS_CFS_SHIFT: Shift amount to get the controller fatal status + * @NVME_CSTS_SHST_SHIFT: Shift amount to get the shutdown status + * @NVME_CSTS_NSSRO_SHIFT: Shift amount to get the NVM subsystem reset occurred + * @NVME_CSTS_PP_SHIFT: Shift amount to get the processing paused + * @NVME_CSTS_ST_SHIFT: Shift amount to get the shutdown type + * @NVME_CSTS_RDY_MASK: Mask to get the ready + * @NVME_CSTS_CFS_MASK: Mask to get the controller fatal status + * @NVME_CSTS_SHST_MASK: Mask to get the shutdown status + * @NVME_CSTS_NSSRO_MASK: Mask to get the NVM subsystem reset occurred + * @NVME_CSTS_PP_MASK: Mask to get the processing paused + * @NVME_CSTS_ST_MASK: Mask to get the shutdown type + * @NVME_CSTS_SHST_NORMAL: Normal operation + * @NVME_CSTS_SHST_OCCUR: Shutdown processing occurring + * @NVME_CSTS_SHST_CMPLT: Shutdown processing complete + * @NVME_CSTS_SHN_MASK: Deprecated mask to get the shutdown status + */ enum nvme_csts { NVME_CSTS_RDY_SHIFT = 0, NVME_CSTS_CFS_SHIFT = 1, NVME_CSTS_SHST_SHIFT = 2, NVME_CSTS_NSSRO_SHIFT = 4, NVME_CSTS_PP_SHIFT = 5, + NVME_CSTS_ST_SHIFT = 6, NVME_CSTS_RDY_MASK = 0x1, NVME_CSTS_CFS_MASK = 0x1, - NVME_CSTS_SHN_MASK = 0x3, + NVME_CSTS_SHST_MASK = 0x3, NVME_CSTS_NSSRO_MASK = 0x1, NVME_CSTS_PP_MASK = 0x1, + NVME_CSTS_ST_MASK = 0x1, NVME_CSTS_SHST_NORMAL = 0, NVME_CSTS_SHST_OCCUR = 1, NVME_CSTS_SHST_CMPLT = 2, - NVME_CSTS_SHST_MASK = 3, + NVME_CSTS_SHN_MASK = NVME_CSTS_SHST_MASK, /* Deprecated */ }; #define NVME_CSTS_RDY(csts) NVME_GET(csts, CSTS_RDY) @@ -358,7 +472,15 @@ enum nvme_csts { #define NVME_CSTS_SHST(csts) NVME_GET(csts, CSTS_SHST) #define NVME_CSTS_NSSRO(csts) NVME_GET(csts, CSTS_NSSRO) #define NVME_CSTS_PP(csts) NVME_GET(csts, CSTS_PP) +#define NVME_CSTS_ST(csts) NVME_GET(csts, CSTS_ST) +/** + * enum nvme_aqa - This field indicates the admin queue attributes + * @NVME_AQA_ASQS_SHIFT: Shift amount to get the admin submission queue size + * @NVME_AQA_ACQS_SHIFT: Shift amount to get the admin completion queue size + * @NVME_AQA_ASQS_MASK: Mask to get the admin submission queue size + * @NVME_AQA_ACQS_MASK: Mask to get the admin completion queue size + */ enum nvme_aqa { NVME_AQA_ASQS_SHIFT = 0, NVME_AQA_ACQS_SHIFT = 16, @@ -369,6 +491,47 @@ enum nvme_aqa { #define NVME_AQA_ASQS(aqa) NVME_GET(aqa, AQA_ASQS) #define NVME_AQA_ACQS(aqa) NVME_GET(aqa, AQA_ACQS) +/** + * enum nvme_asq - This field indicates the admin submission queue base address + * @NVME_ASQ_ASQB_SHIFT: Shift amount to get the admin submission queue base + */ +enum nvme_asq { + NVME_ASQ_ASQB_SHIFT = 12, +}; +static const __u64 NVME_ASQ_ASQB_MASK = 0xfffffffffffffull; + +#define NVME_ASQ_ASQB(asq) NVME_GET(asq, ASQ_ASQB) + +/** + * enum nvme_acq - This field indicates the admin completion queue base address + * @NVME_ACQ_ACQB_SHIFT: Shift amount to get the admin completion queue base + */ +enum nvme_acq { + NVME_ACQ_ACQB_SHIFT = 12, +}; +static const __u64 NVME_ACQ_ACQB_MASK = 0xfffffffffffffull; + +#define NVME_ACQ_ACQB(acq) NVME_GET(acq, ACQ_ACQB) + +/** + * enum nvme_cmbloc - This field indicates the controller memory buffer location + * @NVME_CMBLOC_BIR_SHIFT: Shift amount to get the base indicator register + * @NVME_CMBLOC_CQMMS_SHIFT: Shift amount to get the CMB queue mixed memory support + * @NVME_CMBLOC_CQPDS_SHIFT: Shift amount to get the CMB queue physically discontiguous support + * @NVME_CMBLOC_CDPLMS_SHIFT: Shift amount to get the CMB data pointer mixed locations support + * @NVME_CMBLOC_CDPCILS_SHIFT: Shift amount to get the CMB data pointer and command independent locations support + * @NVME_CMBLOC_CDMMMS_SHIFT: Shift amount to get the CMB data metadata mixed memory support + * @NVME_CMBLOC_CQDA_SHIFT: Shift amount to get the CMB queue dword alignment + * @NVME_CMBLOC_OFST_SHIFT: Shift amount to get the offset + * @NVME_CMBLOC_BIR_MASK: Mask to get the base indicator register + * @NVME_CMBLOC_CQMMS_MASK: Mask to get the CMB queue mixed memory support + * @NVME_CMBLOC_CQPDS_MASK: Mask to get the CMB queue physically discontiguous support + * @NVME_CMBLOC_CDPLMS_MASK: Mask to get the CMB data pointer mixed locations support + * @NVME_CMBLOC_CDPCILS_MASK: Mask to get the CMB data pointer and command independent locations support + * @NVME_CMBLOC_CDMMMS_MASK: Mask to get the CMB data metadata mixed memory support + * @NVME_CMBLOC_CQDA_MASK: Mask to get the CMB queue dword alignment + * @NVME_CMBLOC_OFST_MASK: Mask to get the offset + */ enum nvme_cmbloc { NVME_CMBLOC_BIR_SHIFT = 0, NVME_CMBLOC_CQMMS_SHIFT = 3, @@ -397,6 +560,30 @@ enum nvme_cmbloc { #define NVME_CMBLOC_CQDA(cmbloc) NVME_GET(cmbloc, CMBLOC_CQDA) #define NVME_CMBLOC_OFST(cmbloc) NVME_GET(cmbloc, CMBLOC_OFST) +/** + * enum nvme_cmbsz - This field indicates the controller memory buffer size + * @NVME_CMBSZ_SQS_SHIFT: Shift amount to get the submission queue support + * @NVME_CMBSZ_CQS_SHIFT: Shift amount to get the completion queue support + * @NVME_CMBSZ_LISTS_SHIFT: Shift amount to get the PLP SGL list support + * @NVME_CMBSZ_RDS_SHIFT: Shift amount to get the read data support + * @NVME_CMBSZ_WDS_SHIFT: Shift amount to get the write data support + * @NVME_CMBSZ_SZU_SHIFT: Shift amount to get the size units + * @NVME_CMBSZ_SZ_SHIFT: Shift amount to get the size + * @NVME_CMBSZ_SQS_MASK: Mask to get the submission queue support + * @NVME_CMBSZ_CQS_MASK: Mask to get the completion queue support + * @NVME_CMBSZ_LISTS_MASK: Mask to get the PLP SGL list support + * @NVME_CMBSZ_RDS_MASK: Mask to get the read data support + * @NVME_CMBSZ_WDS_MASK: Mask to get the write data support + * @NVME_CMBSZ_SZU_MASK: Mask to get the size units + * @NVME_CMBSZ_SZ_MASK: Mask to get the size + * @NVME_CMBSZ_SZU_4K: 4 KiB + * @NVME_CMBSZ_SZU_64K: 64 KiB + * @NVME_CMBSZ_SZU_1M: 1 MiB + * @NVME_CMBSZ_SZU_16M: 16 MiB + * @NVME_CMBSZ_SZU_256M: 256 MiB + * @NVME_CMBSZ_SZU_4G: 4 GiB + * @NVME_CMBSZ_SZU_64G: 64 GiB + */ enum nvme_cmbsz { NVME_CMBSZ_SQS_SHIFT = 0, NVME_CMBSZ_CQS_SHIFT = 1, @@ -441,6 +628,19 @@ static inline __u64 nvme_cmb_size(__u32 cmbsz) (1ULL << (12 + 4 * NVME_CMBSZ_SZU(cmbsz))); } +/** + * enum nvme_bpinfo - This field indicates the boot partition information + * @NVME_BPINFO_BPSZ_SHIFT: Shift amount to get the boot partition size + * @NVME_BPINFO_BRS_SHIFT: Shift amount to get the boot read status + * @NVME_BPINFO_ABPID_SHIFT: Shift amount to get the active boot partition ID + * @NVME_BPINFO_BPSZ_MASK: Mask to get the boot partition size + * @NVME_BPINFO_BRS_MASK: Mask to get the boot read status + * @NVME_BPINFO_ABPID_MASK: Mask to get the active boot partition ID + * @NVME_BPINFO_BRS_NONE: No boot partition read operation requested + * @NVME_BPINFO_BRS_READ_IN_PROGRESS: Boot partition read in progress + * @NVME_BPINFO_BRS_READ_SUCCESS: Boot partition read completed successfully + * @NVME_BPINFO_BRS_READ_ERROR: Error completing boot partition read + */ enum nvme_bpinfo { NVME_BPINFO_BPSZ_SHIFT = 0, NVME_BPINFO_BRS_SHIFT = 24, @@ -458,12 +658,21 @@ enum nvme_bpinfo { #define NVME_BPINFO_BRS(bpinfo) NVME_GET(bpinfo, BPINFO_BRS) #define NVME_BPINFO_ABPID(bpinfo) NVME_GET(bpinfo, BPINFO_ABPID) +/** + * enum nvme_bprsel - This field indicates the boot partition read select + * @NVME_BPRSEL_BPRSZ_SHIFT: Shift amount to get the boot partition read size + * @NVME_BPRSEL_BPROF_SHIFT: Shift amount to get the boot partition read offset + * @NVME_BPRSEL_BPID_SHIFT: Shift amount to get the boot partition identifier + * @NVME_BPRSEL_BPRSZ_MASK: Mask to get the boot partition read size + * @NVME_BPRSEL_BPROF_MASK: Mask to get the boot partition read offset + * @NVME_BPRSEL_BPID_MASK: Mask to get the boot partition identifier + */ enum nvme_bprsel { NVME_BPRSEL_BPRSZ_SHIFT = 0, NVME_BPRSEL_BPROF_SHIFT = 10, NVME_BPRSEL_BPID_SHIFT = 31, NVME_BPRSEL_BPRSZ_MASK = 0x3ff, - NVME_BPRSEL_BPROF_MASK = 0xfff, + NVME_BPRSEL_BPROF_MASK = 0xfffff, NVME_BPRSEL_BPID_MASK = 0x1, }; @@ -471,6 +680,25 @@ enum nvme_bprsel { #define NVME_BPRSEL_BPROF(bprsel) NVME_GET(bprsel, BPRSEL_BPROF) #define NVME_BPRSEL_BPID(bprsel) NVME_GET(bprsel, BPRSEL_BPID) +/** + * enum nvme_bpmbl - This field indicates the boot partition memory buffer location + * @NVME_BPMBL_BMBBA_SHIFT: Shift amount to get the boot partition memory buffer base address + */ +enum nvme_bpmbl { + NVME_BPMBL_BMBBA_SHIFT = 12, +}; +static const __u64 NVME_BPMBL_BMBBA_MASK = 0xfffffffffffffull; + +#define NVME_BPMBL_BMBBA(bpmbl) NVME_GET(bpmbl, BPMBL_BMBBA) + +/** + * enum nvme_cmbmsc - This field indicates the controller memory buffer memory space control + * @NVME_CMBMSC_CRE_SHIFT: Shift amount to get the capabilities registers enabled + * @NVME_CMBMSC_CMSE_SHIFT: Shift amount to get the controller memory space enable + * @NVME_CMBMSC_CBA_SHIFT: Shift amount to get the controller base address + * @NVME_CMBMSC_CRE_MASK: Mask to get the capabilities registers enabled + * @NVME_CMBMSC_CMSE_MASK: Mask to get the controller memory space enable + */ enum nvme_cmbmsc { NVME_CMBMSC_CRE_SHIFT = 0, NVME_CMBMSC_CMSE_SHIFT = 1, @@ -484,6 +712,11 @@ static const __u64 NVME_CMBMSC_CBA_MASK = 0xfffffffffffffull; #define NVME_CMBMSC_CMSE(cmbmsc) NVME_GET(cmbmsc, CMBMSC_CMSE) #define NVME_CMBMSC_CBA(cmbmsc) NVME_GET(cmbmsc, CMBMSC_CBA) +/** + * enum nvme_cmbsts - This field indicates the controller memory buffer status + * @NVME_CMBSTS_CBAI_SHIFT: Shift amount to get the controller base address invalid + * @NVME_CMBSTS_CBAI_MASK: Mask to get the controller base address invalid + */ enum nvme_cmbsts { NVME_CMBSTS_CBAI_SHIFT = 0, NVME_CMBSTS_CBAI_MASK = 0x1, @@ -491,31 +724,130 @@ enum nvme_cmbsts { #define NVME_CMBSTS_CBAI(cmbsts) NVME_GET(cmbsts, CMBSTS_CBAI) +/** + * enum nvme_unit - Defined buffer size and write throughput granularity units + * @NVME_UNIT_B: Bytes or Bytes/second + * @NVME_UNIT_1K: 1 KiB or 1 KiB/second + * @NVME_UNIT_1M: 1 MiB or 1 MiB/second + * @NVME_UNIT_1G: 1 GiB or 1 GiB/second + */ +enum nvme_unit { + NVME_UNIT_B = 0, + NVME_UNIT_1K = 1, + NVME_UNIT_1M = 2, + NVME_UNIT_1G = 3, +}; + +/** + * enum nvme_cmbebs - This field indicates the controller memory buffer elasticity buffer size + * @NVME_CMBEBS_CMBSZU_SHIFT: Shift amount to get the CMB elasticity buffer size units + * @NVME_CMBEBS_RBB_SHIFT: Shift amount to get the read bypass behavior + * @NVME_CMBEBS_CMBWBZ_SHIFT: Shift amount to get the CMB elasiticity buffer size base + * @NVME_CMBEBS_CMBSZU_MASK: Mask to get the CMB elasticity buffer size units + * @NVME_CMBEBS_RBB_MASK: Mask to get the read bypass behavior + * @NVME_CMBEBS_CMBWBZ_MASK: Mask to get the CMB elasiticity buffer size base + * @NVME_CMBEBS_CMBSZU_B: Bytes granularity + * @NVME_CMBEBS_CMBSZU_1K: 1 KiB granularity + * @NVME_CMBEBS_CMBSZU_1M: 1 MiB granularity + * @NVME_CMBEBS_CMBSZU_1G: 1 GiB granularity + */ +enum nvme_cmbebs { + NVME_CMBEBS_CMBSZU_SHIFT = 0, + NVME_CMBEBS_RBB_SHIFT = 4, + NVME_CMBEBS_CMBWBZ_SHIFT = 8, + NVME_CMBEBS_CMBSZU_MASK = 0xf, + NVME_CMBEBS_RBB_MASK = 0x1, + NVME_CMBEBS_CMBWBZ_MASK = 0xffffff, + NVME_CMBEBS_CMBSZU_B = NVME_UNIT_B, + NVME_CMBEBS_CMBSZU_1K = NVME_UNIT_1K, + NVME_CMBEBS_CMBSZU_1M = NVME_UNIT_1M, + NVME_CMBEBS_CMBSZU_1G = NVME_UNIT_1G, +}; + +#define NVME_CMBEBS_CMBSZU(cmbebs) NVME_GET(cmbebs, CMBEBS_CMBSZU) +#define NVME_CMBEBS_RBB(cmbebs) NVME_GET(cmbebs, CMBEBS_RBB) +#define NVME_CMBEBS_CMBWBZ(cmbebs) NVME_GET(cmbebs, CMBEBS_CMBWBZ) + +/** + * enum nvme_cmbswtp - This field indicates the controller memory buffer sustained write throughput + * @NVME_CMBSWTP_CMBSWTU_SHIFT: Shift amount to get the CMB sustained write throughput units + * @NVME_CMBSWTP_CMBSWTV_SHIFT: Shift amount to get the CMB sustained write throughput + * @NVME_CMBSWTP_CMBSWTU_MASK: Mask to get the CMB sustained write throughput units + * @NVME_CMBSWTP_CMBSWTV_MASK: Mask to get the CMB sustained write throughput + * @NVME_CMBSWTP_CMBSWTU_B: Bytes/second granularity + * @NVME_CMBSWTP_CMBSWTU_1K: 1 KiB/second granularity + * @NVME_CMBSWTP_CMBSWTU_1M: 1 MiB/second granularity + * @NVME_CMBSWTP_CMBSWTU_1G: 1 GiB/second granularity + */ +enum nvme_cmbswtp { + NVME_CMBSWTP_CMBSWTU_SHIFT = 0, + NVME_CMBSWTP_CMBSWTV_SHIFT = 8, + NVME_CMBSWTP_CMBSWTU_MASK = 0xf, + NVME_CMBSWTP_CMBSWTV_MASK = 0xffffff, + NVME_CMBSWTP_CMBSWTU_B = NVME_UNIT_B, + NVME_CMBSWTP_CMBSWTU_1K = NVME_UNIT_1K, + NVME_CMBSWTP_CMBSWTU_1M = NVME_UNIT_1M, + NVME_CMBSWTP_CMBSWTU_1G = NVME_UNIT_1G, +}; + +#define NVME_CMBSWTP_CMBSWTU(cmbswtp) NVME_GET(cmbswtp, CMBSWTP_CMBSWTU) +#define NVME_CMBSWTP_CMBSWTV(cmbswtp) NVME_GET(cmbswtp, CMBSWTP_CMBSWTV) + +/** + * enum nvme_crto - This field indicates the controller ready timeouts + * @NVME_CRTO_CRWMT_SHIFT: Shift amount to get the controller ready with media timeout + * @NVME_CRTO_CRIMT_SHIFT: Shift amount to get the controller ready independent of media timeout + * @NVME_CRTO_CRWMT_MASK: Mask to get the controller ready with media timeout + * @NVME_CRTO_CRIMT_MASK: Mask to get the controller ready independent of media timeout + */ enum nvme_crto { - NVME_CRTO_CRIMT_SHIFT = 16, - NVME_CRTO_CRIMT_MASK = 0xffff0000, NVME_CRTO_CRWMT_SHIFT = 0, - NVME_CRTO_CRWMT_MASK = 0x0000ffff, + NVME_CRTO_CRIMT_SHIFT = 16, + NVME_CRTO_CRWMT_MASK = 0xffff, + NVME_CRTO_CRIMT_MASK = 0xffff, }; #define NVME_CRTO_CRIMT(crto) NVME_GET(crto, CRTO_CRIMT) #define NVME_CRTO_CRWMT(crto) NVME_GET(crto, CRTO_CRWMT) +/** + * enum nvme_pmrcap - This field indicates the persistent memory region capabilities + * @NVME_PMRCAP_RDS_SHIFT: Shift amount to get the read data support + * @NVME_PMRCAP_WDS_SHIFT: Shift amount to get the write data support + * @NVME_PMRCAP_BIR_SHIFT: Shift amount to get the base indicator register + * @NVME_PMRCAP_PMRTU_SHIFT: Shift amount to get the persistent memory region time units + * @NVME_PMRCAP_PMRWBM_SHIFT: Shift amount to get the persistent memory region write barrier mechanisms + * @NVME_PMRCAP_PMRTO_SHIFT: Shift amount to get the persistent memory region timeout + * @NVME_PMRCAP_CMSS_SHIFT: Shift amount to get the controller memory space supported + * @NVME_PMRCAP_PMRWMB_SHIFT: Deprecated shift amount to get the persistent memory region write barrier mechanisms + * @NVME_PMRCAP_RDS_MASK: Mask to get the read data support + * @NVME_PMRCAP_WDS_MASK: Mask to get the write data support + * @NVME_PMRCAP_BIR_MASK: Mask to get the base indicator register + * @NVME_PMRCAP_PMRTU_MASK: Mask to get the persistent memory region time units + * @NVME_PMRCAP_PMRWBM_MASK: Mask to get the persistent memory region write barrier mechanisms + * @NVME_PMRCAP_PMRTO_MASK: Mask to get the persistent memory region timeout + * @NVME_PMRCAP_CMSS_MASK: Mask to get the controller memory space supported + * @NVME_PMRCAP_PMRWMB_MASK: Deprecated mask to get the persistent memory region write barrier mechanisms + * @NVME_PMRCAP_PMRTU_500MS: 500 milliseconds + * @NVME_PMRCAP_PMRTU_60S: minutes + */ enum nvme_pmrcap { NVME_PMRCAP_RDS_SHIFT = 3, NVME_PMRCAP_WDS_SHIFT = 4, NVME_PMRCAP_BIR_SHIFT = 5, NVME_PMRCAP_PMRTU_SHIFT = 8, - NVME_PMRCAP_PMRWMB_SHIFT = 10, + NVME_PMRCAP_PMRWBM_SHIFT = 10, NVME_PMRCAP_PMRTO_SHIFT = 16, NVME_PMRCAP_CMSS_SHIFT = 24, + NVME_PMRCAP_PMRWMB_SHIFT = NVME_PMRCAP_PMRWBM_SHIFT, /* Deprecated */ NVME_PMRCAP_RDS_MASK = 0x1, NVME_PMRCAP_WDS_MASK = 0x1, NVME_PMRCAP_BIR_MASK = 0x7, NVME_PMRCAP_PMRTU_MASK = 0x3, - NVME_PMRCAP_PMRWMB_MASK = 0xf, + NVME_PMRCAP_PMRWBM_MASK = 0xf, NVME_PMRCAP_PMRTO_MASK = 0xff, NVME_PMRCAP_CMSS_MASK = 0x1, + NVME_PMRCAP_PMRWMB_MASK = NVME_PMRCAP_PMRWBM_MASK, /* Deprecated */ NVME_PMRCAP_PMRTU_500MS = 0, NVME_PMRCAP_PMRTU_60S = 1, }; @@ -524,10 +856,16 @@ enum nvme_pmrcap { #define NVME_PMRCAP_WDS(pmrcap) NVME_GET(pmrcap, PMRCAP_WDS) #define NVME_PMRCAP_BIR(pmrcap) NVME_GET(pmrcap, PMRCAP_BIR) #define NVME_PMRCAP_PMRTU(pmrcap) NVME_GET(pmrcap, PMRCAP_PMRTU) -#define NVME_PMRCAP_PMRWMB(pmrcap) NVME_GET(pmrcap, PMRCAP_PMRWMB) +#define NVME_PMRCAP_PMRWBM(pmrcap) NVME_GET(pmrcap, PMRCAP_PMRWBM) #define NVME_PMRCAP_PMRTO(pmrcap) NVME_GET(pmrcap, PMRCAP_PMRTO) #define NVME_PMRCAP_CMSS(pmrcap) NVME_GET(pmrcap, PMRCAP_CMSS) +#define NVME_PMRCAP_PMRWMB(pmrcap) NVME_GET(pmrcap, PMRCAP_PMRWMB) /* Deprecated */ +/** + * enum nvme_pmrctl - This field indicates the persistent memory region control + * @NVME_PMRCTL_EN_SHIFT: Shift amount to get the enable + * @NVME_PMRCTL_EN_MASK: Mask to get the enable + */ enum nvme_pmrctl { NVME_PMRCTL_EN_SHIFT = 0, NVME_PMRCTL_EN_MASK = 0x1, @@ -535,6 +873,17 @@ enum nvme_pmrctl { #define NVME_PMRCTL_EN(pmrctl) NVME_GET(pmrctl, PMRCTL_EN) +/** + * enum nvme_pmrsts - This field indicates the persistent memory region status + * @NVME_PMRSTS_ERR_SHIFT: Shift amount to get the error + * @NVME_PMRSTS_NRDY_SHIFT: Shift amount to get the not ready + * @NVME_PMRSTS_HSTS_SHIFT: Shift amount to get the health status + * @NVME_PMRSTS_CBAI_SHIFT: Shift amount to get the controller base address invalid + * @NVME_PMRSTS_ERR_MASK: Mask to get the error + * @NVME_PMRSTS_NRDY_MASK: Mask to get the not ready + * @NVME_PMRSTS_HSTS_MASK: Mask to get the health status + * @NVME_PMRSTS_CBAI_MASK: Mask to get the controller base address invalid + */ enum nvme_pmrsts { NVME_PMRSTS_ERR_SHIFT = 0, NVME_PMRSTS_NRDY_SHIFT = 8, @@ -551,6 +900,19 @@ enum nvme_pmrsts { #define NVME_PMRSTS_HSTS(pmrsts) NVME_GET(pmrsts, PMRSTS_HSTS) #define NVME_PMRSTS_CBAI(pmrsts) NVME_GET(pmrsts, PMRSTS_CBAI) +/** + * enum nvme_pmrebs - This field indicates the persistent memory region elasticity buffer size + * @NVME_PMREBS_PMRSZU_SHIFT: Shift amount to get the PMR elasticity buffer size units + * @NVME_PMREBS_RBB_SHIFT: Shift amount to get the read bypass behavior + * @NVME_PMREBS_PMRWBZ_SHIFT: Shift amount to get the PMR elasticity buffer size base + * @NVME_PMREBS_PMRSZU_MASK: Mask to get the PMR elasticity buffer size units + * @NVME_PMREBS_RBB_MASK: Mask to get the read bypass behavior + * @NVME_PMREBS_PMRWBZ_MASK: Mask to get the PMR elasticity buffer size base + * @NVME_PMREBS_PMRSZU_B: Bytes + * @NVME_PMREBS_PMRSZU_1K: 1 KiB + * @NVME_PMREBS_PMRSZU_1M: 1 MiB + * @NVME_PMREBS_PMRSZU_1G: 1 GiB + */ enum nvme_pmrebs { NVME_PMREBS_PMRSZU_SHIFT = 0, NVME_PMREBS_RBB_SHIFT = 4, @@ -558,10 +920,10 @@ enum nvme_pmrebs { NVME_PMREBS_PMRSZU_MASK = 0xf, NVME_PMREBS_RBB_MASK = 0x1, NVME_PMREBS_PMRWBZ_MASK = 0xffffff, - NVME_PMREBS_PMRSZU_B = 0, - NVME_PMREBS_PMRSZU_1K = 1, - NVME_PMREBS_PMRSZU_1M = 2, - NVME_PMREBS_PMRSZU_1G = 3, + NVME_PMREBS_PMRSZU_B = NVME_UNIT_B, + NVME_PMREBS_PMRSZU_1K = NVME_UNIT_1K, + NVME_PMREBS_PMRSZU_1M = NVME_UNIT_1M, + NVME_PMREBS_PMRSZU_1G = NVME_UNIT_1G, }; #define NVME_PMREBS_PMRSZU(pmrebs) NVME_GET(pmrebs, PMREBS_PMRSZU) @@ -581,15 +943,26 @@ static inline __u64 nvme_pmr_size(__u32 pmrebs) (1ULL << (10 * NVME_PMREBS_PMRSZU(pmrebs))); } +/** + * enum nvme_pmrswtp - This field indicates the persistent memory region sustained write throughput + * @NVME_PMRSWTP_PMRSWTU_SHIFT: Shift amount to get the PMR sustained write throughput units + * @NVME_PMRSWTP_PMRSWTV_SHIFT: Shift amount to get the PMR sustained write throughput + * @NVME_PMRSWTP_PMRSWTU_MASK: Mask to get the PMR sustained write throughput units + * @NVME_PMRSWTP_PMRSWTV_MASK: Mask to get the PMR sustained write throughput + * @NVME_PMRSWTP_PMRSWTU_BPS: Bytes per second + * @NVME_PMRSWTP_PMRSWTU_KBPS: 1 KiB / s + * @NVME_PMRSWTP_PMRSWTU_MBPS: 1 MiB / s + * @NVME_PMRSWTP_PMRSWTU_GBPS: 1 GiB / s + */ enum nvme_pmrswtp { NVME_PMRSWTP_PMRSWTU_SHIFT = 0, NVME_PMRSWTP_PMRSWTV_SHIFT = 8, NVME_PMRSWTP_PMRSWTU_MASK = 0xf, NVME_PMRSWTP_PMRSWTV_MASK = 0xffffff, - NVME_PMRSWTP_PMRSWTU_BPS = 0, - NVME_PMRSWTP_PMRSWTU_KBPS = 1, - NVME_PMRSWTP_PMRSWTU_MBPS = 2, - NVME_PMRSWTP_PMRSWTU_GBPS = 3, + NVME_PMRSWTP_PMRSWTU_BPS = NVME_UNIT_B, + NVME_PMRSWTP_PMRSWTU_KBPS = NVME_UNIT_1K, + NVME_PMRSWTP_PMRSWTU_MBPS = NVME_UNIT_1M, + NVME_PMRSWTP_PMRSWTU_GBPS = NVME_UNIT_1G, }; #define NVME_PMRSWTP_PMRSWTU(pmrswtp) NVME_GET(pmrswtp, PMRSWTP_PMRSWTU) @@ -607,6 +980,12 @@ static inline __u64 nvme_pmr_throughput(__u32 pmrswtp) (1ULL << (10 * NVME_PMRSWTP_PMRSWTU(pmrswtp))); } +/** + * enum nvme_pmrmsc - This field indicates the persistent memory region memory space control + * @NVME_PMRMSC_CMSE_SHIFT: Shift amount to get the controller memory space enable + * @NVME_PMRMSC_CBA_SHIFT: Shift amount to get the controller base address + * @NVME_PMRMSC_CMSE_MASK: Mask to get the controller memory space enable + */ enum nvme_pmrmsc { NVME_PMRMSC_CMSE_SHIFT = 1, NVME_PMRMSC_CBA_SHIFT = 12, @@ -617,6 +996,15 @@ static const __u64 NVME_PMRMSC_CBA_MASK = 0xfffffffffffffull; #define NVME_PMRMSC_CMSE(pmrmsc) NVME_GET(pmrmsc, PMRMSC_CMSE) #define NVME_PMRMSC_CBA(pmrmsc) NVME_GET(pmrmsc, PMRMSC_CBA) +/** + * enum nvme_flbas - This field indicates the formatted LBA size + * @NVME_FLBAS_LOWER_SHIFT: Shift amount to get the format index least significant 4 bits + * @NVME_FLBAS_META_EXT_SHIFT: Shift amount to get the metadata transferred + * @NVME_FLBAS_HIGHER_SHIFT: Shift amount to get the format index most significant 2 bits + * @NVME_FLBAS_LOWER_MASK: Mask to get the format index least significant 4 bits + * @NVME_FLBAS_META_EXT_MASK: Mask to get the metadata transferred + * @NVME_FLBAS_HIGHER_MASK: Mask to get the format index most significant 2 bits + */ enum nvme_flbas { NVME_FLBAS_LOWER_SHIFT = 0, NVME_FLBAS_META_EXT_SHIFT = 4, @@ -1076,6 +1464,38 @@ struct nvme_id_ctrl { __u8 vs[1024]; }; +/** + * enum nvme_cmic - This field indicates the controller multi-path I/O and NS sharing capabilities + * @NVME_CMIC_MULTI_PORT_SHIFT: Shift amount to get the NVM subsystem port + * @NVME_CMIC_MULTI_CTRL_SHIFT: Shift amount to get the controllers + * @NVME_CMIC_MULTI_SRIOV_SHIFT: Shift amount to get the SR-IOV virtual function + * @NVME_CMIC_MULTI_ANA_SHIFT: Shift amount to get the asymmetric namespace access reporting + * @NVME_CMIC_MULTI_RSVD_SHIFT: Shift amount to get the reserved + * @NVME_CMIC_MULTI_PORT_MASK: Mask to get the NVM subsystem port + * @NVME_CMIC_MULTI_CTRL_MASK: Mask to get the controllers + * @NVME_CMIC_MULTI_SRIOV_MASK: Mask to get the SR-IOV virtual function + * @NVME_CMIC_MULTI_ANA_MASK: Mask to get the asymmetric namespace access reporting + * @NVME_CMIC_MULTI_RSVD_MASK: Mask to get the reserved + */ +enum nvme_cmic { + NVME_CMIC_MULTI_PORT_SHIFT = 0, + NVME_CMIC_MULTI_CTRL_SHIFT = 1, + NVME_CMIC_MULTI_SRIOV_SHIFT = 2, + NVME_CMIC_MULTI_ANA_SHIFT = 3, + NVME_CMIC_MULTI_RSVD_SHIFT = 4, + NVME_CMIC_MULTI_PORT_MASK = 0x1, + NVME_CMIC_MULTI_CTRL_MASK = 0x1, + NVME_CMIC_MULTI_SRIOV_MASK = 0x1, + NVME_CMIC_MULTI_ANA_MASK = 0x1, + NVME_CMIC_MULTI_RSVD_MASK = 0xf, +}; + +#define NVME_CMIC_MULTI_PORT(cmic) NVME_GET(cmic, CMIC_MULTI_PORT) +#define NVME_CMIC_MULTI_CTRL(cmic) NVME_GET(cmic, CMIC_MULTI_CTRL) +#define NVME_CMIC_MULTI_SRIOV(cmic) NVME_GET(cmic, CMIC_MULTI_SRIOV) +#define NVME_CMIC_MULTI_ANA(cmic) NVME_GET(cmic, CMIC_MULTI_ANA) +#define NVME_CMIC_MULTI_RSVD(cmic) NVME_GET(cmic, CMIC_MULTI_RSVD) + /** * enum nvme_id_ctrl_cmic - Controller Multipath IO and Namespace Sharing * Capabilities of the controller and NVM subsystem. @@ -3339,6 +3759,53 @@ struct nvme_persistent_event_log { __u8 seb[32]; } __attribute__((packed)); +/** + * enum nvme_pel_rci - This field indicates the persistent event log reporting context + * @NVME_PEL_RCI_RCPID_SHIFT: Shift amount to get the reporting context port identifier + * from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RCPIT_SHIFT: Shift amount to get the reporting context port identifier + * type from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RCE_SHIFT: Shift amount to get the reporting context exists + * from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RSVD_SHIFT: Shift amount to get the reserved reporting context + * from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RCPID_MASK: Mask to get the reporting context port identifier from + * the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RCPIT_MASK: Mask to get the reporting context port identifier type from + * the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RCE_MASK: Mask to get the reporting context exists from + * the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_RCI_RSVD_MASK: Mask to get the reserved reporting context from + * the &struct nvme_persistent_event_log.rci field. + */ +enum nvme_pel_rci { + NVME_PEL_RCI_RCPID_SHIFT = 0, + NVME_PEL_RCI_RCPIT_SHIFT = 16, + NVME_PEL_RCI_RCE_SHIFT = 18, + NVME_PEL_RCI_RSVD_SHIFT = 19, + NVME_PEL_RCI_RCPID_MASK = 0xffff, + NVME_PEL_RCI_RCPIT_MASK = 0x3, + NVME_PEL_RCI_RCE_MASK = 0x1, + NVME_PEL_RCI_RSVD_MASK = 0x1fff, +}; + +#define NVME_PEL_RCI_RCPID(rci) NVME_GET(rci, PEL_RCI_RCPID) +#define NVME_PEL_RCI_RCPIT(rci) NVME_GET(rci, PEL_RCI_RCPIT) +#define NVME_PEL_RCI_RCE(rci) NVME_GET(rci, PEL_RCI_RCE) +#define NVME_PEL_RCI_RSVD(rci) NVME_GET(rci, PEL_RCI_RSVD) + +/** + * enum nvme_pel_rci_rcpit - Persistent Event Log Reporting Context - Port Identifier Type + * @NVME_PEL_RCI_RCPIT_NOT_EXIST: Does not already exist + * @NVME_PEL_RCI_RCPIT_EST_PORT: Established by an NVM subsystem port + * @NVME_PEL_RCI_RCPIT_EST_ME: Established by a Management Endpoint + */ +enum nvme_pel_rci_rcpit { + NVME_PEL_RCI_RCPIT_NOT_EXIST = 0, + NVME_PEL_RCI_RCPIT_EST_PORT = 1, + NVME_PEL_RCI_RCPIT_EST_ME = 2, +}; + /** * struct nvme_persistent_event_entry - Persistent Event * @etype: Event Type @@ -3397,6 +3864,41 @@ enum nvme_persistent_event_types { NVME_PEL_THERMAL_EXCURSION_EVENT = 0x0d, }; +/** + * enum nvme_pel_ehai - This field indicates the persistent event header additional information + * @NVME_PEL_EHAI_PIT_SHIFT: Shift amount to get the reporting context port identifier + * from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_EHAI_RSVD_SHIFT: Shift amount to get the reserved reporting context + * from the &struct nvme_persistent_event_log.rci field. + * @NVME_PEL_EHAI_PIT_MASK: Mask to get the reporting context port identifier from + * the &struct nvme_st_result.dsts field. + * @NVME_PEL_EHAI_RSVD_MASK: Mask to get the reserved reporting context from + * the &struct nvme_st_result.dsts field. + */ +enum nvme_pel_ehai { + NVME_PEL_EHAI_PIT_SHIFT = 0, + NVME_PEL_EHAI_RSVD_SHIFT = 2, + NVME_PEL_EHAI_PIT_MASK = 0x3, + NVME_PEL_EHAI_RSVD_MASK = 0x3f, +}; + +#define NVME_PEL_EHAI_PIT(ehai) NVME_GET(ehai, PEL_EHAI_PIT) +#define NVME_PEL_EHAI_RSVD(ehai) NVME_GET(ehai, PEL_EHAI_RSVD) + +/** + * enum nvme_pel_ehai_pit - Persistent Event Header Additional Information - Port Identifier Type + * @NVME_PEL_EHAI_PIT_NOT_REPORTED: PIT not reported and PELPID does not apply + * @NVME_PEL_EHAI_PIT_NSS_PORT: NVM subsystem port + * @NVME_PEL_EHAI_PIT_NMI_PORT: NVMe-MI port + * @NVME_PEL_EHAI_PIT_NOT_ASSOCIATED: Event not associated with any port and PELPID does not apply + */ +enum nvme_pel_ehai_pit { + NVME_PEL_EHAI_PIT_NOT_REPORTED = 0, + NVME_PEL_EHAI_PIT_NSS_PORT = 1, + NVME_PEL_EHAI_PIT_NMI_PORT = 2, + NVME_PEL_EHAI_PIT_NOT_ASSOCIATED = 3, +}; + /** * struct nvme_fw_commit_event - Firmware Commit Event Data * @old_fw_rev: Old Firmware Revision @@ -3569,6 +4071,34 @@ struct nvme_set_feature_event { __le32 cdw_mem[0]; }; +/** + * enum nvme_set_feat_event_layout - This field indicates the set feature event layout + * @NVME_SET_FEAT_EVENT_DW_COUNT_SHIFT: Shift amount to get the Dword count from the + * &struct nvme_set_feature_event.layout field. + * @NVME_SET_FEAT_EVENT_CC_DW0_SHIFT: Shift amount to get the logged command completion Dword 0 + * from the &struct nvme_set_feature_event.layout field. + * @NVME_SET_FEAT_EVENT_MB_COUNT_SHIFT: Shift amount to get the memory buffer count from + * the &struct nvme_set_feature_event.layout field. + * @NVME_SET_FEAT_EVENT_DW_COUNT_MASK: Mask to get the Dword count from the &struct + * nvme_set_feature_event.layout field. + * @NVME_SET_FEAT_EVENT_CC_DW0_MASK: Mask to get the logged command completion Dword 0 from + * the &struct nvme_set_feature_event.layout field. + * @NVME_SET_FEAT_EVENT_MB_COUNT_MASK: Mask to get the memory buffer count from the &struct + * nvme_set_feature_event.layout field. + */ +enum nvme_set_feat_event_layout { + NVME_SET_FEAT_EVENT_DW_COUNT_SHIFT = 0, + NVME_SET_FEAT_EVENT_CC_DW0_SHIFT = 3, + NVME_SET_FEAT_EVENT_MB_COUNT_SHIFT = 16, + NVME_SET_FEAT_EVENT_DW_COUNT_MASK = 0x7, + NVME_SET_FEAT_EVENT_CC_DW0_MASK = 0x1, + NVME_SET_FEAT_EVENT_MB_COUNT_MASK = 0xffff, +}; + +#define NVME_SET_FEAT_EVENT_DW_COUNT(layout) NVME_GET(layout, SET_FEAT_EVENT_DW_COUNT) +#define NVME_SET_FEAT_EVENT_CC_DW0(layout) NVME_GET(layout, SET_FEAT_EVENT_CC_DW0) +#define NVME_SET_FEAT_EVENT_MB_COUNT(layout) NVME_GET(layout, SET_FEAT_EVENT_MB_COUNT) + /** * struct nvme_thermal_exc_event - Thermal Excursion Event Data * @over_temp: Over Temperature @@ -3748,6 +4278,27 @@ struct nvme_boot_partition { __u8 boot_partition_data[]; }; +/** + * enum nvme_boot_partition_info - This field indicates the boot partition information + * @NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT: Shift amount to get the boot partition size from + * the &struct nvme_boot_partition.bpinfo field. + * @NVME_BOOT_PARTITION_INFO_ABPID_SHIFT: Shift amount to get the active boot partition ID + * from the &struct nvme_boot_partition.bpinfo field. + * @NVME_BOOT_PARTITION_INFO_BPSZ_MASK: Mask to get the boot partition size from the + * &struct nvme_boot_partition.bpinfo field. + * @NVME_BOOT_PARTITION_INFO_ABPID_MASK: Mask to get the active boot partition ID from the + * &struct nvme_boot_partition.bpinfo field. + */ +enum nvme_boot_partition_info { + NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT = 0, + NVME_BOOT_PARTITION_INFO_ABPID_SHIFT = 31, + NVME_BOOT_PARTITION_INFO_BPSZ_MASK = 0x7fff, + NVME_BOOT_PARTITION_INFO_ABPID_MASK = 0x1, +}; + +#define NVME_BOOT_PARTITION_INFO_BPSZ(bpinfo) NVME_GET(bpinfo, BOOT_PARTITION_INFO_BPSZ) +#define NVME_BOOT_PARTITION_INFO_ABPID(bpinfo) NVME_GET(bpinfo, BOOT_PARTITION_INFO_ABPID) + /** * struct nvme_eom_lane_desc - EOM Lane Descriptor * @rsvd0: Reserved @@ -3831,13 +4382,41 @@ struct nvme_phy_rx_eom_log { }; /** - * enum nvme_eom_optional_data - EOM Optional Data Present Fields - * @NVME_EOM_EYE_DATA_PRESENT: Eye Data Present + * enum nvme_eom_optional_data_present - EOM Optional Data Present Fields + * @NVME_EOM_ODP_PEFP_SHIFT: Shift amount to get the printable eye field present + * from the &struct nvme_phy_rx_eom_log.odp field. + * @NVME_EOM_ODP_EDFP_SHIFT: Shift amount to get the eye data field present + * from the &struct nvme_phy_rx_eom_log.odp field. + * @NVME_EOM_ODP_RSVD_SHIFT: Shift amount to get the reserved optional data present + * from the &struct nvme_phy_rx_eom_log.odp field. + * @NVME_EOM_ODP_PEFP_MASK: Mask to get the printable eye field present + * from the &struct nvme_phy_rx_eom_log.odp field. + * @NVME_EOM_ODP_EDFP_MASK: Mask to get the eye data field present + * from the &struct nvme_phy_rx_eom_log.odp field. + * @NVME_EOM_ODP_RSVD_MASK: Mask to get the reserved data present + * from the &struct nvme_phy_rx_eom_log.odp field. + */ +enum nvme_eom_optional_data_present { + NVME_EOM_ODP_PEFP_SHIFT = 0, + NVME_EOM_ODP_EDFP_SHIFT = 1, + NVME_EOM_ODP_RSVD_SHIFT = 2, + NVME_EOM_ODP_PEFP_MASK = 0x1, + NVME_EOM_ODP_EDFP_MASK = 0x1, + NVME_EOM_ODP_RSVD_MASK = 0x3f, +}; + +#define NVME_EOM_ODP_PEFP(odp) NVME_GET(odp, EOM_ODP_PEFP) +#define NVME_EOM_ODP_EDFP(odp) NVME_GET(odp, EOM_ODP_EDFP) +#define NVME_EOM_ODP_RSVD(odp) NVME_GET(odp, EOM_ODP_RSVD) + +/** + * enum nvme_eom_optional_data - EOM Optional Data Present Fields (Deprecated) * @NVME_EOM_PRINTABLE_EYE_PRESENT: Printable Eye Present + * @NVME_EOM_EYE_DATA_PRESENT: Eye Data Present */ enum nvme_eom_optional_data { - NVME_EOM_EYE_DATA_PRESENT = 1, - NVME_EOM_PRINTABLE_EYE_PRESENT = 1 << 1, + NVME_EOM_PRINTABLE_EYE_PRESENT = NVME_EOM_ODP_PEFP_MASK << NVME_EOM_ODP_PEFP_SHIFT, + NVME_EOM_EYE_DATA_PRESENT = NVME_EOM_ODP_EDFP_MASK << NVME_EOM_ODP_EDFP_SHIFT, }; /** @@ -6917,6 +7496,7 @@ enum nvme_identify_cns { * @NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST: Supported Capacity Configuration Lis * @NVME_LOG_LID_FID_SUPPORTED_EFFECTS: Feature Identifiers Supported and Effects * @NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS: NVMe-MI Commands Supported and Effects + * @NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN: Command and Feature Lockdown * @NVME_LOG_LID_BOOT_PARTITION: Boot Partition * @NVME_LOG_LID_PHY_RX_EOM: Physical Interface Receiver Eye Opening Measurement * @NVME_LOG_LID_FDP_CONFIGS: FDP Configurations @@ -6949,6 +7529,7 @@ enum nvme_cmd_get_log_lid { NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST = 0x11, NVME_LOG_LID_FID_SUPPORTED_EFFECTS = 0x12, NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS = 0x13, + NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN = 0x14, NVME_LOG_LID_BOOT_PARTITION = 0x15, NVME_LOG_LID_PHY_RX_EOM = 0x19, NVME_LOG_LID_FDP_CONFIGS = 0x20, diff --git a/src/nvme/util.c b/src/nvme/util.c index f091da7..7404509 100644 --- a/src/nvme/util.c +++ b/src/nvme/util.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -619,6 +620,7 @@ static const char * const libnvme_status[] = { [ENVME_CONNECT_OPNOTSUPP] = "not supported", [ENVME_CONNECT_CONNREFUSED] = "connection refused", [ENVME_CONNECT_ADDRNOTAVAIL] = "cannot assign requested address", + [ENVME_CONNECT_IGNORED] = "connection ignored", }; const char *nvme_errno_to_string(int status) @@ -1135,3 +1137,17 @@ void *__nvme_alloc(size_t len) memset(p, 0, _len); return p; } + +void *__nvme_realloc(void *p, size_t len) +{ + size_t old_len = malloc_usable_size(p); + + void *result = __nvme_alloc(len); + + if (p) { + memcpy(result, p, min(old_len, len)); + free(p); + } + + return result; +} diff --git a/src/nvme/util.h b/src/nvme/util.h index 517c696..71fea9f 100644 --- a/src/nvme/util.h +++ b/src/nvme/util.h @@ -483,7 +483,7 @@ static inline void nvme_feature_decode_namespace_write_protect(__u32 value, static inline void nvme_id_ns_flbas_to_lbaf_inuse(__u8 flbas, __u8 *lbaf_inuse) { - *lbaf_inuse = ((NVME_FLBAS_HIGHER(flbas) >> 1) | + *lbaf_inuse = ((NVME_FLBAS_HIGHER(flbas) << 4) | NVME_FLBAS_LOWER(flbas)); } @@ -558,6 +558,8 @@ char *kv_keymatch(const char *kv, const char *key); */ char *startswith(const char *s, const char *prefix); +#define min(x, y) ((x) > (y) ? (y) : (x)) + #define __round_mask(val, mult) ((__typeof__(val))((mult)-1)) /** diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery new file mode 100644 index 0000000..7d44d92 --- /dev/null +++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery @@ -0,0 +1,312 @@ +raw_nbft_size=4147 +host.id=44454c4c44010448030b8c04f445833 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:4c4c4544-0044-4410-8030-b8c04f445833 +host.host_id_configured=1 +host.host_nqn_configured=1 +host.primary=0 +hfi_list[0]->index=1 +hfi_list[0]->transport=tcp +hfi_list[0]->tcp_info.pci_sbdf=27136 +hfi_list[0]->tcp_info.mac_addr=062bcbeb70 +hfi_list[0]->tcp_info.vlan=0 +hfi_list[0]->tcp_info.ip_origin=95 +hfi_list[0]->tcp_info.ipaddr=172.18.240.1 +hfi_list[0]->tcp_info.subnet_mask_prefix=24 +hfi_list[0]->tcp_info.gateway_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.route_metric=500 +hfi_list[0]->tcp_info.primary_dns_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.secondary_dns_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.dhcp_server_ipaddr= +hfi_list[0]->tcp_info.host_name=(null) +hfi_list[0]->tcp_info.this_hfi_is_default_route=1 +hfi_list[0]->tcp_info.dhcp_override=0 +hfi_list[1]->index=2 +hfi_list[1]->transport=tcp +hfi_list[1]->tcp_info.pci_sbdf=27137 +hfi_list[1]->tcp_info.mac_addr=062bcbeb71 +hfi_list[1]->tcp_info.vlan=0 +hfi_list[1]->tcp_info.ip_origin=95 +hfi_list[1]->tcp_info.ipaddr=172.18.230.2 +hfi_list[1]->tcp_info.subnet_mask_prefix=24 +hfi_list[1]->tcp_info.gateway_ipaddr=0.0.0.0 +hfi_list[1]->tcp_info.route_metric=500 +hfi_list[1]->tcp_info.primary_dns_ipaddr=0.0.0.0 +hfi_list[1]->tcp_info.secondary_dns_ipaddr=0.0.0.0 +hfi_list[1]->tcp_info.dhcp_server_ipaddr= +hfi_list[1]->tcp_info.host_name=(null) +hfi_list[1]->tcp_info.this_hfi_is_default_route=1 +hfi_list[1]->tcp_info.dhcp_override=0 +discovery_list[0]->index=1 +discovery_list[0]->hfi->index=1 +discovery_list[0]->uri=nvme+tcp://172.18.240.70:8009/ +discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery +discovery_list[1]->index=2 +discovery_list[1]->hfi->index=2 +discovery_list[1]->uri=nvme+tcp://172.18.230.70:8009/ +discovery_list[1]->nqn=nqn.2014-08.org.nvmexpress.discovery +subsystem_ns_list[0]->index=1 +subsystem_ns_list[0]->discovery->index=1 +subsystem_ns_list[0]->num_hfis=1 +subsystem_ns_list[0]->hfis[0]->index=1 +subsystem_ns_list[0]->transport=tcp +subsystem_ns_list[0]->traddr=172.18.240.60 +subsystem_ns_list[0]->trsvcid=4420 +subsystem_ns_list[0]->subsys_port_id=0 +subsystem_ns_list[0]->nsid=270 +subsystem_ns_list[0]->nid_type=2 +subsystem_ns_list[0]->nid=5380b42fc0c5de718ccf9680be3ca7 +subsystem_ns_list[0]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[0]->pdu_header_digest_required=0 +subsystem_ns_list[0]->data_digest_required=0 +subsystem_ns_list[0]->controller_id=4186 +subsystem_ns_list[0]->asqsz=0 +subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=1 +subsystem_ns_list[0]->unavailable=0 +subsystem_ns_list[1]->index=2 +subsystem_ns_list[1]->discovery->index=1 +subsystem_ns_list[1]->num_hfis=1 +subsystem_ns_list[1]->hfis[0]->index=1 +subsystem_ns_list[1]->transport=tcp +subsystem_ns_list[1]->traddr=172.18.240.60 +subsystem_ns_list[1]->trsvcid=4420 +subsystem_ns_list[1]->subsys_port_id=0 +subsystem_ns_list[1]->nsid=1671 +subsystem_ns_list[1]->nid_type=2 +subsystem_ns_list[1]->nid=f4c66fce74afdb8ccf96807eaeae +subsystem_ns_list[1]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[1]->pdu_header_digest_required=0 +subsystem_ns_list[1]->data_digest_required=0 +subsystem_ns_list[1]->controller_id=4186 +subsystem_ns_list[1]->asqsz=0 +subsystem_ns_list[1]->dhcp_root_path_string=(null) +subsystem_ns_list[1]->discovered=1 +subsystem_ns_list[1]->unavailable=0 +subsystem_ns_list[2]->index=3 +subsystem_ns_list[2]->discovery->index=1 +subsystem_ns_list[2]->num_hfis=1 +subsystem_ns_list[2]->hfis[0]->index=1 +subsystem_ns_list[2]->transport=tcp +subsystem_ns_list[2]->traddr=172.18.240.61 +subsystem_ns_list[2]->trsvcid=4420 +subsystem_ns_list[2]->subsys_port_id=0 +subsystem_ns_list[2]->nsid=270 +subsystem_ns_list[2]->nid_type=2 +subsystem_ns_list[2]->nid=5380b42fc0c5de718ccf9680be3ca7 +subsystem_ns_list[2]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[2]->pdu_header_digest_required=0 +subsystem_ns_list[2]->data_digest_required=0 +subsystem_ns_list[2]->controller_id=52 +subsystem_ns_list[2]->asqsz=0 +subsystem_ns_list[2]->dhcp_root_path_string=(null) +subsystem_ns_list[2]->discovered=1 +subsystem_ns_list[2]->unavailable=0 +subsystem_ns_list[3]->index=4 +subsystem_ns_list[3]->discovery->index=1 +subsystem_ns_list[3]->num_hfis=1 +subsystem_ns_list[3]->hfis[0]->index=1 +subsystem_ns_list[3]->transport=tcp +subsystem_ns_list[3]->traddr=172.18.240.61 +subsystem_ns_list[3]->trsvcid=4420 +subsystem_ns_list[3]->subsys_port_id=0 +subsystem_ns_list[3]->nsid=1671 +subsystem_ns_list[3]->nid_type=2 +subsystem_ns_list[3]->nid=f4c66fce74afdb8ccf96807eaeae +subsystem_ns_list[3]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[3]->pdu_header_digest_required=0 +subsystem_ns_list[3]->data_digest_required=0 +subsystem_ns_list[3]->controller_id=52 +subsystem_ns_list[3]->asqsz=0 +subsystem_ns_list[3]->dhcp_root_path_string=(null) +subsystem_ns_list[3]->discovered=1 +subsystem_ns_list[3]->unavailable=0 +subsystem_ns_list[4]->index=5 +subsystem_ns_list[4]->discovery->index=1 +subsystem_ns_list[4]->num_hfis=1 +subsystem_ns_list[4]->hfis[0]->index=1 +subsystem_ns_list[4]->transport=tcp +subsystem_ns_list[4]->traddr=172.18.240.51 +subsystem_ns_list[4]->trsvcid=4420 +subsystem_ns_list[4]->subsys_port_id=0 +subsystem_ns_list[4]->nsid=1 +subsystem_ns_list[4]->nid_type=3 +subsystem_ns_list[4]->nid=6be5e52f7fa24d57805b8cdce240e4c +subsystem_ns_list[4]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[4]->pdu_header_digest_required=0 +subsystem_ns_list[4]->data_digest_required=0 +subsystem_ns_list[4]->controller_id=6209 +subsystem_ns_list[4]->asqsz=0 +subsystem_ns_list[4]->dhcp_root_path_string=(null) +subsystem_ns_list[4]->discovered=1 +subsystem_ns_list[4]->unavailable=0 +subsystem_ns_list[5]->index=6 +subsystem_ns_list[5]->discovery->index=1 +subsystem_ns_list[5]->num_hfis=1 +subsystem_ns_list[5]->hfis[0]->index=1 +subsystem_ns_list[5]->transport=tcp +subsystem_ns_list[5]->traddr=172.18.240.50 +subsystem_ns_list[5]->trsvcid=4420 +subsystem_ns_list[5]->subsys_port_id=0 +subsystem_ns_list[5]->nsid=1 +subsystem_ns_list[5]->nid_type=3 +subsystem_ns_list[5]->nid=6be5e52f7fa24d57805b8cdce240e4c +subsystem_ns_list[5]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[5]->pdu_header_digest_required=0 +subsystem_ns_list[5]->data_digest_required=0 +subsystem_ns_list[5]->controller_id=6208 +subsystem_ns_list[5]->asqsz=0 +subsystem_ns_list[5]->dhcp_root_path_string=(null) +subsystem_ns_list[5]->discovered=1 +subsystem_ns_list[5]->unavailable=0 +subsystem_ns_list[6]->index=7 +subsystem_ns_list[6]->discovery->index=1 +subsystem_ns_list[6]->num_hfis=1 +subsystem_ns_list[6]->hfis[0]->index=1 +subsystem_ns_list[6]->transport=tcp +subsystem_ns_list[6]->traddr=172.18.230.51 +subsystem_ns_list[6]->trsvcid=4420 +subsystem_ns_list[6]->subsys_port_id=0 +subsystem_ns_list[6]->nsid=0 +subsystem_ns_list[6]->nid_type=0 +subsystem_ns_list[6]->nid=0000000000000000 +subsystem_ns_list[6]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[6]->pdu_header_digest_required=0 +subsystem_ns_list[6]->data_digest_required=0 +subsystem_ns_list[6]->controller_id=6208 +subsystem_ns_list[6]->asqsz=0 +subsystem_ns_list[6]->dhcp_root_path_string=(null) +subsystem_ns_list[6]->discovered=1 +subsystem_ns_list[6]->unavailable=1 +subsystem_ns_list[7]->index=8 +subsystem_ns_list[7]->discovery->index=1 +subsystem_ns_list[7]->num_hfis=1 +subsystem_ns_list[7]->hfis[0]->index=1 +subsystem_ns_list[7]->transport=tcp +subsystem_ns_list[7]->traddr=172.18.230.50 +subsystem_ns_list[7]->trsvcid=4420 +subsystem_ns_list[7]->subsys_port_id=0 +subsystem_ns_list[7]->nsid=0 +subsystem_ns_list[7]->nid_type=0 +subsystem_ns_list[7]->nid=0000000000000000 +subsystem_ns_list[7]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[7]->pdu_header_digest_required=0 +subsystem_ns_list[7]->data_digest_required=0 +subsystem_ns_list[7]->controller_id=6208 +subsystem_ns_list[7]->asqsz=0 +subsystem_ns_list[7]->dhcp_root_path_string=(null) +subsystem_ns_list[7]->discovered=1 +subsystem_ns_list[7]->unavailable=1 +subsystem_ns_list[8]->index=9 +subsystem_ns_list[8]->discovery->index=2 +subsystem_ns_list[8]->num_hfis=1 +subsystem_ns_list[8]->hfis[0]->index=2 +subsystem_ns_list[8]->transport=tcp +subsystem_ns_list[8]->traddr=172.18.230.61 +subsystem_ns_list[8]->trsvcid=4420 +subsystem_ns_list[8]->subsys_port_id=0 +subsystem_ns_list[8]->nsid=270 +subsystem_ns_list[8]->nid_type=2 +subsystem_ns_list[8]->nid=5380b42fc0c5de718ccf9680be3ca7 +subsystem_ns_list[8]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[8]->pdu_header_digest_required=0 +subsystem_ns_list[8]->data_digest_required=0 +subsystem_ns_list[8]->controller_id=51 +subsystem_ns_list[8]->asqsz=0 +subsystem_ns_list[8]->dhcp_root_path_string=(null) +subsystem_ns_list[8]->discovered=1 +subsystem_ns_list[8]->unavailable=0 +subsystem_ns_list[9]->index=10 +subsystem_ns_list[9]->discovery->index=2 +subsystem_ns_list[9]->num_hfis=1 +subsystem_ns_list[9]->hfis[0]->index=2 +subsystem_ns_list[9]->transport=tcp +subsystem_ns_list[9]->traddr=172.18.230.61 +subsystem_ns_list[9]->trsvcid=4420 +subsystem_ns_list[9]->subsys_port_id=0 +subsystem_ns_list[9]->nsid=1671 +subsystem_ns_list[9]->nid_type=2 +subsystem_ns_list[9]->nid=f4c66fce74afdb8ccf96807eaeae +subsystem_ns_list[9]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[9]->pdu_header_digest_required=0 +subsystem_ns_list[9]->data_digest_required=0 +subsystem_ns_list[9]->controller_id=51 +subsystem_ns_list[9]->asqsz=0 +subsystem_ns_list[9]->dhcp_root_path_string=(null) +subsystem_ns_list[9]->discovered=1 +subsystem_ns_list[9]->unavailable=0 +subsystem_ns_list[10]->index=11 +subsystem_ns_list[10]->discovery->index=2 +subsystem_ns_list[10]->num_hfis=1 +subsystem_ns_list[10]->hfis[0]->index=2 +subsystem_ns_list[10]->transport=tcp +subsystem_ns_list[10]->traddr=172.18.230.60 +subsystem_ns_list[10]->trsvcid=4420 +subsystem_ns_list[10]->subsys_port_id=0 +subsystem_ns_list[10]->nsid=270 +subsystem_ns_list[10]->nid_type=2 +subsystem_ns_list[10]->nid=5380b42fc0c5de718ccf9680be3ca7 +subsystem_ns_list[10]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[10]->pdu_header_digest_required=0 +subsystem_ns_list[10]->data_digest_required=0 +subsystem_ns_list[10]->controller_id=4185 +subsystem_ns_list[10]->asqsz=0 +subsystem_ns_list[10]->dhcp_root_path_string=(null) +subsystem_ns_list[10]->discovered=1 +subsystem_ns_list[10]->unavailable=0 +subsystem_ns_list[11]->index=12 +subsystem_ns_list[11]->discovery->index=2 +subsystem_ns_list[11]->num_hfis=1 +subsystem_ns_list[11]->hfis[0]->index=2 +subsystem_ns_list[11]->transport=tcp +subsystem_ns_list[11]->traddr=172.18.230.60 +subsystem_ns_list[11]->trsvcid=4420 +subsystem_ns_list[11]->subsys_port_id=0 +subsystem_ns_list[11]->nsid=1671 +subsystem_ns_list[11]->nid_type=2 +subsystem_ns_list[11]->nid=f4c66fce74afdb8ccf96807eaeae +subsystem_ns_list[11]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94 +subsystem_ns_list[11]->pdu_header_digest_required=0 +subsystem_ns_list[11]->data_digest_required=0 +subsystem_ns_list[11]->controller_id=4185 +subsystem_ns_list[11]->asqsz=0 +subsystem_ns_list[11]->dhcp_root_path_string=(null) +subsystem_ns_list[11]->discovered=1 +subsystem_ns_list[11]->unavailable=0 +subsystem_ns_list[12]->index=13 +subsystem_ns_list[12]->discovery->index=2 +subsystem_ns_list[12]->num_hfis=1 +subsystem_ns_list[12]->hfis[0]->index=2 +subsystem_ns_list[12]->transport=tcp +subsystem_ns_list[12]->traddr=172.18.230.51 +subsystem_ns_list[12]->trsvcid=4420 +subsystem_ns_list[12]->subsys_port_id=0 +subsystem_ns_list[12]->nsid=1 +subsystem_ns_list[12]->nid_type=3 +subsystem_ns_list[12]->nid=6be5e52f7fa24d57805b8cdce240e4c +subsystem_ns_list[12]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[12]->pdu_header_digest_required=0 +subsystem_ns_list[12]->data_digest_required=0 +subsystem_ns_list[12]->controller_id=6273 +subsystem_ns_list[12]->asqsz=0 +subsystem_ns_list[12]->dhcp_root_path_string=(null) +subsystem_ns_list[12]->discovered=1 +subsystem_ns_list[12]->unavailable=0 +subsystem_ns_list[13]->index=14 +subsystem_ns_list[13]->discovery->index=2 +subsystem_ns_list[13]->num_hfis=1 +subsystem_ns_list[13]->hfis[0]->index=2 +subsystem_ns_list[13]->transport=tcp +subsystem_ns_list[13]->traddr=172.18.230.50 +subsystem_ns_list[13]->trsvcid=4420 +subsystem_ns_list[13]->subsys_port_id=0 +subsystem_ns_list[13]->nsid=1 +subsystem_ns_list[13]->nid_type=3 +subsystem_ns_list[13]->nid=6be5e52f7fa24d57805b8cdce240e4c +subsystem_ns_list[13]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660 +subsystem_ns_list[13]->pdu_header_digest_required=0 +subsystem_ns_list[13]->data_digest_required=0 +subsystem_ns_list[13]->controller_id=6272 +subsystem_ns_list[13]->asqsz=0 +subsystem_ns_list[13]->dhcp_root_path_string=(null) +subsystem_ns_list[13]->discovered=1 +subsystem_ns_list[13]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single index 72a34de..17631fb 100644 --- a/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single +++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single @@ -36,6 +36,8 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=4105 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 subsystem_ns_list[1]->index=2 subsystem_ns_list[1]->num_hfis=1 subsystem_ns_list[1]->hfis[0]->index=1 @@ -52,3 +54,5 @@ subsystem_ns_list[1]->data_digest_required=0 subsystem_ns_list[1]->controller_id=4105 subsystem_ns_list[1]->asqsz=0 subsystem_ns_list[1]->dhcp_root_path_string=(null) +subsystem_ns_list[1]->discovered=0 +subsystem_ns_list[1]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 index d7fab3f..5bb854c 100644 --- a/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 +++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 @@ -41,6 +41,8 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=5 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=1 +subsystem_ns_list[0]->unavailable=0 subsystem_ns_list[1]->index=2 subsystem_ns_list[1]->discovery->index=1 subsystem_ns_list[1]->num_hfis=1 @@ -58,3 +60,5 @@ subsystem_ns_list[1]->data_digest_required=0 subsystem_ns_list[1]->controller_id=4166 subsystem_ns_list[1]->asqsz=0 subsystem_ns_list[1]->dhcp_root_path_string=(null) +subsystem_ns_list[1]->discovered=1 +subsystem_ns_list[1]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-auto-ipv6 b/test/nbft/diffs/NBFT-auto-ipv6 index 83ee643..4e19830 100644 --- a/test/nbft/diffs/NBFT-auto-ipv6 +++ b/test/nbft/diffs/NBFT-auto-ipv6 @@ -36,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=1 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-dhcp-ipv4 b/test/nbft/diffs/NBFT-dhcp-ipv4 index 067079d..4c9c61c 100644 --- a/test/nbft/diffs/NBFT-dhcp-ipv4 +++ b/test/nbft/diffs/NBFT-dhcp-ipv4 @@ -41,3 +41,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=7 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=1 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-dhcp-ipv6 b/test/nbft/diffs/NBFT-dhcp-ipv6 index 11c974f..27c54fd 100644 --- a/test/nbft/diffs/NBFT-dhcp-ipv6 +++ b/test/nbft/diffs/NBFT-dhcp-ipv6 @@ -36,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=34 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half b/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half new file mode 100644 index 0000000..1e1d678 --- /dev/null +++ b/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half @@ -0,0 +1,141 @@ +raw_nbft_size=1922 +host.id=12345678abcdabcdabcd123456789012 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-abcd-abcd-abcd-123456789012 +host.host_id_configured=1 +host.host_nqn_configured=1 +host.primary=0 +hfi_list[0]->index=1 +hfi_list[0]->transport=tcp +hfi_list[0]->tcp_info.pci_sbdf=24 +hfi_list[0]->tcp_info.mac_addr=5254072c5ae +hfi_list[0]->tcp_info.vlan=0 +hfi_list[0]->tcp_info.ip_origin=1 +hfi_list[0]->tcp_info.ipaddr=192.168.122.158 +hfi_list[0]->tcp_info.subnet_mask_prefix=24 +hfi_list[0]->tcp_info.gateway_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.route_metric=0 +hfi_list[0]->tcp_info.primary_dns_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.secondary_dns_ipaddr=0.0.0.0 +hfi_list[0]->tcp_info.dhcp_server_ipaddr= +hfi_list[0]->tcp_info.host_name=(null) +hfi_list[0]->tcp_info.this_hfi_is_default_route=1 +hfi_list[0]->tcp_info.dhcp_override=0 +hfi_list[1]->index=2 +hfi_list[1]->transport=tcp +hfi_list[1]->tcp_info.pci_sbdf=32 +hfi_list[1]->tcp_info.mac_addr=5254072c5af +hfi_list[1]->tcp_info.vlan=0 +hfi_list[1]->tcp_info.ip_origin=1 +hfi_list[1]->tcp_info.ipaddr=4321::bbbb:2 +hfi_list[1]->tcp_info.subnet_mask_prefix=0 +hfi_list[1]->tcp_info.gateway_ipaddr=:: +hfi_list[1]->tcp_info.route_metric=0 +hfi_list[1]->tcp_info.primary_dns_ipaddr=:: +hfi_list[1]->tcp_info.secondary_dns_ipaddr=:: +hfi_list[1]->tcp_info.dhcp_server_ipaddr= +hfi_list[1]->tcp_info.host_name=(null) +hfi_list[1]->tcp_info.this_hfi_is_default_route=1 +hfi_list[1]->tcp_info.dhcp_override=0 +discovery_list[0]->index=1 +discovery_list[0]->hfi->index=1 +discovery_list[0]->uri=nvme+tcp://192.168.122.1:4420/ +discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery +discovery_list[1]->index=2 +discovery_list[1]->hfi->index=2 +discovery_list[1]->uri=nvme+tcp://[4321::BBBB:1]:4420/ +discovery_list[1]->nqn=nqn.2014-08.org.nvmexpress.discovery +subsystem_ns_list[0]->index=1 +subsystem_ns_list[0]->discovery->index=1 +subsystem_ns_list[0]->num_hfis=1 +subsystem_ns_list[0]->hfis[0]->index=1 +subsystem_ns_list[0]->transport=tcp +subsystem_ns_list[0]->traddr=192.168.122.1 +subsystem_ns_list[0]->trsvcid=4420 +subsystem_ns_list[0]->subsys_port_id=0 +subsystem_ns_list[0]->nsid=123 +subsystem_ns_list[0]->nid_type=3 +subsystem_ns_list[0]->nid=d592cdf3ffffffff84123fcf7d99df27 +subsystem_ns_list[0]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target +subsystem_ns_list[0]->pdu_header_digest_required=0 +subsystem_ns_list[0]->data_digest_required=0 +subsystem_ns_list[0]->controller_id=0 +subsystem_ns_list[0]->asqsz=0 +subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=1 +subsystem_ns_list[0]->unavailable=0 +subsystem_ns_list[1]->index=2 +subsystem_ns_list[1]->discovery->index=1 +subsystem_ns_list[1]->num_hfis=1 +subsystem_ns_list[1]->hfis[0]->index=1 +subsystem_ns_list[1]->transport=tcp +subsystem_ns_list[1]->traddr=192.168.122.1 +subsystem_ns_list[1]->trsvcid=4420 +subsystem_ns_list[1]->subsys_port_id=0 +subsystem_ns_list[1]->nsid=201 +subsystem_ns_list[1]->nid_type=3 +subsystem_ns_list[1]->nid=9b9e1b6ea02c427fbdeb2a0be9cb945 +subsystem_ns_list[1]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target +subsystem_ns_list[1]->pdu_header_digest_required=0 +subsystem_ns_list[1]->data_digest_required=0 +subsystem_ns_list[1]->controller_id=0 +subsystem_ns_list[1]->asqsz=0 +subsystem_ns_list[1]->dhcp_root_path_string=(null) +subsystem_ns_list[1]->discovered=1 +subsystem_ns_list[1]->unavailable=0 +subsystem_ns_list[2]->index=3 +subsystem_ns_list[2]->discovery->index=1 +subsystem_ns_list[2]->num_hfis=1 +subsystem_ns_list[2]->hfis[0]->index=1 +subsystem_ns_list[2]->transport=tcp +subsystem_ns_list[2]->traddr=192.168.122.1 +subsystem_ns_list[2]->trsvcid=4420 +subsystem_ns_list[2]->subsys_port_id=0 +subsystem_ns_list[2]->nsid=202 +subsystem_ns_list[2]->nid_type=3 +subsystem_ns_list[2]->nid=5353d4e551a40f492a563231b833c5 +subsystem_ns_list[2]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target +subsystem_ns_list[2]->pdu_header_digest_required=0 +subsystem_ns_list[2]->data_digest_required=0 +subsystem_ns_list[2]->controller_id=0 +subsystem_ns_list[2]->asqsz=0 +subsystem_ns_list[2]->dhcp_root_path_string=(null) +subsystem_ns_list[2]->discovered=1 +subsystem_ns_list[2]->unavailable=0 +subsystem_ns_list[3]->index=4 +subsystem_ns_list[3]->discovery->index=1 +subsystem_ns_list[3]->num_hfis=1 +subsystem_ns_list[3]->hfis[0]->index=1 +subsystem_ns_list[3]->transport=tcp +subsystem_ns_list[3]->traddr=192.168.122.1 +subsystem_ns_list[3]->trsvcid=4420 +subsystem_ns_list[3]->subsys_port_id=0 +subsystem_ns_list[3]->nsid=203 +subsystem_ns_list[3]->nid_type=3 +subsystem_ns_list[3]->nid=fb13e6ffac2940c0a988cb1c17d39f4b +subsystem_ns_list[3]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target +subsystem_ns_list[3]->pdu_header_digest_required=0 +subsystem_ns_list[3]->data_digest_required=0 +subsystem_ns_list[3]->controller_id=0 +subsystem_ns_list[3]->asqsz=0 +subsystem_ns_list[3]->dhcp_root_path_string=(null) +subsystem_ns_list[3]->discovered=1 +subsystem_ns_list[3]->unavailable=0 +subsystem_ns_list[4]->index=5 +subsystem_ns_list[4]->discovery->index=2 +subsystem_ns_list[4]->num_hfis=1 +subsystem_ns_list[4]->hfis[0]->index=2 +subsystem_ns_list[4]->transport=tcp +subsystem_ns_list[4]->traddr=4321::bbbb:1 +subsystem_ns_list[4]->trsvcid=4420 +subsystem_ns_list[4]->subsys_port_id=0 +subsystem_ns_list[4]->nsid=0 +subsystem_ns_list[4]->nid_type=0 +subsystem_ns_list[4]->nid=0000000000000000 +subsystem_ns_list[4]->subsys_nqn=nqn.2014-08.org.nvmexpress.discovery +subsystem_ns_list[4]->pdu_header_digest_required=0 +subsystem_ns_list[4]->data_digest_required=0 +subsystem_ns_list[4]->controller_id=0 +subsystem_ns_list[4]->asqsz=0 +subsystem_ns_list[4]->dhcp_root_path_string=(null) +subsystem_ns_list[4]->discovered=1 +subsystem_ns_list[4]->unavailable=1 diff --git a/test/nbft/diffs/NBFT-rhpoc b/test/nbft/diffs/NBFT-rhpoc index d849b6e..027ea40 100644 --- a/test/nbft/diffs/NBFT-rhpoc +++ b/test/nbft/diffs/NBFT-rhpoc @@ -36,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=12 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-static-ipv4 b/test/nbft/diffs/NBFT-static-ipv4 index a6f3859..697d0e5 100644 --- a/test/nbft/diffs/NBFT-static-ipv4 +++ b/test/nbft/diffs/NBFT-static-ipv4 @@ -36,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=38 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-static-ipv4-discovery b/test/nbft/diffs/NBFT-static-ipv4-discovery index 5bf0e46..22473a0 100644 --- a/test/nbft/diffs/NBFT-static-ipv4-discovery +++ b/test/nbft/diffs/NBFT-static-ipv4-discovery @@ -41,3 +41,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=13 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=1 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/diffs/NBFT-static-ipv6 b/test/nbft/diffs/NBFT-static-ipv6 index c6ad844..12554f5 100644 --- a/test/nbft/diffs/NBFT-static-ipv6 +++ b/test/nbft/diffs/NBFT-static-ipv6 @@ -36,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0 subsystem_ns_list[0]->controller_id=9 subsystem_ns_list[0]->asqsz=0 subsystem_ns_list[0]->dhcp_root_path_string=(null) +subsystem_ns_list[0]->discovered=0 +subsystem_ns_list[0]->unavailable=0 diff --git a/test/nbft/meson.build b/test/nbft/meson.build index 919bf83..7882df6 100644 --- a/test/nbft/meson.build +++ b/test/nbft/meson.build @@ -19,7 +19,9 @@ tables = [ 'NBFT-static-ipv4-discovery', 'NBFT-static-ipv6', 'NBFT-Dell.PowerEdge.R760', - 'NBFT-Dell.PowerEdge.R660-fw1.5.5-single' + 'NBFT-Dell.PowerEdge.R660-fw1.5.5-single', + 'NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery', + 'NBFT-mpath+disc-ipv4+6_half' ] tables_bad = [ diff --git a/test/nbft/nbft-dump.c b/test/nbft/nbft-dump.c index 3ff5efa..5fb2f2e 100644 --- a/test/nbft/nbft-dump.c +++ b/test/nbft/nbft-dump.c @@ -96,6 +96,8 @@ static void print_nbft(struct nbft_info *table) printf("subsystem_ns_list[%u]->controller_id=%d\n", i, (*ssns)->controller_id); printf("subsystem_ns_list[%u]->asqsz=%d\n", i, (*ssns)->asqsz); printf("subsystem_ns_list[%u]->dhcp_root_path_string=%s\n", i, (*ssns)->dhcp_root_path_string); + printf("subsystem_ns_list[%u]->discovered=%d\n", i, (*ssns)->discovered); + printf("subsystem_ns_list[%u]->unavailable=%d\n", i, (*ssns)->unavailable); } } diff --git a/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery new file mode 100644 index 0000000..0fbb35c Binary files /dev/null and b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery differ diff --git a/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half b/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half new file mode 100644 index 0000000..13333b1 Binary files /dev/null and b/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half differ diff --git a/test/register.c b/test/register.c index 8a41628..1fb692b 100644 --- a/test/register.c +++ b/test/register.c @@ -79,10 +79,13 @@ void nvme_print_registers(void *regs) printf(" %-8s : %llx\n", "NSSRC", NVME_CAP_NSSRC(cap)); printf(" %-8s : %llx\n", "CSS", NVME_CAP_CSS(cap)); printf(" %-8s : %llx\n", "BPS", NVME_CAP_BPS(cap)); + printf(" %-8s : %llx\n", "CPS", NVME_CAP_CPS(cap)); printf(" %-8s : %llx\n", "MPSMIN", NVME_CAP_MPSMIN(cap)); printf(" %-8s : %llx\n", "MPSMAX", NVME_CAP_MPSMAX(cap)); - printf(" %-8s : %llx\n", "CMBS", NVME_CAP_CMBS(cap)); printf(" %-8s : %llx\n", "PMRS", NVME_CAP_PMRS(cap)); + printf(" %-8s : %llx\n", "CMBS", NVME_CAP_CMBS(cap)); + printf(" %-8s : %llx\n", "NSSS", NVME_CAP_NSSS(cap)); + printf(" %-8s : %llx\n", "CRMS", NVME_CAP_CRMS(cap)); printf("%-10s : %x\n", "VS", vs); printf(" %-8s : %x\n", "MJR", NVME_VS_TER(vs)); @@ -107,6 +110,7 @@ void nvme_print_registers(void *regs) printf(" %-8s : %x\n", "SHST", NVME_CSTS_SHST(csts)); printf(" %-8s : %x\n", "NSSRO", NVME_CSTS_NSSRO(csts)); printf(" %-8s : %x\n", "PP", NVME_CSTS_PP(csts)); + printf(" %-8s : %x\n", "ST", NVME_CSTS_ST(csts)); printf("%-10s : %x\n", "NSSR", nssr); @@ -162,7 +166,7 @@ void nvme_print_registers(void *regs) printf(" %-8s : %x\n", "WDS", NVME_PMRCAP_WDS(pmrcap)); printf(" %-8s : %x\n", "BIR", NVME_PMRCAP_BIR(pmrcap)); printf(" %-8s : %x\n", "PMRTU", NVME_PMRCAP_PMRTU(pmrcap)); - printf(" %-8s : %x\n", "PMRWMB", NVME_PMRCAP_PMRWMB(pmrcap)); + printf(" %-8s : %x\n", "PMRWBM", NVME_PMRCAP_PMRWBM(pmrcap)); printf(" %-8s : %x\n", "PMRTO", NVME_PMRCAP_PMRTO(pmrcap)); printf(" %-8s : %x\n", "CMSS", NVME_PMRCAP_CMSS(pmrcap)); diff --git a/test/sysfs/meson.build b/test/sysfs/meson.build index c004fc0..119fa97 100644 --- a/test/sysfs/meson.build +++ b/test/sysfs/meson.build @@ -5,25 +5,32 @@ # # Authors: Daniel Wagner +diff = find_program('diff', required : false) +if diff.found() + sysfs_tree_print = executable( + 'sysfs-tree-print', + ['sysfs.c'], + dependencies: libnvme_dep, + include_directories: [incdir], + ) -sysfs = executable( - 'test-sysfs', - ['sysfs.c'], - dependencies: libnvme_dep, - include_directories: [incdir, internal_incdir] -) + sysfs_files= [ + 'nvme-sysfs-tw-carbon-6.8.0-rc1+' + ] -sysfs_files= [ - 'nvme-sysfs-tw-carbon-6.8.0-rc1+' -] + sysfs_tree_diff = find_program('sysfs-tree-diff.sh') -setup = find_program('setup.sh') - -foreach t_file : sysfs_files - r = run_command(setup, files('data'/t_file + '.tar.xz'), meson.current_build_dir(), check: true) - i = r.stdout().strip() - e0 = 'LIBNVME_SYSFS_PATH=' + i - e1 = 'LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6' - e2 = 'LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6' - test('sysfs', sysfs, args : [ i, t_file + '.out', files('data'/t_file + '.out') ], env : [ e0, e1, e2 ]) -endforeach + foreach t_file : sysfs_files + test( + 'sysfs', + sysfs_tree_diff, + args : [ + meson.current_build_dir(), + sysfs_tree_print.full_path(), + files('data'/t_file + '.tar.xz'), + files('data'/t_file + '.out'), + ], + depends : sysfs_tree_print, + ) + endforeach +endif diff --git a/test/sysfs/setup.sh b/test/sysfs/setup.sh deleted file mode 100755 index 3437d4e..0000000 --- a/test/sysfs/setup.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: LGPL-2.1-or-later - -TARFILE=$1 -BASEDIR=$2 -TESTDIR="$BASEDIR/$(basename -s .tar.xz ${TARFILE})" - -mkdir -p "${TESTDIR}" -tar -x -f "${TARFILE}" -C "${TESTDIR}" || exit 1 - -echo "${TESTDIR}" diff --git a/test/sysfs/sysfs-tree-diff.sh b/test/sysfs/sysfs-tree-diff.sh new file mode 100644 index 0000000..dfe3cb3 --- /dev/null +++ b/test/sysfs/sysfs-tree-diff.sh @@ -0,0 +1,22 @@ +#!/bin/bash -e +# SPDX-License-Identifier: LGPL-2.1-or-later + +BUILD_DIR=$1 +SYSFS_TREE_PRINT=$2 +INPUT=$3 +EXPECTED_OUTPUT=$4 + +TEST_NAME="$(basename -s .tar.xz $INPUT)" +TEST_DIR="$BUILD_DIR/$TEST_NAME" +ACTUAL_OUTPUT="$TEST_DIR.out" + +rm -rf "$TEST_DIR" +mkdir "$TEST_DIR" +tar -x -f "$INPUT" -C "$TEST_DIR" + +LIBNVME_SYSFS_PATH="$TEST_DIR" \ +LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +"$SYSFS_TREE_PRINT" > "$ACTUAL_OUTPUT" + +diff -u "$EXPECTED_OUTPUT" "$ACTUAL_OUTPUT" diff --git a/test/sysfs/sysfs.c b/test/sysfs/sysfs.c index c2df178..06d0035 100644 --- a/test/sysfs/sysfs.c +++ b/test/sysfs/sysfs.c @@ -4,86 +4,21 @@ * Copyright (c) 2024 Daniel Wagner, SUSE LLC */ -#include "nvme/tree.h" #include -#include -#include -#include -#include -#include - -#include #include -#include -static bool test_sysfs(const char *path, const char *filename) +int main(int argc, char *argv[]) { - FILE *f; nvme_root_t r; - int err; - - f = fopen(filename, "w"); - if (!f) - return false; - r = nvme_create_root(f, LOG_ERR); + r = nvme_create_root(stdout, LOG_ERR); assert(r); - err = nvme_scan_topology(r, NULL, NULL); - if (!err) - nvme_dump_tree(r); - fprintf(f, "\n"); - - nvme_free_tree(r); - fclose(f); - - return err == 0; -} - -static bool compare_content(const char *filename1, const char *filename2) -{ - FILE *f1, *f2; - char c1, c2; - bool pass = false; - - f1 = fopen(filename1, "r"); - if (!f1) - return false; + assert(nvme_scan_topology(r, NULL, NULL) == 0); - f2 = fopen(filename2, "r"); - if (!f2) { - fclose(f1); - return false; - } + assert(nvme_dump_tree(r) == 0); + printf("\n"); - do { - c1 = getc(f1); - c2 = getc(f2); - if (c1 != c2) - goto out; - } while (c1 != EOF || c2 != EOF); - - if (c1 == c2) - pass = true; -out: - fclose(f1); - fclose(f2); - - return pass; -} - -int main(int argc, char *argv[]) -{ - bool pass = true; - - if (argc < 4) { - fprintf(stderr, "usage: test-sysfs SYSFS_DIR OUTPUT_FILE COMPARE_FILE\n"); - return EXIT_FAILURE; - } - - pass &= test_sysfs(argv[1], argv[2]); - pass &= compare_content(argv[2], argv[3]); - - exit(pass ? EXIT_SUCCESS : EXIT_FAILURE); + nvme_free_tree(r); } diff --git a/test/test-util.c b/test/test-util.c index 88a3f42..6bee89b 100644 --- a/test/test-util.c +++ b/test/test-util.c @@ -89,6 +89,58 @@ static bool test_ipaddrs_eq() { return test_success; } +static bool test_nvme_id_ns_flbas_to_lbaf_inuse() { + const __u8 flbas[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, + 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, + }; + const __u8 inuse[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + }; + __u8 test_in_use; + bool result, test_success = true; + + for (int i = 0; i < sizeof(flbas); i++) { + nvme_id_ns_flbas_to_lbaf_inuse(flbas[i], &test_in_use); + result = (test_in_use == inuse[i] ? true : false); + printf("flbas = 0x%02x, inuse = 0x%02x (expect = 0x%02x) %s\n", + flbas[i], test_in_use, inuse[i], + result ? "[PASS]" : "[FAIL]"); + if (!result) + test_success = false; + } + return test_success; +} + int main(int argc, char *argv[]) { int exit_val = EXIT_SUCCESS; bool pass; @@ -117,5 +169,11 @@ int main(int argc, char *argv[]) { if (!pass) exit_val = EXIT_FAILURE; + printf("\n------------------------------------------------------------------------------\n"); + pass = test_nvme_id_ns_flbas_to_lbaf_inuse(); + printf("nvme_id_ns_flbas_to_lbaf_inuse() %s\n", pass ? "[PASS]" : "[FAIL]"); + if (!pass) + exit_val = EXIT_FAILURE; + exit(exit_val); } -- cgit v1.2.3