1
0
Fork 0

Adding upstream version 1.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-15 08:44:15 +01:00
parent 809e3412a9
commit 336fe81026
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
743 changed files with 51081 additions and 0 deletions

73
doc/conf.py Normal file
View file

@ -0,0 +1,73 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'libnvme'
copyright = '2020, Keith Busch'
author = 'Keith Busch <kbusch@kernel.org>'
master_doc = 'libnvme'
# The full version, including alpha/beta/rc tags
release = '0.1'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['html', 'man', 'index.rst', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
#html_theme = 'alabaster'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['sphinx-static']
html_context = {
'css_files': [
'_static/theme_overrides.css',
],
}
html_use_smartypants = False
pygments_style = 'sphinx'
htmlhelp_basename = 'libnvme'
try:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
except ImportError:
sys.stderr.write('Warning: The Sphinx \'sphinx_rtd_theme\' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.\n')

164
doc/config-schema.json Normal file
View file

@ -0,0 +1,164 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/linux-nvme/libnvme/doc/config-schema.json",
"title": "config.json",
"description": "libnvme JSON configuration",
"type": "object",
"properties": {
"hosts": {
"description": "Array of NVMe Host properties",
"type": "array",
"items": { "$ref": "#/$defs/host" }
}
},
"$defs": {
"host": {
"description": "NVMe Host properties",
"type": "object",
"properties": {
"hostnqn": {
"description": "NVMe host NQN",
"type": "string",
"maxLength": 223
},
"hostid": {
"description": "NVMe host ID",
"type": "string"
},
"hostsymname": {
"description": "NVMe host symbolic name",
"type": "string"
},
"required": [ "hostnqn" ],
"subsystems": {
"description": "Array of NVMe subsystem properties",
"type": "array",
"items": { "$ref": "#/$defs/subsystem" }
}
}
},
"subsystem": {
"description": "NVMe subsystem properties",
"type": "object",
"properties": {
"nqn": {
"description": "Subsystem NQN",
"type": "string",
"maxLength": 223
},
"ports": {
"description": "Array of NVMe subsystem ports",
"type": "array",
"items": { "$ref": "#/$defs/port" }
},
"required": [ "nqn" ]
}
},
"port": {
"description": "NVMe subsystem port",
"type": "object",
"properties": {
"transport": {
"description": "Transport type",
"type": "string"
},
"traddr": {
"description": "Transport address",
"type": "string"
},
"host_traddr": {
"description": "Host transport address",
"type": "string"
},
"host_iface": {
"description": "Host interface name",
"type": "string"
},
"trsvcid": {
"description": "Transport service identifier",
"type": "string"
},
"dhchap_key": {
"description": "Host DH-HMAC-CHAP key",
"type": "string"
},
"dhchap_ctrl_key": {
"description": "Controller DH-HMAC-CHAP key",
"type": "string"
},
"nr_io_queues": {
"description": "Number of I/O queues",
"type": "integer"
},
"nr_write_queues": {
"description": "Number of write queues",
"type": "integer"
},
"nr_poll_queues": {
"description": "Number of poll queues",
"type": "integer"
},
"queue_size": {
"description": "Queue size",
"type": "integer"
},
"keep_alive_tmo": {
"description": "Keep-Alive timeout (in seconds)",
"type": "integer"
},
"reconnect_delay": {
"description": "Reconnect delay (in seconds)",
"type": "integer"
},
"ctrl_loss_tmo": {
"description": "Controller loss timeout (in seconds)",
"type": "integer"
},
"fast_io_fail_tmo": {
"description": "Fast I/O Fail timeout (in seconds)",
"type": "integer",
"default": 600
},
"tos": {
"description": "Type of service",
"type": "integer",
"default": -1
},
"duplicate_connect": {
"description": "Allow duplicate connections",
"type": "boolean",
"default": false
},
"disable_sqflow": {
"description": "Explicitly disable SQ flow control",
"type": "boolean",
"default": false
},
"hdr_digest": {
"description": "Enable header digest",
"type": "boolean",
"default": false
},
"data_digest": {
"description": "Enable data digest",
"type": "boolean",
"default": false
},
"tls": {
"description": "Enable TLS encryption",
"type": "boolean",
"default": false
},
"persistent": {
"description": "Create persistent discovery connection",
"type": "boolean"
},
"discovery": {
"description": "Connect to a discovery controller",
"type": "boolean"
}
},
"required": [ "transport" ]
}
}
}

21
doc/index.rst Normal file
View file

@ -0,0 +1,21 @@
.. libnvme documentation master file, created by
sphinx-quickstart on Thu Feb 6 17:59:42 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to libnvme's documentation!
===================================
.. toctree::
:maxdepth: 2
:caption: Contents:
libnvme
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

2523
doc/kernel-doc Executable file

File diff suppressed because it is too large Load diff

15
doc/list-man-pages.sh Executable file
View file

@ -0,0 +1,15 @@
#!/bin/bash
file=$1
for func in $(sed -n 's/ \* \([a-z_]*\)() -.*/\1/p' $file); do
echo ${func}
done
for struct in $(sed -n 's/ \* struct \([a-z_]*\) -.*/\1/p' $file); do
echo ${struct}
done
for enum in $(sed -n 's/ \* enum \([a-z_]*\) -.*/\1/p' $file); do
echo ${enum}
done

216
doc/man/nvme_admin_opcode.2 Normal file
View file

@ -0,0 +1,216 @@
.TH "libnvme" 9 "enum nvme_admin_opcode" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_admin_opcode \- Known NVMe admin opcodes
.SH SYNOPSIS
enum nvme_admin_opcode {
.br
.BI " nvme_admin_delete_sq"
,
.br
.br
.BI " nvme_admin_create_sq"
,
.br
.br
.BI " nvme_admin_get_log_page"
,
.br
.br
.BI " nvme_admin_delete_cq"
,
.br
.br
.BI " nvme_admin_create_cq"
,
.br
.br
.BI " nvme_admin_identify"
,
.br
.br
.BI " nvme_admin_abort_cmd"
,
.br
.br
.BI " nvme_admin_set_features"
,
.br
.br
.BI " nvme_admin_get_features"
,
.br
.br
.BI " nvme_admin_async_event"
,
.br
.br
.BI " nvme_admin_ns_mgmt"
,
.br
.br
.BI " nvme_admin_fw_commit"
,
.br
.br
.BI " nvme_admin_fw_activate"
,
.br
.br
.BI " nvme_admin_fw_download"
,
.br
.br
.BI " nvme_admin_dev_self_test"
,
.br
.br
.BI " nvme_admin_ns_attach"
,
.br
.br
.BI " nvme_admin_keep_alive"
,
.br
.br
.BI " nvme_admin_directive_send"
,
.br
.br
.BI " nvme_admin_directive_recv"
,
.br
.br
.BI " nvme_admin_virtual_mgmt"
,
.br
.br
.BI " nvme_admin_nvme_mi_send"
,
.br
.br
.BI " nvme_admin_nvme_mi_recv"
,
.br
.br
.BI " nvme_admin_capacity_mgmt"
,
.br
.br
.BI " nvme_admin_discovery_info_mgmt"
,
.br
.br
.BI " nvme_admin_fabric_zoning_recv"
,
.br
.br
.BI " nvme_admin_lockdown"
,
.br
.br
.BI " nvme_admin_fabric_zoning_lookup"
,
.br
.br
.BI " nvme_admin_fabric_zoning_send"
,
.br
.br
.BI " nvme_admin_dbbuf"
,
.br
.br
.BI " nvme_admin_fabrics"
,
.br
.br
.BI " nvme_admin_format_nvm"
,
.br
.br
.BI " nvme_admin_security_send"
,
.br
.br
.BI " nvme_admin_security_recv"
,
.br
.br
.BI " nvme_admin_sanitize_nvm"
,
.br
.br
.BI " nvme_admin_get_lba_status"
};
.SH Constants
.IP "nvme_admin_delete_sq" 12
Delete I/O Submission Queue
.IP "nvme_admin_create_sq" 12
Create I/O Submission Queue
.IP "nvme_admin_get_log_page" 12
Get Log Page
.IP "nvme_admin_delete_cq" 12
Delete I/O Completion Queue
.IP "nvme_admin_create_cq" 12
Create I/O Completion Queue
.IP "nvme_admin_identify" 12
Identify
.IP "nvme_admin_abort_cmd" 12
Abort
.IP "nvme_admin_set_features" 12
Set Features
.IP "nvme_admin_get_features" 12
Get Features
.IP "nvme_admin_async_event" 12
Asynchronous Event Request
.IP "nvme_admin_ns_mgmt" 12
Namespace Management
.IP "nvme_admin_fw_commit" 12
Firmware Commit
.IP "nvme_admin_fw_activate" 12
Firmware Commit
.IP "nvme_admin_fw_download" 12
Firmware Image Download
.IP "nvme_admin_dev_self_test" 12
Device Self-test
.IP "nvme_admin_ns_attach" 12
Namespace Attachment
.IP "nvme_admin_keep_alive" 12
Keep Alive
.IP "nvme_admin_directive_send" 12
Directive Send
.IP "nvme_admin_directive_recv" 12
Directive Receive
.IP "nvme_admin_virtual_mgmt" 12
Virtualization Management
.IP "nvme_admin_nvme_mi_send" 12
NVMe-MI Send
.IP "nvme_admin_nvme_mi_recv" 12
NVMe-MI Receive
.IP "nvme_admin_capacity_mgmt" 12
Capacity Management
.IP "nvme_admin_discovery_info_mgmt" 12
Discovery Information Management (DIM)
.IP "nvme_admin_fabric_zoning_recv" 12
Fabric Zoning Receive
.IP "nvme_admin_lockdown" 12
Lockdown
.IP "nvme_admin_fabric_zoning_lookup" 12
Fabric Zoning Lookup
.IP "nvme_admin_fabric_zoning_send" 12
Fabric Zoning Send
.IP "nvme_admin_dbbuf" 12
Doorbell Buffer Config
.IP "nvme_admin_fabrics" 12
Fabrics Commands
.IP "nvme_admin_format_nvm" 12
Format NVM
.IP "nvme_admin_security_send" 12
Security Send
.IP "nvme_admin_security_recv" 12
Security Receive
.IP "nvme_admin_sanitize_nvm" 12
Sanitize
.IP "nvme_admin_get_lba_status" 12
Get LBA Status

