title: nbft_security(2)

summary: Security Profile Descriptor (Figure 21)

text:
# nbft_security(2)

## NAME
struct nbft_security - Security Profile Descriptor (Figure 21)

## SYNOPSIS
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 enum nbft_security_flags.

secret_type

Secret Type, see enum 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.


package: libnvme-devel

title: nbft_security_flags(2)

text:
# nbft_security_flags(2)

## NAME
enum nbft_security_flags - Security Profile Descriptor Flags (Figure 22)

## SYNOPSIS
enum nbft_security_flags {

NBFT_SECURITY_VALID ,

NBFT_SECURITY_IN_BAND_AUTH_MASK ,

NBFT_SECURITY_IN_BAND_AUTH_NOT_SUPPORTED ,

NBFT_SECURITY_IN_BAND_AUTH_NOT_REQUIRED ,

NBFT_SECURITY_IN_BAND_AUTH_REQUIRED ,

NBFT_SECURITY_AUTH_POLICY_LIST_MASK ,

NBFT_SECURITY_AUTH_POLICY_LIST_NOT_SUPPORTED ,

NBFT_SECURITY_AUTH_POLICY_LIST_DRIVER ,

NBFT_SECURITY_AUTH_POLICY_LIST_ADMIN ,

NBFT_SECURITY_SEC_CHAN_NEG_MASK ,

NBFT_SECURITY_SEC_CHAN_NEG_NOT_SUPPORTED ,

NBFT_SECURITY_SEC_CHAN_NEG_NOT_REQUIRED ,

NBFT_SECURITY_SEC_CHAN_NEG_REQUIRED ,

NBFT_SECURITY_SEC_POLICY_LIST_MASK ,

NBFT_SECURITY_SEC_POLICY_LIST_NOT_SUPPORTED ,

NBFT_SECURITY_SEC_POLICY_LIST_DRIVER ,

NBFT_SECURITY_SEC_POLICY_LIST_ADMIN ,

NBFT_SECURITY_CIPHER_RESTRICTED ,

NBFT_SECURITY_AUTH_DH_GROUPS_RESTRICTED ,

NBFT_SECURITY_SEC_HASH_FUNC_POLICY_LIST

};

## 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.

branch: sisyphus


title: nbft_security_secret_type(2)

summary: Security Profile Descriptor Secret Type

text:
# nbft_security_secret_type(2)

## NAME
enum nbft_security_secret_type - Security Profile Descriptor Secret Type

## SYNOPSIS
enum nbft_security_secret_type {

NBFT_SECURITY_SECRET_REDFISH_HOST_IFACE_URI

};

## 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.


title: nbft_ssns(2)

text:
# nbft_ssns(2)

## NAME
struct nbft_ssns - Subsystem Namespace (SSNS) Descriptor (Figure 15)

## SYNOPSIS
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 enum nbft_ssns_flags.

trtype

Transport Type, see enum nbft_trtype.

trflags

Transport Specific Flags, see enum nbft_ssns_trflags.

primary_discovery_ctrl_index

Primary Discovery Controller Index: The Discovery Descriptor Index field of the Discovery Descriptor (see struct 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 enum 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 struct 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 struct 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 struct 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.


title: nbft_ssns_ext_info(2)

text:
# nbft_ssns_ext_info(2)

## NAME
struct nbft_ssns_ext_info - Subsystem and Namespace Extended Information Descriptor (Figure 19)

## SYNOPSIS
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 struct nbft_ssns) whose SSNS Extended Information Descriptor Heap Object Reference field indicates this descriptor.

flags

Flags, see enum 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.


title: nbft_ssns_ext_info_flags(2)

text:
# nbft_ssns_ext_info_flags(2)

## NAME
enum nbft_ssns_ext_info_flags - Subsystem and Namespace Extended Information Descriptor Flags

## SYNOPSIS
enum nbft_ssns_ext_info_flags {

NBFT_SSNS_EXT_INFO_VALID ,

NBFT_SSNS_EXT_INFO_ADMIN_ASQSZ

};

## 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.


title: nbft_ssns_flags(2)

text:
# nbft_ssns_flags(2)

## NAME
enum nbft_ssns_flags - Subsystem and Namespace Specific Flags Field (Figure 16)

## SYNOPSIS
enum nbft_ssns_flags {

NBFT_SSNS_VALID ,

NBFT_SSNS_NON_BOOTABLE_ENTRY ,

NBFT_SSNS_USE_SECURITY_FIELD ,

NBFT_SSNS_DHCP_ROOT_PATH_OVERRIDE ,

NBFT_SSNS_EXTENDED_INFO_IN_USE ,

NBFT_SSNS_SEPARATE_DISCOVERY_CTRL ,

NBFT_SSNS_DISCOVERED_NAMESPACE ,

NBFT_SSNS_UNAVAIL_NAMESPACE_MASK ,

NBFT_SSNS_UNAVAIL_NAMESPACE_NOTIND ,

NBFT_SSNS_UNAVAIL_NAMESPACE_AVAIL ,

NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL

};

## 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.


title: nbft_ssns_trflags(2)

text:
# nbft_ssns_trflags(2)

## NAME
enum nbft_ssns_trflags - SSNS Transport Specific Flags Field (Figure 17)

## SYNOPSIS
enum nbft_ssns_trflags {

NBFT_SSNS_TRFLAG_VALID ,

NBFT_SSNS_PDU_HEADER_DIGEST ,

NBFT_SSNS_DATA_DIGEST

};

## 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.


title: nbft_trtype(2)

text:
# nbft_trtype(2)

## NAME
enum nbft_trtype - NBFT Interface Transport Types (Figure 7)

## SYNOPSIS
enum nbft_trtype {

NBFT_TRTYPE_TCP

};

## Constants
NBFT_TRTYPE_TCP

NVMe/TCP (802.3 + TCP/IP). String Designator "tcp".


title: nvme_acq(2)

text:
# nvme_acq(2)

## NAME
enum nvme_acq - This field indicates the admin completion queue base address

## SYNOPSIS
enum nvme_acq {

NVME_ACQ_ACQB_SHIFT

};

## Constants
NVME_ACQ_ACQB_SHIFT

Shift amount to get the admin completion queue base


title: nvme_admin_opcode(2)

summary: Known NVMe admin opcodes

text:
# nvme_admin_opcode(2)

## NAME
enum nvme_admin_opcode - Known NVMe admin opcodes

## SYNOPSIS
enum nvme_admin_opcode {

nvme_admin_delete_sq ,

nvme_admin_create_sq ,

nvme_admin_get_log_page ,

nvme_admin_delete_cq ,

nvme_admin_create_cq ,

nvme_admin_identify ,

nvme_admin_abort_cmd ,

nvme_admin_set_features ,

nvme_admin_get_features ,

nvme_admin_async_event ,

nvme_admin_ns_mgmt ,

nvme_admin_fw_commit ,

nvme_admin_fw_activate ,

nvme_admin_fw_download ,

nvme_admin_dev_self_test ,

nvme_admin_ns_attach ,

nvme_admin_keep_alive ,

nvme_admin_directive_send ,

nvme_admin_directive_recv ,

nvme_admin_virtual_mgmt ,

nvme_admin_nvme_mi_send ,

nvme_admin_nvme_mi_recv ,

nvme_admin_capacity_mgmt ,

nvme_admin_discovery_info_mgmt ,

nvme_admin_fabric_zoning_recv ,

nvme_admin_lockdown ,

nvme_admin_fabric_zoning_lookup ,

nvme_admin_clear_export_nvm_res ,

nvme_admin_fabric_zoning_send ,

nvme_admin_create_export_nvms ,

nvme_admin_manage_export_nvms ,

nvme_admin_manage_export_ns ,

nvme_admin_manage_export_port ,

nvme_admin_send_disc_log_page ,

nvme_admin_track_send ,

nvme_admin_track_receive ,

nvme_admin_migration_send ,

nvme_admin_migration_receive ,

nvme_admin_ctrl_data_queue ,

nvme_admin_dbbuf ,

nvme_admin_fabrics ,

nvme_admin_format_nvm ,

nvme_admin_security_send ,

nvme_admin_security_recv ,

nvme_admin_sanitize_nvm ,

nvme_admin_load_program ,

nvme_admin_get_lba_status ,

nvme_admin_program_act_mgmt ,

nvme_admin_mem_range_set_mgmt

};

## Constants
nvme_admin_delete_sq

Delete I/O Submission Queue

nvme_admin_create_sq

Create I/O Submission Queue

nvme_admin_get_log_page

Get Log Page

nvme_admin_delete_cq

Delete I/O Completion Queue

nvme_admin_create_cq

Create I/O Completion Queue

nvme_admin_identify

Identify

nvme_admin_abort_cmd

Abort

nvme_admin_set_features

Set Features

nvme_admin_get_features

Get Features

nvme_admin_async_event

Asynchronous Event Request

nvme_admin_ns_mgmt

Namespace Management

nvme_admin_fw_commit

Firmware Commit

nvme_admin_fw_activate

Firmware Commit

nvme_admin_fw_download

Firmware Image Download

nvme_admin_dev_self_test

Device Self-test

nvme_admin_ns_attach

Namespace Attachment

nvme_admin_keep_alive

Keep Alive

nvme_admin_directive_send

Directive Send

nvme_admin_directive_recv

Directive Receive

nvme_admin_virtual_mgmt

Virtualization Management

nvme_admin_nvme_mi_send

NVMe-MI Send

nvme_admin_nvme_mi_recv

NVMe-MI Receive

nvme_admin_capacity_mgmt

Capacity Management

nvme_admin_discovery_info_mgmt

Discovery Information Management (DIM)

nvme_admin_fabric_zoning_recv

Fabric Zoning Receive

nvme_admin_lockdown

Lockdown

nvme_admin_fabric_zoning_lookup

Fabric Zoning Lookup

nvme_admin_clear_export_nvm_res

Clear Exported NVM Resource Configuration

nvme_admin_fabric_zoning_send

Fabric Zoning Send

nvme_admin_create_export_nvms

Create Exported NVM Subsystem

nvme_admin_manage_export_nvms

Manage Exported NVM Subsystem

nvme_admin_manage_export_ns

Manage Exported Namespace

nvme_admin_manage_export_port

Manage Exported Port

nvme_admin_send_disc_log_page

Send Discovery Log Page

nvme_admin_track_send

Track Send

nvme_admin_track_receive

Track Receive

nvme_admin_migration_send

Migration Send

nvme_admin_migration_receive

Migration Receive

nvme_admin_ctrl_data_queue

Controller Data Queue

nvme_admin_dbbuf

Doorbell Buffer Config

nvme_admin_fabrics

Fabrics Commands

nvme_admin_format_nvm

Format NVM

nvme_admin_security_send

Security Send

nvme_admin_security_recv

Security Receive

nvme_admin_sanitize_nvm

Sanitize

nvme_admin_load_program

Load Program

nvme_admin_get_lba_status

Get LBA Status

nvme_admin_program_act_mgmt

Program Activation Management

nvme_admin_mem_range_set_mgmt

Memory Range Set Management


title: nvme_admin_passthru(2)

summary: Submit an nvme passthrough command

text:
# nvme_admin_passthru(2)

## NAME
nvme_admin_passthru - Submit an nvme passthrough command

