Welcome to libnvme’s documentation!¶
This is the libnvme development C library. libnvme provides type definitions for NVMe specification structures, enumerations, and bit fields, helper functions to construct, dispatch, and decode commands and payloads, and utilities to connect, scan, and manage nvme devices on a Linux system.
Contents:
- Installation
- Quickstart
- NVMe Management Interface (NVMe-MI) support
- API
libnvme_submit_admin_passthru()libnvme_passthru_completionlibnvme_submit_admin_passthru_async()libnvme_exec_admin_passthru()libnvme_submit_io_passthru()libnvme_submit_io_passthru_async()libnvme_exec_io_passthru()libnvme_reap_passthru_async()libnvme_wait_passthru()libnvme_reset_subsystem()libnvme_reset_ctrl()libnvme_rescan_ns()libnvme_get_nsid()libnvme_update_block_size()libnvmf_trtype_str()libnvmf_adrfam_str()libnvmf_subtype_str()libnvmf_treq_str()libnvmf_eflags_str()libnvmf_sectype_str()libnvmf_prtype_str()libnvmf_qptype_str()libnvmf_cms_str()libnvmf_add_ctrl()libnvmf_connect_ctrl()libnvmf_get_discovery_log()libnvmf_is_registration_supported()libnvmf_register_ctrl()libnvmf_uri_parse()libnvmf_uri_free()libnvmf_get_default_trsvcid()libnvmf_context_create()libnvmf_context_free()libnvmf_context_set_discovery_hooks()libnvmf_context_set_connection()libnvmf_context_set_hostnqn()libnvmf_context_set_crypto()libnvmf_context_set_device()libnvmf_context_set_io_queues()libnvmf_context_set_reconnect_policy()libnvmf_discovery()libnvmf_discovery_config_json()libnvmf_discovery_config_file()libnvmf_discovery_nbft()libnvmf_create_ctrl()libnvmf_connect()libnvmf_disconnect_ctrl()libnvmf_connect_config_json()libnvmf_config_modify()libnvmf_nbft_read_files()libnvmf_nbft_free()libnvme_hmac_alglibnvme_gen_dhchap_key()libnvme_lookup_keyring()libnvme_describe_key_serial()libnvme_lookup_key()libnvme_set_keyring()libnvme_create_raw_secret()libnvme_read_key()libnvme_update_key()libnvme_scan_tls_keys_cb_tlibnvme_scan_tls_keys()libnvme_insert_tls_key()libnvme_insert_tls_key_versioned()libnvme_insert_tls_key_compat()libnvme_generate_tls_key_identity()libnvme_generate_tls_key_identity_compat()libnvme_revoke_tls_key()libnvme_export_tls_key()libnvme_export_tls_key_versioned()libnvme_import_tls_key()libnvme_import_tls_key_versioned()libnvme_generate_hostnqn()libnvme_generate_hostnqn_from_hostid()libnvme_generate_hostid()libnvme_read_hostnqn()libnvme_read_hostid()libnvme_mi_status_to_string()libnvme_mi_ep_tlibnvme_mi_set_csi()libnvme_mi_first_endpoint()libnvme_mi_next_endpoint()libnvme_mi_for_each_endpointlibnvme_mi_for_each_endpoint_safelibnvme_mi_ep_set_timeout()libnvme_mi_ep_set_mprt_max()libnvme_mi_ep_get_timeout()libnvme_mi_first_transport_handle()libnvme_mi_next_transport_handle()libnvme_mi_for_each_transport_handlelibnvme_mi_for_each_transport_handle_safelibnvme_mi_open_mctp()libnvme_mi_aem_open()libnvme_mi_close()libnvme_mi_scan_mctp()libnvme_mi_scan_ep()libnvme_mi_init_transport_handle()libnvme_mi_ctrl_id()libnvme_mi_endpoint_desc()libnvme_mi_ep_set_submit_entry()libnvme_mi_ep_set_submit_exit()libnvme_mi_mi_xfer()libnvme_mi_mi_read_mi_data_subsys()libnvme_mi_mi_read_mi_data_port()libnvme_mi_mi_read_mi_data_ctrl_list()libnvme_mi_mi_read_mi_data_ctrl()libnvme_mi_mi_subsystem_health_status_poll()libnvme_mi_mi_config_get()libnvme_mi_mi_config_set()libnvme_mi_mi_config_get_smbus_freq()libnvme_mi_mi_config_set_smbus_freq()libnvme_mi_mi_config_set_health_status_change()libnvme_mi_mi_config_get_mctp_mtu()libnvme_mi_mi_config_set_mctp_mtu()libnvme_mi_mi_config_get_async_event()libnvme_mi_mi_config_set_async_event()libnvme_mi_admin_xfer()libnvme_mi_control()libnvme_mi_aem_handler_next_actionlibnvme_mi_eventlibnvme_mi_aem_get_next_event()libnvme_mi_aem_configlibnvme_mi_aem_get_fd()libnvme_mi_aem_enable()libnvme_mi_aem_get_enabled()libnvme_mi_aem_disable()libnvme_mi_aem_process()libnvme_mi_submit_entry()libnvme_mi_submit_exit()libnvme_set_application()libnvme_get_application()libnvme_skip_namespaces()libnvme_release_fds()libnvme_first_host()libnvme_next_host()libnvme_host_get_global_ctx()libnvme_host_set_pdc_enabled()libnvme_host_is_pdc_enabled()libnvme_get_host()libnvme_host_get_ids()libnvme_first_subsystem()libnvme_next_subsystem()libnvme_get_subsystem()libnvme_free_subsystem()libnvme_subsystem_get_host()libnvme_subsystem_get_iopolicy()libnvme_ctrl_first_ns()libnvme_ctrl_next_ns()libnvme_ctrl_first_path()libnvme_ctrl_next_path()libnvme_subsystem_first_ctrl()libnvme_subsystem_next_ctrl()libnvme_namespace_first_path()libnvme_namespace_next_path()libnvme_subsystem_first_ns()libnvme_subsystem_next_ns()libnvme_for_each_host_safelibnvme_for_each_hostlibnvme_for_each_subsystem_safelibnvme_for_each_subsystemlibnvme_subsystem_for_each_ctrl_safelibnvme_subsystem_for_each_ctrllibnvme_ctrl_for_each_ns_safelibnvme_ctrl_for_each_nslibnvme_ctrl_for_each_path_safelibnvme_ctrl_for_each_pathlibnvme_subsystem_for_each_ns_safelibnvme_subsystem_for_each_nslibnvme_namespace_for_each_path_safelibnvme_namespace_for_each_pathlibnvme_ns_copy_uuid()libnvme_ns_get_command_retry_count()libnvme_ns_get_command_error_count()libnvme_ns_get_requeue_no_usable_path_count()libnvme_ns_get_fail_no_available_path_count()libnvme_ns_get_firmware()libnvme_ns_get_serial()libnvme_ns_get_model()libnvme_ns_get_subsystem()libnvme_ns_get_ctrl()libnvme_free_ns()libnvme_ns_read()libnvme_ns_write()libnvme_ns_verify()libnvme_ns_compare()libnvme_ns_write_zeros()libnvme_ns_write_uncorrectable()libnvme_ns_flush()libnvme_ns_identify()libnvme_ns_identify_descs()libnvme_path_get_queue_depth()libnvme_path_get_ana_state()libnvme_path_get_numa_nodes()libnvme_path_get_multipath_failover_count()libnvme_path_get_command_retry_count()libnvme_path_get_command_error_count()libnvme_path_get_ctrl()libnvme_path_get_ns()libnvme_path_reset_stat()libnvme_path_update_stat()libnvme_path_get_read_ios()libnvme_path_get_write_ios()libnvme_path_get_read_ticks()libnvme_path_get_read_sectors()libnvme_path_get_write_sectors()libnvme_path_get_write_ticks()libnvme_path_get_stat_interval()libnvme_path_get_io_ticks()libnvme_path_get_inflights()libnvme_ctrl_get_transport_handle()libnvme_ctrl_release_transport_handle()libnvme_ctrl_get_src_addr()libnvme_ctrl_get_state()libnvme_ctrl_get_subsystem()libnvme_ns_head_get_sysfs_dir()libnvme_ns_update_stat()libnvme_ns_reset_stat()libnvme_ns_get_inflights()libnvme_ns_get_io_ticks()libnvme_ns_get_read_ticks()libnvme_ns_get_write_ticks()libnvme_ns_get_stat_interval()libnvme_ns_get_read_ios()libnvme_ns_get_write_ios()libnvme_ns_get_read_sectors()libnvme_ns_get_write_sectors()libnvme_ctrl_get_command_error_count()libnvme_ctrl_get_reset_count()libnvme_ctrl_get_reconnect_count()libnvme_ctrl_identify()libnvme_scan_ctrl()libnvme_rescan_ctrl()libnvme_init_ctrl()libnvme_free_ctrl()libnvme_unlink_ctrl()libnvme_scan_topology()libnvme_host_release_fds()libnvme_free_host()libnvme_read_config()libnvme_refresh_topology()libnvme_dump_config()libnvme_dump_tree()libnvme_get_attr()libnvme_get_subsys_attr()libnvme_get_ctrl_attr()libnvme_get_ns_attr()libnvme_subsystem_lookup_namespace()libnvme_subsystem_release_fds()libnvme_get_path_attr()libnvme_scan_namespace()libnvme_filter_namespace()libnvme_filter_paths()libnvme_filter_ctrls()libnvme_filter_subsys()libnvme_scan_subsystems()libnvme_scan_subsystem_namespaces()libnvme_scan_ctrls()libnvme_scan_ctrl_namespace_paths()libnvme_scan_ctrl_namespaces()libnvme_scan_ns_head_paths()libnvme_connect_errlibnvme_status_to_errno()libnvme_status_to_string()libnvme_sanitize_ns_status_to_string()libnvme_set_features_status_to_string()libnvme_opcode_status_to_string()libnvme_errno_to_string()libnvme_strerror()libnvmf_exat_ptr_next()libnvme_versionlibnvme_get_version()libnvme_uuid_to_string()libnvme_uuid_from_string()libnvme_random_uuid()libnvme_find_uuid()libnvme_basename()libnbft_primary_admin_host_flaglibnbft_hostlibnbft_hfi_info_tcplibnbft_hfilibnbft_discoverylibnbft_securitylibnbft_nid_typelibnbft_subsystem_nslibnbft_infolibnvmf_read_nbft()libnvmf_free_nbft()nbft_file_entry