View file

@ -0,0 +1,71 @@
.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_admin_passthru \- Submit an nvme passthrough command
.SH SYNOPSIS
.B "int" nvme_admin_passthru
.BI "(int fd " ","
.BI "__u8 opcode " ","
.BI "__u8 flags " ","
.BI "__u16 rsvd " ","
.BI "__u32 nsid " ","
.BI "__u32 cdw2 " ","
.BI "__u32 cdw3 " ","
.BI "__u32 cdw10 " ","
.BI "__u32 cdw11 " ","
.BI "__u32 cdw12 " ","
.BI "__u32 cdw13 " ","
.BI "__u32 cdw14 " ","
.BI "__u32 cdw15 " ","
.BI "__u32 data_len " ","
.BI "void *data " ","
.BI "__u32 metadata_len " ","
.BI "void *metadata " ","
.BI "__u32 timeout_ms " ","
.BI "__u32 *result " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "opcode" 12
The nvme io command to send
.IP "flags" 12
NVMe command flags (not used)
.IP "rsvd" 12
Reserevd for future use
.IP "nsid" 12
Namespace identifier
.IP "cdw2" 12
Command dword 2
.IP "cdw3" 12
Command dword 3
.IP "cdw10" 12
Command dword 10
.IP "cdw11" 12
Command dword 11
.IP "cdw12" 12
Command dword 12
.IP "cdw13" 12
Command dword 13
.IP "cdw14" 12
Command dword 14
.IP "cdw15" 12
Command dword 15
.IP "data_len" 12
Length of the data transfered in this command in bytes
.IP "data" 12
Pointer to user address of the data buffer
.IP "metadata_len" 12
Length of metadata transfered in this command
.IP "metadata" 12
Pointer to user address of the metadata buffer
.IP "timeout_ms" 12
How long the kernel waits for the command to complete
.IP "result" 12
Optional field to return the result from the CQE dword 0
.SH "DESCRIPTION"
Parameterized form of \fBnvme_submit_admin_passthru\fP. This sets up and
submits a \fIstruct nvme_passthru_cmd\fP.
Known values for \fIopcode\fP are defined in \fIenum nvme_admin_opcode\fP.
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,25 @@
.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_css_nvm \-
.SH SYNOPSIS
enum nvme_ae_info_css_nvm {
.br
.BI " NVME_AER_CSS_NVM_RESERVATION"
,
.br
.br
.BI " NVME_AER_CSS_NVM_SANITIZE_COMPLETED"
,
.br
.br
.BI " NVME_AER_CSS_NVM_UNEXPECTED_SANITIZE_DEALLOC"
};
.SH Constants
.IP "NVME_AER_CSS_NVM_RESERVATION" 12
Reservation Log Page Available
.IP "NVME_AER_CSS_NVM_SANITIZE_COMPLETED" 12
Sanitize Operation Completed
.IP "NVME_AER_CSS_NVM_UNEXPECTED_SANITIZE_DEALLOC" 12
Sanitize Operation Completed
With Unexpected Deallocation

View file

@ -0,0 +1,42 @@
.TH "libnvme" 9 "enum nvme_ae_info_error" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_error \-
.SH SYNOPSIS
enum nvme_ae_info_error {
.br
.BI " NVME_AER_ERROR_INVALID_DB_REG"
,
.br
.br
.BI " NVME_AER_ERROR_INVALID_DB_VAL"
,
.br
.br
.BI " NVME_AER_ERROR_DIAG_FAILURE"
,
.br
.br
.BI " NVME_AER_ERROR_PERSISTENT_INTERNAL_ERROR"
,
.br
.br
.BI " NVME_AER_ERROR_TRANSIENT_INTERNAL_ERROR"
,
.br
.br
.BI " NVME_AER_ERROR_FW_IMAGE_LOAD_ERROR"
};
.SH Constants
.IP "NVME_AER_ERROR_INVALID_DB_REG" 12
Write to Invalid Doorbell Register
.IP "NVME_AER_ERROR_INVALID_DB_VAL" 12
Invalid Doorbell Write Value
.IP "NVME_AER_ERROR_DIAG_FAILURE" 12
Diagnostic Failure
.IP "NVME_AER_ERROR_PERSISTENT_INTERNAL_ERROR" 12
Persistent Internal Error
.IP "NVME_AER_ERROR_TRANSIENT_INTERNAL_ERROR" 12
Transient Internal Error
.IP "NVME_AER_ERROR_FW_IMAGE_LOAD_ERROR" 12
Firmware Image Load Error

View file

@ -0,0 +1,54 @@
.TH "libnvme" 9 "enum nvme_ae_info_notice" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_notice \-
.SH SYNOPSIS
enum nvme_ae_info_notice {
.br
.BI " NVME_AER_NOTICE_NS_CHANGED"
,
.br
.br
.BI " NVME_AER_NOTICE_FW_ACT_STARTING"
,
.br
.br
.BI " NVME_AER_NOTICE_TELEMETRY"
,
.br
.br
.BI " NVME_AER_NOTICE_ANA"
,
.br
.br
.BI " NVME_AER_NOTICE_PL_EVENT"
,
.br
.br
.BI " NVME_AER_NOTICE_LBA_STATUS_ALERT"
,
.br
.br
.BI " NVME_AER_NOTICE_EG_EVENT"
,
.br
.br
.BI " NVME_AER_NOTICE_DISC_CHANGED"
};
.SH Constants
.IP "NVME_AER_NOTICE_NS_CHANGED" 12
Namespace Attribute Changed
.IP "NVME_AER_NOTICE_FW_ACT_STARTING" 12
Firmware Activation Starting
.IP "NVME_AER_NOTICE_TELEMETRY" 12
Telemetry Log Changed
.IP "NVME_AER_NOTICE_ANA" 12
Asymmetric Namespace Access Change
.IP "NVME_AER_NOTICE_PL_EVENT" 12
Predictable Latency Event Aggregate Log Change
.IP "NVME_AER_NOTICE_LBA_STATUS_ALERT" 12
LBA Status Information Alert
.IP "NVME_AER_NOTICE_EG_EVENT" 12
Endurance Group Event Aggregate Log Page Change
.IP "NVME_AER_NOTICE_DISC_CHANGED" 12
Discovery Log Page Change

View file

@ -0,0 +1,24 @@
.TH "libnvme" 9 "enum nvme_ae_info_smart" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_smart \-
.SH SYNOPSIS
enum nvme_ae_info_smart {
.br
.BI " NVME_AER_SMART_SUBSYSTEM_RELIABILITY"
,
.br
.br
.BI " NVME_AER_SMART_TEMPERATURE_THRESHOLD"
,
.br
.br
.BI " NVME_AER_SMART_SPARE_THRESHOLD"
};
.SH Constants
.IP "NVME_AER_SMART_SUBSYSTEM_RELIABILITY" 12
NVM subsystem Reliability
.IP "NVME_AER_SMART_TEMPERATURE_THRESHOLD" 12
Temperature Threshold
.IP "NVME_AER_SMART_SPARE_THRESHOLD" 12
Spare Below Threshold

36
doc/man/nvme_ae_type.2 Normal file
View file

@ -0,0 +1,36 @@
.TH "libnvme" 9 "enum nvme_ae_type" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ae_type \-
.SH SYNOPSIS
enum nvme_ae_type {
.br
.BI " NVME_AER_ERROR"
,
.br
.br
.BI " NVME_AER_SMART"
,
.br
.br
.BI " NVME_AER_NOTICE"
,
.br
.br
.BI " NVME_AER_CSS"
,
.br
.br
.BI " NVME_AER_VS"
};
.SH Constants
.IP "NVME_AER_ERROR" 12
Error event
.IP "NVME_AER_SMART" 12
SMART / Health Status event
.IP "NVME_AER_NOTICE" 12
Notice event
.IP "NVME_AER_CSS" 12
NVM Command Set Specific events
.IP "NVME_AER_VS" 12
Vendor Specific event