## SYNOPSIS
int nvme_admin_passthru (int fd , __u8 opcode , __u8 flags , __u16 rsvd , __u32 nsid , __u32 cdw2 , __u32 cdw3 , __u32 cdw10 , __u32 cdw11 , __u32 cdw12 , __u32 cdw13 , __u32 cdw14 , __u32 cdw15 , __u32 data_len , void *data , __u32 metadata_len , void *metadata , __u32 timeout_ms , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

opcode

The nvme io command to send

flags

NVMe command flags (not used)

rsvd

Reserved for future use

nsid

Namespace identifier

cdw2

Command dword 2

cdw3

Command dword 3

cdw10

Command dword 10

cdw11

Command dword 11

cdw12

Command dword 12

cdw13

Command dword 13

cdw14

Command dword 14

cdw15

Command dword 15

data_len

Length of the data transferred in this command in bytes

data

Pointer to user address of the data buffer

metadata_len

Length of metadata transferred in this command

metadata

Pointer to user address of the metadata buffer

timeout_ms

How long the kernel waits for the command to complete

result

Optional field to return the result from the CQE dword 0

## DESCRIPTION
Parameterized form of nvme_submit_admin_passthru. This sets up and submits a struct nvme_passthru_cmd.

Known values for opcode are defined in enum nvme_admin_opcode.

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_admin_passthru64(2)

text:
# nvme_admin_passthru64(2)

## NAME
nvme_admin_passthru64 - Submit a 64-bit nvme passthrough command

## SYNOPSIS
int nvme_admin_passthru64 (int fd , __u8 opcode , __u8 flags , __u16 rsvd , __u32 nsid , __u32 cdw2 , __u32 cdw3 , __u32 cdw10 , __u32 cdw11 , __u32 cdw12 , __u32 cdw13 , __u32 cdw14 , __u32 cdw15 , __u32 data_len , void *data , __u32 metadata_len , void *metadata , __u32 timeout_ms , __u64 *result );

## ARGUMENTS
fd

File descriptor of nvme device

opcode

The nvme io command to send

flags

NVMe command flags (not used)

rsvd

Reserved for future use

nsid

Namespace identifier

cdw2

Command dword 2

cdw3

Command dword 3

cdw10

Command dword 10

cdw11

Command dword 11

cdw12

Command dword 12

cdw13

Command dword 13

cdw14

Command dword 14

cdw15

Command dword 15

data_len

Length of the data transferred in this command in bytes

data

Pointer to user address of the data buffer

metadata_len

Length of metadata transferred in this command

metadata

Pointer to user address of the metadata buffer

timeout_ms

How long the kernel waits for the command to complete

result

Optional field to return the result from the CQE dword 0

## DESCRIPTION
Parameterized form of nvme_submit_admin_passthru64. This sets up and submits a struct nvme_passthru_cmd64.

Known values for opcode are defined in enum nvme_admin_opcode.

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_ae_info_css_nvm(2)

text:
# nvme_ae_info_css_nvm(2)

## NAME
enum nvme_ae_info_css_nvm - Asynchronous Event Information - I/O Command Specific Status

## SYNOPSIS
enum nvme_ae_info_css_nvm {

NVME_AER_CSS_NVM_RESERVATION ,

NVME_AER_CSS_NVM_SANITIZE_COMPLETED ,

NVME_AER_CSS_NVM_UNEXPECTED_SANITIZE_DEALLOC

};

## Constants
NVME_AER_CSS_NVM_RESERVATION

Reservation Log Page Available

NVME_AER_CSS_NVM_SANITIZE_COMPLETED

Sanitize Operation Completed

NVME_AER_CSS_NVM_UNEXPECTED_SANITIZE_DEALLOC

Sanitize Operation Completed With Unexpected Deallocation


title: nvme_ae_info_error(2)

text:
# nvme_ae_info_error(2)

## NAME
enum nvme_ae_info_error - Asynchronous Event Information - Error Status

## SYNOPSIS
enum nvme_ae_info_error {

NVME_AER_ERROR_INVALID_DB_REG ,

NVME_AER_ERROR_INVALID_DB_VAL ,

NVME_AER_ERROR_DIAG_FAILURE ,

NVME_AER_ERROR_PERSISTENT_INTERNAL_ERROR ,

NVME_AER_ERROR_TRANSIENT_INTERNAL_ERROR ,

NVME_AER_ERROR_FW_IMAGE_LOAD_ERROR

};

## Constants
NVME_AER_ERROR_INVALID_DB_REG

Write to Invalid Doorbell Register

NVME_AER_ERROR_INVALID_DB_VAL

Invalid Doorbell Write Value

NVME_AER_ERROR_DIAG_FAILURE

Diagnostic Failure

NVME_AER_ERROR_PERSISTENT_INTERNAL_ERROR

Persistent Internal Error

NVME_AER_ERROR_TRANSIENT_INTERNAL_ERROR

Transient Internal Error

NVME_AER_ERROR_FW_IMAGE_LOAD_ERROR

Firmware Image Load Error


title: nvme_ae_info_notice(2)

summary: Asynchronous Event Information - Notice

text:
# nvme_ae_info_notice(2)

## NAME
enum nvme_ae_info_notice - Asynchronous Event Information - Notice

## SYNOPSIS
enum nvme_ae_info_notice {

NVME_AER_NOTICE_NS_CHANGED ,

NVME_AER_NOTICE_FW_ACT_STARTING ,

NVME_AER_NOTICE_TELEMETRY ,

NVME_AER_NOTICE_ANA ,

NVME_AER_NOTICE_PL_EVENT ,

NVME_AER_NOTICE_LBA_STATUS_ALERT ,

NVME_AER_NOTICE_EG_EVENT ,

NVME_AER_NOTICE_DISC_CHANGED

};

## Constants
NVME_AER_NOTICE_NS_CHANGED

Namespace Attribute Changed

NVME_AER_NOTICE_FW_ACT_STARTING

Firmware Activation Starting

NVME_AER_NOTICE_TELEMETRY

Telemetry Log Changed

NVME_AER_NOTICE_ANA

Asymmetric Namespace Access Change

NVME_AER_NOTICE_PL_EVENT

Predictable Latency Event Aggregate Log Change

NVME_AER_NOTICE_LBA_STATUS_ALERT

LBA Status Information Alert

NVME_AER_NOTICE_EG_EVENT

Endurance Group Event Aggregate Log Page Change

NVME_AER_NOTICE_DISC_CHANGED

Discovery Log Page Change


title: nvme_ae_info_smart(2)

text:
# nvme_ae_info_smart(2)

## NAME
enum nvme_ae_info_smart - Asynchronous Event Information - SMART / Health Status

## SYNOPSIS
enum nvme_ae_info_smart {

NVME_AER_SMART_SUBSYSTEM_RELIABILITY ,

NVME_AER_SMART_TEMPERATURE_THRESHOLD ,

NVME_AER_SMART_SPARE_THRESHOLD

};

## Constants
NVME_AER_SMART_SUBSYSTEM_RELIABILITY

NVM subsystem Reliability

NVME_AER_SMART_TEMPERATURE_THRESHOLD

Temperature Threshold

NVME_AER_SMART_SPARE_THRESHOLD

Spare Below Threshold


title: nvme_ae_type(2)

summary: Asynchronous Event Type

text:
# nvme_ae_type(2)

## NAME
enum nvme_ae_type - Asynchronous Event Type

## SYNOPSIS
enum nvme_ae_type {

NVME_AER_ERROR ,

NVME_AER_SMART ,

NVME_AER_NOTICE ,

NVME_AER_IMMEDIATE ,

NVME_AER_ONESHOT ,

NVME_AER_CSS ,

NVME_AER_VS

};

## Constants
NVME_AER_ERROR

Error event

NVME_AER_SMART

SMART / Health Status event

NVME_AER_NOTICE

Notice event

NVME_AER_IMMEDIATE

Immediate

NVME_AER_ONESHOT

One-Shot

NVME_AER_CSS

NVM Command Set Specific events

NVME_AER_VS

Vendor Specific event


title: nvme_aggregate_endurance_group_event(2)

summary: Endurance Group Event Aggregate

text:
# nvme_aggregate_endurance_group_event(2)

## NAME
struct nvme_aggregate_endurance_group_event - Endurance Group Event Aggregate

## SYNOPSIS
struct nvme_aggregate_endurance_group_event {

__le64 num_entries;

__le16 entries[];

};

## Members
num_entries

Number or entries

entries

List of entries


title: nvme_aggregate_predictable_lat_event(2)

text:
# nvme_aggregate_predictable_lat_event(2)

## NAME
struct nvme_aggregate_predictable_lat_event - Predictable Latency Event Aggregate Log Page

## SYNOPSIS
struct nvme_aggregate_predictable_lat_event {

__le64 num_entries;

__le16 entries[];

};

## Members
num_entries

Number of entries

entries

Entry list


title: nvme_ana_group_desc(2)

summary: ANA Group Descriptor

text:
# nvme_ana_group_desc(2)

## NAME
struct nvme_ana_group_desc - ANA Group Descriptor

## SYNOPSIS
struct nvme_ana_group_desc {

__le32 grpid;

__le32 nnsids;

__le64 chgcnt;

__u8 state;

__u8 rsvd17[15];

__le32 nsids[];

};

## Members
grpid

ANA group id

nnsids

Number of namespaces in nsids

chgcnt

Change counter

state

ANA state

rsvd17

Reserved

nsids

List of namespaces


title: nvme_ana_log(2)

summary: Asymmetric Namespace Access Log

text:
# nvme_ana_log(2)

## NAME
struct nvme_ana_log - Asymmetric Namespace Access Log

## SYNOPSIS
struct nvme_ana_log {

__le64 chgcnt;

__le16 ngrps;

__u8 rsvd10[6];

struct nvme_ana_group_desc descs[];

};

## Members
chgcnt

Change Count

ngrps

Number of ANA Group Descriptors

rsvd10

Reserved

descs

ANA Group Descriptor


title: nvme_ana_state(2)

text:
# nvme_ana_state(2)

## NAME
enum nvme_ana_state - ANA Group Descriptor - Asymmetric Namespace Access State

## SYNOPSIS
enum nvme_ana_state {

NVME_ANA_STATE_OPTIMIZED ,

NVME_ANA_STATE_NONOPTIMIZED ,

NVME_ANA_STATE_INACCESSIBLE ,

NVME_ANA_STATE_PERSISTENT_LOSS ,

NVME_ANA_STATE_CHANGE

};

## Constants
NVME_ANA_STATE_OPTIMIZED

ANA Optimized state

NVME_ANA_STATE_NONOPTIMIZED

ANA Non-Optimized state

NVME_ANA_STATE_INACCESSIBLE

ANA Inaccessible state

NVME_ANA_STATE_PERSISTENT_LOSS

ANA Persistent Loss state

NVME_ANA_STATE_CHANGE

ANA Change state


title: nvme_apst_entry(2)

summary: Autonomous Power State Transition

text:
# nvme_apst_entry(2)

## NAME
enum nvme_apst_entry - Autonomous Power State Transition

## SYNOPSIS
enum nvme_apst_entry {

NVME_APST_ENTRY_ITPS_SHIFT ,

NVME_APST_ENTRY_ITPT_SHIFT ,

NVME_APST_ENTRY_ITPS_MASK ,

NVME_APST_ENTRY_ITPT_MASK

};

## Constants
NVME_APST_ENTRY_ITPS_SHIFT

Idle Transition Power State Shift

NVME_APST_ENTRY_ITPT_SHIFT

Idle Time Prior to Transition Shift

NVME_APST_ENTRY_ITPS_MASK

Idle Transition Power State Mask

NVME_APST_ENTRY_ITPT_MASK

Idle Time Prior to Transition Mask


title: nvme_aqa(2)

text:
# nvme_aqa(2)

## NAME
enum nvme_aqa - This field indicates the admin queue attributes

## SYNOPSIS
enum nvme_aqa {

NVME_AQA_ASQS_SHIFT ,

NVME_AQA_ACQS_SHIFT ,

NVME_AQA_ASQS_MASK ,

NVME_AQA_ACQS_MASK

};

## Constants
NVME_AQA_ASQS_SHIFT

Shift amount to get the admin submission queue size

NVME_AQA_ACQS_SHIFT

Shift amount to get the admin completion queue size

NVME_AQA_ASQS_MASK

Mask to get the admin submission queue size

NVME_AQA_ACQS_MASK

Mask to get the admin completion queue size


title: nvme_asq(2)

text:
# nvme_asq(2)

## NAME
enum nvme_asq - This field indicates the admin submission queue base address

## SYNOPSIS
enum nvme_asq {

NVME_ASQ_ASQB_SHIFT

};

## Constants
NVME_ASQ_ASQB_SHIFT

Shift amount to get the admin submission queue base


title: nvme_ave_discover_log(2)

summary: AVE Discovery Log

text:
# nvme_ave_discover_log(2)

## NAME
struct nvme_ave_discover_log - AVE Discovery Log

## SYNOPSIS
struct nvme_ave_discover_log {

__le64 genctr;

__le64 numrec;

__le16 recfmt;

__u8 rsvd18[2];

__le32 tadlpl;

__u8 rsvd24[1000];

struct nvme_ave_discover_log_entry adlpe[];

};

## Members
genctr

Generation Counter

numrec

Number of Records

recfmt

Record Format

rsvd18

Reserved

tadlpl

Total AVE Discovery Log Page Length

rsvd24

Reserved

adlpe

AVE Discovery Log Page Entry List


title: nvme_ave_discover_log_entry(2)

summary: AVE Discovery Log Entry

text:
# nvme_ave_discover_log_entry(2)

## NAME
struct nvme_ave_discover_log_entry - AVE Discovery Log Entry

## SYNOPSIS
struct nvme_ave_discover_log_entry {

__le32 tel;

char avenqn[224];

__u8 numatr;

__u8 rsvd229[3];

struct nvme_ave_tr_record atr[];

};

## Members
tel

Total Entry Length

avenqn

AVE NQN

numatr

Number of AVE Transport Records

rsvd229

Reserved

atr

AVE Transport Record List


title: nvme_ave_tr_record(2)

summary: AVE Transport Record

text:
# nvme_ave_tr_record(2)

## NAME
struct nvme_ave_tr_record - AVE Transport Record

## SYNOPSIS
struct nvme_ave_tr_record {

__u8 aveadrfam;

__u8 rsvd1;

__le16 avetrsvcid;

__u8 avetraddr[16];

};

## Members
aveadrfam

AVE Address Family

rsvd1

Reserved

avetrsvcid

AVE Transport Service Identifier

avetraddr

AVE Transport Address


title: nvme_boot_partition(2)

summary: Boot Partition Log

text:
# nvme_boot_partition(2)

## NAME
struct nvme_boot_partition - Boot Partition Log

## SYNOPSIS
struct nvme_boot_partition {

__u8 lid;

__u8 rsvd1[3];

__le32 bpinfo;

__u8 rsvd8[8];

__u8 boot_partition_data[];

};

## Members
lid

Boot Partition Identifier

rsvd1

Reserved

bpinfo

Boot Partition Information

rsvd8

Reserved

boot_partition_data

Contains the contents of the specified Boot Partition


title: nvme_boot_partition_info(2)

text:
# nvme_boot_partition_info(2)

## NAME
enum nvme_boot_partition_info - This field indicates the boot partition information

## SYNOPSIS
enum nvme_boot_partition_info {

NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT ,

NVME_BOOT_PARTITION_INFO_ABPID_SHIFT ,

NVME_BOOT_PARTITION_INFO_BPSZ_MASK ,

NVME_BOOT_PARTITION_INFO_ABPID_MASK

};

## Constants
NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT

Shift amount to get the boot partition size from the struct nvme_boot_partition.bpinfo field.

NVME_BOOT_PARTITION_INFO_ABPID_SHIFT

Shift amount to get the active boot partition ID from the struct nvme_boot_partition.bpinfo field.

NVME_BOOT_PARTITION_INFO_BPSZ_MASK

Mask to get the boot partition size from the struct nvme_boot_partition.bpinfo field.

NVME_BOOT_PARTITION_INFO_ABPID_MASK

Mask to get the active boot partition ID from the struct nvme_boot_partition.bpinfo field.


title: nvme_bpinfo(2)

text:
# nvme_bpinfo(2)

## NAME
enum nvme_bpinfo - This field indicates the boot partition information

## SYNOPSIS
enum nvme_bpinfo {

NVME_BPINFO_BPSZ_SHIFT ,

NVME_BPINFO_BRS_SHIFT ,

NVME_BPINFO_ABPID_SHIFT ,

NVME_BPINFO_BPSZ_MASK ,

NVME_BPINFO_BRS_MASK ,

NVME_BPINFO_ABPID_MASK ,

NVME_BPINFO_BRS_NONE ,

NVME_BPINFO_BRS_READ_IN_PROGRESS ,

NVME_BPINFO_BRS_READ_SUCCESS ,

NVME_BPINFO_BRS_READ_ERROR

};

## Constants
NVME_BPINFO_BPSZ_SHIFT

Shift amount to get the boot partition size

NVME_BPINFO_BRS_SHIFT

Shift amount to get the boot read status

NVME_BPINFO_ABPID_SHIFT

Shift amount to get the active boot partition ID

NVME_BPINFO_BPSZ_MASK

Mask to get the boot partition size

NVME_BPINFO_BRS_MASK

Mask to get the boot read status

NVME_BPINFO_ABPID_MASK

Mask to get the active boot partition ID

NVME_BPINFO_BRS_NONE

No boot partition read operation requested

NVME_BPINFO_BRS_READ_IN_PROGRESS

Boot partition read in progress

NVME_BPINFO_BRS_READ_SUCCESS

Boot partition read completed successfully

NVME_BPINFO_BRS_READ_ERROR

Error completing boot partition read


title: nvme_bpmbl(2)

text:
# nvme_bpmbl(2)

## NAME
enum nvme_bpmbl - This field indicates the boot partition memory buffer location

## SYNOPSIS
enum nvme_bpmbl {

NVME_BPMBL_BMBBA_SHIFT

};

## Constants
NVME_BPMBL_BMBBA_SHIFT

Shift amount to get the boot partition memory buffer base address


title: nvme_bprsel(2)

text:
# nvme_bprsel(2)

## NAME
enum nvme_bprsel - This field indicates the boot partition read select

## SYNOPSIS
enum nvme_bprsel {

NVME_BPRSEL_BPRSZ_SHIFT ,

NVME_BPRSEL_BPROF_SHIFT ,

NVME_BPRSEL_BPID_SHIFT ,

NVME_BPRSEL_BPRSZ_MASK ,

NVME_BPRSEL_BPROF_MASK ,

NVME_BPRSEL_BPID_MASK

};

## Constants
NVME_BPRSEL_BPRSZ_SHIFT

Shift amount to get the boot partition read size

NVME_BPRSEL_BPROF_SHIFT

Shift amount to get the boot partition read offset

NVME_BPRSEL_BPID_SHIFT

Shift amount to get the boot partition identifier

NVME_BPRSEL_BPRSZ_MASK

Mask to get the boot partition read size

NVME_BPRSEL_BPROF_MASK

Mask to get the boot partition read offset

NVME_BPRSEL_BPID_MASK

Mask to get the boot partition identifier


title: nvme_cap(2)

text:
# nvme_cap(2)

## NAME
enum nvme_cap - This field indicates the controller capabilities register

## SYNOPSIS
enum nvme_cap {

NVME_CAP_MQES_SHIFT ,

NVME_CAP_CQR_SHIFT ,

NVME_CAP_AMS_SHIFT ,

NVME_CAP_TO_SHIFT ,

NVME_CAP_DSTRD_SHIFT ,

NVME_CAP_NSSRC_SHIFT ,

NVME_CAP_CSS_SHIFT ,

NVME_CAP_BPS_SHIFT ,

NVME_CAP_CPS_SHIFT ,

NVME_CAP_MPSMIN_SHIFT ,

NVME_CAP_MPSMAX_SHIFT ,

NVME_CAP_PMRS_SHIFT ,

NVME_CAP_CMBS_SHIFT ,

NVME_CAP_NSSS_SHIFT ,

NVME_CAP_CRMS_SHIFT ,

NVME_CAP_MQES_MASK ,

NVME_CAP_CQR_MASK ,

NVME_CAP_AMS_MASK ,

NVME_CAP_TO_MASK ,

NVME_CAP_DSTRD_MASK ,

NVME_CAP_NSSRC_MASK ,

NVME_CAP_CSS_MASK ,

NVME_CAP_BPS_MASK ,

NVME_CAP_CPS_MASK ,

NVME_CAP_MPSMIN_MASK ,

NVME_CAP_MPSMAX_MASK ,

NVME_CAP_PMRS_MASK ,

NVME_CAP_CMBS_MASK ,

NVME_CAP_NSSS_MASK ,

NVME_CAP_CRMS_MASK ,

NVME_CAP_AMS_WRR ,

NVME_CAP_AMS_VS ,

NVME_CAP_CSS_NVM ,

NVME_CAP_CSS_CSI ,

NVME_CAP_CSS_ADMIN ,

NVME_CAP_CPS_NONE ,

NVME_CAP_CPS_CTRL ,

NVME_CAP_CPS_DOMAIN ,

NVME_CAP_CPS_NVMS ,

NVME_CAP_CRWMS ,

NVME_CAP_CRIMS

};

## Constants
NVME_CAP_MQES_SHIFT

Shift amount to get the maximum queue entries supported

NVME_CAP_CQR_SHIFT

Shift amount to get the contiguous queues required

NVME_CAP_AMS_SHIFT

Shift amount to get the arbitration mechanism supported

NVME_CAP_TO_SHIFT

Shift amount to get the timeout

NVME_CAP_DSTRD_SHIFT

Shift amount to get the doorbell stride

NVME_CAP_NSSRC_SHIFT

Shift amount to get the NVM subsystem reset supported

NVME_CAP_CSS_SHIFT

Shift amount to get the command sets supported

NVME_CAP_BPS_SHIFT

Shift amount to get the boot partition support

NVME_CAP_CPS_SHIFT

Shift amount to get the controller power scope

NVME_CAP_MPSMIN_SHIFT

Shift amount to get the memory page size minimum

NVME_CAP_MPSMAX_SHIFT

Shift amount to get the memory page size maximum

NVME_CAP_PMRS_SHIFT

Shift amount to get the persistent memory region supported

NVME_CAP_CMBS_SHIFT

Shift amount to get the controller memory buffer supported

NVME_CAP_NSSS_SHIFT

Shift amount to get the NVM subsystem shutdown supported

NVME_CAP_CRMS_SHIFT

Shift amount to get the controller ready modes supported

NVME_CAP_MQES_MASK

Mask to get the maximum queue entries supported

NVME_CAP_CQR_MASK

Mask to get the contiguous queues required

NVME_CAP_AMS_MASK

Mask to get the arbitration mechanism supported

NVME_CAP_TO_MASK

Mask to get the timeout

NVME_CAP_DSTRD_MASK

Mask to get the doorbell stride

NVME_CAP_NSSRC_MASK

Mask to get the NVM subsystem reset supported

NVME_CAP_CSS_MASK

Mask to get the command sets supported

NVME_CAP_BPS_MASK

Mask to get the boot partition support

NVME_CAP_CPS_MASK

Mask to get the controller power scope

NVME_CAP_MPSMIN_MASK

Mask to get the memory page size minimum

NVME_CAP_MPSMAX_MASK

Mask to get the memory page size maximum

NVME_CAP_PMRS_MASK

Mask to get the persistent memory region supported

NVME_CAP_CMBS_MASK

Mask to get the controller memory buffer supported

NVME_CAP_NSSS_MASK

Mask to get the NVM subsystem shutdown supported

NVME_CAP_CRMS_MASK

Mask to get the controller ready modes supported

NVME_CAP_AMS_WRR

Weighted round robin with urgent priority class

NVME_CAP_AMS_VS

Vendor specific

NVME_CAP_CSS_NVM

NVM command set or a discovery controller

NVME_CAP_CSS_CSI

Controller supports one or more I/O command sets

NVME_CAP_CSS_ADMIN

No I/O command set is supported

NVME_CAP_CPS_NONE

Not reported

NVME_CAP_CPS_CTRL

Controller scope

NVME_CAP_CPS_DOMAIN

Domain scope

NVME_CAP_CPS_NVMS

NVM subsystem scope

NVME_CAP_CRWMS

Controller ready with media support

NVME_CAP_CRIMS

Controller ready independent of media support


title: nvme_capacity_config_desc(2)

text:
# nvme_capacity_config_desc(2)

## NAME
struct nvme_capacity_config_desc - Capacity Configuration structure definitions

## SYNOPSIS
struct nvme_capacity_config_desc {

__le16 cap_config_id;

__le16 domainid;

__le16 egcn;

__u8 rsvd6[26];

struct nvme_end_grp_config_desc egcd[];

};

## Members
cap_config_id

Capacity Configuration Identifier

domainid

Domain Identifier

egcn

Number Endurance Group Configuration Descriptors

rsvd6

Reserved

egcd

Endurance Group Config descriptors. See struct nvme_end_grp_config_desc


title: nvme_capacity_mgmt(2)

summary: Capacity management command

text:
# nvme_capacity_mgmt(2)

## NAME
nvme_capacity_mgmt - Capacity management command

## SYNOPSIS
int nvme_capacity_mgmt (struct nvme_capacity_mgmt_args *args );

## ARGUMENTS
args

struct nvme_capacity_mgmt_args argument structure

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_capacity_mgmt_args(2)

text:
# nvme_capacity_mgmt_args(2)

## NAME
struct nvme_capacity_mgmt_args - Arguments for the NVMe Capacity Management command

## SYNOPSIS
struct nvme_capacity_mgmt_args {

__u32 *result;

int args_size;

int fd;

__u32 timeout;

__u32 cdw11;

__u32 cdw12;

__u16 element_id;

__u8 op;

};

## Members
result

If successful, the CQE dword0 value

args_size

Size of struct nvme_capacity_mgmt_args

fd

File descriptor of nvme device

timeout

Timeout in ms

cdw11

Least significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created

cdw12

Most significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created

element_id

Value specific to the value of the Operation field

op

Operation to be performed by the controller


title: nvme_cc(2)

text:
# nvme_cc(2)

## NAME
enum nvme_cc - This field indicates the controller configuration

## SYNOPSIS
enum nvme_cc {

NVME_CC_EN_SHIFT ,

NVME_CC_CSS_SHIFT ,

NVME_CC_MPS_SHIFT ,

NVME_CC_AMS_SHIFT ,

NVME_CC_SHN_SHIFT ,

NVME_CC_IOSQES_SHIFT ,

NVME_CC_IOCQES_SHIFT ,

NVME_CC_CRIME_SHIFT ,

NVME_CC_EN_MASK ,

NVME_CC_CSS_MASK ,

NVME_CC_MPS_MASK ,

NVME_CC_AMS_MASK ,

NVME_CC_SHN_MASK ,

NVME_CC_CRIME_MASK ,

NVME_CC_IOSQES_MASK ,

NVME_CC_IOCQES_MASK ,

NVME_CC_CSS_NVM ,

NVME_CC_CSS_CSI ,

NVME_CC_CSS_ADMIN ,

NVME_CC_AMS_RR ,

NVME_CC_AMS_WRRU ,

NVME_CC_AMS_VS ,

NVME_CC_SHN_NONE ,

NVME_CC_SHN_NORMAL ,

NVME_CC_SHN_ABRUPT ,

NVME_CC_CRWME ,

NVME_CC_CRIME

};

## Constants
NVME_CC_EN_SHIFT

Shift amount to get the enable

NVME_CC_CSS_SHIFT

Shift amount to get the I/O command set selected

NVME_CC_MPS_SHIFT

Shift amount to get the memory page size

NVME_CC_AMS_SHIFT

Shift amount to get the arbitration mechanism selected

NVME_CC_SHN_SHIFT

Shift amount to get the shutdown notification

NVME_CC_IOSQES_SHIFT

Shift amount to get the I/O submission queue entry size

NVME_CC_IOCQES_SHIFT

Shift amount to get the I/O completion queue entry size

NVME_CC_CRIME_SHIFT

Shift amount to get the controller ready independent of media enable

NVME_CC_EN_MASK

Mask to get the enable

NVME_CC_CSS_MASK

Mask to get the I/O command set selected

NVME_CC_MPS_MASK

Mask to get the memory page size

NVME_CC_AMS_MASK

Mask to get the arbitration mechanism selected

NVME_CC_SHN_MASK

Mask to get the shutdown notification

NVME_CC_CRIME_MASK

Mask to get the I/O submission queue entry size

NVME_CC_IOSQES_MASK

Mask to get the I/O completion queue entry size

NVME_CC_IOCQES_MASK

Mask to get the controller ready independent of media enable

NVME_CC_CSS_NVM

NVM command set

NVME_CC_CSS_CSI

All supported I/O command sets

NVME_CC_CSS_ADMIN

Admin command set only

NVME_CC_AMS_RR

Round robin

NVME_CC_AMS_WRRU

Weighted round robin with urgent priority class

NVME_CC_AMS_VS

Vendor specific

NVME_CC_SHN_NONE

No notification; no effect

NVME_CC_SHN_NORMAL

Normal shutdown notification

NVME_CC_SHN_ABRUPT

Abrupt shutdown notification

NVME_CC_CRWME

Controller ready with media enable

NVME_CC_CRIME

Controller ready independent of media enable


title: nvme_change_ns_event(2)

summary: Change Namespace Event Data

text:
# nvme_change_ns_event(2)

## NAME
struct nvme_change_ns_event - Change Namespace Event Data

## SYNOPSIS
struct nvme_change_ns_event {

__le32 nsmgt_cdw10;

__u8 rsvd4[4];

__le64 nsze;

__u8 rsvd16[8];

__le64 nscap;

__u8 flbas;

__u8 dps;

__u8 nmic;

__u8 rsvd35;

__le32 ana_grp_id;

__le16 nvmset_id;

__le16 rsvd42;

__le32 nsid;

};

## Members
nsmgt_cdw10

Namespace Management CDW10

rsvd4

Reserved

nsze

Namespace Size

rsvd16

Reserved

nscap

Namespace Capacity

flbas

Formatted LBA Size

dps

End-to-end Data Protection Type Settings

nmic

Namespace Multi-path I/O and Namespace Sharing Capabilities

rsvd35

Reserved

ana_grp_id

ANA Group Identifier

nvmset_id

NVM Set Identifier

rsvd42

Reserved

nsid

Namespace ID


title: nvme_channel_config_desc(2)

summary: Channel Configuration Descriptor

text:
# nvme_channel_config_desc(2)

## NAME
struct nvme_channel_config_desc - Channel Configuration Descriptor

## SYNOPSIS
struct nvme_channel_config_desc {

__le16 chanid;

__le16 chmus;

struct nvme_media_unit_config_desc mu_config_desc[];

};

## Members
chanid

Channel Identifier

chmus

Number Channel Media Units

mu_config_desc

Channel Unit config descriptors. See struct nvme_media_unit_config_desc


title: nvme_clear_etdas(2)

text:
# nvme_clear_etdas(2)

## NAME
nvme_clear_etdas - Clear the Extended Telemetry Data Area 4 Supported bit

## SYNOPSIS
int nvme_clear_etdas (int fd , bool *changed );

## ARGUMENTS
fd

File descriptor of nvme device

changed

boolean to indicate whether or not the host behavior support feature had been changed

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_cmb_size(2)

text:
# nvme_cmb_size(2)

## NAME
nvme_cmb_size - Calculate size of the controller memory buffer

## SYNOPSIS
__u64 nvme_cmb_size (__u32 cmbsz );

## ARGUMENTS
cmbsz

Value from controller register NVME_REG_CMBSZ

## RETURN
size of controller memory buffer in bytes


title: nvme_cmbebs(2)

text:
# nvme_cmbebs(2)

## NAME
enum nvme_cmbebs - This field indicates the controller memory buffer elasticity buffer size

## SYNOPSIS
enum nvme_cmbebs {

NVME_CMBEBS_CMBSZU_SHIFT ,

NVME_CMBEBS_RBB_SHIFT ,

NVME_CMBEBS_CMBWBZ_SHIFT ,

NVME_CMBEBS_CMBSZU_MASK ,

NVME_CMBEBS_RBB_MASK ,

NVME_CMBEBS_CMBWBZ_MASK ,

NVME_CMBEBS_CMBSZU_B ,

NVME_CMBEBS_CMBSZU_1K ,

NVME_CMBEBS_CMBSZU_1M ,

NVME_CMBEBS_CMBSZU_1G

};

## Constants
NVME_CMBEBS_CMBSZU_SHIFT

Shift amount to get the CMB elasticity buffer size units

NVME_CMBEBS_RBB_SHIFT

Shift amount to get the read bypass behavior

NVME_CMBEBS_CMBWBZ_SHIFT

Shift amount to get the CMB elasiticity buffer size base

NVME_CMBEBS_CMBSZU_MASK

Mask to get the CMB elasticity buffer size units

NVME_CMBEBS_RBB_MASK

Mask to get the read bypass behavior

NVME_CMBEBS_CMBWBZ_MASK

Mask to get the CMB elasiticity buffer size base

NVME_CMBEBS_CMBSZU_B

Bytes granularity

NVME_CMBEBS_CMBSZU_1K

1 KiB granularity

NVME_CMBEBS_CMBSZU_1M

1 MiB granularity

NVME_CMBEBS_CMBSZU_1G

1 GiB granularity


title: nvme_cmbloc(2)

text:
# nvme_cmbloc(2)

## NAME
enum nvme_cmbloc - This field indicates the controller memory buffer location

## SYNOPSIS
enum nvme_cmbloc {

NVME_CMBLOC_BIR_SHIFT ,

NVME_CMBLOC_CQMMS_SHIFT ,

NVME_CMBLOC_CQPDS_SHIFT ,

NVME_CMBLOC_CDPLMS_SHIFT ,

NVME_CMBLOC_CDPCILS_SHIFT ,

NVME_CMBLOC_CDMMMS_SHIFT ,

NVME_CMBLOC_CQDA_SHIFT ,

NVME_CMBLOC_OFST_SHIFT ,

NVME_CMBLOC_BIR_MASK ,

NVME_CMBLOC_CQMMS_MASK ,

NVME_CMBLOC_CQPDS_MASK ,

NVME_CMBLOC_CDPLMS_MASK ,

NVME_CMBLOC_CDPCILS_MASK ,

NVME_CMBLOC_CDMMMS_MASK ,

NVME_CMBLOC_CQDA_MASK ,

NVME_CMBLOC_OFST_MASK

};

## Constants
NVME_CMBLOC_BIR_SHIFT

Shift amount to get the base indicator register

NVME_CMBLOC_CQMMS_SHIFT

Shift amount to get the CMB queue mixed memory support

NVME_CMBLOC_CQPDS_SHIFT

Shift amount to get the CMB queue physically discontiguous support

NVME_CMBLOC_CDPLMS_SHIFT

Shift amount to get the CMB data pointer mixed locations support

NVME_CMBLOC_CDPCILS_SHIFT

Shift amount to get the CMB data pointer and command independent locations support

NVME_CMBLOC_CDMMMS_SHIFT

Shift amount to get the CMB data metadata mixed memory support

NVME_CMBLOC_CQDA_SHIFT

Shift amount to get the CMB queue dword alignment

NVME_CMBLOC_OFST_SHIFT

Shift amount to get the offset

NVME_CMBLOC_BIR_MASK

Mask to get the base indicator register

NVME_CMBLOC_CQMMS_MASK

Mask to get the CMB queue mixed memory support

NVME_CMBLOC_CQPDS_MASK

Mask to get the CMB queue physically discontiguous support

NVME_CMBLOC_CDPLMS_MASK

Mask to get the CMB data pointer mixed locations support

NVME_CMBLOC_CDPCILS_MASK

Mask to get the CMB data pointer and command independent locations support

NVME_CMBLOC_CDMMMS_MASK

Mask to get the CMB data metadata mixed memory support

NVME_CMBLOC_CQDA_MASK

Mask to get the CMB queue dword alignment

NVME_CMBLOC_OFST_MASK

Mask to get the offset


title: nvme_cmbmsc(2)

text:
# nvme_cmbmsc(2)

## NAME
enum nvme_cmbmsc - This field indicates the controller memory buffer memory space control

## SYNOPSIS
enum nvme_cmbmsc {

NVME_CMBMSC_CRE_SHIFT ,

NVME_CMBMSC_CMSE_SHIFT ,

NVME_CMBMSC_CBA_SHIFT ,

NVME_CMBMSC_CRE_MASK ,

NVME_CMBMSC_CMSE_MASK

};

## Constants
NVME_CMBMSC_CRE_SHIFT

Shift amount to get the capabilities registers enabled

NVME_CMBMSC_CMSE_SHIFT

Shift amount to get the controller memory space enable

NVME_CMBMSC_CBA_SHIFT

Shift amount to get the controller base address

NVME_CMBMSC_CRE_MASK

Mask to get the capabilities registers enabled

NVME_CMBMSC_CMSE_MASK

Mask to get the controller memory space enable


title: nvme_cmbsts(2)

text:
# nvme_cmbsts(2)

## NAME
enum nvme_cmbsts - This field indicates the controller memory buffer status

## SYNOPSIS
enum nvme_cmbsts {

NVME_CMBSTS_CBAI_SHIFT ,

NVME_CMBSTS_CBAI_MASK

};

## Constants
NVME_CMBSTS_CBAI_SHIFT

Shift amount to get the controller base address invalid

NVME_CMBSTS_CBAI_MASK

Mask to get the controller base address invalid


title: nvme_cmbswtp(2)

text:
# nvme_cmbswtp(2)

## NAME
enum nvme_cmbswtp - This field indicates the controller memory buffer sustained write throughput

## SYNOPSIS
enum nvme_cmbswtp {

NVME_CMBSWTP_CMBSWTU_SHIFT ,

NVME_CMBSWTP_CMBSWTV_SHIFT ,

NVME_CMBSWTP_CMBSWTU_MASK ,

NVME_CMBSWTP_CMBSWTV_MASK ,

NVME_CMBSWTP_CMBSWTU_B ,

NVME_CMBSWTP_CMBSWTU_1K ,

NVME_CMBSWTP_CMBSWTU_1M ,

NVME_CMBSWTP_CMBSWTU_1G

};

## Constants
NVME_CMBSWTP_CMBSWTU_SHIFT

Shift amount to get the CMB sustained write throughput units

NVME_CMBSWTP_CMBSWTV_SHIFT

Shift amount to get the CMB sustained write throughput

NVME_CMBSWTP_CMBSWTU_MASK

Mask to get the CMB sustained write throughput units

NVME_CMBSWTP_CMBSWTV_MASK

Mask to get the CMB sustained write throughput

NVME_CMBSWTP_CMBSWTU_B

Bytes/second granularity

NVME_CMBSWTP_CMBSWTU_1K

1 KiB/second granularity

NVME_CMBSWTP_CMBSWTU_1M

1 MiB/second granularity

NVME_CMBSWTP_CMBSWTU_1G

1 GiB/second granularity


title: nvme_cmbsz(2)

text:
# nvme_cmbsz(2)

## NAME
enum nvme_cmbsz - This field indicates the controller memory buffer size

## SYNOPSIS
enum nvme_cmbsz {

NVME_CMBSZ_SQS_SHIFT ,

NVME_CMBSZ_CQS_SHIFT ,

NVME_CMBSZ_LISTS_SHIFT ,

NVME_CMBSZ_RDS_SHIFT ,

NVME_CMBSZ_WDS_SHIFT ,

NVME_CMBSZ_SZU_SHIFT ,

NVME_CMBSZ_SZ_SHIFT ,

NVME_CMBSZ_SQS_MASK ,

NVME_CMBSZ_CQS_MASK ,

NVME_CMBSZ_LISTS_MASK ,

NVME_CMBSZ_RDS_MASK ,

NVME_CMBSZ_WDS_MASK ,

NVME_CMBSZ_SZU_MASK ,

NVME_CMBSZ_SZ_MASK ,

NVME_CMBSZ_SZU_4K ,

NVME_CMBSZ_SZU_64K ,

NVME_CMBSZ_SZU_1M ,

NVME_CMBSZ_SZU_16M ,

NVME_CMBSZ_SZU_256M ,

NVME_CMBSZ_SZU_4G ,

NVME_CMBSZ_SZU_64G

};

## Constants
NVME_CMBSZ_SQS_SHIFT

Shift amount to get the submission queue support

NVME_CMBSZ_CQS_SHIFT

Shift amount to get the completion queue support

NVME_CMBSZ_LISTS_SHIFT

Shift amount to get the PLP SGL list support

NVME_CMBSZ_RDS_SHIFT

Shift amount to get the read data support

NVME_CMBSZ_WDS_SHIFT

Shift amount to get the write data support

NVME_CMBSZ_SZU_SHIFT

Shift amount to get the size units

NVME_CMBSZ_SZ_SHIFT

Shift amount to get the size

NVME_CMBSZ_SQS_MASK

Mask to get the submission queue support

NVME_CMBSZ_CQS_MASK

Mask to get the completion queue support

NVME_CMBSZ_LISTS_MASK

Mask to get the PLP SGL list support

NVME_CMBSZ_RDS_MASK

Mask to get the read data support

NVME_CMBSZ_WDS_MASK

Mask to get the write data support

NVME_CMBSZ_SZU_MASK

Mask to get the size units

NVME_CMBSZ_SZ_MASK

Mask to get the size

NVME_CMBSZ_SZU_4K

4 KiB

NVME_CMBSZ_SZU_64K

64 KiB

NVME_CMBSZ_SZU_1M

1 MiB

NVME_CMBSZ_SZU_16M

16 MiB

NVME_CMBSZ_SZU_256M

256 MiB

NVME_CMBSZ_SZU_4G

4 GiB

NVME_CMBSZ_SZU_64G

64 GiB


title: nvme_cmd_effects(2)

summary: Commands Supported and Effects

text:
# nvme_cmd_effects(2)

## NAME
enum nvme_cmd_effects - Commands Supported and Effects

## SYNOPSIS
enum nvme_cmd_effects {

NVME_CMD_EFFECTS_CSUPP ,

NVME_CMD_EFFECTS_LBCC ,

NVME_CMD_EFFECTS_NCC ,

NVME_CMD_EFFECTS_NIC ,

NVME_CMD_EFFECTS_CCC ,

NVME_CMD_EFFECTS_CSER_MASK ,

NVME_CMD_EFFECTS_CSE_MASK ,

NVME_CMD_EFFECTS_UUID_SEL

};

## Constants
NVME_CMD_EFFECTS_CSUPP

Command Supported

NVME_CMD_EFFECTS_LBCC

Logical Block Content Change

NVME_CMD_EFFECTS_NCC

Namespace Capability Change

NVME_CMD_EFFECTS_NIC

Namespace Inventory Change

NVME_CMD_EFFECTS_CCC

Controller Capability Change

NVME_CMD_EFFECTS_CSER_MASK

Command Submission and Execution Relaxations

NVME_CMD_EFFECTS_CSE_MASK

Command Submission and Execution

NVME_CMD_EFFECTS_UUID_SEL

UUID Selection Supported


title: nvme_cmd_effects_log(2)

summary: Commands Supported and Effects Log

text:
# nvme_cmd_effects_log(2)

## NAME
struct nvme_cmd_effects_log - Commands Supported and Effects Log

## SYNOPSIS
struct nvme_cmd_effects_log {

__le32 acs[256];

__le32 iocs[256];

__u8 rsvd[2048];

};

## Members
acs

Admin Command Supported

iocs

I/O Command Supported

rsvd

Reserved


title: nvme_cmd_format_mset(2)

summary: Format NVM - Metadata Settings

text:
# nvme_cmd_format_mset(2)

## NAME
enum nvme_cmd_format_mset - Format NVM - Metadata Settings

## SYNOPSIS
enum nvme_cmd_format_mset {

NVME_FORMAT_MSET_SEPARATE ,

NVME_FORMAT_MSET_EXTENDED

};

## Constants
NVME_FORMAT_MSET_SEPARATE

indicates that the metadata is transferred as part of a separate buffer.

NVME_FORMAT_MSET_EXTENDED

indicates that the metadata is transferred as part of an extended data LBA.


title: nvme_cmd_format_pi(2)

summary: Format NVM - Protection Information

text:
# nvme_cmd_format_pi(2)

## NAME
enum nvme_cmd_format_pi - Format NVM - Protection Information

## SYNOPSIS
enum nvme_cmd_format_pi {

NVME_FORMAT_PI_DISABLE ,

NVME_FORMAT_PI_TYPE1 ,

NVME_FORMAT_PI_TYPE2 ,

NVME_FORMAT_PI_TYPE3

};

## Constants
NVME_FORMAT_PI_DISABLE

Protection information is not enabled.

NVME_FORMAT_PI_TYPE1

Protection information is enabled, Type 1.

NVME_FORMAT_PI_TYPE2

Protection information is enabled, Type 2.

NVME_FORMAT_PI_TYPE3

Protection information is enabled, Type 3.


title: nvme_cmd_format_pil(2)

text:
# nvme_cmd_format_pil(2)

## NAME
enum nvme_cmd_format_pil - Format NVM - Protection Information Location

## SYNOPSIS
enum nvme_cmd_format_pil {

NVME_FORMAT_PIL_LAST ,

NVME_FORMAT_PIL_FIRST

};

## Constants
NVME_FORMAT_PIL_LAST

Protection information is transferred as the last bytes of metadata.

NVME_FORMAT_PIL_FIRST

Protection information is transferred as the first bytes of metadata.


title: nvme_cmd_format_ses(2)

summary: Format NVM - Secure Erase Settings

text:
# nvme_cmd_format_ses(2)

## NAME
enum nvme_cmd_format_ses - Format NVM - Secure Erase Settings

## SYNOPSIS
enum nvme_cmd_format_ses {

NVME_FORMAT_SES_NONE ,

NVME_FORMAT_SES_USER_DATA_ERASE ,

NVME_FORMAT_SES_CRYPTO_ERASE

};

## Constants
NVME_FORMAT_SES_NONE

No secure erase operation requested.

NVME_FORMAT_SES_USER_DATA_ERASE

User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e.g. the user data may be zero filled, one filled, etc.). If a User Data Erase is requested and all affected user data is encrypted, then the controller is allowed to use a cryptographic erase to perform the requested User Data Erase.

