From 9ae445a706d82696d98e0165467ede54b023b520 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 22 May 2025 12:57:21 +0200 Subject: [PATCH] Adding upstream version 1.14. Signed-off-by: Daniel Baumann --- .github/workflows/cleanup-python.yml | 35 + .github/workflows/release-python.yml | 64 +- .readthedocs.yaml | 6 +- Makefile | 9 +- 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 | 2 +- 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 | 2 +- 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 +- .../nvme_aggregate_endurance_group_event.2 | 2 +- .../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 | 2 +- doc/man/nvme_asq.2 | 2 +- doc/man/nvme_ave_discover_log.2 | 2 +- doc/man/nvme_ave_discover_log_entry.2 | 2 +- doc/man/nvme_ave_tr_record.2 | 2 +- doc/man/nvme_boot_partition.2 | 2 +- doc/man/nvme_boot_partition_info.2 | 2 +- doc/man/nvme_bpinfo.2 | 2 +- doc/man/nvme_bpmbl.2 | 2 +- doc/man/nvme_bprsel.2 | 2 +- doc/man/nvme_cap.2 | 2 +- doc/man/nvme_capacity_config_desc.2 | 2 +- doc/man/nvme_capacity_mgmt.2 | 2 +- doc/man/nvme_cc.2 | 2 +- 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 | 2 +- doc/man/nvme_cmbloc.2 | 2 +- doc/man/nvme_cmbmsc.2 | 2 +- doc/man/nvme_cmbsts.2 | 2 +- doc/man/nvme_cmbswtp.2 | 2 +- doc/man/nvme_cmbsz.2 | 2 +- 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 | 2 +- doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 | 2 +- doc/man/nvme_cmic.2 | 2 +- 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 | 2 +- doc/man/nvme_csi.2 | 2 +- doc/man/nvme_csts.2 | 2 +- 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_keyring.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_tls_key.2 | 2 +- doc/man/nvme_ctrl_get_tls_key_identity.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_keyring.2 | 2 +- doc/man/nvme_ctrl_set_persistent.2 | 2 +- doc/man/nvme_ctrl_set_tls_key.2 | 2 +- doc/man/nvme_ctrl_set_tls_key_identity.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 +- .../nvme_directive_recv_identify_parameters.2 | 2 +- doc/man/nvme_directive_recv_stream_allocate.2 | 2 +- .../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 +- ...directive_send_stream_release_identifier.2 | 2 +- ...e_directive_send_stream_release_resource.2 | 2 +- doc/man/nvme_directive_types.2 | 2 +- doc/man/nvme_disconnect_ctrl.2 | 2 +- .../nvme_dispersed_ns_participating_nss_log.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 | 2 +- doc/man/nvme_eom_optional_data_present.2 | 2 +- doc/man/nvme_err_status_field.2 | 2 +- doc/man/nvme_errno_to_string.2 | 2 +- doc/man/nvme_error_log_page.2 | 2 +- doc/man/nvme_export_tls_key.2 | 2 +- doc/man/nvme_export_tls_key_versioned.2 | 2 +- doc/man/nvme_fabrics_config.2 | 2 +- doc/man/nvme_fabrics_uri.2 | 2 +- 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 | 32 +- doc/man/nvme_feat_auto_pst.2 | 2 +- doc/man/nvme_feat_bpwp_state.2 | 36 + 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_perfc_attri.2 | 30 + doc/man/nvme_feat_perfc_r4karl.2 | 150 +++ 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 +- .../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 | 2 +- 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_free_uri.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_atomic.2 | 2 +- doc/man/nvme_get_ana_log_len.2 | 2 +- doc/man/nvme_get_ana_log_len_from_id_ctrl.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 +- .../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 +- ...esh.2 => nvme_get_features_temp_thresh2.2} | 15 +- 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_ave_discover.2 | 2 +- doc/man/nvme_get_log_boot_partition.2 | 2 +- doc/man/nvme_get_log_changed_alloc_ns_list.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 +- .../nvme_get_log_create_telemetry_host_mcda.2 | 2 +- doc/man/nvme_get_log_device_self_test.2 | 2 +- doc/man/nvme_get_log_discovery.2 | 2 +- ...e_get_log_dispersed_ns_participating_nss.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_host_discover.2 | 2 +- doc/man/nvme_get_log_lba_status.2 | 2 +- doc/man/nvme_get_log_lockdown.2 | 2 +- doc/man/nvme_get_log_media_unit_stat.2 | 2 +- doc/man/nvme_get_log_mgmt_addr_list.2 | 2 +- .../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_pull_model_ddc_req.2 | 2 +- .../nvme_get_log_reachability_associations.2 | 2 +- doc/man/nvme_get_log_reachability_groups.2 | 2 +- .../nvme_get_log_reclaim_unit_handle_usage.2 | 2 +- doc/man/nvme_get_log_reservation.2 | 2 +- doc/man/nvme_get_log_rotational_media_info.2 | 2 +- doc/man/nvme_get_log_sanitize.2 | 2 +- doc/man/nvme_get_log_smart.2 | 2 +- .../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 | 2 +- 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_discover_log.2 | 2 +- doc/man/nvme_host_ext_discover_log.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_bpcap.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_crcap.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_kpioc.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_nvm_lbamqf.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_plsi.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_trattr.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_iocs_iocsc.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 +- .../nvme_identify_independent_identify_ns.2 | 2 +- doc/man/nvme_identify_iocs.2 | 2 +- ...me_identify_iocs_ns_csi_user_data_format.2 | 2 +- doc/man/nvme_identify_ns.2 | 2 +- doc/man/nvme_identify_ns_csi.2 | 2 +- .../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 | 2 +- doc/man/nvme_import_tls_key_versioned.2 | 2 +- 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_default_logging.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_kv_opcode.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_cmpc.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_lm_cdq.2 | 2 +- doc/man/nvme_lm_cdq_fields.2 | 2 +- doc/man/nvme_lm_controller_state_data.2 | 2 +- .../nvme_lm_controller_state_data_header.2 | 2 +- doc/man/nvme_lm_ctrl_data_queue_fid.2 | 2 +- doc/man/nvme_lm_ctrl_data_queue_fid_data.2 | 2 +- doc/man/nvme_lm_io_completion_queue_data.2 | 2 +- doc/man/nvme_lm_io_submission_queue_data.2 | 2 +- doc/man/nvme_lm_migration_recv_fields.2 | 2 +- doc/man/nvme_lm_migration_send.2 | 2 +- doc/man/nvme_lm_migration_send_fields.2 | 2 +- doc/man/nvme_lm_nvme_controller_state_data.2 | 2 +- ...vme_lm_nvme_controller_state_data_header.2 | 2 +- doc/man/nvme_lm_queue_attributes.2 | 2 +- doc/man/nvme_lm_track_send.2 | 2 +- doc/man/nvme_lm_track_send_fields.2 | 2 +- doc/man/nvme_lockdown.2 | 2 +- doc/man/nvme_lockdown_log.2 | 2 +- doc/man/nvme_lockdown_log_contents.2 | 2 +- doc/man/nvme_lockdown_log_scope.2 | 2 +- doc/man/nvme_lockdown_scope_contents.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_mgmt_addr_desc.2 | 2 +- doc/man/nvme_mgmt_addr_list_log.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_ana_log_atomic.2 | 2 +- doc/man/nvme_mi_admin_get_endgid_log.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_ave_discover.2 | 2 +- .../nvme_mi_admin_get_log_boot_partition.2 | 2 +- ...e_mi_admin_get_log_changed_alloc_ns_list.2 | 2 +- .../nvme_mi_admin_get_log_changed_ns_list.2 | 2 +- doc/man/nvme_mi_admin_get_log_cmd_effects.2 | 2 +- ...e_mi_admin_get_log_create_telemetry_host.2 | 2 +- ...admin_get_log_create_telemetry_host_mcda.2 | 2 +- .../nvme_mi_admin_get_log_device_self_test.2 | 2 +- doc/man/nvme_mi_admin_get_log_discovery.2 | 2 +- ...n_get_log_dispersed_ns_participating_nss.2 | 2 +- .../nvme_mi_admin_get_log_endurance_group.2 | 2 +- .../nvme_mi_admin_get_log_endurance_grp_evt.2 | 2 +- doc/man/nvme_mi_admin_get_log_error.2 | 2 +- ...e_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_host_discover.2 | 2 +- doc/man/nvme_mi_admin_get_log_lba_status.2 | 2 +- doc/man/nvme_mi_admin_get_log_lockdown.2 | 2 +- .../nvme_mi_admin_get_log_media_unit_stat.2 | 2 +- .../nvme_mi_admin_get_log_mgmt_addr_list.2 | 2 +- ...i_admin_get_log_mi_cmd_supported_effects.2 | 2 +- doc/man/nvme_mi_admin_get_log_page.2 | 2 +- .../nvme_mi_admin_get_log_persistent_event.2 | 2 +- doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 | 2 +- ...e_mi_admin_get_log_predictable_lat_event.2 | 2 +- ..._mi_admin_get_log_predictable_lat_nvmset.2 | 2 +- ...nvme_mi_admin_get_log_pull_model_ddc_req.2 | 2 +- ..._admin_get_log_reachability_associations.2 | 2 +- ...vme_mi_admin_get_log_reachability_groups.2 | 2 +- doc/man/nvme_mi_admin_get_log_reservation.2 | 2 +- ...e_mi_admin_get_log_rotational_media_info.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 +- ...mi_admin_get_log_support_cap_config_list.2 | 2 +- ...vme_mi_admin_get_log_supported_log_pages.2 | 2 +- .../nvme_mi_admin_get_log_telemetry_ctrl.2 | 2 +- .../nvme_mi_admin_get_log_telemetry_host.2 | 2 +- .../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 +- .../nvme_mi_admin_identify_active_ns_list.2 | 2 +- doc/man/nvme_mi_admin_identify_allocated_ns.2 | 2 +- ...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 +- .../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 +- ...me_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_aem_aeei_get_aee.2 | 11 + doc/man/nvme_mi_aem_aeei_get_aeeid.2 | 11 + doc/man/nvme_mi_aem_aeei_set_aee.2 | 12 + doc/man/nvme_mi_aem_aeei_set_aeeid.2 | 12 + doc/man/nvme_mi_aem_aemti_get_aemgn.2 | 11 + doc/man/nvme_mi_aem_aeolli_get_aeoltl.2 | 11 + doc/man/nvme_mi_aem_aeolli_set_aeoltl.2 | 12 + doc/man/nvme_mi_aem_aesi_get_aese.2 | 11 + doc/man/nvme_mi_aem_aesi_get_aesid.2 | 11 + doc/man/nvme_mi_aem_aesi_set_aee.2 | 12 + doc/man/nvme_mi_aem_aesi_set_aesid.2 | 12 + doc/man/nvme_mi_aem_config.2 | 43 + doc/man/nvme_mi_aem_disable.2 | 11 + doc/man/nvme_mi_aem_enable.2 | 28 + doc/man/nvme_mi_aem_enable_item.2 | 19 + doc/man/nvme_mi_aem_enable_list.2 | 17 + doc/man/nvme_mi_aem_enable_list_header.2 | 27 + doc/man/nvme_mi_aem_get_enabled.2 | 14 + doc/man/nvme_mi_aem_get_fd.2 | 14 + doc/man/nvme_mi_aem_get_next_event.2 | 16 + doc/man/nvme_mi_aem_handler_next_action.2 | 20 + doc/man/nvme_mi_aem_msg.2 | 27 + doc/man/nvme_mi_aem_occ_data.2 | 42 + doc/man/nvme_mi_aem_occ_list_hdr.2 | 35 + doc/man/nvme_mi_aem_open.2 | 11 + doc/man/nvme_mi_aem_process.2 | 20 + doc/man/nvme_mi_aem_supported_item.2 | 22 + doc/man/nvme_mi_aem_supported_list.2 | 18 + doc/man/nvme_mi_aem_supported_list_header.2 | 29 + 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 | 11 +- doc/man/nvme_mi_config_smbus_freq.2 | 2 +- doc/man/nvme_mi_control.2 | 2 +- doc/man/nvme_mi_control_opcode.2 | 2 +- doc/man/nvme_mi_control_req.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_event.2 | 43 + doc/man/nvme_mi_free_root.2 | 2 +- doc/man/nvme_mi_init_ctrl.2 | 2 +- doc/man/nvme_mi_message_type.2 | 8 +- 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 +- .../nvme_mi_mi_subsystem_health_status_poll.2 | 2 +- doc/man/nvme_mi_mi_xfer.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 | 2 +- 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_id_ns_pif.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_parse_uri.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 | 2 +- doc/man/nvme_pel_ehai_pit.2 | 2 +- doc/man/nvme_pel_rci.2 | 2 +- doc/man/nvme_pel_rci_rcpit.2 | 2 +- doc/man/nvme_perf_attr_id.2 | 2 +- doc/man/nvme_perf_attr_id_list.2 | 2 +- doc/man/nvme_perf_characteristics.2 | 2 +- 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 | 2 +- doc/man/nvme_pmrctl.2 | 2 +- doc/man/nvme_pmrebs.2 | 2 +- doc/man/nvme_pmrmsc.2 | 2 +- doc/man/nvme_pmrsts.2 | 2 +- doc/man/nvme_pmrswtp.2 | 2 +- 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_pull_model_ddc_req_log.2 | 2 +- doc/man/nvme_reachability_association_desc.2 | 2 +- doc/man/nvme_reachability_associations_log.2 | 2 +- doc/man/nvme_reachability_group_desc.2 | 2 +- doc/man/nvme_reachability_groups_log.2 | 2 +- doc/man/nvme_read.2 | 2 +- doc/man/nvme_read_config.2 | 2 +- doc/man/nvme_read_key.2 | 2 +- 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_revoke_tls_key.2 | 2 +- doc/man/nvme_rotational_media_info_log.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_ssi.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 | 2 +- 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 | 2 +- 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 +- ...esh.2 => nvme_set_features_temp_thresh2.2} | 9 +- 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_std_perf_attr.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_fw_rev.2 | 2 +- doc/man/nvme_subsystem_get_host.2 | 2 +- doc/man/nvme_subsystem_get_iopolicy.2 | 2 +- doc/man/nvme_subsystem_get_model.2 | 2 +- doc/man/nvme_subsystem_get_name.2 | 2 +- doc/man/nvme_subsystem_get_nqn.2 | 2 +- doc/man/nvme_subsystem_get_serial.2 | 11 + 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 | 2 +- doc/man/nvme_unlink_ctrl.2 | 2 +- doc/man/nvme_update_config.2 | 2 +- doc/man/nvme_update_key.2 | 2 +- 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 | 2 +- doc/man/nvme_vs_perf_attr.2 | 2 +- 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_ctrl.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_hostid_generate.2 | 2 +- doc/man/nvmf_hostnqn_from_file.2 | 2 +- doc/man/nvmf_hostnqn_generate.2 | 2 +- doc/man/nvmf_hostnqn_generate_from_hostid.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/ioctl.rst | 60 ++ doc/rst/mi.rst | 823 +++++++++++++++- doc/rst/tree.rst | 14 + doc/rst/types.rst | 138 +++ examples/meson.build | 14 + examples/mi-mctp-ae.c | 181 ++++ examples/mi-mctp-csi-test.c | 252 +++++ meson.build | 33 +- pyproject.toml | 33 +- scripts/release.sh | 36 + src/libnvme-mi.map | 17 + src/libnvme.map | 10 + src/nvme/api-types.h | 8 +- src/nvme/fabrics.c | 2 +- src/nvme/ioctl.c | 51 +- src/nvme/ioctl.h | 31 + src/nvme/mi-mctp.c | 251 ++++- src/nvme/mi.c | 911 +++++++++++++++--- src/nvme/mi.h | 475 ++++++++- src/nvme/private.h | 26 +- src/nvme/tree.c | 5 + src/nvme/tree.h | 8 + src/nvme/types.h | 96 ++ src/nvme/util.c | 6 + src/nvme/util.h | 8 +- test/mi-mctp.c | 720 +++++++++++++- test/mi.c | 52 +- test/nbft/diffs/NBFT-empty | 6 + test/nbft/diffs/NBFT-ipv6-noip+disc | 45 + test/nbft/meson.build | 4 +- test/nbft/tables/NBFT-empty | Bin 0 -> 315 bytes test/nbft/tables/NBFT-ipv6-noip+disc | Bin 0 -> 785 bytes 1041 files changed, 6076 insertions(+), 1170 deletions(-) create mode 100644 .github/workflows/cleanup-python.yml create mode 100644 doc/man/nvme_feat_bpwp_state.2 create mode 100644 doc/man/nvme_feat_perfc_attri.2 create mode 100644 doc/man/nvme_feat_perfc_r4karl.2 copy doc/man/{nvme_set_features_temp_thresh.2 => nvme_get_features_temp_thresh2.2} (57%) create mode 100644 doc/man/nvme_mi_aem_aeei_get_aee.2 create mode 100644 doc/man/nvme_mi_aem_aeei_get_aeeid.2 create mode 100644 doc/man/nvme_mi_aem_aeei_set_aee.2 create mode 100644 doc/man/nvme_mi_aem_aeei_set_aeeid.2 create mode 100644 doc/man/nvme_mi_aem_aemti_get_aemgn.2 create mode 100644 doc/man/nvme_mi_aem_aeolli_get_aeoltl.2 create mode 100644 doc/man/nvme_mi_aem_aeolli_set_aeoltl.2 create mode 100644 doc/man/nvme_mi_aem_aesi_get_aese.2 create mode 100644 doc/man/nvme_mi_aem_aesi_get_aesid.2 create mode 100644 doc/man/nvme_mi_aem_aesi_set_aee.2 create mode 100644 doc/man/nvme_mi_aem_aesi_set_aesid.2 create mode 100644 doc/man/nvme_mi_aem_config.2 create mode 100644 doc/man/nvme_mi_aem_disable.2 create mode 100644 doc/man/nvme_mi_aem_enable.2 create mode 100644 doc/man/nvme_mi_aem_enable_item.2 create mode 100644 doc/man/nvme_mi_aem_enable_list.2 create mode 100644 doc/man/nvme_mi_aem_enable_list_header.2 create mode 100644 doc/man/nvme_mi_aem_get_enabled.2 create mode 100644 doc/man/nvme_mi_aem_get_fd.2 create mode 100644 doc/man/nvme_mi_aem_get_next_event.2 create mode 100644 doc/man/nvme_mi_aem_handler_next_action.2 create mode 100644 doc/man/nvme_mi_aem_msg.2 create mode 100644 doc/man/nvme_mi_aem_occ_data.2 create mode 100644 doc/man/nvme_mi_aem_occ_list_hdr.2 create mode 100644 doc/man/nvme_mi_aem_open.2 create mode 100644 doc/man/nvme_mi_aem_process.2 create mode 100644 doc/man/nvme_mi_aem_supported_item.2 create mode 100644 doc/man/nvme_mi_aem_supported_list.2 create mode 100644 doc/man/nvme_mi_aem_supported_list_header.2 create mode 100644 doc/man/nvme_mi_event.2 copy doc/man/{nvme_set_features_temp_thresh.2 => nvme_set_features_temp_thresh2.2} (67%) create mode 100644 doc/man/nvme_subsystem_get_serial.2 create mode 100644 examples/mi-mctp-ae.c create mode 100644 examples/mi-mctp-csi-test.c create mode 100644 test/nbft/diffs/NBFT-empty create mode 100644 test/nbft/diffs/NBFT-ipv6-noip+disc create mode 100644 test/nbft/tables/NBFT-empty create mode 100644 test/nbft/tables/NBFT-ipv6-noip+disc diff --git a/.github/workflows/cleanup-python.yml b/.github/workflows/cleanup-python.yml new file mode 100644 index 00000000..8df887a0 --- /dev/null +++ b/.github/workflows/cleanup-python.yml @@ -0,0 +1,35 @@ +name: cleanup python + +on: + workflow_dispatch: + inputs: + keep-last: + description: "How many recent dev releases to keep" + required: false + default: "5" + dry-run: + description: "Only simulate the deletion (true/false)" + required: false + default: "true" + +jobs: + cleanup: + runs-on: ubuntu-latest + environment: pypi + steps: + - name: Install pypi-cleanup + run: pip install pypi-cleanup + + - name: Run pypi-cleanup on TestPyPI + env: + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }} + run: | + pypi-cleanup \ + --username "$PYPI_USERNAME" \ + --password "$PYPI_PASSWORD" \ + --repository-url https://test.pypi.org/legacy/ \ + --package libnvme \ + --keep ${{ github.event.inputs.keep-last }} \ + --version-regex '.*\.dev[0-9]+' \ + $([ "${{ github.event.inputs.dry-run }}" == "true" ] && echo "--dry-run") diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 5fabd07a..9a1114f0 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -7,6 +7,10 @@ on: tags: - '**' workflow_dispatch: + inputs: + tag: + description: 'Tag to check out' + required: false jobs: build_sdist: @@ -20,28 +24,80 @@ jobs: - uses: actions/checkout@v4 - name: Allow workspace - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + run: | + git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Build sdist - run: pipx run build --sdist + run: | + pipx run build --sdist + + - name: Validate sdist + run: | + pipx run twine check dist/*.tar.gz - uses: actions/upload-artifact@v4 with: path: dist/*.tar.gz retention-days: 5 + build_test_sdist: + name: Build test source distribution + runs-on: ubuntu-latest + env: + PYTHON_VERSION: "3.10" + container: + image: ghcr.io/linux-nvme/debian.python:latest + steps: + - name: Check out repository (with tags) + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Required for `git describe` + + - name: Allow workspace + run: | + git config --global --add safe.directory "$GITHUB_WORKSPACE" + + - name: Compute dev version from git + id: version + run: | + TAG=$(git describe --tags --abbrev=0) + REV=$(git rev-list "$TAG"..HEAD --count) + BASE_VERSION="${TAG#v}" + VERSION="${BASE_VERSION}.dev${REV}" + echo "dev_version=$VERSION" >> $GITHUB_OUTPUT + echo "Computed dev version: $VERSION" + + - name: Patch version in meson.build + run: | + sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'${{ steps.version.outputs.dev_version }}\',/" meson.build + + - name: Build sdist + run: | + pipx run build --sdist + + - name: Validate sdist + run: | + pipx run twine check dist/*.tar.gz + + - uses: actions/upload-artifact@v4 + with: + name: test_pypi + path: dist/*.tar.gz + retention-days: 5 + upload_test_pypi: - needs: [build_sdist] + needs: [build_test_sdist] runs-on: ubuntu-latest env: PYTHON_VERSION: "3.10" environment: pypi permissions: id-token: write + if: github.repository == 'linux-nvme/libnvme' steps: - uses: actions/download-artifact@v4 with: - name: artifact + name: test_pypi path: dist - name: Publish package to TestPyPI diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 3505101e..53f8d2e0 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,7 +3,7 @@ version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: python: "3" apt_packages: @@ -16,8 +16,8 @@ build: post_install: - pip3 install lxml pre_build: - - meson .build -Ddocs=rst -Ddocs-build=true || cat .build/meson-logs/meson-log.txt - - ninja -C .build + - meson setup .build -Ddocs=rst -Ddocs-build=true || cat .build/meson-logs/meson-log.txt + - meson compile -C .build sphinx: configuration: .build/doc/conf.py diff --git a/Makefile b/Makefile index a7c3268d..4d9d6255 100644 --- a/Makefile +++ b/Makefile @@ -24,17 +24,14 @@ ${NAME}: ${BUILD-DIR} .PHONY: clean clean: -ifneq ("$(wildcard ${BUILD-DIR})","") - meson compile --clean -C ${BUILD-DIR} -endif - -.PHONY: purge -purge: ifneq ("$(wildcard ${BUILD-DIR})","") rm -rf ${BUILD-DIR} meson subprojects purge --confirm endif +.PHONY: purge +purge: clean + .PHONY: install install: ${NAME} meson install -C ${BUILD-DIR} --skip-subprojects diff --git a/doc/man/nbft_control.2 b/doc/man/nbft_control.2 index fd965723..717bd1c0 100644 --- a/doc/man/nbft_control.2 +++ b/doc/man/nbft_control.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_control" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_control" "May 2025" "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 95537184..d2d4f60e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_control_flags" "May 2025" "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 d98c8cc1..930cf86c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_desc_type" "May 2025" "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 243dc362..7271fa7a 100644 --- a/doc/man/nbft_discovery.2 +++ b/doc/man/nbft_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_discovery" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_discovery" "May 2025" "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 0edc9bd1..36e01243 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_discovery_flags" "May 2025" "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 e5e42a8d..615a9ce4 100644 --- a/doc/man/nbft_header.2 +++ b/doc/man/nbft_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_header" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_header" "May 2025" "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 6b57b017..df98ff79 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_heap_obj" "May 2025" "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 db4fb734..9e735c23 100644 --- a/doc/man/nbft_hfi.2 +++ b/doc/man/nbft_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi" "May 2025" "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 3975cef4..49659097 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_flags" "May 2025" "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 28d1cdb9..5157058d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "May 2025" "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 1fd03559..9347abd5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "May 2025" "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 a67dc2e3..3725ff84 100644 --- a/doc/man/nbft_host.2 +++ b/doc/man/nbft_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_host" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_host" "May 2025" "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 7f2bacc1..0682c46a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_host_flags" "May 2025" "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 8a6e42d2..54f88742 100644 --- a/doc/man/nbft_info.2 +++ b/doc/man/nbft_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info" "May 2025" "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 8b0c727d..0239aef8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_discovery" "May 2025" "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 bb614e47..baed36fb 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi" "May 2025" "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 ba978a27..7e4cee67 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "May 2025" "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 614b071b..904e75d5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_host" "May 2025" "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 f9e9473c..aa0ca527 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_nid_type" "May 2025" "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 ccfad975..edc72431 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "May 2025" "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 83d2d279..2c396fd9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_security" "May 2025" "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 15750fbc..36f5f671 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "May 2025" "API Manual" LINUX .SH NAME struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info .SH SYNOPSIS diff --git a/doc/man/nbft_security.2 b/doc/man/nbft_security.2 index 11c31053..755e1c59 100644 --- a/doc/man/nbft_security.2 +++ b/doc/man/nbft_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_security" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_security" "May 2025" "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 43c74a79..459427b6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_flags" "May 2025" "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 5c04d5d9..64dfe3db 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_secret_type" "May 2025" "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 8e5a2af7..aee2f65c 100644 --- a/doc/man/nbft_ssns.2 +++ b/doc/man/nbft_ssns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns" "May 2025" "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 0475dfa4..94d967ec 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns_ext_info" "May 2025" "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 0481ac1e..ef607de6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "May 2025" "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 de14acab..2536fc4f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_flags" "May 2025" "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 01ef4c42..361cf8f7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_trflags" "May 2025" "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 9f615557..96d8cd1f 100644 --- a/doc/man/nbft_trtype.2 +++ b/doc/man/nbft_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_trtype" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_trtype" "May 2025" "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 index 3b39c280..748a0435 100644 --- a/doc/man/nvme_acq.2 +++ b/doc/man/nvme_acq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_acq" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_acq" "May 2025" "API Manual" LINUX .SH NAME enum nvme_acq \- This field indicates the admin completion queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_admin_opcode.2 b/doc/man/nvme_admin_opcode.2 index d9c1727e..a0e30e2f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_admin_opcode" "May 2025" "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 6014bddf..d8d0fa47 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "May 2025" "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 c499fd6f..b2a583d7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "May 2025" "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 668f3f2d..9fd7471e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "May 2025" "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 1026d69a..272af692 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_error" "May 2025" "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 491b2818..55b5d6e8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_notice" "May 2025" "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 7100cc32..f96052d8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_smart" "May 2025" "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 24b713a1..6e1ad7ca 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_type" "May 2025" "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 b9902a12..2df873a7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "May 2025" "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 d24f1d37..4ae17171 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "May 2025" "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 f94ed93d..62ba55c2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_group_desc" "May 2025" "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 01e5a322..9002994b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_log" "May 2025" "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 94942937..4f320816 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ana_state" "May 2025" "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 65dd11eb..74652c6a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_apst_entry" "May 2025" "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 index e7cec33b..0ece696a 100644 --- a/doc/man/nvme_aqa.2 +++ b/doc/man/nvme_aqa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_aqa" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_aqa" "May 2025" "API Manual" LINUX .SH NAME enum nvme_aqa \- This field indicates the admin queue attributes .SH SYNOPSIS diff --git a/doc/man/nvme_asq.2 b/doc/man/nvme_asq.2 index b5200734..0cfc2055 100644 --- a/doc/man/nvme_asq.2 +++ b/doc/man/nvme_asq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_asq" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_asq" "May 2025" "API Manual" LINUX .SH NAME enum nvme_asq \- This field indicates the admin submission queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_ave_discover_log.2 b/doc/man/nvme_ave_discover_log.2 index 971587f1..1e3ef3e8 100644 --- a/doc/man/nvme_ave_discover_log.2 +++ b/doc/man/nvme_ave_discover_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ave_discover_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ave_discover_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_ave_discover_log \- AVE Discovery Log .SH SYNOPSIS diff --git a/doc/man/nvme_ave_discover_log_entry.2 b/doc/man/nvme_ave_discover_log_entry.2 index 9f14a5c2..00e0d5be 100644 --- a/doc/man/nvme_ave_discover_log_entry.2 +++ b/doc/man/nvme_ave_discover_log_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ave_discover_log_entry" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ave_discover_log_entry" "May 2025" "API Manual" LINUX .SH NAME struct nvme_ave_discover_log_entry \- AVE Discovery Log Entry .SH SYNOPSIS diff --git a/doc/man/nvme_ave_tr_record.2 b/doc/man/nvme_ave_tr_record.2 index 05d8dfb9..6171a4dd 100644 --- a/doc/man/nvme_ave_tr_record.2 +++ b/doc/man/nvme_ave_tr_record.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ave_tr_record" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ave_tr_record" "May 2025" "API Manual" LINUX .SH NAME struct nvme_ave_tr_record \- AVE Transport Record .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition.2 b/doc/man/nvme_boot_partition.2 index af535fb3..a17a42cb 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_boot_partition" "May 2025" "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 index d340e7c8..227f8016 100644 --- a/doc/man/nvme_boot_partition_info.2 +++ b/doc/man/nvme_boot_partition_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_boot_partition_info" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_boot_partition_info" "May 2025" "API Manual" LINUX .SH NAME enum nvme_boot_partition_info \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpinfo.2 b/doc/man/nvme_bpinfo.2 index 9428a594..d9a064f4 100644 --- a/doc/man/nvme_bpinfo.2 +++ b/doc/man/nvme_bpinfo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpinfo" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpinfo" "May 2025" "API Manual" LINUX .SH NAME enum nvme_bpinfo \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpmbl.2 b/doc/man/nvme_bpmbl.2 index 82de8436..610ebecd 100644 --- a/doc/man/nvme_bpmbl.2 +++ b/doc/man/nvme_bpmbl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpmbl" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpmbl" "May 2025" "API Manual" LINUX .SH NAME enum nvme_bpmbl \- This field indicates the boot partition memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_bprsel.2 b/doc/man/nvme_bprsel.2 index f7f9ff00..d4776265 100644 --- a/doc/man/nvme_bprsel.2 +++ b/doc/man/nvme_bprsel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bprsel" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bprsel" "May 2025" "API Manual" LINUX .SH NAME enum nvme_bprsel \- This field indicates the boot partition read select .SH SYNOPSIS diff --git a/doc/man/nvme_cap.2 b/doc/man/nvme_cap.2 index 0a3c6343..43bcc799 100644 --- a/doc/man/nvme_cap.2 +++ b/doc/man/nvme_cap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cap" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cap" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cap \- This field indicates the controller capabilities register .SH SYNOPSIS diff --git a/doc/man/nvme_capacity_config_desc.2 b/doc/man/nvme_capacity_config_desc.2 index 6e6f6c74..1ab7a153 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_capacity_config_desc" "May 2025" "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 99676f5b..89411275 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "May 2025" "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 index 16889250..c5f5bbbc 100644 --- a/doc/man/nvme_cc.2 +++ b/doc/man/nvme_cc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cc \- This field indicates the controller configuration .SH SYNOPSIS diff --git a/doc/man/nvme_change_ns_event.2 b/doc/man/nvme_change_ns_event.2 index 66118f2a..4b3b3b0e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_change_ns_event" "May 2025" "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 a660c52e..c181b6d4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_channel_config_desc" "May 2025" "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 37425be1..1e10e159 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_cmb_size" 9 "nvme_cmb_size" "May 2025" "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 index 8936dbf3..c38340cd 100644 --- a/doc/man/nvme_cmbebs.2 +++ b/doc/man/nvme_cmbebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbebs" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbebs" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbebs \- This field indicates the controller memory buffer elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmbloc.2 b/doc/man/nvme_cmbloc.2 index c7b6b971..fa847fc1 100644 --- a/doc/man/nvme_cmbloc.2 +++ b/doc/man/nvme_cmbloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbloc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbloc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbloc \- This field indicates the controller memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_cmbmsc.2 b/doc/man/nvme_cmbmsc.2 index 507b0fff..f0d30346 100644 --- a/doc/man/nvme_cmbmsc.2 +++ b/doc/man/nvme_cmbmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbmsc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbmsc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbmsc \- This field indicates the controller memory buffer memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsts.2 b/doc/man/nvme_cmbsts.2 index 2b583723..6852ccf8 100644 --- a/doc/man/nvme_cmbsts.2 +++ b/doc/man/nvme_cmbsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsts" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsts" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbsts \- This field indicates the controller memory buffer status .SH SYNOPSIS diff --git a/doc/man/nvme_cmbswtp.2 b/doc/man/nvme_cmbswtp.2 index 1c3eb98a..0e6e10fb 100644 --- a/doc/man/nvme_cmbswtp.2 +++ b/doc/man/nvme_cmbswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbswtp" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbswtp" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbswtp \- This field indicates the controller memory buffer sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsz.2 b/doc/man/nvme_cmbsz.2 index d3bcd5ed..4793f319 100644 --- a/doc/man/nvme_cmbsz.2 +++ b/doc/man/nvme_cmbsz.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsz" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsz" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmbsz \- This field indicates the controller memory buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_effects.2 b/doc/man/nvme_cmd_effects.2 index 3929d8ad..556cc3bd 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_effects" "May 2025" "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 54f47483..5a787b54 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_cmd_effects_log" "May 2025" "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 ce18fd45..23fc3e85 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_mset" "May 2025" "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 a8e3148c..05e32bc8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pi" "May 2025" "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 46c0e566..3d4637c3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pil" "May 2025" "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 266c67f0..0f936c3e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_ses" "May 2025" "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 5b3506fb..290c9c11 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 index b593ab93..b93a61b3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "May 2025" "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 index a0e06502..c606532a 100644 --- a/doc/man/nvme_cmic.2 +++ b/doc/man/nvme_cmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmic" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmic" "May 2025" "API Manual" LINUX .SH NAME enum nvme_cmic \- This field indicates the controller multi-path I/O and NS sharing capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_compare.2 b/doc/man/nvme_compare.2 index 8a07b2fa..0e0f9f7c 100644 --- a/doc/man/nvme_compare.2 +++ b/doc/man/nvme_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_compare" 9 "nvme_compare" "April 2025" "libnvme API manual" LINUX +.TH "nvme_compare" 9 "nvme_compare" "May 2025" "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 0e57f014..afeaf01a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_connect_err" "May 2025" "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 0287b597..73056d5f 100644 --- a/doc/man/nvme_constants.2 +++ b/doc/man/nvme_constants.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_constants" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_constants" "May 2025" "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 2dd4a342..b27b870b 100644 --- a/doc/man/nvme_copy.2 +++ b/doc/man/nvme_copy.2 @@ -1,4 +1,4 @@ -.TH "nvme_copy" 9 "nvme_copy" "April 2025" "libnvme API manual" LINUX +.TH "nvme_copy" 9 "nvme_copy" "May 2025" "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 83ff8a3e..2e72d795 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range" "May 2025" "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 ccfeb1e5..982f26a6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f1" "May 2025" "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 35bcd414..3a853154 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f2" "May 2025" "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 4eae0548..8a38cc7d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f3" "May 2025" "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 b0f38f81..ce2f0b5b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_copy_range_sopt" "May 2025" "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 7fb67106..dc3f6e7e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "May 2025" "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 1cbc5771..1264ec79 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_create_root" 9 "nvme_create_root" "May 2025" "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 index e20f9f90..6e3f82f9 100644 --- a/doc/man/nvme_crto.2 +++ b/doc/man/nvme_crto.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_crto" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_crto" "May 2025" "API Manual" LINUX .SH NAME enum nvme_crto \- This field indicates the controller ready timeouts .SH SYNOPSIS diff --git a/doc/man/nvme_csi.2 b/doc/man/nvme_csi.2 index d495aa9a..35d7856d 100644 --- a/doc/man/nvme_csi.2 +++ b/doc/man/nvme_csi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csi" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csi" "May 2025" "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 index 71e2b934..cd7b8ecc 100644 --- a/doc/man/nvme_csts.2 +++ b/doc/man/nvme_csts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csts" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csts" "May 2025" "API Manual" LINUX .SH NAME enum nvme_csts \- This field indicates the controller status register .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_config_match.2 b/doc/man/nvme_ctrl_config_match.2 index 5b35f280..5a3c352f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "May 2025" "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 6d18f725..366a1854 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "May 2025" "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 d83afba0..12dafb3b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "May 2025" "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 d70652db..c740fba8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "May 2025" "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 f3ed1299..bdda21f2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "May 2025" "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 27096a56..a59630fb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "May 2025" "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 4fbce7d6..56eef724 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "May 2025" "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 876c184b..899609fe 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "May 2025" "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 fcd8c91b..94b37fc6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "May 2025" "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 8372b26e..aaf8a2df 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "May 2025" "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 d574c6a7..bd712dcc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "May 2025" "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 eec329d4..4acb893e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "May 2025" "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 230cf392..1c1f854c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "May 2025" "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 6f52d214..c42f238c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "May 2025" "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 160a5573..aa20ff98 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "May 2025" "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 c605fc95..cb7eb285 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "May 2025" "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_keyring.2 b/doc/man/nvme_ctrl_get_keyring.2 index e441b159..40d740d2 100644 --- a/doc/man/nvme_ctrl_get_keyring.2 +++ b/doc/man/nvme_ctrl_get_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_keyring" 9 "nvme_ctrl_get_keyring" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_keyring" 9 "nvme_ctrl_get_keyring" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_keyring \- Return keyring .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_model.2 b/doc/man/nvme_ctrl_get_model.2 index 66fa07e1..f3a23636 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "May 2025" "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 469b8b16..7ede5145 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "May 2025" "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 c7e5a83c..a9ff085f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "May 2025" "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 46b128e7..0d49baa7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "May 2025" "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 0f031f81..e32390b3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "May 2025" "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 a3c95507..7381d6bf 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "May 2025" "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 78f296bf..c6a5448c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "May 2025" "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 b64c0377..803ee190 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "May 2025" "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 c9f7b7aa..a9c1c896 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "May 2025" "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 e2727d20..cdee5f07 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "May 2025" "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 01cedcc3..f46e6b3b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "May 2025" "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 96be87c7..97b5e423 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "May 2025" "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_tls_key.2 b/doc/man/nvme_ctrl_get_tls_key.2 index a5a93bb8..3ad1a5d4 100644 --- a/doc/man/nvme_ctrl_get_tls_key.2 +++ b/doc/man/nvme_ctrl_get_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_tls_key" 9 "nvme_ctrl_get_tls_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_tls_key" 9 "nvme_ctrl_get_tls_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_tls_key \- Return Derive TLS PSK .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_tls_key_identity.2 b/doc/man/nvme_ctrl_get_tls_key_identity.2 index 413d70b0..bda72738 100644 --- a/doc/man/nvme_ctrl_get_tls_key_identity.2 +++ b/doc/man/nvme_ctrl_get_tls_key_identity.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_tls_key_identity" 9 "nvme_ctrl_get_tls_key_identity" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_tls_key_identity" 9 "nvme_ctrl_get_tls_key_identity" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_tls_key_identity \- Return Derive TLS Identity .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_traddr.2 b/doc/man/nvme_ctrl_get_traddr.2 index f0be2e16..3ee0fdc6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "May 2025" "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 36b80dc3..d9f3477f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "May 2025" "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 4e473216..9e07ddc0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "May 2025" "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 aac7c508..40788b6b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "May 2025" "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 adc901d8..b62863da 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "May 2025" "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 3215d233..fb570194 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "May 2025" "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 18c04fd7..575df1a4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "May 2025" "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 c6fb18e5..8b9935b0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "May 2025" "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 891c9257..8ede160c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ctrl_list" "May 2025" "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 c07a66d1..47f453a6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "May 2025" "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 062906b4..0dd7a63e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "May 2025" "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 1c6771a8..f2ff0541 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "May 2025" "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 3b588dfb..2cc30458 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "May 2025" "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 1fc0768a..7e113ef6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "May 2025" "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 299f17b2..7915e662 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "May 2025" "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 ef6b2b22..2bc22c5e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "May 2025" "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 290f7cab..32d2f36b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "May 2025" "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 2ce15a92..8b4b7d0e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "May 2025" "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_keyring.2 b/doc/man/nvme_ctrl_set_keyring.2 index cbc5c545..f74907b7 100644 --- a/doc/man/nvme_ctrl_set_keyring.2 +++ b/doc/man/nvme_ctrl_set_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_keyring" 9 "nvme_ctrl_set_keyring" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_keyring" 9 "nvme_ctrl_set_keyring" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_keyring \- Set keyring .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_persistent.2 b/doc/man/nvme_ctrl_set_persistent.2 index 2fd06a5e..86817e83 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_persistent \- Set the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_tls_key.2 b/doc/man/nvme_ctrl_set_tls_key.2 index 38758c7e..31719e48 100644 --- a/doc/man/nvme_ctrl_set_tls_key.2 +++ b/doc/man/nvme_ctrl_set_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_tls_key" 9 "nvme_ctrl_set_tls_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_tls_key" 9 "nvme_ctrl_set_tls_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_tls_key \- Set Derive TLS PSK .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_tls_key_identity.2 b/doc/man/nvme_ctrl_set_tls_key_identity.2 index ebb417c6..7910b876 100644 --- a/doc/man/nvme_ctrl_set_tls_key_identity.2 +++ b/doc/man/nvme_ctrl_set_tls_key_identity.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_tls_key_identity" 9 "nvme_ctrl_set_tls_key_identity" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_tls_key_identity" 9 "nvme_ctrl_set_tls_key_identity" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_tls_key_identity \- Set Derive TLS Identity .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 798dd4ba..84d1b5dc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "May 2025" "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 89fe165e..0917b688 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "May 2025" "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 9c689d1c..99b035b9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_data_tfr" "May 2025" "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 06948617..f2bbb1e9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_default_host" 9 "nvme_default_host" "May 2025" "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 9b896e7c..b8b6a4ce 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "May 2025" "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 903638e7..122c25ef 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "May 2025" "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 7fa33f8e..0966872b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_dtype" "May 2025" "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 c1e7e89c..6dde8342 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_receive_doper" "May 2025" "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 efb3d001..0c873a08 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_recv" 9 "nvme_directive_recv" "May 2025" "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 8b5397d2..6a3496b6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "May 2025" "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 9cd06b07..81c43a45 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "May 2025" "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 5a6466ac..31019b50 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "May 2025" "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 091d74b9..79dbd74a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "May 2025" "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 5b5360e9..afc82b82 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_send" 9 "nvme_directive_send" "May 2025" "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 f4383b76..e5e96319 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_doper" "May 2025" "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 172153e0..f1cc7dbc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "May 2025" "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 b09efdf2..1c9a222d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "May 2025" "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 1a0e684e..89573eb9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "May 2025" "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 c6a48c54..2ce56ada 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "May 2025" "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 4739b218..89f66310 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_types" "May 2025" "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 f1ee566d..448e75ff 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_disconnect_ctrl \- Disconnect a controller .SH SYNOPSIS diff --git a/doc/man/nvme_dispersed_ns_participating_nss_log.2 b/doc/man/nvme_dispersed_ns_participating_nss_log.2 index 395646c0..7dc08948 100644 --- a/doc/man/nvme_dispersed_ns_participating_nss_log.2 +++ b/doc/man/nvme_dispersed_ns_participating_nss_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_dispersed_ns_participating_nss_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_dispersed_ns_participating_nss_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_dispersed_ns_participating_nss_log \- Dispersed Namespace Participating NVM Subsystems Log .SH SYNOPSIS diff --git a/doc/man/nvme_dsm.2 b/doc/man/nvme_dsm.2 index 1e12e8ff..b8708197 100644 --- a/doc/man/nvme_dsm.2 +++ b/doc/man/nvme_dsm.2 @@ -1,4 +1,4 @@ -.TH "nvme_dsm" 9 "nvme_dsm" "April 2025" "libnvme API manual" LINUX +.TH "nvme_dsm" 9 "nvme_dsm" "May 2025" "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 752920d1..b96523dd 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dsm_attributes" "May 2025" "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 b7417700..21fec4d3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_dsm_range" "May 2025" "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 7abb3a99..7853ba29 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dst_stc" "May 2025" "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 9db226ad..bf89a809 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_dump_config" 9 "nvme_dump_config" "May 2025" "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 746b2ab9..16b7fe2e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_dump_tree" 9 "nvme_dump_tree" "May 2025" "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 a9614e6d..d6638566 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "May 2025" "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 7bed1990..4a49ee30 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "May 2025" "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 0e44aac5..88051983 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "May 2025" "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 07f40137..6d233dff 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "May 2025" "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 a64532bb..d7680121 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_endurance_group_log" "May 2025" "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 f891a7cf..c26a8053 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eom_lane_desc" "May 2025" "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 2b7c2286..4b2e26c9 100644 --- a/doc/man/nvme_eom_optional_data.2 +++ b/doc/man/nvme_eom_optional_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data" "May 2025" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data \- EOM Optional Data Present Fields (Deprecated) .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data_present.2 b/doc/man/nvme_eom_optional_data_present.2 index 1c2f37bf..88e499f3 100644 --- a/doc/man/nvme_eom_optional_data_present.2 +++ b/doc/man/nvme_eom_optional_data_present.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "May 2025" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data_present \- EOM Optional Data Present Fields .SH SYNOPSIS diff --git a/doc/man/nvme_err_status_field.2 b/doc/man/nvme_err_status_field.2 index f829d494..b3bc27a5 100644 --- a/doc/man/nvme_err_status_field.2 +++ b/doc/man/nvme_err_status_field.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_err_status_field" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_err_status_field" "May 2025" "API Manual" LINUX .SH NAME enum nvme_err_status_field \- This field indicates the error information log entry status field .SH SYNOPSIS diff --git a/doc/man/nvme_errno_to_string.2 b/doc/man/nvme_errno_to_string.2 index d7299d0d..5f3d774d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "May 2025" "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 54869fd7..26ce1722 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_error_log_page" "May 2025" "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 index 2a015300..9edb1ee6 100644 --- a/doc/man/nvme_export_tls_key.2 +++ b/doc/man/nvme_export_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_export_tls_key \- Export a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_export_tls_key_versioned.2 b/doc/man/nvme_export_tls_key_versioned.2 index ac6fe303..5c159463 100644 --- a/doc/man/nvme_export_tls_key_versioned.2 +++ b/doc/man/nvme_export_tls_key_versioned.2 @@ -1,4 +1,4 @@ -.TH "nvme_export_tls_key_versioned" 9 "nvme_export_tls_key_versioned" "April 2025" "libnvme API manual" LINUX +.TH "nvme_export_tls_key_versioned" 9 "nvme_export_tls_key_versioned" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_export_tls_key_versioned \- Export a TLS pre-shared key .SH SYNOPSIS diff --git a/doc/man/nvme_fabrics_config.2 b/doc/man/nvme_fabrics_config.2 index 8cb9aedf..dca685c9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_config" "May 2025" "API Manual" LINUX .SH NAME struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options .SH SYNOPSIS diff --git a/doc/man/nvme_fabrics_uri.2 b/doc/man/nvme_fabrics_uri.2 index 632dcca4..90e328ee 100644 --- a/doc/man/nvme_fabrics_uri.2 +++ b/doc/man/nvme_fabrics_uri.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fabrics_uri" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_uri" "May 2025" "API Manual" LINUX .SH NAME struct nvme_fabrics_uri \- Parsed URI structure .SH SYNOPSIS diff --git a/doc/man/nvme_fctype.2 b/doc/man/nvme_fctype.2 index e3a5820c..5886d01f 100644 --- a/doc/man/nvme_fctype.2 +++ b/doc/man/nvme_fctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fctype" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fctype" "May 2025" "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 4b9a69c8..ce4fce4b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_desc" "May 2025" "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 7638ff6b..0877753a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "May 2025" "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 da883eb2..c9495483 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_log" "May 2025" "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 026720d1..c2ddce78 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event" "May 2025" "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 cfba9168..206e7d60 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_flags" "May 2025" "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 65ae528f..b4ace715 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "May 2025" "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 9d55ad13..42ce7d09 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "May 2025" "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 1158475d..2c58574b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_type" "May 2025" "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 52a06ae5..a8af0ba9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_events_log" "May 2025" "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 e862f72a..bd3d3eee 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "May 2025" "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 51fb0eff..63f7a8a8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "May 2025" "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 8e30bd04..f6520ee3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "May 2025" "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 f0fa0378..cbe02466 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "May 2025" "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 4a8f1eae..ee28af29 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "May 2025" "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 af99c28f..4b6b6bf6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "May 2025" "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 edab8456..453e1e28 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruha" "May 2025" "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 35448f09..ea61a1fe 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "May 2025" "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 0ec650a1..40e073e7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "May 2025" "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 5140af11..5cac2d4e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_stats_log" "May 2025" "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 a01c22f9..6af73651 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "May 2025" "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 f821681b..9490c3e6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "May 2025" "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 1ec60307..15e3253e 100644 --- a/doc/man/nvme_feat.2 +++ b/doc/man/nvme_feat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat" "May 2025" "API Manual" LINUX .SH NAME enum nvme_feat \- Features Access Shifts/Masks values .SH SYNOPSIS @@ -84,6 +84,14 @@ enum nvme_feat { , .br .br +.BI " NVME_FEAT_TT_TMPTHH_SHIFT" +, +.br +.br +.BI " NVME_FEAT_TT_TMPTHH_MASK" +, +.br +.br .BI " NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT" , .br @@ -553,6 +561,22 @@ enum nvme_feat { .br .br .BI " NVME_FEAT_FDP_EVENTS_ENABLE_MASK" +, +.br +.br +.BI " NVME_FEAT_BPWPC_BP0WPS_SHIFT" +, +.br +.br +.BI " NVME_FEAT_BPWPC_BP0WPS_MASK" +, +.br +.br +.BI " NVME_FEAT_BPWPC_BP1WPS_SHIFT" +, +.br +.br +.BI " NVME_FEAT_BPWPC_BP1WPS_MASK" }; .SH Constants @@ -576,6 +600,8 @@ enum nvme_feat { .IP "NVME_FEAT_TT_TMPSEL_MASK" 12 .IP "NVME_FEAT_TT_THSEL_SHIFT" 12 .IP "NVME_FEAT_TT_THSEL_MASK" 12 +.IP "NVME_FEAT_TT_TMPTHH_SHIFT" 12 +.IP "NVME_FEAT_TT_TMPTHH_MASK" 12 .IP "NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT" 12 .IP "NVME_FEAT_ERROR_RECOVERY_TLER_MASK" 12 .IP "NVME_FEAT_ERROR_RECOVERY_DULBE_SHIFT" 12 @@ -694,3 +720,7 @@ enum nvme_feat { .IP "NVME_FEAT_FDP_INDEX_MASK" 12 .IP "NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT" 12 .IP "NVME_FEAT_FDP_EVENTS_ENABLE_MASK" 12 +.IP "NVME_FEAT_BPWPC_BP0WPS_SHIFT" 12 +.IP "NVME_FEAT_BPWPC_BP0WPS_MASK" 12 +.IP "NVME_FEAT_BPWPC_BP1WPS_SHIFT" 12 +.IP "NVME_FEAT_BPWPC_BP1WPS_MASK" 12 diff --git a/doc/man/nvme_feat_auto_pst.2 b/doc/man/nvme_feat_auto_pst.2 index bdcd4878..d67aa774 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_auto_pst" "May 2025" "API Manual" LINUX .SH NAME struct nvme_feat_auto_pst \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_feat_bpwp_state.2 b/doc/man/nvme_feat_bpwp_state.2 new file mode 100644 index 00000000..0886277e --- /dev/null +++ b/doc/man/nvme_feat_bpwp_state.2 @@ -0,0 +1,36 @@ +.TH "libnvme" 9 "enum nvme_feat_bpwp_state" "May 2025" "API Manual" LINUX +.SH NAME +enum nvme_feat_bpwp_state \- Boot Partition Write Protection State +.SH SYNOPSIS +enum nvme_feat_bpwp_state { +.br +.BI " NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED" +, +.br +.br +.BI " NVME_FEAT_BPWPS_WRITE_UNLOCKED" +, +.br +.br +.BI " NVME_FEAT_BPWPS_WRITE_LOCKED" +, +.br +.br +.BI " NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE" +, +.br +.br +.BI " NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB" + +}; +.SH Constants +.IP "NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED" 12 +Change in state not requested +.IP "NVME_FEAT_BPWPS_WRITE_UNLOCKED" 12 +Write Unlocked +.IP "NVME_FEAT_BPWPS_WRITE_LOCKED" 12 +Write Locked +.IP "NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE" 12 +Write Locked Until Power Cycle +.IP "NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB" 12 +Write Protection controlled by RPMB diff --git a/doc/man/nvme_feat_fdp_events_cdw11.2 b/doc/man/nvme_feat_fdp_events_cdw11.2 index cb8f0f1f..bc89570c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "May 2025" "API Manual" LINUX .SH NAME struct nvme_feat_fdp_events_cdw11 \- FDP Events Feature Command Dword 11 Deprecated: doesn't support this struct. Use NVME_FEAT_FDPE_*** definitions instead. .SH SYNOPSIS diff --git a/doc/man/nvme_feat_host_behavior.2 b/doc/man/nvme_feat_host_behavior.2 index 612af141..559a2399 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_host_behavior" "May 2025" "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 fa5586ac..2fa96663 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "May 2025" "API Manual" LINUX .SH NAME enum nvme_feat_nswpcfg_state \- Write Protection - Write Protection State .SH SYNOPSIS diff --git a/doc/man/nvme_feat_perfc_attri.2 b/doc/man/nvme_feat_perfc_attri.2 new file mode 100644 index 00000000..6e8d4e0d --- /dev/null +++ b/doc/man/nvme_feat_perfc_attri.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_feat_perfc_attri" "May 2025" "API Manual" LINUX +.SH NAME +enum nvme_feat_perfc_attri \- performance characteristics attribute index +.SH SYNOPSIS +enum nvme_feat_perfc_attri { +.br +.BI " NVME_FEAT_PERFC_ATTRI_STD" +, +.br +.br +.BI " NVME_FEAT_PERFC_ATTRI_ID_LIST" +, +.br +.br +.BI " NVME_FEAT_PERFC_ATTRI_VS_MIN" +, +.br +.br +.BI " NVME_FEAT_PERFC_ATTRI_VS_MAX" + +}; +.SH Constants +.IP "NVME_FEAT_PERFC_ATTRI_STD" 12 +standard performance attribute +.IP "NVME_FEAT_PERFC_ATTRI_ID_LIST" 12 +performance attribute identifier list +.IP "NVME_FEAT_PERFC_ATTRI_VS_MIN" 12 +vendor specific performance attribute minimum index +.IP "NVME_FEAT_PERFC_ATTRI_VS_MAX" 12 +vendor specific performance attribute maximum index diff --git a/doc/man/nvme_feat_perfc_r4karl.2 b/doc/man/nvme_feat_perfc_r4karl.2 new file mode 100644 index 00000000..77f6adf5 --- /dev/null +++ b/doc/man/nvme_feat_perfc_r4karl.2 @@ -0,0 +1,150 @@ +.TH "libnvme" 9 "enum nvme_feat_perfc_r4karl" "May 2025" "API Manual" LINUX +.SH NAME +enum nvme_feat_perfc_r4karl \- standard performance attribute random 4 kib average latency +.SH SYNOPSIS +enum nvme_feat_perfc_r4karl { +.br +.BI " NVME_FEAT_PERFC_R4KARL_NO_REPORT" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_100_SEC" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_50_SEC" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_10_SEC" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_5_SEC" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_1_SEC" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_500_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_100_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_50_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_10_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_5_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_1_MS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_500_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_100_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_50_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_10_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_5_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_1_US" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_500_NS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_100_NS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_50_NS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_10_NS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_5_NS" +, +.br +.br +.BI " NVME_FEAT_PERFC_R4KARL_GE_1_NS" + +}; +.SH Constants +.IP "NVME_FEAT_PERFC_R4KARL_NO_REPORT" 12 +not reported +.IP "NVME_FEAT_PERFC_R4KARL_GE_100_SEC" 12 +greater than or equal to 100 secs +.IP "NVME_FEAT_PERFC_R4KARL_GE_50_SEC" 12 +greater than or equal to 50 secs and less than 100 secs +.IP "NVME_FEAT_PERFC_R4KARL_GE_10_SEC" 12 +greater than or equal to 10 secs and less than 50 secs +.IP "NVME_FEAT_PERFC_R4KARL_GE_5_SEC" 12 +greater than or equal to 5 secs and less than 10 secs +.IP "NVME_FEAT_PERFC_R4KARL_GE_1_SEC" 12 +greater than or equal to 1 sec and less than 5 secs +.IP "NVME_FEAT_PERFC_R4KARL_GE_500_MS" 12 +greater than or equal to 500 msecs and less than 1 sec +.IP "NVME_FEAT_PERFC_R4KARL_GE_100_MS" 12 +greater than or equal to 100 msecs and less than 500 msecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_50_MS" 12 +greater than or equal to 50 msecs and less than 100 msecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_10_MS" 12 +greater than or equal to 10 msecs and less than 50 msecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_5_MS" 12 +greater than or equal to 5 msecs and less than 10 msecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_1_MS" 12 +greater than or equal to 1 msec and less than 5 msecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_500_US" 12 +greater than or equal to 500 usecs and less than 1 msec +.IP "NVME_FEAT_PERFC_R4KARL_GE_100_US" 12 +greater than or equal to 100 usecs and less than 500 usecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_50_US" 12 +greater than or equal to 50 usecs and less than 100 usecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_10_US" 12 +greater than or equal to 10 usecs and less than 50 usecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_5_US" 12 +greater than or equal to 5 usecs and less than 10 usecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_1_US" 12 +greater than or equal to 1 usec and less than 5 usecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_500_NS" 12 +greater than or equal to 500 nsecs and less than 1 usec +.IP "NVME_FEAT_PERFC_R4KARL_GE_100_NS" 12 +greater than or equal to 100 nsecs and less than 500 nsecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_50_NS" 12 +greater than or equal to 50 nsecs and less than 100 nsecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_10_NS" 12 +greater than or equal to 10 nsecs and less than 50 nsecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_5_NS" 12 +greater than or equal to 5 nsecs and less than 10 nsecs +.IP "NVME_FEAT_PERFC_R4KARL_GE_1_NS" 12 +greater than or equal to 1 nsec and less than 5 nsecs diff --git a/doc/man/nvme_feat_plm_window_select.2 b/doc/man/nvme_feat_plm_window_select.2 index ce361fb3..a351a24f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "May 2025" "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 8fd82b61..6eab0a26 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "May 2025" "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 aa118b8b..c9026938 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "May 2025" "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 ae560994..98ae2078 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "May 2025" "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 3ca4da7f..eabd16ab 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_id" "May 2025" "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 dd749667..8d93de5e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fid_supported_effects" "May 2025" "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 cc7e300a..be4843a5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "May 2025" "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 07760ce8..1c5fa3a2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_firmware_slot" "May 2025" "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 55959e41..40bbfb52 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_first_host" 9 "nvme_first_host" "May 2025" "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 409a4689..0c305288 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "May 2025" "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 index e9835d62..2983debb 100644 --- a/doc/man/nvme_flbas.2 +++ b/doc/man/nvme_flbas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_flbas" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_flbas" "May 2025" "API Manual" LINUX .SH NAME enum nvme_flbas \- This field indicates the formatted LBA size .SH SYNOPSIS diff --git a/doc/man/nvme_flush.2 b/doc/man/nvme_flush.2 index fd66b920..7c255222 100644 --- a/doc/man/nvme_flush.2 +++ b/doc/man/nvme_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_flush" 9 "nvme_flush" "April 2025" "libnvme API manual" LINUX +.TH "nvme_flush" 9 "nvme_flush" "May 2025" "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 377a422f..9feb9410 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_for_each_host" 9 "nvme_for_each_host" "May 2025" "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 72bd0075..c251f1aa 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "May 2025" "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 11da9133..6d2c74ad 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "May 2025" "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 2f4ad2b0..8452f2e4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "May 2025" "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 2db9e855..f401439d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_format_nvm" 9 "nvme_format_nvm" "May 2025" "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 fe6ab988..b6c9b78d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "May 2025" "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 fc7811a8..3ed65b81 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "May 2025" "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 de596c54..6a45af62 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "May 2025" "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 e2861412..ac3bde42 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_host" 9 "nvme_free_host" "May 2025" "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 3b5634a7..6b59c0be 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_ns" 9 "nvme_free_ns" "May 2025" "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 fff069be..1ff18fe0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "May 2025" "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 0cd78e04..7349156a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_tree" 9 "nvme_free_tree" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_free_tree \- Free root object .SH SYNOPSIS diff --git a/doc/man/nvme_free_uri.2 b/doc/man/nvme_free_uri.2 index 67e0a2ff..95fe291d 100644 --- a/doc/man/nvme_free_uri.2 +++ b/doc/man/nvme_free_uri.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_uri" 9 "nvme_free_uri" "April 2025" "libnvme API manual" LINUX +.TH "nvme_free_uri" 9 "nvme_free_uri" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_free_uri \- Free the URI structure .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit.2 b/doc/man/nvme_fw_commit.2 index 5ddf0ccf..aa9d670a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_fw_commit" 9 "nvme_fw_commit" "May 2025" "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 170907de..f02566c8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fw_commit_ca" "May 2025" "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 53aeb581..5a573147 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fw_commit_event" "May 2025" "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 72144f36..d6b5f40e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_fw_download" 9 "nvme_fw_download" "May 2025" "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 f3e74df1..66a4568d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "May 2025" "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 bbbe5d0b..4c478529 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "May 2025" "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 a644e265..885a2e16 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "May 2025" "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_atomic.2 b/doc/man/nvme_get_ana_log_atomic.2 index 6010c938..9ec8abea 100644 --- a/doc/man/nvme_get_ana_log_atomic.2 +++ b/doc/man/nvme_get_ana_log_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_atomic" 9 "nvme_get_ana_log_atomic" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_atomic" 9 "nvme_get_ana_log_atomic" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_len.2 b/doc/man/nvme_get_ana_log_len.2 index 0ff06da0..53728a6c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "May 2025" "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_ana_log_len_from_id_ctrl.2 b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 index b3caf2e7..0255b26f 100644 --- a/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 +++ b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_len_from_id_ctrl" 9 "nvme_get_ana_log_len_from_id_ctrl" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len_from_id_ctrl" 9 "nvme_get_ana_log_len_from_id_ctrl" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_len_from_id_ctrl \- Retrieve maximum possible ANA log size .SH SYNOPSIS diff --git a/doc/man/nvme_get_attr.2 b/doc/man/nvme_get_attr.2 index bb5975cf..acc1efa5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_attr" 9 "nvme_get_attr" "May 2025" "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 529afbdb..4d2d3d4d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "May 2025" "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 b0139684..b8c97840 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "May 2025" "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 68710483..5593c552 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "May 2025" "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 13e578ea..5d02bbec 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_get_discovery_args" "May 2025" "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 c3fdbb7f..0d8212eb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "May 2025" "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 44265a9b..5d6b1be8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "May 2025" "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 b7590e1a..b18fbab0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features" 9 "nvme_get_features" "May 2025" "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 46da09e7..0aece493 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "May 2025" "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 ce8f889e..2e87c26c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "May 2025" "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 ae7741f0..f80a0a6a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "May 2025" "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 12c5caa7..ffba4f83 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_data" 9 "nvme_get_features_data" "May 2025" "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 46c8ccd2..1ece3f3f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "May 2025" "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 300fdd40..55e32350 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "May 2025" "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 fa76f34c..ef60643f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "May 2025" "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 be8c923f..f5b4ef1b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "May 2025" "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 86fe6657..abde375f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "May 2025" "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 5b7ff3c4..31dbf878 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "May 2025" "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 8670f8e8..25cf21c6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "May 2025" "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 6165f4e9..42836710 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "May 2025" "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 5d405686..b1f5d243 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "May 2025" "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 9e009881..c6889309 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "May 2025" "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 cd37cfe2..f48114fd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "May 2025" "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 909431b7..dd7243b9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "May 2025" "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 13fe04b8..4faab987 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "May 2025" "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 05d53a60..b999faa3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "May 2025" "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 618a0fe6..201692ea 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "May 2025" "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 d1df4bdc..7498075b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "May 2025" "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 4a968091..be2bfbae 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "May 2025" "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 b0fa8af5..90e9179b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "May 2025" "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 95be821d..250f1636 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "May 2025" "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 ba1e678d..e7e22fe3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "May 2025" "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 ac65bc44..4c4949b0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "May 2025" "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 6d37648a..17bc3509 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "May 2025" "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 26d56285..43a699c4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "May 2025" "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 a0e8bd18..222728bc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "May 2025" "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 c299df34..8b17b041 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "May 2025" "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 44ffdd63..2170c782 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "May 2025" "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 8205b6ff..0813ea25 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_get_features_sel" "May 2025" "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 1f6a96a0..6df43e21 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "May 2025" "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 33858656..5d803573 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "May 2025" "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 642a6198..e4d55304 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_features_temp_thresh \- Get temperature threshold feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_temp_thresh.2 b/doc/man/nvme_get_features_temp_thresh2.2 similarity index 57% copy from doc/man/nvme_set_features_temp_thresh.2 copy to doc/man/nvme_get_features_temp_thresh2.2 index 6fd8baa7..a1bbf445 100644 --- a/doc/man/nvme_set_features_temp_thresh.2 +++ b/doc/man/nvme_get_features_temp_thresh2.2 @@ -1,25 +1,22 @@ -.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_temp_thresh2" 9 "nvme_get_features_temp_thresh2" "May 2025" "libnvme API manual" LINUX .SH NAME -nvme_set_features_temp_thresh \- Set temperature threshold feature +nvme_get_features_temp_thresh2 \- Get temperature threshold feature .SH SYNOPSIS -.B "int" nvme_set_features_temp_thresh +.B "int" nvme_get_features_temp_thresh2 .BI "(int fd " "," -.BI "__u16 tmpth " "," +.BI "enum nvme_get_features_sel sel " "," .BI "__u8 tmpsel " "," .BI "enum nvme_feat_tmpthresh_thsel thsel " "," -.BI "bool save " "," .BI "__u32 *result " ");" .SH ARGUMENTS .IP "fd" 12 File descriptor of nvme device -.IP "tmpth" 12 -Temperature Threshold +.IP "sel" 12 +Select which type of attribute to return, see \fIenum nvme_get_features_sel\fP .IP "tmpsel" 12 Threshold Temperature Select .IP "thsel" 12 Threshold Type Select -.IP "save" 12 -Save value across power states .IP "result" 12 The command completion result from CQE dword0 .SH "RETURN" diff --git a/doc/man/nvme_get_features_timestamp.2 b/doc/man/nvme_get_features_timestamp.2 index 7260319d..46500f66 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "May 2025" "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 6e9256f5..14ebdf69 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "May 2025" "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 82489f67..b0d402a9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "May 2025" "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 e061cacb..b1054da6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "May 2025" "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 c2a919a5..a3f8e2c0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "May 2025" "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 b2b23262..d99d9476 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "May 2025" "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 2650f6d6..1a285d9f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "May 2025" "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 41ac46cc..baf76d29 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log" 9 "nvme_get_log" "May 2025" "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 bc3f27af..db7830ef 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "May 2025" "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 34810f36..626cf833 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "May 2025" "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_ave_discover.2 b/doc/man/nvme_get_log_ave_discover.2 index be41419a..e50aacf6 100644 --- a/doc/man/nvme_get_log_ave_discover.2 +++ b/doc/man/nvme_get_log_ave_discover.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_ave_discover" 9 "nvme_get_log_ave_discover" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_ave_discover" 9 "nvme_get_log_ave_discover" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_ave_discover \- Retrieve AVE Discovery Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_boot_partition.2 b/doc/man/nvme_get_log_boot_partition.2 index c9feeef5..4585cc8b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "May 2025" "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_alloc_ns_list.2 b/doc/man/nvme_get_log_changed_alloc_ns_list.2 index 9be86c46..21933a1c 100644 --- a/doc/man/nvme_get_log_changed_alloc_ns_list.2 +++ b/doc/man/nvme_get_log_changed_alloc_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_changed_alloc_ns_list" 9 "nvme_get_log_changed_alloc_ns_list" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_changed_alloc_ns_list" 9 "nvme_get_log_changed_alloc_ns_list" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_changed_alloc_ns_list \- Retrieve Changed Allocated Namespace List Log .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 6bb1dd50..3435dd61 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "May 2025" "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 5c2d6abc..606584db 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "May 2025" "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 a6579708..2d9365e1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "May 2025" "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_create_telemetry_host_mcda.2 b/doc/man/nvme_get_log_create_telemetry_host_mcda.2 index 676c786a..2d9101a7 100644 --- a/doc/man/nvme_get_log_create_telemetry_host_mcda.2 +++ b/doc/man/nvme_get_log_create_telemetry_host_mcda.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_create_telemetry_host_mcda" 9 "nvme_get_log_create_telemetry_host_mcda" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_create_telemetry_host_mcda" 9 "nvme_get_log_create_telemetry_host_mcda" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_create_telemetry_host_mcda \- 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 99b5c8e2..55bf2a57 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "May 2025" "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 d18d8de2..771ae8fb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_dispersed_ns_participating_nss.2 b/doc/man/nvme_get_log_dispersed_ns_participating_nss.2 index a018037d..3ae8cae2 100644 --- a/doc/man/nvme_get_log_dispersed_ns_participating_nss.2 +++ b/doc/man/nvme_get_log_dispersed_ns_participating_nss.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_dispersed_ns_participating_nss" 9 "nvme_get_log_dispersed_ns_participating_nss" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_dispersed_ns_participating_nss" 9 "nvme_get_log_dispersed_ns_participating_nss" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_dispersed_ns_participating_nss \- Retrieve Dispersed Namespace Participating NVM Subsystems Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_endurance_group.2 b/doc/man/nvme_get_log_endurance_group.2 index cbf05f1c..32785b36 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "May 2025" "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 a2736fed..1f2efedc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "May 2025" "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 1e2e8a82..b81d3fe8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_error" 9 "nvme_get_log_error" "May 2025" "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 39bd2099..7b4b95eb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "May 2025" "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 7c7395c9..704ba86f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "May 2025" "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 a21f41aa..1adc2395 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "May 2025" "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 deed6cec..846e9b78 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "May 2025" "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 4a0360a5..07a7f620 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "May 2025" "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_host_discover.2 b/doc/man/nvme_get_log_host_discover.2 index b4fbb102..f1f22b1c 100644 --- a/doc/man/nvme_get_log_host_discover.2 +++ b/doc/man/nvme_get_log_host_discover.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_host_discover" 9 "nvme_get_log_host_discover" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_host_discover" 9 "nvme_get_log_host_discover" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_host_discover \- Retrieve Host Discovery Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_lba_status.2 b/doc/man/nvme_get_log_lba_status.2 index d0901484..f69bec90 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_lockdown.2 b/doc/man/nvme_get_log_lockdown.2 index 7e7b0623..92f711ef 100644 --- a/doc/man/nvme_get_log_lockdown.2 +++ b/doc/man/nvme_get_log_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_lockdown" 9 "nvme_get_log_lockdown" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_lockdown" 9 "nvme_get_log_lockdown" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_lockdown \- Retrieve lockdown Log .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 df6c49f3..741f7c2c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "May 2025" "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_mgmt_addr_list.2 b/doc/man/nvme_get_log_mgmt_addr_list.2 index 87b4d187..41a4ea3c 100644 --- a/doc/man/nvme_get_log_mgmt_addr_list.2 +++ b/doc/man/nvme_get_log_mgmt_addr_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_mgmt_addr_list" 9 "nvme_get_log_mgmt_addr_list" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_mgmt_addr_list" 9 "nvme_get_log_mgmt_addr_list" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_mgmt_addr_list \- Retrieve Management Address List Log .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 7cc236da..d57eefd4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "May 2025" "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 889a5dae..6e7079fe 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_page" 9 "nvme_get_log_page" "May 2025" "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 cd79a9dd..a30a3edb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "May 2025" "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 82b81c55..ece57e90 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "May 2025" "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 39ddd2b9..22f0f037 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "May 2025" "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 e8d67d46..05122ed2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "May 2025" "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_pull_model_ddc_req.2 b/doc/man/nvme_get_log_pull_model_ddc_req.2 index 9a932211..719a1a6c 100644 --- a/doc/man/nvme_get_log_pull_model_ddc_req.2 +++ b/doc/man/nvme_get_log_pull_model_ddc_req.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_pull_model_ddc_req" 9 "nvme_get_log_pull_model_ddc_req" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_pull_model_ddc_req" 9 "nvme_get_log_pull_model_ddc_req" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_pull_model_ddc_req \- Retrieve Pull Model DDC Request Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reachability_associations.2 b/doc/man/nvme_get_log_reachability_associations.2 index 546c237c..f8a16c91 100644 --- a/doc/man/nvme_get_log_reachability_associations.2 +++ b/doc/man/nvme_get_log_reachability_associations.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reachability_associations" 9 "nvme_get_log_reachability_associations" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_reachability_associations" 9 "nvme_get_log_reachability_associations" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_reachability_associations \- Retrieve Reachability Associations Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reachability_groups.2 b/doc/man/nvme_get_log_reachability_groups.2 index af1caa2b..9e9d059d 100644 --- a/doc/man/nvme_get_log_reachability_groups.2 +++ b/doc/man/nvme_get_log_reachability_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reachability_groups" 9 "nvme_get_log_reachability_groups" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_reachability_groups" 9 "nvme_get_log_reachability_groups" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_reachability_groups \- Retrieve Reachability Groups Log .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 1faf96da..174f96b4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "May 2025" "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 879204bd..3b99a71a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_rotational_media_info.2 b/doc/man/nvme_get_log_rotational_media_info.2 index 85b152d2..c695531b 100644 --- a/doc/man/nvme_get_log_rotational_media_info.2 +++ b/doc/man/nvme_get_log_rotational_media_info.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_rotational_media_info" 9 "nvme_get_log_rotational_media_info" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_rotational_media_info" 9 "nvme_get_log_rotational_media_info" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_log_rotational_media_info \- Retrieve Rotational Media Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_sanitize.2 b/doc/man/nvme_get_log_sanitize.2 index b6ba3b4a..ebc8b55d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "May 2025" "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 b001ecff..484253a6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "May 2025" "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 a5f53411..2492e82e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "May 2025" "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 888d162e..97afbe88 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "May 2025" "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 cae7e629..bb845aa4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "May 2025" "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 6f5a847a..c73b21fe 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "May 2025" "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 5b51b75e..c05db6b8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "May 2025" "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 index a5275f72..cbb7f62e 100644 --- a/doc/man/nvme_get_logging_level.2 +++ b/doc/man/nvme_get_logging_level.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_get_logging_level \- Get current logging level .SH SYNOPSIS diff --git a/doc/man/nvme_get_logical_block_size.2 b/doc/man/nvme_get_logical_block_size.2 index b6cbe05c..ab3ac945 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "May 2025" "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 b47570bb..3695a648 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "May 2025" "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 3837feb7..97f310af 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "May 2025" "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 c773c23f..7ca9a903 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_nsid" 9 "nvme_get_nsid" "May 2025" "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 34a5ad8a..c737c119 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "May 2025" "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 fb5ee154..5046dd4c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_property" 9 "nvme_get_property" "May 2025" "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 1866d18f..65549f2b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "May 2025" "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 2ee5f05e..c13b5d39 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "May 2025" "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 aa363a84..0f3edb6a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "May 2025" "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 b737c650..315bc9b8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_hmac_alg" "May 2025" "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 933c93f6..87053229 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_host_behavior_support" "May 2025" "API Manual" LINUX .SH NAME enum nvme_host_behavior_support \- Enable Advanced Command .SH SYNOPSIS diff --git a/doc/man/nvme_host_discover_log.2 b/doc/man/nvme_host_discover_log.2 index 04028ece..d4e30cb5 100644 --- a/doc/man/nvme_host_discover_log.2 +++ b/doc/man/nvme_host_discover_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_discover_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_discover_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_host_discover_log \- Host Discovery Log .SH SYNOPSIS diff --git a/doc/man/nvme_host_ext_discover_log.2 b/doc/man/nvme_host_ext_discover_log.2 index 4ec8b743..d6c8fe03 100644 --- a/doc/man/nvme_host_ext_discover_log.2 +++ b/doc/man/nvme_host_ext_discover_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_ext_discover_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_ext_discover_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_host_ext_discover_log \- Host Extended Discovery Log .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_dhchap_key.2 b/doc/man/nvme_host_get_dhchap_key.2 index e483f895..16236f22 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "May 2025" "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 f3b227ab..76654649 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "May 2025" "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 ca47c2e0..133058ce 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "May 2025" "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 e4e23f31..df429b18 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "May 2025" "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 4aca819f..822af097 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_get_root" 9 "nvme_host_get_root" "May 2025" "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 45341c90..c7a062ad 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "May 2025" "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 e72bf9c1..e00e102b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "May 2025" "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 87d255b4..d6c5df0b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_metadata" "May 2025" "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 d98a5dec..91990e74 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "May 2025" "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 ce73ca03..6cb828fa 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "May 2025" "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 677db642..75ca78cf 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "May 2025" "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 797ac13d..bd57a734 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "May 2025" "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 3b19ed1f..7acbee9c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl" "May 2025" "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 723d6f00..aba4649e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "May 2025" "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 c592214d..b3746292 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "May 2025" "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 813a4de5..b9fb36d3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "May 2025" "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_bpcap.2 b/doc/man/nvme_id_ctrl_bpcap.2 index a0a90f21..50cfbe19 100644 --- a/doc/man/nvme_id_ctrl_bpcap.2 +++ b/doc/man/nvme_id_ctrl_bpcap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_bpcap" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_bpcap" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_bpcap \- Boot Partition Capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cmic.2 b/doc/man/nvme_id_ctrl_cmic.2 index d63bb338..2dc2bb92 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "May 2025" "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 abc06193..95c6048c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "May 2025" "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 8e0607d5..d34b7308 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "May 2025" "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_crcap.2 b/doc/man/nvme_id_ctrl_crcap.2 index bf1465b1..18e50e5a 100644 --- a/doc/man/nvme_id_ctrl_crcap.2 +++ b/doc/man/nvme_id_ctrl_crcap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_crcap" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_crcap" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_crcap \- Power Loss Signaling Information .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_ctratt.2 b/doc/man/nvme_id_ctrl_ctratt.2 index 7e95fea7..25da7f56 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "May 2025" "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 ef4ff618..7adb04ab 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "May 2025" "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 53260e61..84c3e0c9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "May 2025" "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 7ba3f9ab..767c3905 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "May 2025" "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 3b209a11..5a460497 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "May 2025" "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 bc22d97e..e4adf584 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "May 2025" "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 6432b769..c660e7aa 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "May 2025" "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 d8385520..d737a95d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "May 2025" "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_kpioc.2 b/doc/man/nvme_id_ctrl_kpioc.2 index dc6b9273..e7e848f6 100644 --- a/doc/man/nvme_id_ctrl_kpioc.2 +++ b/doc/man/nvme_id_ctrl_kpioc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_kpioc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_kpioc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_kpioc \- Key Per I/O Capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_lpa.2 b/doc/man/nvme_id_ctrl_lpa.2 index 0a558cf4..9a3b7088 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "May 2025" "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 7cb12bb9..9da66825 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "May 2025" "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 dc07ee2d..71c20ae9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "May 2025" "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_nvm_lbamqf.2 b/doc/man/nvme_id_ctrl_nvm_lbamqf.2 index 11127951..73898922 100644 --- a/doc/man/nvme_id_ctrl_nvm_lbamqf.2 +++ b/doc/man/nvme_id_ctrl_nvm_lbamqf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nvm_lbamqf" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvm_lbamqf" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nvm_lbamqf \- LBA Migration Queue Format .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nvmsr.2 b/doc/man/nvme_id_ctrl_nvmsr.2 index e0685082..a18002e9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "May 2025" "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 b623cb25..31d008e5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "May 2025" "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 972c9f69..5f7dec98 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "May 2025" "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 0786662d..d5ba91eb 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "May 2025" "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 7ca5b8d9..3992d9b2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "May 2025" "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 176d0ab5..9226a85e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "May 2025" "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 1ef75472..f033257c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "May 2025" "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_plsi.2 b/doc/man/nvme_id_ctrl_plsi.2 index a6a8021d..fe66eaef 100644 --- a/doc/man/nvme_id_ctrl_plsi.2 +++ b/doc/man/nvme_id_ctrl_plsi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_plsi" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_plsi" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_plsi \- Power Loss Signaling Information .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_rpmbs.2 b/doc/man/nvme_id_ctrl_rpmbs.2 index bdaf5591..895e1810 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "May 2025" "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 374c888d..b2599a4d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "May 2025" "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 705e460f..9551a063 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "May 2025" "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 d6aad4e8..d94b5b3a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "May 2025" "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_trattr.2 b/doc/man/nvme_id_ctrl_trattr.2 index 8242dda8..2f9e7b28 100644 --- a/doc/man/nvme_id_ctrl_trattr.2 +++ b/doc/man/nvme_id_ctrl_trattr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_trattr" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_trattr" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_trattr \- Tracking Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_vwc.2 b/doc/man/nvme_id_ctrl_vwc.2 index 8ba18e36..a96e5714 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "May 2025" "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 d1effd88..924c0871 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "May 2025" "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 f5c9f890..b4e53e06 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_directives" "May 2025" "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 549525f0..399bf0ae 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_attr" "May 2025" "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 0b05772f..7981a71a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_list" "May 2025" "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 db404f4a..b993e7fa 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "May 2025" "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 7a51fcd6..a0625365 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "May 2025" "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 d668feed..1e33c643 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_iocs" "May 2025" "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_iocs_iocsc.2 b/doc/man/nvme_id_iocs_iocsc.2 index 470355d2..3b342d55 100644 --- a/doc/man/nvme_id_iocs_iocsc.2 +++ b/doc/man/nvme_id_iocs_iocsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_iocs_iocsc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_iocs_iocsc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_id_iocs_iocsc \- This field indicates the Identify I/O Command Set Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns.2 b/doc/man/nvme_id_ns.2 index 024a1d52..3c164889 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns" "May 2025" "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 9ca13368..eec361a5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_attr" "May 2025" "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 93d2a698..79780939 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "May 2025" "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 1e9103ea..398f21ee 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dpc" "May 2025" "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 b9586de5..2b3bcc06 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dps" "May 2025" "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 aad4f00e..777c59e2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_flbas" "May 2025" "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 94b62954..e04819aa 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "May 2025" "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 14c72615..9c6f8a95 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "May 2025" "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 f382699f..b69c24b6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_mc" "May 2025" "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 f1fcaf8f..c79811ed 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_nmic" "May 2025" "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 2b6de284..aa1942b4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_rescap" "May 2025" "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 4af5c89d..ba66e5a7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_nsfeat" "May 2025" "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 f9038d08..b1c0b612 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_nvmset_list" "May 2025" "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 8c2aabe3..a73a5237 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_psd" "May 2025" "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 595913dc..4eed1ee3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_uuid" "May 2025" "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 f51cbd76..6eaeaf5f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list" "May 2025" "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 dc6c6279..a5d0eba7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "May 2025" "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 943302b8..80116395 100644 --- a/doc/man/nvme_identify.2 +++ b/doc/man/nvme_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify" 9 "nvme_identify" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify" 9 "nvme_identify" "May 2025" "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 5e33e4c8..875496c8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "May 2025" "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 f3f263c1..a504e594 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "May 2025" "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 25d1a72b..10f1298d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "May 2025" "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 4751d63d..7f920628 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "May 2025" "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 a6049e31..61cce536 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "May 2025" "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 ecbc1071..a320f4dc 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_identify_cns" "May 2025" "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 9f5b422b..1b0001dd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "May 2025" "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 0f1a2b6c..962a920c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "May 2025" "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 d1148477..cc37b41c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "May 2025" "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 a4b1fccb..0e4fe722 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "May 2025" "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 68a731c0..1b125375 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "May 2025" "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 ffdfe54a..93c116e0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "May 2025" "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 bd4fc02b..36a947bd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "May 2025" "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 528858ef..f392bcd5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "May 2025" "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 4697c297..54af2969 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ns" 9 "nvme_identify_ns" "May 2025" "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 8076c7ad..d8679cc6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "May 2025" "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 9bda709f..5df37721 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "May 2025" "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 8d6af017..31b9e955 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "May 2025" "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 270f9d20..2d30bcff 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "May 2025" "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 2a87c208..1253ec3f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "May 2025" "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 50b39afb..958b6578 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "May 2025" "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 6be87e82..da5704e8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "May 2025" "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 788d6537..cac7eca4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "May 2025" "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 8a200b46..019ac839 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "May 2025" "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 index b491cafb..eb072030 100644 --- a/doc/man/nvme_import_tls_key.2 +++ b/doc/man/nvme_import_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_import_tls_key \- Import a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_import_tls_key_versioned.2 b/doc/man/nvme_import_tls_key_versioned.2 index 33087a82..ecad099e 100644 --- a/doc/man/nvme_import_tls_key_versioned.2 +++ b/doc/man/nvme_import_tls_key_versioned.2 @@ -1,4 +1,4 @@ -.TH "nvme_import_tls_key_versioned" 9 "nvme_import_tls_key_versioned" "April 2025" "libnvme API manual" LINUX +.TH "nvme_import_tls_key_versioned" 9 "nvme_import_tls_key_versioned" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_import_tls_key_versioned \- Import a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range.2 b/doc/man/nvme_init_copy_range.2 index 0e8eb3ff..36e735b3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "May 2025" "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 63f66b5b..d8ac2b13 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "May 2025" "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 5e104cb9..095599e1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "May 2025" "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 15283127..35764d8a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "May 2025" "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 cb81fd31..7c998cf3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "May 2025" "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 718aca81..35ce99f5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "May 2025" "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_default_logging.2 b/doc/man/nvme_init_default_logging.2 index 07621e7b..7b278f79 100644 --- a/doc/man/nvme_init_default_logging.2 +++ b/doc/man/nvme_init_default_logging.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_default_logging" 9 "nvme_init_default_logging" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_default_logging" 9 "nvme_init_default_logging" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_init_default_logging \- Initialize default (fallback) logging .SH SYNOPSIS diff --git a/doc/man/nvme_init_dsm_range.2 b/doc/man/nvme_init_dsm_range.2 index 99493f88..ff7a9dd7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "May 2025" "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 c6e19b69..6a7392a2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_init_logging" 9 "nvme_init_logging" "May 2025" "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 fa85311c..931c8936 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "May 2025" "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 de5a04c4..310adcfd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "May 2025" "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 42e38b33..2fc8c03f 100644 --- a/doc/man/nvme_io.2 +++ b/doc/man/nvme_io.2 @@ -1,4 +1,4 @@ -.TH "nvme_io" 9 "nvme_io" "April 2025" "libnvme API manual" LINUX +.TH "nvme_io" 9 "nvme_io" "May 2025" "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 132a5e99..8145f179 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_control_flags" "May 2025" "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 dacc081f..b937f0af 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_dsm_flags" "May 2025" "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 0c3710a7..6bfd0c3a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "May 2025" "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 d178afba..3d7d3369 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "May 2025" "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 61e2202d..3d5a9b19 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "May 2025" "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 a3fde606..fb5dc861 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "May 2025" "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 fbd73999..3be5aef4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_opcode" "May 2025" "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 56f444b7..2cb0c675 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_io_passthru" 9 "nvme_io_passthru" "May 2025" "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 953ed410..3075afa9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "May 2025" "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 a8152b03..3fdb4a1e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "May 2025" "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_kv_opcode.2 b/doc/man/nvme_kv_opcode.2 index 03daf44f..9997bbba 100644 --- a/doc/man/nvme_kv_opcode.2 +++ b/doc/man/nvme_kv_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_kv_opcode" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_kv_opcode" "May 2025" "API Manual" LINUX .SH NAME enum nvme_kv_opcode \- Opcodes for KV Commands .SH SYNOPSIS diff --git a/doc/man/nvme_lba_range_type.2 b/doc/man/nvme_lba_range_type.2 index 1a8b2f32..027df04c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type" "May 2025" "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 69f54f28..6ca6c1b7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "May 2025" "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 3eb69109..355bf943 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_rd" "May 2025" "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 c1005ea2..033d0b1e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status" "May 2025" "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 5f1bee99..6754138e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lba_status_atype" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lba_status_atype \- Action type the controller uses to return LBA status .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_cmpc.2 b/doc/man/nvme_lba_status_cmpc.2 index a5bbc56e..040a410b 100644 --- a/doc/man/nvme_lba_status_cmpc.2 +++ b/doc/man/nvme_lba_status_cmpc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lba_status_cmpc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lba_status_cmpc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lba_status_cmpc \- Get LBA Status Command Completion Condition .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_desc.2 b/doc/man/nvme_lba_status_desc.2 index 9642c341..6748d8ff 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_desc" "May 2025" "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 67f1ef04..9df7c9c0 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_log" "May 2025" "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 ea2b79f4..9a5b31f3 100644 --- a/doc/man/nvme_lbaf.2 +++ b/doc/man/nvme_lbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbaf" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbaf" "May 2025" "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 a56c3298..3f2fffb0 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbaf_rp" "May 2025" "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 d0cfe344..ae2c9fd2 100644 --- a/doc/man/nvme_lbart.2 +++ b/doc/man/nvme_lbart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbart" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbart" "May 2025" "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 a2527a98..08afe589 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbas_ns_element" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lbas_ns_element \- LBA Status Log Namespace Element .SH SYNOPSIS diff --git a/doc/man/nvme_lm_cdq.2 b/doc/man/nvme_lm_cdq.2 index 14c975b9..b48ac47e 100644 --- a/doc/man/nvme_lm_cdq.2 +++ b/doc/man/nvme_lm_cdq.2 @@ -1,4 +1,4 @@ -.TH "nvme_lm_cdq" 9 "nvme_lm_cdq" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lm_cdq" 9 "nvme_lm_cdq" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_lm_cdq \- Controller Data Queue - Controller Data Queue command .SH SYNOPSIS diff --git a/doc/man/nvme_lm_cdq_fields.2 b/doc/man/nvme_lm_cdq_fields.2 index db1a089f..25207818 100644 --- a/doc/man/nvme_lm_cdq_fields.2 +++ b/doc/man/nvme_lm_cdq_fields.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_cdq_fields" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_cdq_fields" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_cdq_fields \- Controller Data Queue command fields .SH SYNOPSIS diff --git a/doc/man/nvme_lm_controller_state_data.2 b/doc/man/nvme_lm_controller_state_data.2 index 50dd31c8..0fb55526 100644 --- a/doc/man/nvme_lm_controller_state_data.2 +++ b/doc/man/nvme_lm_controller_state_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_controller_state_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_controller_state_data" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_controller_state_data \- Controller State data structure contains data on the controller's state. .SH SYNOPSIS diff --git a/doc/man/nvme_lm_controller_state_data_header.2 b/doc/man/nvme_lm_controller_state_data_header.2 index 77a31fa7..ee004bec 100644 --- a/doc/man/nvme_lm_controller_state_data_header.2 +++ b/doc/man/nvme_lm_controller_state_data_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_controller_state_data_header" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_controller_state_data_header" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_controller_state_data_header \- Controller State data header structure describes the contents of the Controller State data .SH SYNOPSIS diff --git a/doc/man/nvme_lm_ctrl_data_queue_fid.2 b/doc/man/nvme_lm_ctrl_data_queue_fid.2 index b4017711..c51585c9 100644 --- a/doc/man/nvme_lm_ctrl_data_queue_fid.2 +++ b/doc/man/nvme_lm_ctrl_data_queue_fid.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_ctrl_data_queue_fid" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_ctrl_data_queue_fid" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_ctrl_data_queue_fid \- Controller Data Queue - Set Feature .SH SYNOPSIS diff --git a/doc/man/nvme_lm_ctrl_data_queue_fid_data.2 b/doc/man/nvme_lm_ctrl_data_queue_fid_data.2 index a8af14a9..df031abe 100644 --- a/doc/man/nvme_lm_ctrl_data_queue_fid_data.2 +++ b/doc/man/nvme_lm_ctrl_data_queue_fid_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_ctrl_data_queue_fid_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_ctrl_data_queue_fid_data" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_ctrl_data_queue_fid_data \- Get Controller Data Queue feature data .SH SYNOPSIS diff --git a/doc/man/nvme_lm_io_completion_queue_data.2 b/doc/man/nvme_lm_io_completion_queue_data.2 index bb0180e6..5d10e098 100644 --- a/doc/man/nvme_lm_io_completion_queue_data.2 +++ b/doc/man/nvme_lm_io_completion_queue_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_io_completion_queue_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_io_completion_queue_data" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_io_completion_queue_data \- I/O Completion Queue data structure. Fields related to the contents of Create I/O Completion Queue command that created an I/O Completion Queue. .SH SYNOPSIS diff --git a/doc/man/nvme_lm_io_submission_queue_data.2 b/doc/man/nvme_lm_io_submission_queue_data.2 index 34b5376b..12932757 100644 --- a/doc/man/nvme_lm_io_submission_queue_data.2 +++ b/doc/man/nvme_lm_io_submission_queue_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_io_submission_queue_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_io_submission_queue_data" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_io_submission_queue_data \- I/O Submission Queue data structure. Fields related to the contents of Create I/O Submission Queue command that created an I/O Submission Queue. .SH SYNOPSIS diff --git a/doc/man/nvme_lm_migration_recv_fields.2 b/doc/man/nvme_lm_migration_recv_fields.2 index b5e19668..fa33617c 100644 --- a/doc/man/nvme_lm_migration_recv_fields.2 +++ b/doc/man/nvme_lm_migration_recv_fields.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_migration_recv_fields" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_migration_recv_fields" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_migration_recv_fields \- Migration Receive command fields .SH SYNOPSIS diff --git a/doc/man/nvme_lm_migration_send.2 b/doc/man/nvme_lm_migration_send.2 index a5011382..339092c9 100644 --- a/doc/man/nvme_lm_migration_send.2 +++ b/doc/man/nvme_lm_migration_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_lm_migration_send" 9 "nvme_lm_migration_send" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lm_migration_send" 9 "nvme_lm_migration_send" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_lm_migration_send \- Migration Send command .SH SYNOPSIS diff --git a/doc/man/nvme_lm_migration_send_fields.2 b/doc/man/nvme_lm_migration_send_fields.2 index 92dd0843..151dbdfb 100644 --- a/doc/man/nvme_lm_migration_send_fields.2 +++ b/doc/man/nvme_lm_migration_send_fields.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_migration_send_fields" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_migration_send_fields" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_migration_send_fields \- Migration Send command fields .SH SYNOPSIS diff --git a/doc/man/nvme_lm_nvme_controller_state_data.2 b/doc/man/nvme_lm_nvme_controller_state_data.2 index dbb703c5..cc8ac9e6 100644 --- a/doc/man/nvme_lm_nvme_controller_state_data.2 +++ b/doc/man/nvme_lm_nvme_controller_state_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_nvme_controller_state_data" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_nvme_controller_state_data" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_nvme_controller_state_data \- NVMe Controller State data structure describes the state of a NVMe Controller's I/O Submission and I/O Completion queues .SH SYNOPSIS diff --git a/doc/man/nvme_lm_nvme_controller_state_data_header.2 b/doc/man/nvme_lm_nvme_controller_state_data_header.2 index b713638d..6b85a689 100644 --- a/doc/man/nvme_lm_nvme_controller_state_data_header.2 +++ b/doc/man/nvme_lm_nvme_controller_state_data_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lm_nvme_controller_state_data_header" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lm_nvme_controller_state_data_header" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lm_nvme_controller_state_data_header \- Controller State data structure header .SH SYNOPSIS diff --git a/doc/man/nvme_lm_queue_attributes.2 b/doc/man/nvme_lm_queue_attributes.2 index 6f0d4780..1853034d 100644 --- a/doc/man/nvme_lm_queue_attributes.2 +++ b/doc/man/nvme_lm_queue_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_queue_attributes" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_queue_attributes" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_queue_attributes \- I/O Submission and I/O Completion Queue Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_lm_track_send.2 b/doc/man/nvme_lm_track_send.2 index f74b9843..11bff744 100644 --- a/doc/man/nvme_lm_track_send.2 +++ b/doc/man/nvme_lm_track_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_lm_track_send" 9 "nvme_lm_track_send" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lm_track_send" 9 "nvme_lm_track_send" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_lm_track_send \- Track Send command .SH SYNOPSIS diff --git a/doc/man/nvme_lm_track_send_fields.2 b/doc/man/nvme_lm_track_send_fields.2 index ee86366f..699a53ba 100644 --- a/doc/man/nvme_lm_track_send_fields.2 +++ b/doc/man/nvme_lm_track_send_fields.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lm_track_send_fields" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lm_track_send_fields" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lm_track_send_fields \- Track Send command fields .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown.2 b/doc/man/nvme_lockdown.2 index a3a8ec20..e1595723 100644 --- a/doc/man/nvme_lockdown.2 +++ b/doc/man/nvme_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_lockdown" 9 "nvme_lockdown" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lockdown" 9 "nvme_lockdown" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_lockdown \- Issue lockdown command .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown_log.2 b/doc/man/nvme_lockdown_log.2 index 1c0b5c9c..294b508a 100644 --- a/doc/man/nvme_lockdown_log.2 +++ b/doc/man/nvme_lockdown_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lockdown_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lockdown_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_lockdown_log \- Command and Feature Lockdown Log .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown_log_contents.2 b/doc/man/nvme_lockdown_log_contents.2 index 1ebe56a6..62457bc9 100644 --- a/doc/man/nvme_lockdown_log_contents.2 +++ b/doc/man/nvme_lockdown_log_contents.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lockdown_log_contents" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lockdown_log_contents" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lockdown_log_contents \- lockdown log page content attributes .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown_log_scope.2 b/doc/man/nvme_lockdown_log_scope.2 index 8f9cfa6e..5e6725ef 100644 --- a/doc/man/nvme_lockdown_log_scope.2 +++ b/doc/man/nvme_lockdown_log_scope.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lockdown_log_scope" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lockdown_log_scope" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lockdown_log_scope \- lockdown log page scope attributes .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown_scope_contents.2 b/doc/man/nvme_lockdown_scope_contents.2 index d71f7004..02518c73 100644 --- a/doc/man/nvme_lockdown_scope_contents.2 +++ b/doc/man/nvme_lockdown_scope_contents.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lockdown_scope_contents" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lockdown_scope_contents" "May 2025" "API Manual" LINUX .SH NAME enum nvme_lockdown_scope_contents \- Lockdown Log shift and mask .SH SYNOPSIS diff --git a/doc/man/nvme_log_ana_lsp.2 b/doc/man/nvme_log_ana_lsp.2 index 61b782ae..eea02e11 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_ana_lsp" "May 2025" "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 9d562711..8dfd11bf 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "May 2025" "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 aa8f54c5..2f9445b4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "May 2025" "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 cacc00ad..00664d02 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "May 2025" "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 c1c130f7..2c3d6ed8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lookup_host" 9 "nvme_lookup_host" "May 2025" "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 f7abad43..8c38efff 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lookup_key" 9 "nvme_lookup_key" "May 2025" "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 e600e3d7..744889b8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "May 2025" "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 4abf96aa..f09c24bd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "May 2025" "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 ab1f395b..0b7ba9c3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "May 2025" "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 8f0e12c6..a15206a6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "May 2025" "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 9e82b4ea..72934a8d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "May 2025" "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 9440b627..481df3b2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_metadata_element_desc" "May 2025" "API Manual" LINUX .SH NAME struct nvme_metadata_element_desc \- Metadata Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mgmt_addr_desc.2 b/doc/man/nvme_mgmt_addr_desc.2 index 3c0ec213..95661d20 100644 --- a/doc/man/nvme_mgmt_addr_desc.2 +++ b/doc/man/nvme_mgmt_addr_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mgmt_addr_desc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mgmt_addr_desc" "May 2025" "API Manual" LINUX .SH NAME struct nvme_mgmt_addr_desc \- Management Address Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mgmt_addr_list_log.2 b/doc/man/nvme_mgmt_addr_list_log.2 index 5dcb326f..8fbe1968 100644 --- a/doc/man/nvme_mgmt_addr_list_log.2 +++ b/doc/man/nvme_mgmt_addr_list_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mgmt_addr_list_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mgmt_addr_list_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_mgmt_addr_list_log \- Management Address List Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_admin_passthru.2 b/doc/man/nvme_mi_admin_admin_passthru.2 index 51fde635..1dd80e2e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "May 2025" "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 0a075f7f..e8b440e3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "May 2025" "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 8f18c99e..837a122b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "May 2025" "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 cd8e81a9..af522f28 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "May 2025" "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_ana_log_atomic.2 b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 index 58050517..e7167576 100644 --- a/doc/man/nvme_mi_admin_get_ana_log_atomic.2 +++ b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_ana_log_atomic" 9 "nvme_mi_admin_get_ana_log_atomic" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_ana_log_atomic" 9 "nvme_mi_admin_get_ana_log_atomic" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_endgid_log.2 b/doc/man/nvme_mi_admin_get_endgid_log.2 index e6003f08..6d3646a7 100644 --- a/doc/man/nvme_mi_admin_get_endgid_log.2 +++ b/doc/man/nvme_mi_admin_get_endgid_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_endgid_log" 9 "nvme_mi_admin_get_endgid_log" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_endgid_log" 9 "nvme_mi_admin_get_endgid_log" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_endgid_log \- Helper for Get Endurance Group ID Log Page functions .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 e7ba546c..f2da617b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "May 2025" "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 584cc165..30b26e54 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "May 2025" "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 889ac3dc..e28ef809 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "May 2025" "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 37d93837..fe770691 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "May 2025" "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_ave_discover.2 b/doc/man/nvme_mi_admin_get_log_ave_discover.2 index 564b987c..e1c9f55f 100644 --- a/doc/man/nvme_mi_admin_get_log_ave_discover.2 +++ b/doc/man/nvme_mi_admin_get_log_ave_discover.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ave_discover" 9 "nvme_mi_admin_get_log_ave_discover" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ave_discover" 9 "nvme_mi_admin_get_log_ave_discover" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ave_discover \- Retrieve AVE Discovery Log .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 5999fe5f..aaf3d6d8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "May 2025" "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_alloc_ns_list.2 b/doc/man/nvme_mi_admin_get_log_changed_alloc_ns_list.2 index e167849c..1704a190 100644 --- a/doc/man/nvme_mi_admin_get_log_changed_alloc_ns_list.2 +++ b/doc/man/nvme_mi_admin_get_log_changed_alloc_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_changed_alloc_ns_list" 9 "nvme_mi_admin_get_log_changed_alloc_ns_list" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_changed_alloc_ns_list" 9 "nvme_mi_admin_get_log_changed_alloc_ns_list" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_changed_alloc_ns_list \- Retrieve Changed Allocated Namespace List Log .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 2632bdfa..d3fa14b5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "May 2025" "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 3c835624..0123f2bf 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "May 2025" "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 5f56d7c9..13fb5ead 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "May 2025" "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_create_telemetry_host_mcda.2 b/doc/man/nvme_mi_admin_get_log_create_telemetry_host_mcda.2 index 7d1768d9..c5db5eef 100644 --- a/doc/man/nvme_mi_admin_get_log_create_telemetry_host_mcda.2 +++ b/doc/man/nvme_mi_admin_get_log_create_telemetry_host_mcda.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_create_telemetry_host_mcda" 9 "nvme_mi_admin_get_log_create_telemetry_host_mcda" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_create_telemetry_host_mcda" 9 "nvme_mi_admin_get_log_create_telemetry_host_mcda" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_create_telemetry_host_mcda \- 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 f15f3663..6fb82436 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "May 2025" "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 a748f032..c84baef1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "May 2025" "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_dispersed_ns_participating_nss.2 b/doc/man/nvme_mi_admin_get_log_dispersed_ns_participating_nss.2 index 47ef7e76..864e97ee 100644 --- a/doc/man/nvme_mi_admin_get_log_dispersed_ns_participating_nss.2 +++ b/doc/man/nvme_mi_admin_get_log_dispersed_ns_participating_nss.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_dispersed_ns_participating_nss" 9 "nvme_mi_admin_get_log_dispersed_ns_participating_nss" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_dispersed_ns_participating_nss" 9 "nvme_mi_admin_get_log_dispersed_ns_participating_nss" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_dispersed_ns_participating_nss \- Retrieve Dispersed Namespace Participating NVM Subsystems Log .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 26586369..37e023e5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "May 2025" "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 49f739ed..d727cd3c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "May 2025" "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 a703757e..680efd99 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "May 2025" "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 55a37b2f..faf1b4ab 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "May 2025" "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 8c285621..818d52b2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "May 2025" "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_host_discover.2 b/doc/man/nvme_mi_admin_get_log_host_discover.2 index beb90a20..32c99e58 100644 --- a/doc/man/nvme_mi_admin_get_log_host_discover.2 +++ b/doc/man/nvme_mi_admin_get_log_host_discover.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_host_discover" 9 "nvme_mi_admin_get_log_host_discover" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_host_discover" 9 "nvme_mi_admin_get_log_host_discover" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_host_discover \- Retrieve Host Discovery 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 6bdf227e..7f892eb4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "May 2025" "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_lockdown.2 b/doc/man/nvme_mi_admin_get_log_lockdown.2 index cfdc016c..6f8347be 100644 --- a/doc/man/nvme_mi_admin_get_log_lockdown.2 +++ b/doc/man/nvme_mi_admin_get_log_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_lockdown" 9 "nvme_mi_admin_get_log_lockdown" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_lockdown" 9 "nvme_mi_admin_get_log_lockdown" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_lockdown \- Retrieve lockdown Log .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 81a2568f..16a9853a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "May 2025" "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_mgmt_addr_list.2 b/doc/man/nvme_mi_admin_get_log_mgmt_addr_list.2 index a203a391..3b7a4ef6 100644 --- a/doc/man/nvme_mi_admin_get_log_mgmt_addr_list.2 +++ b/doc/man/nvme_mi_admin_get_log_mgmt_addr_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_mgmt_addr_list" 9 "nvme_mi_admin_get_log_mgmt_addr_list" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_mgmt_addr_list" 9 "nvme_mi_admin_get_log_mgmt_addr_list" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_mgmt_addr_list \- Retrieve Management Address List Log .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 f3d6191b..f612cc0c 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" "April 2025" "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 2025" "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 7f245a3c..a2b2c957 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "May 2025" "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 33948ce5..7287415d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "May 2025" "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 eb16f6be..16369bd2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "May 2025" "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 aed55f03..de831f4f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "May 2025" "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 78f72ba0..5246e88e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "May 2025" "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_pull_model_ddc_req.2 b/doc/man/nvme_mi_admin_get_log_pull_model_ddc_req.2 index 15be85cd..614dcf87 100644 --- a/doc/man/nvme_mi_admin_get_log_pull_model_ddc_req.2 +++ b/doc/man/nvme_mi_admin_get_log_pull_model_ddc_req.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_pull_model_ddc_req" 9 "nvme_mi_admin_get_log_pull_model_ddc_req" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_pull_model_ddc_req" 9 "nvme_mi_admin_get_log_pull_model_ddc_req" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_pull_model_ddc_req \- Retrieve Pull Model DDC Request Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_reachability_associations.2 b/doc/man/nvme_mi_admin_get_log_reachability_associations.2 index 17ea1957..2f3af1f1 100644 --- a/doc/man/nvme_mi_admin_get_log_reachability_associations.2 +++ b/doc/man/nvme_mi_admin_get_log_reachability_associations.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_reachability_associations" 9 "nvme_mi_admin_get_log_reachability_associations" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reachability_associations" 9 "nvme_mi_admin_get_log_reachability_associations" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_reachability_associations \- Retrieve Reachability Associations Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_reachability_groups.2 b/doc/man/nvme_mi_admin_get_log_reachability_groups.2 index e3b9ac64..76027cd2 100644 --- a/doc/man/nvme_mi_admin_get_log_reachability_groups.2 +++ b/doc/man/nvme_mi_admin_get_log_reachability_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_reachability_groups" 9 "nvme_mi_admin_get_log_reachability_groups" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reachability_groups" 9 "nvme_mi_admin_get_log_reachability_groups" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_reachability_groups \- Retrieve Reachability Groups Log .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 dee8ce66..1f6b9a7f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "May 2025" "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_rotational_media_info.2 b/doc/man/nvme_mi_admin_get_log_rotational_media_info.2 index e8d16485..9f7e0552 100644 --- a/doc/man/nvme_mi_admin_get_log_rotational_media_info.2 +++ b/doc/man/nvme_mi_admin_get_log_rotational_media_info.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_rotational_media_info" 9 "nvme_mi_admin_get_log_rotational_media_info" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_rotational_media_info" 9 "nvme_mi_admin_get_log_rotational_media_info" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_rotational_media_info \- Retrieve Rotational Media Information Log .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 19b7b6cb..ce38bc65 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "May 2025" "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 b085cf0c..c2d68c45 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "May 2025" "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 e34258d3..a4bc9719 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "May 2025" "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 d4faa454..416f4978 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" "April 2025" "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 2025" "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 f64f10a5..ad2c606a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "May 2025" "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 fd434696..dae37f85 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "May 2025" "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 e6091d79..6661f0c0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "May 2025" "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 7632a481..37a6433d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "May 2025" "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 063cd461..174a2fc9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "May 2025" "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 9eb43b55..13b6293e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "May 2025" "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 f6da0062..ba2c6f13 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "May 2025" "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 3a7af590..421596be 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "May 2025" "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 51e5440a..e76ad0ba 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "May 2025" "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 fb917c82..66e4dab7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "May 2025" "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 6f33ffe0..cd6850e9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "May 2025" "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 4b492ffd..27dd1c5f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "May 2025" "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 db07c6dc..646f132d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "May 2025" "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 96f68c3f..928fefc8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "May 2025" "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 b1a1db31..d6c83996 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "May 2025" "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 540f7095..e45a8055 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "May 2025" "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 b9434d86..f765db07 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "May 2025" "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 9174849f..019d3b7c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "May 2025" "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 2226b60f..a1ee82de 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "May 2025" "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 888f6327..54484713 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "May 2025" "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 2b2fc962..29f68338 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "May 2025" "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 6052b200..2913ea72 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "May 2025" "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 eb4530b7..8bad00f0 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "May 2025" "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 535e572f..0fc43399 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "May 2025" "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 8b40a736..59eab633 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "May 2025" "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 59fb3d15..94b13aa5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "May 2025" "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 cacc5049..0a0fcc83 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_xfer \- Raw admin transfer interface. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_aem_aeei_get_aee.2 b/doc/man/nvme_mi_aem_aeei_get_aee.2 new file mode 100644 index 00000000..01610884 --- /dev/null +++ b/doc/man/nvme_mi_aem_aeei_get_aee.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aeei_get_aee" 9 "nvme_mi_aem_aeei_get_aee" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeei_get_aee \- return aee from aeei field +.SH SYNOPSIS +.B "bool" nvme_mi_aem_aeei_get_aee +.BI "(__le16 aeei " ");" +.SH ARGUMENTS +.IP "aeei" 12 +aeei field from \fInvme_mi_aem_enable_item\fP +.SH "RETURN" +aee value diff --git a/doc/man/nvme_mi_aem_aeei_get_aeeid.2 b/doc/man/nvme_mi_aem_aeei_get_aeeid.2 new file mode 100644 index 00000000..16278320 --- /dev/null +++ b/doc/man/nvme_mi_aem_aeei_get_aeeid.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aeei_get_aeeid" 9 "nvme_mi_aem_aeei_get_aeeid" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeei_get_aeeid \- return aeeid from aeei field +.SH SYNOPSIS +.B "__u8" nvme_mi_aem_aeei_get_aeeid +.BI "(__le16 aeei " ");" +.SH ARGUMENTS +.IP "aeei" 12 +aeei field from \fInvme_mi_aem_enable_item\fP +.SH "RETURN" +aeeid value diff --git a/doc/man/nvme_mi_aem_aeei_set_aee.2 b/doc/man/nvme_mi_aem_aeei_set_aee.2 new file mode 100644 index 00000000..8d5d3d02 --- /dev/null +++ b/doc/man/nvme_mi_aem_aeei_set_aee.2 @@ -0,0 +1,12 @@ +.TH "nvme_mi_aem_aeei_set_aee" 9 "nvme_mi_aem_aeei_set_aee" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeei_set_aee \- set aee in the aeei field +.SH SYNOPSIS +.B "void" nvme_mi_aem_aeei_set_aee +.BI "(struct nvme_mi_aem_enable_item *item " "," +.BI "bool enabled " ");" +.SH ARGUMENTS +.IP "item" 12 +Pointer to \fInvme_mi_aem_enable_item\fP to update the aee field +.IP "enabled" 12 +aee value to use diff --git a/doc/man/nvme_mi_aem_aeei_set_aeeid.2 b/doc/man/nvme_mi_aem_aeei_set_aeeid.2 new file mode 100644 index 00000000..1d70507a --- /dev/null +++ b/doc/man/nvme_mi_aem_aeei_set_aeeid.2 @@ -0,0 +1,12 @@ +.TH "nvme_mi_aem_aeei_set_aeeid" 9 "nvme_mi_aem_aeei_set_aeeid" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeei_set_aeeid \- set aeeid in the aeei field +.SH SYNOPSIS +.B "void" nvme_mi_aem_aeei_set_aeeid +.BI "(struct nvme_mi_aem_enable_item *item " "," +.BI "__u8 aeeid " ");" +.SH ARGUMENTS +.IP "item" 12 +Pointer to \fInvme_mi_aem_enable_item\fP to update the aeei field +.IP "aeeid" 12 +aeeid value to use diff --git a/doc/man/nvme_mi_aem_aemti_get_aemgn.2 b/doc/man/nvme_mi_aem_aemti_get_aemgn.2 new file mode 100644 index 00000000..caacd2b8 --- /dev/null +++ b/doc/man/nvme_mi_aem_aemti_get_aemgn.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aemti_get_aemgn" 9 "nvme_mi_aem_aemti_get_aemgn" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aemti_get_aemgn \- return aemgn from aemti field +.SH SYNOPSIS +.B "__u8" nvme_mi_aem_aemti_get_aemgn +.BI "(__u8 aemti " ");" +.SH ARGUMENTS +.IP "aemti" 12 +aemti field from \fInvme_mi_aem_occ_list_hdr\fP +.SH "RETURN" +aemgn value diff --git a/doc/man/nvme_mi_aem_aeolli_get_aeoltl.2 b/doc/man/nvme_mi_aem_aeolli_get_aeoltl.2 new file mode 100644 index 00000000..dda844d9 --- /dev/null +++ b/doc/man/nvme_mi_aem_aeolli_get_aeoltl.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aeolli_get_aeoltl" 9 "nvme_mi_aem_aeolli_get_aeoltl" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeolli_get_aeoltl \- return aeoltl from aeolli field +.SH SYNOPSIS +.B "__u32" nvme_mi_aem_aeolli_get_aeoltl +.BI "(__u8 *aeolli " ");" +.SH ARGUMENTS +.IP "aeolli" 12 +Pointer to 3 byte aeolli field from \fInvme_mi_aem_occ_list_hdr\fP +.SH "RETURN" +aeoltl value diff --git a/doc/man/nvme_mi_aem_aeolli_set_aeoltl.2 b/doc/man/nvme_mi_aem_aeolli_set_aeoltl.2 new file mode 100644 index 00000000..1e44ac9c --- /dev/null +++ b/doc/man/nvme_mi_aem_aeolli_set_aeoltl.2 @@ -0,0 +1,12 @@ +.TH "nvme_mi_aem_aeolli_set_aeoltl" 9 "nvme_mi_aem_aeolli_set_aeoltl" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aeolli_set_aeoltl \- set aeoltl in the aeolli field +.SH SYNOPSIS +.B "void" nvme_mi_aem_aeolli_set_aeoltl +.BI "(struct nvme_mi_aem_occ_list_hdr *hdr " "," +.BI "__u32 aeoltl " ");" +.SH ARGUMENTS +.IP "hdr" 12 +Pointer to \fInvme_mi_aem_occ_list_hdr\fP to set the aeolli field +.IP "aeoltl" 12 +aeoltl value to use diff --git a/doc/man/nvme_mi_aem_aesi_get_aese.2 b/doc/man/nvme_mi_aem_aesi_get_aese.2 new file mode 100644 index 00000000..b5fc851c --- /dev/null +++ b/doc/man/nvme_mi_aem_aesi_get_aese.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aesi_get_aese" 9 "nvme_mi_aem_aesi_get_aese" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aesi_get_aese \- return aese from aesi field +.SH SYNOPSIS +.B "bool" nvme_mi_aem_aesi_get_aese +.BI "(__le16 aesi " ");" +.SH ARGUMENTS +.IP "aesi" 12 +aesi field from \fInvme_mi_aem_supported_item\fP +.SH "RETURN" +A bool representing the aese value diff --git a/doc/man/nvme_mi_aem_aesi_get_aesid.2 b/doc/man/nvme_mi_aem_aesi_get_aesid.2 new file mode 100644 index 00000000..f6df3b26 --- /dev/null +++ b/doc/man/nvme_mi_aem_aesi_get_aesid.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_aesi_get_aesid" 9 "nvme_mi_aem_aesi_get_aesid" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aesi_get_aesid \- return aesid from aesi field +.SH SYNOPSIS +.B "__u8" nvme_mi_aem_aesi_get_aesid +.BI "(__le16 aesi " ");" +.SH ARGUMENTS +.IP "aesi" 12 +aesi field from \fInvme_mi_aem_supported_item\fP +.SH "RETURN" +aesid value diff --git a/doc/man/nvme_mi_aem_aesi_set_aee.2 b/doc/man/nvme_mi_aem_aesi_set_aee.2 new file mode 100644 index 00000000..9286e0cc --- /dev/null +++ b/doc/man/nvme_mi_aem_aesi_set_aee.2 @@ -0,0 +1,12 @@ +.TH "nvme_mi_aem_aesi_set_aee" 9 "nvme_mi_aem_aesi_set_aee" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aesi_set_aee \- set aee in the aesi field +.SH SYNOPSIS +.B "void" nvme_mi_aem_aesi_set_aee +.BI "(struct nvme_mi_aem_supported_item *item " "," +.BI "bool enabled " ");" +.SH ARGUMENTS +.IP "item" 12 +Pointer to \fInvme_mi_aem_supported_item\fP to update the aesi field +.IP "enabled" 12 +aee value to use diff --git a/doc/man/nvme_mi_aem_aesi_set_aesid.2 b/doc/man/nvme_mi_aem_aesi_set_aesid.2 new file mode 100644 index 00000000..a2f5ce52 --- /dev/null +++ b/doc/man/nvme_mi_aem_aesi_set_aesid.2 @@ -0,0 +1,12 @@ +.TH "nvme_mi_aem_aesi_set_aesid" 9 "nvme_mi_aem_aesi_set_aesid" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_aesi_set_aesid \- set aesid in the aesi field +.SH SYNOPSIS +.B "void" nvme_mi_aem_aesi_set_aesid +.BI "(struct nvme_mi_aem_supported_item *item " "," +.BI "__u8 aesid " ");" +.SH ARGUMENTS +.IP "item" 12 +Pointer to \fInvme_mi_aem_supported_item\fP to update the aesi field +.IP "aesid" 12 +aesid value to use diff --git a/doc/man/nvme_mi_aem_config.2 b/doc/man/nvme_mi_aem_config.2 new file mode 100644 index 00000000..a03f28fb --- /dev/null +++ b/doc/man/nvme_mi_aem_config.2 @@ -0,0 +1,43 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_config" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_config \- Provided for nvme_mi_aem_enable +.SH SYNOPSIS +struct nvme_mi_aem_config { +.br +.BI " enum nvme_mi_aem_handler_next_action (*aem_handler)(nvme_mi_ep_t ep,size_t num_events, void *userdata);" +.br +.BI " struct nvme_mi_aem_enabled_map enabled_map;" +.br +.BI " bool envfa;" +.br +.BI " bool empfa;" +.br +.BI " bool encfa;" +.br +.BI " __u8 aemd;" +.br +.BI " __u8 aerd;" +.br +.BI " +}; +.br + +.SH Members +.IP "aem_handler" 12 +Callback function for application processing of events +.IP "enabled_map" 12 +Map indicating which AE should be enabled on the endpoint +.IP "envfa" 12 +Enable SR-IOV virtual functions AE +.IP "empfa" 12 +Enable SR-IOV physical functions AE +.IP "encfa" 12 +Enable PCIe functions AE +.IP "aemd" 12 +AEM Delay (time in seconds from when event happens to AEM being batched and sent) +.IP "aerd" 12 +AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint) +.SH "Description" +Application callbacks for nvme_mi_aem_process will be able to call +nvme_mi_aem_get_next_event which will return a pointer to such an identifier +for the next event the application should parse diff --git a/doc/man/nvme_mi_aem_disable.2 b/doc/man/nvme_mi_aem_disable.2 new file mode 100644 index 00000000..25df40d1 --- /dev/null +++ b/doc/man/nvme_mi_aem_disable.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_disable" 9 "nvme_mi_aem_disable" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_disable \- Disable AE on the provided endpoint +.SH SYNOPSIS +.B "int" nvme_mi_aem_disable +.BI "(nvme_mi_ep_t ep " ");" +.SH ARGUMENTS +.IP "ep" 12 +Endpoint to disable AEs +.SH "RETURN" +0 is a success, nonzero is an error and errno may be read for further details diff --git a/doc/man/nvme_mi_aem_enable.2 b/doc/man/nvme_mi_aem_enable.2 new file mode 100644 index 00000000..9883099e --- /dev/null +++ b/doc/man/nvme_mi_aem_enable.2 @@ -0,0 +1,28 @@ +.TH "nvme_mi_aem_enable" 9 "nvme_mi_aem_enable" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_enable \- Enable AE on the provided endpoint +.SH SYNOPSIS +.B "int" nvme_mi_aem_enable +.BI "(nvme_mi_ep_t ep " "," +.BI "struct nvme_mi_aem_config *config " "," +.BI "void *userdata " ");" +.SH ARGUMENTS +.IP "ep" 12 +Endpoint to enable AEs +.IP "config" 12 +AE configuraiton including which events are enabled and the callback function +.IP "userdata" 12 +Application provided context pointer for callback function +.SH "DESCRIPTION" +This function is called to enable AE on the endpoint. Endpoint will provide initial state +(if any) of enabled AEs and application can parse those via the aem_handler fn pointer in +callbacks. Thes can be obtained in the callback by calling \fBnvme_mi_aem_get_next_event\fP. + +Application should poll the fd that can be obtained from nvme_mi_aem_get_fd and then call +\fBnvme_mi_aem_process\fP when \fBpoll\fP indicates data available. + +A call to \fBnvme_mi_aem_process\fP will grab AEM data and call the aem_handler fn pointer. +At this point the application can call \fBnvme_mi_aem_get_next_event\fP to get information for +each triggered event. +.SH "RETURN" +0 is a success, nonzero is an error and errno may be read for further details diff --git a/doc/man/nvme_mi_aem_enable_item.2 b/doc/man/nvme_mi_aem_enable_item.2 new file mode 100644 index 00000000..e59c39cb --- /dev/null +++ b/doc/man/nvme_mi_aem_enable_item.2 @@ -0,0 +1,19 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_enable_item" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_enable_item \- AE Enabled item entry +.SH SYNOPSIS +struct nvme_mi_aem_enable_item { +.br +.BI " __u8 aeel;" +.br +.BI " __le16 aeei;" +.br +.BI " +}; +.br + +.SH Members +.IP "aeel" 12 +AE Enable Length (length of this structure which is 3) +.IP "aeei" 12 +AE Enable Info diff --git a/doc/man/nvme_mi_aem_enable_list.2 b/doc/man/nvme_mi_aem_enable_list.2 new file mode 100644 index 00000000..5b7e257b --- /dev/null +++ b/doc/man/nvme_mi_aem_enable_list.2 @@ -0,0 +1,17 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_enable_list" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_enable_list \- AE enable list sent with SET CONFIG Asyncronous Event +.SH SYNOPSIS +struct nvme_mi_aem_enable_list { +.br +.BI " struct nvme_mi_aem_enable_list_header hdr;" +.br +.BI " +}; +.br + +.SH Members +.IP "hdr" 12 +AE enable list header +.SH "Description" +Following this header should be hdr.numaee entries of nvme_mi_aem_enable_item structures diff --git a/doc/man/nvme_mi_aem_enable_list_header.2 b/doc/man/nvme_mi_aem_enable_list_header.2 new file mode 100644 index 00000000..4eaec1fa --- /dev/null +++ b/doc/man/nvme_mi_aem_enable_list_header.2 @@ -0,0 +1,27 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_enable_list_header" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_enable_list_header \- AE Enable list header +.SH SYNOPSIS +struct nvme_mi_aem_enable_list_header { +.br +.BI " __u8 numaee;" +.br +.BI " __u8 aeelver;" +.br +.BI " __le16 aeetl;" +.br +.BI " __u8 aeelhl;" +.br +.BI " +}; +.br + +.SH Members +.IP "numaee" 12 +Number of AE enable items following the header +.IP "aeelver" 12 +Version of the AE enable list (zero) +.IP "aeetl" 12 +Total length of the AE enable list including header and items +.IP "aeelhl" 12 +Header length of this header (5) diff --git a/doc/man/nvme_mi_aem_get_enabled.2 b/doc/man/nvme_mi_aem_get_enabled.2 new file mode 100644 index 00000000..e334bea1 --- /dev/null +++ b/doc/man/nvme_mi_aem_get_enabled.2 @@ -0,0 +1,14 @@ +.TH "nvme_mi_aem_get_enabled" 9 "nvme_mi_aem_get_enabled" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_get_enabled \- Return information on which AEs are enabled +.SH SYNOPSIS +.B "int" nvme_mi_aem_get_enabled +.BI "(nvme_mi_ep_t ep " "," +.BI "struct nvme_mi_aem_enabled_map *enabled " ");" +.SH ARGUMENTS +.IP "ep" 12 +Endpoint to check enabled status +.IP "enabled" 12 +nvme_mi_aem_enabled_map indexed by AE event ID of enabled state +.SH "RETURN" +0 is a success, nonzero is an error and errno may be read for further details diff --git a/doc/man/nvme_mi_aem_get_fd.2 b/doc/man/nvme_mi_aem_get_fd.2 new file mode 100644 index 00000000..c5653c66 --- /dev/null +++ b/doc/man/nvme_mi_aem_get_fd.2 @@ -0,0 +1,14 @@ +.TH "nvme_mi_aem_get_fd" 9 "nvme_mi_aem_get_fd" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_get_fd \- Returns the pollable fd for AEM data available +.SH SYNOPSIS +.B "int" nvme_mi_aem_get_fd +.BI "(nvme_mi_ep_t ep " ");" +.SH ARGUMENTS +.IP "ep" 12 +The endpoint being monitored for asynchronous data +.SH "DESCRIPTION" +This populated structure can be polled from the application to understand if +a call to \fBnvme_mi_aem_process\fP is required (when a poll returns > 0). +.SH "RETURN" +The fd value or -1 if error diff --git a/doc/man/nvme_mi_aem_get_next_event.2 b/doc/man/nvme_mi_aem_get_next_event.2 new file mode 100644 index 00000000..c492a52b --- /dev/null +++ b/doc/man/nvme_mi_aem_get_next_event.2 @@ -0,0 +1,16 @@ +.TH "nvme_mi_aem_get_next_event" 9 "nvme_mi_aem_get_next_event" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_get_next_event \- Get details for the next event to parse +.SH SYNOPSIS +.B "struct nvme_mi_event *" nvme_mi_aem_get_next_event +.BI "(nvme_mi_ep_t ep " ");" +.SH ARGUMENTS +.IP "ep" 12 +The endpoint with the event +.SH "DESCRIPTION" +When inside a aem_handler, call this and a returned struct pointer +will provide details of event information. Will return NULL when end of parsing is occurred. +spec_info and vend_spec_info must be copied to persist as they will not be valid +after the handler_next_action has returned. +.SH "RETURN" +Pointer no next nvme_mi_event or NULL if this is the last one diff --git a/doc/man/nvme_mi_aem_handler_next_action.2 b/doc/man/nvme_mi_aem_handler_next_action.2 new file mode 100644 index 00000000..f96e1621 --- /dev/null +++ b/doc/man/nvme_mi_aem_handler_next_action.2 @@ -0,0 +1,20 @@ +.TH "libnvme" 9 "enum nvme_mi_aem_handler_next_action" "May 2025" "API Manual" LINUX +.SH NAME +enum nvme_mi_aem_handler_next_action \- Next action for the AEM state machine handler +.SH SYNOPSIS +enum nvme_mi_aem_handler_next_action { +.br +.BI " NVME_MI_AEM_HNA_ACK" +, +.br +.br +.BI " NVME_MI_AEM_HNA_NONE" + +}; +.SH Constants +.IP "NVME_MI_AEM_HNA_ACK" 12 +Send an ack for the AEM +.IP "NVME_MI_AEM_HNA_NONE" 12 +No further action +.SH "Description" +Used as return value for the AE callback generated when calling nvme_mi_aem_process diff --git a/doc/man/nvme_mi_aem_msg.2 b/doc/man/nvme_mi_aem_msg.2 new file mode 100644 index 00000000..6e1fb8c3 --- /dev/null +++ b/doc/man/nvme_mi_aem_msg.2 @@ -0,0 +1,27 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_msg" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_msg \- AEM Message definition. +.SH SYNOPSIS +struct nvme_mi_aem_msg { +.br +.BI " struct nvme_mi_msg_hdr hdr;" +.br +.BI " struct nvme_mi_aem_occ_list_hdr occ_list_hdr;" +.br +.BI " +}; +.br + +.SH Members +.IP "hdr" 12 +the general response message header +.IP "occ_list_hdr" 12 +ae occurrence list header. +.SH "Description" +Every ae message will start with one of these. The occ_list_hder wil define +information about how many ae occ data entries are included. Each entry is +defined by the nvme_mi_aem_occ_data structure which will follow the +occ_list_hdr. Each nvme_mi_aem_occ_data structure has a fixed length header +but a variable length payload ude to occurrence specific and vendor specific +info. For this reason, do not index the nvme_mi_ae_occ data structures by +array or fixed offset. diff --git a/doc/man/nvme_mi_aem_occ_data.2 b/doc/man/nvme_mi_aem_occ_data.2 new file mode 100644 index 00000000..d376d5c8 --- /dev/null +++ b/doc/man/nvme_mi_aem_occ_data.2 @@ -0,0 +1,42 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_occ_data" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_occ_data \- AEM Message definition. +.SH SYNOPSIS +struct nvme_mi_aem_occ_data { +.br +.BI " __u8 aelhlen;" +.br +.BI " __u8 aeosil;" +.br +.BI " __u8 aeovsil;" +.br +.BI " struct {" +.br +.BI " __u8 aeoi;" +.br +.BI " __le32 aeocidi;" +.br +.BI " __u8 aessi;" +.br +.BI " } aeoui;" +.br +.BI " +}; +.br + +.SH Members +.IP "aelhlen" 12 +AE Occurrence Header Length +.IP "aeosil" 12 +AE Occurrence Specific Info Length +.IP "aeovsil" 12 +AE Occurrence Vendor Specific Info Length +.IP "aeoui" 12 +AE Occurrence Unique ID made up of other subfields +.SH "Description" +A single entry of ae occurrence data that comes with an nvme_aem_msg. +Following this structure is variable length AEOSI (occurrence specific +info) and variable length AEVSI (vendor specific info). The length of +AEOSI is specified by aeosil and the length of AEVSI is specified by +AEVSI. Neither field is mandatory and shall be omitted if their length +parameter is set to zero. diff --git a/doc/man/nvme_mi_aem_occ_list_hdr.2 b/doc/man/nvme_mi_aem_occ_list_hdr.2 new file mode 100644 index 00000000..a52f5b8e --- /dev/null +++ b/doc/man/nvme_mi_aem_occ_list_hdr.2 @@ -0,0 +1,35 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_occ_list_hdr" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_occ_list_hdr \- AE occurrence list header +.SH SYNOPSIS +struct nvme_mi_aem_occ_list_hdr { +.br +.BI " __u8 numaeo;" +.br +.BI " __u8 aelver;" +.br +.BI " __u8 aeolli[3];" +.br +.BI " __u8 aeolhl;" +.br +.BI " __u8 aemti;" +.br +.BI " +}; +.br + +.SH Members +.IP "numaeo" 12 +Number of AE Occurrence Data Structures +.IP "aelver" 12 +AE Occurrence List Version Number +.IP "aeolli" 12 +AE Occurrence List Length Info (AEOLLI) +.IP "aeolhl" 12 +AE Occurrence List Header Length (shall be set to 7) +.IP "aemti" 12 +AEM Transmission Info +.SH "Description" +The header for the occurrence list. numaeo defines how many +nvme_mi_aem_occ_data structures (including variable payaloads) are included. +Following this header is each of the numaeo occurrence data structures. diff --git a/doc/man/nvme_mi_aem_open.2 b/doc/man/nvme_mi_aem_open.2 new file mode 100644 index 00000000..95cbbd7b --- /dev/null +++ b/doc/man/nvme_mi_aem_open.2 @@ -0,0 +1,11 @@ +.TH "nvme_mi_aem_open" 9 "nvme_mi_aem_open" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_open \- Prepare an existing endpoint to receive AEMs +.SH SYNOPSIS +.B "int" nvme_mi_aem_open +.BI "(nvme_mi_ep_t ep " ");" +.SH ARGUMENTS +.IP "ep" 12 +Endpoint to configure for AEMs +.SH "RETURN" +0 if success, -1 otherwise diff --git a/doc/man/nvme_mi_aem_process.2 b/doc/man/nvme_mi_aem_process.2 new file mode 100644 index 00000000..7d178829 --- /dev/null +++ b/doc/man/nvme_mi_aem_process.2 @@ -0,0 +1,20 @@ +.TH "nvme_mi_aem_process" 9 "nvme_mi_aem_process" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_mi_aem_process \- Process AEM on the provided endpoint +.SH SYNOPSIS +.B "int" nvme_mi_aem_process +.BI "(nvme_mi_ep_t ep " "," +.BI "void *userdata " ");" +.SH ARGUMENTS +.IP "ep" 12 +Endpoint to process +.IP "userdata" 12 +Application provided context pointer for callback function +.SH "DESCRIPTION" +Call this if \fBpoll\fP indicates data is available on the fd provided by \fBnvme_mi_aem_get_fd\fP + +This will call the fn pointer, aem_handler, provided with nvme_mi_aem_config and the +application can call \fBnvme_mi_aem_get_next_event\fP from within this callback to get +aem event data. The callback function should return NVME_MI_AEM_HNA_ACK for normal operation. +.SH "RETURN" +0 is a success, nonzero is an error and errno may be read for further details diff --git a/doc/man/nvme_mi_aem_supported_item.2 b/doc/man/nvme_mi_aem_supported_item.2 new file mode 100644 index 00000000..d242eff3 --- /dev/null +++ b/doc/man/nvme_mi_aem_supported_item.2 @@ -0,0 +1,22 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_supported_item" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_supported_item \- AE Supported List Item +.SH SYNOPSIS +struct nvme_mi_aem_supported_item { +.br +.BI " __u8 aesl;" +.br +.BI " __le16 aesi;" +.br +.BI " +}; +.br + +.SH Members +.IP "aesl" 12 +AE supported list item length +.IP "aesi" 12 +AE supported info +.SH "Description" +Following this header should be hdr.numaes entries of +nvme_mi_aem_supported_item structures diff --git a/doc/man/nvme_mi_aem_supported_list.2 b/doc/man/nvme_mi_aem_supported_list.2 new file mode 100644 index 00000000..4a685a8e --- /dev/null +++ b/doc/man/nvme_mi_aem_supported_list.2 @@ -0,0 +1,18 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_supported_list" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_supported_list \- AE Supported List received with GET CONFIG Asynchronous Event +.SH SYNOPSIS +struct nvme_mi_aem_supported_list { +.br +.BI " struct nvme_mi_aem_supported_list_header hdr;" +.br +.BI " +}; +.br + +.SH Members +.IP "hdr" 12 +AE supported list header +.SH "Description" +Following this header should be hdr.numaes entries of +nvme_mi_aem_supported_item structures diff --git a/doc/man/nvme_mi_aem_supported_list_header.2 b/doc/man/nvme_mi_aem_supported_list_header.2 new file mode 100644 index 00000000..03a72fe8 --- /dev/null +++ b/doc/man/nvme_mi_aem_supported_list_header.2 @@ -0,0 +1,29 @@ +.TH "libnvme" 9 "struct nvme_mi_aem_supported_list_header" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_aem_supported_list_header \- Asynchronous Event Supported List Header. +.SH SYNOPSIS +struct nvme_mi_aem_supported_list_header { +.br +.BI " __u8 numaes;" +.br +.BI " __u8 aeslver;" +.br +.BI " __le16 aest;" +.br +.BI " __u8 aeslhl;" +.br +.BI " +}; +.br + +.SH Members +.IP "numaes" 12 +Number of AE supported data structures that follow the header +.IP "aeslver" 12 +AE Supported List Version +.IP "aest" 12 +AE Supported list length (including this header) +.IP "aeslhl" 12 +AE Supported list header length +.SH "Description" +This header preceeds a number, (\fInumaes\fP), of AE supported data structures diff --git a/doc/man/nvme_mi_ccs.2 b/doc/man/nvme_mi_ccs.2 index 02fa77f1..1f5f35b2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_ccs" "May 2025" "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 961e3886..89d64d21 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_close" 9 "nvme_mi_close" "May 2025" "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 18655241..9c78876f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "May 2025" "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 60ad03bf..74f155a7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "May 2025" "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 83a1056e..606b2094 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "May 2025" "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 ea037748..0b2c51c8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_id" "May 2025" "API Manual" LINUX .SH NAME enum nvme_mi_config_id \- NVMe-MI Configuration identifier. .SH SYNOPSIS @@ -13,6 +13,10 @@ enum nvme_mi_config_id { .br .br .BI " NVME_MI_CONFIG_MCTP_MTU" +, +.br +.br +.BI " NVME_MI_CONFIG_AE" }; .SH Constants @@ -25,7 +29,8 @@ status poll. Only for Set ops. .IP "NVME_MI_CONFIG_MCTP_MTU" 12 MCTP maximum transmission unit size of port specified in dw 0 -.SH "Description" +.IP "NVME_MI_CONFIG_AE" 12 +Asynchronous Events configuration Configuration parameters for the MI Get/Set Configuration commands. - +.SH "Description" See &\fBnvme_mi_mi_config_get\fP and &\fBnvme_mi_config_set\fP. diff --git a/doc/man/nvme_mi_config_smbus_freq.2 b/doc/man/nvme_mi_config_smbus_freq.2 index c7e883a1..2009e8df 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "May 2025" "API Manual" LINUX .SH NAME enum nvme_mi_config_smbus_freq \- SMBus/I2C frequency values .SH SYNOPSIS diff --git a/doc/man/nvme_mi_control.2 b/doc/man/nvme_mi_control.2 index 24a19f05..e40ddd32 100644 --- a/doc/man/nvme_mi_control.2 +++ b/doc/man/nvme_mi_control.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_control" 9 "nvme_mi_control" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_control" 9 "nvme_mi_control" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_control \- Perform a Control Primitive command .SH SYNOPSIS diff --git a/doc/man/nvme_mi_control_opcode.2 b/doc/man/nvme_mi_control_opcode.2 index d5c9a9bb..fa49567a 100644 --- a/doc/man/nvme_mi_control_opcode.2 +++ b/doc/man/nvme_mi_control_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_control_opcode" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_control_opcode" "May 2025" "API Manual" LINUX .SH NAME enum nvme_mi_control_opcode \- Operation code for Control Primitives. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_control_req.2 b/doc/man/nvme_mi_control_req.2 index 46b3fb6f..b1d0a2de 100644 --- a/doc/man/nvme_mi_control_req.2 +++ b/doc/man/nvme_mi_control_req.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_control_req" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_control_req" "May 2025" "API Manual" LINUX .SH NAME struct nvme_mi_control_req \- The Control Primitive request. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_create_root.2 b/doc/man/nvme_mi_create_root.2 index 672fae29..84de394f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "May 2025" "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 450e1f87..5d7a7d92 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_csts" "May 2025" "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 e8e2ce04..a1174648 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "May 2025" "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 0d6bbdce..e7e7d3da 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "May 2025" "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 90c19fd1..9b8c89a7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cwarn" "May 2025" "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 d5a3cd23..574b9acd 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_dtyp" "May 2025" "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 d8853fa5..207a2c86 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_elem" "May 2025" "API Manual" LINUX .SH NAME enum nvme_mi_elem \- Element Descriptor Types .SH SYNOPSIS diff --git a/doc/man/nvme_mi_event.2 b/doc/man/nvme_mi_event.2 new file mode 100644 index 00000000..79f5621b --- /dev/null +++ b/doc/man/nvme_mi_event.2 @@ -0,0 +1,43 @@ +.TH "libnvme" 9 "struct nvme_mi_event" "May 2025" "API Manual" LINUX +.SH NAME +struct nvme_mi_event \- AE event information structure +.SH SYNOPSIS +struct nvme_mi_event { +.br +.BI " uint8_t aeoi;" +.br +.BI " uint8_t aessi;" +.br +.BI " uint32_t aeocidi;" +.br +.BI " void *spec_info;" +.br +.BI " size_t spec_info_len;" +.br +.BI " void *vend_spec_info;" +.br +.BI " size_t vend_spec_info_len;" +.br +.BI " +}; +.br + +.SH Members +.IP "aeoi" 12 +Event identifier +.IP "aessi" 12 +Event occurrence scope info +.IP "aeocidi" 12 +Event occurrence scope ID info +.IP "spec_info" 12 +Specific info buffer +.IP "spec_info_len" 12 +Length of specific info buffer +.IP "vend_spec_info" 12 +Vendor specific info buffer +.IP "vend_spec_info_len" 12 +Length of vendor specific info buffer +.SH "Description" +Application callbacks for nvme_mi_aem_process will be able to call +nvme_mi_aem_get_next_event which will return a pointer to such an identifier +for the next event the application should parse diff --git a/doc/man/nvme_mi_free_root.2 b/doc/man/nvme_mi_free_root.2 index e81fa9e2..2c09a852 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "May 2025" "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 150064a6..1ea52d15 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "May 2025" "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 a1ed56b1..4036d4f2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_message_type" "May 2025" "API Manual" LINUX .SH NAME enum nvme_mi_message_type \- NVMe-MI message type field. .SH SYNOPSIS @@ -17,6 +17,10 @@ enum nvme_mi_message_type { .br .br .BI " NVME_MI_MT_PCIE" +, +.br +.br +.BI " NVME_MI_MT_AE" }; .SH Constants @@ -28,6 +32,8 @@ NVMe-MI command NVMe Admin command .IP "NVME_MI_MT_PCIE" 12 PCIe command +.IP "NVME_MI_MT_AE" 12 +Asynchronous Event .SH "Description" Used as byte 1 of both request and response messages (NMIMT bits of NMP byte). Not to be confused with the MCTP message type in byte 0. diff --git a/doc/man/nvme_mi_mi_opcode.2 b/doc/man/nvme_mi_mi_opcode.2 index 9e77b04a..461d5205 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "May 2025" "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 df3a8785..0783e351 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "May 2025" "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 612fe308..3905c91d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "May 2025" "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 38e22aeb..7599abfd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "May 2025" "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 9fefb10f..e486cec7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "May 2025" "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 2bd345d7..d6ee317c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "May 2025" "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 ba7c92d7..d5b25f7f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "May 2025" "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 dd9e1a1f..8e55c908 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "May 2025" "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_mi_xfer.2 b/doc/man/nvme_mi_mi_xfer.2 index 0a0cc3bd..2d2353d0 100644 --- a/doc/man/nvme_mi_mi_xfer.2 +++ b/doc/man/nvme_mi_mi_xfer.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_xfer" 9 "nvme_mi_mi_xfer" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_mi_xfer" 9 "nvme_mi_mi_xfer" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_xfer \- Raw mi transfer interface. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_msg_hdr.2 b/doc/man/nvme_mi_msg_hdr.2 index ed9d5f86..2806ece6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "May 2025" "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 018f4d59..80c2d2f1 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_resp" "May 2025" "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 7d24dbf5..242e8ec6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "May 2025" "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 e94beaef..aad6dd5f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "May 2025" "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 0f62ea50..98cf4eec 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_osc" "May 2025" "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 5c6c0186..93440ba4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_pcie" "May 2025" "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 9eb42536..c1a34516 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_smb" "May 2025" "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 656dfd26..7b03fd99 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "May 2025" "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 35a1468d..36dee6a8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "May 2025" "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 3e22c572..b03a49c6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_port_info" "May 2025" "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 517111b9..a7843ed8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "May 2025" "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 72109004..f01e3536 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_resp_status" "May 2025" "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 4bdb6266..a730b6e9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "May 2025" "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 004a6b9d..edef10d9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "May 2025" "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 d9f16e95..c5c4d56f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "May 2025" "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 9b859d23..4ddcd043 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "May 2025" "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 9e5ede46..c4598763 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "May 2025" "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 6f206bc1..95984b12 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "May 2025" "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 56b5ff30..af49cc3b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "May 2025" "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 c7423d4b..3a3c4ffc 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "May 2025" "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 205c404e..abc89ddc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "May 2025" "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 1a66ea3c..71b4703e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "May 2025" "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 8b886386..212a6843 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "May 2025" "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 71258e9c..106db204 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "May 2025" "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 00fe9e13..f5e16c1c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "May 2025" "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 05b013bc..f3daa764 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "May 2025" "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 8d90326a..e9f9f978 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "May 2025" "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 98318e6c..8dccaae5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_nbft_free" 9 "nvme_nbft_free" "May 2025" "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 47fa1370..0a2acdde 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_nbft_read" 9 "nvme_nbft_read" "May 2025" "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 d9aeba98..1c4be158 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "May 2025" "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 5b199a95..12f731e4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_next_host" 9 "nvme_next_host" "May 2025" "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 93054731..dd345476 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "May 2025" "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 cfa74d97..3c655984 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_attach" 9 "nvme_ns_attach" "May 2025" "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 b790065d..def32341 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "May 2025" "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 099608e4..f415daf3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_attach_sel" "May 2025" "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 bfdb3d48..5ef4e180 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_compare" 9 "nvme_ns_compare" "May 2025" "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 914c5dbb..234f1108 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "May 2025" "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 d3cd4c70..37ee9121 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_flush" 9 "nvme_ns_flush" "May 2025" "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 ecf962bc..7131036c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "May 2025" "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 ad44028d..ba74558c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "May 2025" "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 7e0e641a..5dc1cac1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "May 2025" "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 6bb3ba08..77c90270 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "May 2025" "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 7798b467..7cc18d32 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "May 2025" "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 38bd2db8..a11094c6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "May 2025" "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 d741f477..f752540f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "May 2025" "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 84721ebf..0c5e9fc4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "May 2025" "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 691c0ef2..608d9fc5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "May 2025" "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 8dc41d5c..bef32f27 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "May 2025" "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 0923e835..99703aa8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "May 2025" "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 b5df2ee2..449aa2f5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "May 2025" "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 16721552..24fb361d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "May 2025" "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 05cc46b5..a4909e28 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "May 2025" "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 beb392b7..9e0275d8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "May 2025" "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 f4f38653..c3b4ccef 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "May 2025" "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 0beda26c..32545ff4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "May 2025" "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 76dffbf8..24ba2445 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "May 2025" "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 f684b0c1..f4382e5d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_id_desc" "May 2025" "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 4b4d7ff6..4b9b54b2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "May 2025" "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 650fbecf..5d79ad63 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_identify" 9 "nvme_ns_identify" "May 2025" "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 78be160e..edfaa34d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "May 2025" "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 26e4b1b2..388c7948 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_list" "May 2025" "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 5e1a6fe2..045cb10d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_metadata_type" "May 2025" "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 e7cde293..e1570541 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "May 2025" "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 62f2aaa9..3f806b72 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "May 2025" "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 17f9268d..717dd57b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "May 2025" "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 index 53fd17c2..4f130e3b 100644 --- a/doc/man/nvme_ns_mgmt_delete_timeout.2 +++ b/doc/man/nvme_ns_mgmt_delete_timeout.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_delete_timeout \- Delete a non attached namespace with timeout .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_host_sw_specified.2 b/doc/man/nvme_ns_mgmt_host_sw_specified.2 index be884520..810e1fde 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "May 2025" "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 5d131406..271a501f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "May 2025" "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 2fee28c1..fbd3b814 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_read" 9 "nvme_ns_read" "May 2025" "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 ebb3b20c..fa68f614 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "May 2025" "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 96d34d9d..ee46e31e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "May 2025" "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 b36c13cb..96d32f6e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_verify" 9 "nvme_ns_verify" "May 2025" "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 e3a2476e..63f80a3c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_write" 9 "nvme_ns_write" "May 2025" "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 cc068832..ca1247b5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "May 2025" "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 b8480203..24637b55 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "May 2025" "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 cdaa8113..ed02baf3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "May 2025" "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 3f424993..c6f12c46 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "May 2025" "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 e2de379d..db182c61 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvm_id_ns" "May 2025" "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 23a293ae..cf95ec7c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "May 2025" "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_id_ns_pif.2 b/doc/man/nvme_nvm_id_ns_pif.2 index c6fb5043..d7a10d21 100644 --- a/doc/man/nvme_nvm_id_ns_pif.2 +++ b/doc/man/nvme_nvm_id_ns_pif.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvm_id_ns_pif" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_pif" "May 2025" "API Manual" LINUX .SH NAME enum nvme_nvm_id_ns_pif \- This field indicates the type of the Protection Information Format .SH SYNOPSIS diff --git a/doc/man/nvme_nvm_identify_ctrl.2 b/doc/man/nvme_nvm_identify_ctrl.2 index 5bd54234..a39d0469 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "May 2025" "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 c1a01756..27e5c969 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "May 2025" "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 82420c36..6e5e37f4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_attr" "May 2025" "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 3c880bd7..2837f4b7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "May 2025" "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 d515f7a6..3d9a63d9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "May 2025" "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 173d937d..d6ba0935 100644 --- a/doc/man/nvme_open.2 +++ b/doc/man/nvme_open.2 @@ -1,4 +1,4 @@ -.TH "nvme_open" 9 "nvme_open" "April 2025" "libnvme API manual" LINUX +.TH "nvme_open" 9 "nvme_open" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_open \- Open an nvme controller or namespace device .SH SYNOPSIS diff --git a/doc/man/nvme_parse_uri.2 b/doc/man/nvme_parse_uri.2 index 891b9ddb..de50ffa8 100644 --- a/doc/man/nvme_parse_uri.2 +++ b/doc/man/nvme_parse_uri.2 @@ -1,4 +1,4 @@ -.TH "nvme_parse_uri" 9 "nvme_parse_uri" "April 2025" "libnvme API manual" LINUX +.TH "nvme_parse_uri" 9 "nvme_parse_uri" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_parse_uri \- Parse the URI string .SH SYNOPSIS diff --git a/doc/man/nvme_passthru_cmd.2 b/doc/man/nvme_passthru_cmd.2 index f59de510..3c3795f5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd" "May 2025" "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 80250381..0667baac 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd64" "May 2025" "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 96fcd569..45f6bf3b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "May 2025" "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 9ef27b3b..c7b4bb9a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "May 2025" "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 8080fc90..6e8cabde 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_path_get_name" 9 "nvme_path_get_name" "May 2025" "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 ce8ddfca..1f794656 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "May 2025" "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 11604d78..e9175562 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "May 2025" "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 d63f108c..48c522c4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_paths_filter" 9 "nvme_paths_filter" "May 2025" "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 index d70314a6..508c2c52 100644 --- a/doc/man/nvme_pel_ehai.2 +++ b/doc/man/nvme_pel_ehai.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pel_ehai \- This field indicates the persistent event header additional information .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai_pit.2 b/doc/man/nvme_pel_ehai_pit.2 index 1462487f..09799645 100644 --- a/doc/man/nvme_pel_ehai_pit.2 +++ b/doc/man/nvme_pel_ehai_pit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pel_ehai_pit \- Persistent Event Header Additional Information - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci.2 b/doc/man/nvme_pel_rci.2 index 681fdf21..645c4e1d 100644 --- a/doc/man/nvme_pel_rci.2 +++ b/doc/man/nvme_pel_rci.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pel_rci \- This field indicates the persistent event log reporting context .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci_rcpit.2 b/doc/man/nvme_pel_rci_rcpit.2 index ff1c807c..c886e9fa 100644 --- a/doc/man/nvme_pel_rci_rcpit.2 +++ b/doc/man/nvme_pel_rci_rcpit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pel_rci_rcpit \- Persistent Event Log Reporting Context - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_perf_attr_id.2 b/doc/man/nvme_perf_attr_id.2 index 2f1fe772..a0a5503d 100644 --- a/doc/man/nvme_perf_attr_id.2 +++ b/doc/man/nvme_perf_attr_id.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_perf_attr_id" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_perf_attr_id" "May 2025" "API Manual" LINUX .SH NAME struct nvme_perf_attr_id \- Performance attribute identifier structure .SH SYNOPSIS diff --git a/doc/man/nvme_perf_attr_id_list.2 b/doc/man/nvme_perf_attr_id_list.2 index 206f2e20..472f76b7 100644 --- a/doc/man/nvme_perf_attr_id_list.2 +++ b/doc/man/nvme_perf_attr_id_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_perf_attr_id_list" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_perf_attr_id_list" "May 2025" "API Manual" LINUX .SH NAME struct nvme_perf_attr_id_list \- Performance attribute identifier list structure .SH SYNOPSIS diff --git a/doc/man/nvme_perf_characteristics.2 b/doc/man/nvme_perf_characteristics.2 index b60963ea..a6519fb3 100644 --- a/doc/man/nvme_perf_characteristics.2 +++ b/doc/man/nvme_perf_characteristics.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_perf_characteristics" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_perf_characteristics" "May 2025" "API Manual" LINUX .SH NAME struct nvme_perf_characteristics \- Performance attribute structure .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_entry.2 b/doc/man/nvme_persistent_event_entry.2 index 45263236..7b36ee54 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_entry" "May 2025" "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 3f09d204..5c25365c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_log" "May 2025" "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 014fffad..cbc3c0ba 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_persistent_event_types" "May 2025" "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 ebc90600..ecb182e9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pevent_log_action" "May 2025" "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 d415d162..fc1998ef 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "May 2025" "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 5efd7d27..64897c75 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "May 2025" "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 9d0eae7e..4cca88a7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_plm_config" "May 2025" "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 67789559..ed877cc4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_pmr_size" 9 "nvme_pmr_size" "May 2025" "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 b33a0579..11bd445a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "May 2025" "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 index 18968445..36590dbd 100644 --- a/doc/man/nvme_pmrcap.2 +++ b/doc/man/nvme_pmrcap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrcap" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrcap" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrcap \- This field indicates the persistent memory region capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_pmrctl.2 b/doc/man/nvme_pmrctl.2 index e05991a4..a5f6e10f 100644 --- a/doc/man/nvme_pmrctl.2 +++ b/doc/man/nvme_pmrctl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrctl" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrctl" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrctl \- This field indicates the persistent memory region control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrebs.2 b/doc/man/nvme_pmrebs.2 index 49e9ca66..5bf07974 100644 --- a/doc/man/nvme_pmrebs.2 +++ b/doc/man/nvme_pmrebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrebs" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrebs" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrebs \- This field indicates the persistent memory region elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_pmrmsc.2 b/doc/man/nvme_pmrmsc.2 index 8fb2a328..96aac488 100644 --- a/doc/man/nvme_pmrmsc.2 +++ b/doc/man/nvme_pmrmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrmsc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrmsc" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrmsc \- This field indicates the persistent memory region memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrsts.2 b/doc/man/nvme_pmrsts.2 index 0191dc86..9aed5c57 100644 --- a/doc/man/nvme_pmrsts.2 +++ b/doc/man/nvme_pmrsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrsts" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrsts" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrsts \- This field indicates the persistent memory region status .SH SYNOPSIS diff --git a/doc/man/nvme_pmrswtp.2 b/doc/man/nvme_pmrswtp.2 index 49cbf323..dc8add87 100644 --- a/doc/man/nvme_pmrswtp.2 +++ b/doc/man/nvme_pmrswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrswtp" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrswtp" "May 2025" "API Manual" LINUX .SH NAME enum nvme_pmrswtp \- This field indicates the persistent memory region sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_power_on_reset_info_list.2 b/doc/man/nvme_power_on_reset_info_list.2 index d672d420..de75b59d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "May 2025" "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 a1252b51..e4636b95 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "May 2025" "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 f983efad..6cc61a2e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_flags" "May 2025" "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 174223a0..e6633422 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "May 2025" "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 21ac275f..874d5f48 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_ps" "May 2025" "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 51a2acef..9ee4dedc 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_workload" "May 2025" "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_pull_model_ddc_req_log.2 b/doc/man/nvme_pull_model_ddc_req_log.2 index c93903ff..0d66cd89 100644 --- a/doc/man/nvme_pull_model_ddc_req_log.2 +++ b/doc/man/nvme_pull_model_ddc_req_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_pull_model_ddc_req_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_pull_model_ddc_req_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_pull_model_ddc_req_log \- Pull Model DDC Request Log .SH SYNOPSIS diff --git a/doc/man/nvme_reachability_association_desc.2 b/doc/man/nvme_reachability_association_desc.2 index 3feaff06..38963d43 100644 --- a/doc/man/nvme_reachability_association_desc.2 +++ b/doc/man/nvme_reachability_association_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_reachability_association_desc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_reachability_association_desc" "May 2025" "API Manual" LINUX .SH NAME struct nvme_reachability_association_desc \- Reachability Association Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_reachability_associations_log.2 b/doc/man/nvme_reachability_associations_log.2 index 86338f02..9a517568 100644 --- a/doc/man/nvme_reachability_associations_log.2 +++ b/doc/man/nvme_reachability_associations_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_reachability_associations_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_reachability_associations_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_reachability_associations_log \- Reachability Associations Log .SH SYNOPSIS diff --git a/doc/man/nvme_reachability_group_desc.2 b/doc/man/nvme_reachability_group_desc.2 index acf4f004..1427bcbc 100644 --- a/doc/man/nvme_reachability_group_desc.2 +++ b/doc/man/nvme_reachability_group_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_reachability_group_desc" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_reachability_group_desc" "May 2025" "API Manual" LINUX .SH NAME struct nvme_reachability_group_desc \- Reachability Group Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_reachability_groups_log.2 b/doc/man/nvme_reachability_groups_log.2 index e90aff8f..c4005284 100644 --- a/doc/man/nvme_reachability_groups_log.2 +++ b/doc/man/nvme_reachability_groups_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_reachability_groups_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_reachability_groups_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_reachability_groups_log \- Reachability Groups Log .SH SYNOPSIS diff --git a/doc/man/nvme_read.2 b/doc/man/nvme_read.2 index bd62247c..f630145d 100644 --- a/doc/man/nvme_read.2 +++ b/doc/man/nvme_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_read" 9 "nvme_read" "April 2025" "libnvme API manual" LINUX +.TH "nvme_read" 9 "nvme_read" "May 2025" "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 1748ed4a..c42598fb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_read_config" 9 "nvme_read_config" "May 2025" "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 index 48acd456..2dc81675 100644 --- a/doc/man/nvme_read_key.2 +++ b/doc/man/nvme_read_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_read_key" 9 "nvme_read_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_read_key" 9 "nvme_read_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_read_key \- Read key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_refresh_topology.2 b/doc/man/nvme_refresh_topology.2 index 3f8990a7..364a3aa2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "May 2025" "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 2e34d756..7a422932 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_register_offsets" "May 2025" "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 15b97ae7..bdc19477 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl" "May 2025" "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 a6a765b8..3aaa92d3 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "May 2025" "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 846b66bd..a7abbe38 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "May 2025" "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 a14dc837..8d2e3114 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "May 2025" "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 ca9217b2..eccfec95 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_cptpl" "May 2025" "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 77578d1a..0a2ddce4 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_notification_log" "May 2025" "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 8d1c9525..9ef88102 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "May 2025" "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 4c02ed7e..e02a227d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_racqa" "May 2025" "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 c9caceb2..a9549cd1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_resv_register" 9 "nvme_resv_register" "May 2025" "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 0d6bcdca..39b9c7f6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_resv_release" 9 "nvme_resv_release" "May 2025" "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 51b97739..13068059 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_resv_report" 9 "nvme_resv_report" "May 2025" "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 0f5d0216..a66c9e47 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrega" "May 2025" "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 30c77ab4..49c735a5 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrela" "May 2025" "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 867742fc..d6b015c7 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rtype" "May 2025" "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 896f40b4..0101530e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_status" "May 2025" "API Manual" LINUX .SH NAME struct nvme_resv_status \- Reservation Status Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_revoke_tls_key.2 b/doc/man/nvme_revoke_tls_key.2 index 05453db6..a8b0df57 100644 --- a/doc/man/nvme_revoke_tls_key.2 +++ b/doc/man/nvme_revoke_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_revoke_tls_key" 9 "nvme_revoke_tls_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_revoke_tls_key" 9 "nvme_revoke_tls_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_revoke_tls_key \- Revoke TLS key from keyring .SH SYNOPSIS diff --git a/doc/man/nvme_rotational_media_info_log.2 b/doc/man/nvme_rotational_media_info_log.2 index 58a95ad8..afcc8ecb 100644 --- a/doc/man/nvme_rotational_media_info_log.2 +++ b/doc/man/nvme_rotational_media_info_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_rotational_media_info_log" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_rotational_media_info_log" "May 2025" "API Manual" LINUX .SH NAME struct nvme_rotational_media_info_log \- Rotational Media Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_compln_event.2 b/doc/man/nvme_sanitize_compln_event.2 index 3c3d59b2..d8e972a9 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "May 2025" "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 cc49b138..273cc7ac 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_log_page" "May 2025" "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 7dd0e540..4741611a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "May 2025" "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 b136ac62..cd273681 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sanact" "May 2025" "API Manual" LINUX .SH NAME enum nvme_sanitize_sanact \- Sanitize Action .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_ssi.2 b/doc/man/nvme_sanitize_ssi.2 index f154c390..646797da 100644 --- a/doc/man/nvme_sanitize_ssi.2 +++ b/doc/man/nvme_sanitize_ssi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_sanitize_ssi" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_ssi" "May 2025" "API Manual" LINUX .SH NAME enum nvme_sanitize_ssi \- Sanitize State Information (SSI) .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_sstat.2 b/doc/man/nvme_sanitize_sstat.2 index 83dacd24..3dcaa741 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sstat" "May 2025" "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 76ad65aa..c73599af 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_start_event" "May 2025" "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 cbf76d61..dc01bc0e 100644 --- a/doc/man/nvme_scan.2 +++ b/doc/man/nvme_scan.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan" 9 "nvme_scan" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan" 9 "nvme_scan" "May 2025" "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 1070ee2d..b9fada31 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "May 2025" "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 0f2eb4c1..052d7bcd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "May 2025" "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 cad773e4..65227e3c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "May 2025" "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 99fa3685..0251e9c4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "May 2025" "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 5de46ff5..49aa0974 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "May 2025" "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 0268d076..5b41d612 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "May 2025" "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 031492cd..0cb735a5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "May 2025" "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 index a3ddf3bc..e74fbdc8 100644 --- a/doc/man/nvme_scan_tls_keys.2 +++ b/doc/man/nvme_scan_tls_keys.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_scan_tls_keys \- Iterate over TLS keys in a keyring .SH SYNOPSIS diff --git a/doc/man/nvme_scan_topology.2 b/doc/man/nvme_scan_topology.2 index ea8969f9..ae7cb7f0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_scan_topology" 9 "nvme_scan_topology" "May 2025" "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 ca734c1f..91ab99c8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl" "May 2025" "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 fa23ea4c..0127e232 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "May 2025" "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 3eaf0872..fd324da0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_security_receive" 9 "nvme_security_receive" "May 2025" "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 5aa1be43..5b14c3a7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_security_send" 9 "nvme_security_send" "May 2025" "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 580d77e6..384eb686 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_self_test_log" "May 2025" "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 index 40581702..1b09b610 100644 --- a/doc/man/nvme_set_feat_event_layout.2 +++ b/doc/man/nvme_set_feat_event_layout.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "May 2025" "API Manual" LINUX .SH NAME enum nvme_set_feat_event_layout \- This field indicates the set feature event layout .SH SYNOPSIS diff --git a/doc/man/nvme_set_feature_event.2 b/doc/man/nvme_set_feature_event.2 index 526d00e3..36a857d6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_set_feature_event" "May 2025" "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 2e30262f..b034566c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features" 9 "nvme_set_features" "May 2025" "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 1aab449a..8c4e7905 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "May 2025" "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 2aec23cf..d1ec8893 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "May 2025" "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 9d6edc9b..316584dd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "May 2025" "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 0a4bd3d5..edb4ce34 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_data" 9 "nvme_set_features_data" "May 2025" "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 8346f789..df3244f7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "May 2025" "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 3b6e924a..c95407dd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "May 2025" "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 e13105f6..6d159308 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "May 2025" "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 9f664edb..b7d57477 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "May 2025" "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 ef612361..6f53062b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "May 2025" "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 70e227bd..6853f8f7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "May 2025" "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 c2096e75..27094af1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "May 2025" "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 3d3e861a..ca9b6d6d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "May 2025" "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 edef4fd9..b38bc18d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "May 2025" "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 32b8c59e..b5674919 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "May 2025" "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 3807c872..e3e17cfd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "May 2025" "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 304907a0..22259079 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "May 2025" "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 25cd8cc4..b4849c60 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "May 2025" "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 b31e67ed..feb0abb3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "May 2025" "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 de14909d..ed5046d2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "May 2025" "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 affc1596..503ef846 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "May 2025" "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 779e4fa6..a2525e5c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "May 2025" "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 87899211..172506d9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "May 2025" "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 abc07a2d..2f602232 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "May 2025" "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 4826c640..1046d5a1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "May 2025" "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 890f4b47..9d324a4d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "May 2025" "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 6ffa898a..9cbd623e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "May 2025" "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 6fd8baa7..77fed50c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "May 2025" "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_temp_thresh.2 b/doc/man/nvme_set_features_temp_thresh2.2 similarity index 67% copy from doc/man/nvme_set_features_temp_thresh.2 copy to doc/man/nvme_set_features_temp_thresh2.2 index 6fd8baa7..76cc03c2 100644 --- a/doc/man/nvme_set_features_temp_thresh.2 +++ b/doc/man/nvme_set_features_temp_thresh2.2 @@ -1,12 +1,13 @@ -.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_temp_thresh2" 9 "nvme_set_features_temp_thresh2" "May 2025" "libnvme API manual" LINUX .SH NAME -nvme_set_features_temp_thresh \- Set temperature threshold feature +nvme_set_features_temp_thresh2 \- Set temperature threshold feature .SH SYNOPSIS -.B "int" nvme_set_features_temp_thresh +.B "int" nvme_set_features_temp_thresh2 .BI "(int fd " "," .BI "__u16 tmpth " "," .BI "__u8 tmpsel " "," .BI "enum nvme_feat_tmpthresh_thsel thsel " "," +.BI "__u8 tmpthh " "," .BI "bool save " "," .BI "__u32 *result " ");" .SH ARGUMENTS @@ -18,6 +19,8 @@ Temperature Threshold Threshold Temperature Select .IP "thsel" 12 Threshold Type Select +.IP "tmpthh" 12 +Temperature Threshold Hysteresis .IP "save" 12 Save value across power states .IP "result" 12 diff --git a/doc/man/nvme_set_features_timestamp.2 b/doc/man/nvme_set_features_timestamp.2 index 8b416c84..34e40f77 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "May 2025" "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 0d577221..3f9988e2 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "May 2025" "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 79e4a8d1..64f47fd7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "May 2025" "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 3e7faee5..1bfe79c8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "May 2025" "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 50ea1375..956624d9 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "May 2025" "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 edf65bc3..09c4b5d6 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_keyring" 9 "nvme_set_keyring" "May 2025" "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 e9d811f0..1a557846 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_property" 9 "nvme_set_property" "May 2025" "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 c1289253..e5c431dd 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_set_root" 9 "nvme_set_root" "May 2025" "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 6a4c8a78..cabef5cf 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_crit" "May 2025" "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 d72f91ec..23582c46 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_egcw" "May 2025" "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 acb0b96f..c8a3250d 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_smart_log" "May 2025" "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 c66d6421..58d6d9a2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_code" "May 2025" "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 3f1d6ed5..2d10dd17 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_curr_op" "May 2025" "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 eec27705..e283f992 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_st_result" "May 2025" "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 bf92672b..339eaf97 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "May 2025" "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 d66e9919..674f7feb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_code" 9 "nvme_status_code" "May 2025" "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 0d057cad..eb6020a7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_code_type" 9 "nvme_status_code_type" "May 2025" "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 a2a81a09..31c74d24 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_equals" 9 "nvme_status_equals" "May 2025" "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 e0bf2b64..60ec85ba 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_field" "May 2025" "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 75e38057..5acd35ec 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_get_type" 9 "nvme_status_get_type" "May 2025" "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 1727812b..1bd80ce7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_get_value" 9 "nvme_status_get_value" "May 2025" "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 81c4d68f..a2d967cb 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_result" "May 2025" "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 315811e4..461f41bb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "May 2025" "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 5c8b843a..72e93e3c 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_status_to_string" 9 "nvme_status_to_string" "May 2025" "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 fee15166..1092ac4b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_type" "May 2025" "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_std_perf_attr.2 b/doc/man/nvme_std_perf_attr.2 index 428e903e..b0844c49 100644 --- a/doc/man/nvme_std_perf_attr.2 +++ b/doc/man/nvme_std_perf_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_std_perf_attr" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_std_perf_attr" "May 2025" "API Manual" LINUX .SH NAME struct nvme_std_perf_attr \- Standard performance attribute structure .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_params.2 b/doc/man/nvme_streams_directive_params.2 index 11991f1e..74f98994 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_params" "May 2025" "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 b07e26c6..de38dddd 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_status" "May 2025" "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 ae779c24..f157357d 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "May 2025" "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 40e803f4..89df4bbf 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "May 2025" "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 7f02ec22..58bdc2db 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "May 2025" "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 5aa25a8e..d2106937 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "May 2025" "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 1c7ddd47..2baf0db8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "May 2025" "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 b11b1a6c..c07984b6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_subsys_type" "May 2025" "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 61fd5891..686922b5 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "May 2025" "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 64027a02..0ab47709 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "May 2025" "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 d2c9a971..56a9da75 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "May 2025" "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 337b31c7..6a8b3ab8 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "May 2025" "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 05c85c6f..986277b3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "May 2025" "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 42f303f7..8e85dcbb 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "May 2025" "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 fba181bb..77941237 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_application \- Return the application string .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_fw_rev.2 b/doc/man/nvme_subsystem_get_fw_rev.2 index e0c7ebb0..a80caf93 100644 --- a/doc/man/nvme_subsystem_get_fw_rev.2 +++ b/doc/man/nvme_subsystem_get_fw_rev.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_fw_rev" 9 "nvme_subsystem_get_fw_rev" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_fw_rev" 9 "nvme_subsystem_get_fw_rev" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_fw_rev \- Return the firmware rev of subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_host.2 b/doc/man/nvme_subsystem_get_host.2 index 11a6316a..4e0c83ee 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "May 2025" "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 3c5e5664..e3864fd3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "May 2025" "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_model.2 b/doc/man/nvme_subsystem_get_model.2 index 44da1ae2..84ef997d 100644 --- a/doc/man/nvme_subsystem_get_model.2 +++ b/doc/man/nvme_subsystem_get_model.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_model" 9 "nvme_subsystem_get_model" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_model" 9 "nvme_subsystem_get_model" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_model \- Return the model of subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_name.2 b/doc/man/nvme_subsystem_get_name.2 index 43477ac3..e7fc421e 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "May 2025" "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 5ae4bd14..194db697 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_nqn \- Retrieve NQN from subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_serial.2 b/doc/man/nvme_subsystem_get_serial.2 new file mode 100644 index 00000000..23d0a418 --- /dev/null +++ b/doc/man/nvme_subsystem_get_serial.2 @@ -0,0 +1,11 @@ +.TH "nvme_subsystem_get_serial" 9 "nvme_subsystem_get_serial" "May 2025" "libnvme API manual" LINUX +.SH NAME +nvme_subsystem_get_serial \- Return the serial number of subsystem +.SH SYNOPSIS +.B "const char *" nvme_subsystem_get_serial +.BI "(nvme_subsystem_t s " ");" +.SH ARGUMENTS +.IP "s" 12 +nvme_subsystem_t object +.SH "RETURN" +Serial number of the current subsystem diff --git a/doc/man/nvme_subsystem_get_sysfs_dir.2 b/doc/man/nvme_subsystem_get_sysfs_dir.2 index b1b2c3ec..d5c5cf9a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "May 2025" "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 646fc497..316e478f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "May 2025" "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 ef5d5c82..bc6fd116 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "May 2025" "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 c1a29313..adf54939 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "May 2025" "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 4f992f78..23488c03 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "May 2025" "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 145e6bac..7f3681a1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "May 2025" "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 388d63f0..00329068 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "May 2025" "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 36537546..1b94b4b3 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "May 2025" "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 039546a8..05498626 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "May 2025" "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 f5f580c3..22450de2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_log_pages" "May 2025" "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 9d567011..aea23413 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_telemetry_da" "May 2025" "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 726af75d..89415f1a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_telemetry_log" "May 2025" "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 329ba37c..a4d80a3b 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_thermal_exc_event" "May 2025" "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 7d099dd3..2f216c7e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "May 2025" "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 47340d6b..55dadb9b 100644 --- a/doc/man/nvme_timestamp.2 +++ b/doc/man/nvme_timestamp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_timestamp" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_timestamp" "May 2025" "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 index ffca0886..e2af58c7 100644 --- a/doc/man/nvme_unit.2 +++ b/doc/man/nvme_unit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_unit" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_unit" "May 2025" "API Manual" LINUX .SH NAME enum nvme_unit \- Defined buffer size and write throughput granularity units .SH SYNOPSIS diff --git a/doc/man/nvme_unlink_ctrl.2 b/doc/man/nvme_unlink_ctrl.2 index 0d6fae3a..de203745 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "May 2025" "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 f0906451..db0407d4 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_update_config" 9 "nvme_update_config" "May 2025" "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 index 011dc734..e73c5b5c 100644 --- a/doc/man/nvme_update_key.2 +++ b/doc/man/nvme_update_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_update_key" 9 "nvme_update_key" "April 2025" "libnvme API manual" LINUX +.TH "nvme_update_key" 9 "nvme_update_key" "May 2025" "libnvme API manual" LINUX .SH NAME nvme_update_key \- Update key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_uring_cmd.2 b/doc/man/nvme_uring_cmd.2 index d2772bf5..907319f6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_uring_cmd" "May 2025" "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 f4b86a39..7b84e663 100644 --- a/doc/man/nvme_verify.2 +++ b/doc/man/nvme_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_verify" 9 "nvme_verify" "April 2025" "libnvme API manual" LINUX +.TH "nvme_verify" 9 "nvme_verify" "May 2025" "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 f0277bfe..b5ce6a8c 100644 --- a/doc/man/nvme_version.2 +++ b/doc/man/nvme_version.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_version" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_version" "May 2025" "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 ca081a82..b77b2c3a 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "May 2025" "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 b5a597c4..c0f32403 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "May 2025" "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 824a5399..f75656b7 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "May 2025" "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 index d21438e1..7fe13c3b 100644 --- a/doc/man/nvme_vs.2 +++ b/doc/man/nvme_vs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_vs" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_vs" "May 2025" "API Manual" LINUX .SH NAME enum nvme_vs \- This field indicates the version .SH SYNOPSIS diff --git a/doc/man/nvme_vs_perf_attr.2 b/doc/man/nvme_vs_perf_attr.2 index 2d42f963..c499de6c 100644 --- a/doc/man/nvme_vs_perf_attr.2 +++ b/doc/man/nvme_vs_perf_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_vs_perf_attr" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_vs_perf_attr" "May 2025" "API Manual" LINUX .SH NAME struct nvme_vs_perf_attr \- Vendor specific performance attribute structure .SH SYNOPSIS diff --git a/doc/man/nvme_write.2 b/doc/man/nvme_write.2 index bd910d37..bd552a05 100644 --- a/doc/man/nvme_write.2 +++ b/doc/man/nvme_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_write" 9 "nvme_write" "April 2025" "libnvme API manual" LINUX +.TH "nvme_write" 9 "nvme_write" "May 2025" "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 94f6b35a..90c46b73 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "May 2025" "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 5723bdb1..3400b0d1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_write_zeros" 9 "nvme_write_zeros" "May 2025" "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 0c724246..2ebec4d1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_append" 9 "nvme_zns_append" "May 2025" "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 9a5000f9..5dec8e64 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "May 2025" "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 aa63cc06..bbbad3ce 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_desc" "May 2025" "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 241d5fd4..ed6e517f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "May 2025" "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 0efa5337..2fa518cb 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ns" "May 2025" "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 825425a1..ffc3815b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "May 2025" "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 ac031e68..e75574aa 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "May 2025" "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 6955db46..5c90cdf0 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_lbafe" "May 2025" "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 6dc709ce..27dc3a6b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "May 2025" "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 cd01b7c6..0fc6fb10 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "May 2025" "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 b67170fe..5372c2ab 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_recv_action" "May 2025" "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 8442b87d..9de63d39 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_report_options" "May 2025" "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 0ff157f2..ffd860ba 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" "April 2025" "libnvme API manual" LINUX +.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "May 2025" "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 b0efa5c5..a78cf813 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_send_action" "May 2025" "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 e22d4b7b..2cd83ce8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_za" "May 2025" "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 70ce1f2b..078a1bf8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zs" "May 2025" "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 c46a3df3..26ab02b8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zt" "May 2025" "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 ad8e8f7b..8886b2d8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zone_report" "May 2025" "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 862dcd30..31a49fc0 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "May 2025" "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 ce66a9ab..e7c1b4c2 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_addr_family" "May 2025" "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 6594ea38..9f6d1079 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "May 2025" "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 9955a862..81f1b431 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_cms_str" 9 "nvmf_cms_str" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_cms_str \- Decode RDMA connection management service field .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_ctrl.2 b/doc/man/nvmf_connect_ctrl.2 index 2ced1c81..1cb92c71 100644 --- a/doc/man/nvmf_connect_ctrl.2 +++ b/doc/man/nvmf_connect_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvmf_connect_ctrl" 9 "nvmf_connect_ctrl" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_connect_ctrl" 9 "nvmf_connect_ctrl" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_connect_ctrl \- Connect a controller .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_data.2 b/doc/man/nvmf_connect_data.2 index c1538d79..96e563c6 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_connect_data" "May 2025" "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 9e3a815f..09b57c70 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "May 2025" "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 39f0cb9f..8c63d75f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_default_config" 9 "nvmf_default_config" "May 2025" "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 747a0b69..9d7df191 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_dim_data" "May 2025" "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 76610a7e..7a528433 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_entfmt" "May 2025" "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 9e32a6c9..523d68ca 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_etype" "May 2025" "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 95a20349..4e330dfe 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_tas" "May 2025" "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 d805a92b..5fef5d34 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_disc_eflags" "May 2025" "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 bd44978d..1c30f79f 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_disc_log_entry" "May 2025" "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 be84ca62..ae9d0026 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_discovery_log" "May 2025" "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 53e87e83..d27c335f 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "May 2025" "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 1264ca1f..91e367ba 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_exat_len" 9 "nvmf_exat_len" "May 2025" "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 9afe0b92..453f2a50 100644 --- a/doc/man/nvmf_exattype.2 +++ b/doc/man/nvmf_exattype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_exattype" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_exattype" "May 2025" "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 823a3001..669e265c 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_attr" "May 2025" "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 c17b4593..7b19328e 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_die" "May 2025" "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 ac48775b..4ee16b48 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "May 2025" "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 8b03b3d7..0d379f27 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "May 2025" "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 e83a49e8..63cac558 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "May 2025" "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_hostid_generate.2 b/doc/man/nvmf_hostid_generate.2 index 58bc526a..f8ef3785 100644 --- a/doc/man/nvmf_hostid_generate.2 +++ b/doc/man/nvmf_hostid_generate.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostid_generate" 9 "nvmf_hostid_generate" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_hostid_generate" 9 "nvmf_hostid_generate" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_hostid_generate \- Generate a machine specific host identifier .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_from_file.2 b/doc/man/nvmf_hostnqn_from_file.2 index db6f483c..f3b4f6ee 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "May 2025" "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 ea586f5a..07f7ece1 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_generate \- Generate a machine specific host nqn .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate_from_hostid.2 b/doc/man/nvmf_hostnqn_generate_from_hostid.2 index 9d61f079..7a0bbf10 100644 --- a/doc/man/nvmf_hostnqn_generate_from_hostid.2 +++ b/doc/man/nvmf_hostnqn_generate_from_hostid.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_generate_from_hostid" 9 "nvmf_hostnqn_generate_from_hostid" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate_from_hostid" 9 "nvmf_hostnqn_generate_from_hostid" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_generate_from_hostid \- Generate a host nqn from host identifier .SH SYNOPSIS diff --git a/doc/man/nvmf_log_discovery_lid_support.2 b/doc/man/nvmf_log_discovery_lid_support.2 index e9fc4853..5da7eb42 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "May 2025" "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 3fabae15..1b6ccd54 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "May 2025" "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 fb903b41..e24ce242 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "May 2025" "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 6428e218..d7e132da 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "May 2025" "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 aeb182cd..de77c8f0 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_cms" "May 2025" "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 b76af8e2..9729a227 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_prtype" "May 2025" "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 8ad5a360..16705cb8 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_qptype" "May 2025" "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 a54cfbca..280199dc 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "May 2025" "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 4a10aa26..13773f9a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "May 2025" "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 f9ffce07..70b7948a 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "May 2025" "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 6cdd92d8..7e6c51b1 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" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_tcp_sectype" "May 2025" "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 1d6c4687..95381fae 100644 --- a/doc/man/nvmf_treq.2 +++ b/doc/man/nvmf_treq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_treq" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_treq" "May 2025" "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 33557645..e7e9442b 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_treq_str" 9 "nvmf_treq_str" "May 2025" "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 49d66fa6..ce438aec 100644 --- a/doc/man/nvmf_trtype.2 +++ b/doc/man/nvmf_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_trtype" "April 2025" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_trtype" "May 2025" "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 244eaf5f..ed432841 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "May 2025" "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 b37a5f14..58824414 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" "April 2025" "libnvme API manual" LINUX +.TH "nvmf_update_config" 9 "nvmf_update_config" "May 2025" "libnvme API manual" LINUX .SH NAME nvmf_update_config \- Update fabrics configuration values .SH SYNOPSIS diff --git a/doc/rst/ioctl.rst b/doc/rst/ioctl.rst index aa69ee74..aee089c5 100644 --- a/doc/rst/ioctl.rst +++ b/doc/rst/ioctl.rst @@ -2888,6 +2888,39 @@ 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_set_features_temp_thresh2 (int fd, __u16 tmpth, __u8 tmpsel, enum nvme_feat_tmpthresh_thsel thsel, __u8 tmpthh, bool save, __u32 *result) + + Set temperature threshold feature + +**Parameters** + +``int fd`` + File descriptor of nvme device + +``__u16 tmpth`` + Temperature Threshold + +``__u8 tmpsel`` + Threshold Temperature Select + +``enum nvme_feat_tmpthresh_thsel thsel`` + Threshold Type Select + +``__u8 tmpthh`` + Temperature Threshold Hysteresis + +``bool save`` + Save value across power states + +``__u32 *result`` + The command completion result from CQE dword0 + +**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_set_features_err_recovery (int fd, __u32 nsid, __u16 tler, bool dulbe, bool save, __u32 *result) Set error recovery feature @@ -3755,6 +3788,33 @@ 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_get_features_temp_thresh2 (int fd, enum nvme_get_features_sel sel, __u8 tmpsel, enum nvme_feat_tmpthresh_thsel thsel, __u32 *result) + + Get temperature threshold feature + +**Parameters** + +``int fd`` + File descriptor of nvme device + +``enum nvme_get_features_sel sel`` + Select which type of attribute to return, see :c:type:`enum nvme_get_features_sel ` + +``__u8 tmpsel`` + Threshold Temperature Select + +``enum nvme_feat_tmpthresh_thsel thsel`` + Threshold Type Select + +``__u32 *result`` + The command completion result from CQE dword0 + +**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_get_features_err_recovery (int fd, enum nvme_get_features_sel sel, __u32 *result) Get error recovery feature diff --git a/doc/rst/mi.rst b/doc/rst/mi.rst index 8b200e0c..1b6bcb1a 100644 --- a/doc/rst/mi.rst +++ b/doc/rst/mi.rst @@ -109,6 +109,9 @@ bit (0x80) set. ``NVME_MI_MT_PCIE`` PCIe command +``NVME_MI_MT_AE`` + Asynchronous Event + **Description** Used as byte 1 of both request and response messages (NMIMT bits of NMP @@ -414,9 +417,11 @@ indicate the particular structure to query from the endpoint. MCTP maximum transmission unit size of port specified in dw 0 -**Description** +``NVME_MI_CONFIG_AE`` + Asynchronous Events configuration + Configuration parameters for the MI Get/Set Configuration commands. -Configuration parameters for the MI Get/Set Configuration commands. +**Description** See :c:type:`nvme_mi_mi_config_get`() and :c:type:`nvme_mi_config_set`(). @@ -446,6 +451,455 @@ Values used in the SMBus Frequency device configuration. See +.. c:struct:: nvme_mi_aem_supported_list_header + + Asynchronous Event Supported List Header. + +**Definition** + +:: + + struct nvme_mi_aem_supported_list_header { + __u8 numaes; + __u8 aeslver; + __le16 aest; + __u8 aeslhl; + }; + +**Members** + +``numaes`` + Number of AE supported data structures that follow the header + +``aeslver`` + AE Supported List Version + +``aest`` + AE Supported list length (including this header) + +``aeslhl`` + AE Supported list header length + + +**Description** + +This header preceeds a number, (:c:type:`numaes`), of AE supported data structures + + + + +.. c:struct:: nvme_mi_aem_supported_item + + AE Supported List Item + +**Definition** + +:: + + struct nvme_mi_aem_supported_item { + __u8 aesl; + __le16 aesi; + }; + +**Members** + +``aesl`` + AE supported list item length + +``aesi`` + AE supported info + + +**Description** + +Following this header should be hdr.numaes entries of +nvme_mi_aem_supported_item structures + + +.. c:function:: bool nvme_mi_aem_aesi_get_aese (__le16 aesi) + + return aese from aesi field + +**Parameters** + +``__le16 aesi`` + aesi field from **nvme_mi_aem_supported_item** + +**Return** + +A bool representing the aese value + + +.. c:function:: __u8 nvme_mi_aem_aesi_get_aesid (__le16 aesi) + + return aesid from aesi field + +**Parameters** + +``__le16 aesi`` + aesi field from **nvme_mi_aem_supported_item** + +**Return** + +aesid value + + +.. c:function:: void nvme_mi_aem_aesi_set_aesid (struct nvme_mi_aem_supported_item *item, __u8 aesid) + + set aesid in the aesi field + +**Parameters** + +``struct nvme_mi_aem_supported_item *item`` + Pointer to **nvme_mi_aem_supported_item** to update the aesi field + +``__u8 aesid`` + aesid value to use + + +.. c:function:: void nvme_mi_aem_aesi_set_aee (struct nvme_mi_aem_supported_item *item, bool enabled) + + set aee in the aesi field + +**Parameters** + +``struct nvme_mi_aem_supported_item *item`` + Pointer to **nvme_mi_aem_supported_item** to update the aesi field + +``bool enabled`` + aee value to use + + + + +.. c:struct:: nvme_mi_aem_supported_list + + AE Supported List received with GET CONFIG Asynchronous Event + +**Definition** + +:: + + struct nvme_mi_aem_supported_list { + struct nvme_mi_aem_supported_list_header hdr; + }; + +**Members** + +``hdr`` + AE supported list header + + +**Description** + +Following this header should be hdr.numaes entries of +nvme_mi_aem_supported_item structures + + + + +.. c:struct:: nvme_mi_aem_enable_item + + AE Enabled item entry + +**Definition** + +:: + + struct nvme_mi_aem_enable_item { + __u8 aeel; + __le16 aeei; + }; + +**Members** + +``aeel`` + AE Enable Length (length of this structure which is 3) + +``aeei`` + AE Enable Info + + + +.. c:function:: bool nvme_mi_aem_aeei_get_aee (__le16 aeei) + + return aee from aeei field + +**Parameters** + +``__le16 aeei`` + aeei field from **nvme_mi_aem_enable_item** + +**Return** + +aee value + + +.. c:function:: __u8 nvme_mi_aem_aeei_get_aeeid (__le16 aeei) + + return aeeid from aeei field + +**Parameters** + +``__le16 aeei`` + aeei field from **nvme_mi_aem_enable_item** + +**Return** + +aeeid value + + +.. c:function:: void nvme_mi_aem_aeei_set_aeeid (struct nvme_mi_aem_enable_item *item, __u8 aeeid) + + set aeeid in the aeei field + +**Parameters** + +``struct nvme_mi_aem_enable_item *item`` + Pointer to **nvme_mi_aem_enable_item** to update the aeei field + +``__u8 aeeid`` + aeeid value to use + + +.. c:function:: void nvme_mi_aem_aeei_set_aee (struct nvme_mi_aem_enable_item *item, bool enabled) + + set aee in the aeei field + +**Parameters** + +``struct nvme_mi_aem_enable_item *item`` + Pointer to **nvme_mi_aem_enable_item** to update the aee field + +``bool enabled`` + aee value to use + + + + +.. c:struct:: nvme_mi_aem_enable_list_header + + AE Enable list header + +**Definition** + +:: + + struct nvme_mi_aem_enable_list_header { + __u8 numaee; + __u8 aeelver; + __le16 aeetl; + __u8 aeelhl; + }; + +**Members** + +``numaee`` + Number of AE enable items following the header + +``aeelver`` + Version of the AE enable list (zero) + +``aeetl`` + Total length of the AE enable list including header and items + +``aeelhl`` + Header length of this header (5) + + + + + +.. c:struct:: nvme_mi_aem_enable_list + + AE enable list sent with SET CONFIG Asyncronous Event + +**Definition** + +:: + + struct nvme_mi_aem_enable_list { + struct nvme_mi_aem_enable_list_header hdr; + }; + +**Members** + +``hdr`` + AE enable list header + + +**Description** + +Following this header should be hdr.numaee entries of nvme_mi_aem_enable_item structures + + + + +.. c:struct:: nvme_mi_aem_occ_data + + AEM Message definition. + +**Definition** + +:: + + struct nvme_mi_aem_occ_data { + __u8 aelhlen; + __u8 aeosil; + __u8 aeovsil; + struct { + __u8 aeoi; + __le32 aeocidi; + __u8 aessi; + } aeoui; + }; + +**Members** + +``aelhlen`` + AE Occurrence Header Length + +``aeosil`` + AE Occurrence Specific Info Length + +``aeovsil`` + AE Occurrence Vendor Specific Info Length + +``aeoui`` + AE Occurrence Unique ID made up of other subfields + + +**Description** + +A single entry of ae occurrence data that comes with an nvme_aem_msg. +Following this structure is variable length AEOSI (occurrence specific +info) and variable length AEVSI (vendor specific info). The length of +AEOSI is specified by aeosil and the length of AEVSI is specified by +AEVSI. Neither field is mandatory and shall be omitted if their length +parameter is set to zero. + + + + +.. c:struct:: nvme_mi_aem_occ_list_hdr + + AE occurrence list header + +**Definition** + +:: + + struct nvme_mi_aem_occ_list_hdr { + __u8 numaeo; + __u8 aelver; + __u8 aeolli[3]; + __u8 aeolhl; + __u8 aemti; + }; + +**Members** + +``numaeo`` + Number of AE Occurrence Data Structures + +``aelver`` + AE Occurrence List Version Number + +``aeolli`` + AE Occurrence List Length Info (AEOLLI) + +``aeolhl`` + AE Occurrence List Header Length (shall be set to 7) + +``aemti`` + AEM Transmission Info + + +**Description** + +The header for the occurrence list. numaeo defines how many +nvme_mi_aem_occ_data structures (including variable payaloads) are included. +Following this header is each of the numaeo occurrence data structures. + + +.. c:function:: __u8 nvme_mi_aem_aemti_get_aemgn (__u8 aemti) + + return aemgn from aemti field + +**Parameters** + +``__u8 aemti`` + aemti field from **nvme_mi_aem_occ_list_hdr** + +**Return** + +aemgn value + + +.. c:function:: __u32 nvme_mi_aem_aeolli_get_aeoltl (__u8 *aeolli) + + return aeoltl from aeolli field + +**Parameters** + +``__u8 *aeolli`` + Pointer to 3 byte aeolli field from **nvme_mi_aem_occ_list_hdr** + +**Return** + +aeoltl value + + +.. c:function:: void nvme_mi_aem_aeolli_set_aeoltl (struct nvme_mi_aem_occ_list_hdr *hdr, __u32 aeoltl) + + set aeoltl in the aeolli field + +**Parameters** + +``struct nvme_mi_aem_occ_list_hdr *hdr`` + Pointer to **nvme_mi_aem_occ_list_hdr** to set the aeolli field + +``__u32 aeoltl`` + aeoltl value to use + + + + +.. c:struct:: nvme_mi_aem_msg + + AEM Message definition. + +**Definition** + +:: + + struct nvme_mi_aem_msg { + struct nvme_mi_msg_hdr hdr; + struct nvme_mi_aem_occ_list_hdr occ_list_hdr; + }; + +**Members** + +``hdr`` + the general response message header + +``occ_list_hdr`` + ae occurrence list header. + + +**Description** + +Every ae message will start with one of these. The occ_list_hder wil define +information about how many ae occ data entries are included. Each entry is +defined by the nvme_mi_aem_occ_data structure which will follow the +occ_list_hdr. Each nvme_mi_aem_occ_data structure has a fixed length header +but a variable length payload ude to occurrence specific and vendor specific +info. For this reason, do not index the nvme_mi_ae_occ data structures by +array or fixed offset. + + + + .. c:struct:: nvme_mi_admin_req_hdr Admin command request header. @@ -731,6 +1185,23 @@ Subsequent operations on the endpoint (and related controllers) are transport-independent. +.. c:function:: int nvme_mi_set_csi (nvme_mi_ep_t ep, uint8_t csi) + + Assign a CSI to an endpoint. + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint + +``uint8_t csi`` + value to use for CSI bit in NMP (0 or 1) for this endpoint + +**Return** + +0 if successful, -1 otherwise (some endpoints may not support) + + .. c:function:: nvme_mi_ep_t nvme_mi_first_endpoint (nvme_root_t m) Start endpoint iterator @@ -987,6 +1458,20 @@ See :c:type:`nvme_mi_close` New endpoint object for **netid** & **eid**, or NULL on failure. +.. c:function:: int nvme_mi_aem_open (nvme_mi_ep_t ep) + + Prepare an existing endpoint to receive AEMs + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint to configure for AEMs + +**Return** + +0 if success, -1 otherwise + + .. c:function:: void nvme_mi_close (nvme_mi_ep_t ep) Close an endpoint connection and release resources, including controller objects. @@ -1519,6 +2004,90 @@ 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_mi_mi_config_get_async_event (nvme_mi_ep_t ep, __u8 *aeelver, struct nvme_mi_aem_supported_list *list, size_t *list_num_bytes) + + get configuration: Asynchronous Event + +**Parameters** + +``nvme_mi_ep_t ep`` + endpoint for MI communication + +``__u8 *aeelver`` + Asynchronous Event Enable List Version Number + +``struct nvme_mi_aem_supported_list *list`` + AE Supported list header and list contents + +``size_t *list_num_bytes`` + number of bytes in the list header and contents buffer. + This will be populated with returned size of list and contents if successful. + +**Description** + +Performs a MI Configuration Get, to query the current enable Asynchronous +Events. On success, populates **aeelver** and the **list** with current info, + +**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_mi_mi_config_set_async_event (nvme_mi_ep_t ep, bool envfa, bool empfa, bool encfa, __u8 aemd, __u8 aerd, struct nvme_mi_aem_enable_list *enable_list, size_t enable_list_size, struct nvme_mi_aem_occ_list_hdr *occ_list, size_t *occ_list_size) + + set configuration: Asynchronous Event + +**Parameters** + +``nvme_mi_ep_t ep`` + endpoint for MI communication + +``bool envfa`` + Enable SR-IOV Virtual Functions AE + +``bool empfa`` + Enable SR-IOV Physical Functions AE + +``bool encfa`` + Enable PCI Functions AE. + +``__u8 aemd`` + AEM Delay Interval (for Sync only) + +``__u8 aerd`` + AEM Retry Delay (for Sync only; time in 100s of ms) + +``struct nvme_mi_aem_enable_list *enable_list`` + nvme_mi_aem_enable_listucture containing header and items + of events to be enabled or disabled. This is taken as a delta change + from the current configuration. + +``size_t enable_list_size`` + Size of the enable_list including header and data. + Meant to catch overrun issues. + +``struct nvme_mi_aem_occ_list_hdr *occ_list`` + Pointer to populate with the occurrence list (header and data) + +``size_t *occ_list_size`` + Total size of provided occ_list buffer. Will be updated + with received size if successful + +**Description** + +Performs a MI Configuration Set, to ACK (sent after an AEM) or Sync (at anytime to enable +or disable Asynchronous Events). + +On success, populates **occ_list**. See TP6035a for details on how occ_list is populated in +ACK versus Sync conditions + +**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_mi_admin_xfer (nvme_mi_ctrl_t ctrl, struct nvme_mi_admin_req_hdr *admin_req, size_t req_data_size, struct nvme_mi_admin_resp_hdr *admin_resp, off_t resp_data_offset, size_t *resp_data_size) Raw admin transfer interface. @@ -3707,3 +4276,253 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field `) or -1 with errno set otherwise. + + +.. c:enum:: nvme_mi_aem_handler_next_action + + Next action for the AEM state machine handler + +**Constants** + +``NVME_MI_AEM_HNA_ACK`` + Send an ack for the AEM + +``NVME_MI_AEM_HNA_NONE`` + No further action + +**Description** + +Used as return value for the AE callback generated when calling nvme_mi_aem_process + + + + +.. c:struct:: nvme_mi_event + + AE event information structure + +**Definition** + +:: + + struct nvme_mi_event { + uint8_t aeoi; + uint8_t aessi; + uint32_t aeocidi; + void *spec_info; + size_t spec_info_len; + void *vend_spec_info; + size_t vend_spec_info_len; + }; + +**Members** + +``aeoi`` + Event identifier + +``aessi`` + Event occurrence scope info + +``aeocidi`` + Event occurrence scope ID info + +``spec_info`` + Specific info buffer + +``spec_info_len`` + Length of specific info buffer + +``vend_spec_info`` + Vendor specific info buffer + +``vend_spec_info_len`` + Length of vendor specific info buffer + + +**Description** + +Application callbacks for nvme_mi_aem_process will be able to call +nvme_mi_aem_get_next_event which will return a pointer to such an identifier +for the next event the application should parse + + +.. c:function:: struct nvme_mi_event * nvme_mi_aem_get_next_event (nvme_mi_ep_t ep) + + Get details for the next event to parse + +**Parameters** + +``nvme_mi_ep_t ep`` + The endpoint with the event + +**Description** + +When inside a aem_handler, call this and a returned struct pointer +will provide details of event information. Will return NULL when end of parsing is occurred. +spec_info and vend_spec_info must be copied to persist as they will not be valid +after the handler_next_action has returned. + +**Return** + +Pointer no next nvme_mi_event or NULL if this is the last one + + + + +.. c:struct:: nvme_mi_aem_config + + Provided for nvme_mi_aem_enable + +**Definition** + +:: + + struct nvme_mi_aem_config { + enum nvme_mi_aem_handler_next_action (*aem_handler)(nvme_mi_ep_t ep,size_t num_events, void *userdata); + struct nvme_mi_aem_enabled_map enabled_map; + bool envfa; + bool empfa; + bool encfa; + __u8 aemd; + __u8 aerd; + }; + +**Members** + +``aem_handler`` + Callback function for application processing of events + +``enabled_map`` + Map indicating which AE should be enabled on the endpoint + +``envfa`` + Enable SR-IOV virtual functions AE + +``empfa`` + Enable SR-IOV physical functions AE + +``encfa`` + Enable PCIe functions AE + +``aemd`` + AEM Delay (time in seconds from when event happens to AEM being batched and sent) + +``aerd`` + AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint) + + +**Description** + +Application callbacks for nvme_mi_aem_process will be able to call +nvme_mi_aem_get_next_event which will return a pointer to such an identifier +for the next event the application should parse + + +.. c:function:: int nvme_mi_aem_get_fd (nvme_mi_ep_t ep) + + Returns the pollable fd for AEM data available + +**Parameters** + +``nvme_mi_ep_t ep`` + The endpoint being monitored for asynchronous data + +**Description** + +This populated structure can be polled from the application to understand if +a call to nvme_mi_aem_process() is required (when a poll returns > 0). + +**Return** + +The fd value or -1 if error + + +.. c:function:: int nvme_mi_aem_enable (nvme_mi_ep_t ep, struct nvme_mi_aem_config *config, void *userdata) + + Enable AE on the provided endpoint + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint to enable AEs + +``struct nvme_mi_aem_config *config`` + AE configuraiton including which events are enabled and the callback function + +``void *userdata`` + Application provided context pointer for callback function + +**Description** + +This function is called to enable AE on the endpoint. Endpoint will provide initial state +(if any) of enabled AEs and application can parse those via the aem_handler fn pointer in +callbacks. Thes can be obtained in the callback by calling nvme_mi_aem_get_next_event(). + +Application should poll the fd that can be obtained from nvme_mi_aem_get_fd and then call +nvme_mi_aem_process() when poll() indicates data available. + +A call to nvme_mi_aem_process() will grab AEM data and call the aem_handler fn pointer. +At this point the application can call nvme_mi_aem_get_next_event() to get information for +each triggered event. + +**Return** + +0 is a success, nonzero is an error and errno may be read for further details + + +.. c:function:: int nvme_mi_aem_get_enabled (nvme_mi_ep_t ep, struct nvme_mi_aem_enabled_map *enabled) + + Return information on which AEs are enabled + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint to check enabled status + +``struct nvme_mi_aem_enabled_map *enabled`` + nvme_mi_aem_enabled_map indexed by AE event ID of enabled state + +**Return** + +0 is a success, nonzero is an error and errno may be read for further details + + +.. c:function:: int nvme_mi_aem_disable (nvme_mi_ep_t ep) + + Disable AE on the provided endpoint + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint to disable AEs + +**Return** + +0 is a success, nonzero is an error and errno may be read for further details + + +.. c:function:: int nvme_mi_aem_process (nvme_mi_ep_t ep, void *userdata) + + Process AEM on the provided endpoint + +**Parameters** + +``nvme_mi_ep_t ep`` + Endpoint to process + +``void *userdata`` + Application provided context pointer for callback function + +**Description** + +Call this if poll() indicates data is available on the fd provided by nvme_mi_aem_get_fd() + +This will call the fn pointer, aem_handler, provided with nvme_mi_aem_config and the +application can call nvme_mi_aem_get_next_event() from within this callback to get +aem event data. The callback function should return NVME_MI_AEM_HNA_ACK for normal operation. + +**Return** + +0 is a success, nonzero is an error and errno may be read for further details + + diff --git a/doc/rst/tree.rst b/doc/rst/tree.rst index b64c8cf1..7ecfaec7 100644 --- a/doc/rst/tree.rst +++ b/doc/rst/tree.rst @@ -2301,6 +2301,20 @@ IO policy used by current subsystem Model of the current subsystem +.. c:function:: const char * nvme_subsystem_get_serial (nvme_subsystem_t s) + + Return the serial number of subsystem + +**Parameters** + +``nvme_subsystem_t s`` + nvme_subsystem_t object + +**Return** + +Serial number of the current subsystem + + .. c:function:: const char * nvme_subsystem_get_fw_rev (nvme_subsystem_t s) Return the firmware rev of subsystem diff --git a/doc/rst/types.rst b/doc/rst/types.rst index e66ffd36..45d8261e 100644 --- a/doc/rst/types.rst +++ b/doc/rst/types.rst @@ -14192,6 +14192,10 @@ true if **status** is of the specified type and value ``NVME_FEAT_TT_THSEL_MASK`` +``NVME_FEAT_TT_TMPTHH_SHIFT`` + +``NVME_FEAT_TT_TMPTHH_MASK`` + ``NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT`` ``NVME_FEAT_ERROR_RECOVERY_TLER_MASK`` @@ -14428,6 +14432,14 @@ true if **status** is of the specified type and value ``NVME_FEAT_FDP_EVENTS_ENABLE_MASK`` +``NVME_FEAT_BPWPC_BP0WPS_SHIFT`` + +``NVME_FEAT_BPWPC_BP0WPS_MASK`` + +``NVME_FEAT_BPWPC_BP1WPS_SHIFT`` + +``NVME_FEAT_BPWPC_BP1WPS_MASK`` + @@ -14947,6 +14959,132 @@ true if **status** is of the specified type and value +.. c:enum:: nvme_feat_perfc_attri + + performance characteristics attribute index + +**Constants** + +``NVME_FEAT_PERFC_ATTRI_STD`` + standard performance attribute + +``NVME_FEAT_PERFC_ATTRI_ID_LIST`` + performance attribute identifier list + +``NVME_FEAT_PERFC_ATTRI_VS_MIN`` + vendor specific performance attribute minimum index + +``NVME_FEAT_PERFC_ATTRI_VS_MAX`` + vendor specific performance attribute maximum index + + + + +.. c:enum:: nvme_feat_perfc_r4karl + + standard performance attribute random 4 kib average latency + +**Constants** + +``NVME_FEAT_PERFC_R4KARL_NO_REPORT`` + not reported + +``NVME_FEAT_PERFC_R4KARL_GE_100_SEC`` + greater than or equal to 100 secs + +``NVME_FEAT_PERFC_R4KARL_GE_50_SEC`` + greater than or equal to 50 secs and less than 100 secs + +``NVME_FEAT_PERFC_R4KARL_GE_10_SEC`` + greater than or equal to 10 secs and less than 50 secs + +``NVME_FEAT_PERFC_R4KARL_GE_5_SEC`` + greater than or equal to 5 secs and less than 10 secs + +``NVME_FEAT_PERFC_R4KARL_GE_1_SEC`` + greater than or equal to 1 sec and less than 5 secs + +``NVME_FEAT_PERFC_R4KARL_GE_500_MS`` + greater than or equal to 500 msecs and less than 1 sec + +``NVME_FEAT_PERFC_R4KARL_GE_100_MS`` + greater than or equal to 100 msecs and less than 500 msecs + +``NVME_FEAT_PERFC_R4KARL_GE_50_MS`` + greater than or equal to 50 msecs and less than 100 msecs + +``NVME_FEAT_PERFC_R4KARL_GE_10_MS`` + greater than or equal to 10 msecs and less than 50 msecs + +``NVME_FEAT_PERFC_R4KARL_GE_5_MS`` + greater than or equal to 5 msecs and less than 10 msecs + +``NVME_FEAT_PERFC_R4KARL_GE_1_MS`` + greater than or equal to 1 msec and less than 5 msecs + +``NVME_FEAT_PERFC_R4KARL_GE_500_US`` + greater than or equal to 500 usecs and less than 1 msec + +``NVME_FEAT_PERFC_R4KARL_GE_100_US`` + greater than or equal to 100 usecs and less than 500 usecs + +``NVME_FEAT_PERFC_R4KARL_GE_50_US`` + greater than or equal to 50 usecs and less than 100 usecs + +``NVME_FEAT_PERFC_R4KARL_GE_10_US`` + greater than or equal to 10 usecs and less than 50 usecs + +``NVME_FEAT_PERFC_R4KARL_GE_5_US`` + greater than or equal to 5 usecs and less than 10 usecs + +``NVME_FEAT_PERFC_R4KARL_GE_1_US`` + greater than or equal to 1 usec and less than 5 usecs + +``NVME_FEAT_PERFC_R4KARL_GE_500_NS`` + greater than or equal to 500 nsecs and less than 1 usec + +``NVME_FEAT_PERFC_R4KARL_GE_100_NS`` + greater than or equal to 100 nsecs and less than 500 nsecs + +``NVME_FEAT_PERFC_R4KARL_GE_50_NS`` + greater than or equal to 50 nsecs and less than 100 nsecs + +``NVME_FEAT_PERFC_R4KARL_GE_10_NS`` + greater than or equal to 10 nsecs and less than 50 nsecs + +``NVME_FEAT_PERFC_R4KARL_GE_5_NS`` + greater than or equal to 5 nsecs and less than 10 nsecs + +``NVME_FEAT_PERFC_R4KARL_GE_1_NS`` + greater than or equal to 1 nsec and less than 5 nsecs + + + + +.. c:enum:: nvme_feat_bpwp_state + + Boot Partition Write Protection State + +**Constants** + +``NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED`` + Change in state not requested + +``NVME_FEAT_BPWPS_WRITE_UNLOCKED`` + Write Unlocked + +``NVME_FEAT_BPWPS_WRITE_LOCKED`` + Write Locked + +``NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE`` + Write Locked Until Power Cycle + +``NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB`` + Write Protection controlled by RPMB + + + + .. c:enum:: nvme_fctype Fabrics Command Types diff --git a/examples/meson.build b/examples/meson.build index 3139311a..62fbe9ef 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -40,6 +40,20 @@ executable( include_directories: [incdir, internal_incdir] ) +executable( + 'mi-mctp-csi-test', + ['mi-mctp-csi-test.c'], + dependencies: [libnvme_mi_dep, threads_dep], + include_directories: [incdir, internal_incdir] +) + +executable( + 'mi-mctp-ae', + ['mi-mctp-ae.c'], + dependencies: libnvme_mi_dep, + include_directories: [incdir, internal_incdir] +) + if libdbus_dep.found() executable( 'mi-conf', diff --git a/examples/mi-mctp-ae.c b/examples/mi-mctp-ae.c new file mode 100644 index 00000000..d73a3598 --- /dev/null +++ b/examples/mi-mctp-ae.c @@ -0,0 +1,181 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + */ + +/** + * mi-mctp-ae: open a MI connection over MCTP, supporting asynchronous event messages + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include // for usleep + +#include +#include + +#include +#include +#include + +struct app_userdata { + uint32_t count; +}; + +static void print_byte_array(void *data, size_t len) +{ + uint8_t *byte_data = (uint8_t *)data; + + for (size_t i = 0; i < len; ++i) + printf("%02X ", byte_data[i]); + printf("\n"); +} + +static void print_event_info(struct nvme_mi_event *event) +{ + printf("aeoi: %02X\n", event->aeoi); + printf("aeocidi: %04X\n", event->aeocidi); + printf("aessi: %02X\n", event->aessi); + + if (event->spec_info_len && event->spec_info) { + printf("specific_info: "); + print_byte_array(event->spec_info, event->spec_info_len); + } + + if (event->vend_spec_info_len && event->vend_spec_info) { + printf("vendor_specific_info: "); + print_byte_array(event->vend_spec_info, event->vend_spec_info_len); + } +} + +enum nvme_mi_aem_handler_next_action aem_handler(nvme_mi_ep_t ep, size_t num_events, void *userdata) +{ + struct app_userdata *data = (struct app_userdata *) userdata; + + data->count++; + + printf("Received notification #%d with %zu events:\n", data->count, num_events); + for (int i = 0; i < num_events; i++) { + struct nvme_mi_event *event = nvme_mi_aem_get_next_event(ep); + + if (event == NULL) + printf("Unexpected NULL event\n"); + else { + printf("Event:\n"); + print_event_info(event); + printf("\n"); + } + } + + return NVME_MI_AEM_HNA_ACK; +} + +int main(int argc, char **argv) +{ + nvme_root_t root; + nvme_mi_ep_t ep; + uint8_t eid = 0; + int rc = 0, net = 0; + struct nvme_mi_aem_config aem_config = {0}; + struct nvme_mi_aem_enabled_map enabled_map = {0}; + struct app_userdata data = {0}; + + const uint8_t AEM_FD_INDEX = 0; + const uint8_t STD_IN_FD_INDEX = 1; + + if (argc == 4) { + net = atoi(argv[1]); + eid = atoi(argv[2]) & 0xff; + argv += 2; + argc -= 2; + + int event_count = argc - 1; + + for (int i = 0; i < event_count; i++) { + int event = atoi(argv[1+i]); + + aem_config.enabled_map.enabled[event] = true; + } + } else { + fprintf(stderr, + "usage: %s [AE #s separated by spaces]\n", + argv[0]); + return EXIT_FAILURE; + } + + root = nvme_mi_create_root(stderr, DEFAULT_LOGLEVEL); + if (!root) + err(EXIT_FAILURE, "can't create NVMe root"); + + ep = nvme_mi_open_mctp(root, net, eid); + if (!ep) + err(EXIT_FAILURE, "can't open MCTP endpoint %d:%d", net, eid); + + aem_config.aem_handler = aem_handler; + aem_config.aemd = 1; + aem_config.aerd = 100; + + rc = nvme_mi_aem_get_enabled(ep, &enabled_map); + if (rc) + err(EXIT_FAILURE, "Can't query enabled aems:%d", rc); + printf("The following events were previously enabled:\n"); + for (int i = 0; i < 256; i++) { + if (enabled_map.enabled[i]) + printf("Event: %d\n", i); + } + + rc = nvme_mi_aem_enable(ep, &aem_config, &data); + if (rc && errno == EOPNOTSUPP) + errx(EXIT_FAILURE, "MCTP Peer-Bind is required for AEM"); + else if (rc) + err(EXIT_FAILURE, "Can't enable aem:%d", rc); + + rc = nvme_mi_aem_get_enabled(ep, &enabled_map); + if (rc) + err(EXIT_FAILURE, "Can't query enabled aems:%d", rc); + + struct pollfd fds[2]; + + fds[AEM_FD_INDEX].fd = nvme_mi_aem_get_fd(ep); + if (fds[AEM_FD_INDEX].fd < 0) + errx(EXIT_FAILURE, "Can't get aem fd"); + + fds[STD_IN_FD_INDEX].fd = STDIN_FILENO; + + fds[AEM_FD_INDEX].events = POLLIN; + fds[STD_IN_FD_INDEX].events = POLLIN; + + printf("Press any key to exit\n"); + while (1) { + rc = poll(fds, 2, -1); + + if (rc == -1) { + warn("poll"); + break; + } + //Time to do the work + if (fds[AEM_FD_INDEX].revents & POLLIN) { + rc = nvme_mi_aem_process(ep, &data); + if (rc) + err(EXIT_FAILURE, + "nvme_mi_aem_process failed with:%d", rc); + } + if (fds[STD_IN_FD_INDEX].revents & POLLIN) + break;//we are done + } + + //Cleanup + nvme_mi_aem_disable(ep); + nvme_mi_close(ep); + nvme_mi_free_root(root); + + return rc ? EXIT_FAILURE : EXIT_SUCCESS; +} + + diff --git a/examples/mi-mctp-csi-test.c b/examples/mi-mctp-csi-test.c new file mode 100644 index 00000000..e049c32d --- /dev/null +++ b/examples/mi-mctp-csi-test.c @@ -0,0 +1,252 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + */ + +/** + * mi-mctp-csi-test: open a MI connection over MCTP, and send two commands + * in parallel with different CSI buffers + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +void fhexdump(FILE *fp, const unsigned char *buf, int len) +{ + const int row_len = 16; + int i, j; + + for (i = 0; i < len; i += row_len) { + char hbuf[row_len * strlen("00 ") + 1]; + char cbuf[row_len + strlen("|") + 1]; + + for (j = 0; (j < row_len) && ((i+j) < len); j++) { + unsigned char c = buf[i + j]; + + sprintf(hbuf + j * 3, "%02x ", c); + + if (!isprint(c)) + c = '.'; + + sprintf(cbuf + j, "%c", c); + } + + strcat(cbuf, "|"); + + fprintf(fp, "%08x %*s |%s\n", i, + 0 - (int)sizeof(hbuf) + 1, hbuf, cbuf); + } +} + +void hexdump(const unsigned char *buf, int len) +{ + fhexdump(stdout, buf, len); +} + +int do_get_log_page(nvme_mi_ep_t ep, int argc, char **argv) +{ + struct nvme_get_log_args args = { 0 }; + struct nvme_mi_ctrl *ctrl; + uint8_t buf[4096]; + uint16_t ctrl_id; + int rc, tmp; + + if (argc < 2) { + fprintf(stderr, "no controller ID specified\n"); + return -1; + } + + tmp = atoi(argv[1]); + if (tmp < 0 || tmp > 0xffff) { + fprintf(stderr, "invalid controller ID\n"); + return -1; + } + + ctrl_id = tmp & 0xffff; + + args.args_size = sizeof(args); + args.log = buf; + args.len = sizeof(buf); + + if (argc > 2) { + tmp = atoi(argv[2]); + args.lid = tmp & 0xff; + } else { + args.lid = 0x1; + } + + ctrl = nvme_mi_init_ctrl(ep, ctrl_id); + if (!ctrl) { + warn("can't create controller"); + return -1; + } + + rc = nvme_mi_admin_get_log(ctrl, &args); + if (rc) { + warn("can't perform Get Log page command"); + return -1; + } + + printf("Get log page (log id = 0x%02x) data:\n", args.lid); + hexdump(buf, args.len); + + return 0; +} + +struct thread_struct { + nvme_mi_ep_t ep; + int argc; + char **argv; + int rc; +}; + +void *csi_thread_helper(void *context) +{ + struct thread_struct *s = (struct thread_struct *) context; + + s->rc = do_get_log_page(s->ep, s->argc, s->argv); + return NULL; +} + +enum action { + ACTION_CSI_TEST, +}; + +int do_csi_test(nvme_root_t root, int net, __u8 eid, + int argc, char **argv) +{ + int rc = 0; + nvme_mi_ep_t ep1, ep2; + + ep1 = nvme_mi_open_mctp(root, net, eid); + if (!ep1) + errx(EXIT_FAILURE, "can't open MCTP endpoint %d:%d", net, eid); + ep2 = nvme_mi_open_mctp(root, net, eid); + if (!ep2) + errx(EXIT_FAILURE, "can't open MCTP endpoint %d:%d", net, eid); + + pthread_t thread; + + nvme_mi_set_csi(ep1, 0);//Not necessary, but to be explicit + nvme_mi_set_csi(ep2, 1); + struct thread_struct s; + + s.ep = ep2; + s.argc = argc; + s.argv = argv; + + // Create a new thread to run my_function + if (pthread_create(&thread, NULL, csi_thread_helper, &s)) { + fprintf(stderr, "Error creating thread\n"); + return 1; + } + + rc = do_get_log_page(ep1, argc, argv); + + // Main thread continues to do other work + printf("Main thread finished with rc=%d\n", rc); + + // Wait for the created thread to finish + if (pthread_join(thread, NULL)) { + fprintf(stderr, "Error joining thread\n"); + return 2; + } + + printf("Second thread finished with rc=%d\n", s.rc); + + nvme_mi_close(ep1); + nvme_mi_close(ep2); + + if (rc) + return rc; + if (s.rc) + return s.rc; + return 0; +} + +static int do_action_endpoint(enum action action, + nvme_root_t root, + int net, + uint8_t eid, + int argc, + char **argv) +{ + int rc; + + switch (action) { + case ACTION_CSI_TEST: + rc = do_csi_test(root, net, eid, argc, argv); + break; + default: + /* This shouldn't be possible, as we should be covering all + * of the enum action options above. Hoever, keep the compilers + * happy and fail gracefully. + */ + fprintf(stderr, "invalid action %d?\n", action); + rc = -1; + } + return rc; +} + +int main(int argc, char **argv) +{ + enum action action; + nvme_root_t root; + bool usage = true; + uint8_t eid = 0; + int rc = 0, net = 0; + + if (argc >= 5) { + usage = false; + net = atoi(argv[1]); + eid = atoi(argv[2]) & 0xff; + argv += 2; + argc -= 2; + } + + if (usage) { + fprintf(stderr, + "usage: %s [action] [action args]\n", + argv[0]); + fprintf(stderr, "where action is:\n" + " csi-test []\n" + "\n" + ); + return EXIT_FAILURE; + } + + char *action_str = argv[1]; + + argc--; + argv++; + + if (!strcmp(action_str, "csi-test")) { + action = ACTION_CSI_TEST; + } else { + fprintf(stderr, "invalid action '%s'\n", action_str); + return EXIT_FAILURE; + } + + root = nvme_mi_create_root(stderr, DEFAULT_LOGLEVEL); + if (!root) + err(EXIT_FAILURE, "can't create NVMe root"); + + rc = do_action_endpoint(action, root, net, eid, argc, argv); + nvme_mi_free_root(root); + + return rc ? EXIT_FAILURE : EXIT_SUCCESS; +} + + diff --git a/meson.build b/meson.build index b711a08a..279245ac 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project( 'libnvme', ['c'], meson_version: '>= 0.62.0', - version: '1.13', + version: '1.14', license: 'LGPL-2.1-or-later', default_options: [ 'c_std=gnu99', @@ -21,6 +21,7 @@ project( ) vstr = meson.project_version().split('-rc')[0] +vstr = vstr.split('.dev')[0] vid = vstr.split('.') library_version = '.'.join([vid[0], vid[1]]) if vid.length() == 3 @@ -215,9 +216,10 @@ conf.set10( description: 'Is linux/mctp.h include-able?' ) -conf.set( - 'HAVE_NETDB', - cc.links( +is_static = get_option('default_library') == 'static' +have_netdb = false +if not is_static + have_netdb = cc.links( '''#include #include #include @@ -227,9 +229,16 @@ conf.set( } ''', name: 'netdb', - ), + ) +endif + +conf.set( + 'HAVE_NETDB', + have_netdb, description: 'Is network address and service translation available' ) + +threads_dep = dependency('threads', required: true) dl_dep = dependency('dl', required: false) conf.set( 'HAVE_LIBC_DLSYM', @@ -243,20 +252,6 @@ else conf.set('fallthrough', 'do {} while (0) /* fallthrough */') endif -if cc.has_function('TEMP_FAILURE_RETRY', prefix : '#include ') - conf.set('TFR', 'TEMP_FAILURE_RETRY') -else - conf.set('TFR(exp)', ''' \ -({ \ - long int __result = 0; \ - do { \ - __result = (long int)(exp); \ - } while ((__result == -1) && (errno == EINTR)); \ - __result; \ -}) -''') -endif - ################################################################################ substs = configuration_data() substs.set('NAME', meson.project_name()) diff --git a/pyproject.toml b/pyproject.toml index 0f661c8e..4dff97d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,22 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [build-system] -requires = ["mesonpep517", "wheel", "meson", "ninja"] # PEP 508 specifications. -build-backend = "mesonpep517.buildapi" +build-backend = 'mesonpy' +requires = ['meson-python'] + +[project] +name = "libnvme" +dynamic = ["version"] +description = "python bindings for libnvme" +readme = "README.md" +requires-python = ">=3.6" +license = { text = "LGPL-2.1-or-later" } + +authors = [ + { name = "Hannes Reinecke", email = "hare@suse.de" } +] + +keywords = ["nvme", "storage", "bindings"] -[tool.mesonpep517.metadata] -author="Hannes Reinecke" -author-email="hare@suse.de" classifiers = [ "Intended Audience :: Developers", "Development Status :: 5 - Production/Stable", @@ -13,10 +24,10 @@ classifiers = [ "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", ] -description="Provides library functions for accessing and managing nvme devices on a Linux system." -description-file="README.md" -home-page = "https://github.com/linux-nvme/libnvme" -license="LGPL-2.1-or-later" -requires-python=">=3.6" -summary="python bindings for libnvme" +dependencies = [] + +[project.urls] +"Homepage" = "https://github.com/linux-nvme/libnvme" +"Source" = "https://github.com/linux-nvme/libnvme" +"Bug Tracker" = "https://github.com/linux-nvme/libnvme/issues" diff --git a/scripts/release.sh b/scripts/release.sh index eb6eced4..22b36b0b 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -132,6 +132,42 @@ if [ "$build_doc" = true ]; then git commit -s -m "doc: Regenerate all docs for $VERSION" fi +declare -A maps +maps=( + [src/libnvme.map]=LIBNVME + [src/libnvme-mi.map]=LIBNVME_MI +) + +lib_ver="${ver//./_}" + +for map_file in "${!maps[@]}" +do + lib_name=${maps[$map_file]} + + if [ ! -f "${map_file}" ]; then + continue + fi + + lib_unreleased="${lib_name}_UNRELEASED" + + # Check if UNRELEASED has symbols + if ! awk -v lib_unreleased="$lib_unreleased" ' + $0 ~ "^"lib_unreleased { in_section = 1; next } + in_section && $0 ~ /\}/ { exit } + in_section && $0 !~ /^[[:space:]]*($|\/|\/\*|\*|#)/ { found = 1; exit } + END { exit !found } + ' "${map_file}"; then + continue + fi + + sed -i \ + -e "s/^${lib_unreleased}\s*{/&\n};\n\n${lib_name}_${lib_ver} {/" \ + "$map_file" + + git add "${map_file}" + echo "${map_file} updated." +done + # update meson.build sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver\',/" meson.build if [[ -n "$libnvme_VERSION" ]] && [[ -f subprojects/libnvme.wrap ]]; then diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map index 0fb37829..0a8cf1e3 100644 --- a/src/libnvme-mi.map +++ b/src/libnvme-mi.map @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_MI_UNRELEASED { +}; + +LIBNVME_MI_1_14 { + global: + nvme_mi_aem_disable; + nvme_mi_aem_enable; + nvme_mi_aem_get_enabled; + nvme_mi_aem_get_fd; + nvme_mi_aem_get_next_event; + nvme_mi_aem_process; + nvme_mi_set_csi; + nvme_mi_submit_entry; + nvme_mi_submit_exit; +}; + LIBNVME_MI_1_12 { global: nvme_mi_mi_xfer; diff --git a/src/libnvme.map b/src/libnvme.map index 4314705f..1f6ea18c 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,4 +1,14 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_UNRELEASED { +}; + +LIBNVME_1_14 { + global: + nvme_get_features_temp_thresh2; + nvme_set_features_temp_thresh2; + nvme_subsystem_get_serial; +}; + LIBNVME_1.13 { global: nvme_subsystem_get_fw_rev; diff --git a/src/nvme/api-types.h b/src/nvme/api-types.h index 23c512ae..149ba22c 100644 --- a/src/nvme/api-types.h +++ b/src/nvme/api-types.h @@ -976,7 +976,9 @@ struct nvme_dim_args { * by the controller if no error is present. For Delete CDQ, this field is the CDQID * to delete. * @sel: Select (SEL): This field specifies the type of management operation to perform. - * @sz: For Create CDQ, specifies the size of CDQ, in dwords + * @sz_u8: For Create CDQ, specifies the size of CDQ, in dwords - 1 byte + * @rsvd1: Reserved + * @sz: For Create CDQ, specifies the size of CDQ, in dwords - 4 byte */ struct nvme_lm_cdq_args { __u32 *result; @@ -988,7 +990,9 @@ struct nvme_lm_cdq_args { __u16 cntlid; __u16 cdqid; __u8 sel; - __u8 sz; + __u8 sz_u8; + __u8 rsvd1[4]; + __u32 sz; }; /** diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index cd82e753..6aa62eea 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -814,7 +814,7 @@ static int __nvmf_add_ctrl(nvme_root_t r, const char *argstr) nvme_msg(r, LOG_DEBUG, "connect ctrl, '%.*s'\n", (int)strcspn(argstr,"\n"), argstr); - ret = TFR(write(fd, argstr, len)); + ret = write(fd, argstr, len); if (ret != len) { nvme_msg(r, LOG_INFO, "Failed to write to %s: %s\n", nvmf_dev, strerror(errno)); diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index 2417863d..9a9db0be 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -722,6 +722,19 @@ int nvme_set_features_temp_thresh(int fd, __u16 tmpth, __u8 tmpsel, result); } +int nvme_set_features_temp_thresh2(int fd, __u16 tmpth, __u8 tmpsel, + enum nvme_feat_tmpthresh_thsel thsel, __u8 tmpthh, + bool save, __u32 *result) +{ + __u32 value = NVME_SET(tmpth, FEAT_TT_TMPTH) | + NVME_SET(tmpsel, FEAT_TT_TMPSEL) | + NVME_SET(thsel, FEAT_TT_THSEL) | + NVME_SET(tmpthh, FEAT_TT_TMPTHH); + + return __nvme_set_features(fd, NVME_FEAT_FID_TEMP_THRESH, value, save, + result); +} + int nvme_set_features_err_recovery(int fd, __u32 nsid, __u16 tler, bool dulbe, bool save, __u32 *result) { @@ -1078,6 +1091,26 @@ int nvme_get_features_temp_thresh(int fd, enum nvme_get_features_sel sel, return __nvme_get_features(fd, NVME_FEAT_FID_TEMP_THRESH, sel, result); } +int nvme_get_features_temp_thresh2(int fd, enum nvme_get_features_sel sel, __u8 tmpsel, + enum nvme_feat_tmpthresh_thsel thsel, __u32 *result) +{ + struct nvme_get_features_args args = { + .args_size = sizeof(args), + .fd = fd, + .fid = NVME_FEAT_FID_TEMP_THRESH, + .nsid = NVME_NSID_NONE, + .sel = sel, + .cdw11 = NVME_SET(tmpsel, FEAT_TT_TMPSEL) | NVME_SET(thsel, FEAT_TT_THSEL), + .uuidx = NVME_UUID_NONE, + .data_len = 0, + .data = NULL, + .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, + .result = result, + }; + + return nvme_get_features(&args); +} + int nvme_get_features_err_recovery(int fd, enum nvme_get_features_sel sel, __u32 *result) { @@ -2320,15 +2353,27 @@ int nvme_dim_send(struct nvme_dim_args *args) int nvme_lm_cdq(struct nvme_lm_cdq_args *args) { + const size_t size_v1 = sizeof_args(struct nvme_lm_cdq_args, sz_u8, __u64); + const size_t size_v2 = sizeof_args(struct nvme_lm_cdq_args, sz, __u64); __u32 cdw10 = NVME_SET(args->sel, LM_CDQ_SEL) | NVME_SET(args->mos, LM_CDQ_MOS); - __u32 cdw11 = 0, data_len = 0; + __u32 cdw11 = 0, data_len = 0, sz = 0; int err; + if (args->args_size < size_v1 || args->args_size > size_v2) { + errno = EINVAL; + return -1; + } + + if (args->args_size == size_v1) + sz = args->sz_u8; + else + sz = args->sz; + if (args->sel == NVME_LM_SEL_CREATE_CDQ) { cdw11 = NVME_SET(args->cntlid, LM_CREATE_CDQ_CNTLID) | NVME_LM_CREATE_CDQ_PC; - data_len = args->sz << 2; + data_len = sz << 2; } else if (args->sel == NVME_LM_SEL_DELETE_CDQ) { cdw11 = NVME_SET(args->cdqid, LM_DELETE_CDQ_CDQID); } @@ -2337,7 +2382,7 @@ int nvme_lm_cdq(struct nvme_lm_cdq_args *args) .opcode = nvme_admin_ctrl_data_queue, .cdw10 = cdw10, .cdw11 = cdw11, - .cdw12 = args->sz, + .cdw12 = sz, .addr = (__u64)(uintptr_t)args->data, .data_len = data_len, .timeout_ms = args->timeout, diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index f0e9636e..fd3dd398 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -2721,6 +2721,23 @@ int nvme_set_features_temp_thresh(int fd, __u16 tmpth, __u8 tmpsel, enum nvme_feat_tmpthresh_thsel thsel, bool save, __u32 *result); +/** + * nvme_set_features_temp_thresh2() - Set temperature threshold feature + * @fd: File descriptor of nvme device + * @tmpth: Temperature Threshold + * @tmpsel: Threshold Temperature Select + * @thsel: Threshold Type Select + * @tmpthh: Temperature Threshold Hysteresis + * @save: Save value across power states + * @result: The command completion result from CQE dword0 + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise. + */ +int nvme_set_features_temp_thresh2(int fd, __u16 tmpth, __u8 tmpsel, + enum nvme_feat_tmpthresh_thsel thsel, __u8 tmpthh, + bool save, __u32 *result); + /** * nvme_set_features_err_recovery() - Set error recovery feature * @fd: File descriptor of nvme device @@ -3208,6 +3225,20 @@ int nvme_get_features_lba_range2(int fd, enum nvme_get_features_sel sel, int nvme_get_features_temp_thresh(int fd, enum nvme_get_features_sel sel, __u32 *result); +/** + * nvme_get_features_temp_thresh2() - Get temperature threshold feature + * @fd: File descriptor of nvme device + * @sel: Select which type of attribute to return, see &enum nvme_get_features_sel + * @tmpsel: Threshold Temperature Select + * @thsel: Threshold Type Select + * @result: The command completion result from CQE dword0 + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise. + */ +int nvme_get_features_temp_thresh2(int fd, enum nvme_get_features_sel sel, __u8 tmpsel, + enum nvme_feat_tmpthresh_thsel thsel, __u32 *result); + /** * nvme_get_features_err_recovery() - Get error recovery feature * diff --git a/src/nvme/mi-mctp.c b/src/nvme/mi-mctp.c index a4124f04..308e061b 100644 --- a/src/nvme/mi-mctp.c +++ b/src/nvme/mi-mctp.c @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -84,6 +85,9 @@ struct nvme_mi_transport_mctp { int sd; void *resp_buf; size_t resp_buf_size; + int sd_aem; + void *resp_buf_aem; + size_t resp_buf_aem_size; }; static int ioctl_tag(int sd, unsigned long req, struct mctp_ioc_tag_ctl *ctl) @@ -91,8 +95,48 @@ static int ioctl_tag(int sd, unsigned long req, struct mctp_ioc_tag_ctl *ctl) return ioctl(sd, req, ctl); } +static int nvme_mi_msg_socket(void) +{ + return socket(AF_MCTP, SOCK_DGRAM, 0); +} + +static int nvme_mi_aem_socket(__u8 eid, unsigned int network) +{ + struct sockaddr_mctp local_addr = {0}, remote_addr = {0}; + int sd, rc; + + sd = socket(AF_MCTP, SOCK_DGRAM | SOCK_NONBLOCK, 0); + if (sd < 0) + return sd; + + remote_addr.smctp_family = AF_MCTP; + remote_addr.smctp_network = network; + remote_addr.smctp_addr.s_addr = eid; + remote_addr.smctp_type = MCTP_TYPE_NVME; + /* connect() will specify a remote EID for the upcoming bind() */ + rc = connect(sd, (struct sockaddr *)&remote_addr, sizeof(remote_addr)); + if (rc) + goto err_close; + + local_addr.smctp_family = AF_MCTP; + local_addr.smctp_network = network; + local_addr.smctp_addr.s_addr = MCTP_ADDR_ANY; + local_addr.smctp_type = MCTP_TYPE_NVME; + + rc = bind(sd, (struct sockaddr *)&local_addr, sizeof(local_addr)); + if (rc) + goto err_close; + + return sd; + +err_close: + close(sd); + return -1; +} + static struct __mi_mctp_socket_ops ops = { - socket, + nvme_mi_msg_socket, + nvme_mi_aem_socket, sendmsg, recvmsg, poll, @@ -220,6 +264,168 @@ static bool nvme_mi_mctp_resp_is_mpr(void *buf, size_t len, return true; } +static int nvme_mi_mctp_aem_fd(struct nvme_mi_ep *ep) +{ + struct nvme_mi_transport_mctp *mctp; + + if (ep->transport != &nvme_mi_transport_mctp) { + errno = EINVAL; + return -1; + } + + mctp = ep->transport_data; + return mctp->sd_aem; +} + +static int nvme_mi_mctp_aem_purge(struct nvme_mi_ep *ep) +{ + struct nvme_mi_transport_mctp *mctp = ep->transport_data; + struct msghdr msg = {0}; + struct iovec iov; + char buffer; + + iov.iov_base = &buffer; + iov.iov_len = sizeof(buffer); + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + + // Read until there is no more data + while (ops.recvmsg(mctp->sd_aem, &msg, MSG_TRUNC) > 0) + ; + + return 0; +} + + +static int nvme_mi_mctp_aem_read(struct nvme_mi_ep *ep, + struct nvme_mi_resp *resp) +{ + ssize_t len, resp_len, resp_hdr_len, resp_data_len; + struct sockaddr_mctp src_addr = { 0 }; + struct nvme_mi_transport_mctp *mctp; + struct iovec resp_iov[1]; + struct msghdr resp_msg; + int rc, errno_save; + __le32 mic; + + if (ep->transport != &nvme_mi_transport_mctp) { + errno = EINVAL; + return -1; + } + + /* we need enough space for at least a generic (/error) response */ + if (resp->hdr_len < sizeof(struct nvme_mi_msg_hdr)) { + errno = EINVAL; + return -1; + } + + mctp = ep->transport_data; + + resp_len = resp->hdr_len + resp->data_len + sizeof(mic); + if (resp_len > mctp->resp_buf_aem_size) { + void *tmp = realloc(mctp->resp_buf_aem, resp_len); + + if (!tmp) { + errno_save = errno; + nvme_msg(ep->root, LOG_ERR, + "Failure allocating response buffer: %m\n"); + errno = errno_save; + rc = -1; + goto out; + } + mctp->resp_buf_aem = tmp; + mctp->resp_buf_aem_size = resp_len; + } + + /* offset by one: the MCTP message type is excluded from the buffer */ + resp_iov[0].iov_base = mctp->resp_buf_aem + 1; + resp_iov[0].iov_len = resp_len - 1; + + memset(&resp_msg, 0, sizeof(resp_msg)); + resp_msg.msg_iov = resp_iov; + resp_msg.msg_iovlen = 1; + resp_msg.msg_name = &src_addr; + resp_msg.msg_namelen = sizeof(src_addr); + + rc = -1; + len = ops.recvmsg(mctp->sd_aem, &resp_msg, MSG_DONTWAIT); + + if (len < 0) { + if (errno == EAGAIN) + goto out; + + errno_save = errno; + nvme_msg(ep->root, LOG_ERR, + "Failure receiving MCTP message: %m\n"); + errno = errno_save; + goto out; + } + + + if (len == 0) { + nvme_msg(ep->root, LOG_WARNING, "No data from MCTP endpoint\n"); + errno = EIO; + goto out; + } + + if (resp_msg.msg_namelen < sizeof(src_addr)) { + nvme_msg(ep->root, LOG_WARNING, "Unexpected src address length\n"); + errno = EIO; + goto out; + } + + if (mctp->eid != src_addr.smctp_addr.s_addr) { + //This is unexpected if the socket is bound to the endpoint + errno = EPROTO; + goto out; + } + + /* Re-add the type byte, so we can work on aligned lengths from here */ + ((uint8_t *)mctp->resp_buf_aem)[0] = MCTP_TYPE_NVME | MCTP_TYPE_MIC; + len += 1; + + /* The smallest response data is 8 bytes: generic 4-byte message header + * plus four bytes of error data (excluding MIC). Ensure we have enough. + */ + if (len < 8 + sizeof(mic)) { + nvme_msg(ep->root, LOG_ERR, + "Invalid MCTP response: too short (%zd bytes, needed %zd)\n", + len, 8 + sizeof(mic)); + errno = EPROTO; + goto out; + } + + /* Start unpacking the linear resp buffer into the split header + data + * + MIC. + */ + + /* MIC is always at the tail */ + memcpy(&mic, mctp->resp_buf_aem + len - sizeof(mic), sizeof(mic)); + len -= 4; + + /* we expect resp->hdr_len bytes, but we may have less */ + resp_hdr_len = resp->hdr_len; + if (resp_hdr_len > len) + resp_hdr_len = len; + memcpy(resp->hdr, mctp->resp_buf_aem, resp_hdr_len); + resp->hdr_len = resp_hdr_len; + len -= resp_hdr_len; + + /* any remaining bytes are the data payload */ + resp_data_len = resp->data_len; + if (resp_data_len > len) + resp_data_len = len; + memcpy(resp->data, mctp->resp_buf_aem + resp_hdr_len, resp_data_len); + resp->data_len = resp_data_len; + + resp->mic = le32_to_cpu(mic); + + rc = 0; + +out: + return rc; +} + static int nvme_mi_mctp_submit(struct nvme_mi_ep *ep, struct nvme_mi_req *req, struct nvme_mi_resp *resp) @@ -433,7 +639,10 @@ static void nvme_mi_mctp_close(struct nvme_mi_ep *ep) mctp = ep->transport_data; close(mctp->sd); + close(mctp->sd_aem); + free(ep->aem_ctx); free(mctp->resp_buf); + free(mctp->resp_buf_aem); free(ep->transport_data); } @@ -459,8 +668,34 @@ static const struct nvme_mi_transport nvme_mi_transport_mctp = { .submit = nvme_mi_mctp_submit, .close = nvme_mi_mctp_close, .desc_ep = nvme_mi_mctp_desc_ep, + .aem_read = nvme_mi_mctp_aem_read, + .aem_fd = nvme_mi_mctp_aem_fd, + .aem_purge = nvme_mi_mctp_aem_purge, }; +int nvme_mi_aem_open(nvme_mi_ep_t ep) +{ + struct nvme_mi_transport_mctp *mctp; + + if (ep->transport != &nvme_mi_transport_mctp) { + errno = EINVAL; + return -1; + } + + mctp = ep->transport_data; + + //This doesn't have to be done multiple times + if (mctp->sd_aem >= 0) + return 0; + + mctp->sd_aem = ops.aem_socket(mctp->eid, mctp->net); + + if (mctp->sd_aem < 0) + return -1; + + return 0; +} + nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, __u8 eid) { struct nvme_mi_transport_mctp *mctp; @@ -479,6 +714,7 @@ nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, __u8 eid) memset(mctp, 0, sizeof(*mctp)); mctp->sd = -1; + mctp->sd_aem = -1; mctp->resp_buf_size = 4096; mctp->resp_buf = malloc(mctp->resp_buf_size); @@ -487,13 +723,20 @@ nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, __u8 eid) goto err_free_mctp; } + mctp->resp_buf_aem_size = 4096; + mctp->resp_buf_aem = malloc(mctp->resp_buf_aem_size); + if (!mctp->resp_buf_aem) { + errno_save = errno; + goto err_free_rspbuf; + } + mctp->net = netid; mctp->eid = eid; - mctp->sd = ops.socket(AF_MCTP, SOCK_DGRAM, 0); + mctp->sd = ops.msg_socket(); if (mctp->sd < 0) { errno_save = errno; - goto err_free_rspbuf; + goto err_free_aem_rspbuf; } ep->transport = &nvme_mi_transport_mctp; @@ -508,6 +751,8 @@ nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, __u8 eid) return ep; +err_free_aem_rspbuf: + free(mctp->resp_buf_aem); err_free_rspbuf: free(mctp->resp_buf); err_free_mctp: diff --git a/src/nvme/mi.c b/src/nvme/mi.c index 4640b0a9..93c85317 100644 --- a/src/nvme/mi.c +++ b/src/nvme/mi.c @@ -21,6 +21,24 @@ #include "mi.h" #include "private.h" +#define NUM_ENABLES (256u) + +_Static_assert(sizeof(struct nvme_mi_aem_supported_list_header) == 5, + "size_of_nvme_mi_aem_supported_list_header_is_not_5_bytes"); +_Static_assert(sizeof(struct nvme_mi_aem_supported_item) == 3, + "sizeof_nvme_mi_aem_supported_item_is_not_3_bytes"); +_Static_assert(sizeof(struct nvme_mi_aem_enable_item) == 3, + "size_of_ae_enable_item_t_is_not_3_bytes"); +_Static_assert(sizeof(struct nvme_mi_aem_enable_list_header) == 5, + "size_of_nvme_mi_aem_enable_list_header_is_not_5_bytes"); +_Static_assert(sizeof(struct nvme_mi_aem_occ_data) == 9, + "size_of_nvme_mi_aem_occ_data_is_not_9_bytes"); +_Static_assert(sizeof(struct nvme_mi_aem_occ_list_hdr) == 7, + "size_of_nvme_mi_aem_occ_list_hdr_is_not_7_bytes"); + +static int nvme_mi_get_async_message(nvme_mi_ep_t ep, + struct nvme_mi_aem_msg *aem_msg, size_t *aem_msg_len); + static const int default_timeout = 1000; /* milliseconds; endpoints may override */ @@ -414,10 +432,86 @@ static int nvme_mi_verify_resp_mic(struct nvme_mi_resp *resp) return resp->mic != ~crc; } +__attribute__((weak)) void *nvme_mi_submit_entry(__u8 type, const struct nvme_mi_msg_hdr *hdr, + size_t hdr_len, const void *data, size_t data_len) +{ + return NULL; +} + +__attribute__((weak)) void nvme_mi_submit_exit(__u8 type, const struct nvme_mi_msg_hdr *hdr, + size_t hdr_len, const void *data, size_t data_len, + void *user_data) { } + + +int nvme_mi_async_read(nvme_mi_ep_t ep, struct nvme_mi_resp *resp) +{ + if (nvme_mi_ep_has_quirk(ep, NVME_QUIRK_MIN_INTER_COMMAND_TIME)) + nvme_mi_record_resp_time(ep); + + int rc = ep->transport->aem_read(ep, resp); + + if (rc && errno == EWOULDBLOCK) { + //Sometimes we might get owned tag data from the wrong endpoint. + //This isn't an error, but we shouldn't process it here + resp->data_len = 0;//No data to process + return 0; + } else if (rc) { + nvme_msg(ep->root, LOG_INFO, "transport failure\n"); + return rc; + } + + if (ep->transport->mic_enabled) { + rc = nvme_mi_verify_resp_mic(resp); + if (rc) { + nvme_msg(ep->root, LOG_WARNING, "crc mismatch\n"); + errno = EBADMSG; + return -1; + } + } + + //TODO: There's a bunch of overlap with the nvme_mi_submit. Maybe we make common helpers + + /* basic response checks */ + if (resp->hdr_len < sizeof(struct nvme_mi_msg_hdr)) { + nvme_msg(ep->root, LOG_DEBUG, + "Bad response header len: %zd\n", resp->hdr_len); + errno = EPROTO; + return -1; + } + + if (resp->hdr->type != NVME_MI_MSGTYPE_NVME) { + nvme_msg(ep->root, LOG_DEBUG, + "Invalid message type 0x%02x\n", resp->hdr->type); + errno = EPROTO; + return -1; + } + + if (!(resp->hdr->nmp & ~(NVME_MI_ROR_REQ << 7))) { + nvme_msg(ep->root, LOG_DEBUG, + "ROR value in response indicates a response\n"); + errno = EIO; + return -1; + } + + if (!(resp->hdr->nmp & (NVME_MI_MT_AE << 3))) { + nvme_msg(ep->root, LOG_DEBUG, + "NMIMT does not indicate AEM\n"); + resp->data_len = 0;//No data to process + return 0; + } + + return 0; +} + + int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, struct nvme_mi_resp *resp) { int rc; + void *user_data; + + user_data = nvme_mi_submit_entry(req->hdr->type, req->hdr, req->hdr_len, req->data, + req->data_len); if (req->hdr_len < sizeof(struct nvme_mi_msg_hdr)) { errno = EINVAL; @@ -429,11 +523,6 @@ int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, return -1; } - if (req->data_len & 0x3) { - errno = EINVAL; - return -1; - } - if (resp->hdr_len < sizeof(struct nvme_mi_msg_hdr)) { errno = EINVAL; return -1; @@ -502,10 +591,26 @@ int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, return -1; } + nvme_mi_submit_exit(resp->hdr->type, resp->hdr, resp->hdr_len, resp->data, resp->data_len, + user_data); + return 0; } -static void nvme_mi_admin_init_req(struct nvme_mi_req *req, +int nvme_mi_set_csi(nvme_mi_ep_t ep, uint8_t csi) +{ + uint8_t csi_bit = (csi) ? 1 : 0; + + if (nvme_mi_ep_has_quirk(ep, NVME_QUIRK_CSI_1_NOT_SUPPORTED) && csi_bit) + return -1; + + ep->csi = csi_bit; + + return 0; +} + +static void nvme_mi_admin_init_req(nvme_mi_ep_t ep, + struct nvme_mi_req *req, struct nvme_mi_admin_req_hdr *hdr, __u16 ctrl_id, __u8 opcode) { @@ -514,7 +619,8 @@ static void nvme_mi_admin_init_req(struct nvme_mi_req *req, hdr->hdr.type = NVME_MI_MSGTYPE_NVME; hdr->hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_ADMIN << 3); /* we always use command slot 0 */ + (NVME_MI_MT_ADMIN << 3) | + (ep->csi & 1); hdr->opcode = opcode; hdr->ctrl_id = cpu_to_le16(ctrl_id); @@ -530,7 +636,8 @@ static void nvme_mi_admin_init_resp(struct nvme_mi_resp *resp, resp->hdr_len = sizeof(*hdr); } -static void nvme_mi_control_init_req(struct nvme_mi_req *req, +static void nvme_mi_control_init_req(nvme_mi_ep_t ep, + struct nvme_mi_req *req, struct nvme_mi_control_req *control_req, __u8 opcode, __u16 cpsp) { @@ -539,7 +646,8 @@ static void nvme_mi_control_init_req(struct nvme_mi_req *req, control_req->hdr.type = NVME_MI_MSGTYPE_NVME; control_req->hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_CONTROL << 3); /* we always use command slot 0 */ + (NVME_MI_MT_CONTROL << 3) | + (ep->csi & 1); control_req->opcode = opcode; control_req->cpsp = cpu_to_le16(cpsp); @@ -626,6 +734,28 @@ static int nvme_mi_control_parse_status(struct nvme_mi_resp *resp, __u16 *cpsr) return control_resp->status; } +static int nvme_mi_get_async_message(nvme_mi_ep_t ep, + struct nvme_mi_aem_msg *aem_msg, + size_t *aem_msg_len) +{ + struct nvme_mi_resp resp; + + memset(&resp, 0, sizeof(resp)); + resp.hdr = &aem_msg->hdr; + resp.hdr_len = sizeof(struct nvme_mi_msg_hdr); + resp.data = &aem_msg->occ_list_hdr; + resp.data_len = *aem_msg_len; + + int rc = nvme_mi_async_read(ep, &resp); + + if (rc) + return rc; + + *aem_msg_len = resp.data_len; + return 0; +} + + int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, struct nvme_mi_admin_req_hdr *admin_req, size_t req_data_size, @@ -676,7 +806,9 @@ int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, admin_req->hdr.type = NVME_MI_MSGTYPE_NVME; admin_req->hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_ADMIN << 3); + (NVME_MI_MT_ADMIN << 3) | + (ctrl->ep->csi & 1); + admin_req->ctrl_id = cpu_to_le16(ctrl->id); memset(&req, 0, sizeof(req)); req.hdr = &admin_req->hdr; @@ -684,8 +816,6 @@ int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, req.data = admin_req + 1; req.data_len = req_data_size; - nvme_mi_calc_req_mic(&req); - memset(&resp, 0, sizeof(resp)); resp.hdr = &admin_resp->hdr; resp.hdr_len = sizeof(*admin_resp); @@ -754,7 +884,7 @@ int nvme_mi_admin_admin_passthru(nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, has_read_data = true; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, opcode); + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, opcode); req_hdr.cdw1 = cpu_to_le32(nsid); req_hdr.cdw2 = cpu_to_le32(cdw2); req_hdr.cdw3 = cpu_to_le32(cdw3); @@ -776,8 +906,6 @@ int nvme_mi_admin_admin_passthru(nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, req.data_len = data_len; } - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); if (has_read_data) { @@ -831,7 +959,7 @@ int nvme_mi_admin_identify_partial(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_identify); + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_identify); req_hdr.cdw1 = cpu_to_le32(args->nsid); req_hdr.cdw10 = cpu_to_le32(args->cntid << 16 | args->cns); req_hdr.cdw11 = cpu_to_le32((args->csi & 0xff) << 24 | @@ -844,8 +972,6 @@ int nvme_mi_admin_identify_partial(nvme_mi_ctrl_t ctrl, req_hdr.doff = cpu_to_le32(offset); } - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); resp.data = args->data; resp.data_len = size; @@ -877,7 +1003,7 @@ int nvme_mi_control(nvme_mi_ep_t ep, __u8 opcode, struct nvme_mi_req req; int rc = 0; - nvme_mi_control_init_req(&req, &control_req, opcode, cpsp); + nvme_mi_control_init_req(ep, &req, &control_req, opcode, cpsp); nvme_mi_control_init_resp(&resp, &control_resp); rc = nvme_mi_submit(ep, &req, &resp); @@ -928,7 +1054,8 @@ static int __nvme_mi_admin_get_log(nvme_mi_ctrl_t ctrl, ndw = (len >> 2) - 1; - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_get_log_page); + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, + nvme_admin_get_log_page); req_hdr.cdw1 = cpu_to_le32(args->nsid); req_hdr.cdw10 = cpu_to_le32((ndw & 0xffff) << 16 | ((!final || args->rae) ? 1 : 0) << 15 | @@ -944,8 +1071,6 @@ static int __nvme_mi_admin_get_log(nvme_mi_ctrl_t ctrl, req_hdr.flags = 0x1; req_hdr.dlen = cpu_to_le32(len & 0xffffffff); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); resp.data = args->log + offset; resp.data_len = len; @@ -1160,7 +1285,7 @@ int nvme_mi_admin_security_send(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_security_send); req_hdr.cdw10 = cpu_to_le32(args->secp << 24 | @@ -1175,8 +1300,6 @@ int nvme_mi_admin_security_send(nvme_mi_ctrl_t ctrl, req.data = args->data; req.data_len = args->data_len; - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1206,7 +1329,7 @@ int nvme_mi_admin_security_recv(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_security_recv); req_hdr.cdw10 = cpu_to_le32(args->secp << 24 | @@ -1219,8 +1342,6 @@ int nvme_mi_admin_security_recv(nvme_mi_ctrl_t ctrl, req_hdr.flags = 0x1; req_hdr.dlen = cpu_to_le32(args->data_len & 0xffffffff); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); resp.data = args->data; resp.data_len = args->data_len; @@ -1252,7 +1373,7 @@ int nvme_mi_admin_get_features(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_get_features); req_hdr.cdw1 = cpu_to_le32(args->nsid); @@ -1260,8 +1381,6 @@ int nvme_mi_admin_get_features(nvme_mi_ctrl_t ctrl, req_hdr.cdw14 = cpu_to_le32(args->uuidx & 0x7f); req_hdr.cdw11 = cpu_to_le32(args->cdw11); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); resp.data = args->data; resp.data_len = args->data_len; @@ -1293,7 +1412,7 @@ int nvme_mi_admin_set_features(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_set_features); req_hdr.cdw1 = cpu_to_le32(args->nsid); @@ -1308,8 +1427,6 @@ int nvme_mi_admin_set_features(nvme_mi_ctrl_t ctrl, req.data_len = args->data_len; req.data = args->data; - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1342,7 +1459,7 @@ int nvme_mi_admin_ns_mgmt(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_ns_mgmt); req_hdr.cdw1 = cpu_to_le32(args->nsid); @@ -1368,8 +1485,6 @@ int nvme_mi_admin_ns_mgmt(nvme_mi_ctrl_t ctrl, req_hdr.flags = 0x1; } - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1393,7 +1508,7 @@ int nvme_mi_admin_ns_attach(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_ns_attach); req_hdr.cdw1 = cpu_to_le32(args->nsid); @@ -1403,8 +1518,6 @@ int nvme_mi_admin_ns_attach(nvme_mi_ctrl_t ctrl, req_hdr.dlen = cpu_to_le32(sizeof(*args->ctrlist)); req_hdr.flags = 0x1; - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1438,7 +1551,7 @@ int nvme_mi_admin_fw_download(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_fw_download); req_hdr.cdw10 = cpu_to_le32((args->data_len >> 2) - 1); @@ -1448,8 +1561,6 @@ int nvme_mi_admin_fw_download(nvme_mi_ctrl_t ctrl, req_hdr.dlen = cpu_to_le32(args->data_len); req_hdr.flags = 0x1; - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1473,15 +1584,13 @@ int nvme_mi_admin_fw_commit(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_fw_commit); req_hdr.cdw10 = cpu_to_le32(((__u32)(args->bpid & 0x1) << 31) | ((args->action & 0x7) << 3) | ((args->slot & 0x7) << 0)); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1505,7 +1614,7 @@ int nvme_mi_admin_format_nvm(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_format_nvm); req_hdr.cdw1 = cpu_to_le32(args->nsid); @@ -1516,8 +1625,6 @@ int nvme_mi_admin_format_nvm(nvme_mi_ctrl_t ctrl, | ((args->mset & 0x1) << 4) | ((args->lbaf & 0xf) << 0)); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1541,7 +1648,7 @@ int nvme_mi_admin_sanitize_nvm(nvme_mi_ctrl_t ctrl, return -1; } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, + nvme_mi_admin_init_req(ctrl->ep, &req, &req_hdr, ctrl->id, nvme_admin_sanitize_nvm); req_hdr.cdw10 = cpu_to_le32(((args->nodas ? 1 : 0) << 9) @@ -1551,8 +1658,6 @@ int nvme_mi_admin_sanitize_nvm(nvme_mi_ctrl_t ctrl, | ((args->sanact & 0x7) << 0)); req_hdr.cdw11 = cpu_to_le32(args->ovrpat); - nvme_mi_calc_req_mic(&req); - nvme_mi_admin_init_resp(&resp, &resp_hdr); rc = nvme_mi_submit(ctrl->ep, &req, &resp); @@ -1562,6 +1667,25 @@ int nvme_mi_admin_sanitize_nvm(nvme_mi_ctrl_t ctrl, return nvme_mi_admin_parse_status(&resp, args->result); } +static void nvme_mi_mi_init_req(nvme_mi_ep_t ep, + struct nvme_mi_req *req, + struct nvme_mi_mi_req_hdr *hdr, + __u32 cdw0, __u8 opcode) +{ + memset(req, 0, sizeof(*req)); + memset(hdr, 0, sizeof(*hdr)); + + hdr->hdr.type = NVME_MI_MSGTYPE_NVME; + hdr->hdr.nmp = (NVME_MI_ROR_REQ << 7) | + (NVME_MI_MT_MI << 3) | + (ep->csi & 1); + hdr->opcode = opcode; + hdr->cdw0 = cpu_to_le32(cdw0); + + req->hdr = &hdr->hdr; + req->hdr_len = sizeof(*hdr); +} + static int nvme_mi_read_data(nvme_mi_ep_t ep, __u32 cdw0, void *data, size_t *data_len) { @@ -1571,16 +1695,8 @@ static int nvme_mi_read_data(nvme_mi_ep_t ep, __u32 cdw0, struct nvme_mi_req req; int rc; - memset(&req_hdr, 0, sizeof(req_hdr)); - req_hdr.hdr.type = NVME_MI_MSGTYPE_NVME; - req_hdr.hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_MI << 3); /* we always use command slot 0 */ - req_hdr.opcode = nvme_mi_mi_opcode_mi_data_read; - req_hdr.cdw0 = cpu_to_le32(cdw0); - - memset(&req, 0, sizeof(req)); - req.hdr = &req_hdr.hdr; - req.hdr_len = sizeof(req_hdr); + nvme_mi_mi_init_req(ep, &req, &req_hdr, cdw0, + nvme_mi_mi_opcode_mi_data_read); memset(&resp, 0, sizeof(resp)); resp.hdr = &resp_hdr.hdr; @@ -1641,7 +1757,8 @@ int nvme_mi_mi_xfer(nvme_mi_ep_t ep, mi_req->hdr.type = NVME_MI_MSGTYPE_NVME; mi_req->hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_MI << 3); + (NVME_MI_MT_MI << 3) | + (ep->csi & 1); memset(&req, 0, sizeof(req)); req.hdr = &mi_req->hdr; @@ -1649,8 +1766,6 @@ int nvme_mi_mi_xfer(nvme_mi_ep_t ep, req.data = mi_req + 1; req.data_len = req_data_size; - nvme_mi_calc_req_mic(&req); - memset(&resp, 0, sizeof(resp)); resp.hdr = &mi_resp->hdr; resp.hdr_len = sizeof(*mi_resp); @@ -1762,17 +1877,10 @@ int nvme_mi_mi_subsystem_health_status_poll(nvme_mi_ep_t ep, bool clear, struct nvme_mi_req req; int rc; - memset(&req_hdr, 0, sizeof(req_hdr)); - req_hdr.hdr.type = NVME_MI_MSGTYPE_NVME;; - req_hdr.hdr.nmp = (NVME_MI_ROR_REQ << 7) | - (NVME_MI_MT_MI << 3); - req_hdr.opcode = nvme_mi_mi_opcode_subsys_health_status_poll; + nvme_mi_mi_init_req(ep, &req, &req_hdr, 0, + nvme_mi_mi_opcode_subsys_health_status_poll); req_hdr.cdw1 = (clear ? 1 : 0) << 31; - memset(&req, 0, sizeof(req)); - req.hdr = &req_hdr.hdr; - req.hdr_len = sizeof(req_hdr); - memset(&resp, 0, sizeof(resp)); resp.hdr = &resp_hdr.hdr; resp.hdr_len = sizeof(resp_hdr); @@ -1798,8 +1906,9 @@ int nvme_mi_mi_subsystem_health_status_poll(nvme_mi_ep_t ep, bool clear, return 0; } -int nvme_mi_mi_config_get(nvme_mi_ep_t ep, __u32 dw0, __u32 dw1, - __u32 *nmresp) +int nvme_mi_mi_config_set_get_ex(nvme_mi_ep_t ep, __u8 opcode, __u32 dw0, + __u32 dw1, void *data_out, size_t data_out_len, + void *data_in, size_t *data_in_len, __u32 *nmresp) { struct nvme_mi_mi_resp_hdr resp_hdr; struct nvme_mi_mi_req_hdr req_hdr; @@ -1807,20 +1916,16 @@ int nvme_mi_mi_config_get(nvme_mi_ep_t ep, __u32 dw0, __u32 dw1, struct nvme_mi_req req; int rc; - memset(&req_hdr, 0, sizeof(req_hdr)); - req_hdr.hdr.type = NVME_MI_MSGTYPE_NVME; - req_hdr.hdr.nmp = (NVME_MI_ROR_REQ << 7) | (NVME_MI_MT_MI << 3); - req_hdr.opcode = nvme_mi_mi_opcode_configuration_get; - req_hdr.cdw0 = cpu_to_le32(dw0); + nvme_mi_mi_init_req(ep, &req, &req_hdr, dw0, opcode); req_hdr.cdw1 = cpu_to_le32(dw1); - - memset(&req, 0, sizeof(req)); - req.hdr = &req_hdr.hdr; - req.hdr_len = sizeof(req_hdr); + req.data = data_out; + req.data_len = data_out_len; memset(&resp, 0, sizeof(resp)); resp.hdr = &resp_hdr.hdr; resp.hdr_len = sizeof(resp_hdr); + resp.data = data_in; + resp.data_len = *data_in_len; rc = nvme_mi_submit(ep, &req, &resp); if (rc) @@ -1829,46 +1934,122 @@ int nvme_mi_mi_config_get(nvme_mi_ep_t ep, __u32 dw0, __u32 dw1, if (resp_hdr.status) return resp_hdr.status; - *nmresp = resp_hdr.nmresp[0] | - resp_hdr.nmresp[1] << 8 | - resp_hdr.nmresp[2] << 16; + *data_in_len = resp.data_len; + + if (nmresp) { + *nmresp = resp_hdr.nmresp[0] | + resp_hdr.nmresp[1] << 8 | + resp_hdr.nmresp[2] << 16; + } return 0; } +int nvme_mi_mi_config_get(nvme_mi_ep_t ep, __u32 dw0, __u32 dw1, + __u32 *nmresp) +{ + size_t data_in_len = 0; + + return nvme_mi_mi_config_set_get_ex(ep, + nvme_mi_mi_opcode_configuration_get, + dw0, + dw1, + NULL, + 0, + NULL, + &data_in_len, + nmresp); +} + int nvme_mi_mi_config_set(nvme_mi_ep_t ep, __u32 dw0, __u32 dw1) { - struct nvme_mi_mi_resp_hdr resp_hdr; - struct nvme_mi_mi_req_hdr req_hdr; - struct nvme_mi_resp resp; - struct nvme_mi_req req; - int rc; + size_t data_in_len = 0; - memset(&req_hdr, 0, sizeof(req_hdr)); - req_hdr.hdr.type = NVME_MI_MSGTYPE_NVME; - req_hdr.hdr.nmp = (NVME_MI_ROR_REQ << 7) | (NVME_MI_MT_MI << 3); - req_hdr.opcode = nvme_mi_mi_opcode_configuration_set; - req_hdr.cdw0 = cpu_to_le32(dw0); - req_hdr.cdw1 = cpu_to_le32(dw1); + return nvme_mi_mi_config_set_get_ex(ep, + nvme_mi_mi_opcode_configuration_set, + dw0, + dw1, + NULL, + 0, + NULL, + &data_in_len, + NULL); +} - memset(&req, 0, sizeof(req)); - req.hdr = &req_hdr.hdr; - req.hdr_len = sizeof(req_hdr); +int nvme_mi_mi_config_get_async_event(nvme_mi_ep_t ep, + __u8 *aeelver, + struct nvme_mi_aem_supported_list *list, + size_t *list_num_bytes) +{ - memset(&resp, 0, sizeof(resp)); - resp.hdr = &resp_hdr.hdr; - resp.hdr_len = sizeof(resp_hdr); + __u32 dw0 = NVME_MI_CONFIG_AE; + __u32 aeelvertemp = 0; + + int rc = nvme_mi_mi_config_set_get_ex(ep, + nvme_mi_mi_opcode_configuration_get, + dw0, + 0, + NULL, + 0, + list, + list_num_bytes, + &aeelvertemp); - rc = nvme_mi_submit(ep, &req, &resp); if (rc) return rc; - if (resp_hdr.status) - return resp_hdr.status; + *aeelver = 0x000F & aeelvertemp; return 0; } +int nvme_mi_mi_config_set_async_event(nvme_mi_ep_t ep, + bool envfa, + bool empfa, + bool encfa, + __u8 aemd, + __u8 aerd, + struct nvme_mi_aem_enable_list *enable_list, + size_t enable_list_size, + struct nvme_mi_aem_occ_list_hdr *occ_list, + size_t *occ_list_size) +{ + + __u32 dw0 = ((__u32)envfa << 26) | + ((__u32)empfa << 25) | + ((__u32)encfa << 24) | + ((__u32)aemd << 16) | + ((__u16) aerd << 8) | NVME_MI_CONFIG_AE; + + //Basic checks here on lengths + if (enable_list_size < sizeof(struct nvme_mi_aem_enable_list) || + (sizeof(struct nvme_mi_aem_enable_list) + + enable_list->hdr.numaee * sizeof(struct nvme_mi_aem_enable_item) + > enable_list_size) + ) { + errno = EINVAL; + return -1; + } + + //Some very baseic header checks + if (enable_list->hdr.aeelhl != sizeof(struct nvme_mi_aem_enable_list_header) || + enable_list->hdr.aeelver != 0) { + errno = EINVAL; + return -1; + } + + return nvme_mi_mi_config_set_get_ex(ep, + nvme_mi_mi_opcode_configuration_set, + dw0, + 0, + enable_list, + enable_list_size, + occ_list, + occ_list_size, + NULL); +} + + void nvme_mi_close(nvme_mi_ep_t ep) { struct nvme_mi_ctrl *ctrl, *tmp; @@ -1974,3 +2155,517 @@ const char *nvme_mi_status_to_string(int status) return s; } + +bool nvme_mi_aem_aeei_get_aee(__le16 aeei) +{ + return !!(le16_to_cpu(aeei) & 0x8000); +} + +__u8 nvme_mi_aem_aeei_get_aeeid(__le16 aeei) +{ + return (le16_to_cpu(aeei) & 0xFF); +} + +void nvme_mi_aem_aeei_set_aeeid(struct nvme_mi_aem_enable_item *item, __u8 aeeid) +{ + __u16 temp = le16_to_cpu(item->aeei); + + item->aeei = cpu_to_le16((temp & 0xFF00) | aeeid); +} + +void nvme_mi_aem_aeei_set_aee(struct nvme_mi_aem_enable_item *item, bool enabled) +{ + __u16 temp = le16_to_cpu(item->aeei); + __u8 bit = (enabled) ? 1 : 0; + + item->aeei = cpu_to_le16((temp & 0xFF) | (bit << 15)); +} + +bool nvme_mi_aem_aesi_get_aese(__le16 aesi) +{ + return !!(le16_to_cpu(aesi) & 0x8000); +} + +__u8 nvme_mi_aem_aesi_get_aesid(__le16 aesi) +{ + return le16_to_cpu(aesi) & 0xff; +} + +void nvme_mi_aem_aesi_set_aesid(struct nvme_mi_aem_supported_item *item, __u8 aesid) +{ + __u16 temp = le16_to_cpu(item->aesi); + + item->aesi = cpu_to_le16((temp & 0xFF00) | aesid); +} + +void nvme_mi_aem_aesi_set_aee(struct nvme_mi_aem_supported_item *item, bool enabled) +{ + __u16 temp = le16_to_cpu(item->aesi); + __u8 bit = (enabled) ? 1 : 0; + + item->aesi = cpu_to_le16((temp & 0xFF) | (bit << 15)); +} + +__u8 nvme_mi_aem_aemti_get_aemgn(__u8 aemti) +{ + return aemti >> 3 & 0x1f; +} + +__u32 nvme_mi_aem_aeolli_get_aeoltl(__u8 *aeolli) +{ + //First 23-bits contain the aeoltl + __u32 aeoltl = aeolli[0] | (aeolli[1] << 8) | (aeolli[2] << 16); + + return aeoltl & 0x7FFFFF; +} + +void nvme_mi_aem_aeolli_set_aeoltl(struct nvme_mi_aem_occ_list_hdr *hdr, __u32 aeoltl) +{ + hdr->aeolli[0] = aeoltl & 0xFF; + hdr->aeolli[1] = (aeoltl >> 8) & 0xFF; + hdr->aeolli[2] = (hdr->aeolli[2] & 0b10000000) | ((aeoltl >> 16) & 0x7F); +} + +static int validate_enabled_list(struct nvme_mi_aem_supported_list *list, size_t len) +{ + if (list->hdr.aeslver != 0) { + errno = EPROTO; + return -1; + } + if (list->hdr.aeslhl != sizeof(struct nvme_mi_aem_supported_list)) { + errno = EPROTO; + return -1; + } + if (list->hdr.aest > len || + list->hdr.aest != + list->hdr.aeslhl + list->hdr.numaes * sizeof(struct nvme_mi_aem_supported_item)) { + errno = EPROTO; + return -1; + } + return 0; +} +static int validate_occ_list_update_ctx( + struct nvme_mi_aem_occ_list_hdr *occ_header, + size_t len, + struct nvme_mi_aem_ctx *ctx, + bool check_generation_num) +{ + //Make sure header fields have valid data + if (len < sizeof(*occ_header)) { + errno = EPROTO; + goto err_cleanup; + } else if (occ_header->aelver != 0 || + occ_header->aeolhl != sizeof(*occ_header)) { + //Make sure header is the right version and length + errno = EPROTO; + goto err_cleanup; + } else if (nvme_mi_aem_aeolli_get_aeoltl(occ_header->aeolli) > len) { + //Full length is bigger than the data that was received + errno = EPROTO; + goto err_cleanup; + } else if (check_generation_num && + ctx->last_generation_num == + (int) nvme_mi_aem_aemti_get_aemgn(occ_header->aemti)) { + //This is a duplicate and shouldn't be parsed. + //Let's just act like there's no updates + occ_header->numaeo = 0; + } else if (check_generation_num) { + ctx->last_generation_num = + nvme_mi_aem_aemti_get_aemgn(occ_header->aemti); + } + + //Header is fine. Let's go through the data + //First, we should update our context appropriately + ctx->occ_header = occ_header; + + //Data starts after header + ctx->list_current = (struct nvme_mi_aem_occ_data *) (occ_header + 1); + ctx->list_current_index = 0; + ctx->list_start = ctx->list_current; + + struct nvme_mi_aem_occ_data *current = ctx->list_current; + size_t bytes_so_far = ctx->occ_header->aeolhl; + + for (int i = 0; i < occ_header->numaeo; i++) { + //Validate this item + if (current->aelhlen != sizeof(*current)) { + errno = EPROTO; + goto err_cleanup; + } else if (!ctx->callbacks.enabled_map.enabled[current->aeoui.aeoi]) { + //This is unexpected as this AE shouldn't be enabled + errno = EPROTO; + goto err_cleanup; + } + + //Okay, check data lengths, including this header and the specific data(s) + uint32_t offset = sizeof(*current) + current->aeosil + current->aeovsil; + + bytes_so_far += offset; + if (bytes_so_far > nvme_mi_aem_aeolli_get_aeoltl(occ_header->aeolli)) { + errno = EPROTO; + goto err_cleanup; + } + + current = (struct nvme_mi_aem_occ_data *)((uint8_t *)current + offset); + } + + return 0; + +err_cleanup: + return -1; +} + +int nvme_mi_aem_get_fd(nvme_mi_ep_t ep) +{ + if (!ep || !ep->aem_ctx || !ep->transport || !ep->transport->aem_fd) + return -1; + + return ep->transport->aem_fd(ep); +} + +static void reset_list_info(struct nvme_mi_aem_ctx *ctx) +{ + //Reset context information + ctx->list_current_index = -1; + ctx->list_start = NULL; + ctx->list_current = NULL; + ctx->occ_header = NULL; +} + +static int aem_sync(nvme_mi_ep_t ep, + bool envfa, + bool empfa, + bool encfa, + __u8 aemd, + __u8 aerd, + struct nvme_mi_aem_enable_item *items, + __u8 num_items, + struct nvme_mi_aem_occ_list_hdr *resp, + size_t *resp_len +) +{ + size_t msg_len = + sizeof(struct nvme_mi_aem_enable_list_header) + + num_items * sizeof(struct nvme_mi_aem_enable_item); + + struct nvme_mi_aem_enable_list_header *request = malloc(msg_len); + + if (!request) + return -1; + + request->aeelhl = sizeof(struct nvme_mi_aem_enable_list_header); + request->numaee = num_items; + request->aeelver = 0; + request->aeetl = msg_len; + + //Data follows header + struct nvme_mi_aem_enable_item *msg_items = (struct nvme_mi_aem_enable_item *)(request + 1); + + //Let's be explicit about what's enabled and what's not + for (int i = 0; i < num_items; i++) { + msg_items[i] = items[i]; + msg_items[i].aeel = sizeof(msg_items[i]); + } + + //Send it + int rc = nvme_mi_mi_config_set_async_event(ep, + envfa, + empfa, + encfa, + aemd, + aerd, + (struct nvme_mi_aem_enable_list *)request, + msg_len, + resp, + resp_len); + + free(request); + return rc; +} + +static int aem_disable_enabled(nvme_mi_ep_t ep) +{ + struct nvme_mi_aem_enabled_map already_enabled = {false}; + uint8_t response_buffer[4096] = {0}; + size_t response_len = sizeof(response_buffer); + struct nvme_mi_aem_occ_list_hdr *response = + (struct nvme_mi_aem_occ_list_hdr *)response_buffer; + + // First, let's figure out if anything is already enabled that we need to + // disable + int rc = nvme_mi_aem_get_enabled(ep, &already_enabled); + + if (rc) + return rc; + + int sync_data_count = 0; + + //Add the enabled items to the list of things to disable + struct nvme_mi_aem_enable_item sync_data[NUM_ENABLES] = {0}; + + for (int i = 0; i < NUM_ENABLES; i++) { + if (already_enabled.enabled[i]) { + nvme_mi_aem_aeei_set_aeeid(&sync_data[sync_data_count], i); + nvme_mi_aem_aeei_set_aee(&sync_data[sync_data_count], false); + sync_data_count++; + } + } + + rc = aem_sync(ep, false, false, false, 1, 0, + sync_data, sync_data_count, response, &response_len); + + if (rc) + return rc; + + //Now, allow a purge of the aem fd because we could have + //received some events during this process + rc = ep->transport->aem_purge(ep); + + return rc; +} + +int nvme_mi_aem_enable(nvme_mi_ep_t ep, + struct nvme_mi_aem_config *config, + void *userdata) +{ + if (!ep || !config || !config->aem_handler) + return -1; + + int rc = nvme_mi_aem_open(ep); + + if (rc < 0) + return rc; + + int sync_data_count = 0; + struct nvme_mi_aem_enable_item sync_data[NUM_ENABLES] = {0}; + + uint8_t response_buffer[4096] = {0}; + size_t response_len = sizeof(response_buffer); + struct nvme_mi_aem_occ_list_hdr *response = + (struct nvme_mi_aem_occ_list_hdr *)response_buffer; + + //It's possible we're already enabled + if (!ep->aem_ctx) + ep->aem_ctx = malloc(sizeof(*ep->aem_ctx)); + if (!(ep->aem_ctx)) + return -1; + + memset(ep->aem_ctx, 0, sizeof(*ep->aem_ctx)); + ep->aem_ctx->last_generation_num = -1;//Invalid + reset_list_info((ep->aem_ctx)); + ep->aem_ctx->callbacks = *config; + + rc = aem_disable_enabled(ep); + if (rc) + goto cleanup_ctx; + + //Now, let's do a fresh enable of what's asked + for (int i = 0; i < NUM_ENABLES; i++) { + if (config->enabled_map.enabled[i]) { + nvme_mi_aem_aeei_set_aeeid(&sync_data[sync_data_count], i); + nvme_mi_aem_aeei_set_aee(&sync_data[sync_data_count], true); + sync_data_count++; + } + } + + rc = aem_sync(ep, config->envfa, config->empfa, + config->encfa, config->aemd, config->aerd, + sync_data, sync_data_count, response, &response_len); + if (rc) + goto cleanup_ctx; + + //Parse the response and fire events + rc = validate_occ_list_update_ctx(response, + response_len, + ep->aem_ctx, + false /*generation # shouldn't matter*/); + if (rc) + goto cleanup_ctx; + + if (response->numaeo) { + //Return value unused here + config->aem_handler(ep, response->numaeo, userdata); + } + +cleanup_ctx: + // Clear these because they won't point to valid memory anymore + reset_list_info(ep->aem_ctx); + + if (rc) { + free(ep->aem_ctx); + ep->aem_ctx = NULL; + } + return rc; +} + +int nvme_mi_aem_get_enabled(nvme_mi_ep_t ep, + struct nvme_mi_aem_enabled_map *enabled_map) +{ + if (!ep || !enabled_map) + return -1; + + int rc = 0; + + unsigned char aeelver; + size_t ae_list_bytes = NUM_ENABLES * sizeof(struct nvme_mi_aem_supported_list); + struct nvme_mi_aem_supported_list *enabled_list = malloc(ae_list_bytes); + + if (!enabled_list) + return -1; + + rc = nvme_mi_mi_config_get_async_event( + ep, &aeelver, enabled_list, &ae_list_bytes); + if (rc) + goto cleanup; + + rc = validate_enabled_list(enabled_list, ae_list_bytes); + if (rc) + goto cleanup; + + memset(enabled_map, 0, sizeof(*enabled_map)); + + struct nvme_mi_aem_enable_item *items = + (struct nvme_mi_aem_enable_item *)(enabled_list + 1); + + for (int i = 0; i < enabled_list->hdr.numaes; i++) { + __u8 aeeid = nvme_mi_aem_aeei_get_aeeid(items[i].aeei); + bool enabled = nvme_mi_aem_aeei_get_aee(items[i].aeei); + + enabled_map->enabled[aeeid] = enabled; + } + +cleanup: + free(enabled_list); + return rc; +} + +int nvme_mi_aem_disable(nvme_mi_ep_t ep) +{ + if (!ep) + return -1; + + int rc = aem_disable_enabled(ep); + + if (ep->aem_ctx) + free(ep->aem_ctx); + ep->aem_ctx = NULL; + + return rc; +} + +/*When inside a aem_handler, call with the aem_ctx and struct will be populated with next + *event information. Will return NULL when end of parsing (or error) is occurred. + *spec_info and vend_spec_info must be copied to persist as they will not be valid after + *the aem_handler has returned. + */ +struct nvme_mi_event *nvme_mi_aem_get_next_event(nvme_mi_ep_t ep) +{ + if (!ep || !ep->aem_ctx || + !ep->aem_ctx->list_current || + ep->aem_ctx->list_current_index == -1 || + !ep->aem_ctx->occ_header) { + return NULL; + } + + if (ep->aem_ctx->occ_header->numaeo <= ep->aem_ctx->list_current_index) + return NULL; + + struct nvme_mi_aem_ctx *aem_ctx = ep->aem_ctx; + struct nvme_mi_aem_occ_data *current = aem_ctx->list_current; + + aem_ctx->event.aeoi = current->aeoui.aeoi; + aem_ctx->event.aessi = current->aeoui.aessi; + aem_ctx->event.aeocidi = current->aeoui.aeocidi; + aem_ctx->event.spec_info_len = current->aeosil; + aem_ctx->event.vend_spec_info_len = current->aeovsil; + //Now the pointers + aem_ctx->event.spec_info = ((uint8_t *)current + current->aelhlen); + aem_ctx->event.vend_spec_info = + ((uint8_t *)aem_ctx->event.spec_info + aem_ctx->event.spec_info_len); + + //Let's grab the next item (if there is any). + aem_ctx->list_current_index++; + aem_ctx->list_current = + (struct nvme_mi_aem_occ_data *) + ((uint8_t *)aem_ctx->event.vend_spec_info + aem_ctx->event.vend_spec_info_len); + + return &aem_ctx->event; +} + +/* POLLIN has indicated events. This function reads and processes them. + * A callback will likely be invoked. + */ +int nvme_mi_aem_process(nvme_mi_ep_t ep, void *userdata) +{ + int rc = 0; + uint8_t response_buffer[4096]; + struct nvme_mi_aem_msg *response = (struct nvme_mi_aem_msg *)response_buffer; + size_t response_len = sizeof(response_buffer) - sizeof(struct nvme_mi_aem_msg); + + if (!ep || !ep->aem_ctx) + return -1; + + memset(response_buffer, 0, sizeof(response_buffer)); + + //Reset context information + reset_list_info(ep->aem_ctx); + + rc = nvme_mi_get_async_message(ep, response, &response_len); + if (rc) + goto cleanup; + + if (!response_len) { + //If no error and response length zero, we've likely received an owned + //tag message from a different endpoint than this path is responsible + //for monitoring. + goto cleanup; + } + + //Parse the response and fire events + rc = validate_occ_list_update_ctx(&response->occ_list_hdr, + response_len, + ep->aem_ctx, + true /*Ensure unique generation number*/); + if (rc) + goto cleanup; + + if (response->occ_list_hdr.numaeo) { + enum nvme_mi_aem_handler_next_action action = + ep->aem_ctx->callbacks.aem_handler(ep, + response->occ_list_hdr.numaeo, + userdata); + + reset_list_info(ep->aem_ctx); + + if (action == NVME_MI_AEM_HNA_ACK) { + response_len = sizeof(response_buffer); + + rc = nvme_mi_aem_ack(ep, &response->occ_list_hdr, &response_len); + if (rc) + goto cleanup; + + //The Ack is not guaranteed to have data + if (response_len && response->occ_list_hdr.numaeo) { + rc = validate_occ_list_update_ctx(&response->occ_list_hdr, + response_len, + ep->aem_ctx, + true); + //Callbacks based on ack + if (rc == 0 && response->occ_list_hdr.numaeo) { + //Return value unused here + ep->aem_ctx->callbacks.aem_handler(ep, + response->occ_list_hdr.numaeo, + userdata); + } + } + } + } else { + //This is unexpected unless we have duplicates. But those shouldn't be acked + } + +cleanup: + reset_list_info(ep->aem_ctx); + return rc; +} + + diff --git a/src/nvme/mi.h b/src/nvme/mi.h index bb816512..ac75ec4c 100644 --- a/src/nvme/mi.h +++ b/src/nvme/mi.h @@ -107,6 +107,7 @@ * @NVME_MI_MT_MI: NVMe-MI command * @NVME_MI_MT_ADMIN: NVMe Admin command * @NVME_MI_MT_PCIE: PCIe command + * @NVME_MI_MT_AE: Asynchronous Event * * Used as byte 1 of both request and response messages (NMIMT bits of NMP * byte). Not to be confused with the MCTP message type in byte 0. @@ -116,6 +117,7 @@ enum nvme_mi_message_type { NVME_MI_MT_MI = 1, NVME_MI_MT_ADMIN = 2, NVME_MI_MT_PCIE = 4, + NVME_MI_MT_AE = 5, }; /** @@ -281,7 +283,7 @@ enum nvme_mi_dtyp { * status poll. Only for Set ops. * @NVME_MI_CONFIG_MCTP_MTU: MCTP maximum transmission unit size of port * specified in dw 0 - * + * @NVME_MI_CONFIG_AE: Asynchronous Events configuration * Configuration parameters for the MI Get/Set Configuration commands. * * See &nvme_mi_mi_config_get() and &nvme_mi_config_set(). @@ -290,6 +292,7 @@ enum nvme_mi_config_id { NVME_MI_CONFIG_SMBUS_FREQ = 0x1, NVME_MI_CONFIG_HEALTH_STATUS_CHANGE = 0x2, NVME_MI_CONFIG_MCTP_MTU = 0x3, + NVME_MI_CONFIG_AE = 0x4, }; /** @@ -307,6 +310,229 @@ enum nvme_mi_config_smbus_freq { NVME_MI_CONFIG_SMBUS_FREQ_1MHz = 0x3, }; +/* Asynchronous Event Message definitions*/ + +/** + * struct nvme_mi_aem_supported_list_header - Asynchronous Event Supported List Header. + * @numaes: Number of AE supported data structures that follow the header + * @aeslver: AE Supported List Version + * @aest: AE Supported list length (including this header) + * @aeslhl: AE Supported list header length + * + * This header preceeds a number, (&numaes), of AE supported data structures + */ +struct nvme_mi_aem_supported_list_header { + __u8 numaes; + __u8 aeslver;//Should be zero + __le16 aest; + __u8 aeslhl; //Should be 5 +} __attribute__((packed)); + +/** + * struct nvme_mi_aem_supported_item - AE Supported List Item + * @aesl: AE supported list item length + * @aesi: AE supported info + * + * Following this header should be hdr.numaes entries of + * nvme_mi_aem_supported_item structures + */ +struct nvme_mi_aem_supported_item { + __u8 aesl;//Length of this item. Set to 3 + __le16 aesi; +} __attribute__((packed)); + +/** + * nvme_mi_aem_aesi_get_aese() - return aese from aesi field + * @aesi: aesi field from @nvme_mi_aem_supported_item + * + * Returns: A bool representing the aese value + */ +bool nvme_mi_aem_aesi_get_aese(__le16 aesi); + +/** + * nvme_mi_aem_aesi_get_aesid() - return aesid from aesi field + * @aesi: aesi field from @nvme_mi_aem_supported_item + * + * Returns: aesid value + */ +__u8 nvme_mi_aem_aesi_get_aesid(__le16 aesi); + +/** + * nvme_mi_aem_aesi_set_aesid() - set aesid in the aesi field + * @item: Pointer to @nvme_mi_aem_supported_item to update the aesi field + * @aesid: aesid value to use + */ +void nvme_mi_aem_aesi_set_aesid(struct nvme_mi_aem_supported_item *item, __u8 aesid); + +/** + * nvme_mi_aem_aesi_set_aee() - set aee in the aesi field + * @item: Pointer to @nvme_mi_aem_supported_item to update the aesi field + * @enabled: aee value to use + */ +void nvme_mi_aem_aesi_set_aee(struct nvme_mi_aem_supported_item *item, bool enabled); + +/** + * struct nvme_mi_aem_supported_list - AE Supported List received with GET CONFIG Asynchronous Event + * @hdr: AE supported list header + * + * Following this header should be hdr.numaes entries of + * nvme_mi_aem_supported_item structures + */ +struct nvme_mi_aem_supported_list { + struct nvme_mi_aem_supported_list_header hdr; +} __attribute__((packed)); + +/** + * struct nvme_mi_aem_enable_item - AE Enabled item entry + * @aeel: AE Enable Length (length of this structure which is 3) + * @aeei: AE Enable Info + * + */ +struct nvme_mi_aem_enable_item { + __u8 aeel; + __le16 aeei; +} __attribute__((packed)); + +/** + * nvme_mi_aem_aeei_get_aee() - return aee from aeei field + * @aeei: aeei field from @nvme_mi_aem_enable_item + * + * Returns: aee value + */ +bool nvme_mi_aem_aeei_get_aee(__le16 aeei); + +/** + * nvme_mi_aem_aeei_get_aeeid() - return aeeid from aeei field + * @aeei: aeei field from @nvme_mi_aem_enable_item + * + * Returns: aeeid value + */ +__u8 nvme_mi_aem_aeei_get_aeeid(__le16 aeei); + +/** + * nvme_mi_aem_aeei_set_aeeid() - set aeeid in the aeei field + * @item: Pointer to @nvme_mi_aem_enable_item to update the aeei field + * @aeeid: aeeid value to use + */ +void nvme_mi_aem_aeei_set_aeeid(struct nvme_mi_aem_enable_item *item, __u8 aeeid); + +/** + * nvme_mi_aem_aeei_set_aee() - set aee in the aeei field + * @item: Pointer to @nvme_mi_aem_enable_item to update the aee field + * @enabled: aee value to use + */ +void nvme_mi_aem_aeei_set_aee(struct nvme_mi_aem_enable_item *item, bool enabled); + +/** + * struct nvme_mi_aem_enable_list_header - AE Enable list header + * @numaee: Number of AE enable items following the header + * @aeelver: Version of the AE enable list (zero) + * @aeetl: Total length of the AE enable list including header and items + * @aeelhl: Header length of this header (5) + */ +struct nvme_mi_aem_enable_list_header { + __u8 numaee; + __u8 aeelver; + __le16 aeetl; + __u8 aeelhl; +} __attribute__((packed)); + +/** + * struct nvme_mi_aem_enable_list - AE enable list sent with SET CONFIG Asyncronous Event + * @hdr: AE enable list header + * + * Following this header should be hdr.numaee entries of nvme_mi_aem_enable_item structures + */ +struct nvme_mi_aem_enable_list { + struct nvme_mi_aem_enable_list_header hdr; +} __attribute__((packed)); + +/** + * struct nvme_mi_aem_occ_data - AEM Message definition. + * @aelhlen: AE Occurrence Header Length + * @aeosil: AE Occurrence Specific Info Length + * @aeovsil: AE Occurrence Vendor Specific Info Length + * @aeoui: AE Occurrence Unique ID made up of other subfields + * + * A single entry of ae occurrence data that comes with an nvme_aem_msg. + * Following this structure is variable length AEOSI (occurrence specific + * info) and variable length AEVSI (vendor specific info). The length of + * AEOSI is specified by aeosil and the length of AEVSI is specified by + * AEVSI. Neither field is mandatory and shall be omitted if their length + * parameter is set to zero. + */ +struct nvme_mi_aem_occ_data { + __u8 aelhlen; + __u8 aeosil; + __u8 aeovsil; + struct { + __u8 aeoi; + __le32 aeocidi; + __u8 aessi; + } __attribute__((packed)) aeoui; +} __attribute__((packed)); + +/** + * struct nvme_mi_aem_occ_list_hdr - AE occurrence list header + * @numaeo: Number of AE Occurrence Data Structures + * @aelver: AE Occurrence List Version Number + * @aeolli: AE Occurrence List Length Info (AEOLLI) + * @aeolhl: AE Occurrence List Header Length (shall be set to 7) + * @aemti: AEM Transmission Info + * + * The header for the occurrence list. numaeo defines how many + * nvme_mi_aem_occ_data structures (including variable payaloads) are included. + * Following this header is each of the numaeo occurrence data structures. + */ +struct nvme_mi_aem_occ_list_hdr { + __u8 numaeo; + __u8 aelver; + __u8 aeolli[3];//24-bits + __u8 aeolhl; + __u8 aemti; +} __attribute__((packed)); + +/** + * nvme_mi_aem_aemti_get_aemgn() - return aemgn from aemti field + * @aemti: aemti field from @nvme_mi_aem_occ_list_hdr + * + * Returns: aemgn value + */ +__u8 nvme_mi_aem_aemti_get_aemgn(__u8 aemti); + +/** + * nvme_mi_aem_aeolli_get_aeoltl() - return aeoltl from aeolli field + * @aeolli: Pointer to 3 byte aeolli field from @nvme_mi_aem_occ_list_hdr + * + * Returns: aeoltl value + */ +__u32 nvme_mi_aem_aeolli_get_aeoltl(__u8 *aeolli); + +/** + * nvme_mi_aem_aeolli_set_aeoltl() - set aeoltl in the aeolli field + * @hdr:Pointer to @nvme_mi_aem_occ_list_hdr to set the aeolli field + * @aeoltl: aeoltl value to use + */ +void nvme_mi_aem_aeolli_set_aeoltl(struct nvme_mi_aem_occ_list_hdr *hdr, __u32 aeoltl); + +/** + * struct nvme_mi_aem_msg - AEM Message definition. + * @hdr: the general response message header + * @occ_list_hdr: ae occurrence list header. + * + * Every ae message will start with one of these. The occ_list_hder wil define + * information about how many ae occ data entries are included. Each entry is + * defined by the nvme_mi_aem_occ_data structure which will follow the + * occ_list_hdr. Each nvme_mi_aem_occ_data structure has a fixed length header + * but a variable length payload ude to occurrence specific and vendor specific + * info. For this reason, do not index the nvme_mi_ae_occ data structures by + * array or fixed offset. + */ +struct nvme_mi_aem_msg { + struct nvme_mi_msg_hdr hdr; + struct nvme_mi_aem_occ_list_hdr occ_list_hdr; +} __attribute__((packed)); + /* Admin command definitions */ /** @@ -478,6 +704,16 @@ struct nvme_mi_ep; */ typedef struct nvme_mi_ep * nvme_mi_ep_t; +/** + * nvme_mi_set_csi - Assign a CSI to an endpoint. + * @ep: Endpoint + * @csi: value to use for CSI bit in NMP (0 or 1) for this endpoint + * + * Return: 0 if successful, -1 otherwise (some endpoints may not support) + * + */ +int nvme_mi_set_csi(nvme_mi_ep_t ep, uint8_t csi); + /** * nvme_mi_first_endpoint - Start endpoint iterator * @m: &nvme_root_t object @@ -636,6 +872,14 @@ nvme_mi_ctrl_t nvme_mi_next_ctrl(nvme_mi_ep_t ep, nvme_mi_ctrl_t c); */ nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, uint8_t eid); +/** + * nvme_mi_aem_open() - Prepare an existing endpoint to receive AEMs + * @ep: Endpoint to configure for AEMs + * + * Return: 0 if success, -1 otherwise + */ +int nvme_mi_aem_open(nvme_mi_ep_t ep); + /** * nvme_mi_close() - Close an endpoint connection and release resources, * including controller objects. @@ -1020,6 +1264,80 @@ static inline int nvme_mi_mi_config_set_mctp_mtu(nvme_mi_ep_t ep, __u8 port, return nvme_mi_mi_config_set(ep, dw0, mtu); } + +/** + * nvme_mi_mi_config_get_async_event - get configuration: Asynchronous Event + * @ep: endpoint for MI communication + * @aeelver: Asynchronous Event Enable List Version Number + * @list: AE Supported list header and list contents + * @list_num_bytes: number of bytes in the list header and contents buffer. + * This will be populated with returned size of list and contents if successful. + * + * Performs a MI Configuration Get, to query the current enable Asynchronous + * Events. On success, populates @aeelver and the @list with current info, + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise.. + */ +int nvme_mi_mi_config_get_async_event(nvme_mi_ep_t ep, + __u8 *aeelver, + struct nvme_mi_aem_supported_list *list, + size_t *list_num_bytes); + +/** + * nvme_mi_mi_config_set_async_event - set configuration: Asynchronous Event + * @ep: endpoint for MI communication + * @envfa: Enable SR-IOV Virtual Functions AE + * @empfa: Enable SR-IOV Physical Functions AE + * @encfa: Enable PCI Functions AE. + * @aemd: AEM Delay Interval (for Sync only) + * @aerd: AEM Retry Delay (for Sync only; time in 100s of ms) + * @enable_list: nvme_mi_aem_enable_listucture containing header and items + * of events to be enabled or disabled. This is taken as a delta change + * from the current configuration. + * @enable_list_size: Size of the enable_list including header and data. + * Meant to catch overrun issues. + * @occ_list: Pointer to populate with the occurrence list (header and data) + * @occ_list_size: Total size of provided occ_list buffer. Will be updated + * with received size if successful + * + * Performs a MI Configuration Set, to ACK (sent after an AEM) or Sync (at anytime to enable + * or disable Asynchronous Events). + * + * On success, populates @occ_list. See TP6035a for details on how occ_list is populated in + * ACK versus Sync conditions + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise.. + */ +int nvme_mi_mi_config_set_async_event(nvme_mi_ep_t ep, + bool envfa, + bool empfa, + bool encfa, + __u8 aemd, + __u8 aerd, + struct nvme_mi_aem_enable_list *enable_list, + size_t enable_list_size, + struct nvme_mi_aem_occ_list_hdr *occ_list, + size_t *occ_list_size); + +static inline int nvme_mi_aem_ack(nvme_mi_ep_t ep, + struct nvme_mi_aem_occ_list_hdr *occ_list, + size_t *occ_list_size) +{ + //An AEM Ack is defined as a SET CONFIG AE with no AE enable items + struct nvme_mi_aem_enable_list list = {0}; + + list.hdr.aeelhl = sizeof(struct nvme_mi_aem_enable_list_header); + list.hdr.aeelver = 0; + list.hdr.aeetl = sizeof(struct nvme_mi_aem_enable_list_header); + list.hdr.numaee = 0; + + return nvme_mi_mi_config_set_async_event(ep, false, false, false, 0, 0, + &list, sizeof(list), occ_list, + occ_list_size); +} + /* Admin channel functions */ /** @@ -3086,4 +3404,159 @@ int nvme_mi_admin_format_nvm(nvme_mi_ctrl_t ctrl, int nvme_mi_admin_sanitize_nvm(nvme_mi_ctrl_t ctrl, struct nvme_sanitize_nvm_args *args); +/** + * enum nvme_mi_aem_handler_next_action - Next action for the AEM state machine handler + * @NVME_MI_AEM_HNA_ACK: Send an ack for the AEM + * @NVME_MI_AEM_HNA_NONE: No further action + * + * Used as return value for the AE callback generated when calling nvme_mi_aem_process + */ +enum nvme_mi_aem_handler_next_action { + NVME_MI_AEM_HNA_ACK, + NVME_MI_AEM_HNA_NONE, +}; + +/** + * struct nvme_mi_event - AE event information structure + * @aeoi: Event identifier + * @aessi: Event occurrence scope info + * @aeocidi: Event occurrence scope ID info + * @spec_info: Specific info buffer + * @spec_info_len: Length of specific info buffer + * @vend_spec_info: Vendor specific info buffer + * @vend_spec_info_len: Length of vendor specific info buffer + * + * Application callbacks for nvme_mi_aem_process will be able to call + * nvme_mi_aem_get_next_event which will return a pointer to such an identifier + * for the next event the application should parse + */ +struct nvme_mi_event { + uint8_t aeoi; + uint8_t aessi; + uint32_t aeocidi; + void *spec_info; + size_t spec_info_len; + void *vend_spec_info; + size_t vend_spec_info_len; +}; + +/** + * nvme_mi_aem_get_next_event() - Get details for the next event to parse + * @ep: The endpoint with the event + * + * When inside a aem_handler, call this and a returned struct pointer + * will provide details of event information. Will return NULL when end of parsing is occurred. + * spec_info and vend_spec_info must be copied to persist as they will not be valid + * after the handler_next_action has returned. + * + * Return: Pointer no next nvme_mi_event or NULL if this is the last one + */ +struct nvme_mi_event *nvme_mi_aem_get_next_event(nvme_mi_ep_t ep); + +struct nvme_mi_aem_enabled_map { + bool enabled[256]; +}; + +/** + * struct nvme_mi_aem_config - Provided for nvme_mi_aem_enable + * @aem_handler: Callback function for application processing of events + * @enabled_map: Map indicating which AE should be enabled on the endpoint + * @envfa: Enable SR-IOV virtual functions AE + * @empfa: Enable SR-IOV physical functions AE + * @encfa: Enable PCIe functions AE + * @aemd: AEM Delay (time in seconds from when event happens to AEM being batched and sent) + * @aerd: AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint) + * + * Application callbacks for nvme_mi_aem_process will be able to call + * nvme_mi_aem_get_next_event which will return a pointer to such an identifier + * for the next event the application should parse + */ +struct nvme_mi_aem_config { + /* + * This is called from inside nvme_mi_process when a payload has been validated and + * can be parsed. The application may call nvme_mi_aem_get_next_event from inside + * the callback to parse event data. + */ + enum nvme_mi_aem_handler_next_action (*aem_handler)( + nvme_mi_ep_t ep, + size_t num_events, + void *userdata); + + struct nvme_mi_aem_enabled_map enabled_map; + + bool envfa; + bool empfa; + bool encfa; + __u8 aemd; + __u8 aerd; +}; + +/** + * nvme_mi_aem_get_fd() - Returns the pollable fd for AEM data available + * @ep: The endpoint being monitored for asynchronous data + * + * This populated structure can be polled from the application to understand if + * a call to nvme_mi_aem_process() is required (when a poll returns > 0). + * + * Return: The fd value or -1 if error + */ +int nvme_mi_aem_get_fd(nvme_mi_ep_t ep); + +/** + * nvme_mi_aem_enable() - Enable AE on the provided endpoint + * @ep: Endpoint to enable AEs + * @config: AE configuraiton including which events are enabled and the callback function + * @userdata: Application provided context pointer for callback function + * + * This function is called to enable AE on the endpoint. Endpoint will provide initial state + * (if any) of enabled AEs and application can parse those via the aem_handler fn pointer in + * callbacks. Thes can be obtained in the callback by calling nvme_mi_aem_get_next_event(). + * + * Application should poll the fd that can be obtained from nvme_mi_aem_get_fd and then call + * nvme_mi_aem_process() when poll() indicates data available. + * + * A call to nvme_mi_aem_process() will grab AEM data and call the aem_handler fn pointer. + * At this point the application can call nvme_mi_aem_get_next_event() to get information for + * each triggered event. + * + * Return: 0 is a success, nonzero is an error and errno may be read for further details + */ +int nvme_mi_aem_enable(nvme_mi_ep_t ep, + struct nvme_mi_aem_config *config, + void *userdata); + + +/** + * nvme_mi_aem_get_enabled() - Return information on which AEs are enabled + * @ep: Endpoint to check enabled status + * @enabled: nvme_mi_aem_enabled_map indexed by AE event ID of enabled state + * + * Return: 0 is a success, nonzero is an error and errno may be read for further details + */ +int nvme_mi_aem_get_enabled(nvme_mi_ep_t ep, + struct nvme_mi_aem_enabled_map *enabled); + +/** + * nvme_mi_aem_disable() - Disable AE on the provided endpoint + * @ep: Endpoint to disable AEs + * + * Return: 0 is a success, nonzero is an error and errno may be read for further details + */ +int nvme_mi_aem_disable(nvme_mi_ep_t ep); + +/** + * nvme_mi_aem_process() - Process AEM on the provided endpoint + * @ep: Endpoint to process + * @userdata: Application provided context pointer for callback function + * + * Call this if poll() indicates data is available on the fd provided by nvme_mi_aem_get_fd() + * + * This will call the fn pointer, aem_handler, provided with nvme_mi_aem_config and the + * application can call nvme_mi_aem_get_next_event() from within this callback to get + * aem event data. The callback function should return NVME_MI_AEM_HNA_ACK for normal operation. + * + * Return: 0 is a success, nonzero is an error and errno may be read for further details + */ +int nvme_mi_aem_process(nvme_mi_ep_t ep, void *userdata); + #endif /* _LIBNVME_MI_MI_H */ diff --git a/src/nvme/private.h b/src/nvme/private.h index 33cdd555..bfae07ae 100644 --- a/src/nvme/private.h +++ b/src/nvme/private.h @@ -243,6 +243,20 @@ struct nvme_mi_transport { void (*close)(struct nvme_mi_ep *ep); int (*desc_ep)(struct nvme_mi_ep *ep, char *buf, size_t len); int (*check_timeout)(struct nvme_mi_ep *ep, unsigned int timeout); + int (*aem_fd)(struct nvme_mi_ep *ep); + int (*aem_read)(struct nvme_mi_ep *ep, + struct nvme_mi_resp *resp); + int (*aem_purge)(struct nvme_mi_ep *ep); +}; + +struct nvme_mi_aem_ctx { + struct nvme_mi_aem_occ_list_hdr *occ_header; + struct nvme_mi_aem_occ_data *list_start; + struct nvme_mi_aem_occ_data *list_current; + int list_current_index; + struct nvme_mi_aem_config callbacks; + int last_generation_num; + struct nvme_mi_event event; }; /* quirks */ @@ -253,6 +267,11 @@ struct nvme_mi_transport { */ #define NVME_QUIRK_MIN_INTER_COMMAND_TIME (1 << 0) +/* Some devices may not support using CSI 1. Attempting to set an + * endpoint to use this with these devices should return an error + */ +#define NVME_QUIRK_CSI_1_NOT_SUPPORTED (1 << 1) + struct nvme_mi_ep { struct nvme_root *root; const struct nvme_mi_transport *transport; @@ -265,10 +284,14 @@ struct nvme_mi_ep { unsigned int mprt_max; unsigned long quirks; + __u8 csi; + /* inter-command delay, for NVME_QUIRK_MIN_INTER_COMMAND_TIME */ unsigned int inter_command_us; struct timespec last_resp_time; bool last_resp_time_valid; + + struct nvme_mi_aem_ctx *aem_ctx; }; struct nvme_mi_ctrl { @@ -288,7 +311,8 @@ __u32 nvme_mi_crc32_update(__u32 crc, void *data, size_t len); * in the shared lib */; struct mctp_ioc_tag_ctl; struct __mi_mctp_socket_ops { - int (*socket)(int, int, int); + int (*msg_socket)(void); + int (*aem_socket)(__u8 eid, unsigned int network); ssize_t (*sendmsg)(int, const struct msghdr *, int); ssize_t (*recvmsg)(int, struct msghdr *, int); int (*poll)(struct pollfd *, nfds_t, int); diff --git a/src/nvme/tree.c b/src/nvme/tree.c index b0a4696f..2c4bf064 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -532,6 +532,11 @@ const char *nvme_subsystem_get_model(nvme_subsystem_t s) return s->model; } +const char *nvme_subsystem_get_serial(nvme_subsystem_t s) +{ + return s->serial; +} + const char *nvme_subsystem_get_fw_rev(nvme_subsystem_t s) { return s->firmware; diff --git a/src/nvme/tree.h b/src/nvme/tree.h index 25d4b31b..3795b47b 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1354,6 +1354,14 @@ const char *nvme_subsystem_get_iopolicy(nvme_subsystem_t s); */ const char *nvme_subsystem_get_model(nvme_subsystem_t s); +/** + * nvme_subsystem_get_serial() - Return the serial number of subsystem + * @s: nvme_subsystem_t object + * + * Return: Serial number of the current subsystem + */ +const char *nvme_subsystem_get_serial(nvme_subsystem_t s); + /** * nvme_subsystem_get_fw_rev() - Return the firmware rev of subsystem * @s: nvme_subsystem_t object diff --git a/src/nvme/types.h b/src/nvme/types.h index 28e17fb0..fafbb7e8 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -8796,6 +8796,8 @@ enum nvme_features_id { * @NVME_FEAT_TT_TMPSEL_MASK: * @NVME_FEAT_TT_THSEL_SHIFT: * @NVME_FEAT_TT_THSEL_MASK: + * @NVME_FEAT_TT_TMPTHH_SHIFT: + * @NVME_FEAT_TT_TMPTHH_MASK: * @NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT: * @NVME_FEAT_ERROR_RECOVERY_TLER_MASK: * @NVME_FEAT_ERROR_RECOVERY_DULBE_SHIFT: @@ -8914,6 +8916,10 @@ enum nvme_features_id { * @NVME_FEAT_FDP_INDEX_MASK: * @NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT: * @NVME_FEAT_FDP_EVENTS_ENABLE_MASK: + * @NVME_FEAT_BPWPC_BP0WPS_SHIFT: + * @NVME_FEAT_BPWPC_BP0WPS_MASK: + * @NVME_FEAT_BPWPC_BP1WPS_SHIFT: + * @NVME_FEAT_BPWPC_BP1WPS_MASK: */ enum nvme_feat { NVME_FEAT_ARBITRATION_BURST_SHIFT = 0, @@ -8936,6 +8942,8 @@ enum nvme_feat { NVME_FEAT_TT_TMPSEL_MASK = 0xf, NVME_FEAT_TT_THSEL_SHIFT = 20, NVME_FEAT_TT_THSEL_MASK = 0x3, + NVME_FEAT_TT_TMPTHH_SHIFT = 22, + NVME_FEAT_TT_TMPTHH_MASK = 0x7, NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT = 0, NVME_FEAT_ERROR_RECOVERY_TLER_MASK = 0xffff, NVME_FEAT_ERROR_RECOVERY_DULBE_SHIFT = 16, @@ -9054,6 +9062,10 @@ enum nvme_feat { NVME_FEAT_FDP_INDEX_MASK = 0xf, NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT = 0, NVME_FEAT_FDP_EVENTS_ENABLE_MASK = 0x1, + NVME_FEAT_BPWPC_BP0WPS_SHIFT = 0, + NVME_FEAT_BPWPC_BP0WPS_MASK = 0x7, + NVME_FEAT_BPWPC_BP1WPS_SHIFT = 3, + NVME_FEAT_BPWPC_BP1WPS_MASK = 0x7, }; /** @@ -9427,6 +9439,90 @@ enum nvme_feat_nswpcfg_state { NVME_FEAT_NS_WRITE_PROTECT_PERMANENT = 3, }; +/** + * enum nvme_feat_perfc_attri - performance characteristics attribute index + * @NVME_FEAT_PERFC_ATTRI_STD: standard performance attribute + * @NVME_FEAT_PERFC_ATTRI_ID_LIST: performance attribute identifier list + * @NVME_FEAT_PERFC_ATTRI_VS_MIN: vendor specific performance attribute minimum index + * @NVME_FEAT_PERFC_ATTRI_VS_MAX: vendor specific performance attribute maximum index + */ +enum nvme_feat_perfc_attri { + NVME_FEAT_PERFC_ATTRI_STD = 0, + NVME_FEAT_PERFC_ATTRI_ID_LIST = 0xc0, + NVME_FEAT_PERFC_ATTRI_VS_MIN = 0xc1, + NVME_FEAT_PERFC_ATTRI_VS_MAX = 0xff, +}; + +/** + * enum nvme_feat_perfc_r4karl - standard performance attribute random 4 kib average latency + * @NVME_FEAT_PERFC_R4KARL_NO_REPORT: not reported + * @NVME_FEAT_PERFC_R4KARL_GE_100_SEC: greater than or equal to 100 secs + * @NVME_FEAT_PERFC_R4KARL_GE_50_SEC: greater than or equal to 50 secs and less than 100 secs + * @NVME_FEAT_PERFC_R4KARL_GE_10_SEC: greater than or equal to 10 secs and less than 50 secs + * @NVME_FEAT_PERFC_R4KARL_GE_5_SEC: greater than or equal to 5 secs and less than 10 secs + * @NVME_FEAT_PERFC_R4KARL_GE_1_SEC: greater than or equal to 1 sec and less than 5 secs + * @NVME_FEAT_PERFC_R4KARL_GE_500_MS: greater than or equal to 500 msecs and less than 1 sec + * @NVME_FEAT_PERFC_R4KARL_GE_100_MS: greater than or equal to 100 msecs and less than 500 msecs + * @NVME_FEAT_PERFC_R4KARL_GE_50_MS: greater than or equal to 50 msecs and less than 100 msecs + * @NVME_FEAT_PERFC_R4KARL_GE_10_MS: greater than or equal to 10 msecs and less than 50 msecs + * @NVME_FEAT_PERFC_R4KARL_GE_5_MS: greater than or equal to 5 msecs and less than 10 msecs + * @NVME_FEAT_PERFC_R4KARL_GE_1_MS: greater than or equal to 1 msec and less than 5 msecs + * @NVME_FEAT_PERFC_R4KARL_GE_500_US: greater than or equal to 500 usecs and less than 1 msec + * @NVME_FEAT_PERFC_R4KARL_GE_100_US: greater than or equal to 100 usecs and less than 500 usecs + * @NVME_FEAT_PERFC_R4KARL_GE_50_US: greater than or equal to 50 usecs and less than 100 usecs + * @NVME_FEAT_PERFC_R4KARL_GE_10_US: greater than or equal to 10 usecs and less than 50 usecs + * @NVME_FEAT_PERFC_R4KARL_GE_5_US: greater than or equal to 5 usecs and less than 10 usecs + * @NVME_FEAT_PERFC_R4KARL_GE_1_US: greater than or equal to 1 usec and less than 5 usecs + * @NVME_FEAT_PERFC_R4KARL_GE_500_NS: greater than or equal to 500 nsecs and less than 1 usec + * @NVME_FEAT_PERFC_R4KARL_GE_100_NS: greater than or equal to 100 nsecs and less than 500 nsecs + * @NVME_FEAT_PERFC_R4KARL_GE_50_NS: greater than or equal to 50 nsecs and less than 100 nsecs + * @NVME_FEAT_PERFC_R4KARL_GE_10_NS: greater than or equal to 10 nsecs and less than 50 nsecs + * @NVME_FEAT_PERFC_R4KARL_GE_5_NS: greater than or equal to 5 nsecs and less than 10 nsecs + * @NVME_FEAT_PERFC_R4KARL_GE_1_NS: greater than or equal to 1 nsec and less than 5 nsecs + */ +enum nvme_feat_perfc_r4karl { + NVME_FEAT_PERFC_R4KARL_NO_REPORT = 0x0, + NVME_FEAT_PERFC_R4KARL_GE_100_SEC = 0x1, + NVME_FEAT_PERFC_R4KARL_GE_50_SEC = 0x2, + NVME_FEAT_PERFC_R4KARL_GE_10_SEC = 0x3, + NVME_FEAT_PERFC_R4KARL_GE_5_SEC = 0x4, + NVME_FEAT_PERFC_R4KARL_GE_1_SEC = 0x5, + NVME_FEAT_PERFC_R4KARL_GE_500_MS = 0x6, + NVME_FEAT_PERFC_R4KARL_GE_100_MS = 0x7, + NVME_FEAT_PERFC_R4KARL_GE_50_MS = 0x8, + NVME_FEAT_PERFC_R4KARL_GE_10_MS = 0x9, + NVME_FEAT_PERFC_R4KARL_GE_5_MS = 0xa, + NVME_FEAT_PERFC_R4KARL_GE_1_MS = 0xb, + NVME_FEAT_PERFC_R4KARL_GE_500_US = 0xc, + NVME_FEAT_PERFC_R4KARL_GE_100_US = 0xd, + NVME_FEAT_PERFC_R4KARL_GE_50_US = 0xe, + NVME_FEAT_PERFC_R4KARL_GE_10_US = 0xf, + NVME_FEAT_PERFC_R4KARL_GE_5_US = 0x10, + NVME_FEAT_PERFC_R4KARL_GE_1_US = 0x11, + NVME_FEAT_PERFC_R4KARL_GE_500_NS = 0x12, + NVME_FEAT_PERFC_R4KARL_GE_100_NS = 0x13, + NVME_FEAT_PERFC_R4KARL_GE_50_NS = 0x14, + NVME_FEAT_PERFC_R4KARL_GE_10_NS = 0x15, + NVME_FEAT_PERFC_R4KARL_GE_5_NS = 0x16, + NVME_FEAT_PERFC_R4KARL_GE_1_NS = 0x17, +}; + +/** + * enum nvme_feat_bpwp_state - Boot Partition Write Protection State + * @NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED: Change in state not requested + * @NVME_FEAT_BPWPS_WRITE_UNLOCKED: Write Unlocked + * @NVME_FEAT_BPWPS_WRITE_LOCKED: Write Locked + * @NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE: Write Locked Until Power Cycle + * @NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB: Write Protection controlled by RPMB + */ +enum nvme_feat_bpwp_state { + NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED = 0, + NVME_FEAT_BPWPS_WRITE_UNLOCKED = 1, + NVME_FEAT_BPWPS_WRITE_LOCKED = 2, + NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE = 3, + NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB = 4, +}; + /** * enum nvme_fctype - Fabrics Command Types * @nvme_fabrics_type_property_set: Property set diff --git a/src/nvme/util.c b/src/nvme/util.c index de80d7b8..42c646a0 100644 --- a/src/nvme/util.c +++ b/src/nvme/util.c @@ -562,6 +562,12 @@ int nvme_get_feature_length(int fid, __u32 cdw11, __u32 *len) case NVME_FEAT_FID_NS_METADATA: *len = sizeof(struct nvme_host_metadata); break; + case NVME_FEAT_FID_PERF_CHARACTERISTICS: + *len = sizeof(struct nvme_perf_characteristics); + break; + case NVME_FEAT_FID_FDP_EVENTS: + *len = NVME_FEAT_FDPE_NOET_MASK * sizeof(struct nvme_fdp_supported_event_desc); + break; default: errno = EINVAL; return -1; diff --git a/src/nvme/util.h b/src/nvme/util.h index 60865fa0..4c97652d 100644 --- a/src/nvme/util.h +++ b/src/nvme/util.h @@ -263,13 +263,16 @@ static inline void nvme_feature_decode_lba_range(__u32 value, __u8 *num) #define NVME_FEAT_TT_TMPTH(v) NVME_GET(v, FEAT_TT_TMPTH) #define NVME_FEAT_TT_TMPSEL(v) NVME_GET(v, FEAT_TT_TMPSEL) #define NVME_FEAT_TT_THSEL(v) NVME_GET(v, FEAT_TT_THSEL) +#define NVME_FEAT_TT_TMPTHH(v) NVME_GET(v, FEAT_TT_TMPTHH) static inline void nvme_feature_decode_temp_threshold(__u32 value, __u16 *tmpth, - __u8 *tmpsel, __u8 *thsel) + __u8 *tmpsel, __u8 *thsel, + __u8 *tmpthh) { *tmpth = NVME_FEAT_TT_TMPTH(value); *tmpsel = NVME_FEAT_TT_TMPSEL(value); *thsel = NVME_FEAT_TT_THSEL(value); + *tmpthh = NVME_FEAT_TT_TMPTHH(value); } #define NVME_FEAT_ER_TLER(v) NVME_GET(v, FEAT_ERROR_RECOVERY_TLER) @@ -502,6 +505,9 @@ static inline void nvme_feature_decode_namespace_write_protect(__u32 value, *wps = NVME_FEAT_WP_WPS(value); } +#define NVME_FEAT_BPWPC_BP0WPS(v) NVME_GET(v, FEAT_BPWPC_BP0WPS) +#define NVME_FEAT_BPWPC_BP1WPS(v) NVME_GET(v, FEAT_BPWPC_BP1WPS) + static inline void nvme_id_ns_flbas_to_lbaf_inuse(__u8 flbas, __u8 *lbaf_inuse) { *lbaf_inuse = ((NVME_FLBAS_HIGHER(flbas) << 4) | diff --git a/test/mi-mctp.c b/test/mi-mctp.c index 5711c030..7d1acd2c 100644 --- a/test/mi-mctp.c +++ b/test/mi-mctp.c @@ -27,10 +27,13 @@ struct test_peer; -typedef int (*rx_test_fn)(struct test_peer *peer, void *buf, size_t len); +typedef int (*rx_test_fn)(struct test_peer *peer, void *buf, size_t len, int sd); typedef int (*poll_test_fn)(struct test_peer *peer, struct pollfd *fds, nfds_t nfds, int timeout); +#define TEST_PEER_SD_COMMANDS_IDX (0) +#define TEST_PEER_SD_AEMS_IDX (1) + /* Our fake MCTP "peer". * * The terms TX (transmit) and RX (receive) are from the perspective of @@ -64,17 +67,19 @@ static struct test_peer { void *poll_data; /* store sd from socket() setup */ - int sd; + int sd[2]; } test_peer; /* ensure tests start from a standard state */ void reset_test_peer(void) { - int tmp = test_peer.sd; + int temp_sd[2] = {test_peer.sd[TEST_PEER_SD_COMMANDS_IDX], + test_peer.sd[TEST_PEER_SD_AEMS_IDX]}; + memset(&test_peer, 0, sizeof(test_peer)); test_peer.tx_buf[0] = NVME_MI_MSGTYPE_NVME; test_peer.rx_buf[0] = NVME_MI_MSGTYPE_NVME; - test_peer.sd = tmp; + memcpy(test_peer.sd, temp_sd, 2*sizeof(*temp_sd)); } /* calculate MIC of peer-to-libnvme data, expand buf by 4 bytes and insert @@ -93,18 +98,25 @@ static void test_set_tx_mic(struct test_peer *peer) peer->tx_buf_len += sizeof(crc_le); } -int __wrap_socket(int family, int type, int protocol) +int __wrap_msg_socket(void) { /* we do an open here to give the mi-mctp code something to close() */ - test_peer.sd = open("/dev/null", 0); - return test_peer.sd; + test_peer.sd[TEST_PEER_SD_COMMANDS_IDX] = open("/dev/null", 0); + return test_peer.sd[TEST_PEER_SD_COMMANDS_IDX]; +} + +int __wrap_aem_socket(__u8 eid, unsigned int network) +{ + /* we do an open here to give the mi-mctp code something to close() */ + test_peer.sd[TEST_PEER_SD_AEMS_IDX] = open("/dev/null", 0); + return test_peer.sd[TEST_PEER_SD_AEMS_IDX]; } ssize_t __wrap_sendmsg(int sd, const struct msghdr *hdr, int flags) { size_t i, pos; - assert(sd == test_peer.sd); + assert(sd == test_peer.sd[TEST_PEER_SD_COMMANDS_IDX]); test_peer.rx_buf[0] = NVME_MI_MSGTYPE_NVME; @@ -128,13 +140,23 @@ ssize_t __wrap_recvmsg(int sd, struct msghdr *hdr, int flags) { size_t i, pos, len; - assert(sd == test_peer.sd); + assert(sd == test_peer.sd[TEST_PEER_SD_COMMANDS_IDX] || + sd == test_peer.sd[TEST_PEER_SD_AEMS_IDX]); + + //Check for purge case + if (flags & MSG_TRUNC) + return 0; if (test_peer.tx_fn) { test_peer.tx_fn_res = test_peer.tx_fn(&test_peer, test_peer.rx_buf, - test_peer.rx_buf_len); + test_peer.rx_buf_len, + sd); } else { + if (sd == test_peer.sd[TEST_PEER_SD_COMMANDS_IDX] && test_peer.tx_buf_len == 0) { + errno = EAGAIN; + return -1; + } /* set up a few default response fields; caller may have * initialised the rest of the response */ test_peer.tx_buf[0] = NVME_MI_MSGTYPE_NVME; @@ -157,6 +179,7 @@ ssize_t __wrap_recvmsg(int sd, struct msghdr *hdr, int flags) errno = test_peer.tx_errno; + test_peer.tx_buf_len = 0; //Clear since this is sent return test_peer.tx_rc ?: (pos - 1); } @@ -173,14 +196,14 @@ struct mctp_ioc_tag_ctl; #ifdef SIOCMCTPALLOCTAG int test_ioctl_tag(int sd, unsigned long req, struct mctp_ioc_tag_ctl *ctl) { - assert(sd == test_peer.sd); + assert(sd == test_peer.sd[TEST_PEER_SD_COMMANDS_IDX]); switch (req) { case SIOCMCTPALLOCTAG: ctl->tag = 1 | MCTP_TAG_PREALLOC | MCTP_TAG_OWNER; break; case SIOCMCTPDROPTAG: - assert(tag == 1 | MCTP_TAG_PREALLOC | MCTP_TAG_OWNER); + assert(ctl->tag == (1 | MCTP_TAG_PREALLOC | MCTP_TAG_OWNER)); break; }; @@ -189,13 +212,14 @@ int test_ioctl_tag(int sd, unsigned long req, struct mctp_ioc_tag_ctl *ctl) #else int test_ioctl_tag(int sd, unsigned long req, struct mctp_ioc_tag_ctl *ctl) { - assert(sd == test_peer.sd); + assert(sd == test_peer.sd[TEST_PEER_SD_COMMANDS_IDX]); return 0; } #endif static struct __mi_mctp_socket_ops ops = { - __wrap_socket, + __wrap_msg_socket, + __wrap_aem_socket, __wrap_sendmsg, __wrap_recvmsg, __wrap_poll, @@ -214,7 +238,7 @@ static void test_rx_err(nvme_mi_ep_t ep, struct test_peer *peer) assert(rc != 0); } -static int tx_none(struct test_peer *peer, void *buf, size_t len) +static int tx_none(struct test_peer *peer, void *buf, size_t len, int sd) { return 0; } @@ -474,10 +498,12 @@ struct mpr_tx_info { size_t final_len; }; -static int tx_mpr(struct test_peer *peer, void *buf, size_t len) +static int tx_mpr(struct test_peer *peer, void *buf, size_t len, int sd) { struct mpr_tx_info *tx_info = peer->tx_data; + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + memset(peer->tx_buf, 0, sizeof(peer->tx_buf)); peer->tx_buf[0] = NVME_MI_MSGTYPE_NVME; peer->tx_buf[1] = test_peer.rx_buf[1] | (NVME_MI_ROR_RSP << 7); @@ -594,12 +620,14 @@ static int poll_fn_mpr_poll(struct test_peer *peer, struct pollfd *fds, return 1; } -static int tx_fn_mpr_poll(struct test_peer *peer, void *buf, size_t len) +static int tx_fn_mpr_poll(struct test_peer *peer, void *buf, size_t len, int sd) { struct mpr_tx_info *tx_info = peer->tx_data; struct mpr_poll_info *poll_info = peer->poll_data; unsigned int mprt; + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + memset(peer->tx_buf, 0, sizeof(peer->tx_buf)); peer->tx_buf[0] = NVME_MI_MSGTYPE_NVME; peer->tx_buf[1] = test_peer.rx_buf[1] | (NVME_MI_ROR_RSP << 7); @@ -713,6 +741,655 @@ static void test_mpr_mprt_zero(nvme_mi_ep_t ep, struct test_peer *peer) assert(rc == 0); } +enum aem_enable_state { + AEM_ES_GET_ENABLED, + AEM_ES_SET_TO_DISABLED, + AEM_ES_ENABLE_SET_ENABLED, + AEM_ES_PROCESS, + AEM_ES_ACK_RESPONSE, + AEM_ES_ACK_RECEIVED +}; + +enum aem_failure_condition { + AEM_FC_NONE, + AEM_FC_BAD_GET_CONFIG_HEADER_LEN, + AEM_FC_BAD_GET_CONFIG_TOTAL_LEN, + AEM_FC_BAD_GET_CONFIG_BUFFER_LEN, + AEM_FC_BAD_OCC_RSP_HDR_LEN_SYNC, + AEM_FC_BAD_OCC_RSP_TOTAL_LEN_SYNC, + AEM_FC_BAD_OCC_RSP_BUFFER_LEN_SYNC, + AEM_FC_BAD_OCC_RSP_HDR_LEN_AEM, + AEM_FC_BAD_OCC_RSP_TOTAL_LEN_AEM, + AEM_FC_BAD_OCC_RSP_BUFFER_LEN_AEM, +}; + +struct aem_rcv_enable_fn_data { + enum aem_enable_state state; + enum aem_failure_condition fc; + struct nvme_mi_aem_enabled_map ep_enabled_map; + struct nvme_mi_aem_enabled_map host_enabled_map; + struct nvme_mi_aem_enabled_map aem_during_process_map; + struct nvme_mi_aem_enabled_map ack_events_map; + struct nvme_mi_event *events[256]; + int callback_count; +}; + +static void populate_tx_occ_list(bool aem_not_ack, + struct aem_rcv_enable_fn_data *fn_data, struct nvme_mi_aem_enabled_map *to_send) +{ + struct nvme_mi_mi_resp_hdr *resp_hdr = + (struct nvme_mi_mi_resp_hdr *)test_peer.tx_buf; + + struct nvme_mi_msg_hdr *mi_msg_hdr = + (struct nvme_mi_msg_hdr *)test_peer.tx_buf; + + size_t hdr_len = sizeof(*resp_hdr); + + struct nvme_mi_aem_occ_list_hdr *list_hdr = + (struct nvme_mi_aem_occ_list_hdr *)(resp_hdr+1); + + //For AEM, the data is actually in request format + //since it originates from the endpoint + if (aem_not_ack) { + list_hdr = (struct nvme_mi_aem_occ_list_hdr *)(mi_msg_hdr+1); + hdr_len = sizeof(*mi_msg_hdr); + mi_msg_hdr->nmp = (NVME_MI_MT_AE << 3); + } else { + resp_hdr->status = 0; + } + + list_hdr->aelver = 0; + list_hdr->aeolhl = sizeof(*list_hdr); + list_hdr->numaeo = 0; + __u32 aeoltl = list_hdr->aeolhl; + + struct nvme_mi_aem_occ_data *data = + (struct nvme_mi_aem_occ_data *)(list_hdr+1); + + for (int i = 0; i < 255; i++) { + if (fn_data->events[i] && to_send->enabled[i]) { + struct nvme_mi_event *event = fn_data->events[i]; + + list_hdr->numaeo++; + aeoltl += sizeof(struct nvme_mi_aem_occ_data); + aeoltl += event->spec_info_len + + event->vend_spec_info_len; + + data->aelhlen = sizeof(*data); + + if ((fn_data->fc == AEM_FC_BAD_OCC_RSP_HDR_LEN_SYNC && !aem_not_ack) || + (fn_data->fc == AEM_FC_BAD_OCC_RSP_HDR_LEN_AEM && aem_not_ack)) + data->aelhlen--; + + data->aeoui.aeocidi = event->aeocidi; + data->aeoui.aeoi = event->aeoi; + data->aeoui.aessi = event->aessi; + data->aeosil = event->spec_info_len; + data->aeovsil = event->vend_spec_info_len; + + if ((fn_data->fc == AEM_FC_BAD_OCC_RSP_TOTAL_LEN_SYNC && + !aem_not_ack) || + (fn_data->fc == AEM_FC_BAD_OCC_RSP_TOTAL_LEN_AEM && + aem_not_ack)) + aeoltl -= 1; + + //Now the data + uint8_t *spec = (uint8_t *)(data+1); + + if (data->aeosil) { + memcpy(spec, event->spec_info, event->spec_info_len); + spec += event->spec_info_len; + } + + if (data->aeovsil) { + memcpy(spec, event->vend_spec_info, event->vend_spec_info_len); + spec += event->vend_spec_info_len; + } + + data = (struct nvme_mi_aem_occ_data *)(spec); + } + } + + nvme_mi_aem_aeolli_set_aeoltl(list_hdr, aeoltl); + test_peer.tx_buf_len = hdr_len + aeoltl; + + if ((fn_data->fc == AEM_FC_BAD_OCC_RSP_BUFFER_LEN_SYNC && !aem_not_ack) || + (fn_data->fc == AEM_FC_BAD_OCC_RSP_BUFFER_LEN_AEM && aem_not_ack)) + test_peer.tx_buf_len--; + + test_set_tx_mic(&test_peer); +} + +static void check_aem_sync_message(struct nvme_mi_aem_enabled_map *expected_mask, + struct nvme_mi_aem_enabled_map *expected_state, + struct aem_rcv_enable_fn_data *fn_data) +{ + //Check the RX buffer for the endpoint. We should be getting a CONFIG SET AEM + //with all enabled items disabled + struct nvme_mi_mi_req_hdr *req = + (struct nvme_mi_mi_req_hdr *)test_peer.rx_buf; + + struct nvme_mi_aem_supported_list *list = + (struct nvme_mi_aem_supported_list *)(req+1); + + assert(req->opcode == nvme_mi_mi_opcode_configuration_set); + assert((le32_to_cpu(req->cdw0) & 0xFF) == NVME_MI_CONFIG_AE); + assert(list->hdr.aeslver == 0); + + int count = 0; + //Count how many events we want to act are in the expected state + for (int i = 0; i < 256; i++) { + if (expected_mask->enabled[i]) + count++; + } + + assert(list->hdr.numaes == count); + assert(list->hdr.aeslhl == sizeof(struct nvme_mi_aem_supported_list)); + assert(list->hdr.aest == list->hdr.aeslhl + + count * sizeof(struct nvme_mi_aem_supported_item)); + + struct nvme_mi_aem_supported_item *item = + (struct nvme_mi_aem_supported_item *)(list+1); + + //Check the items + for (int i = 0; i < 256; i++) { + if (expected_mask->enabled[i]) { + bool found = false; + + for (int j = 0; j < count; j++) { + if (nvme_mi_aem_aesi_get_aesid(item[j].aesi) == i && + nvme_mi_aem_aesi_get_aese(item[j].aesi) == + expected_state->enabled[i]) { + found = true; + break; + } + } + assert(found); + } + } +} + +static int aem_rcv_enable_fn(struct test_peer *peer, void *buf, size_t len, int sd) +{ + struct aem_rcv_enable_fn_data *fn_data = peer->tx_data; + struct nvme_mi_mi_resp_hdr *tx_hdr = (struct nvme_mi_mi_resp_hdr *)peer->tx_buf; + + /* set up a few default response fields; caller may have + * initialised the rest of the response + */ + test_peer.tx_buf[0] = NVME_MI_MSGTYPE_NVME; + test_peer.tx_buf[1] = test_peer.rx_buf[1] | (NVME_MI_ROR_RSP << 7); + tx_hdr->status = 0; + + switch (fn_data->state) { + case AEM_ES_GET_ENABLED: + { + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + + //First, we want to return some data about what is already enabled + struct nvme_mi_aem_supported_list_header *list_hdr = + (struct nvme_mi_aem_supported_list_header *)(tx_hdr+1); + + if (fn_data->fc == AEM_FC_BAD_GET_CONFIG_HEADER_LEN) + list_hdr->aeslhl = + sizeof(struct nvme_mi_aem_supported_list_header) - 1; + else + list_hdr->aeslhl = + sizeof(struct nvme_mi_aem_supported_list_header); + + list_hdr->aeslver = 0; + struct nvme_mi_aem_supported_item *item = + (struct nvme_mi_aem_supported_item *)(list_hdr+1); + int item_count = 0; + + list_hdr->numaes = 0; + //Count how many events we want to act are enabled + for (int i = 0; i < 256; i++) { + if (fn_data->ep_enabled_map.enabled[i]) { + list_hdr->numaes++; + nvme_mi_aem_aesi_set_aesid(&item[item_count], i); + nvme_mi_aem_aesi_set_aee(&item[item_count], 1); + item[item_count].aesl = + sizeof(struct nvme_mi_aem_supported_item); + item_count++; + } + } + + list_hdr->aest = list_hdr->aeslhl + + list_hdr->numaes * sizeof(struct nvme_mi_aem_supported_item); + if (fn_data->fc == AEM_FC_BAD_GET_CONFIG_TOTAL_LEN) + list_hdr->aest--;//Shrink + + test_peer.tx_buf_len = + sizeof(struct nvme_mi_mi_resp_hdr) + list_hdr->aest; + if (fn_data->fc == AEM_FC_BAD_GET_CONFIG_BUFFER_LEN) + test_peer.tx_buf_len--; + + test_set_tx_mic(&test_peer); + + fn_data->state = AEM_ES_SET_TO_DISABLED; + break; + } + case AEM_ES_SET_TO_DISABLED: + { + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + + struct nvme_mi_aem_enabled_map expected = {false}; + //The items in the ep_enabled_map should get disabled + check_aem_sync_message(&fn_data->ep_enabled_map, &expected, fn_data); + + //Need to queue a reasonable response with no OCC + struct nvme_mi_mi_resp_hdr *tx_hdr = + (struct nvme_mi_mi_resp_hdr *)test_peer.tx_buf; + struct nvme_mi_aem_occ_list_hdr *list_hdr = + (struct nvme_mi_aem_occ_list_hdr *)(tx_hdr+1); + + list_hdr->aelver = 0; + list_hdr->aeolhl = sizeof(*list_hdr); + list_hdr->numaeo = 0; + nvme_mi_aem_aeolli_set_aeoltl(list_hdr, list_hdr->aeolhl); + + test_peer.tx_buf_len = sizeof(struct nvme_mi_mi_resp_hdr) + + nvme_mi_aem_aeolli_get_aeoltl(list_hdr->aeolli); + + test_set_tx_mic(&test_peer); + + fn_data->state = AEM_ES_ENABLE_SET_ENABLED; + break; + } + case AEM_ES_ENABLE_SET_ENABLED: + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + + //We should verify the right things are enabled + //The items in the host enable map should get enabled + check_aem_sync_message(&fn_data->host_enabled_map, + &fn_data->host_enabled_map, fn_data); + + //Prepare an OCC list response + populate_tx_occ_list(false, fn_data, &fn_data->host_enabled_map); + + fn_data->state = AEM_ES_PROCESS; + break; + case AEM_ES_PROCESS: + //This case is actually a TX without any request from the host + assert(sd == peer->sd[TEST_PEER_SD_AEMS_IDX]); + + //Prepare an OCC list response + populate_tx_occ_list(true, fn_data, &fn_data->aem_during_process_map); + + fn_data->state = AEM_ES_ACK_RESPONSE; + break; + case AEM_ES_ACK_RESPONSE: + assert(sd == peer->sd[TEST_PEER_SD_COMMANDS_IDX]); + + //Prepare an OCC list response + populate_tx_occ_list(false, fn_data, &fn_data->ack_events_map); + + fn_data->state = AEM_ES_ACK_RECEIVED; + break; + default: + assert(false);//Not expected + } + + return 0; +} + +enum nvme_mi_aem_handler_next_action aem_handler(nvme_mi_ep_t ep, size_t num_events, void *userdata) +{ + struct aem_rcv_enable_fn_data *fn_data = userdata; + + fn_data->callback_count++; + + switch (fn_data->state) { + case AEM_ES_PROCESS: + case AEM_ES_ACK_RESPONSE: + case AEM_ES_ACK_RECEIVED: + { + //This means we just sent out first OCC data + int item_count = 0; + struct nvme_mi_aem_enabled_map *map; + + //Count how many events we want to act are enabled + switch (fn_data->state) { + case AEM_ES_PROCESS: + map = &fn_data->host_enabled_map; + break; + case AEM_ES_ACK_RESPONSE: + map = &fn_data->aem_during_process_map; + break; + case AEM_ES_ACK_RECEIVED: + map = &fn_data->ack_events_map; + break; + default: + assert(false); + } + + for (int i = 0; i < 256; i++) + if (map->enabled[i]) + item_count++; + + assert(num_events == item_count); + + for (int i = 0; i < num_events; i++) { + struct nvme_mi_event *e = nvme_mi_aem_get_next_event(ep); + uint8_t idx = e->aeoi; + + assert(fn_data->events[idx]); + assert(fn_data->host_enabled_map.enabled[idx]); + assert(fn_data->events[idx]->aeocidi == e->aeocidi); + assert(fn_data->events[idx]->aessi == e->aessi); + assert(fn_data->events[idx]->spec_info_len == + e->spec_info_len); + assert(memcmp(fn_data->events[idx]->spec_info, + e->spec_info, e->spec_info_len) == 0); + assert(fn_data->events[idx]->vend_spec_info_len == + e->vend_spec_info_len); + assert(memcmp(fn_data->events[idx]->vend_spec_info, + e->vend_spec_info, e->vend_spec_info_len) == 0); + } + + assert(nvme_mi_aem_get_next_event(ep) == NULL); + break; + } + default: + assert(false); + } + + return NVME_MI_AEM_HNA_ACK; +} + +static void aem_test_aem_api_helper(nvme_mi_ep_t ep, + struct nvme_mi_aem_config *config, int expected_event_count) +{ + struct aem_rcv_enable_fn_data *fn_data = + (struct aem_rcv_enable_fn_data *)test_peer.tx_data; + int rc = 0; + + test_peer.tx_fn = aem_rcv_enable_fn; + + //This should not work outside the handler + assert(nvme_mi_aem_get_next_event(ep) == NULL); + + rc = nvme_mi_aem_enable(ep, config, test_peer.tx_data); + assert(rc == 0); + + //This should not work outside the handler + assert(nvme_mi_aem_get_next_event(ep) == NULL); + + rc = nvme_mi_aem_process(ep, test_peer.tx_data); + assert(rc == 0); + + //One for initial enable, one for AEM. No ACK events + assert(fn_data->callback_count == expected_event_count); + + //This should not work outside the handler + assert(nvme_mi_aem_get_next_event(ep) == NULL); +} + +static void aem_test_aem_disable_helper(nvme_mi_ep_t ep, + struct aem_rcv_enable_fn_data *fn_data) +{ + memcpy(&fn_data->ep_enabled_map, &fn_data->host_enabled_map, + sizeof(fn_data->host_enabled_map)); + + fn_data->state = AEM_ES_GET_ENABLED;//This is the flow for disabling + assert(nvme_mi_aem_disable(ep) == 0); +} + +static void test_mi_aem_ep_based_failure_helper(nvme_mi_ep_t ep, + enum aem_failure_condition fc, struct test_peer *peer) +{ + struct aem_rcv_enable_fn_data fn_data = {0}; + struct nvme_mi_aem_config config = {0}; + + config.aemd = 1; + config.aerd = 2; + config.enabled_map.enabled[3] = true; + fn_data.aem_during_process_map.enabled[3] = true; + struct nvme_mi_event e = {0}; + + e.aeoi = 3; + e.spec_info_len = 0; + fn_data.events[3] = &e; + + memcpy(&fn_data.host_enabled_map, &config.enabled_map, sizeof(config.enabled_map)); + + config.aem_handler = aem_handler; + peer->tx_data = (void *) &fn_data; + peer->tx_fn = aem_rcv_enable_fn; + + fn_data.fc = fc; + switch (fc) { + case AEM_FC_BAD_GET_CONFIG_HEADER_LEN: + case AEM_FC_BAD_GET_CONFIG_TOTAL_LEN: + case AEM_FC_BAD_GET_CONFIG_BUFFER_LEN: + case AEM_FC_BAD_OCC_RSP_HDR_LEN_SYNC: + case AEM_FC_BAD_OCC_RSP_TOTAL_LEN_SYNC: + case AEM_FC_BAD_OCC_RSP_BUFFER_LEN_SYNC: + //These all should fail before processing + assert(nvme_mi_aem_enable(ep, &config, &fn_data) == -1); + assert(errno == EPROTO); + break; + case AEM_FC_BAD_OCC_RSP_HDR_LEN_AEM: + case AEM_FC_BAD_OCC_RSP_TOTAL_LEN_AEM: + case AEM_FC_BAD_OCC_RSP_BUFFER_LEN_AEM: + //These should fail on the processing + assert(nvme_mi_aem_enable(ep, &config, &fn_data) == 0); + assert(nvme_mi_aem_process(ep, &fn_data) == -1); + assert(errno == EPROTO); + break; + default: + assert(false);//Unexpected + } +} + +/* test: Check validation of endpoint messages in various stages of aem handling */ +static void test_mi_aem_ep_based_failure_conditions(nvme_mi_ep_t ep, struct test_peer *peer) +{ + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_GET_CONFIG_HEADER_LEN, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_GET_CONFIG_TOTAL_LEN, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_GET_CONFIG_BUFFER_LEN, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_HDR_LEN_SYNC, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_HDR_LEN_AEM, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_TOTAL_LEN_SYNC, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_TOTAL_LEN_AEM, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_BUFFER_LEN_SYNC, peer); + test_mi_aem_ep_based_failure_helper(ep, AEM_FC_BAD_OCC_RSP_BUFFER_LEN_AEM, peer); +} + +/* test: Check aem process logic when API used improperly */ +static void test_mi_aem_enable_invalid_usage(nvme_mi_ep_t ep, struct test_peer *peer) +{ + struct nvme_mi_aem_config config = {0}; + + config.aem_handler = aem_handler; + config.enabled_map.enabled[0] = false; + config.aemd = 1; + config.aerd = 2; + + //Call with invalid config due to nothing enabled + assert(nvme_mi_aem_enable(ep, &config, NULL) == -1); + + config.aem_handler = NULL; + config.enabled_map.enabled[0] = true; + + //Call with invalid config due to no callback + assert(nvme_mi_aem_enable(ep, &config, NULL) == -1); + + //Call with invalid config due to being NULL + assert(nvme_mi_aem_enable(ep, NULL, NULL) == -1); + + config.aem_handler = aem_handler; + config.enabled_map.enabled[0] = true; + + //Call with invalid endpoint + assert(nvme_mi_aem_enable(NULL, &config, NULL) == -1); +} + +/* test: Check aem process logic when API used improperly */ +static void test_mi_aem_process_invalid_usage(nvme_mi_ep_t ep, struct test_peer *peer) +{ + //Without calling enable first + assert(nvme_mi_aem_process(ep, NULL) == -1); + + //Call with invalid ep + assert(nvme_mi_aem_process(NULL, NULL) == -1); +} + +/* test: Check aem disable logic when API used improperly */ +static void test_mi_aem_disable_invalid_usage(nvme_mi_ep_t ep, struct test_peer *peer) +{ + assert(nvme_mi_aem_disable(NULL) == -1); +} + +static void test_mi_aem_get_enabled_invalid_usage(nvme_mi_ep_t ep, struct test_peer *peer) +{ + struct nvme_mi_aem_enabled_map map; + + assert(nvme_mi_aem_get_enabled(ep, NULL) == -1); + assert(nvme_mi_aem_get_enabled(NULL, &map) == -1); +} + +/* test: Check aem get enabled logic*/ +static void test_mi_aem_get_enabled(nvme_mi_ep_t ep, struct test_peer *peer) +{ + //When no events enabled on Endpoint + struct aem_rcv_enable_fn_data fn_data = {0}; + struct nvme_mi_aem_enabled_map map; + + test_peer.tx_fn = aem_rcv_enable_fn; + peer->tx_data = (void *) &fn_data; + fn_data.ep_enabled_map.enabled[8] = true; + fn_data.ep_enabled_map.enabled[20] = true; + fn_data.ep_enabled_map.enabled[51] = true; + fn_data.ep_enabled_map.enabled[255] = true; + + assert(nvme_mi_aem_get_enabled(ep, &map) == 0); + assert(memcmp(&fn_data.ep_enabled_map, &map, sizeof(map)) == 0); +} + + +/* test: Check aem disable logic when called without an enable */ +static void test_mi_aem_disable_no_enable(nvme_mi_ep_t ep, struct test_peer *peer) +{ + //When no events enabled on Endpoint + struct aem_rcv_enable_fn_data fn_data = {0}; + + test_peer.tx_fn = aem_rcv_enable_fn; + peer->tx_data = (void *) &fn_data; + + aem_test_aem_disable_helper(ep, &fn_data); + + //When some events enabled on Endpoint + fn_data.ep_enabled_map.enabled[45] = true; + + aem_test_aem_disable_helper(ep, &fn_data); +} + +/* test: Check aem enable logic with ack carrying events */ +static void test_mi_aem_api_w_ack_events(nvme_mi_ep_t ep, struct test_peer *peer) +{ + struct aem_rcv_enable_fn_data fn_data = {0}; + struct nvme_mi_aem_config config = {0}; + + config.aemd = 1; + config.aerd = 2; + peer->tx_data = (void *) &fn_data; + config.aem_handler = aem_handler; + + config.enabled_map.enabled[5] = true; + config.enabled_map.enabled[15] = true; + + fn_data.aem_during_process_map.enabled[5] = true; + + //No ack_events_map will be enabled in this test + fn_data.ack_events_map.enabled[15] = true; + + //Will have EP have nothing enabled at start (ep_enabled_map) + + struct nvme_mi_event ev5 = {0}; + + ev5.aeoi = 5; + ev5.aeocidi = 2; + ev5.aessi = 3; + + struct nvme_mi_event ev15 = {0}; + uint8_t ev15_spec[] = { 45, 15}; + + ev15.aeoi = 15; + ev15.aeocidi = 60213; + ev15.aessi = 200; + ev15.spec_info = ev15_spec; + ev15.spec_info_len = sizeof(ev15_spec); + + fn_data.events[5] = &ev5; + fn_data.events[15] = &ev15; + + memcpy(&fn_data.host_enabled_map, &config.enabled_map, sizeof(config.enabled_map)); + + aem_test_aem_api_helper(ep, &config, 3); + + aem_test_aem_disable_helper(ep, &fn_data); +} + +/* test: Check aem enable logic */ +static void test_mi_aem_api_simple(nvme_mi_ep_t ep, struct test_peer *peer) +{ + struct aem_rcv_enable_fn_data fn_data = {0}; + struct nvme_mi_aem_config config = {0}; + + config.aemd = 1; + config.aerd = 2; + peer->tx_data = (void *) &fn_data; + config.aem_handler = aem_handler; + + config.enabled_map.enabled[1] = true; + config.enabled_map.enabled[3] = true; + config.enabled_map.enabled[16] = true; + + fn_data.aem_during_process_map.enabled[3] = true; + + //No ack_events_map will be enabled in this test + + fn_data.ep_enabled_map.enabled[3] = true; + fn_data.ep_enabled_map.enabled[20] = true; + fn_data.ep_enabled_map.enabled[200] = true; + + struct nvme_mi_event ev1 = {0}; + uint8_t ev1_spec[] = { 98, 56, 32, 12}; + + ev1.aeoi = 1; + ev1.aeocidi = 2; + ev1.aessi = 3; + ev1.spec_info = ev1_spec; + ev1.spec_info_len = sizeof(ev1_spec); + + struct nvme_mi_event ev3 = {0}; + uint8_t ev3_spec[] = { 45, 15}; + + ev3.aeoi = 3; + ev3.aeocidi = 4; + ev3.aessi = 5; + ev3.spec_info = ev3_spec; + ev3.spec_info_len = sizeof(ev3_spec); + + struct nvme_mi_event ev16 = {0}; + + ev16.aeoi = 16; + ev16.aeocidi = 6; + ev16.aessi = 7; + + fn_data.events[1] = &ev1; + fn_data.events[3] = &ev3; + fn_data.events[16] = &ev16; + + memcpy(&fn_data.host_enabled_map, &config.enabled_map, sizeof(config.enabled_map)); + + aem_test_aem_api_helper(ep, &config, 2); + + aem_test_aem_disable_helper(ep, &fn_data); +} + #define DEFINE_TEST(name) { #name, test_ ## name } struct test { const char *name; @@ -737,6 +1414,15 @@ struct test { DEFINE_TEST(mpr_timeouts), DEFINE_TEST(mpr_timeout_clamp), DEFINE_TEST(mpr_mprt_zero), + DEFINE_TEST(mi_aem_api_simple), + DEFINE_TEST(mi_aem_api_w_ack_events), + DEFINE_TEST(mi_aem_disable_no_enable), + DEFINE_TEST(mi_aem_process_invalid_usage), + DEFINE_TEST(mi_aem_enable_invalid_usage), + DEFINE_TEST(mi_aem_disable_invalid_usage), + DEFINE_TEST(mi_aem_get_enabled), + DEFINE_TEST(mi_aem_get_enabled_invalid_usage), + DEFINE_TEST(mi_aem_ep_based_failure_conditions), }; static void run_test(struct test *test, FILE *logfd, nvme_mi_ep_t ep, diff --git a/test/mi.c b/test/mi.c index 6126d879..acf01cb7 100644 --- a/test/mi.c +++ b/test/mi.c @@ -95,6 +95,10 @@ static const struct nvme_mi_transport test_transport = { .submit = test_transport_submit, .close = test_transport_close, .desc_ep = test_transport_desc_ep, + //The following aren't actually used by the test_transport + .aem_fd = NULL, + .aem_purge = NULL, + .aem_read = NULL, }; static void test_set_transport_callback(nvme_mi_ep_t ep, test_submit_cb cb, @@ -734,7 +738,7 @@ static void test_resp_invalid_type(nvme_mi_ep_t ep) } /* test: response with mis-matching command slot */ -static int test_resp_csi_cb(struct nvme_mi_ep *ep, +static int test_resp_csi_invert_cb(struct nvme_mi_ep *ep, struct nvme_mi_req *req, struct nvme_mi_resp *resp, void *data) @@ -744,15 +748,54 @@ static int test_resp_csi_cb(struct nvme_mi_ep *ep, return 0; } -static void test_resp_csi(nvme_mi_ep_t ep) +/* test: validation of proper csi setting */ +static int test_resp_csi_check_cb(struct nvme_mi_ep *ep, + struct nvme_mi_req *req, + struct nvme_mi_resp *resp, + void *data) +{ + assert((req->hdr->nmp & 1) == (ep->csi & 1)); + return 0; +} + +/* test: Ensure that csi bit is set properly in the request */ +static void test_resp_csi_request(nvme_mi_ep_t ep) { struct nvme_mi_read_nvm_ss_info ss_info; int rc; - test_set_transport_callback(ep, test_resp_csi_cb, NULL); + test_set_transport_callback(ep, test_resp_csi_check_cb, NULL); rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info); assert(rc != 0); + + nvme_mi_set_csi(ep, 1);//Change CSI + + rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info); + assert(rc != 0); + + nvme_mi_set_csi(ep, 0);//Change CSI +} + +/* test: Ensure that when csi bit set wrong in response, + * it results in an error + */ +static void test_resp_csi_mismatch(nvme_mi_ep_t ep) +{ + struct nvme_mi_read_nvm_ss_info ss_info; + int rc; + + test_set_transport_callback(ep, test_resp_csi_invert_cb, NULL); + + rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info); + assert(rc != 0); + + nvme_mi_set_csi(ep, 1);//Change CSI + + rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info); + assert(rc != 0); + + nvme_mi_set_csi(ep, 0);//Change CSI } /* test: config get MTU request & response layout, ensure we're handling @@ -2062,7 +2105,8 @@ struct test { DEFINE_TEST(resp_req), DEFINE_TEST(resp_hdr_small), DEFINE_TEST(resp_invalid_type), - DEFINE_TEST(resp_csi), + DEFINE_TEST(resp_csi_request), + DEFINE_TEST(resp_csi_mismatch), DEFINE_TEST(mi_config_get_mtu), DEFINE_TEST(mi_config_set_freq), DEFINE_TEST(mi_config_set_freq_invalid), diff --git a/test/nbft/diffs/NBFT-empty b/test/nbft/diffs/NBFT-empty new file mode 100644 index 00000000..b8b84e15 --- /dev/null +++ b/test/nbft/diffs/NBFT-empty @@ -0,0 +1,6 @@ +raw_nbft_size=315 +host.id=78563412aaaabbbbcccc123456789012 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-aaaa-bbbb-cccc-123456789012 +host.host_id_configured=1 +host.host_nqn_configured=1 +host.primary=0 diff --git a/test/nbft/diffs/NBFT-ipv6-noip+disc b/test/nbft/diffs/NBFT-ipv6-noip+disc new file mode 100644 index 00000000..620912f1 --- /dev/null +++ b/test/nbft/diffs/NBFT-ipv6-noip+disc @@ -0,0 +1,45 @@ +raw_nbft_size=785 +host.id=78563412aaaabbbbcccc123456789012 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-aaaa-bbbb-cccc-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=3329 +hfi_list[0]->tcp_info.mac_addr=40a6b7c08ac9 +hfi_list[0]->tcp_info.vlan=0 +hfi_list[0]->tcp_info.ip_origin=3 +hfi_list[0]->tcp_info.ipaddr=:: +hfi_list[0]->tcp_info.subnet_mask_prefix=0 +hfi_list[0]->tcp_info.gateway_ipaddr=:: +hfi_list[0]->tcp_info.route_metric=500 +hfi_list[0]->tcp_info.primary_dns_ipaddr=:: +hfi_list[0]->tcp_info.secondary_dns_ipaddr=:: +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=1 +discovery_list[0]->index=1 +discovery_list[0]->hfi->index=1 +discovery_list[0]->uri=nvme+tcp://[4321:BBBB::1]:4420/ +discovery_list[0]->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=4321:bbbb::1 +subsystem_ns_list[0]->trsvcid=4420 +subsystem_ns_list[0]->subsys_port_id=0 +subsystem_ns_list[0]->nsid=0 +subsystem_ns_list[0]->nid_type=0 +subsystem_ns_list[0]->nid=0000000000000000 +subsystem_ns_list[0]->subsys_nqn=nqn.2014-08.org.nvmexpress.discovery +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=1 diff --git a/test/nbft/meson.build b/test/nbft/meson.build index 7882df61..fcef9344 100644 --- a/test/nbft/meson.build +++ b/test/nbft/meson.build @@ -21,7 +21,9 @@ tables = [ 'NBFT-Dell.PowerEdge.R760', 'NBFT-Dell.PowerEdge.R660-fw1.5.5-single', 'NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery', - 'NBFT-mpath+disc-ipv4+6_half' + 'NBFT-mpath+disc-ipv4+6_half', + 'NBFT-ipv6-noip+disc', + 'NBFT-empty' ] tables_bad = [ diff --git a/test/nbft/tables/NBFT-empty b/test/nbft/tables/NBFT-empty new file mode 100644 index 0000000000000000000000000000000000000000..b558b6c5ab26a8346582b1adb4c988c04764da4a GIT binary patch literal 315 zcmb7+Jx&8L5QV)o^veZYCdDlNnf2PCA&%`TLXiS#5kIRa5iF1>t1USKJq>lPkSpXo z)C@%;T0ZINjo!?>E1#|}GRCrHh~qKmlXyEFY0eqJi8ES#(fmpJ^&8S(GWxw_8GEOY zlmC~K({6_OcDvi{_c_kGkNle|!m%c`J>yJLMj=F@4PXcg+|YQ4&U-sFQk$ympQko0 zp6XuoXe*Q&1X=+&a&(+z1wlHrDri-Pvd@~grcgp62wS|Y=0(#!*WK%?Uatq6&Ejz& VmB!Lk7VZeRC*XmAL+*rB><3-iIRO9w literal 0 HcmV?d00001 diff --git a/test/nbft/tables/NBFT-ipv6-noip+disc b/test/nbft/tables/NBFT-ipv6-noip+disc new file mode 100644 index 0000000000000000000000000000000000000000..7a0690cb9ab504388e3031b27eecef3c84498a5d GIT binary patch literal 785 zcmb7ByGjF55S?p+!9vjZ0j^*Xk(=zjd$X@XlFjZ`L42kW@sTVN(5Q)q2!g2vLBtQR zvaqvJBuxq%A%!1eVPR+Etg8?=cv$f7sGs;V zb+FPXJiS*9mvHL|)lgloazPzgQK_(PPK~T;QOB?>J*zTB)zT9wx9*lVy@X>4T@y^9 zve0EJat4ZBrcs+2Lg%)^({_3SD!Y{=mzkilp4_f(BrEkTud!40YBh6zzg#jIS43LX zbh?J1>j+vz&>(Nfj6;mza?uXr1ut*g#}5FZRfh)&qL*(c44B_MxqmGAn&+eOxp!@D ztkvrIiGUDX#_Rk%U9wcJ6}RhN^#BI2_b;vZTbSG{?wG06l2AA^Ere;ZWz#R5`di&M D#@%lL literal 0 HcmV?d00001