View file

@ -0,0 +1,19 @@
.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_endurance_group_event \-
.SH SYNOPSIS
struct nvme_aggregate_endurance_group_event {
.br
.BI " __le64 num_entries;"
.br
.BI " __le16 entries[];"
.br
.BI "
};
.br
.SH Members
.IP "num_entries" 12
Number or entries
.IP "entries" 12
List of entries

View file

@ -0,0 +1,19 @@
.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_predictable_lat_event \-
.SH SYNOPSIS
struct nvme_aggregate_predictable_lat_event {
.br
.BI " __le64 num_entries;"
.br
.BI " __le16 entries[];"
.br
.BI "
};
.br
.SH Members
.IP "num_entries" 12
Number of entries
.IP "entries" 12
Entry list

View file

@ -0,0 +1,35 @@
.TH "libnvme" 9 "struct nvme_ana_group_desc" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_ana_group_desc \-
.SH SYNOPSIS
struct nvme_ana_group_desc {
.br
.BI " __le32 grpid;"
.br
.BI " __le32 nnsids;"
.br
.BI " __le64 chgcnt;"
.br
.BI " __u8 state;"
.br
.BI " __u8 rsvd17[15];"
.br
.BI " __le32 nsids[];"
.br
.BI "
};
.br
.SH Members
.IP "grpid" 12
ANA group id
.IP "nnsids" 12
Number of namespaces in \fInsids\fP
.IP "chgcnt" 12
Change counter
.IP "state" 12
ANA state
.IP "rsvd17" 12
Reserved
.IP "nsids" 12
List of namespaces

27
doc/man/nvme_ana_log.2 Normal file
View file

@ -0,0 +1,27 @@
.TH "libnvme" 9 "struct nvme_ana_log" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_ana_log \-
.SH SYNOPSIS
struct nvme_ana_log {
.br
.BI " __le64 chgcnt;"
.br
.BI " __le16 ngrps;"
.br
.BI " __u8 rsvd10[6];"
.br
.BI " struct nvme_ana_group_desc descs[];"
.br
.BI "
};
.br
.SH Members
.IP "chgcnt" 12
Change Count
.IP "ngrps" 12
Number of ANA Group Descriptors
.IP "rsvd10" 12
Reserved
.IP "descs" 12
ANA Group Descriptor

31
doc/man/nvme_ana_state.2 Normal file
View file

@ -0,0 +1,31 @@
.TH "libnvme" 9 "enum nvme_ana_state" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ana_state \-
.SH SYNOPSIS
enum nvme_ana_state {
.br
.BI " NVME_ANA_STATE_OPTIMIZED"
,
.br
.br
.BI " NVME_ANA_STATE_NONOPTIMIZED"
,
.br
.br
.BI " NVME_ANA_STATE_INACCESSIBLE"
,
.br
.br
.BI " NVME_ANA_STATE_PERSISTENT_LOSS"
,
.br
.br
.BI " NVME_ANA_STATE_CHANGE"
};
.SH Constants
.IP "NVME_ANA_STATE_OPTIMIZED" 12
.IP "NVME_ANA_STATE_NONOPTIMIZED" 12
.IP "NVME_ANA_STATE_INACCESSIBLE" 12
.IP "NVME_ANA_STATE_PERSISTENT_LOSS" 12
.IP "NVME_ANA_STATE_CHANGE" 12

26
doc/man/nvme_apst_entry.2 Normal file
View file

@ -0,0 +1,26 @@
.TH "libnvme" 9 "enum nvme_apst_entry" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_apst_entry \-
.SH SYNOPSIS
enum nvme_apst_entry {
.br
.BI " NVME_APST_ENTRY_ITPS_SHIFT"
,
.br
.br
.BI " NVME_APST_ENTRY_ITPT_SHIFT"
,
.br
.br
.BI " NVME_APST_ENTRY_ITPS_MASK"
,
.br
.br
.BI " NVME_APST_ENTRY_ITPT_MASK"
};
.SH Constants
.IP "NVME_APST_ENTRY_ITPS_SHIFT" 12
.IP "NVME_APST_ENTRY_ITPT_SHIFT" 12
.IP "NVME_APST_ENTRY_ITPS_MASK" 12
.IP "NVME_APST_ENTRY_ITPT_MASK" 12

View file

@ -0,0 +1,32 @@
.TH "libnvme" 9 "struct nvme_boot_partition" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_boot_partition \-
.SH SYNOPSIS
struct nvme_boot_partition {
.br
.BI " __u8 lid;"
.br
.BI " __u8 rsvd1[3];"
.br
.BI " __le32 bpinfo;"
.br
.BI " __u8 rsvd8[8];"
.br
.BI " __u8 boot_partition_data[];"
.br
.BI "
};
.br
.SH Members
.IP "lid" 12
Boot Partition Identifier
.IP "rsvd1" 12
Reserved
.IP "bpinfo" 12
Boot Partition Information
.IP "rsvd8" 12
Reserved
.IP "boot_partition_data" 12
Contains the contents of the
specified Boot Partition

View file

View file

@ -0,0 +1,12 @@
.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_capacity_mgmt \-
.SH SYNOPSIS
.B "int" nvme_capacity_mgmt
.BI "(struct nvme_capacity_mgmt_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_capacity_mgmt_args\fP argument structure
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,45 @@
.TH "libnvme" 9 "struct nvme_capacity_mgmt_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_capacity_mgmt_args \- Arguments for the NVMe Capacity Management command
.SH SYNOPSIS
struct nvme_capacity_mgmt_args {
.br
.BI " __u32 *result;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 cdw11;"
.br
.BI " __u32 cdw12;"
.br
.BI " __u16 element_id;"
.br
.BI " __u8 op;"
.br
.BI "
};
.br
.SH Members
.IP "result" 12
If successful, the CQE dword0 value
.IP "args_size" 12
Size of \fIstruct nvme_capacity_mgmt_args\fP
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "cdw11" 12
Least significant 32 bits of the capacity in bytes of the
Endurance Group or NVM Set to be created
.IP "cdw12" 12
Most significant 32 bits of the capacity in bytes of the
Endurance Group or NVM Set to be created
.IP "element_id" 12
Value specific to the value of the Operation field
.IP "op" 12
Operation to be performed by the controller

View file

@ -0,0 +1,63 @@
.TH "libnvme" 9 "struct nvme_change_ns_event" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_change_ns_event \-
.SH SYNOPSIS
struct nvme_change_ns_event {
.br
.BI " __le32 nsmgt_cdw10;"
.br
.BI " __u8 rsvd4[4];"
.br
.BI " __le64 nsze;"
.br
.BI " __u8 rsvd16[8];"
.br
.BI " __le64 nscap;"
.br
.BI " __u8 flbas;"
.br
.BI " __u8 dps;"
.br
.BI " __u8 nmic;"
.br
.BI " __u8 rsvd35;"
.br
.BI " __le32 ana_grp_id;"
.br
.BI " __le16 nvmset_id;"
.br
.BI " __le16 rsvd42;"
.br
.BI " __le32 nsid;"
.br
.BI "
};
.br
.SH Members
.IP "nsmgt_cdw10" 12
Namespace Management CDW10
.IP "rsvd4" 12
Reserved
.IP "nsze" 12
Namespace Size
.IP "rsvd16" 12
Reserved
.IP "nscap" 12
Namespace Capacity
.IP "flbas" 12
Formatted LBA Size
.IP "dps" 12
End-to-end Data Protection Type Settings
.IP "nmic" 12
Namespace Multi-path I/O and Namespace Sharing Capabilities
.IP "rsvd35" 12
Reserved
.IP "ana_grp_id" 12
ANA Group Identifier
.IP "nvmset_id" 12
NVM Set Identifier
.IP "rsvd42" 12
Reserved
.IP "nsid" 12
Namespace ID

View file

@ -0,0 +1,24 @@
.TH "libnvme" 9 "struct nvme_channel_config_desc" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_channel_config_desc \-
.SH SYNOPSIS
struct nvme_channel_config_desc {
.br
.BI " __le16 chanid;"
.br
.BI " __le16 chmus;"
.br
.BI " struct nvme_media_unit_config_desc mu_config_desc[];"
.br
.BI "
};
.br
.SH Members
.IP "chanid" 12
Channel Identifier
.IP "chmus" 12
Number Channel Media Units
.SH "Description"
Channel Configuration Descriptor
Structure Definitions

11
doc/man/nvme_cmb_size.2 Normal file
View file

@ -0,0 +1,11 @@
.TH "nvme_cmb_size" 9 "nvme_cmb_size" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_cmb_size \- Calculate size of the controller memory buffer
.SH SYNOPSIS
.B "__u64" nvme_cmb_size
.BI "(__u32 cmbsz " ");"
.SH ARGUMENTS
.IP "cmbsz" 12
Value from controller register NVME_REG_CMBSZ
.SH "DESCRIPTION"
Returns size of controller memory buffer in bytes

View file