NVME_FORMAT_SES_CRYPTO_ERASE

Cryptographic Erase: All user data shall be erased cryptographically. This is accomplished by deleting the encryption key.


title: nvme_cmd_get_log_lid(2)

summary: Get Log Page -Log Page Identifiers

text:
# nvme_cmd_get_log_lid(2)

## NAME
enum nvme_cmd_get_log_lid - Get Log Page -Log Page Identifiers

## SYNOPSIS
enum nvme_cmd_get_log_lid {

NVME_LOG_LID_SUPPORTED_LOG_PAGES ,

NVME_LOG_LID_ERROR ,

NVME_LOG_LID_SMART ,

NVME_LOG_LID_FW_SLOT ,

NVME_LOG_LID_CHANGED_NS ,

NVME_LOG_LID_CMD_EFFECTS ,

NVME_LOG_LID_DEVICE_SELF_TEST ,

NVME_LOG_LID_TELEMETRY_HOST ,

NVME_LOG_LID_TELEMETRY_CTRL ,

NVME_LOG_LID_ENDURANCE_GROUP ,

NVME_LOG_LID_PREDICTABLE_LAT_NVMSET ,

NVME_LOG_LID_PREDICTABLE_LAT_AGG ,

NVME_LOG_LID_ANA ,

NVME_LOG_LID_PERSISTENT_EVENT ,

NVME_LOG_LID_LBA_STATUS ,

NVME_LOG_LID_ENDURANCE_GRP_EVT ,

NVME_LOG_LID_MEDIA_UNIT_STATUS ,

NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST ,

NVME_LOG_LID_FID_SUPPORTED_EFFECTS ,

NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS ,

NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN ,

NVME_LOG_LID_BOOT_PARTITION ,

NVME_LOG_LID_ROTATIONAL_MEDIA_INFO ,

NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS ,

NVME_LOG_LID_MGMT_ADDR_LIST ,

NVME_LOG_LID_PHY_RX_EOM ,

NVME_LOG_LID_REACHABILITY_GROUPS ,

NVME_LOG_LID_REACHABILITY_ASSOCIATIONS ,

NVME_LOG_LID_CHANGED_ALLOC_NS_LIST ,

NVME_LOG_LID_FDP_CONFIGS ,

NVME_LOG_LID_FDP_RUH_USAGE ,

NVME_LOG_LID_FDP_STATS ,

NVME_LOG_LID_FDP_EVENTS ,

NVME_LOG_LID_DISCOVER ,

NVME_LOG_LID_HOST_DISCOVER ,

NVME_LOG_LID_AVE_DISCOVER ,

NVME_LOG_LID_PULL_MODEL_DDC_REQ ,

NVME_LOG_LID_RESERVATION ,

NVME_LOG_LID_SANITIZE ,

NVME_LOG_LID_ZNS_CHANGED_ZONES

};

