author = 'Keith Busch <kbusch@kernel.org>'
master_doc = 'index'
-release = '1.4'
+release = '1.5'
# -- General configuration ---------------------------------------------------
"type": "array",
"items": { "$ref": "#/$defs/port" }
},
+ "application": {
+ "description": "Program managing this subsystem",
+ "type": "string"
+ },
"required": [ "nqn" ]
}
},
--- /dev/null
+.TH "libnvme" 9 "struct nbft_control" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_control \- NBFT Table - Control Descriptor (Figure 8)
+.SH SYNOPSIS
+struct nbft_control {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 major_revision;"
+.br
+.BI " __u8 minor_revision;"
+.br
+.BI " __u8 reserved1;"
+.br
+.BI " __le16 csl;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __u8 reserved2;"
+.br
+.BI " struct nbft_heap_obj hdesc;"
+.br
+.BI " __u8 hsv;"
+.br
+.BI " __u8 reserved3;"
+.br
+.BI " __le32 hfio;"
+.br
+.BI " __le16 hfil;"
+.br
+.BI " __u8 hfiv;"
+.br
+.BI " __u8 num_hfi;"
+.br
+.BI " __le32 ssnso;"
+.br
+.BI " __le16 ssnsl;"
+.br
+.BI " __u8 ssnsv;"
+.br
+.BI " __u8 num_ssns;"
+.br
+.BI " __le32 seco;"
+.br
+.BI " __le16 secl;"
+.br
+.BI " __u8 secv;"
+.br
+.BI " __u8 num_sec;"
+.br
+.BI " __le32 disco;"
+.br
+.BI " __le16 discl;"
+.br
+.BI " __u8 discv;"
+.br
+.BI " __u8 num_disc;"
+.br
+.BI " __u8 reserved4[16];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field specifies the element (refer to
+\fIenum nbft_desc_type\fP). This field shall be set to 1h (i.e.,
+Control, #NBFT_DESC_CONTROL).
+.IP "major_revision" 12
+Major Revision: The major revision of the structure corresponding
+to the Signature field. Larger major revision numbers should
+not be assumed backward compatible to lower major revision
+numbers with the same signature.
+.IP "minor_revision" 12
+Minor Revision: The minor revision of the structure corresponding
+to the signature field. If the major revision numbers are
+the same, any minor revision number differences shall be backwards
+compatible with the same signature.
+.IP "reserved1" 12
+Reserved.
+.IP "csl" 12
+Control Structure Length (CSL): This field indicates the length
+in bytes of the Control Descriptor.
+.IP "flags" 12
+Flags, see \fIenum nbft_control_flags\fP.
+.IP "reserved2" 12
+Reserved.
+.IP "hdesc" 12
+Host Descriptor (HDESC): This field indicates the location
+and length of the Host Descriptor (see \fIstruct nbft_host\fP).
+.IP "hsv" 12
+Host Descriptor Version (HSV): This field indicates the version
+of the Host Descriptor.
+.IP "reserved3" 12
+Reserved.
+.IP "hfio" 12
+HFI Descriptor List Offset (HFIO): If this field is set to
+a non-zero value, then this field indicates the offset in bytes
+of the HFI Descriptor List, if any, from byte offset 0h of the
+NBFT Table Header. If the \fInum_hfi\fP field is cleared to 0h,
+then this field is reserved.
+.IP "hfil" 12
+HFI Descriptor Length (HFIL): This field indicates the length
+in bytes of each HFI Descriptor, if any. If the \fInum_hfi\fP field
+is cleared to 0h, then this field is reserved.
+.IP "hfiv" 12
+HFI Descriptor Version (HFIV): This field indicates the version
+of each HFI Descriptor.
+.IP "num_hfi" 12
+Number of Host Fabric Interface Descriptors (NumHFI): This field
+indicates the number of HFI Descriptors (see \fIstruct nbft_hfi\fP)
+in the HFI Descriptor List, if any. If no interfaces have been
+configured, then this field shall be cleared to 0h.
+.IP "ssnso" 12
+SSNS Descriptor List Offset (SSNSO):: This field indicates
+the offset in bytes of the SSNS Descriptor List, if any, from
+byte offset 0h of the NBFT Table Header. If the \fInum_ssns\fP field
+is cleared to 0h, then this field is reserved.
+.IP "ssnsl" 12
+SSNS Descriptor Length (SSNSL): This field indicates the length
+in bytes of each SSNS Descriptor, if any. If the \fInum_ssns\fP
+field is cleared to 0h, then this field is reserved.
+.IP "ssnsv" 12
+SSNS Descriptor Version (SSNSV): This field indicates the version
+of the SSNS Descriptor.
+.IP "num_ssns" 12
+Number of Subsystem and Namespace Descriptors (NumSSNS): This
+field indicates the number of Subsystem Namespace (SSNS)
+Descriptors (see \fIstruct nbft_ssns\fP) in the SSNS Descriptor List,
+if any.
+.IP "seco" 12
+Security Profile Descriptor List Offset (SECO): This field
+indicates the offset in bytes of the Security Profile Descriptor
+List, if any, from byte offset 0h of the NBFT Table Header.
+If the \fInum_sec\fP field is cleared to 0h, then this field
+is reserved.
+.IP "secl" 12
+Security Profile Descriptor Length (SECL): This field indicates
+the length in bytes of each Security Profile Descriptor, if any.
+If the \fInum_sec\fP field is cleared to 0h, then this field
+is reserved.
+.IP "secv" 12
+Security Profile Descriptor Version (SECV): This field indicates
+the version of the Security Profile Descriptor.
+.IP "num_sec" 12
+Number of Security Profile Descriptors (NumSec): This field
+indicates the number of Security Profile Descriptors
+(see \fIstruct nbft_security\fP), if any, in the Security Profile
+Descriptor List.
+.IP "disco" 12
+Discovery Descriptor Offset (DISCO): This field indicates
+the offset in bytes of the Discovery Descriptor List, if any,
+from byte offset 0h of the NBFT Table Header. If the \fInum_disc\fP
+field is cleared to 0h, then this field is reserved.
+.IP "discl" 12
+Discovery Descriptor Length (DISCL): This field indicates
+the length in bytes of each Discovery Descriptor, if any.
+If the \fInum_disc\fP field is cleared to 0h, then this field
+is reserved.
+.IP "discv" 12
+Discovery Descriptor Version (DISCV): This field indicates
+the version of the Discovery Descriptor.
+.IP "num_disc" 12
+Number of Discovery Descriptors (NumDisc): This field indicates
+the number of Discovery Descriptors (see \fIstruct nbft_discovery\fP),
+if any, in the Discovery Descriptor List, if any.
+.IP "reserved4" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_control_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_control_flags \- Control Descriptor Flags
+.SH SYNOPSIS
+enum nbft_control_flags {
+.br
+.BI " NBFT_CONTROL_VALID"
+
+};
+.SH Constants
+.IP "NBFT_CONTROL_VALID" 12
+Block Valid: indicates that the structure is valid.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_desc_type" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_desc_type \- NBFT Elements - Descriptor Types (Figure 5)
+.SH SYNOPSIS
+enum nbft_desc_type {
+.br
+.BI " NBFT_DESC_HEADER"
+,
+.br
+.br
+.BI " NBFT_DESC_CONTROL"
+,
+.br
+.br
+.BI " NBFT_DESC_HOST"
+,
+.br
+.br
+.BI " NBFT_DESC_HFI"
+,
+.br
+.br
+.BI " NBFT_DESC_SSNS"
+,
+.br
+.br
+.BI " NBFT_DESC_SECURITY"
+,
+.br
+.br
+.BI " NBFT_DESC_DISCOVERY"
+,
+.br
+.br
+.BI " NBFT_DESC_HFI_TRINFO"
+,
+.br
+.br
+.BI " NBFT_DESC_RESERVED_8"
+,
+.br
+.br
+.BI " NBFT_DESC_SSNS_EXT_INFO"
+
+};
+.SH Constants
+.IP "NBFT_DESC_HEADER" 12
+Header: an ACPI structure header with some additional
+NBFT specific info.
+.IP "NBFT_DESC_CONTROL" 12
+Control Descriptor: indicates the location of host,
+HFI, SSNS, security, and discovery descriptors.
+.IP "NBFT_DESC_HOST" 12
+Host Descriptor: host information.
+.IP "NBFT_DESC_HFI" 12
+HFI Descriptor: an indexable table of HFI Descriptors,
+one for each fabric interface on the host.
+.IP "NBFT_DESC_SSNS" 12
+Subsystem Namespace Descriptor: an indexable table
+of SSNS Descriptors.
+.IP "NBFT_DESC_SECURITY" 12
+Security Descriptor: an indexable table of Security
+descriptors.
+.IP "NBFT_DESC_DISCOVERY" 12
+Discovery Descriptor: an indexable table of Discovery
+Descriptors.
+.IP "NBFT_DESC_HFI_TRINFO" 12
+HFI Transport Descriptor: indicated by an HFI Descriptor,
+corresponds to a specific transport for a single HFI.
+.IP "NBFT_DESC_RESERVED_8" 12
+Reserved.
+.IP "NBFT_DESC_SSNS_EXT_INFO" 12
+SSNS Extended Info Descriptor: indicated by an SSNS
+Descriptor if required.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_discovery" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_discovery \- Discovery Descriptor (Figure 24)
+.SH SYNOPSIS
+struct nbft_discovery {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __u8 index;"
+.br
+.BI " __u8 hfi_index;"
+.br
+.BI " __u8 sec_index;"
+.br
+.BI " __u8 reserved1;"
+.br
+.BI " struct nbft_heap_obj discovery_ctrl_addr_obj;"
+.br
+.BI " struct nbft_heap_obj discovery_ctrl_nqn_obj;"
+.br
+.BI " __u8 reserved2[14];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 6h
+(i.e., Discovery Descriptor; #NBFT_DESC_DISCOVERY).
+.IP "flags" 12
+Discovery Descriptor Flags, see \fIenum nbft_discovery_flags\fP.
+.IP "index" 12
+Discovery Descriptor Index: This field indicates
+the number of this Discovery Descriptor in
+the Discovery Descriptor List.
+.IP "hfi_index" 12
+HFI Descriptor Index: This field indicates the value
+of the HFI Descriptor Index field of the HFI Descriptor
+associated with this Discovery Descriptor. If multiple
+HFIs share a common Discovery controller, there shall
+be multiple Discovery Descriptor entries with one per HFI.
+.IP "sec_index" 12
+Security Profile Descriptor Index: This field indicates
+the value of the Security Profile Descriptor Index
+field of the Security Descriptor associated with
+this Discovery Descriptor.
+.IP "reserved1" 12
+Reserved.
+.IP "discovery_ctrl_addr_obj" 12
+Discovery Controller Address Heap Object Reference:
+This field indicates the location and size of a heap
+object containing a URI which indicates an NVMe Discovery
+controller associated with this Discovery Descriptor.
+If this field is cleared to 0h, then no URI is specified.
+.IP "discovery_ctrl_nqn_obj" 12
+Discovery Controller NQN Heap Object Reference:
+If set to a non-zero value, this field indicates
+the location and size of a heap object containing
+an NVMe Discovery controller NQN. If the NVMe Discovery
+controller referenced by this record requires secure
+authentication with a well known Subsystem NQN, this
+field indicates the unique NQN for that NVMe Discovery
+controller. This record is involved formatted as an NQN
+string. If this field is cleared to 0h, then this
+field is reserved and the OS shall use the well
+known discovery NQN for this record.
+.IP "reserved2" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_discovery_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_discovery_flags \- Discovery Descriptor Flags
+.SH SYNOPSIS
+enum nbft_discovery_flags {
+.br
+.BI " NBFT_DISCOVERY_VALID"
+
+};
+.SH Constants
+.IP "NBFT_DISCOVERY_VALID" 12
+Descriptor Valid: if set to 1h, then this descriptor
+is valid. If cleared to 0h, then this descriptor
+is reserved.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_header" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_header \- NBFT Table - Header (Figure 8)
+.SH SYNOPSIS
+struct nbft_header {
+.br
+.BI " char signature[4];"
+.br
+.BI " __le32 length;"
+.br
+.BI " __u8 major_revision;"
+.br
+.BI " __u8 checksum;"
+.br
+.BI " char oem_id[6];"
+.br
+.BI " char oem_table_id[8];"
+.br
+.BI " __le32 oem_revision;"
+.br
+.BI " __le32 creator_id;"
+.br
+.BI " __le32 creator_revision;"
+.br
+.BI " __le32 heap_offset;"
+.br
+.BI " __le32 heap_length;"
+.br
+.BI " struct nbft_heap_obj driver_dev_path_sig;"
+.br
+.BI " __u8 minor_revision;"
+.br
+.BI " __u8 reserved[13];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "signature" 12
+Signature: An ASCII string representation of the table
+identifier. This field shall be set to the value 4E424654h
+(i.e. "NBFT", see #NBFT_HEADER_SIG).
+.IP "length" 12
+Length: The length of the table, in bytes, including the
+header, starting from offset 0h. This field is used to record
+the size of the entire table.
+.IP "major_revision" 12
+Major Revision: The major revision of the structure
+corresponding to the Signature field. Larger major revision
+numbers should not be assumed backward compatible to lower
+major revision numbers with the same signature.
+.IP "checksum" 12
+Checksum: The entire table, including the Checksum field,
+shall sum to 0h to be considered valid.
+.IP "oem_id" 12
+OEMID shall be populated by the NBFT driver writer by
+an OEM-supplied string that identifies the OEM. All
+trailing bytes shall be NULL.
+.IP "oem_table_id" 12
+OEM Table ID: This field shall be populated by the NBFT
+driver writer with an OEM-supplied string that the OEM
+uses to identify the particular data table. This field is
+particularly useful when defining a definition block to
+distinguish definition block functions. The OEM assigns
+each dissimilar table a new OEM Table ID.
+.IP "oem_revision" 12
+OEM Revision: An OEM-supplied revision number. Larger
+numbers are assumed to be newer revisions.
+.IP "creator_id" 12
+Creator ID: Vendor ID of utility that created the table.
+For instance, this may be the ID for the ASL Compiler.
+.IP "creator_revision" 12
+Creator Revision: Revision of utility that created the
+table. For instance, this may be the ID for the ASL Compiler.
+.IP "heap_offset" 12
+Heap Offset (HO): This field indicates the offset in bytes
+of the heap, if any, from byte offset 0h of the NBFT
+Table Header.
+.IP "heap_length" 12
+Heap Length (HL): The length of the heap, if any.
+.IP "driver_dev_path_sig" 12
+Driver Signature Heap Object Reference: This field indicates
+the offset in bytes of a heap object containing the Driver
+Signature, if any, from byte offset 0h of the NBFT Table
+Header.
+.IP "minor_revision" 12
+Minor Revision: The minor revision of the structure
+corresponding to the Signature field. If the major revision
+numbers are the same, any minor revision number differences
+shall be backwards compatible with the same signature.
+.IP "reserved" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_heap_obj" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_heap_obj \- NBFT Header Driver Signature
+.SH SYNOPSIS
+struct nbft_heap_obj {
+.br
+.BI " __le32 offset;"
+.br
+.BI " __le16 length;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "offset" 12
+Offset in bytes of the heap object, if any, from byte offset 0h
+of the NBFT Table Header.
+.IP "length" 12
+Length in bytes of the heap object, if any.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_hfi" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_hfi \- Host Fabric Interface (HFI) Descriptor (Figure 11)
+.SH SYNOPSIS
+struct nbft_hfi {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 index;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __u8 trtype;"
+.br
+.BI " __u8 reserved1[12];"
+.br
+.BI " struct nbft_heap_obj trinfo_obj;"
+.br
+.BI " __u8 reserved2[10];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 3h (i.e., Host Fabric
+Interface Descriptor; #NBFT_DESC_HFI).
+.IP "index" 12
+HFI Descriptor Index: This field indicates the number of this
+HFI Descriptor in the Host Fabric Interface Descriptor List.
+.IP "flags" 12
+HFI Descriptor Flags, see \fIenum nbft_hfi_flags\fP.
+.IP "trtype" 12
+HFI Transport Type, see \fIenum nbft_trtype\fP.
+.IP "reserved1" 12
+Reserved.
+.IP "trinfo_obj" 12
+HFI Transport Info Descriptor Heap Object Reference: If this
+field is set to a non-zero value, then this field indicates
+the location and size of a heap object containing
+a HFI Transport Info.
+.IP "reserved2" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_hfi_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_hfi_flags \- HFI Descriptor Flags
+.SH SYNOPSIS
+enum nbft_hfi_flags {
+.br
+.BI " NBFT_HFI_VALID"
+
+};
+.SH Constants
+.IP "NBFT_HFI_VALID" 12
+Descriptor Valid: If set to 1h, then this descriptor is valid.
+If cleared to 0h, then this descriptor is reserved.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP (Figure 13)
+.SH SYNOPSIS
+struct nbft_hfi_info_tcp {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 version;"
+.br
+.BI " __u8 trtype;"
+.br
+.BI " __u8 trinfo_version;"
+.br
+.BI " __le16 hfi_index;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __le32 pci_sbdf;"
+.br
+.BI " __u8 mac_addr[6];"
+.br
+.BI " __le16 vlan;"
+.br
+.BI " __u8 ip_origin;"
+.br
+.BI " __u8 ip_address[16];"
+.br
+.BI " __u8 subnet_mask_prefix;"
+.br
+.BI " __u8 ip_gateway[16];"
+.br
+.BI " __u8 reserved1;"
+.br
+.BI " __le16 route_metric;"
+.br
+.BI " __u8 primary_dns[16];"
+.br
+.BI " __u8 secondary_dns[16];"
+.br
+.BI " __u8 dhcp_server[16];"
+.br
+.BI " struct nbft_heap_obj host_name_obj;"
+.br
+.BI " __u8 reserved2[18];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 7h (i.e.,
+HFI Transport Info; #NBFT_DESC_HFI_TRINFO).
+.IP "version" 12
+Version: This field shall be set to 1h.
+.IP "trtype" 12
+HFI Transport Type, see \fIenum nbft_trtype\fP: This field
+shall be set to 03h (i.e., NVMe/TCP; #NBFT_TRTYPE_TCP).
+.IP "trinfo_version" 12
+Transport Info Version: Implementations compliant to this
+specification shall set this field to 1h.
+.IP "hfi_index" 12
+HFI Descriptor Index: The value of the HFI Descriptor Index
+field of the HFI Descriptor (see \fIstruct nbft_hfi\fP.index)
+whose HFI Transport Info Descriptor Heap Object Reference
+field indicates this HFI Transport Info Descriptor.
+.IP "flags" 12
+HFI Transport Flags, see \fIenum nbft_hfi_info_tcp_flags\fP.
+.IP "pci_sbdf" 12
+PCI Express Routing ID for the HFI Transport Function:
+This field indicates the PCI Express Routing ID as specified
+in the PCI Express Base Specification.
+.IP "mac_addr" 12
+MAC Address: The MAC address of this HFI, in EUI-48TM format,
+as defined in the IEEE Guidelines for Use of Extended Unique
+Identifiers. This field shall be set to a non-zero value.
+.IP "vlan" 12
+VLAN: If this field is set to a non-zero value, then this
+field contains the VLAN identifier if the VLAN associated
+with this HFI, as defined in IEEE 802.1q-2018. If no VLAN
+is associated with this HFI, then this field shall be cleared
+to 0h.
+.IP "ip_origin" 12
+IP Origin: If this field is set to a non-zero value, then
+this field indicates the source of Ethernet L3 configuration
+information used by the driver for this interface. Valid
+values are defined in the Win 32 API: NL_PREFIX_ORIGIN
+enumeration specification. This field should be cleared
+to 0h if the IP Origin field is unused by driver.
+.IP "ip_address" 12
+IP Address: This field indicates the IPv4 or IPv6 address
+of this HFI. This field shall be set to a non-zero value.
+.IP "subnet_mask_prefix" 12
+Subnet Mask Prefix: This field indicates the IPv4 or IPv6
+subnet mask in CIDR routing prefix notation.
+.IP "ip_gateway" 12
+IP Gateway: If this field is set to a non-zero value, this
+field indicates the IPv4 or IPv6 address of the IP gateway
+for this HFI. If this field is cleared to 0h, then
+no IP gateway is specified.
+.IP "reserved1" 12
+Reserved.
+.IP "route_metric" 12
+Route Metric: If this field is set to a non-zero value,
+this field indicates the cost value for the route indicated
+by this HF. This field contains the value utilized by the
+pre-OS driver when chosing among all available routes. Lower
+values relate to higher priority. Refer to IETF RFC 4249.
+If the pre-OS driver supports routing and did not configure
+a specific route metric for this interface, then the pre-OS
+driver should set this value to 500. If the pre-OS driver
+does not support routing, then this field should be cleared
+to 0h.
+.IP "primary_dns" 12
+Primary DNS: If this field is set to a non-zero value,
+this field indicates the IPv4 or IPv6 address of the
+Primary DNS server for this HFI, if any, from byte offset
+0h of the NBFT Table Header. If this field is cleared to 0h,
+then no Primary DNS is specified.
+.IP "secondary_dns" 12
+Secondary DNS: If this field is set to a non-zero value,
+this field indicates the IPv4 or IPv6 address of
+the Secondary DNS server for this HFI, if any, from byte
+offset 0h of the NBFT Table Header. If this field is
+cleared to 0h, then no Secondary DNS is specified.
+.IP "dhcp_server" 12
+DHCP Server: If the DHCP Override bit is set to 1h, then
+this field indicates the IPv4 or IPv6 address of the DHCP
+server used to assign this HFI address. If that bit is
+cleared to 0h, then this field is reserved.
+.IP "host_name_obj" 12
+Host Name Heap Object Reference: If this field is set
+to a non-zero value, then this field indicates the location
+and size of a heap object containing a Host Name string.
+.IP "reserved2" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_hfi_info_tcp_flags \- HFI Transport Flags
+.SH SYNOPSIS
+enum nbft_hfi_info_tcp_flags {
+.br
+.BI " NBFT_HFI_INFO_TCP_VALID"
+,
+.br
+.br
+.BI " NBFT_HFI_INFO_TCP_GLOBAL_ROUTE"
+,
+.br
+.br
+.BI " NBFT_HFI_INFO_TCP_DHCP_OVERRIDE"
+
+};
+.SH Constants
+.IP "NBFT_HFI_INFO_TCP_VALID" 12
+Descriptor Valid: if set to 1h, then this
+descriptor is valid. If cleared to 0h, then
+this descriptor is reserved.
+.IP "NBFT_HFI_INFO_TCP_GLOBAL_ROUTE" 12
+Global Route vs. Link Local Override Flag:
+if set to 1h, then the BIOS utilized this
+interface described by HFI to be the default
+route with highest priority. If cleared to 0h,
+then routes are local to their own scope.
+.IP "NBFT_HFI_INFO_TCP_DHCP_OVERRIDE" 12
+DHCP Override: if set to 1, then HFI information
+was populated by consuming the DHCP on this
+interface. If cleared to 0h, then the HFI
+information was set administratively by
+a configuration interface to the driver and
+pre-OS envrionment.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_host" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_host \- Host Descriptor (Figure 9)
+.SH SYNOPSIS
+struct nbft_host {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 flags;"
+.br
+.BI " __u8 host_id[16];"
+.br
+.BI " struct nbft_heap_obj host_nqn_obj;"
+.br
+.BI " __u8 reserved[8];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 2h (i.e.,
+Host Descriptor; #NBFT_DESC_HOST).
+.IP "flags" 12
+Host Flags, see \fIenum nbft_host_flags\fP.
+.IP "host_id" 12
+Host ID: This field shall be set to the Host Identifier. This
+field shall not be empty if the NBFT and NVMe Boot are supported
+by the Platform.
+.IP "host_nqn_obj" 12
+Host NQN Heap Object Reference: this field indicates a heap
+object containing a Host NQN. This object shall not be empty
+if the NBFT and NVMe Boot are supported by the Platform.
+.IP "reserved" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_host_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_host_flags \- Host Flags
+.SH SYNOPSIS
+enum nbft_host_flags {
+.br
+.BI " NBFT_HOST_VALID"
+,
+.br
+.br
+.BI " NBFT_HOST_HOSTID_CONFIGURED"
+,
+.br
+.br
+.BI " NBFT_HOST_HOSTNQN_CONFIGURED"
+,
+.br
+.br
+.BI " NBFT_HOST_PRIMARY_ADMIN_MASK"
+,
+.br
+.br
+.BI " NBFT_HOST_PRIMARY_ADMIN_NOT_INDICATED"
+,
+.br
+.br
+.BI " NBFT_HOST_PRIMARY_ADMIN_UNSELECTED"
+,
+.br
+.br
+.BI " NBFT_HOST_PRIMARY_ADMIN_SELECTED"
+
+};
+.SH Constants
+.IP "NBFT_HOST_VALID" 12
+Descriptor Valid: If set to 1h, then this
+descriptor is valid. If cleared to 0h, then
+this descriptor is reserved.
+.IP "NBFT_HOST_HOSTID_CONFIGURED" 12
+HostID Configured: If set to 1h, then the
+Host ID field contains an administratively-configured
+value. If cleared to 0h, then the Host ID
+field contains a driver default value.
+.IP "NBFT_HOST_HOSTNQN_CONFIGURED" 12
+Host NQN Configured: If set to 1h, then the
+Host NQN indicated by the Host NQN Heap Object
+Reference field (\fIstruct nbft_host\fP.host_nqn)
+contains an administratively-configured value.
+If cleared to 0h, then the Host NQN indicated
+by the Host NQN Offset field contains a driver
+default value.
+.IP "NBFT_HOST_PRIMARY_ADMIN_MASK" 12
+Mask to get Primary Administrative Host Descriptor:
+indicates whether the Host Descriptor in this
+NBFT was selected as the primary NBFT for
+administrative purposes of platform identity
+as a hint to the OS. If multiple NBFT tables
+are present, only one NBFT should be administratively
+selected. There is no enforcement mechanism
+for this to be coordinated between multiple NBFT
+tables, but this field should be set to Selected
+(#NBFT_HOST_PRIMARY_ADMIN_SELECTED) if
+more than one NBFT is present.
+.IP "NBFT_HOST_PRIMARY_ADMIN_NOT_INDICATED" 12
+Not Indicated by Driver: The driver that created
+this NBFT provided no administrative priority
+hint for this NBFT.
+.IP "NBFT_HOST_PRIMARY_ADMIN_UNSELECTED" 12
+Unselected: The driver that created this NBFT
+explicitly indicated that this NBFT should
+not be prioritized over any other NBFT.
+.IP "NBFT_HOST_PRIMARY_ADMIN_SELECTED" 12
+Selected: The driver that created this NBFT
+explicitly indicated that this NBFT should
+be prioritized over any other NBFT.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info \- The parsed NBFT table data.
+.SH SYNOPSIS
+struct nbft_info {
+.br
+.BI " char *filename;"
+.br
+.BI " __u8 *raw_nbft;"
+.br
+.BI " ssize_t raw_nbft_size;"
+.br
+.BI " struct nbft_info_host host;"
+.br
+.BI " struct nbft_info_hfi **hfi_list;"
+.br
+.BI " struct nbft_info_security **security_list;"
+.br
+.BI " struct nbft_info_discovery **discovery_list;"
+.br
+.BI " struct nbft_info_subsystem_ns **subsystem_ns_list;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "filename" 12
+Path to the NBFT table.
+.IP "raw_nbft" 12
+The original NBFT table contents.
+.IP "raw_nbft_size" 12
+Size of \fIraw_nbft\fP.
+.IP "host" 12
+The Host Descriptor (should match other NBFTs).
+.IP "hfi_list" 12
+The HFI Descriptor List (null-terminated array).
+.IP "security_list" 12
+The Security Profile Descriptor List (null-terminated array).
+.IP "discovery_list" 12
+The Discovery Descriptor List (null-terminated array).
+.IP "subsystem_ns_list" 12
+The SSNS Descriptor List (null-terminated array).
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_discovery" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_discovery \- Discovery Descriptor
+.SH SYNOPSIS
+struct nbft_info_discovery {
+.br
+.BI " int index;"
+.br
+.BI " struct nbft_info_security *security;"
+.br
+.BI " struct nbft_info_hfi *hfi;"
+.br
+.BI " char *uri;"
+.br
+.BI " char *nqn;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "index" 12
+The number of this Discovery Descriptor in the Discovery
+Descriptor List.
+.IP "security" 12
+The Security Profile Descriptor, see \fIstruct nbft_info_security\fP.
+.IP "hfi" 12
+The HFI Descriptor associated with this Discovery Descriptor.
+See \fIstruct nbft_info_hfi\fP.
+.IP "uri" 12
+A URI which indicates an NVMe Discovery controller associated
+with this Discovery Descriptor.
+.IP "nqn" 12
+An NVMe Discovery controller NQN.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_hfi" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_hfi \- Host Fabric Interface (HFI) Descriptor
+.SH SYNOPSIS
+struct nbft_info_hfi {
+.br
+.BI " int index;"
+.br
+.BI " char transport[8];"
+.br
+.BI " struct nbft_info_hfi_info_tcp tcp_info;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "index" 12
+HFI Descriptor Index: indicates the number of this HFI Descriptor
+in the Host Fabric Interface Descriptor List.
+.IP "transport" 12
+Transport Type string (e.g. 'tcp').
+.IP "tcp_info" 12
+The HFI Transport Info Descriptor, see \fIstruct nbft_info_hfi_info_tcp\fP.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP
+.SH SYNOPSIS
+struct nbft_info_hfi_info_tcp {
+.br
+.BI " __u32 pci_sbdf;"
+.br
+.BI " __u8 mac_addr[6];"
+.br
+.BI " __u16 vlan;"
+.br
+.BI " __u8 ip_origin;"
+.br
+.BI " char ipaddr[40];"
+.br
+.BI " __u8 subnet_mask_prefix;"
+.br
+.BI " char gateway_ipaddr[40];"
+.br
+.BI " __u16 route_metric;"
+.br
+.BI " char primary_dns_ipaddr[40];"
+.br
+.BI " char secondary_dns_ipaddr[40];"
+.br
+.BI " char dhcp_server_ipaddr[40];"
+.br
+.BI " char *host_name;"
+.br
+.BI " bool this_hfi_is_default_route;"
+.br
+.BI " bool dhcp_override;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "pci_sbdf" 12
+PCI Express Routing ID for the HFI Transport Function.
+.IP "mac_addr" 12
+MAC Address: The MAC address of this HFI,
+in EUI-48TM format.
+.IP "vlan" 12
+The VLAN identifier if the VLAN is associated with
+this HFI, as defined in IEEE 802.1q-2018 or zeroes
+if no VLAN is associated with this HFI.
+.IP "ip_origin" 12
+The source of Ethernet L3 configuration information
+used by the driver or 0 if not used.
+.IP "ipaddr" 12
+The IPv4 or IPv6 address of this HFI.
+.IP "subnet_mask_prefix" 12
+The IPv4 or IPv6 subnet mask in CIDR routing prefix
+notation.
+.IP "gateway_ipaddr" 12
+The IPv4 or IPv6 address of the IP gateway for this
+HFI or zeroes if no IP gateway is specified.
+.IP "route_metric" 12
+The cost value for the route indicated by this HFI.
+.IP "primary_dns_ipaddr" 12
+The IPv4 or IPv6 address of the Primary DNS server
+for this HFI.
+.IP "secondary_dns_ipaddr" 12
+The IPv4 or IPv6 address of the Secondary DNS server
+for this HFI.
+.IP "dhcp_server_ipaddr" 12
+The IPv4 or IPv6 address of the DHCP server used
+to assign this HFI address.
+.IP "host_name" 12
+The Host Name string.
+.IP "this_hfi_is_default_route" 12
+If True, then the BIOS utilized this interface
+described by HFI to be the default route with highest
+priority. If False, then routes are local to their
+own scope.
+.IP "dhcp_override" 12
+If True, then HFI information was populated
+by consuming the DHCP on this interface. If False,
+then the HFI information was set administratively
+by a configuration interface to the driver and
+pre-OS envrionment.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_host" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_host \- Host Descriptor
+.SH SYNOPSIS
+struct nbft_info_host {
+.br
+.BI " unsigned char *id;"
+.br
+.BI " char *nqn;"
+.br
+.BI " bool host_id_configured;"
+.br
+.BI " bool host_nqn_configured;"
+.br
+.BI " enum nbft_info_primary_admin_host_flag primary;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "id" 12
+Host ID (raw UUID, length = 16 bytes).
+.IP "nqn" 12
+Host NQN.
+.IP "host_id_configured" 12
+HostID Configured Flag: value of True indicates that \fIid\fP
+contains administratively-configured value, or driver
+default value if False.
+.IP "host_nqn_configured" 12
+Host NQN Configured Flag: value of True indicates that
+\fInqn\fP contains administratively-configured value,
+or driver default value if False.
+.IP "primary" 12
+Primary Administrative Host Descriptor, see
+\fIenum nbft_info_primary_admin_host_flag\fP.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_info_nid_type" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_info_nid_type \- Namespace Identifier Type (NIDT)
+.SH SYNOPSIS
+enum nbft_info_nid_type {
+.br
+.BI " NBFT_INFO_NID_TYPE_NONE"
+,
+.br
+.br
+.BI " NBFT_INFO_NID_TYPE_EUI64"
+,
+.br
+.br
+.BI " NBFT_INFO_NID_TYPE_NGUID"
+,
+.br
+.br
+.BI " NBFT_INFO_NID_TYPE_NS_UUID"
+
+};
+.SH Constants
+.IP "NBFT_INFO_NID_TYPE_NONE" 12
+No identifier available.
+.IP "NBFT_INFO_NID_TYPE_EUI64" 12
+The EUI-64 identifier.
+.IP "NBFT_INFO_NID_TYPE_NGUID" 12
+The NSGUID identifier.
+.IP "NBFT_INFO_NID_TYPE_NS_UUID" 12
+The UUID identifier.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_info_primary_admin_host_flag \- Primary Administrative Host Descriptor Flags
+.SH SYNOPSIS
+enum nbft_info_primary_admin_host_flag {
+.br
+.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED"
+,
+.br
+.br
+.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED"
+,
+.br
+.br
+.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED"
+,
+.br
+.br
+.BI " NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED"
+
+};
+.SH Constants
+.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED" 12
+Not Indicated by Driver: The driver
+that created this NBFT provided no
+administrative priority hint for
+this NBFT.
+.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED" 12
+Unselected: The driver that created
+this NBFT explicitly indicated that
+this NBFT should not be prioritized
+over any other NBFT.
+.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED" 12
+Selected: The driver that created
+this NBFT explicitly indicated that
+this NBFT should be prioritized over
+any other NBFT.
+.IP "NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_security" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_security \- Security Profile Descriptor
+.SH SYNOPSIS
+struct nbft_info_security {
+.br
+.BI " int index;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "index" 12
+The number of this Security Profile Descriptor in the Security
+Profile Descriptor List.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info
+.SH SYNOPSIS
+struct nbft_info_subsystem_ns {
+.br
+.BI " int index;"
+.br
+.BI " struct nbft_info_discovery *discovery;"
+.br
+.BI " struct nbft_info_security *security;"
+.br
+.BI " int num_hfis;"
+.br
+.BI " struct nbft_info_hfi **hfis;"
+.br
+.BI " char transport[8];"
+.br
+.BI " char traddr[40];"
+.br
+.BI " char *trsvcid;"
+.br
+.BI " __u16 subsys_port_id;"
+.br
+.BI " __u32 nsid;"
+.br
+.BI " enum nbft_info_nid_type nid_type;"
+.br
+.BI " __u8 *nid;"
+.br
+.BI " char *subsys_nqn;"
+.br
+.BI " bool pdu_header_digest_required;"
+.br
+.BI " bool data_digest_required;"
+.br
+.BI " int controller_id;"
+.br
+.BI " int asqsz;"
+.br
+.BI " char *dhcp_root_path_string;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "index" 12
+SSNS Descriptor Index in the descriptor list.
+.IP "discovery" 12
+Primary Discovery Controller associated with
+this SSNS Descriptor.
+.IP "security" 12
+Security Profile Descriptor associated with
+this namespace.
+.IP "num_hfis" 12
+Number of HFIs.
+.IP "hfis" 12
+List of HFIs associated with this namespace.
+Includes the primary HFI at the first position
+and all secondary HFIs. This array is null-terminated.
+.IP "transport" 12
+Transport Type string (e.g. 'tcp').
+.IP "traddr" 12
+Subsystem Transport Address.
+.IP "trsvcid" 12
+Subsystem Transport Service Identifier.
+.IP "subsys_port_id" 12
+The Subsystem Port ID.
+.IP "nsid" 12
+The Namespace ID of this descriptor or when \fInid\fP
+should be used instead.
+.IP "nid_type" 12
+Namespace Identifier Type, see \fIenum nbft_info_nid_type\fP.
+.IP "nid" 12
+The Namespace Identifier value.
+.IP "subsys_nqn" 12
+Subsystem and Namespace NQN.
+.IP "pdu_header_digest_required" 12
+PDU Header Digest (HDGST) Flag: the use of NVM Header
+Digest Enabled is required.
+.IP "data_digest_required" 12
+Data Digest (DDGST) Flag: the use of NVM Data Digest
+Enabled is required.
+.IP "controller_id" 12
+Controller ID (SSNS Extended Information Descriptor):
+The controller ID associated with the Admin Queue
+or 0 if not supported.
+.IP "asqsz" 12
+Admin Submission Queue Size (SSNS Extended Information
+Descriptor) or 0 if not supported.
+.IP "dhcp_root_path_string" 12
+DHCP Root Path Override string (SSNS Extended
+Information Descriptor).
--- /dev/null
+.TH "libnvme" 9 "struct nbft_security" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_security \- Security Profile Descriptor (Figure 21)
+.SH SYNOPSIS
+struct nbft_security {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 index;"
+.br
+.BI " __le16 flags;"
+.br
+.BI " __u8 secret_type;"
+.br
+.BI " __u8 reserved1;"
+.br
+.BI " struct nbft_heap_obj sec_chan_alg_obj;"
+.br
+.BI " struct nbft_heap_obj auth_proto_obj;"
+.br
+.BI " struct nbft_heap_obj cipher_suite_obj;"
+.br
+.BI " struct nbft_heap_obj dh_grp_obj;"
+.br
+.BI " struct nbft_heap_obj sec_hash_func_obj;"
+.br
+.BI " struct nbft_heap_obj sec_keypath_obj;"
+.br
+.BI " __u8 reserved2[22];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 5h
+(i.e., Security; #NBFT_DESC_SECURITY).
+.IP "index" 12
+Security Profile Descriptor Index: This field indicates
+the number of this Security Profile Descriptor in the
+Security Profile Descriptor List.
+.IP "flags" 12
+Security Profile Descriptor Flags, see \fIenum nbft_security_flags\fP.
+.IP "secret_type" 12
+Secret Type, see \fIenum nbft_security_secret_type\fP.
+.IP "reserved1" 12
+Reserved.
+.IP "sec_chan_alg_obj" 12
+Secure Channel Algorithm Heap Object Reference: If the
+Security Policy List field is set to 1h, then this field
+indicates the location and size of a heap object containing
+a list of secure channel algorithms. The list is an array
+of bytes and the values are defined in the Security Type
+(SECTYPE) field in the Transport Specific Address Subtype
+Definition in the NVMe TCP Transport Specification.
+If the Security Policy List field is cleared to 0h, then
+this field is reserved.
+.IP "auth_proto_obj" 12
+Authentication Protocols Heap Object Reference: If the
+Authentication Policy List field is set to 1h, then this
+field indicates the location and size of a heap object
+containing a list of authentication protocol identifiers.
+If the Authentication Policy List field is cleared to 0h,
+then this field is reserved.
+.IP "cipher_suite_obj" 12
+Cipher Suite Offset Heap Object Reference: If the Cipher
+Suites Restricted by Policy bit is set to 1h, then this
+field indicates the location and size of a heap object
+containing a list of cipher suite identifiers. The list,
+if any, is an array of bytes and the values are defined
+in the IANA TLS Parameters Registry. If the Cipher Suites
+Restricted by Policy bit is cleared to 0h, then this field
+is reserved.
+.IP "dh_grp_obj" 12
+DH Groups Heap Object Reference: If the Authentication DH Groups
+Restricted by Policy List bit is set to 1h, then this field
+indicates the location and size of a heap object containing
+a list of DH-HMAC-CHAP Diffie-Hellman (DH) group identifiers.
+If the Authentication DH Groups Restricted by Policy List
+bit is cleared to 0h, then this field is reserved.
+.IP "sec_hash_func_obj" 12
+Secure Hash Functions Offset Heap Object Reference: If the
+Secure Hash Functions Policy List bit is set to 1h, then
+this field indicates the offset in bytes of a heap object
+containing a list of DH-HMAC-CHAP hash function identifiers.
+The list is an array of bytes and the values are defined
+in the NVM Express Base Specification. If the Secure Hash
+Functions Policy List bit is cleared to 0h, then this
+field is reserved.
+.IP "sec_keypath_obj" 12
+Secret Keypath Offset Heap Object Reference: if this field
+is set to a non-zero value, then this field indicates
+the location and size of a heap object containing a URI.
+The type of the URI is specified in the Secret Type field.
+If this field is cleared to 0h, then this field is reserved.
+.IP "reserved2" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_security_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_security_flags \- Security Profile Descriptor Flags (Figure 22)
+.SH SYNOPSIS
+enum nbft_security_flags {
+.br
+.BI " NBFT_SECURITY_VALID"
+,
+.br
+.br
+.BI " NBFT_SECURITY_IN_BAND_AUTH_MASK"
+,
+.br
+.br
+.BI " NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_IN_BAND_AUTH_REQUIRED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_AUTH_POLICY_LIST_MASK"
+,
+.br
+.br
+.BI " NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER"
+,
+.br
+.br
+.BI " NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_CHAN_NEG_MASK"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_POLICY_LIST_MASK"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_POLICY_LIST_DRIVER"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_POLICY_LIST_ADMIN"
+,
+.br
+.br
+.BI " NBFT_SECURITY_CIPHER_RESTRICTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED"
+,
+.br
+.br
+.BI " NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST"
+
+};
+.SH Constants
+.IP "NBFT_SECURITY_VALID" 12
+Descriptor Valid: If set to 1h, then
+this descriptor is valid. If cleared
+to 0h, then this descriptor is not valid.
+.IP "NBFT_SECURITY_IN_BAND_AUTH_MASK" 12
+Mask to get the In-Band Authentication
+Required field.
+.IP "NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED" 12
+In-band authentication is not supported
+by the NVM subsystem.
+.IP "NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED" 12
+In-band authentication is supported by
+the NVM subsystem and is not required.
+.IP "NBFT_SECURITY_IN_BAND_AUTH_REQUIRED" 12
+In-band authentication is supported by
+the NVM subsystem and is required.
+.IP "NBFT_SECURITY_AUTH_POLICY_LIST_MASK" 12
+Mask to get the Authentication Policy List
+flag: This field indicates whether
+authentication protocols were indicated
+by policy from driver defaults or
+administrative configuration.
+.IP "NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED" 12
+Authentication Protocols Heap Object Reference
+field Offset and Length are reserved.
+.IP "NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER" 12
+Authentication Protocols Offset field and
+the Authentication Protocols Length field
+indicate a list of authentication protocols
+used by the driver.
+.IP "NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN" 12
+Authentication Protocols Offset field and
+the Authentication Protocols Length field
+indicate a list of authentication protocols
+that were administratively set and used
+by the driver.
+.IP "NBFT_SECURITY_SEC_CHAN_NEG_MASK" 12
+Mask to get the Secure Channel Negotiation
+Required flag: This field indicates whether
+secure channel negotiation (e.g. TLS)
+is required.
+.IP "NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED" 12
+Secure channel negotiation is not supported
+by the NVM subsystem.
+.IP "NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED" 12
+Secure channel negotiation is supported
+by the NVM subsystem and is not required.
+.IP "NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED" 12
+Secure channel negotiation is supported
+by the NVM subsystem and is required.
+.IP "NBFT_SECURITY_SEC_POLICY_LIST_MASK" 12
+Mask to get the Security Policy List flag:
+This field indicates whether secure channel
+protocols were indicated by policy from driver
+defaults or administrative configuration.
+.IP "NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED" 12
+The Offset field and Length field in the
+Secure Channel Algorithm Heap Object Reference
+field are reserved.
+.IP "NBFT_SECURITY_SEC_POLICY_LIST_DRIVER" 12
+The Heap Object specified by the Secure Channel
+Algorithm Heap Object Reference field indicates
+a list of authentication protocols used
+by the driver.
+.IP "NBFT_SECURITY_SEC_POLICY_LIST_ADMIN" 12
+The Heap Object specified by the Secure Channel
+Algorithm Heap Object Reference field indicates
+a list of authentication protocols that were
+administratively set and used by the driver.
+.IP "NBFT_SECURITY_CIPHER_RESTRICTED" 12
+Cipher Suites Restricted by Policy: If set to 1h,
+then the Cipher Suite Offset field and the
+Ciper Suite Length field indicate a list
+of supported cipher suites by the driver.
+If cleared to 0h, then the Cipher Suite Offset
+field and the Cipher Suite Length field
+are reserved.
+.IP "NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED" 12
+Authentication DH Groups Restricted
+by Policy List: If set to 1h, then connections
+shall use one of the authentication DH groups
+in the Authentication DH Groups List is required.
+If cleared to 0h, then no Authentication DH Groups
+List is indicated and use of an authentication
+DH Group is not required.
+.IP "NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST" 12
+Secure Hash Functions Policy List: If set to 1h,
+then connections shall use one of the secure
+hash functions in the Secure Hash Functions
+Policy List is required. If cleared to 0h,
+then no Secure Hash Functions Policy
+List is indicated and use of a secure
+hash function is not required.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_security_secret_type" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_security_secret_type \- Security Profile Descriptor Secret Type
+.SH SYNOPSIS
+enum nbft_security_secret_type {
+.br
+.BI " NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI"
+
+};
+.SH Constants
+.IP "NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI" 12
+Redfish Host Interface URI:
+If set to 1h, then the Secret Keypath
+Object Reference is a URI pointing
+to a Redfish Key Collection Object
+that contains the PSK.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_ssns" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_ssns \- Subsystem Namespace (SSNS) Descriptor (Figure 15)
+.SH SYNOPSIS
+struct nbft_ssns {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __le16 index;"
+.br
+.BI " __le16 flags;"
+.br
+.BI " __u8 trtype;"
+.br
+.BI " __le16 trflags;"
+.br
+.BI " __u8 primary_discovery_ctrl_index;"
+.br
+.BI " __u8 reserved1;"
+.br
+.BI " struct nbft_heap_obj subsys_traddr_obj;"
+.br
+.BI " struct nbft_heap_obj subsys_trsvcid_obj;"
+.br
+.BI " __le16 subsys_port_id;"
+.br
+.BI " __le32 nsid;"
+.br
+.BI " __u8 nidt;"
+.br
+.BI " __u8 nid[16];"
+.br
+.BI " __u8 security_desc_index;"
+.br
+.BI " __u8 primary_hfi_desc_index;"
+.br
+.BI " __u8 reserved2;"
+.br
+.BI " struct nbft_heap_obj secondary_hfi_assoc_obj;"
+.br
+.BI " struct nbft_heap_obj subsys_ns_nqn_obj;"
+.br
+.BI " struct nbft_heap_obj ssns_extended_info_desc_obj;"
+.br
+.BI " __u8 reserved3[62];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 4h
+(i.e., SSNS; #NBFT_DESC_SSNS).
+.IP "index" 12
+SSNS Descriptor Index: This field indicates the number
+of this Subsystem Namespace Descriptor in the
+Subsystem Namespace Descriptor List.
+.IP "flags" 12
+SSNS Flags, see \fIenum nbft_ssns_flags\fP.
+.IP "trtype" 12
+Transport Type, see \fIenum nbft_trtype\fP.
+.IP "trflags" 12
+Transport Specific Flags, see \fIenum nbft_ssns_trflags\fP.
+.IP "primary_discovery_ctrl_index" 12
+Primary Discovery Controller Index: The Discovery
+Descriptor Index field of the Discovery Descriptor
+(see \fIstruct nbft_discovery\fP) that is associated with
+this SSNS Descriptor. If a Discovery controller was
+used to establish this record this value shall
+be set to a non-zero value. If this namespace was
+associated with multiple Discovery controllers,
+those Discovery controllers shall have records
+in the Discovery Descriptor to facilitate multi-path
+rediscovery as required. If no Discovery controller
+was utilized to inform this namespace record,
+this field shall be cleared to 0h.
+.IP "reserved1" 12
+Reserved.
+.IP "subsys_traddr_obj" 12
+Subsystem Transport Address Heap Object Reference:
+This field indicates the location and size of a heap
+object containing the Subsystem Transport Address.
+For IP based transports types, shall be an IP Address.
+.IP "subsys_trsvcid_obj" 12
+Subsystem Transport Service Identifier Heap Object Reference:
+This field indicates the location and size of a heap
+object containing an array of bytes indicating
+the Subsystem Transport Service Identifier.
+See \fIenum nbft_trtype\fP.
+.IP "subsys_port_id" 12
+Subsystem Port ID: Port in the NVM subsystem
+associated with this transport address used by
+the pre-OS driver.
+.IP "nsid" 12
+Namespace ID: This field indicates the namespace
+identifier (NSID) of the namespace indicated by
+this descriptor. This field shall be cleared to 0h
+if not specified by the user. If this value is cleared
+to 0h, then consumers of the NBFT shall rely
+on the NID.
+.IP "nidt" 12
+Namespace Identifier Type (NIDT): This field
+contains the value of the Namespace Identifier Type (NIDT)
+field in the Namespace Identification Descriptor
+for the namespace indicated by this descriptor.
+If a namespace supports multiple NIDT entries
+for uniqueness, the order of preference is NIDT field
+value of 3h (i.e., UUID) before 2h (i.e., NSGUID),
+and 2h before 1h (i.e., EUI-64).
+.IP "nid" 12
+Namespace Identifier (NID): This field contains
+the value of the Namespace Identifier (NID) field
+in the Namespace Identification Descriptor for
+the namespace indicated by this descriptor.
+.IP "security_desc_index" 12
+Security Profile Descriptor Index: If the Use Security
+Flag bit in the SSNS Flags field is set to 1h, then
+this field indicates the value of the Security Profile
+Descriptor Index field of the Security Profile
+Descriptor (see \fIstruct nbft_security\fP) associated
+with this namespace. If the Use Security Flag bit
+is cleared to 0h, then no Security Profile Descriptor
+is associated with this namespace and this field
+is reserved.
+.IP "primary_hfi_desc_index" 12
+Primary HFI Descriptor Index: This field indicates
+the value of the HFI Descriptor Index field of the
+HFI Descriptor (see \fIstruct nbft_hfi\fP) for the
+interface associated with this namespace. If multiple
+HFIs are associated with this record, subsequent
+interfaces should be populated in the Secondary
+HFI Associations field.
+.IP "reserved2" 12
+Reserved.
+.IP "secondary_hfi_assoc_obj" 12
+Secondary HFI Associations Heap Object Reference:
+If this field is set to a non-zero value, then
+this field indicates an array of bytes, in which
+each byte contains the value of the HFI Descriptor
+Index field of an HFI Descriptor in the HFI Descriptor
+List. If this field is cleared to 0h, then no
+secondary HFI associations are specified.
+.IP "subsys_ns_nqn_obj" 12
+Subsystem and Namespace NQN Heap Object Reference:
+This field indicates the location and size of
+a heap object containing the Subsystem and Namespace NQN.
+.IP "ssns_extended_info_desc_obj" 12
+SSNS Extended Information Descriptor Heap Object
+Reference: If the SSNS Extended Info In-use Flag
+bit is set to 1h, then this field indicates the
+offset in bytes of a heap object containing an
+SSNS Extended Information Descriptor
+(see \fIstruct nbft_ssns_ext_info\fP) heap object
+from byte offset 0h of the NBFT Table Header.
+If the SSNS Extended Info In-use Flag bit is cleared
+to 0h, then this field is reserved.
+.IP "reserved3" 12
+Reserved.
--- /dev/null
+.TH "libnvme" 9 "struct nbft_ssns_ext_info" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nbft_ssns_ext_info \- Subsystem and Namespace Extended Information Descriptor (Figure 19)
+.SH SYNOPSIS
+struct nbft_ssns_ext_info {
+.br
+.BI " __u8 structure_id;"
+.br
+.BI " __u8 version;"
+.br
+.BI " __le16 ssns_index;"
+.br
+.BI " __le32 flags;"
+.br
+.BI " __le16 cntlid;"
+.br
+.BI " __le16 asqsz;"
+.br
+.BI " struct nbft_heap_obj dhcp_root_path_str_obj;"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "structure_id" 12
+Structure ID: This field shall be set to 9h
+(i.e., SSNS Extended Info; #NBFT_DESC_SSNS_EXT_INFO).
+.IP "version" 12
+Version: This field shall be set to 1h.
+.IP "ssns_index" 12
+SSNS Descriptor Index: This field indicates the value
+of the SSNS Descriptor Index field of the Subsystem
+and Namespace Descriptor (see \fIstruct nbft_ssns\fP) whose
+SSNS Extended Information Descriptor Heap Object
+Reference field indicates this descriptor.
+.IP "flags" 12
+Flags, see \fIenum nbft_ssns_ext_info_flags\fP.
+.IP "cntlid" 12
+Controller ID: The controller identifier of the first
+controller associated with the Admin Queue by the driver.
+If a controller identifier is not administratively
+specified or direct configuration is not supported
+by the driver, then this field shall be cleared to 0h.
+.IP "asqsz" 12
+Admin Submission Queue Size (ASQSZ): The Admin Submission
+Queue Size utilized for the respective SSNS by the driver.
+.IP "dhcp_root_path_str_obj" 12
+DHCP Root Path String Heap Object Reference: If the
+SSNS DHCP Root Path Override (#NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE)
+flag bit is set to 1h, then this field indicates
+the offset in bytes of a heap object containing
+an DHCP Root Path String used by the driver. If the
+SNSS DHCP Root Path Override flag bit is cleared to 0h,
+then this field is reserved.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_ssns_ext_info_flags \- Subsystem and Namespace Extended Information Descriptor Flags
+.SH SYNOPSIS
+enum nbft_ssns_ext_info_flags {
+.br
+.BI " NBFT_SSNS_EXT_INFO_VALID"
+,
+.br
+.br
+.BI " NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ"
+
+};
+.SH Constants
+.IP "NBFT_SSNS_EXT_INFO_VALID" 12
+Descriptor Valid: If set to 1h, then this descriptor
+is valid. If cleared to 0h, then this descriptor
+is reserved.
+.IP "NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ" 12
+Administrative ASQSZ: If set to 1h, then the value
+of the ASQSZ field was provided by administrative
+configuration for this SSNS record. If cleared
+to 0h, then the value of the ASQSZ field was
+either obtained by discovery or assumed
+by the driver.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_ssns_flags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_ssns_flags \- Subsystem and Namespace Specific Flags Field (Figure 16)
+.SH SYNOPSIS
+enum nbft_ssns_flags {
+.br
+.BI " NBFT_SSNS_VALID"
+,
+.br
+.br
+.BI " NBFT_SSNS_NON_BOOTABLE_ENTRY"
+,
+.br
+.br
+.BI " NBFT_SSNS_USE_SECURITY_FIELD"
+,
+.br
+.br
+.BI " NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE"
+,
+.br
+.br
+.BI " NBFT_SSNS_EXTENDED_INFO_IN_USE"
+,
+.br
+.br
+.BI " NBFT_SSNS_SEPARATE_DISCOVERY_CTRL"
+,
+.br
+.br
+.BI " NBFT_SSNS_DISCOVERED_NAMESPACE"
+,
+.br
+.br
+.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_MASK"
+,
+.br
+.br
+.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND"
+,
+.br
+.br
+.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL"
+,
+.br
+.br
+.BI " NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL"
+
+};
+.SH Constants
+.IP "NBFT_SSNS_VALID" 12
+Descriptor Valid: If set to 1h, then this descriptor
+is valid. If cleared to 0h, then this descriptor
+is not valid. A host that supports NVMe-oF Boot,
+but does not currently have a remote Subsystem
+and Namespace assigned may clear this bit to 0h.
+.IP "NBFT_SSNS_NON_BOOTABLE_ENTRY" 12
+Non-bootable Entry Flag: If set to 1h, this flag
+indicates that this SSNS Descriptor contains
+a namespace of administrative purpose to the boot
+process, but the pre-OS may not have established
+connectivity to or evaluated the contents of this
+Descriptor. Such namespaces may contain supplemental
+data deemed relevant by the Administrator as part
+of the pre-OS to OS hand off. This may include
+properties such as a UEFI device path that may
+not have been created for this namespace. This means
+an OS runtime may still require the contents
+of such a namespace to complete later stages
+of boot. If cleared to 0h, then this namespace did
+not have any special administrative intent.
+.IP "NBFT_SSNS_USE_SECURITY_FIELD" 12
+Use Security Flag: If set to 1h, then there is
+a Security Profile Descriptor associated with this
+SSNS record and the Security Profile Descriptor Index
+field is valid. If cleared to 0h, then there is
+no Security Profile Descriptor associated with this
+SSNS record and the Security Profile Descriptor Index
+field is not valid.
+.IP "NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE" 12
+DHCP Root-Path Override Flag: If set to 1h, then
+this SSNS descriptor was populated by consuming
+the DHCP Root-Path on this interface. If cleared
+to 0h, then the DHCP Root-Path was not used
+in populating the SSNS descriptor.
+.IP "NBFT_SSNS_EXTENDED_INFO_IN_USE" 12
+SSNS Extended Info In-use Flag: If set to 1h,
+then the SSNS Extended Information Offset field
+and the SSNS Extended Information Length field
+are valid. This flag, if set to 1h, indicates
+that a Subsystem and Namespace Extended Information
+Descriptor corresponding to this descriptor is present.
+.IP "NBFT_SSNS_SEPARATE_DISCOVERY_CTRL" 12
+Separate Discovery Controller Flag: If set to 1h,
+then the Discovery controller associated with
+this volume is on a different transport address
+than the specified in the Subsystem Transport
+Address Heap Object Reference. If cleared to 0h,
+then the Discovery controller is the same as the
+Subsystem Transport Address Heap Object Reference.
+.IP "NBFT_SSNS_DISCOVERED_NAMESPACE" 12
+Discovered Namespace Flag: If set to 1h, then
+this namespace was acquired through discovery.
+If cleared to 0h, then this namespace was
+explicitly configured in the system.
+.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_MASK" 12
+Mask to get Unavailable Namespace Flag: This
+field indicates the availability of the namespace
+at a specific point in time. Such use is only
+a hint and its use does not guarantee the availability
+of that referenced namespace at any future point in time.
+.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND" 12
+Not Indicated by Driver: No information is provided.
+.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL" 12
+Available: A referenced namespace described by this
+flag was previously accessible by the pre-OS driver.
+.IP "NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL" 12
+Unavailable: This namespace was administratively
+configured but unattempted, unavailable or
+inaccessible when establishing connectivity
+by the pre-OS driver.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_ssns_trflags" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_ssns_trflags \- SSNS Transport Specific Flags Field (Figure 17)
+.SH SYNOPSIS
+enum nbft_ssns_trflags {
+.br
+.BI " NBFT_SSNS_TRFLAG_VALID"
+,
+.br
+.br
+.BI " NBFT_SSNS_PDU_HEADER_DIGEST"
+,
+.br
+.br
+.BI " NBFT_SSNS_DATA_DIGEST"
+
+};
+.SH Constants
+.IP "NBFT_SSNS_TRFLAG_VALID" 12
+Transport Specific Flags in Use: If set to 1h, then
+this descriptor is valid. If cleared to 0h, then
+this descriptor is not valid.
+.IP "NBFT_SSNS_PDU_HEADER_DIGEST" 12
+PDU Header Digest (HDGST) Flag: If set to 1h, then
+the host or administrator required the connection
+described by this Subsystem and Namespace Descriptor
+to use the NVM Header Digest Enabled. A consumer
+of this information should attempt to use NVM Header
+Digest when recreating this connection if enabled.
+If cleared to 0h, then the host or administrator
+did not require the connection described by this
+Subsystem and Namespace Descriptor to use the
+NVM Header Digest Enabled.
+.IP "NBFT_SSNS_DATA_DIGEST" 12
+Data Digest (DDGST) Flag: If set to 1h, then
+the host or administrator required the connection
+described by this Subsystem and Namespace Descriptor
+to use the NVM Data Digest Enabled. If cleared
+to 0h, then the host or administrator did not
+require the connection described by this Subsystem
+and Namespace Descriptor to use the NVM Data Digest
+Enabled. A consumer of this field should attempt
+to use NVM Data Digest when recreating this
+connection if enabled.
--- /dev/null
+.TH "libnvme" 9 "enum nbft_trtype" "June 2023" "API Manual" LINUX
+.SH NAME
+enum nbft_trtype \- NBFT Interface Transport Types (Figure 7)
+.SH SYNOPSIS
+enum nbft_trtype {
+.br
+.BI " NBFT_TRTYPE_TCP"
+
+};
+.SH Constants
+.IP "NBFT_TRTYPE_TCP" 12
+NVMe/TCP (802.3 + TCP/IP). String Designator "tcp".
-.TH "libnvme" 9 "enum nvme_admin_opcode" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_admin_opcode" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_admin_opcode \- Known NVMe admin opcodes
.SH SYNOPSIS
-.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_admin_passthru \- Submit an nvme passthrough command
.SH SYNOPSIS
-.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_css_nvm \- Asynchronous Event Information - I/O Command Specific Status
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ae_info_error" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_error" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_error \- Asynchronous Event Information - Error Status
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ae_info_notice" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_notice" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_notice \- Asynchronous Event Information - Notice
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ae_info_smart" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_info_smart" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ae_info_smart \- Asynchronous Event Information - SMART / Health Status
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ae_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ae_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ae_type \- Asynchronous Event Type
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_endurance_group_event \- Endurance Group Event Aggregate
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_aggregate_predictable_lat_event \- Predictable Latency Event Aggregate Log Page
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_ana_group_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ana_group_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_ana_group_desc \- ANA Group Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_ana_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ana_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_ana_log \- Asymmetric Namespace Access Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ana_state" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ana_state" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ana_state \- ANA Group Descriptor - Asymmetric Namespace Access State
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_apst_entry" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_apst_entry" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_apst_entry \- Autonomous Power State Transition
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_boot_partition" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_boot_partition" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_boot_partition \- Boot Partition Log
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_capacity_config_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_capacity_config_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_capacity_config_desc \- Capacity Configuration structure definitions
.SH SYNOPSIS
-.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_capacity_mgmt \- Capacity management command
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_change_ns_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_change_ns_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_change_ns_event \- Change Namespace Event Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_channel_config_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_channel_config_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_channel_config_desc \- Channel Configuration Descriptor
.SH SYNOPSIS
-.TH "nvme_cmb_size" 9 "nvme_cmb_size" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_cmb_size" 9 "nvme_cmb_size" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_cmb_size \- Calculate size of the controller memory buffer
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_effects" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_effects" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_effects \- Commands Supported and Effects
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_cmd_effects_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_cmd_effects_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_cmd_effects_log \- Commands Supported and Effects Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_format_mset" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_mset" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_mset \- Format NVM - Metadata Settings
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_format_pi" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_pi" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pi \- Format NVM - Protection Information
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_format_pil" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_pil" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_pil \- Format NVM - Protection Information Location
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_format_ses" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_format_ses" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_cmd_get_log_telemetry_host_lsp \- Telemetry Host-Initiated log specific field
.SH SYNOPSIS
-.TH "nvme_compare" 9 "nvme_compare" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_compare" 9 "nvme_compare" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_compare \- Submit an nvme user compare command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_connect_err" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_connect_err" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_connect_err \- nvme connect error codes
.SH SYNOPSIS
.br
.br
.BI " ENVME_CONNECT_CONNREFUSED"
+,
+.br
+.br
+.BI " ENVME_CONNECT_ADDRNOTAVAIL"
+,
+.br
+.br
+.BI " ENVME_CONNECT_IGNORED"
};
.SH Constants
not supported
.IP "ENVME_CONNECT_CONNREFUSED" 12
connection refused
+.IP "ENVME_CONNECT_ADDRNOTAVAIL" 12
+cannot assign requested address
+.IP "ENVME_CONNECT_IGNORED" 12
+connect attempt is ignored due to configuration
-.TH "libnvme" 9 "enum nvme_constants" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_constants" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_constants \- A place to stash various constant nvme values
.SH SYNOPSIS
-.TH "nvme_copy" 9 "nvme_copy" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_copy" 9 "nvme_copy" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_copy \- Copy command
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_copy_range" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_copy_range" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_copy_range \- Copy - Source Range Entries Descriptor Format
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_copy_range_f1" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_copy_range_f1" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h
.SH SYNOPSIS
-.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_create_ctrl \- Allocate an unconnected NVMe controller
.SH SYNOPSIS
-.TH "nvme_create_root" 9 "nvme_create_root" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_create_root" 9 "nvme_create_root" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_create_root \- Initialize root object
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_csi" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_csi" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_csi \- Defined command set indicators
.SH SYNOPSIS
-.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_ns \- Start namespace iterator
.SH SYNOPSIS
-.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_first_path \- Start path iterator
.SH SYNOPSIS
-.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns \- Traverse namespaces
.SH SYNOPSIS
-.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_ns_safe \- Traverse namespaces
.SH SYNOPSIS
-.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path \- Traverse paths
.SH SYNOPSIS
-.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_for_each_path_safe \- Traverse paths
.SH SYNOPSIS
-.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_address \- Address string of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_config \- Fabrics configuration of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_dhchap_host_key \- Return host key
.SH SYNOPSIS
-.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_dhchap_key \- Return controller key
.SH SYNOPSIS
-.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_fd \- Get associated file descriptor
.SH SYNOPSIS
-.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_firmware \- Firmware string of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_iface \- Host interface name of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_host_traddr \- Host transport address of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_model \- Model of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_name \- sysfs name of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_numa_node \- NUMA node of a controller
.SH SYNOPSIS
--- /dev/null
+.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_ctrl_get_phy_slot \- PCI physical slot number of a controller
+.SH SYNOPSIS
+.B "const char *" nvme_ctrl_get_phy_slot
+.BI "(nvme_ctrl_t c " ");"
+.SH ARGUMENTS
+.IP "c" 12
+Controller instance
+.SH "RETURN"
+PCI physical slot number of \fIc\fP or empty string if slot
+number is not present.
-.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_queue_count \- Queue count of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_serial \- Serial number of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sqsize \- SQ size of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_state \- Running state of an controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsysnqn \- Subsystem NQN of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_subsystem \- Parent subsystem of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_sysfs_dir \- sysfs directory of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_traddr \- Transport address of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_transport \- Transport type of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_get_trsvcid \- Transport service identifier of a controller
.SH SYNOPSIS
-.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_identify \- Issues an 'identify controller' command
.SH SYNOPSIS
-.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovered \- Returns the value of the 'discovered' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_discovery_ctrl \- Check the 'discovery_ctrl' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_persistent \- Returns the value of the 'persistent' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_is_unique_discovery_ctrl \- Check the 'unique_discovery_ctrl' flag
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_ctrl_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ctrl_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_ctrl_list \- Controller List
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ctrl_metadata_type \- Controller Metadata Element Types
.SH SYNOPSIS
-.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_ns \- Next namespace iterator
.SH SYNOPSIS
-.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_next_path \- Next path iterator
.SH SYNOPSIS
-.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_reset \- Initiate a controller reset
.SH SYNOPSIS
-.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_dhchap_host_key \- Set host key
.SH SYNOPSIS
-.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_dhchap_key \- Set controller key
.SH SYNOPSIS
-.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovered \- Set the 'discovered' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_discovery_ctrl \- Set the 'discovery_ctrl' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_persistent \- Set the 'persistent' flag
.SH SYNOPSIS
-.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrl_set_unique_discovery_ctrl \- Set the 'unique_discovery_ctrl' flag
.SH SYNOPSIS
-.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ctrls_filter \- Filter for controllers
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_data_tfr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_data_tfr" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_data_tfr \- Data transfer direction of the command
.SH SYNOPSIS
-.TH "nvme_default_host" 9 "nvme_default_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_default_host" 9 "nvme_default_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_default_host \- Initializes the default host
.SH SYNOPSIS
-.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_describe_key_serial \- Return key description
.SH SYNOPSIS
-.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_dev_self_test \- Start or abort a self test
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_directive_dtype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_dtype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_directive_dtype \- Directive Types
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_directive_receive_doper" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_receive_doper" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_directive_receive_doper \- Directive Receive Directive Operation
.SH SYNOPSIS
-.TH "nvme_directive_recv" 9 "nvme_directive_recv" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_recv" 9 "nvme_directive_recv" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv \- Receive directive specific data
.SH SYNOPSIS
-.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_identify_parameters \- Directive receive identifier parameters
.SH SYNOPSIS
-.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_allocate \- Directive receive stream allocate
.SH SYNOPSIS
-.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_parameters \- Directive receive stream parameters
.SH SYNOPSIS
-.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_recv_stream_status \- Directive receive stream status
.SH SYNOPSIS
-.TH "nvme_directive_send" 9 "nvme_directive_send" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_send" 9 "nvme_directive_send" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send \- Send directive command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_directive_send_doper" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_send_doper" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_doper \- Directive Send Directive Operation
.SH SYNOPSIS
-.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_id_endir \- Directive Send Enable Directive
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_directive_send_identify_endir \- Enable Directive
.SH SYNOPSIS
-.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_stream_release_identifier \- Directive Send Stream release
.SH SYNOPSIS
-.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_directive_send_stream_release_resource \- Directive Send Stream release resources
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_directive_types" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_directive_types" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_directive_types \- Directives Supported or Enabled
.SH SYNOPSIS
-.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_disconnect_ctrl \- Disconnect a controller
.SH SYNOPSIS
-.TH "nvme_dsm" 9 "nvme_dsm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_dsm" 9 "nvme_dsm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_dsm \- Send an nvme data set management command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_dsm_attributes" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_dsm_attributes" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_dsm_attributes \- Dataset Management attributes
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_dsm_range" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_dsm_range" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_dsm_range \- Dataset Management - Range Definition
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_dst_stc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_dst_stc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_dst_stc \- Action taken by the Device Self-test command
.SH SYNOPSIS
-.TH "nvme_dump_config" 9 "nvme_dump_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_dump_config" 9 "nvme_dump_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_dump_config \- Print the JSON configuration
.SH SYNOPSIS
-.TH "nvme_dump_tree" 9 "nvme_dump_tree" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_dump_tree" 9 "nvme_dump_tree" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_dump_tree \- Dump internal object tree
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_eg_critical_warning_flags \- Endurance Group Information Log - Critical Warning
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_eg_event_aggregate_log \- Endurance Group Event Aggregate
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_end_grp_chan_desc \- Endurance Group Channel Configuration Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_end_grp_config_desc \- Endurance Group Configuration Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_endurance_group_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_endurance_group_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_endurance_group_log \- Endurance Group Information Log
.SH SYNOPSIS
-.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_errno_to_string \- Returns string describing nvme connect failures
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_error_log_page" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_error_log_page" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_error_log_page \- Error Information Log Entry (Log Identifier 01h)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fabrics_config" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fabrics_config" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fctype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fctype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fctype \- Fabrics Command Types
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_config_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_config_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_config_desc \- FDP Configuration Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_config_fdpa \- FDP Attributes
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_config_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_config_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_config_log \- FDP Configurations Log Page
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_event \- FDP Event
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_event_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_event_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_event_flags \- FDP Event Flags
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_event_realloc \- Media Reallocated Event Type Specific Information
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_event_realloc_flags \- Media Reallocated Event Type Specific Flags
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_event_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_event_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_event_type \- FDP Event Types
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_events_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_events_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_events_log \- FDP Events Log Page
.SH SYNOPSIS
-.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_fdp_reclaim_unit_handle_status \- Get reclaim unit handle status
.SH SYNOPSIS
-.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_fdp_reclaim_unit_handle_update \- Update a list of reclaim unit handles
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_ruh_desc \- Reclaim Unit Handle Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_ruh_status \- Reclaim Unit Handle Status
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_ruh_status_desc \- Reclaim Unit Handle Status Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_ruh_type \- Reclaim Unit Handle Type
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_ruha" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_ruha" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_ruha \- Reclaim Unit Handle Attributes
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_ruhu_desc \- Reclaim Unit Handle Usage Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_ruhu_log \- Reclaim Unit Handle Usage Log Page
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_stats_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_stats_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_stats_log \- FDP Statistics Log Page
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fdp_supported_event_attributes \- Supported FDP Event Attributes
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fdp_supported_event_desc \- Supported FDP Event Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_feat" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_feat \- Features Access Shifts/Masks values
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_feat_auto_pst" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_feat_auto_pst" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_feat_auto_pst \- Autonomous Power State Transition
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_feat_fdp_events_cdw11 \- FDP Events Feature Command Dword 11
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_feat_host_behavior" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_feat_host_behavior" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_feat_host_behavior \- Host Behavior Support - Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_feat_nswpcfg_state \- Write Protection - Write Protection State
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_feat_plm_window_select \- Predictable Latency Per NVM Set Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_feat_resv_notify_flags \- Reservation Notification Configuration
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_feat_tmpthresh_thsel \- Temperature Threshold - Threshold Type Select
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_features_async_event_config_flags \- Asynchronous Event Configuration configuration flags
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_features_id" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_features_id" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_features_id \- Features - Feature Identifiers
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fid_supported_effects" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fid_supported_effects" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fid_supported_effects \- FID Supported and Effects Data Structure definitions
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fid_supported_effects_log \- Feature Identifiers Supported and Effects
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_firmware_slot" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_firmware_slot" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_firmware_slot \- Firmware Slot Information Log
.SH SYNOPSIS
-.TH "nvme_first_host" 9 "nvme_first_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_first_host" 9 "nvme_first_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_first_host \- Start host iterator
.SH SYNOPSIS
-.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_first_subsystem \- Start subsystem iterator
.SH SYNOPSIS
-.TH "nvme_flush" 9 "nvme_flush" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_flush" 9 "nvme_flush" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_flush \- Send an nvme flush command
.SH SYNOPSIS
-.TH "nvme_for_each_host" 9 "nvme_for_each_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_for_each_host" 9 "nvme_for_each_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_host \- Traverse host list
.SH SYNOPSIS
-.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_host_safe \- Traverse host list
.SH SYNOPSIS
-.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_subsystem \- Traverse subsystems
.SH SYNOPSIS
-.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_for_each_subsystem_safe \- Traverse subsystems
.SH SYNOPSIS
-.TH "nvme_format_nvm" 9 "nvme_format_nvm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_format_nvm" 9 "nvme_format_nvm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_format_nvm \- Format nvme namespace(s)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_format_nvm_compln_event \- Format NVM Completion Event Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_format_nvm_start_event \- Format NVM Start Event Data
.SH SYNOPSIS
-.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_free_ctrl \- Free controller
.SH SYNOPSIS
-.TH "nvme_free_host" 9 "nvme_free_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_free_host" 9 "nvme_free_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_free_host \- Free nvme_host_t object
.SH SYNOPSIS
-.TH "nvme_free_ns" 9 "nvme_free_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_free_ns" 9 "nvme_free_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_free_ns \- Free a namespace object
.SH SYNOPSIS
-.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_free_subsystem \- Free a subsystem
.SH SYNOPSIS
-.TH "nvme_free_tree" 9 "nvme_free_tree" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_free_tree" 9 "nvme_free_tree" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_free_tree \- Free root object
.SH SYNOPSIS
-.TH "nvme_fw_commit" 9 "nvme_fw_commit" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_fw_commit" 9 "nvme_fw_commit" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_fw_commit \- Commit firmware using the specified action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_fw_commit_ca" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_fw_commit_ca" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_fw_commit_ca \- Firmware Commit - Commit Action
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_fw_commit_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_fw_commit_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_fw_commit_event \- Firmware Commit Event Data
.SH SYNOPSIS
-.TH "nvme_fw_download" 9 "nvme_fw_download" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_fw_download" 9 "nvme_fw_download" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_fw_download \- Download part or all of a firmware image to the controller
.SH SYNOPSIS
-.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_fw_download_seq \- Firmware download sequence
.SH SYNOPSIS
-.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_gen_dhchap_key \- DH-HMAC-CHAP key generation
.SH SYNOPSIS
-.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_ana_log_len \- Retrieve size of the current ANA log
.SH SYNOPSIS
-.TH "nvme_get_attr" 9 "nvme_get_attr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_attr" 9 "nvme_get_attr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_attr \- Read sysfs attribute
.SH SYNOPSIS
-.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_ctrl_attr \- Read controller sysfs attribute
.SH SYNOPSIS
-.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_ctrl_telemetry \- Get controller telemetry log
.SH SYNOPSIS
-.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_directive_receive_length \- Get directive receive length
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_get_discovery_args" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_get_discovery_args" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_get_discovery_args \- Arguments for nvmf_get_discovery_wargs()
.SH SYNOPSIS
-.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_feature_length \- Retreive the command payload length for a specific feature identifier
.SH SYNOPSIS
-.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_feature_length2 \- Retreive the command payload length for a specific feature identifier
.SH SYNOPSIS
-.TH "nvme_get_features" 9 "nvme_get_features" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features" 9 "nvme_get_features" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features \- Retrieve a feature attribute
.SH SYNOPSIS
-.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_arbitration \- Get arbitration feature
.SH SYNOPSIS
-.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_async_event \- Get asynchronous event feature
.SH SYNOPSIS
-.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_auto_pst \- Get autonomous power state feature
.SH SYNOPSIS
-.TH "nvme_get_features_data" 9 "nvme_get_features_data" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_data" 9 "nvme_get_features_data" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_data \- Helper function for @nvme_get_features()
.SH SYNOPSIS
-.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_endurance_event_cfg \- Get endurance event config feature
.SH SYNOPSIS
-.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_err_recovery \- Get error recovery feature
.SH SYNOPSIS
-.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_hctm \- Get thermal management feature
.SH SYNOPSIS
-.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_behavior \- Get host behavior feature
.SH SYNOPSIS
-.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_id \- Get host id feature
.SH SYNOPSIS
-.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_host_mem_buf \- Get host memory buffer feature
.SH SYNOPSIS
-.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_iocs_profile \- Get IOCS profile feature
.SH SYNOPSIS
-.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_irq_coalesce \- Get IRQ coalesce feature
.SH SYNOPSIS
-.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_irq_config \- Get IRQ config feature
.SH SYNOPSIS
-.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_kato \- Get keep alive timeout feature
.SH SYNOPSIS
-.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_lba_range \- Get LBA range feature
.SH SYNOPSIS
-.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_lba_sts_interval \- Get LBA status information feature
.SH SYNOPSIS
-.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_nopsc \- Get non-operational power state feature
.SH SYNOPSIS
-.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_num_queues \- Get number of queues feature
.SH SYNOPSIS
-.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_plm_config \- Get predictable latency feature
.SH SYNOPSIS
-.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_plm_window \- Get window select feature
.SH SYNOPSIS
-.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_power_mgmt \- Get power management feature
.SH SYNOPSIS
-.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_resv_mask \- Get reservation mask feature
.SH SYNOPSIS
-.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_resv_persist \- Get reservation persist feature
.SH SYNOPSIS
-.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_rrl \- Get read recovery level feature
.SH SYNOPSIS
-.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_sanitize \- Get sanitize feature
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_get_features_sel" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_get_features_sel" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_get_features_sel \- Get Features - Select
.SH SYNOPSIS
-.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_simple \- Helper function for @nvme_get_features()
.SH SYNOPSIS
-.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_sw_progress \- Get software progress feature
.SH SYNOPSIS
-.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_temp_thresh \- Get temperature threshold feature
.SH SYNOPSIS
-.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_timestamp \- Get timestamp feature
.SH SYNOPSIS
-.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_volatile_wc \- Get volatile write cache feature
.SH SYNOPSIS
-.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_write_atomic \- Get write atomic feature
.SH SYNOPSIS
-.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_features_write_protect \- Get write protect feature
.SH SYNOPSIS
-.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_host_telemetry \- Get host telemetry log
.SH SYNOPSIS
-.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_lba_status \- Retrieve information on possibly unrecoverable LBAs
.SH SYNOPSIS
-.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_lba_status_log \- Retrieve the LBA Status log page
.SH SYNOPSIS
-.TH "nvme_get_log" 9 "nvme_get_log" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log" 9 "nvme_get_log" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log \- NVMe Admin Get Log command
.SH SYNOPSIS
-.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_ana \- Retrieve Asymmetric Namespace Access log page
.SH SYNOPSIS
-.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page
.SH SYNOPSIS
-.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_boot_partition \- Retrieve Boot Partition
.SH SYNOPSIS
-.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_changed_ns_list \- Retrieve namespace changed list
.SH SYNOPSIS
-.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_cmd_effects \- Retrieve nvme command effects log
.SH SYNOPSIS
-.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_create_telemetry_host \- Create host telemetry log
.SH SYNOPSIS
-.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_device_self_test \- Retrieve the device self test log
.SH SYNOPSIS
-.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_discovery \- Retrieve Discovery log page
.SH SYNOPSIS
-.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_endurance_group \- Get Endurance Group log
.SH SYNOPSIS
-.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_endurance_grp_evt \- Retrieve Rotational Media Information
.SH SYNOPSIS
-.TH "nvme_get_log_error" 9 "nvme_get_log_error" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_error" 9 "nvme_get_log_error" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_error \- Retrieve nvme error log
.SH SYNOPSIS
-.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fdp_configurations \- Get list of Flexible Data Placement configurations
.SH SYNOPSIS
-.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fdp_events \- Get Flexible Data Placement events
.SH SYNOPSIS
-.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fdp_stats \- Get Flexible Data Placement statistics
.SH SYNOPSIS
-.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects
.SH SYNOPSIS
-.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_fw_slot \- Retrieves the controller firmware log
.SH SYNOPSIS
-.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_lba_status \- Retrieve LBA Status
.SH SYNOPSIS
-.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_media_unit_stat \- Retrieve Media Unit Status
.SH SYNOPSIS
-.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller
.SH SYNOPSIS
-.TH "nvme_get_log_page" 9 "nvme_get_log_page" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_page" 9 "nvme_get_log_page" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_page \- Get log page data
.SH SYNOPSIS
-.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_persistent_event \- Retrieve Persistent Event Log
.SH SYNOPSIS
-.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page
.SH SYNOPSIS
-.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set
.SH SYNOPSIS
-.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_reclaim_unit_handle_usage \- Get reclaim unit handle usage
.SH SYNOPSIS
-.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_reservation \- Retrieve Reservation Notification
.SH SYNOPSIS
-.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_sanitize \- Retrieve Sanitize Status
.SH SYNOPSIS
-.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_smart \- Retrieve nvme smart log
.SH SYNOPSIS
-.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List
.SH SYNOPSIS
-.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_supported_log_pages \- Retrieve nmve supported log pages
.SH SYNOPSIS
-.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page
.SH SYNOPSIS
-.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_telemetry_host \- Get Telemetry Host-Initiated log page
.SH SYNOPSIS
-.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_log_zns_changed_zones \- Retrieve list of zones that have changed
.SH SYNOPSIS
-.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_logical_block_size \- Retrieve block size
.SH SYNOPSIS
-.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_new_host_telemetry \- Get new host telemetry log
.SH SYNOPSIS
-.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_ns_attr \- Read namespace sysfs attribute
.SH SYNOPSIS
-.TH "nvme_get_nsid" 9 "nvme_get_nsid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_nsid" 9 "nvme_get_nsid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_nsid \- Retrieve the NSID from a namespace file descriptor
.SH SYNOPSIS
-.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_path_attr \- Read path sysfs attribute
.SH SYNOPSIS
-.TH "nvme_get_property" 9 "nvme_get_property" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_property" 9 "nvme_get_property" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_property \- Get a controller property
.SH SYNOPSIS
-.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_get_subsys_attr \- Read subsystem sysfs attribute
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_hmac_alg" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_hmac_alg" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_hmac_alg \- HMAC algorithm
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_host_behavior_support" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_host_behavior_support" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_host_behavior_support \- Enable Advanced Command
.SH SYNOPSIS
-.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_dhchap_key \- Return host key
.SH SYNOPSIS
-.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostid \- Host ID of an nvme_host_t object
.SH SYNOPSIS
-.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostnqn \- Host NQN of an nvme_host_t object
.SH SYNOPSIS
-.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_hostsymname \- Get the host's symbolic name
.SH SYNOPSIS
-.TH "nvme_host_get_root" 9 "nvme_host_get_root" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_get_root" 9 "nvme_host_get_root" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_get_root \- Returns nvme_root_t object
.SH SYNOPSIS
-.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_is_pdc_enabled \- Is Persistenct Discovery Controller enabled
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_host_mem_buf_attrs \- Host Memory Buffer - Attributes Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_host_metadata" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_host_metadata" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_host_metadata \- Host Metadata Data Structure
.SH SYNOPSIS
-.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_set_dhchap_key \- set host key
.SH SYNOPSIS
-.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_set_hostsymname \- Set the host's symbolic name
.SH SYNOPSIS
-.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_host_set_pdc_enabled \- Set Persistent Discovery Controller flag
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_ctrl" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ctrl" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ctrl \- Identify Controller data structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_anacap \- This field indicates the capabilities associated with Asymmetric Namespace Access Reporting.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_apsta \- Flags indicating the attributes of the autonomous power state transition feature.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_avscc \- Flags indicating the configuration settings for Admin Vendor Specific command handling.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cmic \- Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cntrltype \- Controller types
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_cqes \- Defines the required and maximum Completion Queue entry size when using the NVM Command Set.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_ctratt \- Controller attributes
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_dctype \- Discovery Controller types
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_dsto \- Flags indicating the optional Device Self-test command or operation behaviors supported by the controller or NVM subsystem.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fcatt \- This field indicates attributes of the controller that are specific to NVMe over Fabrics.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fna \- This field indicates attributes for the Format NVM command.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_frmw \- Flags and values indicates capabilities regarding firmware updates from &struct nvme_id_ctrl.frmw.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_fuses \- This field indicates the fused operations that the controller supports.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_hctm \- Flags indicate the attributes of the host controlled thermal management feature
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_lpa \- Flags indicating optional attributes for log pages that are accessed via the Get Log Page command.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_mec \- Flags indicating the capabilities of the Management Endpoint in the Controller, &struct nvme_id_ctrl.mec.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ctrl_nvm \- I/O Command Set Specific Identify Controller data structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nvmsr \- This field reports information associated with the NVM Subsystem, see &struct nvme_id_ctrl.nvmsr.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nvscc \- This field indicates the configuration settings for NVM Vendor Specific command handling.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_nwpc \- This field indicates the optional namespace write protection capabilities supported by the controller.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oacs \- Flags indicating the optional Admin commands and features supported by the controller, see &struct nvme_id_ctrl.oacs.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oaes \- Optional Asynchronous Events Supported
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_ofcs \- Indicate whether the controller supports optional fabric commands.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_oncs \- This field indicates the optional NVM commands and features supported by the controller.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_rpmbs \- This field indicates if the controller supports one or more Replay Protected Memory Blocks, from &struct nvme_id_ctrl.rpmbs.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sanicap \- Indicates attributes for sanitize operations.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sgls \- This field indicates if SGLs are supported for the NVM Command Set and the particular SGL types supported.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_sqes \- Defines the required and maximum Submission Queue entry size when using the NVM Command Set.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_vwc \- Volatile write cache
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ctrl_vwci \- This field indicates information about remaining number of times that VPD contents are able to be updated using the VPD Write command, see &struct nvme_id_ctrl.vwci.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_directives" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_directives" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_directives \- Identify Directive - Return Parameters Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_domain_attr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_domain_attr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_domain_attr \- Domain Attributes Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_domain_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_domain_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_domain_list \- Domain List
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_endurance_group_list \- Endurance Group List
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_independent_id_ns \- Identify - I/O Command Set Independent Identify Namespace Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_iocs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_iocs" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_iocs \- NVMe Identify IO Command Set data structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_ns" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ns \- Identify Namespace data structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_attr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_attr" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_attr \- Specifies attributes of the namespace.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dlfeat \- This field indicates information about features that affect deallocating logical blocks for this namespace.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_dpc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dpc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dpc \- This field indicates the capabilities for the end-to-end data protection feature.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_dps" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_dps" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_dps \- This field indicates the Type settings for the end-to-end data protection feature.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_flbas" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_flbas" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_flbas \- This field indicates the LBA data size & metadata size combination that the namespace has been formatted with
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ns_granularity_desc \- Namespace Granularity Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ns_granularity_list \- Namespace Granularity List
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_mc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_mc" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_mc \- This field indicates the capabilities for metadata.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_nmic" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_nmic" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_nmic \- This field specifies multi-path I/O and namespace sharing capabilities of the namespace.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_ns_rescap" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_ns_rescap" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_ns_rescap \- This field indicates the reservation capabilities of the namespace.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_nsfeat" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_nsfeat" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_nsfeat \- This field defines features of the namespace.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_nvmset_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_nvmset_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_nvmset_list \- NVM set list
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_psd" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_psd" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_psd \- Power Management data structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_id_uuid" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_id_uuid" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_id_uuid \- Identifier Association
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_uuid_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_uuid_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_uuid_list \- UUID list
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_uuid_list_entry \- UUID List Entry
.SH SYNOPSIS
-.TH "nvme_identify" 9 "nvme_identify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify" 9 "nvme_identify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify \- Send the NVMe Identify command
.SH SYNOPSIS
-.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_active_ns_list \- Retrieves active namespaces id list
.SH SYNOPSIS
-.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_active_ns_list_csi \- Active namespace ID list associated with a specified I/O command set
.SH SYNOPSIS
-.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns \- Same as nvme_identify_ns, but only for allocated namespaces
.SH SYNOPSIS
-.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns_list \- Retrieves allocated namespace id list
.SH SYNOPSIS
-.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_allocated_ns_list_csi \- Allocated namespace ID list associated with a specified I/O command set
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_identify_cns" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_identify_cns" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_identify_cns \- Identify - CNS Values
.SH SYNOPSIS
-.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl \- Retrieves nvme identify controller
.SH SYNOPSIS
-.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl_csi \- I/O command set specific Identify Controller data
.SH SYNOPSIS
-.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ctrl_list \- Retrieves identify controller list
.SH SYNOPSIS
-.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_domain_list \- Domain list data
.SH SYNOPSIS
-.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_endurance_group_list \- Endurance group list data
.SH SYNOPSIS
-.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_independent_identify_ns \- I/O command set independent Identify namespace data
.SH SYNOPSIS
-.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_iocs \- I/O command set data structure
.SH SYNOPSIS
-.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_iocs_ns_csi_user_data_format \- Identify I/O command set namespace data structure
.SH SYNOPSIS
-.TH "nvme_identify_ns" 9 "nvme_identify_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ns" 9 "nvme_identify_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns \- Retrieves nvme identify namespace
.SH SYNOPSIS
-.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_csi \- I/O command set specific identify namespace data
.SH SYNOPSIS
-.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_csi_user_data_format \- Identify namespace user data format
.SH SYNOPSIS
-.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_descs \- Retrieves namespace descriptor list
.SH SYNOPSIS
-.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_ns_granularity \- Retrieves namespace granularity identification
.SH SYNOPSIS
-.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_nsid_ctrl_list \- Retrieves controller list attached to an nsid
.SH SYNOPSIS
-.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_nvmset_list \- Retrieves NVM Set List
.SH SYNOPSIS
-.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_primary_ctrl \- Retrieve NVMe Primary Controller identification
.SH SYNOPSIS
-.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_secondary_ctrl_list \- Retrieves secondary controller list
.SH SYNOPSIS
-.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_identify_uuid \- Retrieves device's UUIDs
.SH SYNOPSIS
-.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_copy_range \- Constructs a copy range structure
.SH SYNOPSIS
-.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_copy_range_f1 \- Constructs a copy range f1 structure
.SH SYNOPSIS
-.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_ctrl \- Initialize nvme_ctrl_t object for an existing controller.
.SH SYNOPSIS
-.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_ctrl_list \- Initialize an nvme_ctrl_list structure from an array.
.SH SYNOPSIS
-.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_dsm_range \- Constructs a data set range structure
.SH SYNOPSIS
-.TH "nvme_init_logging" 9 "nvme_init_logging" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_init_logging" 9 "nvme_init_logging" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_init_logging \- Initialize logging
.SH SYNOPSIS
-.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_insert_tls_key \- Derive and insert TLS key
.SH SYNOPSIS
-.TH "nvme_io" 9 "nvme_io" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_io" 9 "nvme_io" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_io \- Submit an nvme user I/O command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_io_control_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_control_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_io_control_flags \- I/O control flags
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_io_dsm_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_dsm_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_io_dsm_flags \- Dataset Management flags
.SH SYNOPSIS
-.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_io_mgmt_recv \- I/O Management Receive command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_io_mgmt_recv_mo \- I/O Management Receive - Management Operation
.SH SYNOPSIS
-.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_io_mgmt_send \- I/O Management Send command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_io_mgmt_send_mo \- I/O Management Send - Management Operation
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_io_opcode" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_io_opcode" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_io_opcode \- Opcodes for I/O Commands
.SH SYNOPSIS
-.TH "nvme_io_passthru" 9 "nvme_io_passthru" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_io_passthru" 9 "nvme_io_passthru" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_io_passthru \- Submit an nvme io passthrough command
.SH SYNOPSIS
-.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_io_passthru64 \- Submit an nvme io passthrough command
.SH SYNOPSIS
-.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_is_64bit_reg \- Checks if offset of the controller register is a know 64bit value.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_range_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_range_type" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_range_type \- LBA Range Type
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_range_type_entry \- LBA Range Type - Data Structure Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_rd" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_rd" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_rd \- LBA Range Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_status \- LBA Status Descriptor List
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_lba_status_atype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lba_status_atype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_lba_status_atype \- Potentially Unrecoverable LBAs
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_status_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_status_desc \- LBA Status Descriptor Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lba_status_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lba_status_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lba_status_log \- LBA Status Information Log
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lbaf" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lbaf" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lbaf \- LBA Format Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_lbaf_rp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lbaf_rp" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_lbaf_rp \- This field indicates the relative performance of the LBA format indicated relative to other LBA formats supported by the controller.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_lbart" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_lbart" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_lbart \- LBA Range Type - Data Structure Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_lbas_ns_element" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_lbas_ns_element" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_lbas_ns_element \- LBA Status Log Namespace Element
.SH SYNOPSIS
-.TH "nvme_lockdown" 9 "nvme_lockdown" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lockdown" 9 "nvme_lockdown" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lockdown \- Issue lockdown command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_log_ana_lsp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_log_ana_lsp" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_log_ana_lsp \- Asymmetric Namespace Access - Return Groups Only
.SH SYNOPSIS
-.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_ctrl \- Lookup nvme_ctrl_t object
.SH SYNOPSIS
-.TH "nvme_lookup_host" 9 "nvme_lookup_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lookup_host" 9 "nvme_lookup_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_host \- Lookup nvme_host_t object
.SH SYNOPSIS
-.TH "nvme_lookup_key" 9 "nvme_lookup_key" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lookup_key" 9 "nvme_lookup_key" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_key \- Lookup key serial number
.SH SYNOPSIS
-.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_keyring \- Lookup keyring serial number
.SH SYNOPSIS
-.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_lookup_subsystem \- Lookup nvme_subsystem_t object
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_config_desc \- Media Unit Configuration Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_stat_desc \- Media Unit Status Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_media_unit_stat_log \- Media Unit Status
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_metadata_element_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_metadata_element_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_metadata_element_desc \- Metadata Element Descriptor
.SH SYNOPSIS
-.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_admin_passthru \- Submit an nvme admin passthrough command
.SH SYNOPSIS
-.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_format_nvm \- Format NVMe namespace
.SH SYNOPSIS
-.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_fw_commit \- Commit firmware using the specified action
.SH SYNOPSIS
-.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_fw_download \- Download part or all of a firmware image to the controller
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_features_data \- Helper function for &nvme_mi_admin_get_features()
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log \- Retrieve log page data from controller
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_ana \- Retrieve Asymmetric Namespace Access log page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_boot_partition \- Retrieve Boot Partition
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_changed_ns_list \- Retrieve namespace changed list
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_cmd_effects \- Retrieve nvme command effects log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_create_telemetry_host \- Create host telemetry log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_device_self_test \- Retrieve the device self test log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_discovery \- Retrieve Discovery log page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_endurance_group \- Get Endurance Group log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_endurance_grp_evt \- Retrieve Rotational Media Information
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_error \- Retrieve nvme error log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_fw_slot \- Retrieves the controller firmware log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_lba_status \- Retrieve LBA Status
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_media_unit_stat \- Retrieve Media Unit Status
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_page \- Retrieve log page data from controller
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_persistent_event \- Retrieve Persistent Event Log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_reservation \- Retrieve Reservation Notification
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_sanitize \- Retrieve Sanitize Status
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_simple \- Helper for Get Log Page functions with no NSID or RAE requirements
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_smart \- Retrieve nvme smart log
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_supported_log_pages \- Retrieve nmve supported log pages
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_telemetry_host \- Get Telemetry Host-Initiated log page
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_log_zns_changed_zones \- Retrieve list of zones that have changed
.SH SYNOPSIS
-.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_get_nsid_log \- Helper for Get Log Page functions
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify \- Perform an Admin identify command.
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_active_ns_list \- Perform an Admin identify for an active namespace list
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_allocated_ns \- Perform an Admin identify command for an allocated namespace
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_allocated_ns_list \- Perform an Admin identify for an allocated namespace list
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_cns_nsid \- Perform an Admin identify command using specific CNS/NSID parameters.
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ctrl \- Perform an Admin identify for a controller
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ctrl_list \- Perform an Admin identify for a controller list.
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ns \- Perform an Admin identify command for a namespace
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_ns_descs \- Perform an Admin identify Namespace Identification Descriptor list command for a namespace
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_nsid_ctrl_list \- Perform an Admin identify for a controller list with specific namespace ID
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_partial \- Perform an Admin identify command, and retrieve partial response data.
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_primary_ctrl \- Perform an Admin identify for primary controller capabilities data structure.
.SH SYNOPSIS
-.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_identify_secondary_ctrl_list \- Perform an Admin identify for a secondary controller list.
.SH SYNOPSIS
-.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_ns_attach \- Attach or detach namespace to controller(s)
.SH SYNOPSIS
-.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_ns_attach_ctrls \- Attach namespace to controllers
.SH SYNOPSIS
-.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_ns_detach_ctrls \- Detach namespace from controllers
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_admin_req_hdr \- Admin command request header.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_admin_resp_hdr \- Admin command response header.
.SH SYNOPSIS
-.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_sanitize_nvm \- Start a subsystem Sanitize operation
.SH SYNOPSIS
-.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_security_recv \- Perform a Security Receive command on a controller.
.SH SYNOPSIS
-.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_security_send \- Perform a Security Send command on a controller.
.SH SYNOPSIS
-.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_admin_xfer \- Raw admin transfer interface.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_ccs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_ccs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_ccs \- Get State Control Primitive Success Response Fields - Control Primitive Specific Response
.SH SYNOPSIS
-.TH "nvme_mi_close" 9 "nvme_mi_close" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_close" 9 "nvme_mi_close" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_close \- Close an endpoint connection and release resources, including controller objects.
.SH SYNOPSIS
-.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_close_ctrl \- free a controller
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_cmd_supported_effects \- MI Command Supported and Effects Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_cmd_supported_effects_log \- NVMe-MI Commands Supported and Effects Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_config_id" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_config_id" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_config_id \- NVMe-MI Configuration identifier.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_config_smbus_freq \- SMBus/I2C frequency values
.SH SYNOPSIS
-.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_create_root \- Create top-level MI (root) handle.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_csts" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_csts" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_csts \- Controller Health Data Structure (CHDS) - Controller Status (CSTS)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_ctrl_health_status \- Controller Health Data Structure (CHDS)
.SH SYNOPSIS
--- /dev/null
+.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_ctrl_id \- get the ID of a controller
+.SH SYNOPSIS
+.B "__u16" nvme_mi_ctrl_id
+.BI "(nvme_mi_ctrl_t ctrl " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+controller to query
+.SH "DESCRIPTION"
+Retrieve the ID of the controller, as defined by hardware, and available
+in the Identify (Controller List) data. This is the value passed to
+\fInvme_mi_init_ctrl\fP, but may have been created internally via
+\fInvme_mi_scan_ep\fP.
+.SH "RETURN"
+the (locally-stored) ID of this controller.
-.TH "libnvme" 9 "enum nvme_mi_cwarn" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_cwarn" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_cwarn \- Controller Health Data Structure (CHDS) - Critical Warning (CWARN)
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_dtyp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_dtyp" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_dtyp \- Data Structure Type field.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_elem" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_elem" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_elem \- Element Descriptor Types
.SH SYNOPSIS
-.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_free_root \- Free root object.
.SH SYNOPSIS
-.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_init_ctrl \- initialise a NVMe controller.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_message_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_message_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_message_type \- NVMe-MI message type field.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_mi_opcode \- Operation code for supported NVMe-MI commands.
.SH SYNOPSIS
-.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_ctrl \- Perform a Read MI Data Structure command, retrieving controller information
.SH SYNOPSIS
-.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_ctrl_list \- Perform a Read MI Data Structure command, retrieving the list of attached controllers.
.SH SYNOPSIS
-.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_port \- Perform a Read MI Data Structure command, retrieving port data.
.SH SYNOPSIS
-.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_read_mi_data_subsys \- Perform a Read MI Data Structure command, retrieving subsystem data.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_mi_req_hdr \- MI request message header.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_mi_resp_hdr \- MI response message header.
.SH SYNOPSIS
-.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_mi_subsystem_health_status_poll \- Read the Subsystem Health Data Structure from the NVM subsystem
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_msg_hdr \- General MI message header.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_msg_resp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_msg_resp" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_msg_resp \- Generic response type.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_nvm_ss_health_status \- Subsystem Management Data Structure
.SH SYNOPSIS
-.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_open_mctp \- Create an endpoint using a MCTP connection.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_osc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_osc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_osc \- Optionally Supported Command Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_port_pcie" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_port_pcie" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_port_pcie \- PCIe Port Specific Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_port_smb" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_port_smb" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_port_smb \- SMBus Port Specific Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_ctrl_info \- Controller Information Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_nvm_ss_info \- NVM Subsystem Information Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_read_port_info" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_port_info" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_port_info \- Port Information Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_read_sc_list \- Management Endpoint Buffer Supported Command List Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_mi_resp_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_mi_resp_status" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_mi_resp_status \- values for the response status field
.SH SYNOPSIS
-.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_set_probe_enabled \- enable/disable the probe for new endpoints
.SH SYNOPSIS
-.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_mi_status_to_string \- return a string representation of the MI status.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_hdr \- Vital Product Data Common Header
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_mr_common \- NVMe MultiRecord Area
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_mra \- NVMe MultiRecord Area
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_ppmra \- NVMe PCIe Port MultiRecord Area
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_telem \- Vital Product Data Element Descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_mi_vpd_tra \- Vital Product Data Topology MultiRecord
.SH SYNOPSIS
-.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_attach_ctrls \- Attach namespace to controller(s)
.SH SYNOPSIS
-.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_detach_ctrls \- Detach namespace from controller(s)
.SH SYNOPSIS
-.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_filter \- Filter for namespaces
.SH SYNOPSIS
-.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_first_path \- Start path iterator
.SH SYNOPSIS
-.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_for_each_path \- Traverse paths
.SH SYNOPSIS
-.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_for_each_path_safe \- Traverse paths
.SH SYNOPSIS
-.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_namespace_next_path \- Next path iterator
.SH SYNOPSIS
--- /dev/null
+.TH "nvme_nbft_free" 9 "nvme_nbft_free" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_nbft_free \- Free the struct nbft_info and its contents
+.SH SYNOPSIS
+.B "void" nvme_nbft_free
+.BI "(struct nbft_info *nbft " ");"
+.SH ARGUMENTS
+.IP "nbft" 12
+Parsed NBFT table data.
--- /dev/null
+.TH "nvme_nbft_read" 9 "nvme_nbft_read" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_nbft_read \- Read and parse contents of an ACPI NBFT table
+.SH SYNOPSIS
+.B "int" nvme_nbft_read
+.BI "(struct nbft_info **nbft " ","
+.BI "const char *filename " ");"
+.SH ARGUMENTS
+.IP "nbft" 12
+Parsed NBFT table data.
+.IP "filename" 12
+Filename of the raw NBFT table to read.
+.SH "DESCRIPTION"
+Read and parse the specified NBFT file into a struct nbft_info.
+Free with \fBnvme_nbft_free\fP.
+.SH "RETURN"
+0 on success, errno otherwise.
-.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_nd_ns_fpi \- If a format operation is in progress, this field indicates the percentage of the namespace that remains to be formatted.
.SH SYNOPSIS
-.TH "nvme_next_host" 9 "nvme_next_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_next_host" 9 "nvme_next_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_next_host \- Next host iterator
.SH SYNOPSIS
-.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_next_subsystem \- Next subsystem iterator
.SH SYNOPSIS
-.TH "nvme_ns_attach" 9 "nvme_ns_attach" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_attach" 9 "nvme_ns_attach" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_attach \- Attach or detach namespace to controller(s)
.SH SYNOPSIS
-.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_attach_ctrls \- Attach namespace to controllers
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ns_attach_sel" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_attach_sel" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ns_attach_sel \- Namespace Attachment - Select
.SH SYNOPSIS
-.TH "nvme_ns_compare" 9 "nvme_ns_compare" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_compare" 9 "nvme_ns_compare" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_compare \- Compare data on a namespace
.SH SYNOPSIS
-.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_detach_ctrls \- Detach namespace from controllers
.SH SYNOPSIS
-.TH "nvme_ns_flush" 9 "nvme_ns_flush" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_flush" 9 "nvme_ns_flush" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_flush \- Flush data to a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_csi \- Command set identifier of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_ctrl \- &nvme_ctrl_t of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_eui64 \- 64-bit eui of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_fd \- Get associated file descriptor
.SH SYNOPSIS
-.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_firmware \- Firmware string of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_generic_name \- Returns name of generic namespace chardev.
.SH SYNOPSIS
-.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_count \- LBA count of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_size \- LBA size of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_lba_util \- LBA utilization of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_meta_size \- Metadata size of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_model \- Model of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_name \- sysfs name of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_nguid \- 128-bit nguid of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_nsid \- NSID of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_serial \- Serial number of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_subsystem \- &nvme_subsystem_t of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_sysfs_dir \- sysfs directory of a namespace
.SH SYNOPSIS
-.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_get_uuid \- UUID of a namespace
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_ns_id_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ns_id_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_ns_id_desc \- Namespace identifier type descriptor
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ns_id_desc_nidt \- Known namespace identifier types
.SH SYNOPSIS
-.TH "nvme_ns_identify" 9 "nvme_ns_identify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_identify" 9 "nvme_ns_identify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_identify \- Issue an 'identify namespace' command
.SH SYNOPSIS
-.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_identify_descs \- Issue an 'identify descriptors' command
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_ns_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_ns_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_ns_list \- Namespace List
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ns_metadata_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_metadata_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ns_metadata_type \- Namespace Metadata Element Types
.SH SYNOPSIS
-.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt \- Issue a Namespace management command
.SH SYNOPSIS
-.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt_create \- Create a non attached namespace
.SH SYNOPSIS
.BI "struct nvme_id_ns *ns " ","
.BI "__u32 *nsid " ","
.BI "__u32 timeout " ","
-.BI "__u8 csi " ");"
+.BI "__u8 csi " ","
+.BI "struct nvme_ns_mgmt_host_sw_specified *data " ");"
.SH ARGUMENTS
.IP "fd" 12
File descriptor of nvme device
set to 0 to use the system default.
.IP "csi" 12
Command Set Identifier
+.IP "data" 12
+Host Software Specified Fields that defines ns creation parameters
.SH "DESCRIPTION"
On successful creation, the namespace exists in the subsystem, but is not
attached to any controller. Use the \fBnvme_ns_attach_ctrls\fP to assign the
-.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_mgmt_delete \- Delete a non attached namespace
.SH SYNOPSIS
--- /dev/null
+.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "June 2023" "API Manual" LINUX
+.SH NAME
+struct nvme_ns_mgmt_host_sw_specified \- Namespace management Host Software Specified Fields.
+.SH SYNOPSIS
+struct nvme_ns_mgmt_host_sw_specified {
+.br
+.BI " __le64 nsze;"
+.br
+.BI " __le64 ncap;"
+.br
+.BI " __u8 rsvd16[10];"
+.br
+.BI " __u8 flbas;"
+.br
+.BI " __u8 rsvd27[2];"
+.br
+.BI " __u8 dps;"
+.br
+.BI " __u8 nmic;"
+.br
+.BI " __u8 rsvd31[61];"
+.br
+.BI " __le32 anagrpid;"
+.br
+.BI " __u8 rsvd96[4];"
+.br
+.BI " __le16 nvmsetid;"
+.br
+.BI " __le16 endgid;"
+.br
+.BI " __u8 rsvd104[280];"
+.br
+.BI " __le64 lbstm;"
+.br
+.BI " __le16 nphndls;"
+.br
+.BI " __u8 rsvd394[105];"
+.br
+.BI " union {"
+.br
+.BI " __u8 rsvd499[13];"
+.br
+.BI " struct {"
+.br
+.BI " __u8 znsco;"
+.br
+.BI " __le32 rar;"
+.br
+.BI " __le32 ror;"
+.br
+.BI " __le32 rnumzrwa;"
+.br
+.BI " } zns;"
+.br
+.BI " };"
+.br
+.BI " __le16 phndl[128];"
+.br
+.BI " __u8 rsvd768[3328];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "nsze" 12
+Namespace Size indicates the total size of the namespace in
+logical blocks. The number of logical blocks is based on the
+formatted LBA size.
+.IP "ncap" 12
+Namespace Capacity indicates the maximum number of logical blocks
+that may be allocated in the namespace at any point in time. The
+number of logical blocks is based on the formatted LBA size.
+.IP "rsvd16" 12
+Reserved
+.IP "flbas" 12
+Formatted LBA Size, see \fIenum nvme_id_ns_flbas\fP.
+.IP "rsvd27" 12
+Reserved
+.IP "dps" 12
+End-to-end Data Protection Type Settings, see
+\fIenum nvme_id_ns_dps\fP.
+.IP "nmic" 12
+Namespace Multi-path I/O and Namespace Sharing Capabilities, see
+\fIenum nvme_id_ns_nmic\fP.
+.IP "rsvd31" 12
+Reserved
+.IP "anagrpid" 12
+ANA Group Identifier indicates the ANA Group Identifier of the
+ANA group of which the namespace is a member.
+.IP "rsvd96" 12
+Reserved
+.IP "nvmsetid" 12
+NVM Set Identifier indicates the NVM Set with which this
+namespace is associated.
+.IP "endgid" 12
+Endurance Group Identifier indicates the Endurance Group with
+which this namespace is associated.
+.IP "rsvd104" 12
+Reserved
+.IP "lbstm" 12
+Logical Block Storage Tag Mask Identifies the mask for the
+Storage Tag field for the protection information
+.IP "nphndls" 12
+Number of Placement Handles specifies the number of Placement
+Handles included in the Placement Handle List
+.IP "rsvd394" 12
+Reserved
+.IP "{unnamed_union}" 12
+anonymous
+.IP "rsvd499" 12
+Reserved for I/O Command Sets that extend this specification.
+.IP "zns" 12
+rsvd499( Zoned Namespace Command Set specific field )
+.IP "phndl" 12
+Placement Handle Associated RUH : This field specifies the Reclaim
+Unit Handle Identifier to be associated with the Placement Handle
+value. If the Flexible Data Placement capability is not supported or
+not enabled in specified Endurance Group, then the controller shall
+ignore this field.
+.IP "rsvd768" 12
+Reserved
-.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ns_mgmt_sel \- Namespace Management - Select
.SH SYNOPSIS
-.TH "nvme_ns_read" 9 "nvme_ns_read" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_read" 9 "nvme_ns_read" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_read \- Read from a namespace
.SH SYNOPSIS
-.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_rescan \- Initiate a controller rescan
.SH SYNOPSIS
-.TH "nvme_ns_verify" 9 "nvme_ns_verify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_verify" 9 "nvme_ns_verify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_verify \- Verify data on a namespace
.SH SYNOPSIS
-.TH "nvme_ns_write" 9 "nvme_ns_write" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_write" 9 "nvme_ns_write" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write \- Write to a namespace
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_ns_write_protect_cfg \- Write Protection - Write Protection State
.SH SYNOPSIS
-.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write_uncorrectable \- Issus a 'write uncorrectable' command
.SH SYNOPSIS
-.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_ns_write_zeros \- Write zeros to a namespace
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_nss_hw_err_event \- NVM Subsystem Hardware Error Event
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_nvm_id_ns" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvm_id_ns" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_nvm_id_ns \- NVME Command Set I/O Command Set Specific Identify Namespace Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_nvm_id_ns_elbaf \- This field indicates the extended LBA format
.SH SYNOPSIS
-.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_nvm_identify_ctrl \- Identify controller data
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_nvmeset_pl_status \- Predictable Latency Per NVM Set Log - Status
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_nvmset_attr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvmset_attr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_nvmset_attr \- NVM Set Attributes Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_nvmset_pl_events \- Predictable Latency Per NVM Set Log - Event Type
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_nvmset_predictable_lat_log \- Predictable Latency Mode - Deterministic Threshold Configuration Data
.SH SYNOPSIS
-.TH "nvme_open" 9 "nvme_open" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_open" 9 "nvme_open" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_open \- Open an nvme controller or namespace device
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_passthru_cmd" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_passthru_cmd" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_passthru_cmd \- nvme passthrough command structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_passthru_cmd64" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_passthru_cmd64" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_passthru_cmd64 \- 64-bit nvme passthrough command structure
.SH SYNOPSIS
-.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ana_state \- ANA state of an nvme_path_t object
.SH SYNOPSIS
-.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ctrl \- Parent controller of an nvme_path_t object
.SH SYNOPSIS
-.TH "nvme_path_get_name" 9 "nvme_path_get_name" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_path_get_name" 9 "nvme_path_get_name" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_name \- sysfs name of an &nvme_path_t object
.SH SYNOPSIS
-.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_ns \- Parent namespace of an nvme_path_t object
.SH SYNOPSIS
-.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_path_get_sysfs_dir \- sysfs directory of an nvme_path_t object
.SH SYNOPSIS
-.TH "nvme_paths_filter" 9 "nvme_paths_filter" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_paths_filter" 9 "nvme_paths_filter" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_paths_filter \- Filter for paths
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_persistent_event_entry" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_persistent_event_entry" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_persistent_event_entry \- Persistent Event
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_persistent_event_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_persistent_event_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_persistent_event_log \- Persistent Event Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_persistent_event_types" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_persistent_event_types" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_persistent_event_types \- Persistent event log events
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_pevent_log_action" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_pevent_log_action" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_pevent_log_action \- Persistent Event Log - Action
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_plm_config" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_plm_config" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_plm_config \- Predictable Latency Mode - Deterministic Threshold Configuration Data Structure
.SH SYNOPSIS
-.TH "nvme_pmr_size" 9 "nvme_pmr_size" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_pmr_size" 9 "nvme_pmr_size" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_pmr_size \- Calculate size of persistent memory region elasticity buffer
.SH SYNOPSIS
-.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_pmr_throughput \- Calculate throughput of persistent memory buffer
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_power_on_reset_info_list \- Controller Reset Information
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_primary_ctrl_cap \- Identify - Controller Capabilities Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_psd_flags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_flags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_psd_flags \- Possible flag values in nvme power state descriptor
.SH SYNOPSIS
-.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_psd_power_scale \- power scale occupies the upper 3 bits
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_psd_ps" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_ps" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_psd_ps \- Known values for &struct nvme_psd %ips and %aps. Use with nvme_psd_power_scale() to extract the power scale field to match this enum.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_psd_workload" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_psd_workload" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_psd_workload \- Specifies a workload hint in the Power Management Feature (see &struct nvme_psd.apw) to inform the NVM subsystem or indicate the conditions for the active power level.
.SH SYNOPSIS
-.TH "nvme_read" 9 "nvme_read" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_read" 9 "nvme_read" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_read \- Submit an nvme user read command
.SH SYNOPSIS
-.TH "nvme_read_config" 9 "nvme_read_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_read_config" 9 "nvme_read_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_read_config \- Read NVMe JSON configuration file
.SH SYNOPSIS
-.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_refresh_topology \- Refresh nvme_root_t object contents
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_register_offsets" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_register_offsets" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_register_offsets \- controller registers for all transports. This is the layout of BAR0/1 for PCIe, and properties for fabrics.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_registered_ctrl" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_registered_ctrl" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_registered_ctrl \- Registered Controller Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_registered_ctrl_ext \- Registered Controller Extended Data Structure
.SH SYNOPSIS
-.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_rescan_ctrl \- Rescan an existing controller
.SH SYNOPSIS
-.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_resv_acquire \- Send an nvme reservation acquire
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_cptpl" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_cptpl" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_cptpl \- Reservation Register - Change Persist Through Power Loss State
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_resv_notification_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_resv_notification_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_resv_notification_log \- Reservation Notification Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_notify_rnlpt \- Reservation Notification Log - Reservation Notification Log Page Type
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_racqa" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_racqa" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_racqa \- Reservation Acquire - Reservation Acquire Action
.SH SYNOPSIS
-.TH "nvme_resv_register" 9 "nvme_resv_register" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_resv_register" 9 "nvme_resv_register" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_resv_register \- Send an nvme reservation register
.SH SYNOPSIS
-.TH "nvme_resv_release" 9 "nvme_resv_release" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_resv_release" 9 "nvme_resv_release" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_resv_release \- Send an nvme reservation release
.SH SYNOPSIS
-.TH "nvme_resv_report" 9 "nvme_resv_report" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_resv_report" 9 "nvme_resv_report" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_resv_report \- Send an nvme reservation report
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_rrega" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rrega" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_rrega \- Reservation Register - Reservation Register Action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_rrela" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rrela" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_rrela \- Reservation Release - Reservation Release Action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_resv_rtype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_resv_rtype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_resv_rtype \- Reservation Type Encoding
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_resv_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_resv_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_resv_status \- Reservation Status Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_compln_event \- Sanitize Completion Event Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_sanitize_log_page" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_log_page" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_log_page \- Sanitize Status (Log Identifier 81h)
.SH SYNOPSIS
-.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_sanitize_nvm \- Start a sanitize operation
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_sanitize_sanact" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_sanitize_sanact" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_sanitize_sanact \- Sanitize Action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_sanitize_sstat" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_sanitize_sstat" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_sanitize_sstat \- Sanitize Status (SSTAT)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_sanitize_start_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_sanitize_start_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_sanitize_start_event \- Sanitize Start Event Data
.SH SYNOPSIS
-.TH "nvme_scan" 9 "nvme_scan" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan" 9 "nvme_scan" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan \- Scan NVMe topology
.SH SYNOPSIS
-.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl \- Scan on a controller
.SH SYNOPSIS
-.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl_namespace_paths \- Scan for namespace paths in a controller
.SH SYNOPSIS
-.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrl_namespaces \- Scan for namespaces in a controller
.SH SYNOPSIS
-.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_ctrls \- Scan for controllers
.SH SYNOPSIS
-.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_namespace \- scan namespace based on sysfs name
.SH SYNOPSIS
-.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_subsystem_namespaces \- Scan for namespaces in a subsystem
.SH SYNOPSIS
-.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_subsystems \- Scan for subsystems
.SH SYNOPSIS
-.TH "nvme_scan_topology" 9 "nvme_scan_topology" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_scan_topology" 9 "nvme_scan_topology" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_scan_topology \- Scan NVMe topology and apply filter
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_secondary_ctrl" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_secondary_ctrl" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_secondary_ctrl \- Secondary Controller Entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_secondary_ctrl_list \- Secondary Controller List
.SH SYNOPSIS
-.TH "nvme_security_receive" 9 "nvme_security_receive" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_security_receive" 9 "nvme_security_receive" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_security_receive \- Security Receive command
.SH SYNOPSIS
-.TH "nvme_security_send" 9 "nvme_security_send" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_security_send" 9 "nvme_security_send" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_security_send \- Security Send command
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_self_test_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_self_test_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_self_test_log \- Device Self-test (Log Identifier 06h)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_set_feature_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_set_feature_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_set_feature_event \- Set Feature Event Data
.SH SYNOPSIS
-.TH "nvme_set_features" 9 "nvme_set_features" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features" 9 "nvme_set_features" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features \- Set a feature attribute
.SH SYNOPSIS
-.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_arbitration \- Set arbitration features
.SH SYNOPSIS
-.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_async_event \- Set asynchronous event feature
.SH SYNOPSIS
-.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_auto_pst \- Set autonomous power state feature
.SH SYNOPSIS
-.TH "nvme_set_features_data" 9 "nvme_set_features_data" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_data" 9 "nvme_set_features_data" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_data \- Helper function for @nvme_set_features()
.SH SYNOPSIS
-.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_endurance_evt_cfg \- Set endurance event config feature
.SH SYNOPSIS
-.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_err_recovery \- Set error recovery feature
.SH SYNOPSIS
-.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_hctm \- Set thermal management feature
.SH SYNOPSIS
-.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_host_behavior \- Set host behavior feature
.SH SYNOPSIS
-.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_host_id \- Set enable extended host identifiers feature
.SH SYNOPSIS
-.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_irq_coalesce \- Set IRQ coalesce feature
.SH SYNOPSIS
-.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_irq_config \- Set IRQ config feature
.SH SYNOPSIS
-.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_lba_range \- Set LBA range feature
.SH SYNOPSIS
-.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_lba_sts_interval \- Set LBA status information feature
.SH SYNOPSIS
-.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_nopsc \- Set non-operational power state feature
.SH SYNOPSIS
-.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_plm_config \- Set predictable latency feature
.SH SYNOPSIS
-.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_plm_window \- Set window select feature
.SH SYNOPSIS
-.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_power_mgmt \- Set power management feature
.SH SYNOPSIS
-.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_resv_mask \- Set reservation notification mask feature
.SH SYNOPSIS
-.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_resv_persist \- Set persist through power loss feature
.SH SYNOPSIS
-.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_rrl \- Set read recovery level feature
.SH SYNOPSIS
-.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_sanitize \- Set sanitize feature
.SH SYNOPSIS
-.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_simple \- Helper function for @nvme_set_features()
.SH SYNOPSIS
-.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_sw_progress \- Set pre-boot software load count feature
.SH SYNOPSIS
-.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_temp_thresh \- Set temperature threshold feature
.SH SYNOPSIS
-.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_timestamp \- Set timestamp feature
.SH SYNOPSIS
-.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_volatile_wc \- Set volatile write cache feature
.SH SYNOPSIS
-.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_write_atomic \- Set write atomic feature
.SH SYNOPSIS
-.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_features_write_protect \- Set write protect feature
.SH SYNOPSIS
-.TH "nvme_set_keyring" 9 "nvme_set_keyring" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_keyring" 9 "nvme_set_keyring" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_keyring \- Link keyring for lookup
.SH SYNOPSIS
-.TH "nvme_set_property" 9 "nvme_set_property" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_set_property" 9 "nvme_set_property" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_set_property \- Set controller property
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_smart_crit" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_smart_crit" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_smart_crit \- Critical Warning
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_smart_egcw" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_smart_egcw" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_smart_egcw \- Endurance Group Critical Warning Summary
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_smart_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_smart_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_smart_log \- SMART / Health Information Log (Log Identifier 02h)
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_st_code" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_code" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_st_code \- Self-test Code value
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_st_curr_op" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_curr_op" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_st_curr_op \- Current Device Self-Test Operation
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_st_result" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_st_result" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_st_result \- Self-test Result
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_st_valid_diag_info \- Valid Diagnostic Information
.SH SYNOPSIS
-.TH "nvme_status_code" 9 "nvme_status_code" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_code" 9 "nvme_status_code" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_code \- Returns the NVMe Status Code
.SH SYNOPSIS
-.TH "nvme_status_code_type" 9 "nvme_status_code_type" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_code_type" 9 "nvme_status_code_type" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_code_type \- Returns the NVMe Status Code Type
.SH SYNOPSIS
-.TH "nvme_status_equals" 9 "nvme_status_equals" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_equals" 9 "nvme_status_equals" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_equals \- helper to check a status against a type and value
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_status_field" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_status_field" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_status_field \- Defines all parts of the nvme status field: status code, status code type, and additional flags.
.SH SYNOPSIS
,
.br
.br
+.BI " NVME_SC_FDP_DISABLED"
+,
+.br
+.br
+.BI " NVME_SC_INVALID_PLACEMENT_HANDLE_LIST"
+,
+.br
+.br
.BI " NVME_SC_LBA_RANGE"
,
.br
Admin Command Media Not Ready: The Admin
command requires access to media and
the media is not ready.
+.IP "NVME_SC_FDP_DISABLED" 12
+Command is not allowed when
+Flexible Data Placement is disabled.
+.IP "NVME_SC_INVALID_PLACEMENT_HANDLE_LIST" 12
+The Placement Handle List is invalid
+due to invalid Reclaim Unit Handle Identifier or
+valid Reclaim Unit Handle Identifier but restricted or
+the Placement Handle List number of entries exceeded the
+maximum number allowed.
.IP "NVME_SC_LBA_RANGE" 12
LBA Out of Range: The command references
an LBA that exceeds the size of the namespace.
-.TH "nvme_status_get_type" 9 "nvme_status_get_type" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_get_type" 9 "nvme_status_get_type" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_get_type \- extract the type from a nvme_* return value
.SH SYNOPSIS
-.TH "nvme_status_get_value" 9 "nvme_status_get_value" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_get_value" 9 "nvme_status_get_value" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_get_value \- extract the status value from a nvme_* return value
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_status_result" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_status_result" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_status_result \- Result of the device self-test operation
.SH SYNOPSIS
-.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_to_errno \- Converts nvme return status to errno
.SH SYNOPSIS
-.TH "nvme_status_to_string" 9 "nvme_status_to_string" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_status_to_string" 9 "nvme_status_to_string" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_status_to_string \- Returns string describing nvme return status.
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_status_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_status_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_status_type \- type encoding for NVMe return values, when represented as an int.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_streams_directive_params" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_streams_directive_params" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_streams_directive_params \- Streams Directive - Return Parameters Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_streams_directive_status" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_streams_directive_status" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_streams_directive_status \- Streams Directive - Get Status Data Structure
.SH SYNOPSIS
-.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_submit_admin_passthru \- Submit an nvme passthrough admin command
.SH SYNOPSIS
-.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_submit_admin_passthru64 \- Submit a 64-bit nvme passthrough admin command
.SH SYNOPSIS
-.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_submit_io_passthru \- Submit an nvme passthrough command
.SH SYNOPSIS
-.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_submit_io_passthru64 \- Submit a 64-bit nvme passthrough command
.SH SYNOPSIS
-.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsys_filter \- Filter for subsystems
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_subsys_type" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_subsys_type" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_subsys_type \- Type of the NVM subsystem.
.SH SYNOPSIS
-.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_first_ctrl \- First ctrl iterator
.SH SYNOPSIS
-.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_first_ns \- Start namespace iterator
.SH SYNOPSIS
-.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ctrl \- Traverse controllers
.SH SYNOPSIS
-.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ctrl_safe \- Traverse controllers
.SH SYNOPSIS
-.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ns \- Traverse namespaces
.SH SYNOPSIS
-.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_for_each_ns_safe \- Traverse namespaces
.SH SYNOPSIS
--- /dev/null
+.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_subsystem_get_application \- Return the application string
+.SH SYNOPSIS
+.B "const char *" nvme_subsystem_get_application
+.BI "(nvme_subsystem_t s " ");"
+.SH ARGUMENTS
+.IP "s" 12
+nvme_subsystem_t object
+.SH "RETURN"
+Managing application string or NULL if not set.
-.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_host \- Returns nvme_host_t object
.SH SYNOPSIS
-.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_name \- sysfs name of an nvme_subsystem_t object
.SH SYNOPSIS
-.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_nqn \- Retrieve NQN from subsystem
.SH SYNOPSIS
-.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_sysfs_dir \- sysfs directory of an nvme_subsystem_t object
.SH SYNOPSIS
-.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_get_type \- Returns the type of a subsystem
.SH SYNOPSIS
-.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_lookup_namespace \- lookup namespace by NSID
.SH SYNOPSIS
-.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_next_ctrl \- Next ctrl iterator
.SH SYNOPSIS
-.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_next_ns \- Next namespace iterator
.SH SYNOPSIS
-.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_subsystem_reset \- Initiate a subsystem reset
.SH SYNOPSIS
--- /dev/null
+.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "June 2023" "libnvme API manual" LINUX
+.SH NAME
+nvme_subsystem_set_application \- Set the application string
+.SH SYNOPSIS
+.B "void" nvme_subsystem_set_application
+.BI "(nvme_subsystem_t s " ","
+.BI "const char *a " ");"
+.SH ARGUMENTS
+.IP "s" 12
+nvme_subsystem_t object
+.IP "a" 12
+application string
+.SH "DESCRIPTION"
+Sets the managing application string for \fIs\fP.
-.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_supported_cap_config_list_log \- Supported Capacity Configuration list log page
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_supported_log_pages" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_supported_log_pages" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_supported_log_pages \- Supported Log Pages - Log
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_telemetry_da" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_telemetry_da" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_telemetry_da \- Telemetry Log Data Area
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_telemetry_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_telemetry_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_telemetry_log \- Retrieve internal data specific to the manufacturer.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_thermal_exc_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_thermal_exc_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_thermal_exc_event \- Thermal Excursion Event Data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_time_stamp_change_event \- Timestamp Change Event
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_timestamp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_timestamp" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_timestamp \- Timestamp - Data Structure for Get Features
.SH SYNOPSIS
-.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_unlink_ctrl \- Unlink controller
.SH SYNOPSIS
-.TH "nvme_update_config" 9 "nvme_update_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_update_config" 9 "nvme_update_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_update_config \- Update JSON configuration
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_uring_cmd" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_uring_cmd" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_uring_cmd \- nvme uring command structure
.SH SYNOPSIS
-.TH "nvme_verify" 9 "nvme_verify" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_verify" 9 "nvme_verify" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_verify \- Send an nvme verify command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_version" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_version" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_version \- Selector for version to be returned by @nvme_get_version
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_virt_mgmt_act \- Virtualization Management - Action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_virt_mgmt_rt \- Virtualization Management - Resource Type
.SH SYNOPSIS
-.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_virtual_mgmt \- Virtualization resource management
.SH SYNOPSIS
-.TH "nvme_write" 9 "nvme_write" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_write" 9 "nvme_write" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_write \- Submit an nvme user write command
.SH SYNOPSIS
-.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_write_uncorrectable \- Submit an nvme write uncorrectable command
.SH SYNOPSIS
-.TH "nvme_write_zeros" 9 "nvme_write_zeros" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_write_zeros" 9 "nvme_write_zeros" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_write_zeros \- Submit an nvme write zeroes command
.SH SYNOPSIS
-.TH "nvme_zns_append" 9 "nvme_zns_append" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_append" 9 "nvme_zns_append" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_append \- Append data to a zone
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zns_changed_zone_log \- ZNS Changed Zone List log
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zns_desc" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_desc" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zns_desc \- Zone Descriptor Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zns_id_ctrl \- I/O Command Set Specific Identify Controller Data Structure for the Zoned Namespace Command Set
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zns_id_ns" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_id_ns" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zns_id_ns \- Zoned Namespace Command Set Specific Identify Namespace Data Structure
.SH SYNOPSIS
-.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_identify_ctrl \- ZNS identify controller data
.SH SYNOPSIS
-.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_identify_ns \- ZNS identify namespace data
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zns_lbafe" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zns_lbafe" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zns_lbafe \- LBA Format Extension Data Structure
.SH SYNOPSIS
-.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_mgmt_recv \- ZNS management receive command
.SH SYNOPSIS
-.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_mgmt_send \- ZNS management send command
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_recv_action" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_recv_action" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_recv_action \- Zone Management Receive - Zone Receive Action Specific Features
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_report_options" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_report_options" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_report_options \- Zone Management Receive - Zone Receive Action Specific Field
.SH SYNOPSIS
-.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "March 2023" "libnvme API manual" LINUX
+.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvme_zns_report_zones \- Return the list of zones
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_send_action" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_send_action" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_send_action \- Zone Management Send - Zone Send Action
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_za" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_za" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_za \- Zone Descriptor Data Structure
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_zs" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_zs" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_zs \- Zone Descriptor Data Structure - Zone State
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvme_zns_zt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvme_zns_zt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvme_zns_zt \- Zone Descriptor Data Structure - Zone Type
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvme_zone_report" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvme_zone_report" "June 2023" "API Manual" LINUX
.SH NAME
struct nvme_zone_report \- Report Zones Data Structure
.SH SYNOPSIS
-.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_add_ctrl \- Connect a controller and update topology
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_addr_family" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_addr_family" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_addr_family \- Address Family codes for Discovery Log Page entry ADRFAM field
.SH SYNOPSIS
-.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_adrfam_str \- Decode ADRFAM field
.SH SYNOPSIS
-.TH "nvmf_cms_str" 9 "nvmf_cms_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_cms_str" 9 "nvmf_cms_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_cms_str \- Decode RDMA connection management service field
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_connect_data" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_connect_data" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_connect_data \- Data payload for the 'connect' command
.SH SYNOPSIS
-.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_connect_disc_entry \- Connect controller based on the discovery log page entry
.SH SYNOPSIS
-.TH "nvmf_default_config" 9 "nvmf_default_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_default_config" 9 "nvmf_default_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_default_config \- Default values for fabrics configuration
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_dim_data" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_dim_data" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_dim_data \- Discovery Information Management (DIM) - Data
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_dim_entfmt" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_entfmt" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_dim_entfmt \- Discovery Information Management Entry Format
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_dim_etype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_etype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_dim_etype \- Discovery Information Management Entity Type
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_dim_tas" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_dim_tas" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_dim_tas \- Discovery Information Management Task
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_disc_eflags" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_disc_eflags" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_disc_eflags \- Discovery Log Page entry flags.
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_disc_log_entry" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_disc_log_entry" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_disc_log_entry \- Discovery Log Page entry
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_discovery_log" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_discovery_log" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_discovery_log \- Discovery Log Page (Log Identifier 70h)
.SH SYNOPSIS
-.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_eflags_str \- Decode EFLAGS field
.SH SYNOPSIS
-.TH "nvmf_exat_len" 9 "nvmf_exat_len" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_exat_len" 9 "nvmf_exat_len" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_exat_len \- Return length rounded up by 4
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_exattype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_exattype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_exattype \- Extended Attribute Type
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_ext_attr" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_ext_attr" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_ext_attr \- Extended Attribute (EXAT)
.SH SYNOPSIS
-.TH "libnvme" 9 "struct nvmf_ext_die" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "struct nvmf_ext_die" "June 2023" "API Manual" LINUX
.SH NAME
struct nvmf_ext_die \- Extended Discovery Information Entry (DIE)
.SH SYNOPSIS
-.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_get_discovery_log \- Return the discovery log page
.SH SYNOPSIS
-.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_get_discovery_wargs \- Get the discovery log page with args
.SH SYNOPSIS
-.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_hostid_from_file \- Reads the host identifier from the config default location
.SH SYNOPSIS
-.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_hostnqn_from_file \- Reads the host nvm qualified name from the config default location
.SH SYNOPSIS
-.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_hostnqn_generate \- Generate a machine specific host nqn
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_log_discovery_lid_support \- Discovery log specific support
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_log_discovery_lsp \- Discovery log specific field
.SH SYNOPSIS
-.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_prtype_str \- Decode RDMA Provider type field
.SH SYNOPSIS
-.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_qptype_str \- Decode RDMA QP Service type field
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_rdma_cms" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_cms" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_cms \- RDMA Connection Management Service Type codes for Discovery Log Page entry TSAS RDMA_CMS field
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_rdma_prtype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_prtype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_prtype \- RDMA Provider Type codes for Discovery Log Page entry TSAS RDMA_PRTYPE field
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_rdma_qptype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_rdma_qptype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_rdma_qptype \- RDMA QP Service Type codes for Discovery Log Page entry TSAS RDMA_QPTYPE field
.SH SYNOPSIS
-.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_register_ctrl \- Perform registration task with a DC
.SH SYNOPSIS
-.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_sectype_str \- Decode SECTYPE field
.SH SYNOPSIS
-.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_subtype_str \- Decode SUBTYPE field
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_tcp_sectype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_tcp_sectype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_tcp_sectype \- Transport Specific Address Subtype Definition for NVMe/TCP Transport
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_treq" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_treq" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_treq \- Transport Requirements codes for Discovery Log Page entry TREQ field
.SH SYNOPSIS
-.TH "nvmf_treq_str" 9 "nvmf_treq_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_treq_str" 9 "nvmf_treq_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_treq_str \- Decode TREQ field
.SH SYNOPSIS
-.TH "libnvme" 9 "enum nvmf_trtype" "March 2023" "API Manual" LINUX
+.TH "libnvme" 9 "enum nvmf_trtype" "June 2023" "API Manual" LINUX
.SH NAME
enum nvmf_trtype \- Transport Type codes for Discovery Log Page entry TRTYPE field
.SH SYNOPSIS
-.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_trtype_str \- Decode TRTYPE field
.SH SYNOPSIS
-.TH "nvmf_update_config" 9 "nvmf_update_config" "March 2023" "libnvme API manual" LINUX
+.TH "nvmf_update_config" 9 "nvmf_update_config" "June 2023" "libnvme API manual" LINUX
.SH NAME
nvmf_update_config \- Update fabrics configuration values
.SH SYNOPSIS
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
-.. c:function:: int nvme_ns_mgmt_create (int fd, struct nvme_id_ns *ns, __u32 *nsid, __u32 timeout, __u8 csi)
+.. c:function:: int nvme_ns_mgmt_create (int fd, struct nvme_id_ns *ns, __u32 *nsid, __u32 timeout, __u8 csi, struct nvme_ns_mgmt_host_sw_specified *data)
Create a non attached namespace
``__u8 csi``
Command Set Identifier
+``struct nvme_ns_mgmt_host_sw_specified *data``
+ Host Software Specified Fields that defines ns creation parameters
+
**Description**
On successful creation, the namespace exists in the subsystem, but is not
controller to free
+.. c:function:: __u16 nvme_mi_ctrl_id (nvme_mi_ctrl_t ctrl)
+
+ get the ID of a controller
+
+**Parameters**
+
+``nvme_mi_ctrl_t ctrl``
+ controller to query
+
+**Description**
+
+Retrieve the ID of the controller, as defined by hardware, and available
+in the Identify (Controller List) data. This is the value passed to
+**nvme_mi_init_ctrl**, but may have been created internally via
+**nvme_mi_scan_ep**.
+
+**Return**
+
+the (locally-stored) ID of this controller.
+
+
.. c:function:: char * nvme_mi_endpoint_desc (nvme_mi_ep_t ep)
Get a string describing a MI endpoint.
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
-.. c:function:: int nvme_mi_admin_ns_mgmt_create (nvme_mi_ctrl_t ctrl, struct nvme_id_ns *ns, __u8 csi, __u32 *nsid)
+.. c:function:: int nvme_mi_admin_ns_mgmt_create (nvme_mi_ctrl_t ctrl, struct nvme_id_ns *ns, __u8 csi, __u32 *nsid, struct nvme_ns_mgmt_host_sw_specified *data)
Helper for Namespace Management Create command
``__u32 *nsid``
Set to new namespace ID on create
+``struct nvme_ns_mgmt_host_sw_specified *data``
+ Host Software Specified Fields that defines ns creation parameters
+
**Description**
Issues a Namespace Management (Create) command to **ctrl**, to create a
--- /dev/null
+
+
+.. c:enum:: nbft_desc_type
+
+ NBFT Elements - Descriptor Types (Figure 5)
+
+**Constants**
+
+``NBFT_DESC_HEADER``
+ Header: an ACPI structure header with some additional
+ NBFT specific info.
+
+``NBFT_DESC_CONTROL``
+ Control Descriptor: indicates the location of host,
+ HFI, SSNS, security, and discovery descriptors.
+
+``NBFT_DESC_HOST``
+ Host Descriptor: host information.
+
+``NBFT_DESC_HFI``
+ HFI Descriptor: an indexable table of HFI Descriptors,
+ one for each fabric interface on the host.
+
+``NBFT_DESC_SSNS``
+ Subsystem Namespace Descriptor: an indexable table
+ of SSNS Descriptors.
+
+``NBFT_DESC_SECURITY``
+ Security Descriptor: an indexable table of Security
+ descriptors.
+
+``NBFT_DESC_DISCOVERY``
+ Discovery Descriptor: an indexable table of Discovery
+ Descriptors.
+
+``NBFT_DESC_HFI_TRINFO``
+ HFI Transport Descriptor: indicated by an HFI Descriptor,
+ corresponds to a specific transport for a single HFI.
+
+``NBFT_DESC_RESERVED_8``
+ Reserved.
+
+``NBFT_DESC_SSNS_EXT_INFO``
+ SSNS Extended Info Descriptor: indicated by an SSNS
+ Descriptor if required.
+
+
+
+
+.. c:enum:: nbft_trtype
+
+ NBFT Interface Transport Types (Figure 7)
+
+**Constants**
+
+``NBFT_TRTYPE_TCP``
+ NVMe/TCP (802.3 + TCP/IP). String Designator "tcp".
+
+
+
+
+.. c:struct:: nbft_heap_obj
+
+ NBFT Header Driver Signature
+
+**Definition**
+
+::
+
+ struct nbft_heap_obj {
+ __le32 offset;
+ __le16 length;
+ };
+
+**Members**
+
+``offset``
+ Offset in bytes of the heap object, if any, from byte offset 0h
+ of the NBFT Table Header.
+
+``length``
+ Length in bytes of the heap object, if any.
+
+
+
+
+
+.. c:struct:: nbft_header
+
+ NBFT Table - Header (Figure 8)
+
+**Definition**
+
+::
+
+ struct nbft_header {
+ char signature[4];
+ __le32 length;
+ __u8 major_revision;
+ __u8 checksum;
+ char oem_id[6];
+ char oem_table_id[8];
+ __le32 oem_revision;
+ __le32 creator_id;
+ __le32 creator_revision;
+ __le32 heap_offset;
+ __le32 heap_length;
+ struct nbft_heap_obj driver_dev_path_sig;
+ __u8 minor_revision;
+ __u8 reserved[13];
+ };
+
+**Members**
+
+``signature``
+ Signature: An ASCII string representation of the table
+ identifier. This field shall be set to the value 4E424654h
+ (i.e. "NBFT", see #NBFT_HEADER_SIG).
+
+``length``
+ Length: The length of the table, in bytes, including the
+ header, starting from offset 0h. This field is used to record
+ the size of the entire table.
+
+``major_revision``
+ Major Revision: The major revision of the structure
+ corresponding to the Signature field. Larger major revision
+ numbers should not be assumed backward compatible to lower
+ major revision numbers with the same signature.
+
+``checksum``
+ Checksum: The entire table, including the Checksum field,
+ shall sum to 0h to be considered valid.
+
+``oem_id``
+ OEMID shall be populated by the NBFT driver writer by
+ an OEM-supplied string that identifies the OEM. All
+ trailing bytes shall be NULL.
+
+``oem_table_id``
+ OEM Table ID: This field shall be populated by the NBFT
+ driver writer with an OEM-supplied string that the OEM
+ uses to identify the particular data table. This field is
+ particularly useful when defining a definition block to
+ distinguish definition block functions. The OEM assigns
+ each dissimilar table a new OEM Table ID.
+
+``oem_revision``
+ OEM Revision: An OEM-supplied revision number. Larger
+ numbers are assumed to be newer revisions.
+
+``creator_id``
+ Creator ID: Vendor ID of utility that created the table.
+ For instance, this may be the ID for the ASL Compiler.
+
+``creator_revision``
+ Creator Revision: Revision of utility that created the
+ table. For instance, this may be the ID for the ASL Compiler.
+
+``heap_offset``
+ Heap Offset (HO): This field indicates the offset in bytes
+ of the heap, if any, from byte offset 0h of the NBFT
+ Table Header.
+
+``heap_length``
+ Heap Length (HL): The length of the heap, if any.
+
+``driver_dev_path_sig``
+ Driver Signature Heap Object Reference: This field indicates
+ the offset in bytes of a heap object containing the Driver
+ Signature, if any, from byte offset 0h of the NBFT Table
+ Header.
+
+``minor_revision``
+ Minor Revision: The minor revision of the structure
+ corresponding to the Signature field. If the major revision
+ numbers are the same, any minor revision number differences
+ shall be backwards compatible with the same signature.
+
+``reserved``
+ Reserved.
+
+
+
+
+
+.. c:struct:: nbft_control
+
+ NBFT Table - Control Descriptor (Figure 8)
+
+**Definition**
+
+::
+
+ struct nbft_control {
+ __u8 structure_id;
+ __u8 major_revision;
+ __u8 minor_revision;
+ __u8 reserved1;
+ __le16 csl;
+ __u8 flags;
+ __u8 reserved2;
+ struct nbft_heap_obj hdesc;
+ __u8 hsv;
+ __u8 reserved3;
+ __le32 hfio;
+ __le16 hfil;
+ __u8 hfiv;
+ __u8 num_hfi;
+ __le32 ssnso;
+ __le16 ssnsl;
+ __u8 ssnsv;
+ __u8 num_ssns;
+ __le32 seco;
+ __le16 secl;
+ __u8 secv;
+ __u8 num_sec;
+ __le32 disco;
+ __le16 discl;
+ __u8 discv;
+ __u8 num_disc;
+ __u8 reserved4[16];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field specifies the element (refer to
+ :c:type:`enum nbft_desc_type <nbft_desc_type>`). This field shall be set to 1h (i.e.,
+ Control, #NBFT_DESC_CONTROL).
+
+``major_revision``
+ Major Revision: The major revision of the structure corresponding
+ to the Signature field. Larger major revision numbers should
+ not be assumed backward compatible to lower major revision
+ numbers with the same signature.
+
+``minor_revision``
+ Minor Revision: The minor revision of the structure corresponding
+ to the signature field. If the major revision numbers are
+ the same, any minor revision number differences shall be backwards
+ compatible with the same signature.
+
+``reserved1``
+ Reserved.
+
+``csl``
+ Control Structure Length (CSL): This field indicates the length
+ in bytes of the Control Descriptor.
+
+``flags``
+ Flags, see :c:type:`enum nbft_control_flags <nbft_control_flags>`.
+
+``reserved2``
+ Reserved.
+
+``hdesc``
+ Host Descriptor (HDESC): This field indicates the location
+ and length of the Host Descriptor (see :c:type:`struct nbft_host <nbft_host>`).
+
+``hsv``
+ Host Descriptor Version (HSV): This field indicates the version
+ of the Host Descriptor.
+
+``reserved3``
+ Reserved.
+
+``hfio``
+ HFI Descriptor List Offset (HFIO): If this field is set to
+ a non-zero value, then this field indicates the offset in bytes
+ of the HFI Descriptor List, if any, from byte offset 0h of the
+ NBFT Table Header. If the **num_hfi** field is cleared to 0h,
+ then this field is reserved.
+
+``hfil``
+ HFI Descriptor Length (HFIL): This field indicates the length
+ in bytes of each HFI Descriptor, if any. If the **num_hfi** field
+ is cleared to 0h, then this field is reserved.
+
+``hfiv``
+ HFI Descriptor Version (HFIV): This field indicates the version
+ of each HFI Descriptor.
+
+``num_hfi``
+ Number of Host Fabric Interface Descriptors (NumHFI): This field
+ indicates the number of HFI Descriptors (see :c:type:`struct nbft_hfi <nbft_hfi>`)
+ in the HFI Descriptor List, if any. If no interfaces have been
+ configured, then this field shall be cleared to 0h.
+
+``ssnso``
+ SSNS Descriptor List Offset (SSNSO):: This field indicates
+ the offset in bytes of the SSNS Descriptor List, if any, from
+ byte offset 0h of the NBFT Table Header. If the **num_ssns** field
+ is cleared to 0h, then this field is reserved.
+
+``ssnsl``
+ SSNS Descriptor Length (SSNSL): This field indicates the length
+ in bytes of each SSNS Descriptor, if any. If the **num_ssns**
+ field is cleared to 0h, then this field is reserved.
+
+``ssnsv``
+ SSNS Descriptor Version (SSNSV): This field indicates the version
+ of the SSNS Descriptor.
+
+``num_ssns``
+ Number of Subsystem and Namespace Descriptors (NumSSNS): This
+ field indicates the number of Subsystem Namespace (SSNS)
+ Descriptors (see :c:type:`struct nbft_ssns <nbft_ssns>`) in the SSNS Descriptor List,
+ if any.
+
+``seco``
+ Security Profile Descriptor List Offset (SECO): This field
+ indicates the offset in bytes of the Security Profile Descriptor
+ List, if any, from byte offset 0h of the NBFT Table Header.
+ If the **num_sec** field is cleared to 0h, then this field
+ is reserved.
+
+``secl``
+ Security Profile Descriptor Length (SECL): This field indicates
+ the length in bytes of each Security Profile Descriptor, if any.
+ If the **num_sec** field is cleared to 0h, then this field
+ is reserved.
+
+``secv``
+ Security Profile Descriptor Version (SECV): This field indicates
+ the version of the Security Profile Descriptor.
+
+``num_sec``
+ Number of Security Profile Descriptors (NumSec): This field
+ indicates the number of Security Profile Descriptors
+ (see :c:type:`struct nbft_security <nbft_security>`), if any, in the Security Profile
+ Descriptor List.
+
+``disco``
+ Discovery Descriptor Offset (DISCO): This field indicates
+ the offset in bytes of the Discovery Descriptor List, if any,
+ from byte offset 0h of the NBFT Table Header. If the **num_disc**
+ field is cleared to 0h, then this field is reserved.
+
+``discl``
+ Discovery Descriptor Length (DISCL): This field indicates
+ the length in bytes of each Discovery Descriptor, if any.
+ If the **num_disc** field is cleared to 0h, then this field
+ is reserved.
+
+``discv``
+ Discovery Descriptor Version (DISCV): This field indicates
+ the version of the Discovery Descriptor.
+
+``num_disc``
+ Number of Discovery Descriptors (NumDisc): This field indicates
+ the number of Discovery Descriptors (see :c:type:`struct nbft_discovery <nbft_discovery>`),
+ if any, in the Discovery Descriptor List, if any.
+
+``reserved4``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_control_flags
+
+ Control Descriptor Flags
+
+**Constants**
+
+``NBFT_CONTROL_VALID``
+ Block Valid: indicates that the structure is valid.
+
+
+
+
+.. c:struct:: nbft_host
+
+ Host Descriptor (Figure 9)
+
+**Definition**
+
+::
+
+ struct nbft_host {
+ __u8 structure_id;
+ __u8 flags;
+ __u8 host_id[16];
+ struct nbft_heap_obj host_nqn_obj;
+ __u8 reserved[8];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 2h (i.e.,
+ Host Descriptor; #NBFT_DESC_HOST).
+
+``flags``
+ Host Flags, see :c:type:`enum nbft_host_flags <nbft_host_flags>`.
+
+``host_id``
+ Host ID: This field shall be set to the Host Identifier. This
+ field shall not be empty if the NBFT and NVMe Boot are supported
+ by the Platform.
+
+``host_nqn_obj``
+ Host NQN Heap Object Reference: this field indicates a heap
+ object containing a Host NQN. This object shall not be empty
+ if the NBFT and NVMe Boot are supported by the Platform.
+
+``reserved``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_host_flags
+
+ Host Flags
+
+**Constants**
+
+``NBFT_HOST_VALID``
+ Descriptor Valid: If set to 1h, then this
+ descriptor is valid. If cleared to 0h, then
+ this descriptor is reserved.
+
+``NBFT_HOST_HOSTID_CONFIGURED``
+ HostID Configured: If set to 1h, then the
+ Host ID field contains an administratively-configured
+ value. If cleared to 0h, then the Host ID
+ field contains a driver default value.
+
+``NBFT_HOST_HOSTNQN_CONFIGURED``
+ Host NQN Configured: If set to 1h, then the
+ Host NQN indicated by the Host NQN Heap Object
+ Reference field (:c:type:`struct nbft_host <nbft_host>`.host_nqn)
+ contains an administratively-configured value.
+ If cleared to 0h, then the Host NQN indicated
+ by the Host NQN Offset field contains a driver
+ default value.
+
+``NBFT_HOST_PRIMARY_ADMIN_MASK``
+ Mask to get Primary Administrative Host Descriptor:
+ indicates whether the Host Descriptor in this
+ NBFT was selected as the primary NBFT for
+ administrative purposes of platform identity
+ as a hint to the OS. If multiple NBFT tables
+ are present, only one NBFT should be administratively
+ selected. There is no enforcement mechanism
+ for this to be coordinated between multiple NBFT
+ tables, but this field should be set to Selected
+ (#NBFT_HOST_PRIMARY_ADMIN_SELECTED) if
+ more than one NBFT is present.
+
+``NBFT_HOST_PRIMARY_ADMIN_NOT_INDICATED``
+ Not Indicated by Driver: The driver that created
+ this NBFT provided no administrative priority
+ hint for this NBFT.
+
+``NBFT_HOST_PRIMARY_ADMIN_UNSELECTED``
+ Unselected: The driver that created this NBFT
+ explicitly indicated that this NBFT should
+ not be prioritized over any other NBFT.
+
+``NBFT_HOST_PRIMARY_ADMIN_SELECTED``
+ Selected: The driver that created this NBFT
+ explicitly indicated that this NBFT should
+ be prioritized over any other NBFT.
+
+
+
+
+.. c:struct:: nbft_hfi
+
+ Host Fabric Interface (HFI) Descriptor (Figure 11)
+
+**Definition**
+
+::
+
+ struct nbft_hfi {
+ __u8 structure_id;
+ __u8 index;
+ __u8 flags;
+ __u8 trtype;
+ __u8 reserved1[12];
+ struct nbft_heap_obj trinfo_obj;
+ __u8 reserved2[10];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 3h (i.e., Host Fabric
+ Interface Descriptor; #NBFT_DESC_HFI).
+
+``index``
+ HFI Descriptor Index: This field indicates the number of this
+ HFI Descriptor in the Host Fabric Interface Descriptor List.
+
+``flags``
+ HFI Descriptor Flags, see :c:type:`enum nbft_hfi_flags <nbft_hfi_flags>`.
+
+``trtype``
+ HFI Transport Type, see :c:type:`enum nbft_trtype <nbft_trtype>`.
+
+``reserved1``
+ Reserved.
+
+``trinfo_obj``
+ HFI Transport Info Descriptor Heap Object Reference: If this
+ field is set to a non-zero value, then this field indicates
+ the location and size of a heap object containing
+ a HFI Transport Info.
+
+``reserved2``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_hfi_flags
+
+ HFI Descriptor Flags
+
+**Constants**
+
+``NBFT_HFI_VALID``
+ Descriptor Valid: If set to 1h, then this descriptor is valid.
+ If cleared to 0h, then this descriptor is reserved.
+
+
+
+
+.. c:struct:: nbft_hfi_info_tcp
+
+ HFI Transport Info Descriptor - NVMe/TCP (Figure 13)
+
+**Definition**
+
+::
+
+ struct nbft_hfi_info_tcp {
+ __u8 structure_id;
+ __u8 version;
+ __u8 trtype;
+ __u8 trinfo_version;
+ __le16 hfi_index;
+ __u8 flags;
+ __le32 pci_sbdf;
+ __u8 mac_addr[6];
+ __le16 vlan;
+ __u8 ip_origin;
+ __u8 ip_address[16];
+ __u8 subnet_mask_prefix;
+ __u8 ip_gateway[16];
+ __u8 reserved1;
+ __le16 route_metric;
+ __u8 primary_dns[16];
+ __u8 secondary_dns[16];
+ __u8 dhcp_server[16];
+ struct nbft_heap_obj host_name_obj;
+ __u8 reserved2[18];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 7h (i.e.,
+ HFI Transport Info; #NBFT_DESC_HFI_TRINFO).
+
+``version``
+ Version: This field shall be set to 1h.
+
+``trtype``
+ HFI Transport Type, see :c:type:`enum nbft_trtype <nbft_trtype>`: This field
+ shall be set to 03h (i.e., NVMe/TCP; #NBFT_TRTYPE_TCP).
+
+``trinfo_version``
+ Transport Info Version: Implementations compliant to this
+ specification shall set this field to 1h.
+
+``hfi_index``
+ HFI Descriptor Index: The value of the HFI Descriptor Index
+ field of the HFI Descriptor (see :c:type:`struct nbft_hfi <nbft_hfi>`.index)
+ whose HFI Transport Info Descriptor Heap Object Reference
+ field indicates this HFI Transport Info Descriptor.
+
+``flags``
+ HFI Transport Flags, see :c:type:`enum nbft_hfi_info_tcp_flags <nbft_hfi_info_tcp_flags>`.
+
+``pci_sbdf``
+ PCI Express Routing ID for the HFI Transport Function:
+ This field indicates the PCI Express Routing ID as specified
+ in the PCI Express Base Specification.
+
+``mac_addr``
+ MAC Address: The MAC address of this HFI, in EUI-48TM format,
+ as defined in the IEEE Guidelines for Use of Extended Unique
+ Identifiers. This field shall be set to a non-zero value.
+
+``vlan``
+ VLAN: If this field is set to a non-zero value, then this
+ field contains the VLAN identifier if the VLAN associated
+ with this HFI, as defined in IEEE 802.1q-2018. If no VLAN
+ is associated with this HFI, then this field shall be cleared
+ to 0h.
+
+``ip_origin``
+ IP Origin: If this field is set to a non-zero value, then
+ this field indicates the source of Ethernet L3 configuration
+ information used by the driver for this interface. Valid
+ values are defined in the Win 32 API: NL_PREFIX_ORIGIN
+ enumeration specification. This field should be cleared
+ to 0h if the IP Origin field is unused by driver.
+
+``ip_address``
+ IP Address: This field indicates the IPv4 or IPv6 address
+ of this HFI. This field shall be set to a non-zero value.
+
+``subnet_mask_prefix``
+ Subnet Mask Prefix: This field indicates the IPv4 or IPv6
+ subnet mask in CIDR routing prefix notation.
+
+``ip_gateway``
+ IP Gateway: If this field is set to a non-zero value, this
+ field indicates the IPv4 or IPv6 address of the IP gateway
+ for this HFI. If this field is cleared to 0h, then
+ no IP gateway is specified.
+
+``reserved1``
+ Reserved.
+
+``route_metric``
+ Route Metric: If this field is set to a non-zero value,
+ this field indicates the cost value for the route indicated
+ by this HF. This field contains the value utilized by the
+ pre-OS driver when chosing among all available routes. Lower
+ values relate to higher priority. Refer to IETF RFC 4249.
+ If the pre-OS driver supports routing and did not configure
+ a specific route metric for this interface, then the pre-OS
+ driver should set this value to 500. If the pre-OS driver
+ does not support routing, then this field should be cleared
+ to 0h.
+
+``primary_dns``
+ Primary DNS: If this field is set to a non-zero value,
+ this field indicates the IPv4 or IPv6 address of the
+ Primary DNS server for this HFI, if any, from byte offset
+ 0h of the NBFT Table Header. If this field is cleared to 0h,
+ then no Primary DNS is specified.
+
+``secondary_dns``
+ Secondary DNS: If this field is set to a non-zero value,
+ this field indicates the IPv4 or IPv6 address of
+ the Secondary DNS server for this HFI, if any, from byte
+ offset 0h of the NBFT Table Header. If this field is
+ cleared to 0h, then no Secondary DNS is specified.
+
+``dhcp_server``
+ DHCP Server: If the DHCP Override bit is set to 1h, then
+ this field indicates the IPv4 or IPv6 address of the DHCP
+ server used to assign this HFI address. If that bit is
+ cleared to 0h, then this field is reserved.
+
+``host_name_obj``
+ Host Name Heap Object Reference: If this field is set
+ to a non-zero value, then this field indicates the location
+ and size of a heap object containing a Host Name string.
+
+``reserved2``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_hfi_info_tcp_flags
+
+ HFI Transport Flags
+
+**Constants**
+
+``NBFT_HFI_INFO_TCP_VALID``
+ Descriptor Valid: if set to 1h, then this
+ descriptor is valid. If cleared to 0h, then
+ this descriptor is reserved.
+
+``NBFT_HFI_INFO_TCP_GLOBAL_ROUTE``
+ Global Route vs. Link Local Override Flag:
+ if set to 1h, then the BIOS utilized this
+ interface described by HFI to be the default
+ route with highest priority. If cleared to 0h,
+ then routes are local to their own scope.
+
+``NBFT_HFI_INFO_TCP_DHCP_OVERRIDE``
+ DHCP Override: if set to 1, then HFI information
+ was populated by consuming the DHCP on this
+ interface. If cleared to 0h, then the HFI
+ information was set administratively by
+ a configuration interface to the driver and
+ pre-OS envrionment.
+
+
+
+
+.. c:struct:: nbft_ssns
+
+ Subsystem Namespace (SSNS) Descriptor (Figure 15)
+
+**Definition**
+
+::
+
+ struct nbft_ssns {
+ __u8 structure_id;
+ __le16 index;
+ __le16 flags;
+ __u8 trtype;
+ __le16 trflags;
+ __u8 primary_discovery_ctrl_index;
+ __u8 reserved1;
+ struct nbft_heap_obj subsys_traddr_obj;
+ struct nbft_heap_obj subsys_trsvcid_obj;
+ __le16 subsys_port_id;
+ __le32 nsid;
+ __u8 nidt;
+ __u8 nid[16];
+ __u8 security_desc_index;
+ __u8 primary_hfi_desc_index;
+ __u8 reserved2;
+ struct nbft_heap_obj secondary_hfi_assoc_obj;
+ struct nbft_heap_obj subsys_ns_nqn_obj;
+ struct nbft_heap_obj ssns_extended_info_desc_obj;
+ __u8 reserved3[62];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 4h
+ (i.e., SSNS; #NBFT_DESC_SSNS).
+
+``index``
+ SSNS Descriptor Index: This field indicates the number
+ of this Subsystem Namespace Descriptor in the
+ Subsystem Namespace Descriptor List.
+
+``flags``
+ SSNS Flags, see :c:type:`enum nbft_ssns_flags <nbft_ssns_flags>`.
+
+``trtype``
+ Transport Type, see :c:type:`enum nbft_trtype <nbft_trtype>`.
+
+``trflags``
+ Transport Specific Flags, see :c:type:`enum nbft_ssns_trflags <nbft_ssns_trflags>`.
+
+``primary_discovery_ctrl_index``
+ Primary Discovery Controller Index: The Discovery
+ Descriptor Index field of the Discovery Descriptor
+ (see :c:type:`struct nbft_discovery <nbft_discovery>`) that is associated with
+ this SSNS Descriptor. If a Discovery controller was
+ used to establish this record this value shall
+ be set to a non-zero value. If this namespace was
+ associated with multiple Discovery controllers,
+ those Discovery controllers shall have records
+ in the Discovery Descriptor to facilitate multi-path
+ rediscovery as required. If no Discovery controller
+ was utilized to inform this namespace record,
+ this field shall be cleared to 0h.
+
+``reserved1``
+ Reserved.
+
+``subsys_traddr_obj``
+ Subsystem Transport Address Heap Object Reference:
+ This field indicates the location and size of a heap
+ object containing the Subsystem Transport Address.
+ For IP based transports types, shall be an IP Address.
+
+``subsys_trsvcid_obj``
+ Subsystem Transport Service Identifier Heap Object Reference:
+ This field indicates the location and size of a heap
+ object containing an array of bytes indicating
+ the Subsystem Transport Service Identifier.
+ See :c:type:`enum nbft_trtype <nbft_trtype>`.
+
+``subsys_port_id``
+ Subsystem Port ID: Port in the NVM subsystem
+ associated with this transport address used by
+ the pre-OS driver.
+
+``nsid``
+ Namespace ID: This field indicates the namespace
+ identifier (NSID) of the namespace indicated by
+ this descriptor. This field shall be cleared to 0h
+ if not specified by the user. If this value is cleared
+ to 0h, then consumers of the NBFT shall rely
+ on the NID.
+
+``nidt``
+ Namespace Identifier Type (NIDT): This field
+ contains the value of the Namespace Identifier Type (NIDT)
+ field in the Namespace Identification Descriptor
+ for the namespace indicated by this descriptor.
+ If a namespace supports multiple NIDT entries
+ for uniqueness, the order of preference is NIDT field
+ value of 3h (i.e., UUID) before 2h (i.e., NSGUID),
+ and 2h before 1h (i.e., EUI-64).
+
+``nid``
+ Namespace Identifier (NID): This field contains
+ the value of the Namespace Identifier (NID) field
+ in the Namespace Identification Descriptor for
+ the namespace indicated by this descriptor.
+
+``security_desc_index``
+ Security Profile Descriptor Index: If the Use Security
+ Flag bit in the SSNS Flags field is set to 1h, then
+ this field indicates the value of the Security Profile
+ Descriptor Index field of the Security Profile
+ Descriptor (see :c:type:`struct nbft_security <nbft_security>`) associated
+ with this namespace. If the Use Security Flag bit
+ is cleared to 0h, then no Security Profile Descriptor
+ is associated with this namespace and this field
+ is reserved.
+
+``primary_hfi_desc_index``
+ Primary HFI Descriptor Index: This field indicates
+ the value of the HFI Descriptor Index field of the
+ HFI Descriptor (see :c:type:`struct nbft_hfi <nbft_hfi>`) for the
+ interface associated with this namespace. If multiple
+ HFIs are associated with this record, subsequent
+ interfaces should be populated in the Secondary
+ HFI Associations field.
+
+``reserved2``
+ Reserved.
+
+``secondary_hfi_assoc_obj``
+ Secondary HFI Associations Heap Object Reference:
+ If this field is set to a non-zero value, then
+ this field indicates an array of bytes, in which
+ each byte contains the value of the HFI Descriptor
+ Index field of an HFI Descriptor in the HFI Descriptor
+ List. If this field is cleared to 0h, then no
+ secondary HFI associations are specified.
+
+``subsys_ns_nqn_obj``
+ Subsystem and Namespace NQN Heap Object Reference:
+ This field indicates the location and size of
+ a heap object containing the Subsystem and Namespace NQN.
+
+``ssns_extended_info_desc_obj``
+ SSNS Extended Information Descriptor Heap Object
+ Reference: If the SSNS Extended Info In-use Flag
+ bit is set to 1h, then this field indicates the
+ offset in bytes of a heap object containing an
+ SSNS Extended Information Descriptor
+ (see :c:type:`struct nbft_ssns_ext_info <nbft_ssns_ext_info>`) heap object
+ from byte offset 0h of the NBFT Table Header.
+ If the SSNS Extended Info In-use Flag bit is cleared
+ to 0h, then this field is reserved.
+
+``reserved3``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_ssns_flags
+
+ Subsystem and Namespace Specific Flags Field (Figure 16)
+
+**Constants**
+
+``NBFT_SSNS_VALID``
+ Descriptor Valid: If set to 1h, then this descriptor
+ is valid. If cleared to 0h, then this descriptor
+ is not valid. A host that supports NVMe-oF Boot,
+ but does not currently have a remote Subsystem
+ and Namespace assigned may clear this bit to 0h.
+
+``NBFT_SSNS_NON_BOOTABLE_ENTRY``
+ Non-bootable Entry Flag: If set to 1h, this flag
+ indicates that this SSNS Descriptor contains
+ a namespace of administrative purpose to the boot
+ process, but the pre-OS may not have established
+ connectivity to or evaluated the contents of this
+ Descriptor. Such namespaces may contain supplemental
+ data deemed relevant by the Administrator as part
+ of the pre-OS to OS hand off. This may include
+ properties such as a UEFI device path that may
+ not have been created for this namespace. This means
+ an OS runtime may still require the contents
+ of such a namespace to complete later stages
+ of boot. If cleared to 0h, then this namespace did
+ not have any special administrative intent.
+
+``NBFT_SSNS_USE_SECURITY_FIELD``
+ Use Security Flag: If set to 1h, then there is
+ a Security Profile Descriptor associated with this
+ SSNS record and the Security Profile Descriptor Index
+ field is valid. If cleared to 0h, then there is
+ no Security Profile Descriptor associated with this
+ SSNS record and the Security Profile Descriptor Index
+ field is not valid.
+
+``NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE``
+ DHCP Root-Path Override Flag: If set to 1h, then
+ this SSNS descriptor was populated by consuming
+ the DHCP Root-Path on this interface. If cleared
+ to 0h, then the DHCP Root-Path was not used
+ in populating the SSNS descriptor.
+
+``NBFT_SSNS_EXTENDED_INFO_IN_USE``
+ SSNS Extended Info In-use Flag: If set to 1h,
+ then the SSNS Extended Information Offset field
+ and the SSNS Extended Information Length field
+ are valid. This flag, if set to 1h, indicates
+ that a Subsystem and Namespace Extended Information
+ Descriptor corresponding to this descriptor is present.
+
+``NBFT_SSNS_SEPARATE_DISCOVERY_CTRL``
+ Separate Discovery Controller Flag: If set to 1h,
+ then the Discovery controller associated with
+ this volume is on a different transport address
+ than the specified in the Subsystem Transport
+ Address Heap Object Reference. If cleared to 0h,
+ then the Discovery controller is the same as the
+ Subsystem Transport Address Heap Object Reference.
+
+``NBFT_SSNS_DISCOVERED_NAMESPACE``
+ Discovered Namespace Flag: If set to 1h, then
+ this namespace was acquired through discovery.
+ If cleared to 0h, then this namespace was
+ explicitly configured in the system.
+
+``NBFT_SSNS_UNAVAIL_NAMESPACE_MASK``
+ Mask to get Unavailable Namespace Flag: This
+ field indicates the availability of the namespace
+ at a specific point in time. Such use is only
+ a hint and its use does not guarantee the availability
+ of that referenced namespace at any future point in time.
+
+``NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND``
+ Not Indicated by Driver: No information is provided.
+
+``NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL``
+ Available: A referenced namespace described by this
+ flag was previously accessible by the pre-OS driver.
+
+``NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL``
+ Unavailable: This namespace was administratively
+ configured but unattempted, unavailable or
+ inaccessible when establishing connectivity
+ by the pre-OS driver.
+
+
+
+
+.. c:enum:: nbft_ssns_trflags
+
+ SSNS Transport Specific Flags Field (Figure 17)
+
+**Constants**
+
+``NBFT_SSNS_TRFLAG_VALID``
+ Transport Specific Flags in Use: If set to 1h, then
+ this descriptor is valid. If cleared to 0h, then
+ this descriptor is not valid.
+
+``NBFT_SSNS_PDU_HEADER_DIGEST``
+ PDU Header Digest (HDGST) Flag: If set to 1h, then
+ the host or administrator required the connection
+ described by this Subsystem and Namespace Descriptor
+ to use the NVM Header Digest Enabled. A consumer
+ of this information should attempt to use NVM Header
+ Digest when recreating this connection if enabled.
+ If cleared to 0h, then the host or administrator
+ did not require the connection described by this
+ Subsystem and Namespace Descriptor to use the
+ NVM Header Digest Enabled.
+
+``NBFT_SSNS_DATA_DIGEST``
+ Data Digest (DDGST) Flag: If set to 1h, then
+ the host or administrator required the connection
+ described by this Subsystem and Namespace Descriptor
+ to use the NVM Data Digest Enabled. If cleared
+ to 0h, then the host or administrator did not
+ require the connection described by this Subsystem
+ and Namespace Descriptor to use the NVM Data Digest
+ Enabled. A consumer of this field should attempt
+ to use NVM Data Digest when recreating this
+ connection if enabled.
+
+
+
+
+.. c:struct:: nbft_ssns_ext_info
+
+ Subsystem and Namespace Extended Information Descriptor (Figure 19)
+
+**Definition**
+
+::
+
+ struct nbft_ssns_ext_info {
+ __u8 structure_id;
+ __u8 version;
+ __le16 ssns_index;
+ __le32 flags;
+ __le16 cntlid;
+ __le16 asqsz;
+ struct nbft_heap_obj dhcp_root_path_str_obj;
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 9h
+ (i.e., SSNS Extended Info; #NBFT_DESC_SSNS_EXT_INFO).
+
+``version``
+ Version: This field shall be set to 1h.
+
+``ssns_index``
+ SSNS Descriptor Index: This field indicates the value
+ of the SSNS Descriptor Index field of the Subsystem
+ and Namespace Descriptor (see :c:type:`struct nbft_ssns <nbft_ssns>`) whose
+ SSNS Extended Information Descriptor Heap Object
+ Reference field indicates this descriptor.
+
+``flags``
+ Flags, see :c:type:`enum nbft_ssns_ext_info_flags <nbft_ssns_ext_info_flags>`.
+
+``cntlid``
+ Controller ID: The controller identifier of the first
+ controller associated with the Admin Queue by the driver.
+ If a controller identifier is not administratively
+ specified or direct configuration is not supported
+ by the driver, then this field shall be cleared to 0h.
+
+``asqsz``
+ Admin Submission Queue Size (ASQSZ): The Admin Submission
+ Queue Size utilized for the respective SSNS by the driver.
+
+``dhcp_root_path_str_obj``
+ DHCP Root Path String Heap Object Reference: If the
+ SSNS DHCP Root Path Override (#NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE)
+ flag bit is set to 1h, then this field indicates
+ the offset in bytes of a heap object containing
+ an DHCP Root Path String used by the driver. If the
+ SNSS DHCP Root Path Override flag bit is cleared to 0h,
+ then this field is reserved.
+
+
+
+
+
+.. c:enum:: nbft_ssns_ext_info_flags
+
+ Subsystem and Namespace Extended Information Descriptor Flags
+
+**Constants**
+
+``NBFT_SSNS_EXT_INFO_VALID``
+ Descriptor Valid: If set to 1h, then this descriptor
+ is valid. If cleared to 0h, then this descriptor
+ is reserved.
+
+``NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ``
+ Administrative ASQSZ: If set to 1h, then the value
+ of the ASQSZ field was provided by administrative
+ configuration for this SSNS record. If cleared
+ to 0h, then the value of the ASQSZ field was
+ either obtained by discovery or assumed
+ by the driver.
+
+
+
+
+.. c:struct:: nbft_security
+
+ Security Profile Descriptor (Figure 21)
+
+**Definition**
+
+::
+
+ struct nbft_security {
+ __u8 structure_id;
+ __u8 index;
+ __le16 flags;
+ __u8 secret_type;
+ __u8 reserved1;
+ struct nbft_heap_obj sec_chan_alg_obj;
+ struct nbft_heap_obj auth_proto_obj;
+ struct nbft_heap_obj cipher_suite_obj;
+ struct nbft_heap_obj dh_grp_obj;
+ struct nbft_heap_obj sec_hash_func_obj;
+ struct nbft_heap_obj sec_keypath_obj;
+ __u8 reserved2[22];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 5h
+ (i.e., Security; #NBFT_DESC_SECURITY).
+
+``index``
+ Security Profile Descriptor Index: This field indicates
+ the number of this Security Profile Descriptor in the
+ Security Profile Descriptor List.
+
+``flags``
+ Security Profile Descriptor Flags, see :c:type:`enum nbft_security_flags <nbft_security_flags>`.
+
+``secret_type``
+ Secret Type, see :c:type:`enum nbft_security_secret_type <nbft_security_secret_type>`.
+
+``reserved1``
+ Reserved.
+
+``sec_chan_alg_obj``
+ Secure Channel Algorithm Heap Object Reference: If the
+ Security Policy List field is set to 1h, then this field
+ indicates the location and size of a heap object containing
+ a list of secure channel algorithms. The list is an array
+ of bytes and the values are defined in the Security Type
+ (SECTYPE) field in the Transport Specific Address Subtype
+ Definition in the NVMe TCP Transport Specification.
+ If the Security Policy List field is cleared to 0h, then
+ this field is reserved.
+
+``auth_proto_obj``
+ Authentication Protocols Heap Object Reference: If the
+ Authentication Policy List field is set to 1h, then this
+ field indicates the location and size of a heap object
+ containing a list of authentication protocol identifiers.
+ If the Authentication Policy List field is cleared to 0h,
+ then this field is reserved.
+
+``cipher_suite_obj``
+ Cipher Suite Offset Heap Object Reference: If the Cipher
+ Suites Restricted by Policy bit is set to 1h, then this
+ field indicates the location and size of a heap object
+ containing a list of cipher suite identifiers. The list,
+ if any, is an array of bytes and the values are defined
+ in the IANA TLS Parameters Registry. If the Cipher Suites
+ Restricted by Policy bit is cleared to 0h, then this field
+ is reserved.
+
+``dh_grp_obj``
+ DH Groups Heap Object Reference: If the Authentication DH Groups
+ Restricted by Policy List bit is set to 1h, then this field
+ indicates the location and size of a heap object containing
+ a list of DH-HMAC-CHAP Diffie-Hellman (DH) group identifiers.
+ If the Authentication DH Groups Restricted by Policy List
+ bit is cleared to 0h, then this field is reserved.
+
+``sec_hash_func_obj``
+ Secure Hash Functions Offset Heap Object Reference: If the
+ Secure Hash Functions Policy List bit is set to 1h, then
+ this field indicates the offset in bytes of a heap object
+ containing a list of DH-HMAC-CHAP hash function identifiers.
+ The list is an array of bytes and the values are defined
+ in the NVM Express Base Specification. If the Secure Hash
+ Functions Policy List bit is cleared to 0h, then this
+ field is reserved.
+
+``sec_keypath_obj``
+ Secret Keypath Offset Heap Object Reference: if this field
+ is set to a non-zero value, then this field indicates
+ the location and size of a heap object containing a URI.
+ The type of the URI is specified in the Secret Type field.
+ If this field is cleared to 0h, then this field is reserved.
+
+``reserved2``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_security_flags
+
+ Security Profile Descriptor Flags (Figure 22)
+
+**Constants**
+
+``NBFT_SECURITY_VALID``
+ Descriptor Valid: If set to 1h, then
+ this descriptor is valid. If cleared
+ to 0h, then this descriptor is not valid.
+
+``NBFT_SECURITY_IN_BAND_AUTH_MASK``
+ Mask to get the In-Band Authentication
+ Required field.
+
+``NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED``
+ In-band authentication is not supported
+ by the NVM subsystem.
+
+``NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED``
+ In-band authentication is supported by
+ the NVM subsystem and is not required.
+
+``NBFT_SECURITY_IN_BAND_AUTH_REQUIRED``
+ In-band authentication is supported by
+ the NVM subsystem and is required.
+
+``NBFT_SECURITY_AUTH_POLICY_LIST_MASK``
+ Mask to get the Authentication Policy List
+ flag: This field indicates whether
+ authentication protocols were indicated
+ by policy from driver defaults or
+ administrative configuration.
+
+``NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED``
+ Authentication Protocols Heap Object Reference
+ field Offset and Length are reserved.
+
+``NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER``
+ Authentication Protocols Offset field and
+ the Authentication Protocols Length field
+ indicate a list of authentication protocols
+ used by the driver.
+
+``NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN``
+ Authentication Protocols Offset field and
+ the Authentication Protocols Length field
+ indicate a list of authentication protocols
+ that were administratively set and used
+ by the driver.
+
+``NBFT_SECURITY_SEC_CHAN_NEG_MASK``
+ Mask to get the Secure Channel Negotiation
+ Required flag: This field indicates whether
+ secure channel negotiation (e.g. TLS)
+ is required.
+
+``NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED``
+ Secure channel negotiation is not supported
+ by the NVM subsystem.
+
+``NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED``
+ Secure channel negotiation is supported
+ by the NVM subsystem and is not required.
+
+``NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED``
+ Secure channel negotiation is supported
+ by the NVM subsystem and is required.
+
+``NBFT_SECURITY_SEC_POLICY_LIST_MASK``
+ Mask to get the Security Policy List flag:
+ This field indicates whether secure channel
+ protocols were indicated by policy from driver
+ defaults or administrative configuration.
+
+``NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED``
+ The Offset field and Length field in the
+ Secure Channel Algorithm Heap Object Reference
+ field are reserved.
+
+``NBFT_SECURITY_SEC_POLICY_LIST_DRIVER``
+ The Heap Object specified by the Secure Channel
+ Algorithm Heap Object Reference field indicates
+ a list of authentication protocols used
+ by the driver.
+
+``NBFT_SECURITY_SEC_POLICY_LIST_ADMIN``
+ The Heap Object specified by the Secure Channel
+ Algorithm Heap Object Reference field indicates
+ a list of authentication protocols that were
+ administratively set and used by the driver.
+
+``NBFT_SECURITY_CIPHER_RESTRICTED``
+ Cipher Suites Restricted by Policy: If set to 1h,
+ then the Cipher Suite Offset field and the
+ Ciper Suite Length field indicate a list
+ of supported cipher suites by the driver.
+ If cleared to 0h, then the Cipher Suite Offset
+ field and the Cipher Suite Length field
+ are reserved.
+
+``NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED``
+ Authentication DH Groups Restricted
+ by Policy List: If set to 1h, then connections
+ shall use one of the authentication DH groups
+ in the Authentication DH Groups List is required.
+ If cleared to 0h, then no Authentication DH Groups
+ List is indicated and use of an authentication
+ DH Group is not required.
+
+``NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST``
+ Secure Hash Functions Policy List: If set to 1h,
+ then connections shall use one of the secure
+ hash functions in the Secure Hash Functions
+ Policy List is required. If cleared to 0h,
+ then no Secure Hash Functions Policy
+ List is indicated and use of a secure
+ hash function is not required.
+
+
+
+
+.. c:enum:: nbft_security_secret_type
+
+ Security Profile Descriptor Secret Type
+
+**Constants**
+
+``NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI``
+ Redfish Host Interface URI:
+ If set to 1h, then the Secret Keypath
+ Object Reference is a URI pointing
+ to a Redfish Key Collection Object
+ that contains the PSK.
+
+
+
+
+.. c:struct:: nbft_discovery
+
+ Discovery Descriptor (Figure 24)
+
+**Definition**
+
+::
+
+ struct nbft_discovery {
+ __u8 structure_id;
+ __u8 flags;
+ __u8 index;
+ __u8 hfi_index;
+ __u8 sec_index;
+ __u8 reserved1;
+ struct nbft_heap_obj discovery_ctrl_addr_obj;
+ struct nbft_heap_obj discovery_ctrl_nqn_obj;
+ __u8 reserved2[14];
+ };
+
+**Members**
+
+``structure_id``
+ Structure ID: This field shall be set to 6h
+ (i.e., Discovery Descriptor; #NBFT_DESC_DISCOVERY).
+
+``flags``
+ Discovery Descriptor Flags, see :c:type:`enum nbft_discovery_flags <nbft_discovery_flags>`.
+
+``index``
+ Discovery Descriptor Index: This field indicates
+ the number of this Discovery Descriptor in
+ the Discovery Descriptor List.
+
+``hfi_index``
+ HFI Descriptor Index: This field indicates the value
+ of the HFI Descriptor Index field of the HFI Descriptor
+ associated with this Discovery Descriptor. If multiple
+ HFIs share a common Discovery controller, there shall
+ be multiple Discovery Descriptor entries with one per HFI.
+
+``sec_index``
+ Security Profile Descriptor Index: This field indicates
+ the value of the Security Profile Descriptor Index
+ field of the Security Descriptor associated with
+ this Discovery Descriptor.
+
+``reserved1``
+ Reserved.
+
+``discovery_ctrl_addr_obj``
+ Discovery Controller Address Heap Object Reference:
+ This field indicates the location and size of a heap
+ object containing a URI which indicates an NVMe Discovery
+ controller associated with this Discovery Descriptor.
+ If this field is cleared to 0h, then no URI is specified.
+
+``discovery_ctrl_nqn_obj``
+ Discovery Controller NQN Heap Object Reference:
+ If set to a non-zero value, this field indicates
+ the location and size of a heap object containing
+ an NVMe Discovery controller NQN. If the NVMe Discovery
+ controller referenced by this record requires secure
+ authentication with a well known Subsystem NQN, this
+ field indicates the unique NQN for that NVMe Discovery
+ controller. This record is involved formatted as an NQN
+ string. If this field is cleared to 0h, then this
+ field is reserved and the OS shall use the well
+ known discovery NQN for this record.
+
+``reserved2``
+ Reserved.
+
+
+
+
+
+.. c:enum:: nbft_discovery_flags
+
+ Discovery Descriptor Flags
+
+**Constants**
+
+``NBFT_DISCOVERY_VALID``
+ Descriptor Valid: if set to 1h, then this descriptor
+ is valid. If cleared to 0h, then this descriptor
+ is reserved.
+
+
+
+
+.. c:enum:: nbft_info_primary_admin_host_flag
+
+ Primary Administrative Host Descriptor Flags
+
+**Constants**
+
+``NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_NOT_INDICATED``
+ Not Indicated by Driver: The driver
+ that created this NBFT provided no
+ administrative priority hint for
+ this NBFT.
+
+``NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_UNSELECTED``
+ Unselected: The driver that created
+ this NBFT explicitly indicated that
+ this NBFT should not be prioritized
+ over any other NBFT.
+
+``NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_SELECTED``
+ Selected: The driver that created
+ this NBFT explicitly indicated that
+ this NBFT should be prioritized over
+ any other NBFT.
+
+``NBFT_INFO_PRIMARY_ADMIN_HOST_FLAG_RESERVED``
+ Reserved.
+
+
+
+
+.. c:struct:: nbft_info_host
+
+ Host Descriptor
+
+**Definition**
+
+::
+
+ struct nbft_info_host {
+ unsigned char *id;
+ char *nqn;
+ bool host_id_configured;
+ bool host_nqn_configured;
+ enum nbft_info_primary_admin_host_flag primary;
+ };
+
+**Members**
+
+``id``
+ Host ID (raw UUID, length = 16 bytes).
+
+``nqn``
+ Host NQN.
+
+``host_id_configured``
+ HostID Configured Flag: value of True indicates that **id**
+ contains administratively-configured value, or driver
+ default value if False.
+
+``host_nqn_configured``
+ Host NQN Configured Flag: value of True indicates that
+ **nqn** contains administratively-configured value,
+ or driver default value if False.
+
+``primary``
+ Primary Administrative Host Descriptor, see
+ :c:type:`enum nbft_info_primary_admin_host_flag <nbft_info_primary_admin_host_flag>`.
+
+
+
+
+
+.. c:struct:: nbft_info_hfi_info_tcp
+
+ HFI Transport Info Descriptor - NVMe/TCP
+
+**Definition**
+
+::
+
+ struct nbft_info_hfi_info_tcp {
+ __u32 pci_sbdf;
+ __u8 mac_addr[6];
+ __u16 vlan;
+ __u8 ip_origin;
+ char ipaddr[40];
+ __u8 subnet_mask_prefix;
+ char gateway_ipaddr[40];
+ __u16 route_metric;
+ char primary_dns_ipaddr[40];
+ char secondary_dns_ipaddr[40];
+ char dhcp_server_ipaddr[40];
+ char *host_name;
+ bool this_hfi_is_default_route;
+ bool dhcp_override;
+ };
+
+**Members**
+
+``pci_sbdf``
+ PCI Express Routing ID for the HFI Transport Function.
+
+``mac_addr``
+ MAC Address: The MAC address of this HFI,
+ in EUI-48TM format.
+
+``vlan``
+ The VLAN identifier if the VLAN is associated with
+ this HFI, as defined in IEEE 802.1q-2018 or zeroes
+ if no VLAN is associated with this HFI.
+
+``ip_origin``
+ The source of Ethernet L3 configuration information
+ used by the driver or 0 if not used.
+
+``ipaddr``
+ The IPv4 or IPv6 address of this HFI.
+
+``subnet_mask_prefix``
+ The IPv4 or IPv6 subnet mask in CIDR routing prefix
+ notation.
+
+``gateway_ipaddr``
+ The IPv4 or IPv6 address of the IP gateway for this
+ HFI or zeroes if no IP gateway is specified.
+
+``route_metric``
+ The cost value for the route indicated by this HFI.
+
+``primary_dns_ipaddr``
+ The IPv4 or IPv6 address of the Primary DNS server
+ for this HFI.
+
+``secondary_dns_ipaddr``
+ The IPv4 or IPv6 address of the Secondary DNS server
+ for this HFI.
+
+``dhcp_server_ipaddr``
+ The IPv4 or IPv6 address of the DHCP server used
+ to assign this HFI address.
+
+``host_name``
+ The Host Name string.
+
+``this_hfi_is_default_route``
+ If True, then the BIOS utilized this interface
+ described by HFI to be the default route with highest
+ priority. If False, then routes are local to their
+ own scope.
+
+``dhcp_override``
+ If True, then HFI information was populated
+ by consuming the DHCP on this interface. If False,
+ then the HFI information was set administratively
+ by a configuration interface to the driver and
+ pre-OS envrionment.
+
+
+
+
+
+.. c:struct:: nbft_info_hfi
+
+ Host Fabric Interface (HFI) Descriptor
+
+**Definition**
+
+::
+
+ struct nbft_info_hfi {
+ int index;
+ char transport[8];
+ struct nbft_info_hfi_info_tcp tcp_info;
+ };
+
+**Members**
+
+``index``
+ HFI Descriptor Index: indicates the number of this HFI Descriptor
+ in the Host Fabric Interface Descriptor List.
+
+``transport``
+ Transport Type string (e.g. 'tcp').
+
+``tcp_info``
+ The HFI Transport Info Descriptor, see :c:type:`struct nbft_info_hfi_info_tcp <nbft_info_hfi_info_tcp>`.
+
+
+
+
+
+.. c:struct:: nbft_info_discovery
+
+ Discovery Descriptor
+
+**Definition**
+
+::
+
+ struct nbft_info_discovery {
+ int index;
+ struct nbft_info_security *security;
+ struct nbft_info_hfi *hfi;
+ char *uri;
+ char *nqn;
+ };
+
+**Members**
+
+``index``
+ The number of this Discovery Descriptor in the Discovery
+ Descriptor List.
+
+``security``
+ The Security Profile Descriptor, see :c:type:`struct nbft_info_security <nbft_info_security>`.
+
+``hfi``
+ The HFI Descriptor associated with this Discovery Descriptor.
+ See :c:type:`struct nbft_info_hfi <nbft_info_hfi>`.
+
+``uri``
+ A URI which indicates an NVMe Discovery controller associated
+ with this Discovery Descriptor.
+
+``nqn``
+ An NVMe Discovery controller NQN.
+
+
+
+
+
+.. c:struct:: nbft_info_security
+
+ Security Profile Descriptor
+
+**Definition**
+
+::
+
+ struct nbft_info_security {
+ int index;
+ };
+
+**Members**
+
+``index``
+ The number of this Security Profile Descriptor in the Security
+ Profile Descriptor List.
+
+
+
+
+
+.. c:enum:: nbft_info_nid_type
+
+ Namespace Identifier Type (NIDT)
+
+**Constants**
+
+``NBFT_INFO_NID_TYPE_NONE``
+ No identifier available.
+
+``NBFT_INFO_NID_TYPE_EUI64``
+ The EUI-64 identifier.
+
+``NBFT_INFO_NID_TYPE_NGUID``
+ The NSGUID identifier.
+
+``NBFT_INFO_NID_TYPE_NS_UUID``
+ The UUID identifier.
+
+
+
+
+.. c:struct:: nbft_info_subsystem_ns
+
+ Subsystem Namespace (SSNS) info
+
+**Definition**
+
+::
+
+ struct nbft_info_subsystem_ns {
+ int index;
+ struct nbft_info_discovery *discovery;
+ struct nbft_info_security *security;
+ int num_hfis;
+ struct nbft_info_hfi **hfis;
+ char transport[8];
+ char traddr[40];
+ char *trsvcid;
+ __u16 subsys_port_id;
+ __u32 nsid;
+ enum nbft_info_nid_type nid_type;
+ __u8 *nid;
+ char *subsys_nqn;
+ bool pdu_header_digest_required;
+ bool data_digest_required;
+ int controller_id;
+ int asqsz;
+ char *dhcp_root_path_string;
+ };
+
+**Members**
+
+``index``
+ SSNS Descriptor Index in the descriptor list.
+
+``discovery``
+ Primary Discovery Controller associated with
+ this SSNS Descriptor.
+
+``security``
+ Security Profile Descriptor associated with
+ this namespace.
+
+``num_hfis``
+ Number of HFIs.
+
+``hfis``
+ List of HFIs associated with this namespace.
+ Includes the primary HFI at the first position
+ and all secondary HFIs. This array is null-terminated.
+
+``transport``
+ Transport Type string (e.g. 'tcp').
+
+``traddr``
+ Subsystem Transport Address.
+
+``trsvcid``
+ Subsystem Transport Service Identifier.
+
+``subsys_port_id``
+ The Subsystem Port ID.
+
+``nsid``
+ The Namespace ID of this descriptor or when **nid**
+ should be used instead.
+
+``nid_type``
+ Namespace Identifier Type, see :c:type:`enum nbft_info_nid_type <nbft_info_nid_type>`.
+
+``nid``
+ The Namespace Identifier value.
+
+``subsys_nqn``
+ Subsystem and Namespace NQN.
+
+``pdu_header_digest_required``
+ PDU Header Digest (HDGST) Flag: the use of NVM Header
+ Digest Enabled is required.
+
+``data_digest_required``
+ Data Digest (DDGST) Flag: the use of NVM Data Digest
+ Enabled is required.
+
+``controller_id``
+ Controller ID (SSNS Extended Information Descriptor):
+ The controller ID associated with the Admin Queue
+ or 0 if not supported.
+
+``asqsz``
+ Admin Submission Queue Size (SSNS Extended Information
+ Descriptor) or 0 if not supported.
+
+``dhcp_root_path_string``
+ DHCP Root Path Override string (SSNS Extended
+ Information Descriptor).
+
+
+
+
+
+.. c:struct:: nbft_info
+
+ The parsed NBFT table data.
+
+**Definition**
+
+::
+
+ struct nbft_info {
+ char *filename;
+ __u8 *raw_nbft;
+ ssize_t raw_nbft_size;
+ struct nbft_info_host host;
+ struct nbft_info_hfi **hfi_list;
+ struct nbft_info_security **security_list;
+ struct nbft_info_discovery **discovery_list;
+ struct nbft_info_subsystem_ns **subsystem_ns_list;
+ };
+
+**Members**
+
+``filename``
+ Path to the NBFT table.
+
+``raw_nbft``
+ The original NBFT table contents.
+
+``raw_nbft_size``
+ Size of **raw_nbft**.
+
+``host``
+ The Host Descriptor (should match other NBFTs).
+
+``hfi_list``
+ The HFI Descriptor List (null-terminated array).
+
+``security_list``
+ The Security Profile Descriptor List (null-terminated array).
+
+``discovery_list``
+ The Discovery Descriptor List (null-terminated array).
+
+``subsystem_ns_list``
+ The SSNS Descriptor List (null-terminated array).
+
+
+
+.. c:function:: int nvme_nbft_read (struct nbft_info **nbft, const char *filename)
+
+ Read and parse contents of an ACPI NBFT table
+
+**Parameters**
+
+``struct nbft_info **nbft``
+ Parsed NBFT table data.
+
+``const char *filename``
+ Filename of the raw NBFT table to read.
+
+**Description**
+
+Read and parse the specified NBFT file into a struct nbft_info.
+Free with nvme_nbft_free().
+
+**Return**
+
+0 on success, errno otherwise.
+
+
+.. c:function:: void nvme_nbft_free (struct nbft_info *nbft)
+
+ Free the struct nbft_info and its contents
+
+**Parameters**
+
+``struct nbft_info *nbft``
+ Parsed NBFT table data.
+
+
Initialized :c:type:`nvme_root_t` object
+.. c:function:: void nvme_root_set_application (nvme_root_t r, const char *a)
+
+ Specify managing application
+
+**Parameters**
+
+``nvme_root_t r``
+ :c:type:`nvme_root_t` object
+
+``const char *a``
+ Application string
+
+**Description**
+
+Sets the managing application string for **r**.
+
+
+.. c:function:: const char * nvme_root_get_application (nvme_root_t r)
+
+ Get managing application
+
+**Parameters**
+
+``nvme_root_t r``
+ :c:type:`nvme_root_t` object
+
+**Description**
+
+Returns the managing application string for **r** or NULL if not set.
+
+
.. c:function:: void nvme_free_tree (nvme_root_t r)
Free root object
of no address is present.
+.. c:function:: const char * nvme_ctrl_get_phy_slot (nvme_ctrl_t c)
+
+ PCI physical slot number of a controller
+
+**Parameters**
+
+``nvme_ctrl_t c``
+ Controller instance
+
+**Return**
+
+PCI physical slot number of **c** or empty string if slot
+number is not present.
+
+
.. c:function:: const char * nvme_ctrl_get_firmware (nvme_ctrl_t c)
Firmware string of a controller
'nvm' or 'discovery'
+.. c:function:: const char * nvme_subsystem_get_application (nvme_subsystem_t s)
+
+ Return the application string
+
+**Parameters**
+
+``nvme_subsystem_t s``
+ nvme_subsystem_t object
+
+**Return**
+
+Managing application string or NULL if not set.
+
+
+.. c:function:: void nvme_subsystem_set_application (nvme_subsystem_t s, const char *a)
+
+ Set the application string
+
+**Parameters**
+
+``nvme_subsystem_t s``
+ nvme_subsystem_t object
+
+``const char *a``
+ application string
+
+**Description**
+
+Sets the managing application string for **s**.
+
+
.. c:function:: int nvme_scan_topology (nvme_root_t r, nvme_scan_filter_t f, void *f_args)
Scan NVMe topology and apply filter
command requires access to media and
the media is not ready.
+``NVME_SC_FDP_DISABLED``
+ Command is not allowed when
+ Flexible Data Placement is disabled.
+
+``NVME_SC_INVALID_PLACEMENT_HANDLE_LIST``
+ The Placement Handle List is invalid
+ due to invalid Reclaim Unit Handle Identifier or
+ valid Reclaim Unit Handle Identifier but restricted or
+ the Placement Handle List number of entries exceeded the
+ maximum number allowed.
+
``NVME_SC_LBA_RANGE``
LBA Out of Range: The command references
an LBA that exceeds the size of the namespace.
Reclaim Unit Handle Update
+
+
+.. c:struct:: nvme_ns_mgmt_host_sw_specified
+
+ Namespace management Host Software Specified Fields.
+
+**Definition**
+
+::
+
+ struct nvme_ns_mgmt_host_sw_specified {
+ __le64 nsze;
+ __le64 ncap;
+ __u8 rsvd16[10];
+ __u8 flbas;
+ __u8 rsvd27[2];
+ __u8 dps;
+ __u8 nmic;
+ __u8 rsvd31[61];
+ __le32 anagrpid;
+ __u8 rsvd96[4];
+ __le16 nvmsetid;
+ __le16 endgid;
+ __u8 rsvd104[280];
+ __le64 lbstm;
+ __le16 nphndls;
+ __u8 rsvd394[105];
+ union {
+ __u8 rsvd499[13];
+ struct {
+ __u8 znsco;
+ __le32 rar;
+ __le32 ror;
+ __le32 rnumzrwa;
+ } zns;
+ };
+ __le16 phndl[128];
+ __u8 rsvd768[3328];
+ };
+
+**Members**
+
+``nsze``
+ Namespace Size indicates the total size of the namespace in
+ logical blocks. The number of logical blocks is based on the
+ formatted LBA size.
+
+``ncap``
+ Namespace Capacity indicates the maximum number of logical blocks
+ that may be allocated in the namespace at any point in time. The
+ number of logical blocks is based on the formatted LBA size.
+
+``rsvd16``
+ Reserved
+
+``flbas``
+ Formatted LBA Size, see :c:type:`enum nvme_id_ns_flbas <nvme_id_ns_flbas>`.
+
+``rsvd27``
+ Reserved
+
+``dps``
+ End-to-end Data Protection Type Settings, see
+ :c:type:`enum nvme_id_ns_dps <nvme_id_ns_dps>`.
+
+``nmic``
+ Namespace Multi-path I/O and Namespace Sharing Capabilities, see
+ :c:type:`enum nvme_id_ns_nmic <nvme_id_ns_nmic>`.
+
+``rsvd31``
+ Reserved
+
+``anagrpid``
+ ANA Group Identifier indicates the ANA Group Identifier of the
+ ANA group of which the namespace is a member.
+
+``rsvd96``
+ Reserved
+
+``nvmsetid``
+ NVM Set Identifier indicates the NVM Set with which this
+ namespace is associated.
+
+``endgid``
+ Endurance Group Identifier indicates the Endurance Group with
+ which this namespace is associated.
+
+``rsvd104``
+ Reserved
+
+``lbstm``
+ Logical Block Storage Tag Mask Identifies the mask for the
+ Storage Tag field for the protection information
+
+``nphndls``
+ Number of Placement Handles specifies the number of Placement
+ Handles included in the Placement Handle List
+
+``rsvd394``
+ Reserved
+
+``{unnamed_union}``
+ anonymous
+
+``rsvd499``
+ Reserved for I/O Command Sets that extend this specification.
+
+``zns``
+ rsvd499( Zoned Namespace Command Set specific field )
+
+``phndl``
+ Placement Handle Associated RUH : This field specifies the Reclaim
+ Unit Handle Identifier to be associated with the Placement Handle
+ value. If the Flexible Data Placement capability is not supported or
+ not enabled in specified Endurance Group, then the controller shall
+ ignore this field.
+
+``rsvd768``
+ Reserved
+
+
+
``ENVME_CONNECT_CONNREFUSED``
connection refused
+``ENVME_CONNECT_ADDRNOTAVAIL``
+ cannot assign requested address
+
+``ENVME_CONNECT_IGNORED``
+ connect attempt is ignored due to configuration
+
.. c:function:: __u8 nvme_status_to_errno (int status, bool fabrics)
Returns error code if generating of random number fails.
+.. c:function:: bool nvme_ipaddrs_eq (const char *addr1, const char *addr2)
+
+ Check if 2 IP addresses are equal.
+
+**Parameters**
+
+``const char *addr1``
+ IP address (can be IPv4 or IPv6)
+
+``const char *addr2``
+ IP address (can be IPv4 or IPv6)
+
+**Return**
+
+true if addr1 == addr2. false otherwise.
+
+