@ -0,0 +1,48 @@
.TH "libnvme" 9 "enum nvme_cmd_effects" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_effects \-
.SH SYNOPSIS
enum nvme_cmd_effects {
.br
.BI " NVME_CMD_EFFECTS_CSUPP"
,
.br
.br
.BI " NVME_CMD_EFFECTS_LBCC"
,
.br
.br
.BI " NVME_CMD_EFFECTS_NCC"
,
.br
.br
.BI " NVME_CMD_EFFECTS_NIC"
,
.br
.br
.BI " NVME_CMD_EFFECTS_CCC"
,
.br
.br
.BI " NVME_CMD_EFFECTS_CSE_MASK"
,
.br
.br
.BI " NVME_CMD_EFFECTS_UUID_SEL"
};
.SH Constants
.IP "NVME_CMD_EFFECTS_CSUPP" 12
Command Supported
.IP "NVME_CMD_EFFECTS_LBCC" 12
Logical Block Content Change
.IP "NVME_CMD_EFFECTS_NCC" 12
Namespace Capability Change
.IP "NVME_CMD_EFFECTS_NIC" 12
Namespace Inventory Change
.IP "NVME_CMD_EFFECTS_CCC" 12
Controller Capability Change
.IP "NVME_CMD_EFFECTS_CSE_MASK" 12
Command Submission and Execution
.IP "NVME_CMD_EFFECTS_UUID_SEL" 12
UUID Selection Supported

View file

@ -0,0 +1,23 @@
.TH "libnvme" 9 "struct nvme_cmd_effects_log" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_cmd_effects_log \-
.SH SYNOPSIS
struct nvme_cmd_effects_log {
.br
.BI " __le32 acs[256];"
.br
.BI " __le32 iocs[256];"
.br
.BI " __u8 rsvd[2048];"
.br
.BI "
};
.br
.SH Members
.IP "acs" 12
Admin Command Supported
.IP "iocs" 12
I/O Command Supported
.IP "rsvd" 12
Reserved

View file

@ -0,0 +1,20 @@
.TH "libnvme" 9 "enum nvme_cmd_format_mset" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_mset \- Format NVM - Metadata Settings
.SH SYNOPSIS
enum nvme_cmd_format_mset {
.br
.BI " NVME_FORMAT_MSET_SEPARATE"
,
.br
.br
.BI " NVME_FORMAT_MSET_EXTENDED"
};
.SH Constants
.IP "NVME_FORMAT_MSET_SEPARATE" 12
indicates that the metadata is transferred
as part of a separate buffer.
.IP "NVME_FORMAT_MSET_EXTENDED" 12
indicates that the metadata is transferred
as part of an extended data LBA.

View file

@ -0,0 +1,30 @@
.TH "libnvme" 9 "enum nvme_cmd_format_pi" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pi \- Format NVM - Protection Information
.SH SYNOPSIS
enum nvme_cmd_format_pi {
.br
.BI " NVME_FORMAT_PI_DISABLE"
,
.br
.br
.BI " NVME_FORMAT_PI_TYPE1"
,
.br
.br
.BI " NVME_FORMAT_PI_TYPE2"
,
.br
.br
.BI " NVME_FORMAT_PI_TYPE3"
};
.SH Constants
.IP "NVME_FORMAT_PI_DISABLE" 12
Protection information is not enabled.
.IP "NVME_FORMAT_PI_TYPE1" 12
Protection information is enabled, Type 1.
.IP "NVME_FORMAT_PI_TYPE2" 12
Protection information is enabled, Type 2.
.IP "NVME_FORMAT_PI_TYPE3" 12
Protection information is enabled, Type 3.

View file

@ -0,0 +1,20 @@
.TH "libnvme" 9 "enum nvme_cmd_format_pil" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pil \- Format NVM - Protection Information Location
.SH SYNOPSIS
enum nvme_cmd_format_pil {
.br
.BI " NVME_FORMAT_PIL_LAST"
,
.br
.br
.BI " NVME_FORMAT_PIL_FIRST"
};
.SH Constants
.IP "NVME_FORMAT_PIL_LAST" 12
Protection information is transferred as the last
bytes of metadata.
.IP "NVME_FORMAT_PIL_FIRST" 12
Protection information is transferred as the first
bytes of metadata.

View file

@ -0,0 +1,33 @@
.TH "libnvme" 9 "enum nvme_cmd_format_ses" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings
.SH SYNOPSIS
enum nvme_cmd_format_ses {
.br
.BI " NVME_FORMAT_SES_NONE"
,
.br
.br
.BI " NVME_FORMAT_SES_USER_DATA_ERASE"
,
.br
.br
.BI " NVME_FORMAT_SES_CRYPTO_ERASE"
};
.SH Constants
.IP "NVME_FORMAT_SES_NONE" 12
No secure erase operation requested.
.IP "NVME_FORMAT_SES_USER_DATA_ERASE" 12
User Data Erase: All user data shall be erased,
contents of the user data after the erase is
indeterminate (e.g. the user data may be zero
filled, one filled, etc.). If a User Data Erase
is requested and all affected user data is
encrypted, then the controller is allowed
to use a cryptographic erase to perform
the requested User Data Erase.
.IP "NVME_FORMAT_SES_CRYPTO_ERASE" 12
Cryptographic Erase: All user data shall
be erased cryptographically. This is
accomplished by deleting the encryption key.

View file

@ -0,0 +1,156 @@
.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_lid \-
.SH SYNOPSIS
enum nvme_cmd_get_log_lid {
.br
.BI " NVME_LOG_LID_SUPPORTED_LOG_PAGES"
,
.br
.br
.BI " NVME_LOG_LID_ERROR"
,
.br
.br
.BI " NVME_LOG_LID_SMART"
,
.br
.br
.BI " NVME_LOG_LID_FW_SLOT"
,
.br
.br
.BI " NVME_LOG_LID_CHANGED_NS"
,
.br
.br
.BI " NVME_LOG_LID_CMD_EFFECTS"
,
.br
.br
.BI " NVME_LOG_LID_DEVICE_SELF_TEST"
,
.br
.br
.BI " NVME_LOG_LID_TELEMETRY_HOST"
,
.br
.br
.BI " NVME_LOG_LID_TELEMETRY_CTRL"
,
.br
.br
.BI " NVME_LOG_LID_ENDURANCE_GROUP"
,
.br
.br
.BI " NVME_LOG_LID_PREDICTABLE_LAT_NVMSET"
,
.br
.br
.BI " NVME_LOG_LID_PREDICTABLE_LAT_AGG"
,
.br
.br
.BI " NVME_LOG_LID_ANA"
,
.br
.br
.BI " NVME_LOG_LID_PERSISTENT_EVENT"
,
.br
.br
.BI " NVME_LOG_LID_LBA_STATUS"
,
.br
.br
.BI " NVME_LOG_LID_ENDURANCE_GRP_EVT"
,
.br
.br
.BI " NVME_LOG_LID_MEDIA_UNIT_STATUS"
,
.br
.br
.BI " NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST"
,
.br
.br
.BI " NVME_LOG_LID_FID_SUPPORTED_EFFECTS"
,
.br
.br
.BI " NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS"
,
.br
.br
.BI " NVME_LOG_LID_BOOT_PARTITION"
,
.br
.br
.BI " NVME_LOG_LID_DISCOVER"
,
.br
.br
.BI " NVME_LOG_LID_RESERVATION"
,
.br
.br
.BI " NVME_LOG_LID_SANITIZE"
,
.br
.br
.BI " NVME_LOG_LID_ZNS_CHANGED_ZONES"
};
.SH Constants
.IP "NVME_LOG_LID_SUPPORTED_LOG_PAGES" 12
Supported Log Pages
.IP "NVME_LOG_LID_ERROR" 12
Error Information
.IP "NVME_LOG_LID_SMART" 12
SMART / Health Information
.IP "NVME_LOG_LID_FW_SLOT" 12
Firmware Slot Information
.IP "NVME_LOG_LID_CHANGED_NS" 12
Changed Namespace List
.IP "NVME_LOG_LID_CMD_EFFECTS" 12
Commands Supported and Effects
.IP "NVME_LOG_LID_DEVICE_SELF_TEST" 12
Device Self-test
.IP "NVME_LOG_LID_TELEMETRY_HOST" 12
Telemetry Host-Initiated
.IP "NVME_LOG_LID_TELEMETRY_CTRL" 12
Telemetry Controller-Initiated
.IP "NVME_LOG_LID_ENDURANCE_GROUP" 12
Endurance Group Information
.IP "NVME_LOG_LID_PREDICTABLE_LAT_NVMSET" 12
Predictable Latency Per NVM Set
.IP "NVME_LOG_LID_PREDICTABLE_LAT_AGG" 12
Predictable Latency Event Aggregate
.IP "NVME_LOG_LID_ANA" 12
Asymmetric Namespace Access
.IP "NVME_LOG_LID_PERSISTENT_EVENT" 12
Persistent Event Log
.IP "NVME_LOG_LID_LBA_STATUS" 12
LBA Status Information
.IP "NVME_LOG_LID_ENDURANCE_GRP_EVT" 12
Endurance Group Event Aggregate
.IP "NVME_LOG_LID_MEDIA_UNIT_STATUS" 12
Media Unit Status
.IP "NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST" 12
Supported Capacity Configuration Lis
.IP "NVME_LOG_LID_FID_SUPPORTED_EFFECTS" 12
Feature Identifiers Supported and Effects
.IP "NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS" 12
NVMe-MI Commands Supported and Effects
.IP "NVME_LOG_LID_BOOT_PARTITION" 12
Boot Partition
.IP "NVME_LOG_LID_DISCOVER" 12
Discovery
.IP "NVME_LOG_LID_RESERVATION" 12
Reservation Notification
.IP "NVME_LOG_LID_SANITIZE" 12
Sanitize Status
.IP "NVME_LOG_LID_ZNS_CHANGED_ZONES" 12
Changed Zone List