## Constants
NVME_LOG_LID_SUPPORTED_LOG_PAGES

Supported Log Pages

NVME_LOG_LID_ERROR

Error Information

NVME_LOG_LID_SMART

SMART / Health Information

NVME_LOG_LID_FW_SLOT

Firmware Slot Information

NVME_LOG_LID_CHANGED_NS

Changed Namespace List

NVME_LOG_LID_CMD_EFFECTS

Commands Supported and Effects

NVME_LOG_LID_DEVICE_SELF_TEST

Device Self-test

NVME_LOG_LID_TELEMETRY_HOST

Telemetry Host-Initiated

NVME_LOG_LID_TELEMETRY_CTRL

Telemetry Controller-Initiated

NVME_LOG_LID_ENDURANCE_GROUP

Endurance Group Information

NVME_LOG_LID_PREDICTABLE_LAT_NVMSET

Predictable Latency Per NVM Set

NVME_LOG_LID_PREDICTABLE_LAT_AGG

Predictable Latency Event Aggregate

NVME_LOG_LID_ANA

Asymmetric Namespace Access

NVME_LOG_LID_PERSISTENT_EVENT

Persistent Event Log

NVME_LOG_LID_LBA_STATUS

LBA Status Information

NVME_LOG_LID_ENDURANCE_GRP_EVT

