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
libnvmf_config_read()libnvmf_config_free()libnvmf_config_validate()libnvmf_config_conn_for_each()libnvmf_config_conn_is_dc()libnvmf_config_conn_get_transport()libnvmf_config_conn_get_traddr()libnvmf_config_conn_get_trsvcid()libnvmf_config_conn_get_subsysnqn()libnvmf_config_conn_get_host_traddr()libnvmf_config_conn_get_host_iface()libnvmf_config_conn_get_hostnqn()libnvmf_config_conn_get_hostid()libnvmf_config_conn_get_params()libnvmf_config_conn_get_hostsymname()libnvmf_config_conn_get_source()libnvmf_config_resolve_discovered()libnvmf_config_get_discovered_params()libnvmf_config_get_hostnqn()libnvmf_config_get_hostid()libnvmf_config_get_hostsymname()libnvmf_connect_args_emit()libnvmf_context_set_config()libnvmf_context_apply_params()libnvmf_config_emit_new()libnvmf_config_emit_free()libnvmf_config_emit_add()libnvmf_config_emit_install()libnvmf_params_new()libnvmf_params_free()libnvmf_params_set()libnvmf_params_get()libnvmf_params_for_each()libnvmf_hmac_alglibnvmf_gen_kxchap_key()libnvmf_lookup_keyring()libnvmf_describe_key_serial()libnvmf_lookup_key()libnvmf_set_keyring()libnvmf_create_raw_secret()libnvmf_read_key()libnvmf_update_key()libnvmf_scan_tls_keys_cb_tlibnvmf_scan_tls_keys()libnvmf_insert_tls_key()libnvmf_insert_tls_key_versioned()libnvmf_insert_tls_key_compat()libnvmf_generate_tls_key_identity()libnvmf_generate_tls_key_identity_compat()libnvmf_revoke_tls_key()libnvmf_export_tls_key()libnvmf_export_tls_key_versioned()libnvmf_import_tls_key()libnvmf_import_tls_key_versioned()libnvmf_exclusion_match()libnvmf_exclusion_entry_valid()libnvmf_exclusion_list_for_each()libnvmf_exclusion_entry_for_each()libnvmf_exclusion_create()libnvmf_exclusion_delete()libnvmf_exclusion_add()libnvmf_exclusion_add_ctrl()libnvmf_exclusion_add_subsysnqn()libnvmf_exclusion_remove()libnvmf_exclusion_read()libnvmf_exclusion_write()libnvmf_generate_hostnqn()libnvmf_generate_hostnqn_from_hostid()libnvmf_generate_hostid()libnvmf_read_hostnqn()libnvmf_read_hostid()libnvmf_host_get_ids()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_kernel_option_supported()libnvmf_kernel_options_for_each()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_persistent()libnvmf_context_get_persistent()libnvmf_context_set_connection_from_tid()libnvmf_context_set_crypto()libnvmf_context_set_device()libnvmf_context_set_devid_file()libnvmf_context_set_io_queues()libnvmf_context_set_reconnect_policy()libnvmf_get_owner_from_tid()libnvmf_get_owner_from_fctx()libnvmf_discover()libnvmf_discover_nbft()libnvmf_create_ctrl()libnvmf_connect()libnvmf_disconnect_ctrl()libnvmf_nbft_read_files()libnvmf_nbft_free()libnvmf_context_get_transport()libnvmf_context_get_traddr()libnvmf_context_get_host_traddr()libnvmf_context_get_host_iface()libnvmf_context_get_trsvcid()libnvmf_context_get_subsysnqn()libnvmf_context_set_queue_size()libnvmf_context_get_queue_size()libnvmf_context_set_nr_io_queues()libnvmf_context_get_nr_io_queues()libnvmf_context_set_reconnect_delay()libnvmf_context_get_reconnect_delay()libnvmf_context_set_ctrl_loss_tmo()libnvmf_context_get_ctrl_loss_tmo()libnvmf_context_set_fast_io_fail_tmo()libnvmf_context_get_fast_io_fail_tmo()libnvmf_context_set_keep_alive_tmo()libnvmf_context_get_keep_alive_tmo()libnvmf_context_set_nr_write_queues()libnvmf_context_get_nr_write_queues()libnvmf_context_set_nr_poll_queues()libnvmf_context_get_nr_poll_queues()libnvmf_context_set_tos()libnvmf_context_get_tos()libnvmf_context_set_keyring_id()libnvmf_context_get_keyring_id()libnvmf_context_set_tls_key_id()libnvmf_context_get_tls_key_id()libnvmf_context_set_tls_configured_key_id()libnvmf_context_get_tls_configured_key_id()libnvmf_context_set_duplicate_connect()libnvmf_context_get_duplicate_connect()libnvmf_context_set_disable_sqflow()libnvmf_context_get_disable_sqflow()libnvmf_context_set_hdr_digest()libnvmf_context_get_hdr_digest()libnvmf_context_set_data_digest()libnvmf_context_get_data_digest()libnvmf_context_set_tls()libnvmf_context_get_tls()libnvmf_context_set_concat()libnvmf_context_get_concat()libnvmf_context_set_default_max_discovery_retries()libnvmf_context_get_default_max_discovery_retries()libnvmf_context_set_default_keep_alive_timeout()libnvmf_context_get_default_keep_alive_timeout()libnvmf_context_get_device()libnvmf_context_get_devid_file()libnvmf_context_set_discovery_ctrl()libnvmf_context_get_discovery_ctrl()libnvmf_context_set_connect()libnvmf_context_get_connect()libnvmf_context_set_no_reuse()libnvmf_context_get_no_reuse()libnvmf_context_set_nbft_path()libnvmf_context_get_nbft_path()libnvmf_context_get_hostnqn()libnvmf_context_get_hostid()libnvmf_context_get_hostkey()libnvmf_context_get_ctrlkey()libnvmf_context_get_keyring()libnvmf_context_get_tls_key()libnvmf_context_get_tls_key_identity()libnvmf_tid_new()libnvmf_tid_free()libnvmf_tid_get_transport()libnvmf_tid_get_traddr()libnvmf_tid_get_trsvcid()libnvmf_tid_get_subsysnqn()libnvmf_tid_get_host_traddr()libnvmf_tid_get_host_iface()libnvmf_tid_get_hostnqn()libnvmf_tid_get_hostid()libnvmf_discovery_args_new()libnvmf_discovery_args_free()libnvmf_discovery_args_init_defaults()libnvmf_discovery_args_set_max_retries()libnvmf_discovery_args_get_max_retries()libnvmf_discovery_args_set_lsp()libnvmf_discovery_args_get_lsp()libnvmf_uri_set_scheme()libnvmf_uri_get_scheme()libnvmf_uri_set_protocol()libnvmf_uri_get_protocol()libnvmf_uri_set_userinfo()libnvmf_uri_get_userinfo()libnvmf_uri_set_host()libnvmf_uri_get_host()libnvmf_uri_set_port()libnvmf_uri_get_port()libnvmf_uri_set_path_segments()libnvmf_uri_get_path_segments()libnvmf_uri_set_query()libnvmf_uri_get_query()libnvmf_uri_set_fragment()libnvmf_uri_get_fragment()libnvme_path_set_name()libnvme_path_get_name()libnvme_path_set_sysfs_dir()libnvme_path_get_sysfs_dir()libnvme_ns_set_nsid()libnvme_ns_get_nsid()libnvme_ns_get_name()libnvme_ns_get_generic_name()libnvme_ns_set_sysfs_dir()libnvme_ns_get_sysfs_dir()libnvme_ctrl_get_name()libnvme_ctrl_get_sysfs_dir()libnvme_ctrl_get_address()libnvme_ctrl_get_transport()libnvme_ctrl_get_subsysnqn()libnvme_ctrl_get_traddr()libnvme_ctrl_get_trsvcid()libnvme_ctrl_set_tls_key_identity()libnvme_ctrl_get_tls_key_identity()libnvme_ctrl_set_tls_key()libnvme_ctrl_get_tls_key()libnvme_ctrl_get_host_traddr()libnvme_ctrl_get_host_iface()libnvme_ctrl_set_discovery_ctrl()libnvme_ctrl_get_discovery_ctrl()libnvme_ctrl_set_unique_discovery_ctrl()libnvme_ctrl_get_unique_discovery_ctrl()libnvme_ctrl_set_discovered()libnvme_ctrl_get_discovered()libnvme_ctrl_set_persistent()libnvme_ctrl_get_persistent()libnvme_ctrl_get_queue_size()libnvme_ctrl_get_nr_io_queues()libnvme_ctrl_get_reconnect_delay()libnvme_ctrl_get_ctrl_loss_tmo()libnvme_ctrl_get_fast_io_fail_tmo()libnvme_ctrl_get_keep_alive_tmo()libnvme_ctrl_get_nr_write_queues()libnvme_ctrl_get_nr_poll_queues()libnvme_ctrl_get_tos()libnvme_ctrl_get_keyring_id()libnvme_ctrl_get_tls_key_id()libnvme_ctrl_get_tls_configured_key_id()libnvme_ctrl_get_duplicate_connect()libnvme_ctrl_get_disable_sqflow()libnvme_ctrl_get_hdr_digest()libnvme_ctrl_get_data_digest()libnvme_ctrl_get_tls()libnvme_ctrl_get_concat()libnvme_subsystem_get_name()libnvme_subsystem_get_sysfs_dir()libnvme_subsystem_get_subsysnqn()libnvme_subsystem_get_subsystype()libnvme_host_get_hostnqn()libnvme_host_get_hostid()libnvme_host_set_kxchap_host_key()libnvme_host_get_kxchap_host_key()libnvme_host_set_hostsymname()libnvme_host_get_hostsymname()libnvme_fabric_options_set_cntlid()libnvme_fabric_options_get_cntlid()libnvme_fabric_options_set_concat()libnvme_fabric_options_get_concat()libnvme_fabric_options_set_ctrl_loss_tmo()libnvme_fabric_options_get_ctrl_loss_tmo()libnvme_fabric_options_set_data_digest()libnvme_fabric_options_get_data_digest()libnvme_fabric_options_set_dhchap_ctrl_secret()libnvme_fabric_options_get_dhchap_ctrl_secret()libnvme_fabric_options_set_dhchap_secret()libnvme_fabric_options_get_dhchap_secret()libnvme_fabric_options_set_disable_sqflow()libnvme_fabric_options_get_disable_sqflow()libnvme_fabric_options_set_discovery()libnvme_fabric_options_get_discovery()libnvme_fabric_options_set_duplicate_connect()libnvme_fabric_options_get_duplicate_connect()libnvme_fabric_options_set_fast_io_fail_tmo()libnvme_fabric_options_get_fast_io_fail_tmo()libnvme_fabric_options_set_hdr_digest()libnvme_fabric_options_get_hdr_digest()libnvme_fabric_options_set_host_iface()libnvme_fabric_options_get_host_iface()libnvme_fabric_options_set_host_traddr()libnvme_fabric_options_get_host_traddr()libnvme_fabric_options_set_hostid()libnvme_fabric_options_get_hostid()libnvme_fabric_options_set_hostnqn()libnvme_fabric_options_get_hostnqn()libnvme_fabric_options_set_instance()libnvme_fabric_options_get_instance()libnvme_fabric_options_set_keep_alive_tmo()libnvme_fabric_options_get_keep_alive_tmo()libnvme_fabric_options_set_keyring()libnvme_fabric_options_get_keyring()libnvme_fabric_options_set_nqn()libnvme_fabric_options_get_nqn()libnvme_fabric_options_set_nr_io_queues()libnvme_fabric_options_get_nr_io_queues()libnvme_fabric_options_set_nr_poll_queues()libnvme_fabric_options_get_nr_poll_queues()libnvme_fabric_options_set_nr_write_queues()libnvme_fabric_options_get_nr_write_queues()libnvme_fabric_options_set_queue_size()libnvme_fabric_options_get_queue_size()libnvme_fabric_options_set_reconnect_delay()libnvme_fabric_options_get_reconnect_delay()libnvme_fabric_options_set_tls()libnvme_fabric_options_get_tls()libnvme_fabric_options_set_tls_key()libnvme_fabric_options_get_tls_key()libnvme_fabric_options_set_tos()libnvme_fabric_options_get_tos()libnvme_fabric_options_set_traddr()libnvme_fabric_options_get_traddr()libnvme_fabric_options_set_transport()libnvme_fabric_options_get_transport()libnvme_fabric_options_set_trsvcid()libnvme_fabric_options_get_trsvcid()libnvme_set_dry_run()libnvme_get_dry_run()libnvme_set_force_4k()libnvme_get_force_4k()libnvme_set_mi_probe_enabled()libnvme_get_mi_probe_enabled()libnvme_set_ioctl_probing()libnvme_get_ioctl_probing()libnvme_set_hostnqn()libnvme_set_hostid()libnvme_ctrl_get_numa_node()libnvme_ctrl_get_queue_count()libnvme_ctrl_get_sqsize()libnvme_ctrl_get_command_error_count()libnvme_ctrl_get_reset_count()libnvme_ctrl_get_reconnect_count()libnvme_ctrl_set_firmware()libnvme_ctrl_get_firmware()libnvme_ctrl_set_model()libnvme_ctrl_get_model()libnvme_ctrl_set_serial()libnvme_ctrl_get_serial()libnvme_ctrl_set_cntrltype()libnvme_ctrl_get_cntrltype()libnvme_ctrl_set_cntlid()libnvme_ctrl_get_cntlid()libnvme_ctrl_set_dctype()libnvme_ctrl_get_dctype()libnvme_ctrl_get_phy_slot()libnvme_ctrl_set_kxchap_host_key()libnvme_ctrl_get_kxchap_host_key()libnvme_ctrl_set_kxchap_ctrl_key()libnvme_ctrl_get_kxchap_ctrl_key()libnvme_ctrl_set_keyring()libnvme_ctrl_get_keyring()libnvme_path_get_ana_state()libnvme_path_get_numa_nodes()libnvme_path_get_grpid()libnvme_path_get_queue_depth()libnvme_path_get_multipath_failover_count()libnvme_path_get_command_retry_count()libnvme_path_get_command_error_count()libnvme_ns_get_lba_size()libnvme_ns_get_lba_shift()libnvme_ns_get_lba_count()libnvme_ns_get_lba_util()libnvme_ns_get_meta_size()libnvme_ns_get_csi()libnvme_ns_get_eui64()libnvme_ns_get_nguid()libnvme_ns_get_uuid()libnvme_ns_get_wwid()libnvme_ns_get_command_retry_count()libnvme_ns_get_command_error_count()libnvme_ns_get_io_requeue_no_usable_path_count()libnvme_ns_get_io_fail_no_available_path_count()libnvme_subsystem_set_model()libnvme_subsystem_get_model()libnvme_subsystem_set_serial()libnvme_subsystem_get_serial()libnvme_subsystem_set_firmware()libnvme_subsystem_get_firmware()libnvme_subsystem_get_iopolicy()libnvme_passthru_completionlibnvme_submit_admin_passthru()libnvme_exec_admin_passthru()libnvme_submit_io_passthru()libnvme_exec_io_passthru()libnvme_reap_passthru()libnvme_wait_passthru()libnvme_reset_subsystem()libnvme_reset_ctrl()libnvme_rescan_ns()libnvme_get_nsid()libnvme_update_block_size()libnvme_reread_partitions()libnvme_read_regs()libnvme_write_reg32()libnvme_write_reg64()libnvme_passthru_cmdlibnvme_uring_cmdlibnvme_create_global_ctx()libnvme_free_global_ctx()libnvme_set_owner()libnvme_set_test_base_dir()libnvme_set_test_sysfs_dir()libnvme_set_logging_level()libnvme_get_logging_level()libnvme_set_logging_file()libnvme_open()libnvme_close()libnvme_transport_handle_get_fd()libnvme_transport_handle_get_mi_ep()libnvme_transport_handle_get_name()libnvme_transport_handle_is_ctrl()libnvme_transport_handle_is_direct()libnvme_transport_handle_is_mi()libnvme_transport_handle_is_ns()libnvme_transport_handle_set_submit_entry()libnvme_transport_handle_set_submit_exit()libnvme_transport_handle_set_decide_retry()libnvme_transport_handle_set_timeout()libnvme_alloc()libnvme_realloc()libnvme_free()libnvme_mem_hugelibnvme_alloc_huge()libnvme_free_huge()- Scope
- Separation from nvme-types-mi.h
- Scope