View file

@ -0,0 +1,16 @@
.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_telemetry_host_lsp \-
.SH SYNOPSIS
enum nvme_cmd_get_log_telemetry_host_lsp {
.br
.BI " NVME_LOG_TELEM_HOST_LSP_RETAIN"
,
.br
.br
.BI " NVME_LOG_TELEM_HOST_LSP_CREATE"
};
.SH Constants
.IP "NVME_LOG_TELEM_HOST_LSP_RETAIN" 12
.IP "NVME_LOG_TELEM_HOST_LSP_CREATE" 12

12
doc/man/nvme_compare.2 Normal file
View file

@ -0,0 +1,12 @@
.TH "nvme_compare" 9 "nvme_compare" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_compare \- Submit an nvme user compare command
.SH SYNOPSIS
.B "int" nvme_compare
.BI "(struct nvme_io_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_io_args\fP argument structure
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,78 @@
.TH "libnvme" 9 "enum nvme_connect_err" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_connect_err \- nvme connect error codes
.SH SYNOPSIS
enum nvme_connect_err {
.br
.BI " ENVME_CONNECT_RESOLVE"
,
.br
.br
.BI " ENVME_CONNECT_ADDRFAM"
,
.br
.br
.BI " ENVME_CONNECT_TRADDR"
,
.br
.br
.BI " ENVME_CONNECT_TARG"
,
.br
.br
.BI " ENVME_CONNECT_AARG"
,
.br
.br
.BI " ENVME_CONNECT_OPEN"
,
.br
.br
.BI " ENVME_CONNECT_WRITE"
,
.br
.br
.BI " ENVME_CONNECT_READ"
,
.br
.br
.BI " ENVME_CONNECT_PARSE"
,
.br
.br
.BI " ENVME_CONNECT_INVAL_TR"
,
.br
.br
.BI " ENVME_CONNECT_LOOKUP_SUBSYS_NAME"
,
.br
.br
.BI " ENVME_CONNECT_LOOKUP_SUBSYS"
};
.SH Constants
.IP "ENVME_CONNECT_RESOLVE" 12
failed to resolve host
.IP "ENVME_CONNECT_ADDRFAM" 12
unrecognized address family
.IP "ENVME_CONNECT_TRADDR" 12
failed to get traddr
.IP "ENVME_CONNECT_TARG" 12
need a transport (-t) argument
.IP "ENVME_CONNECT_AARG" 12
need a address (-a) argument
.IP "ENVME_CONNECT_OPEN" 12
failed to open nvme-fabrics device
.IP "ENVME_CONNECT_WRITE" 12
failed to write to nvme-fabrics device
.IP "ENVME_CONNECT_READ" 12
failed to read from nvme-fabrics device
.IP "ENVME_CONNECT_PARSE" 12
failed to parse ctrl info
.IP "ENVME_CONNECT_INVAL_TR" 12
invalid transport type
.IP "ENVME_CONNECT_LOOKUP_SUBSYS_NAME" 12
failed to lookup subsystem name
.IP "ENVME_CONNECT_LOOKUP_SUBSYS" 12
failed to lookup subsystem

199
doc/man/nvme_constants.2 Normal file
View file

@ -0,0 +1,199 @@
.TH "libnvme" 9 "enum nvme_constants" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_constants \- A place to stash various constant nvme values
.SH SYNOPSIS
enum nvme_constants {
.br
.BI " NVME_NSID_ALL"
,
.br
.br
.BI " NVME_NSID_NONE"
,
.br
.br
.BI " NVME_UUID_NONE"
,
.br
.br
.BI " NVME_CNTLID_NONE"
,
.br
.br
.BI " NVME_CNSSPECID_NONE"
,
.br
.br
.BI " NVME_LOG_LSP_NONE"
,
.br
.br
.BI " NVME_LOG_LSI_NONE"
,
.br
.br
.BI " NVME_LOG_LPO_NONE"
,
.br
.br
.BI " NVME_IDENTIFY_DATA_SIZE"
,
.br
.br
.BI " NVME_LOG_SUPPORTED_LOG_PAGES_MAX"
,
.br
.br
.BI " NVME_ID_NVMSET_LIST_MAX"
,
.br
.br
.BI " NVME_ID_UUID_LIST_MAX"
,
.br
.br
.BI " NVME_ID_CTRL_LIST_MAX"
,
.br
.br
.BI " NVME_ID_NS_LIST_MAX"
,
.br
.br
.BI " NVME_ID_SECONDARY_CTRL_MAX"
,
.br
.br
.BI " NVME_ID_DOMAIN_LIST_MAX"
,
.br
.br
.BI " NVME_ID_ENDURANCE_GROUP_LIST_MAX"
,
.br
.br
.BI " NVME_ID_ND_DESCRIPTOR_MAX"
,
.br
.br
.BI " NVME_FEAT_LBA_RANGE_MAX"
,
.br
.br
.BI " NVME_LOG_ST_MAX_RESULTS"
,
.br
.br
.BI " NVME_LOG_TELEM_BLOCK_SIZE"
,
.br
.br
.BI " NVME_LOG_FID_SUPPORTED_EFFECTS_MAX"
,
.br
.br
.BI " NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX"
,
.br
.br
.BI " NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED"
,
.br
.br
.BI " NVME_DSM_MAX_RANGES"
,
.br
.br
.BI " NVME_NQN_LENGTH"
,
.br
.br
.BI " NVMF_TRADDR_SIZE"
,
.br
.br
.BI " NVMF_TSAS_SIZE"
,
.br
.br
.BI " NVME_ZNS_CHANGED_ZONES_MAX"
};
.SH Constants
.IP "NVME_NSID_ALL" 12
A broadcast value that is used to specify all
namespaces
.IP "NVME_NSID_NONE" 12
The invalid namespace id, for when the nsid
parameter is not used in a command
.IP "NVME_UUID_NONE" 12
Use to omit a uuid command parameter
.IP "NVME_CNTLID_NONE" 12
Use to omit a cntlid command parameter
.IP "NVME_CNSSPECID_NONE" 12
Use to omit a cns_specific_id command parameter
.IP "NVME_LOG_LSP_NONE" 12
Use to omit a log lsp command parameter
.IP "NVME_LOG_LSI_NONE" 12
Use to omit a log lsi command parameter
.IP "NVME_LOG_LPO_NONE" 12
Use to omit a log lpo command parameter
.IP "NVME_IDENTIFY_DATA_SIZE" 12
The transfer size for nvme identify commands
.IP "NVME_LOG_SUPPORTED_LOG_PAGES_MAX" 12
The lagest possible index in the supported
log pages log.
.IP "NVME_ID_NVMSET_LIST_MAX" 12
The largest possible nvmset index in identify
nvmeset
.IP "NVME_ID_UUID_LIST_MAX" 12
The largest possible uuid index in identify
uuid list
.IP "NVME_ID_CTRL_LIST_MAX" 12
The largest possible controller index in
identify controller list
.IP "NVME_ID_NS_LIST_MAX" 12
The largest possible namespace index in
identify namespace list
.IP "NVME_ID_SECONDARY_CTRL_MAX" 12
The largest possible secondary controller index
in identify secondary controller
.IP "NVME_ID_DOMAIN_LIST_MAX" 12
The largest possible domain index in the
in domain list
.IP "NVME_ID_ENDURANCE_GROUP_LIST_MAX" 12
The largest possible endurance group
index in the endurance group list
.IP "NVME_ID_ND_DESCRIPTOR_MAX" 12
The largest possible namespace granularity
index in the namespace granularity descriptor
list
.IP "NVME_FEAT_LBA_RANGE_MAX" 12
The largest possible LBA range index in feature
lba range type
.IP "NVME_LOG_ST_MAX_RESULTS" 12
The largest possible self test result index in the
device self test log
.IP "NVME_LOG_TELEM_BLOCK_SIZE" 12
Specification defined size of Telemetry Data Blocks
.IP "NVME_LOG_FID_SUPPORTED_EFFECTS_MAX" 12
The largest possible FID index in the
feature identifiers effects log.
.IP "NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX" 12
The largest possible MI Command index
in the MI Command effects log.
.IP "NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED" 12
The reserved space in the MI Command
effects log.
.IP "NVME_DSM_MAX_RANGES" 12
The largest possible range index in a data-set
management command
.IP "NVME_NQN_LENGTH" 12
Max length for NVMe Qualified Name
.IP "NVMF_TRADDR_SIZE" 12
Max Transport Address size
.IP "NVMF_TSAS_SIZE" 12
Max Transport Specific Address Subtype size
.IP "NVME_ZNS_CHANGED_ZONES_MAX" 12
Max number of zones in the changed zones log
page