Endurance Group Event Aggregate

NVME_LOG_LID_MEDIA_UNIT_STATUS

Media Unit Status

NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST

Supported Capacity Configuration Lis

NVME_LOG_LID_FID_SUPPORTED_EFFECTS

Feature Identifiers Supported and Effects

NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS

NVMe-MI Commands Supported and Effects

NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN

Command and Feature Lockdown

NVME_LOG_LID_BOOT_PARTITION

Boot Partition

NVME_LOG_LID_ROTATIONAL_MEDIA_INFO

Rotational Media Information

NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS

Dispersed Namespace Participating NVM Subsystems

NVME_LOG_LID_MGMT_ADDR_LIST

Management Address List

NVME_LOG_LID_PHY_RX_EOM

Physical Interface Receiver Eye Opening Measurement

NVME_LOG_LID_REACHABILITY_GROUPS

Reachability Groups

NVME_LOG_LID_REACHABILITY_ASSOCIATIONS

Reachability Associations

NVME_LOG_LID_CHANGED_ALLOC_NS_LIST

Changed Allocated Namespace List

NVME_LOG_LID_FDP_CONFIGS

FDP Configurations

NVME_LOG_LID_FDP_RUH_USAGE

Reclaim Unit Handle Usage

NVME_LOG_LID_FDP_STATS

FDP Statistics

NVME_LOG_LID_FDP_EVENTS

FDP Events

NVME_LOG_LID_DISCOVER

Discovery

NVME_LOG_LID_HOST_DISCOVER

Host Discovery

NVME_LOG_LID_AVE_DISCOVER

AVE Discovery

NVME_LOG_LID_PULL_MODEL_DDC_REQ

Pull Model DDC Request

NVME_LOG_LID_RESERVATION

Reservation Notification

NVME_LOG_LID_SANITIZE

Sanitize Status

NVME_LOG_LID_ZNS_CHANGED_ZONES

Changed Zone List


title: nvme_cmd_get_log_telemetry_host_lsp(2)

text:
# nvme_cmd_get_log_telemetry_host_lsp(2)

## NAME
enum nvme_cmd_get_log_telemetry_host_lsp - Telemetry Host-Initiated log specific field

## SYNOPSIS
enum nvme_cmd_get_log_telemetry_host_lsp {

NVME_LOG_TELEM_HOST_LSP_RETAIN ,

NVME_LOG_TELEM_HOST_LSP_CREATE

};

## Constants
NVME_LOG_TELEM_HOST_LSP_RETAIN

Get Telemetry Data Blocks

NVME_LOG_TELEM_HOST_LSP_CREATE

Create Telemetry Data Blocks


title: nvme_cmic(2)

text:
# nvme_cmic(2)

## NAME
enum nvme_cmic - This field indicates the controller multi-path I/O and NS sharing capabilities

## SYNOPSIS
enum nvme_cmic {

NVME_CMIC_MULTI_PORT_SHIFT ,

NVME_CMIC_MULTI_CTRL_SHIFT ,

NVME_CMIC_MULTI_SRIOV_SHIFT ,

NVME_CMIC_MULTI_ANA_SHIFT ,

NVME_CMIC_MULTI_RSVD_SHIFT ,

NVME_CMIC_MULTI_PORT_MASK ,

NVME_CMIC_MULTI_CTRL_MASK ,

NVME_CMIC_MULTI_SRIOV_MASK ,

NVME_CMIC_MULTI_ANA_MASK ,

NVME_CMIC_MULTI_RSVD_MASK

};

## Constants
NVME_CMIC_MULTI_PORT_SHIFT

Shift amount to get the NVM subsystem port

NVME_CMIC_MULTI_CTRL_SHIFT

Shift amount to get the controllers

NVME_CMIC_MULTI_SRIOV_SHIFT