12
doc/man/nvme_copy.2 Normal file
View file

@ -0,0 +1,12 @@
.TH "nvme_copy" 9 "nvme_copy" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_copy \-
.SH SYNOPSIS
.B "int" nvme_copy
.BI "(struct nvme_copy_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_copy_args\fP argument structure
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

83
doc/man/nvme_copy_args.2 Normal file
View file

@ -0,0 +1,83 @@
.TH "libnvme" 9 "struct nvme_copy_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_copy_args \- Arguments for the NVMe Copy command
.SH SYNOPSIS
struct nvme_copy_args {
.br
.BI " __u64 sdlba;"
.br
.BI " __u32 *result;"
.br
.BI " struct nvme_copy_range *copy;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 nsid;"
.br
.BI " __u32 ilbrt;"
.br
.BI " int lr;"
.br
.BI " int fua;"
.br
.BI " __u16 nr;"
.br
.BI " __u16 dspec;"
.br
.BI " __u16 lbatm;"
.br
.BI " __u16 lbat;"
.br
.BI " __u8 prinfor;"
.br
.BI " __u8 prinfow;"
.br
.BI " __u8 dtype;"
.br
.BI " __u8 format;"
.br
.BI "
};
.br
.SH Members
.IP "sdlba" 12
Start destination LBA
.IP "result" 12
The command completion result from CQE dword0
.IP "copy" 12
Range descriptior
.IP "args_size" 12
Size of \fIstruct nvme_copy_args\fP
.IP "fd" 12
File descriptor of the nvme device
.IP "timeout" 12
Timeout in ms
.IP "nsid" 12
Namespace identifier
.IP "ilbrt" 12
Initial logical block reference tag
.IP "lr" 12
Limited retry
.IP "fua" 12
Force unit access
.IP "nr" 12
Number of ranges
.IP "dspec" 12
Directive specific value
.IP "lbatm" 12
Logical block application tag mask
.IP "lbat" 12
Logical block application tag
.IP "prinfor" 12
Protection information field for read
.IP "prinfow" 12
Protection information field for write
.IP "dtype" 12
Directive type
.IP "format" 12
Descriptor format

39
doc/man/nvme_copy_range.2 Normal file
View file

@ -0,0 +1,39 @@
.TH "libnvme" 9 "struct nvme_copy_range" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_copy_range \-
.SH SYNOPSIS
struct nvme_copy_range {
.br
.BI " __u8 rsvd0[8];"
.br
.BI " __le64 slba;"
.br
.BI " __le16 nlb;"
.br
.BI " __u8 rsvd18[6];"
.br
.BI " __le32 eilbrt;"
.br
.BI " __le16 elbatm;"
.br
.BI " __le16 elbat;"
.br
.BI "
};
.br
.SH Members
.IP "rsvd0" 12
Reserved
.IP "slba" 12
Starting LBA
.IP "nlb" 12
Number of Logical Blocks
.IP "rsvd18" 12
Reserved
.IP "eilbrt" 12
Expected Initial Logical Block Reference Tag
.IP "elbatm" 12
Expected Logical Block Application Tag Mask
.IP "elbat" 12
Expected Logical Block Application Tag

View file

@ -0,0 +1,31 @@
.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_create_ctrl \- Allocate an unconnected NVMe controller
.SH SYNOPSIS
.B "nvme_ctrl_t" nvme_create_ctrl
.BI "(nvme_root_t r " ","
.BI "const char *subsysnqn " ","
.BI "const char *transport " ","
.BI "const char *traddr " ","
.BI "const char *host_traddr " ","
.BI "const char *host_iface " ","
.BI "const char *trsvcid " ");"
.SH ARGUMENTS
.IP "r" 12
NVMe root element
.IP "subsysnqn" 12
Subsystem NQN
.IP "transport" 12
Transport type
.IP "traddr" 12
Transport address
.IP "host_traddr" 12
Host transport address
.IP "host_iface" 12
Host interface name
.IP "trsvcid" 12
Transport service ID
.SH "DESCRIPTION"
Creates an unconnected controller to be used for \fBnvme_add_ctrl\fP.
.SH "RETURN"
Controller instance

View file

@ -0,0 +1,14 @@
.TH "nvme_create_root" 9 "nvme_create_root" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_create_root \- Initialize root object
.SH SYNOPSIS
.B "nvme_root_t" nvme_create_root
.BI "(FILE *fp " ","
.BI "int log_level " ");"
.SH ARGUMENTS
.IP "fp" 12
File descriptor for logging messages
.IP "log_level" 12
Logging level to use
.SH "RETURN"
Initialized \fInvme_root_t\fP object

24
doc/man/nvme_csi.2 Normal file
View file

@ -0,0 +1,24 @@
.TH "libnvme" 9 "enum nvme_csi" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_csi \- Defined command set indicators
.SH SYNOPSIS
enum nvme_csi {
.br
.BI " NVME_CSI_NVM"
,
.br
.br
.BI " NVME_CSI_KV"
,
.br
.br
.BI " NVME_CSI_ZNS"
};
.SH Constants
.IP "NVME_CSI_NVM" 12
NVM Command Set Indicator
.IP "NVME_CSI_KV" 12
Key Value Command Set
.IP "NVME_CSI_ZNS" 12
Zoned Namespace Command Set

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_ns \- Start namespace iterator
.SH SYNOPSIS
.B "nvme_ns_t" nvme_ctrl_first_ns
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
First \fInvme_ns_t\fP object of an \fIc\fP iterator

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_path \- Start path iterator
.SH SYNOPSIS
.B "nvme_path_t" nvme_ctrl_first_path
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
First \fInvme_path_t\fP object of an \fIc\fP iterator

View file

@ -0,0 +1,12 @@
.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns \- Traverse namespaces
.SH SYNOPSIS
.B "nvme_ctrl_for_each_ns
.BI "(c " ","
.BI "n " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "n" 12
\fInvme_ns_t\fP object

View file

@ -0,0 +1,15 @@
.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns_safe \- Traverse namespaces
.SH SYNOPSIS
.B "nvme_ctrl_for_each_ns_safe
.BI "(c " ","
.BI "n " ","
.BI "_n " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "n" 12
\fInvme_ns_t\fP object
.IP "_n" 12
A \fInvme_ns_t_node\fP to use as temporary storage

View file

@ -0,0 +1,12 @@
.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path \- Traverse paths
.SH SYNOPSIS
.B "nvme_ctrl_for_each_path
.BI "(c " ","
.BI "p " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "p" 12
\fInvme_path_t\fP object

View file

@ -0,0 +1,15 @@
.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path_safe \- Traverse paths
.SH SYNOPSIS
.B "nvme_ctrl_for_each_path_safe
.BI "(c " ","
.BI "p " ","
.BI "_p " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "p" 12
\fInvme_path_t\fP object
.IP "_p" 12
A \fInvme_path_t_node\fP to use as temporary storage

View file

@ -0,0 +1,12 @@
.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_address \- Address string of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_address
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
NVMe-over-Fabrics address string of \fIc\fP or empty string
of no address is present.

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_config \- Fabrics configuration of a controller
.SH SYNOPSIS
.B "struct nvme_fabrics_config *" nvme_ctrl_get_config
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Fabrics configuration of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_dhchap_key \- Return controller key
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_dhchap_key
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller for which the key should be set
.SH "RETURN"
DH-HMAC-CHAP controller key or NULL if not set

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_fd \- Get associated file descriptor
.SH SYNOPSIS
.B "int" nvme_ctrl_get_fd
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
File descriptor associated with \fIc\fP or -1

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_firmware \- Firmware string of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_firmware
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Firmware string of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_iface \- Host interface name of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_host_iface
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Host interface name of \fIc\fP (if present)

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_traddr \- Host transport address of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_host_traddr
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Host transport address of \fIc\fP (if present)

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_model \- Model of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_model
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Model string of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_name \- sysfs name of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_name
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
sysfs name of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_numa_node \- NUMA node of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_numa_node
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
String indicating the NUMA node

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_queue_count \- Queue count of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_queue_count
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Queue count of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_serial \- Serial number of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_serial
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Conroller instance
.SH "RETURN"
Serial number string of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sqsize \- SQ size of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_sqsize
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
SQ size (as string) of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_state \- Running state of an controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_state
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
String indicating the running state of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsysnqn \- Subsystem NQN of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_subsysnqn
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Subsystem NQN of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsystem \- Parent subsystem of a controller
.SH SYNOPSIS
.B "nvme_subsystem_t" nvme_ctrl_get_subsystem
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Parent nvme_subsystem_t object

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sysfs_dir \- sysfs directory of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_sysfs_dir
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
sysfs directory name of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_traddr \- Transport address of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_traddr
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Transport address of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_transport \- Transport type of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_transport
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Transport type of \fIc\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_trsvcid \- Transport service identifier of a controller
.SH SYNOPSIS
.B "const char *" nvme_ctrl_get_trsvcid
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Transport service identifier of \fIc\fP (if present)

View file

@ -0,0 +1,17 @@
.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_identify \- Issues an 'identify controller' command
.SH SYNOPSIS
.B "int" nvme_ctrl_identify
.BI "(nvme_ctrl_t c " ","
.BI "struct nvme_id_ctrl *id " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "id" 12
Identify controller data structure
.SH "DESCRIPTION"
Issues an 'identify controller' command to \fIc\fP and copies the
data into \fIid\fP.
.SH "RETURN"
0 on success or -1 on failure.

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovered \- Returns the value of the 'discovered' flag
.SH SYNOPSIS
.B "bool" nvme_ctrl_is_discovered
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Value of the 'discovered' flag of \fIc\fP

View file

@ -0,0 +1,14 @@
.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovery_ctrl \- Check the 'discovery_ctrl' flag
.SH SYNOPSIS
.B "bool" nvme_ctrl_is_discovery_ctrl
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller to be checked
.SH "DESCRIPTION"
Returns the value of the 'discovery_ctrl' flag which specifies whether
\fIc\fP connects to a discovery subsystem.
.SH "RETURN"
Value of the 'discover_ctrl' flag

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_persistent \- Returns the value of the 'persistent' flag
.SH SYNOPSIS
.B "bool" nvme_ctrl_is_persistent
.BI "(nvme_ctrl_t c " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.SH "RETURN"
Value of the 'persistent' flag of \fIc\fP

19
doc/man/nvme_ctrl_list.2 Normal file
View file

@ -0,0 +1,19 @@
.TH "libnvme" 9 "struct nvme_ctrl_list" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_ctrl_list \-
.SH SYNOPSIS
struct nvme_ctrl_list {
.br
.BI " __le16 num;"
.br
.BI " __le16 identifier[NVME_ID_CTRL_LIST_MAX];"
.br
.BI "
};
.br
.SH Members
.IP "num" 12
Number of Identifiers
.IP "identifier" 12
NVM subsystem unique controller identifier

View file

@ -0,0 +1,108 @@
.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_ctrl_metadata_type \- Controller Metadata Element Types
.SH SYNOPSIS
enum nvme_ctrl_metadata_type {
.br
.BI " NVME_CTRL_METADATA_OS_CTRL_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_OS_DRIVER_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_OS_DRIVER_VER"
,
.br
.br
.BI " NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER"
,
.br
.br
.BI " NVME_CTRL_METADATA_SYS_PROC_MODEL"
,
.br
.br
.BI " NVME_CTRL_METADATA_CHIPSET_DRV_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_CHIPSET_DRV_VERSION"
,
.br
.br
.BI " NVME_CTRL_METADATA_OS_NAME_AND_BUILD"
,
.br
.br
.BI " NVME_CTRL_METADATA_SYS_PROD_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_FIRMWARE_VERSION"
,
.br
.br
.BI " NVME_CTRL_METADATA_OS_DRIVER_FILENAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_DISPLAY_DRV_NAME"
,
.br
.br
.BI " NVME_CTRL_METADATA_DISPLAY_DRV_VERSION"
,
.br
.br
.BI " NVME_CTRL_METADATA_HOST_DET_FAIL_REC"
};
.SH Constants
.IP "NVME_CTRL_METADATA_OS_CTRL_NAME" 12
Name of the controller in
the operating system.
.IP "NVME_CTRL_METADATA_OS_DRIVER_NAME" 12
Name of the driver in the
operating system.
.IP "NVME_CTRL_METADATA_OS_DRIVER_VER" 12
Version of the driver in
the operating system.
.IP "NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME" 12
Name of the controller in
the pre-boot environment.
.IP "NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME" 12
Name of the driver in the
pre-boot environment.
.IP "NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER" 12
Version of the driver in the
pre-boot environment.
.IP "NVME_CTRL_METADATA_SYS_PROC_MODEL" 12
Model of the processor.
.IP "NVME_CTRL_METADATA_CHIPSET_DRV_NAME" 12
Chipset driver name.
.IP "NVME_CTRL_METADATA_CHIPSET_DRV_VERSION" 12
Chipsset driver version.
.IP "NVME_CTRL_METADATA_OS_NAME_AND_BUILD" 12
Operating system name and build.
.IP "NVME_CTRL_METADATA_SYS_PROD_NAME" 12
System product name.
.IP "NVME_CTRL_METADATA_FIRMWARE_VERSION" 12
Host firmware (e.g UEFI) version.
.IP "NVME_CTRL_METADATA_OS_DRIVER_FILENAME" 12
Operating system driver filename.
.IP "NVME_CTRL_METADATA_DISPLAY_DRV_NAME" 12
Display driver name.
.IP "NVME_CTRL_METADATA_DISPLAY_DRV_VERSION" 12
Display driver version.
.IP "NVME_CTRL_METADATA_HOST_DET_FAIL_REC" 12
Failure record.

View file

@ -0,0 +1,14 @@
.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_ns \- Next namespace iterator
.SH SYNOPSIS
.B "nvme_ns_t" nvme_ctrl_next_ns
.BI "(nvme_ctrl_t c " ","
.BI "nvme_ns_t n " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "n" 12
Previous nvme_ns_t iterator
.SH "RETURN"
Next nvme_ns_t object of an \fIc\fP iterator

View file

@ -0,0 +1,14 @@
.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_path \- Next path iterator
.SH SYNOPSIS
.B "nvme_path_t" nvme_ctrl_next_path
.BI "(nvme_ctrl_t c " ","
.BI "nvme_path_t p " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "p" 12
Previous \fInvme_path_t\fP object of an \fIc\fP iterator
.SH "RETURN"
Next \fInvme_path_t\fP object of an \fIc\fP iterator

13
doc/man/nvme_ctrl_reset.2 Normal file
View file

@ -0,0 +1,13 @@
.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_reset \- Initiate a controller reset
.SH SYNOPSIS
.B "int" nvme_ctrl_reset
.BI "(int fd " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.SH "DESCRIPTION"
This should only be sent to controller handles, not to namespaces.
.SH "RETURN"
0 if a reset was initiated or -1 with errno set otherwise.

View file

@ -0,0 +1,12 @@
.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_dhchap_key \- Set controller key
.SH SYNOPSIS
.B "void" nvme_ctrl_set_dhchap_key
.BI "(nvme_ctrl_t c " ","
.BI "const char *key " ");"
.SH ARGUMENTS
.IP "c" 12
Controller for which the key should be set
.IP "key" 12
DH-HMAC-CHAP Key to set or NULL to clear existing key

View file

@ -0,0 +1,14 @@
.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovered \- Set the 'discovered' flag
.SH SYNOPSIS
.B "void" nvme_ctrl_set_discovered
.BI "(nvme_ctrl_t c " ","
.BI "bool discovered " ");"
.SH ARGUMENTS
.IP "c" 12
nvme_ctrl_t object
.IP "discovered" 12
Value of the 'discovered' flag
.SH "DESCRIPTION"
Set the 'discovered' flag of \fIc\fP to \fIdiscovered\fP

View file

@ -0,0 +1,15 @@
.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovery_ctrl \- Set the 'discovery_ctrl' flag
.SH SYNOPSIS
.B "void" nvme_ctrl_set_discovery_ctrl
.BI "(nvme_ctrl_t c " ","
.BI "bool discovery " ");"
.SH ARGUMENTS
.IP "c" 12
Controller to be modified
.IP "discovery" 12
value of the discovery_ctrl flag
.SH "DESCRIPTION"
Sets the 'discovery_ctrl' flag in \fIc\fP to specify whether
\fIc\fP connects to a discovery subsystem.

View file

@ -0,0 +1,14 @@
.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_persistent \- Set the 'persistent' flag
.SH SYNOPSIS
.B "void" nvme_ctrl_set_persistent
.BI "(nvme_ctrl_t c " ","
.BI "bool persistent " ");"
.SH ARGUMENTS
.IP "c" 12
Controller instance
.IP "persistent" 12
value of the 'persistent' flag
.SH "DESCRIPTION"
Set the 'persistent' flag of \fIc\fP to \fIpersistent\fP

View file

@ -0,0 +1,11 @@
.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_ctrls_filter \- Filter for controllers
.SH SYNOPSIS
.B "int" nvme_ctrls_filter
.BI "(const struct dirent *d " ");"
.SH ARGUMENTS
.IP "d" 12
dirent to check
.SH "RETURN"
1 if \fId\fP matches, 0 otherwise

View file

@ -0,0 +1,14 @@
.TH "nvme_default_host" 9 "nvme_default_host" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_default_host \- Initializes the default host
.SH SYNOPSIS
.B "nvme_host_t" nvme_default_host
.BI "(nvme_root_t r " ");"
.SH ARGUMENTS
.IP "r" 12
\fInvme_root_t\fP object
.SH "DESCRIPTION"
Initializes the default host object based on the values in
/etc/nvme/hostnqn and /etc/nvme/hostid and attaches it to \fIr\fP.
.SH "RETURN"
\fInvme_host_t\fP object

View file