Shift amount to get the SR-IOV virtual function

NVME_CMIC_MULTI_ANA_SHIFT

Shift amount to get the asymmetric namespace access reporting

NVME_CMIC_MULTI_RSVD_SHIFT

Shift amount to get the reserved

NVME_CMIC_MULTI_PORT_MASK

Mask to get the NVM subsystem port

NVME_CMIC_MULTI_CTRL_MASK

Mask to get the controllers

NVME_CMIC_MULTI_SRIOV_MASK

Mask to get the SR-IOV virtual function

NVME_CMIC_MULTI_ANA_MASK

Mask to get the asymmetric namespace access reporting

NVME_CMIC_MULTI_RSVD_MASK

Mask to get the reserved


title: nvme_compare(2)

summary: Submit an nvme user compare command

text:
# nvme_compare(2)

## NAME
nvme_compare - Submit an nvme user compare command

## SYNOPSIS
int nvme_compare (struct nvme_io_args *args );

## ARGUMENTS
args

struct nvme_io_args argument structure

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_connect_err(2)

summary: nvme connect error codes

text:
# nvme_connect_err(2)

## NAME
enum nvme_connect_err - nvme connect error codes

## SYNOPSIS
enum nvme_connect_err {

ENVME_CONNECT_RESOLVE ,

ENVME_CONNECT_ADDRFAM ,

ENVME_CONNECT_TRADDR ,

ENVME_CONNECT_TARG ,

ENVME_CONNECT_AARG ,

ENVME_CONNECT_OPEN ,

ENVME_CONNECT_WRITE ,

ENVME_CONNECT_READ ,

ENVME_CONNECT_PARSE ,

ENVME_CONNECT_INVAL_TR ,

ENVME_CONNECT_LOOKUP_SUBSYS_NAME ,

ENVME_CONNECT_LOOKUP_SUBSYS ,

ENVME_CONNECT_ALREADY ,

ENVME_CONNECT_INVAL ,

ENVME_CONNECT_ADDRINUSE ,

ENVME_CONNECT_NODEV ,

ENVME_CONNECT_OPNOTSUPP ,

ENVME_CONNECT_CONNREFUSED ,

ENVME_CONNECT_ADDRNOTAVAIL ,

ENVME_CONNECT_IGNORED ,

ENVME_CONNECT_NOKEY

};

## Constants
ENVME_CONNECT_RESOLVE

failed to resolve host

ENVME_CONNECT_ADDRFAM

unrecognized address family

ENVME_CONNECT_TRADDR

failed to get traddr

ENVME_CONNECT_TARG

need a transport (-t) argument

ENVME_CONNECT_AARG

need a address (-a) argument

ENVME_CONNECT_OPEN

failed to open nvme-fabrics device

ENVME_CONNECT_WRITE

failed to write to nvme-fabrics device

ENVME_CONNECT_READ

failed to read from nvme-fabrics device

ENVME_CONNECT_PARSE

failed to parse ctrl info

ENVME_CONNECT_INVAL_TR

invalid transport type

ENVME_CONNECT_LOOKUP_SUBSYS_NAME

failed to lookup subsystem name

ENVME_CONNECT_LOOKUP_SUBSYS

failed to lookup subsystem

ENVME_CONNECT_ALREADY

the connect attempt failed, already connected

ENVME_CONNECT_INVAL

invalid arguments/configuration

ENVME_CONNECT_ADDRINUSE

hostnqn already in use

ENVME_CONNECT_NODEV

invalid interface

ENVME_CONNECT_OPNOTSUPP

not supported

ENVME_CONNECT_CONNREFUSED

connection refused

ENVME_CONNECT_ADDRNOTAVAIL

cannot assign requested address

ENVME_CONNECT_IGNORED

connect attempt is ignored due to configuration

ENVME_CONNECT_NOKEY

the TLS key is missing


title: nvme_constants(2)

text:
# nvme_constants(2)

## NAME
enum nvme_constants - A place to stash various constant nvme values

## SYNOPSIS
enum nvme_constants {

NVME_NSID_ALL ,

NVME_NSID_NONE ,

NVME_UUID_NONE ,

NVME_CNTLID_NONE ,

NVME_CNSSPECID_NONE ,

NVME_LOG_LSP_NONE ,

NVME_LOG_LSI_NONE ,

NVME_LOG_LPO_NONE ,

NVME_IDENTIFY_DATA_SIZE ,

NVME_LOG_SUPPORTED_LOG_PAGES_MAX ,

NVME_ID_NVMSET_LIST_MAX ,

NVME_ID_UUID_LIST_MAX ,

NVME_ID_CTRL_LIST_MAX ,

NVME_ID_NS_LIST_MAX ,

NVME_ID_SECONDARY_CTRL_MAX ,

NVME_ID_DOMAIN_LIST_MAX ,

NVME_ID_ENDURANCE_GROUP_LIST_MAX ,

NVME_ID_ND_DESCRIPTOR_MAX ,

NVME_FEAT_LBA_RANGE_MAX ,

NVME_LOG_ST_MAX_RESULTS ,

NVME_LOG_TELEM_BLOCK_SIZE ,

NVME_LOG_FID_SUPPORTED_EFFECTS_MAX ,

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX ,

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED ,

NVME_DSM_MAX_RANGES ,

NVME_NQN_LENGTH ,

NVMF_TRADDR_SIZE ,

NVMF_TSAS_SIZE ,

NVME_ZNS_CHANGED_ZONES_MAX ,

NVME_STREAM_ID_MAX

};

## Constants
NVME_NSID_ALL

A broadcast value that is used to specify all namespaces

NVME_NSID_NONE

The invalid namespace id, for when the nsid parameter is not used in a command

NVME_UUID_NONE

Use to omit a uuid command parameter

NVME_CNTLID_NONE

Use to omit a cntlid command parameter

NVME_CNSSPECID_NONE

Use to omit a cns_specific_id command parameter

NVME_LOG_LSP_NONE

Use to omit a log lsp command parameter

NVME_LOG_LSI_NONE

Use to omit a log lsi command parameter

NVME_LOG_LPO_NONE

Use to omit a log lpo command parameter

NVME_IDENTIFY_DATA_SIZE

The transfer size for nvme identify commands

NVME_LOG_SUPPORTED_LOG_PAGES_MAX

The largest possible index in the supported log pages log.

NVME_ID_NVMSET_LIST_MAX

The largest possible nvmset index in identify nvmeset

NVME_ID_UUID_LIST_MAX

The largest possible uuid index in identify uuid list

NVME_ID_CTRL_LIST_MAX

The largest possible controller index in identify controller list

NVME_ID_NS_LIST_MAX

The largest possible namespace index in identify namespace list

NVME_ID_SECONDARY_CTRL_MAX

The largest possible secondary controller index in identify secondary controller

NVME_ID_DOMAIN_LIST_MAX

The largest possible domain index in the in domain list

NVME_ID_ENDURANCE_GROUP_LIST_MAX

The largest possible endurance group index in the endurance group list

NVME_ID_ND_DESCRIPTOR_MAX

The largest possible namespace granularity index in the namespace granularity descriptor list

NVME_FEAT_LBA_RANGE_MAX

The largest possible LBA range index in feature lba range type

NVME_LOG_ST_MAX_RESULTS

The largest possible self test result index in the device self test log

NVME_LOG_TELEM_BLOCK_SIZE

Specification defined size of Telemetry Data Blocks

NVME_LOG_FID_SUPPORTED_EFFECTS_MAX

The largest possible FID index in the feature identifiers effects log.

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX

The largest possible MI Command index in the MI Command effects log.

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED

The reserved space in the MI Command effects log.

NVME_DSM_MAX_RANGES

The largest possible range index in a data-set management command

NVME_NQN_LENGTH

Max length for NVMe Qualified Name

NVMF_TRADDR_SIZE

Max Transport Address size

NVMF_TSAS_SIZE

Max Transport Specific Address Subtype size

NVME_ZNS_CHANGED_ZONES_MAX

Max number of zones in the changed zones log page

NVME_STREAM_ID_MAX

Max number of stream IDs


title: nvme_copy(2)

summary: Copy command

text:
# nvme_copy(2)

## NAME
nvme_copy - Copy command

## SYNOPSIS
int nvme_copy (struct nvme_copy_args *args );

## ARGUMENTS
args

struct nvme_copy_args argument structure

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.


title: nvme_copy_args(2)

summary: Arguments for the NVMe Copy command

text:
# nvme_copy_args(2)

## NAME
struct nvme_copy_args - Arguments for the NVMe Copy command

## SYNOPSIS
struct nvme_copy_args {

__u64 sdlba;

__u32 *result;

struct nvme_copy_range *copy;

int args_size;

int fd;

__u32 timeout;

__u32 nsid;

__u32 ilbrt;

int lr;

int fua;

__u16 nr;

__u16 dspec;

__u16 lbatm;

__u16 lbat;

__u8 prinfor;

__u8 prinfow;

__u8 dtype;

__u8 format;

__u64 ilbrt_u64;

};

## Members
sdlba

Start destination LBA

result

The command completion result from CQE dword0

copy

Range description

args_size

Size of struct nvme_copy_args

fd

File descriptor of the nvme device

timeout

Timeout in ms

nsid

Namespace identifier

ilbrt

Initial logical block reference tag

lr

Limited retry

fua

Force unit access

nr

Number of ranges

dspec

Directive specific value

lbatm

Logical block application tag mask

lbat

Logical block application tag

prinfor

Protection information field for read

prinfow

Protection information field for write

dtype

Directive type

format

Descriptor format

ilbrt_u64

Initial logical block reference tag - 8 byte version required for enhanced protection info


title: nvme_copy_range(2)

text:
# nvme_copy_range(2)

## NAME
struct nvme_copy_range - Copy - Source Range Entries Descriptor Format

## SYNOPSIS
struct nvme_copy_range {

__u8 rsvd0[8];

__le64 slba;

__le16 nlb;

__u8 rsvd18[6];

__le32 eilbrt;

__le16 elbat;

__le16 elbatm;

};

## Members
rsvd0

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

eilbrt

Expected Initial Logical Block Reference Tag / Expected Logical Block Storage Tag

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f1(2)

text:
# nvme_copy_range_f1(2)

## NAME
struct nvme_copy_range_f1 - Copy - Source Range Entries Descriptor Format 1h

## SYNOPSIS
struct nvme_copy_range_f1 {

__u8 rsvd0[8];

__le64 slba;

__le16 nlb;

__u8 rsvd18[8];

__u8 elbt[10];

__le16 elbat;

__le16 elbatm;

};

## Members
rsvd0

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

elbt

Expected Initial Logical Block Reference Tag / Expected Logical Block Storage Tag

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f2(2)

text:
# nvme_copy_range_f2(2)

## NAME
struct nvme_copy_range_f2 - Copy - Source Range Entries Descriptor Format 2h

## SYNOPSIS
struct nvme_copy_range_f2 {

__le32 snsid;

__u8 rsvd4[4];

__le64 slba;

__le16 nlb;

__u8 rsvd18[4];

__le16 sopt;

__le32 eilbrt;

__le16 elbat;

__le16 elbatm;

};

## Members
snsid

Source Namespace Identifier

rsvd4

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

sopt

Source Options

eilbrt

Expected Initial Logical Block Reference Tag / Expected Logical Block Storage Tag

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f3(2)

text:
# nvme_copy_range_f3(2)

## NAME
struct nvme_copy_range_f3 - Copy - Source Range Entries Descriptor Format 3h

## SYNOPSIS
struct nvme_copy_range_f3 {

__le32 snsid;

__u8 rsvd4[4];

__le64 slba;

__le16 nlb;

__u8 rsvd18[4];

__le16 sopt;

__u8 rsvd24[2];

__u8 elbt[10];

__le16 elbat;

__le16 elbatm;

};

## Members
snsid

Source Namespace Identifier

rsvd4

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

sopt

Source Options

rsvd24

Reserved

elbt

Expected Initial Logical Block Reference Tag / Expected Logical Block Storage Tag

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_sopt(2)

summary: NVMe Copy Range Source Options

text:
# nvme_copy_range_sopt(2)

## NAME
enum nvme_copy_range_sopt - NVMe Copy Range Source Options

## SYNOPSIS
enum nvme_copy_range_sopt {

NVME_COPY_SOPT_FCO

};

## Constants
NVME_COPY_SOPT_FCO

NVMe Copy Source Option Fast Copy Only


title: nvme_create_ctrl(2)

summary: Allocate an unconnected NVMe controller

text:
# nvme_create_ctrl(2)

## NAME
nvme_create_ctrl - Allocate an unconnected NVMe controller

## SYNOPSIS
nvme_ctrl_t nvme_create_ctrl (nvme_root_t r , const char *subsysnqn , const char *transport , const char *traddr , const char *host_traddr , const char *host_iface , const char *trsvcid );

## ARGUMENTS
r

NVMe root element

subsysnqn

Subsystem NQN

transport

Transport type

traddr

Transport address

host_traddr

Host transport address

host_iface

Host interface name

trsvcid

Transport service ID

## DESCRIPTION
Creates an unconnected controller to be used for nvme_add_ctrl.

## RETURN
Controller instance


title: nvme_create_root(2)