@ -0,0 +1,23 @@
.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_dev_self_test \- Start or abort a self test
.SH SYNOPSIS
.B "int" nvme_dev_self_test
.BI "(struct nvme_dev_self_test_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_dev_self_test\fP argument structure
.SH "DESCRIPTION"
The Device Self-test command starts a device self-test operation or abort a
device self-test operation. A device self-test operation is a diagnostic
testing sequence that tests the integrity and functionality of the
controller and may include testing of the media associated with namespaces.
The controller may return a response to this command immediately while
running the self-test in the background.
Set the 'nsid' field to 0 to not include namepsaces in the test. Set to
0xffffffff to test all namespaces. All other values tests a specific
namespace, if present.
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,35 @@
.TH "libnvme" 9 "struct nvme_dev_self_test_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_dev_self_test_args \- Arguments for the NVMe Device Self Test command
.SH SYNOPSIS
struct nvme_dev_self_test_args {
.br
.BI " __u32 *result;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 nsid;"
.br
.BI " enum nvme_dst_stc stc;"
.br
.BI "
};
.br
.SH Members
.IP "result" 12
The command completion result from CQE dword0
.IP "args_size" 12
Size of \fIstruct nvme_dev_self_test_args\fP
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "nsid" 12
Namespace ID to test
.IP "stc" 12
Self test code, see \fIenum nvme_dst_stc\fP

39
doc/man/nvme_dim_args.2 Normal file
View file

@ -0,0 +1,39 @@
.TH "libnvme" 9 "struct nvme_dim_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_dim_args \- Arguments for the Discovery Information Management (DIM) command
.SH SYNOPSIS
struct nvme_dim_args {
.br
.BI " __u32 *result;"
.br
.BI " void *data;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 data_len;"
.br
.BI " __u8 tas;"
.br
.BI "
};
.br
.SH Members
.IP "result" 12
Set on completion to the command's CQE DWORD 0 controller response.
.IP "data" 12
Pointer to the DIM data
.IP "args_size" 12
Length of the structure
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "data_len" 12
Length of \fIdata\fP
.IP "tas" 12
Task field of the Command Dword 10 (cdw10)

View file

@ -0,0 +1,18 @@
.TH "libnvme" 9 "enum nvme_directive_dtype" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_dtype \-
.SH SYNOPSIS
enum nvme_directive_dtype {
.br
.BI " NVME_DIRECTIVE_DTYPE_IDENTIFY"
,
.br
.br
.BI " NVME_DIRECTIVE_DTYPE_STREAMS"
};
.SH Constants
.IP "NVME_DIRECTIVE_DTYPE_IDENTIFY" 12
Identify directive type
.IP "NVME_DIRECTIVE_DTYPE_STREAMS" 12
Streams directive type

View file

@ -0,0 +1,26 @@
.TH "libnvme" 9 "enum nvme_directive_receive_doper" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_receive_doper \-
.SH SYNOPSIS
enum nvme_directive_receive_doper {
.br
.BI " NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM"
,
.br
.br
.BI " NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM"
,
.br
.br
.BI " NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS"
,
.br
.br
.BI " NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE"
};
.SH Constants
.IP "NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM" 12
.IP "NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM" 12
.IP "NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS" 12
.IP "NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE" 12

View file

@ -0,0 +1,12 @@
.TH "nvme_directive_recv" 9 "nvme_directive_recv" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv \- Receive directive specific data
.SH SYNOPSIS
.B "int" nvme_directive_recv
.BI "(struct nvme_directive_recv_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_directive_recv_args\fP argument structure
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,55 @@
.TH "libnvme" 9 "struct nvme_directive_recv_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_directive_recv_args \- Arguments for the NVMe Directive Receive command
.SH SYNOPSIS
struct nvme_directive_recv_args {
.br
.BI " __u32 *result;"
.br
.BI " void *data;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 nsid;"
.br
.BI " enum nvme_directive_receive_doper doper;"
.br
.BI " enum nvme_directive_dtype dtype;"
.br
.BI " __u32 cdw12;"
.br
.BI " __u32 data_len;"
.br
.BI " __u16 dspec;"
.br
.BI "
};
.br
.SH Members
.IP "result" 12
If successful, the CQE dword0 value
.IP "data" 12
Usespace address of data payload
.IP "args_size" 12
Size of \fIstruct nvme_directive_recv_args\fP
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "nsid" 12
Namespace ID, if applicable
.IP "doper" 12
Directive send operation, see \fIenum nvme_directive_send_doper\fP
.IP "dtype" 12
Directive type, see \fIenum nvme_directive_dtype\fP
.IP "cdw12" 12
Directive specific command dword12
.IP "data_len" 12
Length of data payload in bytes
.IP "dspec" 12
Directive specific field

View file

@ -0,0 +1,18 @@
.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_identify_parameters \-
.SH SYNOPSIS
.B "int" nvme_directive_recv_identify_parameters
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "struct nvme_id_directives *id " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace ID
.IP "id" 12
Identify parameters buffer
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,21 @@
.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_allocate \-
.SH SYNOPSIS
.B "int" nvme_directive_recv_stream_allocate
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "__u16 nsr " ","
.BI "__u32 *result " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace ID
.IP "nsr" 12
Namespace Streams Requested
.IP "result" 12
If successful, the CQE dword0 value
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,18 @@
.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_parameters \-
.SH SYNOPSIS
.B "int" nvme_directive_recv_stream_parameters
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "struct nvme_streams_directive_params *parms " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace ID
.IP "parms" 12
Streams directive parameters buffer
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,21 @@
.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_status \-
.SH SYNOPSIS
.B "int" nvme_directive_recv_stream_status
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "unsigned nr_entries " ","
.BI "struct nvme_streams_directive_status *id " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace ID
.IP "nr_entries" 12
Number of streams to receive
.IP "id" 12
Stream status buffer
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,18 @@
.TH "nvme_directive_send" 9 "nvme_directive_send" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send \- Send directive command
.SH SYNOPSIS
.B "int" nvme_directive_send
.BI "(struct nvme_directive_send_args *args " ");"
.SH ARGUMENTS
.IP "args" 12
\fIstruct nvme_directive_send_args\fP argument structure
.SH "DESCRIPTION"
Directives is a mechanism to enable host and NVM subsystem or controller
information exchange. The Directive Send command transfers data related to a
specific Directive Type from the host to the controller.
See the NVMe specification for more information.
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,55 @@
.TH "libnvme" 9 "struct nvme_directive_send_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_directive_send_args \- Arguments for the NVMe Directive Send command
.SH SYNOPSIS
struct nvme_directive_send_args {
.br
.BI " __u32 *result;"
.br
.BI " void *data;"
.br
.BI " int args_size;"
.br
.BI " int fd;"
.br
.BI " __u32 timeout;"
.br
.BI " __u32 nsid;"
.br
.BI " enum nvme_directive_send_doper doper;"
.br
.BI " enum nvme_directive_dtype dtype;"
.br
.BI " __u32 cdw12;"
.br
.BI " __u32 data_len;"
.br
.BI " __u16 dspec;"
.br
.BI "
};
.br
.SH Members
.IP "result" 12
If successful, the CQE dword0 value
.IP "data" 12
Data payload to to be send
.IP "args_size" 12
Size of \fIstruct nvme_directive_send_args\fP
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "nsid" 12
Namespace ID, if applicable
.IP "doper" 12
Directive send operation, see \fIenum nvme_directive_send_doper\fP
.IP "dtype" 12
Directive type, see \fIenum nvme_directive_dtype\fP
.IP "cdw12" 12
Directive specific command dword12
.IP "data_len" 12
Length of data payload in bytes
.IP "dspec" 12
Directive specific field

View file

@ -0,0 +1,21 @@
.TH "libnvme" 9 "enum nvme_directive_send_doper" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_doper \-
.SH SYNOPSIS
enum nvme_directive_send_doper {
.br
.BI " NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR"
,
.br
.br
.BI " NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER"
,
.br
.br
.BI " NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE"
};
.SH Constants
.IP "NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR" 12
.IP "NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER" 12
.IP "NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE" 12

View file

@ -0,0 +1,24 @@
.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_id_endir \-
.SH SYNOPSIS
.B "int" nvme_directive_send_id_endir
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "bool endir " ","
.BI "enum nvme_directive_dtype dtype " ","
.BI "struct nvme_id_directives *id " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace Identifier
.IP "endir" 12
Enable Directive
.IP "dtype" 12
Directive Type
.IP "id" 12
Pointer to structure nvme_id_directives
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

View file

@ -0,0 +1,16 @@
.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "April 2022" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_identify_endir \-
.SH SYNOPSIS
enum nvme_directive_send_identify_endir {
.br
.BI " NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE"
,
.br
.br
.BI " NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE"
};
.SH Constants
.IP "NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE" 12
.IP "NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE" 12

View file

@ -0,0 +1,18 @@
.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "April 2022" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_stream_release_identifier \-
.SH SYNOPSIS
.B "int" nvme_directive_send_stream_release_identifier
.BI "(int fd " ","
.BI "__u32 nsid " ","
.BI "__u16 stream_id " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
.IP "nsid" 12
Namespace ID
.IP "stream_id" 12
Stream identifier
.SH "RETURN"
The nvme command status if a response was received (see
\fIenum nvme_status_field\fP) or -1 with errno set otherwise.

Some files were not shown because too many files have changed in this diff Show more