summary: Initialize root object

text:
# nvme_create_root(2)

## NAME
nvme_create_root - Initialize root object

## SYNOPSIS
nvme_root_t nvme_create_root (FILE *fp , int log_level );

## ARGUMENTS
fp

File descriptor for logging messages

log_level

Logging level to use

## RETURN
Initialized nvme_root_t object


title: nvme_crto(2)

text:
# nvme_crto(2)

## NAME
enum nvme_crto - This field indicates the controller ready timeouts

## SYNOPSIS
enum nvme_crto {

NVME_CRTO_CRWMT_SHIFT ,

NVME_CRTO_CRIMT_SHIFT ,

NVME_CRTO_CRWMT_MASK ,

NVME_CRTO_CRIMT_MASK

};

## Constants
NVME_CRTO_CRWMT_SHIFT

Shift amount to get the controller ready with media timeout

NVME_CRTO_CRIMT_SHIFT

Shift amount to get the controller ready independent of media timeout

NVME_CRTO_CRWMT_MASK

Mask to get the controller ready with media timeout

NVME_CRTO_CRIMT_MASK

Mask to get the controller ready independent of media timeout


title: nvme_csi(2)

summary: Defined command set indicators

text:
# nvme_csi(2)

## NAME
enum nvme_csi - Defined command set indicators

## SYNOPSIS
enum nvme_csi {

NVME_CSI_NVM ,

NVME_CSI_KV ,

NVME_CSI_ZNS ,

NVME_CSI_SLM ,

NVME_CSI_CP

};

## Constants
NVME_CSI_NVM

NVM Command Set Indicator

NVME_CSI_KV

Key Value Command Set

NVME_CSI_ZNS

Zoned Namespace Command Set

NVME_CSI_SLM

Subsystem Local Memory Command Set

NVME_CSI_CP

Computational Programs Command Set


title: nvme_csts(2)

text:
# nvme_csts(2)

## NAME
enum nvme_csts - This field indicates the controller status register

## SYNOPSIS
enum nvme_csts {

NVME_CSTS_RDY_SHIFT ,

NVME_CSTS_CFS_SHIFT ,

NVME_CSTS_SHST_SHIFT ,

NVME_CSTS_NSSRO_SHIFT ,

NVME_CSTS_PP_SHIFT ,

NVME_CSTS_ST_SHIFT ,

NVME_CSTS_RDY_MASK ,

NVME_CSTS_CFS_MASK ,

NVME_CSTS_SHST_MASK ,

NVME_CSTS_NSSRO_MASK ,

NVME_CSTS_PP_MASK ,

NVME_CSTS_ST_MASK ,

NVME_CSTS_SHST_NORMAL ,

NVME_CSTS_SHST_OCCUR ,

NVME_CSTS_SHST_CMPLT ,

NVME_CSTS_SHN_MASK

};

## Constants
NVME_CSTS_RDY_SHIFT

Shift amount to get the ready

NVME_CSTS_CFS_SHIFT

Shift amount to get the controller fatal status

NVME_CSTS_SHST_SHIFT

Shift amount to get the shutdown status

NVME_CSTS_NSSRO_SHIFT

Shift amount to get the NVM subsystem reset occurred

NVME_CSTS_PP_SHIFT

Shift amount to get the processing paused

NVME_CSTS_ST_SHIFT

Shift amount to get the shutdown type

NVME_CSTS_RDY_MASK

Mask to get the ready

NVME_CSTS_CFS_MASK

Mask to get the controller fatal status

NVME_CSTS_SHST_MASK

Mask to get the shutdown status

NVME_CSTS_NSSRO_MASK

Mask to get the NVM subsystem reset occurred

NVME_CSTS_PP_MASK

Mask to get the processing paused

NVME_CSTS_ST_MASK

Mask to get the shutdown type

NVME_CSTS_SHST_NORMAL

Normal operation

NVME_CSTS_SHST_OCCUR

Shutdown processing occurring

NVME_CSTS_SHST_CMPLT

Shutdown processing complete

NVME_CSTS_SHN_MASK

Deprecated mask to get the shutdown status


title: nvme_ctrl_config_match(2)

summary: Check if ctrl @c matches config params

text:
# nvme_ctrl_config_match(2)

## NAME
nvme_ctrl_config_match - Check if ctrl @c matches config params

## SYNOPSIS
bool nvme_ctrl_config_match (struct nvme_ctrl *c , const char *transport , const char *traddr , const char *trsvcid , const char *subsysnqn , const char *host_traddr , const char *host_iface );

## ARGUMENTS
c

An existing controller instance

transport

Transport name

traddr

Transport address

trsvcid

Transport service identifier

subsysnqn

Subsystem NQN

host_traddr

Host transport address

host_iface

Host interface name

## DESCRIPTION
Check that controller c matches parameters: transport, traddr, trsvcid, subsysnqn, host_traddr, and host_iface. Parameters set to NULL will be ignored.

## RETURN
true if there's a match, false otherwise.


title: nvme_ctrl_find(2)

summary: Locate an existing controller

text:
# nvme_ctrl_find(2)

## NAME
nvme_ctrl_find - Locate an existing controller

## SYNOPSIS
nvme_ctrl_t nvme_ctrl_find (nvme_subsystem_t s , const char *transport , const char *traddr , const char *trsvcid , const char *subsysnqn , const char *host_traddr , const char *host_iface );

## ARGUMENTS
s

nvme_subsystem_t object

transport

Transport name

traddr

Transport address

trsvcid

Transport service identifier

subsysnqn

Subsystem NQN

host_traddr

Host transport address

host_iface

Host interface name

## DESCRIPTION
Lookup a controller in s based on transport, traddr, trsvcid, subsysnqn, host_traddr, and host_iface. transport must be specified, other fields may be required depending on the transport. Parameters set to NULL will be ignored.

Unlike nvme_lookup_ctrl, this function does not create a new object if an existing controller cannot be found.

## RETURN
Controller instance on success, NULL otherwise.


title: nvme_ctrl_first_ns(2)

summary: Start namespace iterator

text:
# nvme_ctrl_first_ns(2)

## NAME
nvme_ctrl_first_ns - Start namespace iterator

## SYNOPSIS
nvme_ns_t nvme_ctrl_first_ns (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
First nvme_ns_t object of an c iterator


title: nvme_ctrl_first_path(2)

summary: Start path iterator

text:
# nvme_ctrl_first_path(2)

## NAME
nvme_ctrl_first_path - Start path iterator

## SYNOPSIS
nvme_path_t nvme_ctrl_first_path (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
First nvme_path_t object of an c iterator


title: nvme_ctrl_for_each_ns(2)

summary: Traverse namespaces

text:
# nvme_ctrl_for_each_ns(2)

## NAME
nvme_ctrl_for_each_ns - Traverse namespaces

## SYNOPSIS
nvme_ctrl_for_each_ns (c , n );

## ARGUMENTS
c

Controller instance

n

nvme_ns_t object


title: nvme_ctrl_for_each_ns_safe(2)

summary: Traverse namespaces

text:
# nvme_ctrl_for_each_ns_safe(2)

## NAME
nvme_ctrl_for_each_ns_safe - Traverse namespaces

## SYNOPSIS
nvme_ctrl_for_each_ns_safe (c , n , _n );

## ARGUMENTS
c

Controller instance

n

nvme_ns_t object

_n

A nvme_ns_t_node to use as temporary storage


title: nvme_ctrl_for_each_path(2)

summary: Traverse paths

text:
# nvme_ctrl_for_each_path(2)

## NAME
nvme_ctrl_for_each_path - Traverse paths

## SYNOPSIS
nvme_ctrl_for_each_path (c , p );

## ARGUMENTS
c

Controller instance

p

nvme_path_t object


title: nvme_ctrl_for_each_path_safe(2)

summary: Traverse paths

text:
# nvme_ctrl_for_each_path_safe(2)

## NAME
nvme_ctrl_for_each_path_safe - Traverse paths

## SYNOPSIS
nvme_ctrl_for_each_path_safe (c , p , _p );

## ARGUMENTS
c

Controller instance

p

nvme_path_t object

_p

A nvme_path_t_node to use as temporary storage


title: nvme_ctrl_get_address(2)

summary: Address string of a controller

text:
# nvme_ctrl_get_address(2)

## NAME
nvme_ctrl_get_address - Address string of a controller

## SYNOPSIS
const char * nvme_ctrl_get_address (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
NVMe-over-Fabrics address string of c or empty string of no address is present.


title: nvme_ctrl_get_config(2)

summary: Fabrics configuration of a controller

text:
# nvme_ctrl_get_config(2)

## NAME
nvme_ctrl_get_config - Fabrics configuration of a controller

## SYNOPSIS
struct nvme_fabrics_config * nvme_ctrl_get_config (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Fabrics configuration of c


title: nvme_ctrl_get_dhchap_host_key(2)

summary: Return host key

text:
# nvme_ctrl_get_dhchap_host_key(2)

## NAME
nvme_ctrl_get_dhchap_host_key - Return host key

## SYNOPSIS
const char * nvme_ctrl_get_dhchap_host_key (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be checked

## RETURN
DH-HMAC-CHAP host key or NULL if not set


title: nvme_ctrl_get_dhchap_key(2)

summary: Return controller key

text:
# nvme_ctrl_get_dhchap_key(2)

## NAME
nvme_ctrl_get_dhchap_key - Return controller key

## SYNOPSIS
const char * nvme_ctrl_get_dhchap_key (nvme_ctrl_t c );

## ARGUMENTS
c

Controller for which the key should be set

## RETURN
DH-HMAC-CHAP controller key or NULL if not set


title: nvme_ctrl_get_fd(2)

summary: Get associated file descriptor

text:
# nvme_ctrl_get_fd(2)

## NAME
nvme_ctrl_get_fd - Get associated file descriptor

## SYNOPSIS
int nvme_ctrl_get_fd (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## DESCRIPTION
libnvme will open the file (if not already opened) and keep an internal copy of the file descriptor. Following calls to this API retrieve the internal cached copy of the file descriptor. The file will remain opened and the fd will remain cached until the controller object is deleted or nvme_ctrl_release_fd is called.

## RETURN
File descriptor associated with c or -1


title: nvme_ctrl_get_firmware(2)

summary: Firmware string of a controller

text:
# nvme_ctrl_get_firmware(2)

## NAME
nvme_ctrl_get_firmware - Firmware string of a controller

## SYNOPSIS
const char * nvme_ctrl_get_firmware (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Firmware string of c


title: nvme_ctrl_get_host_iface(2)

summary: Host interface name of a controller

text:
# nvme_ctrl_get_host_iface(2)

## NAME
nvme_ctrl_get_host_iface - Host interface name of a controller

## SYNOPSIS
const char * nvme_ctrl_get_host_iface (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Host interface name of c (if present)


title: nvme_ctrl_get_host_traddr(2)

summary: Host transport address of a controller

text:
# nvme_ctrl_get_host_traddr(2)

## NAME
nvme_ctrl_get_host_traddr - Host transport address of a controller

## SYNOPSIS
const char * nvme_ctrl_get_host_traddr (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Host transport address of c (if present)


title: nvme_ctrl_get_keyring(2)

summary: Return keyring

text:
# nvme_ctrl_get_keyring(2)

## NAME
nvme_ctrl_get_keyring - Return keyring

## SYNOPSIS
const char * nvme_ctrl_get_keyring (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be used for the lookup

## RETURN
Keyring or NULL if not set


title: nvme_ctrl_get_model(2)

summary: Model of a controller

text:
# nvme_ctrl_get_model(2)

## NAME
nvme_ctrl_get_model - Model of a controller

## SYNOPSIS
const char * nvme_ctrl_get_model (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Model string of c


title: nvme_ctrl_get_name(2)

summary: sysfs name of a controller

text:
# nvme_ctrl_get_name(2)

## NAME
nvme_ctrl_get_name - sysfs name of a controller

## SYNOPSIS
const char * nvme_ctrl_get_name (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
sysfs name of c


title: nvme_ctrl_get_numa_node(2)

summary: NUMA node of a controller

text:
# nvme_ctrl_get_numa_node(2)

## NAME
nvme_ctrl_get_numa_node - NUMA node of a controller

## SYNOPSIS
const char * nvme_ctrl_get_numa_node (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
String indicating the NUMA node


title: nvme_ctrl_get_phy_slot(2)

text:
# nvme_ctrl_get_phy_slot(2)

## NAME
nvme_ctrl_get_phy_slot - PCI physical slot number of a controller

## SYNOPSIS
const char * nvme_ctrl_get_phy_slot (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
PCI physical slot number of c or empty string if slot number is not present.


title: nvme_ctrl_get_queue_count(2)

summary: Queue count of a controller

text:
# nvme_ctrl_get_queue_count(2)

## NAME
nvme_ctrl_get_queue_count - Queue count of a controller

## SYNOPSIS
const char * nvme_ctrl_get_queue_count (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Queue count of c


title: nvme_ctrl_get_serial(2)

summary: Serial number of a controller

text:
# nvme_ctrl_get_serial(2)

## NAME
nvme_ctrl_get_serial - Serial number of a controller

## SYNOPSIS
const char * nvme_ctrl_get_serial (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Serial number string of c


title: nvme_ctrl_get_sqsize(2)

summary: SQ size of a controller

text:
# nvme_ctrl_get_sqsize(2)

## NAME
nvme_ctrl_get_sqsize - SQ size of a controller

## SYNOPSIS
const char * nvme_ctrl_get_sqsize (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
SQ size (as string) of c


title: nvme_ctrl_get_src_addr(2)

text:
# nvme_ctrl_get_src_addr(2)

## NAME
nvme_ctrl_get_src_addr - Extract src_addr from the c->address string

## SYNOPSIS
char * nvme_ctrl_get_src_addr (nvme_ctrl_t c , char *src_addr , size_t src_addr_len );

## ARGUMENTS
c

Controller instance

src_addr

Where to copy the src_addr. Size must be at least INET6_ADDRSTRLEN.

src_addr_len

Length of the buffer src_addr.

## RETURN
Pointer to src_addr on success. NULL on failure to extract the src_addr.


title: nvme_ctrl_get_state(2)

summary: Running state of a controller

text:
# nvme_ctrl_get_state(2)

## NAME
nvme_ctrl_get_state - Running state of a controller

## SYNOPSIS
const char * nvme_ctrl_get_state (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
String indicating the running state of c


title: nvme_ctrl_get_subsysnqn(2)

summary: Subsystem NQN of a controller

text:
# nvme_ctrl_get_subsysnqn(2)

## NAME
nvme_ctrl_get_subsysnqn - Subsystem NQN of a controller

## SYNOPSIS
const char * nvme_ctrl_get_subsysnqn (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Subsystem NQN of c


title: nvme_ctrl_get_subsystem(2)

summary: Parent subsystem of a controller

text:
# nvme_ctrl_get_subsystem(2)

## NAME
nvme_ctrl_get_subsystem - Parent subsystem of a controller

## SYNOPSIS
nvme_subsystem_t nvme_ctrl_get_subsystem (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Parent nvme_subsystem_t object


title: nvme_ctrl_get_sysfs_dir(2)

summary: sysfs directory of a controller

text:
# nvme_ctrl_get_sysfs_dir(2)

## NAME
nvme_ctrl_get_sysfs_dir - sysfs directory of a controller

## SYNOPSIS
const char * nvme_ctrl_get_sysfs_dir (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
sysfs directory name of c


title: nvme_ctrl_get_tls_key(2)

summary: Return Derive TLS PSK

text:
# nvme_ctrl_get_tls_key(2)

## NAME
nvme_ctrl_get_tls_key - Return Derive TLS PSK

## SYNOPSIS
const char * nvme_ctrl_get_tls_key (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be used for the lookup

## RETURN
Key in PSK interchange format or NULL if not set


title: nvme_ctrl_get_tls_key_identity(2)

summary: Return Derive TLS Identity

text:
# nvme_ctrl_get_tls_key_identity(2)

## NAME
nvme_ctrl_get_tls_key_identity - Return Derive TLS Identity

## SYNOPSIS
const char * nvme_ctrl_get_tls_key_identity (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be used for the lookup

## RETURN
Derive TLS Identity or NULL if not set


title: nvme_ctrl_get_traddr(2)

summary: Transport address of a controller

text:
# nvme_ctrl_get_traddr(2)

## NAME
nvme_ctrl_get_traddr - Transport address of a controller

## SYNOPSIS
const char * nvme_ctrl_get_traddr (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Transport address of c


title: nvme_ctrl_get_transport(2)

summary: Transport type of a controller

text:
# nvme_ctrl_get_transport(2)

## NAME
nvme_ctrl_get_transport - Transport type of a controller

## SYNOPSIS
const char * nvme_ctrl_get_transport (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Transport type of c


title: nvme_ctrl_get_trsvcid(2)

text:
# nvme_ctrl_get_trsvcid(2)

## NAME
nvme_ctrl_get_trsvcid - Transport service identifier of a controller

## SYNOPSIS
const char * nvme_ctrl_get_trsvcid (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Transport service identifier of c (if present)


title: nvme_ctrl_identify(2)

summary: Issues an 'identify controller' command

text:
# nvme_ctrl_identify(2)

## NAME
nvme_ctrl_identify - Issues an 'identify controller' command

## SYNOPSIS
int nvme_ctrl_identify (nvme_ctrl_t c , struct nvme_id_ctrl *id );

## ARGUMENTS
c

Controller instance

id

Identify controller data structure

## DESCRIPTION
Issues an 'identify controller' command to c and copies the data into id.

## RETURN
0 on success or -1 on failure.


title: nvme_ctrl_is_discovered(2)

text:
# nvme_ctrl_is_discovered(2)

## NAME
nvme_ctrl_is_discovered - Returns the value of the 'discovered' flag

## SYNOPSIS
bool nvme_ctrl_is_discovered (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Value of the 'discovered' flag of c


title: nvme_ctrl_is_discovery_ctrl(2)

summary: Check the 'discovery_ctrl' flag

text:
# nvme_ctrl_is_discovery_ctrl(2)

## NAME
nvme_ctrl_is_discovery_ctrl - Check the 'discovery_ctrl' flag

## SYNOPSIS
bool nvme_ctrl_is_discovery_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be checked

## DESCRIPTION
Returns the value of the 'discovery_ctrl' flag which specifies whether c connects to a discovery subsystem.

## RETURN
Value of the 'discover_ctrl' flag


title: nvme_ctrl_is_persistent(2)

text:
# nvme_ctrl_is_persistent(2)

## NAME
nvme_ctrl_is_persistent - Returns the value of the 'persistent' flag

## SYNOPSIS
bool nvme_ctrl_is_persistent (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Value of the 'persistent' flag of c


title: nvme_ctrl_is_unique_discovery_ctrl(2)

summary: Check the 'unique_discovery_ctrl' flag

text:
# nvme_ctrl_is_unique_discovery_ctrl(2)

## NAME
nvme_ctrl_is_unique_discovery_ctrl - Check the 'unique_discovery_ctrl' flag

## SYNOPSIS
bool nvme_ctrl_is_unique_discovery_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be checked

## RETURN
Value of the 'unique_discovery_ctrl' flag


title: nvme_ctrl_list(2)

summary: Controller List

text:
# nvme_ctrl_list(2)

## NAME
struct nvme_ctrl_list - Controller List

## SYNOPSIS
struct nvme_ctrl_list {

__le16 num;

__le16 identifier[NVME_ID_CTRL_LIST_MAX];

};

## Members
num

Number of Identifiers

identifier

NVM subsystem unique controller identifier


title: nvme_ctrl_metadata_type(2)

summary: Controller Metadata Element Types

text:
# nvme_ctrl_metadata_type(2)

## NAME
enum nvme_ctrl_metadata_type - Controller Metadata Element Types

## SYNOPSIS
enum nvme_ctrl_metadata_type {

NVME_CTRL_METADATA_OS_CTRL_NAME ,

NVME_CTRL_METADATA_OS_DRIVER_NAME ,

NVME_CTRL_METADATA_OS_DRIVER_VER ,

NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME ,

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME ,

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER ,

NVME_CTRL_METADATA_SYS_PROC_MODEL ,

NVME_CTRL_METADATA_CHIPSET_DRV_NAME ,

NVME_CTRL_METADATA_CHIPSET_DRV_VERSION ,

NVME_CTRL_METADATA_OS_NAME_AND_BUILD ,

NVME_CTRL_METADATA_SYS_PROD_NAME ,

NVME_CTRL_METADATA_FIRMWARE_VERSION ,

NVME_CTRL_METADATA_OS_DRIVER_FILENAME ,

NVME_CTRL_METADATA_DISPLAY_DRV_NAME ,

NVME_CTRL_METADATA_DISPLAY_DRV_VERSION ,

NVME_CTRL_METADATA_HOST_DET_FAIL_REC

};

## Constants
NVME_CTRL_METADATA_OS_CTRL_NAME

Name of the controller in the operating system.

NVME_CTRL_METADATA_OS_DRIVER_NAME

Name of the driver in the operating system.

NVME_CTRL_METADATA_OS_DRIVER_VER

Version of the driver in the operating system.

NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME

Name of the controller in the pre-boot environment.

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME

Name of the driver in the pre-boot environment.

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER

Version of the driver in the pre-boot environment.

NVME_CTRL_METADATA_SYS_PROC_MODEL

Model of the processor.

NVME_CTRL_METADATA_CHIPSET_DRV_NAME

Chipset driver name.

NVME_CTRL_METADATA_CHIPSET_DRV_VERSION

Chipset driver version.

NVME_CTRL_METADATA_OS_NAME_AND_BUILD

Operating system name and build.

NVME_CTRL_METADATA_SYS_PROD_NAME

System product name.

NVME_CTRL_METADATA_FIRMWARE_VERSION

Host firmware (e.g UEFI) version.

NVME_CTRL_METADATA_OS_DRIVER_FILENAME

Operating system driver filename.

NVME_CTRL_METADATA_DISPLAY_DRV_NAME

Display driver name.

NVME_CTRL_METADATA_DISPLAY_DRV_VERSION

Display driver version.

NVME_CTRL_METADATA_HOST_DET_FAIL_REC

Failure record.


title: nvme_ctrl_next_ns(2)

summary: Next namespace iterator

text:
# nvme_ctrl_next_ns(2)

## NAME
nvme_ctrl_next_ns - Next namespace iterator

## SYNOPSIS
nvme_ns_t nvme_ctrl_next_ns (nvme_ctrl_t c , nvme_ns_t n );

## ARGUMENTS
c

Controller instance

n

Previous nvme_ns_t iterator

## RETURN
Next nvme_ns_t object of an c iterator


title: nvme_ctrl_next_path(2)

summary: Next path iterator

text:
# nvme_ctrl_next_path(2)

## NAME
nvme_ctrl_next_path - Next path iterator

## SYNOPSIS
nvme_path_t nvme_ctrl_next_path (nvme_ctrl_t c , nvme_path_t p );

## ARGUMENTS
c

Controller instance

p

Previous nvme_path_t object of an c iterator

## RETURN
Next nvme_path_t object of an c iterator


title: nvme_ctrl_release_fd(2)

text:
# nvme_ctrl_release_fd(2)

## NAME
nvme_ctrl_release_fd - Close fd and clear fd from controller object

## SYNOPSIS
void nvme_ctrl_release_fd (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance


title: nvme_ctrl_reset(2)

summary: Initiate a controller reset

text:
# nvme_ctrl_reset(2)

## NAME
nvme_ctrl_reset - Initiate a controller reset

## SYNOPSIS
int nvme_ctrl_reset (int fd );

## ARGUMENTS
fd

File descriptor of nvme device

## DESCRIPTION
This should only be sent to controller handles, not to namespaces.

## RETURN
0 if a reset was initiated or -1 with errno set otherwise.


title: nvme_ctrl_set_dhchap_host_key(2)

summary: Set host key

text:
# nvme_ctrl_set_dhchap_host_key(2)

## NAME
nvme_ctrl_set_dhchap_host_key - Set host key

## SYNOPSIS
void nvme_ctrl_set_dhchap_host_key (nvme_ctrl_t c , const char *key );

## ARGUMENTS
c

Host for which the key should be set

key

DH-HMAC-CHAP Key to set or NULL to clear existing key


title: nvme_ctrl_set_dhchap_key(2)

summary: Set controller key

text:
# nvme_ctrl_set_dhchap_key(2)

## NAME
nvme_ctrl_set_dhchap_key - Set controller key

## SYNOPSIS
void nvme_ctrl_set_dhchap_key (nvme_ctrl_t c , const char *key );

## ARGUMENTS
c

Controller for which the key should be set

key

DH-HMAC-CHAP Key to set or NULL to clear existing key


title: nvme_ctrl_set_discovered(2)

summary: Set the 'discovered' flag

text:
# nvme_ctrl_set_discovered(2)

## NAME
nvme_ctrl_set_discovered - Set the 'discovered' flag

## SYNOPSIS
void nvme_ctrl_set_discovered (nvme_ctrl_t c , bool discovered );

## ARGUMENTS
c

nvme_ctrl_t object

discovered

Value of the 'discovered' flag

## DESCRIPTION
Set the 'discovered' flag of c to discovered


title: nvme_ctrl_set_discovery_ctrl(2)

summary: Set the 'discovery_ctrl' flag

text:
# nvme_ctrl_set_discovery_ctrl(2)

## NAME
nvme_ctrl_set_discovery_ctrl - Set the 'discovery_ctrl' flag

## SYNOPSIS
void nvme_ctrl_set_discovery_ctrl (nvme_ctrl_t c , bool discovery );

## ARGUMENTS
c

Controller to be modified

discovery

value of the discovery_ctrl flag

## DESCRIPTION
Sets the 'discovery_ctrl' flag in c to specify whether c connects to a discovery subsystem.


title: nvme_ctrl_set_keyring(2)

summary: Set keyring

text:
# nvme_ctrl_set_keyring(2)

## NAME
nvme_ctrl_set_keyring - Set keyring

## SYNOPSIS
void nvme_ctrl_set_keyring (nvme_ctrl_t c , const char *keyring );

## ARGUMENTS
c

Controller for which the keyring should be set

keyring

Keyring name