title: nvme_ctrl_get_state(2)

summary: Running state of an controller

text:
# nvme_ctrl_get_state(2)

## NAME
nvme_ctrl_get_state - Running state of an controller

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

## ARGUMENTS
c

Controller instance

## RETURN
String indicating the running state of c


package: libnvme-devel

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_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_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_persistent(2)

summary: Set the 'persistent' flag

text:
# nvme_ctrl_set_persistent(2)

## NAME
nvme_ctrl_set_persistent - Set the 'persistent' flag

## SYNOPSIS
void nvme_ctrl_set_persistent (nvme_ctrl_t c , bool persistent );

## ARGUMENTS
c

Controller instance

persistent

value of the 'persistent' flag

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


title: nvme_ctrl_set_unique_discovery_ctrl(2)

summary: Set the 'unique_discovery_ctrl' flag

text:
# nvme_ctrl_set_unique_discovery_ctrl(2)

## NAME
nvme_ctrl_set_unique_discovery_ctrl - Set the 'unique_discovery_ctrl' flag

## SYNOPSIS
void nvme_ctrl_set_unique_discovery_ctrl (nvme_ctrl_t c , bool unique );

## ARGUMENTS
c

Controller to be modified

unique

value of the unique_disc_ctrl flag

## DESCRIPTION
Sets the 'unique_discovery_ctrl' flag in c to specify wheter c is a unique discovery controller


title: nvme_ctrls_filter(2)

summary: Filter for controllers

text:
# nvme_ctrls_filter(2)

## NAME
nvme_ctrls_filter - Filter for controllers

## SYNOPSIS
int nvme_ctrls_filter (const struct dirent *d );

## ARGUMENTS
d

dirent to check

## RETURN
1 if d matches, 0 otherwise


title: nvme_data_tfr(2)

summary: Data transfer direction of the command

text:
# nvme_data_tfr(2)

## NAME
enum nvme_data_tfr - Data transfer direction of the command

## SYNOPSIS
enum nvme_data_tfr {

NVME_DATA_TFR_NO_DATA_TFR ,

NVME_DATA_TFR_HOST_TO_CTRL ,

NVME_DATA_TFR_CTRL_TO_HOST ,

NVME_DATA_TFR_BIDIRECTIONAL

};

## Constants
NVME_DATA_TFR_NO_DATA_TFR

No data transfer

NVME_DATA_TFR_HOST_TO_CTRL

Host to controller

NVME_DATA_TFR_CTRL_TO_HOST

Controller to host

NVME_DATA_TFR_BIDIRECTIONAL

Bidirectional


title: nvme_default_host(2)

summary: Initializes the default host

text:
# nvme_default_host(2)

## NAME
nvme_default_host - Initializes the default host

## SYNOPSIS
nvme_host_t nvme_default_host (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## DESCRIPTION
Initializes the default host object based on the values in /etc/nvme/hostnqn and /etc/nvme/hostid and attaches it to r.

## RETURN
nvme_host_t object


title: nvme_describe_key_serial(2)

summary: Return key description

text:
# nvme_describe_key_serial(2)

## NAME
nvme_describe_key_serial - Return key description

## SYNOPSIS
char * nvme_describe_key_serial (long key_id );

## ARGUMENTS
key_id

Key serial number

## DESCRIPTION
Fetches the description of the key or keyring identified by the serial number key_id.

## RETURN
The description of key_id or NULL on failure. The returned string needs to be freed by the caller.


title: nvme_dev_self_test(2)

summary: Start or abort a self test

text:
# nvme_dev_self_test(2)

## NAME
nvme_dev_self_test - Start or abort a self test

## SYNOPSIS
int nvme_dev_self_test (struct nvme_dev_self_test_args *args );

## ARGUMENTS
args

struct nvme_dev_self_test argument structure

## DESCRIPTION
The Device Self-test command starts a device self-test operation or abort a device self-test operation. A device self-test operation is a diagnostic testing sequence that tests the integrity and functionality of the controller and may include testing of the media associated with namespaces. The controller may return a response to this command immediately while running the self-test in the background.

Set the 'nsid' field to 0 to not include namespaces in the test. Set to 0xffffffff to test all namespaces. All other values tests a specific namespace, if present.

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


title: nvme_directive_dtype(2)

summary: Directive Types

text:
# nvme_directive_dtype(2)

## NAME
enum nvme_directive_dtype - Directive Types

## SYNOPSIS
enum nvme_directive_dtype {

NVME_DIRECTIVE_DTYPE_IDENTIFY ,

NVME_DIRECTIVE_DTYPE_STREAMS

};

## Constants
NVME_DIRECTIVE_DTYPE_IDENTIFY

Identify directive type

NVME_DIRECTIVE_DTYPE_STREAMS

Streams directive type


title: nvme_directive_receive_doper(2)

summary: Directive Receive Directive Operation

text:
# nvme_directive_receive_doper(2)

## NAME
enum nvme_directive_receive_doper - Directive Receive Directive Operation

## SYNOPSIS
enum nvme_directive_receive_doper {

NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE

};

## Constants
NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE


title: nvme_directive_recv(2)

summary: Receive directive specific data

text:
# nvme_directive_recv(2)

## NAME
nvme_directive_recv - Receive directive specific data

## SYNOPSIS
int nvme_directive_recv (struct nvme_directive_recv_args *args );

## ARGUMENTS
args

struct nvme_directive_recv_args argument structure

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


summary: Directive receive identifier parameters

text:
# nvme_directive_recv_identify_parameters(2)

## NAME
nvme_directive_recv_identify_parameters - Directive receive identifier parameters

## SYNOPSIS
int nvme_directive_recv_identify_parameters (int fd , __u32 nsid , struct nvme_id_directives *id );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

id

Identify parameters buffer

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


title: nvme_directive_recv_stream_allocate(2)

summary: Directive receive stream allocate

text:
# nvme_directive_recv_stream_allocate(2)

## NAME
nvme_directive_recv_stream_allocate - Directive receive stream allocate

## SYNOPSIS
int nvme_directive_recv_stream_allocate (int fd , __u32 nsid , __u16 nsr , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

nsr

Namespace Streams Requested

result

If successful, the CQE dword0 value

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


summary: Directive receive stream parameters

text:
# nvme_directive_recv_stream_parameters(2)

## NAME
nvme_directive_recv_stream_parameters - Directive receive stream parameters

## SYNOPSIS
int nvme_directive_recv_stream_parameters (int fd , __u32 nsid , struct nvme_streams_directive_params *parms );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

parms

Streams directive parameters buffer

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


title: nvme_directive_recv_stream_status(2)

summary: Directive receive stream status

text:
# nvme_directive_recv_stream_status(2)

## NAME
nvme_directive_recv_stream_status - Directive receive stream status

## SYNOPSIS
int nvme_directive_recv_stream_status (int fd , __u32 nsid , unsigned int nr_entries , struct nvme_streams_directive_status *id );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

nr_entries

Number of streams to receive

id

Stream status buffer

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


title: nvme_directive_send(2)

summary: Send directive command

text:
# nvme_directive_send(2)

## NAME
nvme_directive_send - Send directive command

## SYNOPSIS
int nvme_directive_send (struct nvme_directive_send_args *args );

## ARGUMENTS
args

struct nvme_directive_send_args argument structure

## DESCRIPTION
Directives is a mechanism to enable host and NVM subsystem or controller information exchange. The Directive Send command transfers data related to a specific Directive Type from the host to the controller.

See the NVMe specification for more information.

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


title: nvme_directive_send_doper(2)

summary: Directive Send Directive Operation

text:
# nvme_directive_send_doper(2)

## NAME
enum nvme_directive_send_doper - Directive Send Directive Operation

## SYNOPSIS
enum nvme_directive_send_doper {

NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR ,

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER ,

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE

};

## Constants
NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE


title: nvme_directive_send_id_endir(2)

summary: Directive Send Enable Directive

text:
# nvme_directive_send_id_endir(2)

## NAME
nvme_directive_send_id_endir - Directive Send Enable Directive

## SYNOPSIS
int nvme_directive_send_id_endir (int fd , __u32 nsid , bool endir , enum nvme_directive_dtype dtype , struct nvme_id_directives *id );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace Identifier

endir

Enable Directive

dtype

Directive Type

id

Pointer to structure nvme_id_directives

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


title: nvme_directive_send_identify_endir(2)

summary: Enable Directive

text:
# nvme_directive_send_identify_endir(2)

## NAME
enum nvme_directive_send_identify_endir - Enable Directive

## SYNOPSIS
enum nvme_directive_send_identify_endir {

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE ,

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE

};

## Constants
NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE


summary: Directive Send Stream release

text:
# nvme_directive_send_stream_release_identifier(2)

## NAME
nvme_directive_send_stream_release_identifier - Directive Send Stream release

## SYNOPSIS
int nvme_directive_send_stream_release_identifier (int fd , __u32 nsid , __u16 stream_id );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

stream_id

Stream identifier

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


summary: Directive Send Stream release resources

text:
# nvme_directive_send_stream_release_resource(2)

## NAME
nvme_directive_send_stream_release_resource - Directive Send Stream release resources

## SYNOPSIS
int nvme_directive_send_stream_release_resource (int fd , __u32 nsid );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

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


title: nvme_directive_types(2)

summary: Directives Supported or Enabled

text:
# nvme_directive_types(2)

## NAME
enum nvme_directive_types - Directives Supported or Enabled

## SYNOPSIS
enum nvme_directive_types {

NVME_ID_DIR_ID_BIT ,

NVME_ID_DIR_SD_BIT ,

NVME_ID_DIR_DP_BIT

};

## Constants
NVME_ID_DIR_ID_BIT

Identify directive is supported

NVME_ID_DIR_SD_BIT

Streams directive is supported

NVME_ID_DIR_DP_BIT

Direct Placement directive is supported


title: nvme_disconnect_ctrl(2)

summary: Disconnect a controller

text:
# nvme_disconnect_ctrl(2)

## NAME
nvme_disconnect_ctrl - Disconnect a controller

## SYNOPSIS
int nvme_disconnect_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## DESCRIPTION
Issues a 'disconnect' fabrics command to c

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


title: nvme_dsm(2)

text:
# nvme_dsm(2)

## NAME
nvme_dsm - Send an nvme data set management command

## SYNOPSIS
int nvme_dsm (struct nvme_dsm_args *args );

## ARGUMENTS
args

struct nvme_dsm_args argument structure

## DESCRIPTION
The Dataset Management command is used by the host to indicate attributes for ranges of logical blocks. This includes attributes like frequency that data is read or written, access size, and other information that may be used to optimize performance and reliability, and may be used to deallocate/unmap/trim those logical blocks.

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


title: nvme_dsm_attributes(2)

summary: Dataset Management attributes

text:
# nvme_dsm_attributes(2)

## NAME
enum nvme_dsm_attributes - Dataset Management attributes

## SYNOPSIS
enum nvme_dsm_attributes {

NVME_DSMGMT_IDR ,

NVME_DSMGMT_IDW ,

NVME_DSMGMT_AD

};

## Constants
NVME_DSMGMT_IDR

Attribute -Integral Dataset for Read

NVME_DSMGMT_IDW

Attribute - Integral Dataset for Write

NVME_DSMGMT_AD

Attribute - Deallocate


title: nvme_dsm_range(2)

summary: Dataset Management - Range Definition

text:
# nvme_dsm_range(2)

## NAME
struct nvme_dsm_range - Dataset Management - Range Definition

## SYNOPSIS
struct nvme_dsm_range {

__le32 cattr;

__le32 nlb;

__le64 slba;

};

## Members
cattr

Context Attributes

nlb

Length in logical blocks

slba

Starting LBA


title: nvme_dst_stc(2)

text:
# nvme_dst_stc(2)

## NAME
enum nvme_dst_stc - Action taken by the Device Self-test command

## SYNOPSIS
enum nvme_dst_stc {

NVME_DST_STC_SHORT ,

NVME_DST_STC_LONG ,

NVME_DST_STC_VS ,

NVME_DST_STC_ABORT

};

## Constants
NVME_DST_STC_SHORT

Start a short device self-test operation

NVME_DST_STC_LONG

Start an extended device self-test operation

NVME_DST_STC_VS

Start a vendor specific device self-test operation

NVME_DST_STC_ABORT

Abort device self-test operation


title: nvme_dump_config(2)

summary: Print the JSON configuration

text:
# nvme_dump_config(2)

## NAME
nvme_dump_config - Print the JSON configuration

## SYNOPSIS
int nvme_dump_config (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## DESCRIPTION
Prints the current contents of the JSON configuration file to stdout.

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


title: nvme_dump_tree(2)

summary: Dump internal object tree

text:
# nvme_dump_tree(2)

## NAME
nvme_dump_tree - Dump internal object tree

## SYNOPSIS
int nvme_dump_tree (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## DESCRIPTION
Prints the internal object tree in JSON format to stdout.

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


title: nvme_eg_critical_warning_flags(2)

text:
# nvme_eg_critical_warning_flags(2)

## NAME
enum nvme_eg_critical_warning_flags - Endurance Group Information Log - Critical Warning

## SYNOPSIS
enum nvme_eg_critical_warning_flags {

NVME_EG_CRITICAL_WARNING_SPARE ,

NVME_EG_CRITICAL_WARNING_DEGRADED ,

NVME_EG_CRITICAL_WARNING_READ_ONLY

};

## Constants
NVME_EG_CRITICAL_WARNING_SPARE

Available spare capacity of the Endurance Group has fallen below the threshold

NVME_EG_CRITICAL_WARNING_DEGRADED

Endurance Group reliability has been degraded

NVME_EG_CRITICAL_WARNING_READ_ONLY

Endurance Group have been placed in read only mode


title: nvme_eg_event_aggregate_log(2)

summary: Endurance Group Event Aggregate

text:
# nvme_eg_event_aggregate_log(2)

## NAME
struct nvme_eg_event_aggregate_log - Endurance Group Event Aggregate

## SYNOPSIS
struct nvme_eg_event_aggregate_log {

__le64 nr_entries;

__le16 egids[];

};

## Members
nr_entries

Number of Entries

egids

Endurance Group Identifier


title: nvme_end_grp_chan_desc(2)

text:
# nvme_end_grp_chan_desc(2)

## NAME
struct nvme_end_grp_chan_desc - Endurance Group Channel Configuration Descriptor

## SYNOPSIS
struct nvme_end_grp_chan_desc {

__le16 egchans;

struct nvme_channel_config_desc chan_config_desc[];

};

## Members
egchans

Number of Channels

chan_config_desc

Channel config descriptors. See struct nvme_channel_config_desc


title: nvme_end_grp_config_desc(2)

text:
# nvme_end_grp_config_desc(2)

## NAME
struct nvme_end_grp_config_desc - Endurance Group Configuration Descriptor

## SYNOPSIS
struct nvme_end_grp_config_desc {

__le16 endgid;

__le16 cap_adj_factor;

__u8 rsvd4[12];

__u8 tegcap[16];

__u8 segcap[16];

__u8 end_est[16];

__u8 rsvd64[16];

__le16 egsets;

__le16 nvmsetid[];

};

## Members
endgid

Endurance Group Identifier

cap_adj_factor

Capacity Adjustment Factor

rsvd4

Reserved

tegcap

Total Endurance Group Capacity

segcap

Spare Endurance Group Capacity

end_est

Endurance Estimate

rsvd64

Reserved

egsets

Number of NVM Sets

nvmsetid

NVM Set Identifier


title: nvme_endurance_group_log(2)

summary: Endurance Group Information Log

text:
# nvme_endurance_group_log(2)

## NAME
struct nvme_endurance_group_log - Endurance Group Information Log

## SYNOPSIS
struct nvme_endurance_group_log {

__u8 critical_warning;

__u8 rsvd1[2];

__u8 avl_spare;

__u8 avl_spare_threshold;

__u8 percent_used;

__u8 rsvd6[26];

__u8 endurance_estimate[16];

__u8 data_units_read[16];

__u8 data_units_written[16];

__u8 media_units_written[16];

__u8 host_read_cmds[16];

__u8 host_write_cmds[16];

__u8 media_data_integrity_err[16];

__u8 num_err_info_log_entries[16];

__u8 rsvd160[352];

};

## Members
critical_warning

Critical Warning

rsvd1

Reserved

avl_spare

Available Spare

avl_spare_threshold

Available Spare Threshold

percent_used

Percentage Used

rsvd6

Reserved

endurance_estimate

Endurance Estimate

data_units_read

Data Units Read

data_units_written

Data Units Written

media_units_written

Media Units Written

host_read_cmds

Host Read Commands

host_write_cmds

Host Write Commands

media_data_integrity_err

Media and Data Integrity Errors

num_err_info_log_entries

Number of Error Information Log Entries

rsvd160

Reserved


title: nvme_errno_to_string(2)

text:
# nvme_errno_to_string(2)

## NAME
nvme_errno_to_string - Returns string describing nvme connect failures

## SYNOPSIS
const char * nvme_errno_to_string (int err );

## ARGUMENTS
err

Returned error code from nvme_add_ctrl

## RETURN
String representation of the nvme connect error codes


title: nvme_error_log_page(2)

text:
# nvme_error_log_page(2)

## NAME
struct nvme_error_log_page - Error Information Log Entry (Log Identifier 01h)

## SYNOPSIS
struct nvme_error_log_page {

__le64 error_count;

__le16 sqid;

__le16 cmdid;

__le16 status_field;

__le16 parm_error_location;

__le64 lba;

__le32 nsid;

__u8 vs;

__u8 trtype;

__u8 csi;

__u8 opcode;

__le64 cs;

__le16 trtype_spec_info;

__u8 rsvd[21];

__u8 log_page_version;

};

## Members
error_count

Error Count: a 64-bit incrementing error count, indicating a unique identifier for this error. The error count starts at 1h, is incremented for each unique error log entry, and is retained across power off conditions. A value of 0h indicates an invalid entry; this value is used when there are lost entries or when there are fewer errors than the maximum number of entries the controller supports. If the value of this field is FFFFFFFFh, then the field shall be set to 1h when incremented (i.e., rolls over to 1h). Prior to NVMe 1.4, processing of incrementing beyond FFFFFFFFh is unspecified.

sqid

Submission Queue ID: indicates the Submission Queue Identifier of the command that the error information is associated with. If the error is not specific to a particular command, then this field shall be set to FFFFh.

cmdid

Command ID: indicates the Command Identifier of the command that the error is associated with. If the error is not specific to a particular command, then this field shall be set to FFFFh.

status_field

Bits 15-1: Status Field: indicates the Status Field for the command that completed. If the error is not specific to a particular command, then this field reports the most applicable status value. Bit 0: Phase Tag: may indicate the Phase Tag posted for the command.

parm_error_location

Parameter Error Location: indicates the byte and bit of the command parameter that the error is associated with, if applicable. If the parameter spans multiple bytes or bits, then the location indicates the first byte and bit of the parameter. Bits 10-8: Bit in command that contained the error. Valid values are 0 to 7. Bits 7-0: Byte in command that contained the error. Valid values are 0 to 63.

lba

LBA: This field indicates the first LBA that experienced the error condition, if applicable.

nsid

Namespace: This field indicates the NSID of the namespace that the error is associated with, if applicable.

vs

Vendor Specific Information Available: If there is additional vendor specific error information available, this field provides the log page identifier associated with that page. A value of 0h indicates that no additional information is available. Valid values are in the range of 80h to FFh.

trtype

Transport Type (TRTYPE): indicates the Transport Type of the transport associated with the error. The values in this field are the same as the TRTYPE values in the Discovery Log Page Entry. If the error is not transport related, this field shall be cleared to 0h. If the error is transport related, this field shall be set to the type of the transport - see enum nvme_trtype.

csi

Command Set Indicator: This field contains command set indicator for the command that the error is associated with.

opcode

Opcode: This field contains opcode for the command that the error is associated with.

cs

Command Specific Information: This field contains command specific information. If used, the command definition specifies the information returned.

trtype_spec_info

Transport Type Specific Information

rsvd

Reserved: [62:42]

log_page_version

This field shall be set to 1h. If set, csi and opcode will have valid values.


title: nvme_fabrics_config(2)

text:
# nvme_fabrics_config(2)

## NAME
struct nvme_fabrics_config - Defines all linux nvme fabrics initiator options

## SYNOPSIS
struct nvme_fabrics_config {

char *host_traddr;

char *host_iface;

int queue_size;

int nr_io_queues;

int reconnect_delay;

int ctrl_loss_tmo;

int fast_io_fail_tmo;

int keep_alive_tmo;

int nr_write_queues;

int nr_poll_queues;

int tos;

int keyring;

int tls_key;

bool duplicate_connect;

bool disable_sqflow;

bool hdr_digest;

bool data_digest;

bool tls;

};

## Members
host_traddr

Host transport address

host_iface

Host interface name

queue_size

Number of IO queue entries

nr_io_queues

Number of controller IO queues to establish

reconnect_delay

Time between two consecutive reconnect attempts.

ctrl_loss_tmo

Override the default controller reconnect attempt timeout in seconds

fast_io_fail_tmo

Set the fast I/O fail timeout in seconds.

keep_alive_tmo

Override the default keep-alive-timeout to this value in seconds

nr_write_queues

Number of queues to use for exclusively for writing

nr_poll_queues

Number of queues to reserve for polling completions

tos

Type of service

keyring

Keyring to store and lookup keys

tls_key

TLS PSK for the connection

duplicate_connect

Allow multiple connections to the same target

disable_sqflow

Disable controller sq flow control

hdr_digest

Generate/verify header digest (TCP)

data_digest

Generate/verify data digest (TCP)

tls

Start TLS on the connection (TCP)


title: nvme_fctype(2)

summary: Fabrics Command Types

text:
# nvme_fctype(2)

## NAME
enum nvme_fctype - Fabrics Command Types

## SYNOPSIS
enum nvme_fctype {

nvme_fabrics_type_property_set ,

nvme_fabrics_type_connect ,

nvme_fabrics_type_property_get ,

nvme_fabrics_type_auth_send ,

nvme_fabrics_type_auth_receive ,

nvme_fabrics_type_disconnect

};

## Constants
nvme_fabrics_type_property_set

Property set

nvme_fabrics_type_connect

Connect

nvme_fabrics_type_property_get

Property Get

nvme_fabrics_type_auth_send

Authentication Send

nvme_fabrics_type_auth_receive

Authentication Receive

nvme_fabrics_type_disconnect

Disconnect


title: nvme_fdp_config_desc(2)

summary: FDP Configuration Descriptor

text:
# nvme_fdp_config_desc(2)

## NAME
struct nvme_fdp_config_desc - FDP Configuration Descriptor

## SYNOPSIS
struct nvme_fdp_config_desc {

__le16 size;

__u8 fdpa;

__u8 vss;

__le32 nrg;

__le16 nruh;

__le16 maxpids;

__le32 nnss;

__le64 runs;

__le32 erutl;

__u8 rsvd28[36];

struct nvme_fdp_ruh_desc ruhs[];

};

## Members
size

Descriptor size

fdpa

FDP Attributes (enum nvme_fdp_config_fdpa)

vss

Vendor Specific Size

nrg

Number of Reclaim Groups

nruh

Number of Reclaim Unit Handles

maxpids

Max Placement Identifiers

nnss

Number of Namespaces Supported

runs

Reclaim Unit Nominal Size

erutl

Estimated Reclaim Unit Time Limit

rsvd28

Reserved

ruhs

Reclaim Unit Handle descriptors (struct nvme_fdp_ruh_desc)


title: nvme_fdp_config_fdpa(2)

summary: FDP Attributes

text:
# nvme_fdp_config_fdpa(2)

## NAME
enum nvme_fdp_config_fdpa - FDP Attributes

## SYNOPSIS
enum nvme_fdp_config_fdpa {

NVME_FDP_CONFIG_FDPA_RGIF_SHIFT ,

NVME_FDP_CONFIG_FDPA_RGIF_MASK ,

NVME_FDP_CONFIG_FDPA_FDPVWC_SHIFT ,

NVME_FDP_CONFIG_FDPA_FDPVWC_MASK ,

NVME_FDP_CONFIG_FDPA_VALID_SHIFT ,

NVME_FDP_CONFIG_FDPA_VALID_MASK

};

## Constants
NVME_FDP_CONFIG_FDPA_RGIF_SHIFT

Reclaim Group Identifier Format Shift

NVME_FDP_CONFIG_FDPA_RGIF_MASK

Reclaim Group Identifier Format Mask

NVME_FDP_CONFIG_FDPA_FDPVWC_SHIFT

FDP Volatile Write Cache Shift

NVME_FDP_CONFIG_FDPA_FDPVWC_MASK

FDP Volatile Write Cache Mask

NVME_FDP_CONFIG_FDPA_VALID_SHIFT

FDP Configuration Valid Shift

NVME_FDP_CONFIG_FDPA_VALID_MASK

FDP Configuration Valid Mask


title: nvme_fdp_config_log(2)

summary: FDP Configurations Log Page

text:
# nvme_fdp_config_log(2)

## NAME
struct nvme_fdp_config_log - FDP Configurations Log Page

## SYNOPSIS
struct nvme_fdp_config_log {

__le16 n;

__u8 version;

__u8 rsvd3;

__le32 size;

__u8 rsvd8[8];

struct nvme_fdp_config_desc configs[];

};

## Members
n

Number of FDP Configurations

version

Log page version

rsvd3

Reserved

size

Log page size in bytes

rsvd8

Reserved

configs

FDP Configuration descriptors (struct nvme_fdp_config_desc)


title: nvme_fdp_event(2)

summary: FDP Event

text:
# nvme_fdp_event(2)

## NAME
struct nvme_fdp_event - FDP Event

## SYNOPSIS
struct nvme_fdp_event {

__u8 type;

__u8 flags;

__le16 pid;

struct nvme_timestamp ts;

__le32 nsid;

__u8 type_specific[16];

__le16 rgid;

__u8 ruhid;

__u8 rsvd35[5];

__u8 vs[24];

};

## Members
type

Event Type (enum nvme_fdp_event_type)

flags

Event Flags (enum nvme_fdp_event_flags)

pid

Placement Identifier

ts

Timestamp

nsid

Namespace Identifier

type_specific

Event Type Specific Information

rgid

Reclaim Group Identifier

ruhid

Reclaim Unit Handle Identifier

rsvd35

Reserved

vs

Vendor Specific


title: nvme_fdp_event_flags(2)

summary: FDP Event Flags

text:
# nvme_fdp_event_flags(2)

## NAME
enum nvme_fdp_event_flags - FDP Event Flags

## SYNOPSIS
enum nvme_fdp_event_flags {

NVME_FDP_EVENT_F_PIV ,

NVME_FDP_EVENT_F_NSIDV ,

NVME_FDP_EVENT_F_LV

};

## Constants
NVME_FDP_EVENT_F_PIV

Placement Identifier Valid

NVME_FDP_EVENT_F_NSIDV

Namespace Identifier Valid

NVME_FDP_EVENT_F_LV

Location Valid


title: nvme_fdp_event_realloc(2)

text:
# nvme_fdp_event_realloc(2)

## NAME
struct nvme_fdp_event_realloc - Media Reallocated Event Type Specific Information

## SYNOPSIS
struct nvme_fdp_event_realloc {

__u8 flags;

__u8 rsvd1;

__le16 nlbam;

__le64 lba;

__u8 rsvd12[4];

};

## Members
flags

Event Type Specific flags (enum nvme_fdp_event_realloc_flags)

rsvd1

Reserved

nlbam

Number of LBAs Moved

lba

Logical Block Address

rsvd12

Reserved


title: nvme_fdp_event_realloc_flags(2)

text:
# nvme_fdp_event_realloc_flags(2)

## NAME
enum nvme_fdp_event_realloc_flags - Media Reallocated Event Type Specific Flags

## SYNOPSIS
enum nvme_fdp_event_realloc_flags {

NVME_FDP_EVENT_REALLOC_F_LBAV

};

## Constants
NVME_FDP_EVENT_REALLOC_F_LBAV

LBA Valid


title: nvme_fdp_event_type(2)

summary: FDP Event Types

text:
# nvme_fdp_event_type(2)

## NAME
enum nvme_fdp_event_type - FDP Event Types

## SYNOPSIS
enum nvme_fdp_event_type {

NVME_FDP_EVENT_RUNFW ,

NVME_FDP_EVENT_RUTLE ,

NVME_FDP_EVENT_RESET ,

NVME_FDP_EVENT_PID ,

NVME_FDP_EVENT_REALLOC ,

NVME_FDP_EVENT_MODIFY

};

## Constants
NVME_FDP_EVENT_RUNFW

Reclaim Unit Not Fully Written

NVME_FDP_EVENT_RUTLE

Reclaim Unit Time Limit Exceeded

NVME_FDP_EVENT_RESET

Controller Level Reset Modified Reclaim Unit Handles

NVME_FDP_EVENT_PID

Invalid Placement Identifier

NVME_FDP_EVENT_REALLOC

Media Reallocated

NVME_FDP_EVENT_MODIFY

Implicitly Modified Reclaim Unit Handle


title: nvme_fdp_events_log(2)

summary: FDP Events Log Page

text:
# nvme_fdp_events_log(2)

## NAME
struct nvme_fdp_events_log - FDP Events Log Page

## SYNOPSIS
struct nvme_fdp_events_log {

__le32 n;

__u8 rsvd4[60];

struct nvme_fdp_event events[63];

};

## Members
n

Number of FDP Events

rsvd4

Reserved

events

FDP Events (struct nvme_fdp_event)


title: nvme_fdp_reclaim_unit_handle_status(2)

summary: Get reclaim unit handle status

text:
# nvme_fdp_reclaim_unit_handle_status(2)

## NAME
nvme_fdp_reclaim_unit_handle_status - Get reclaim unit handle status

## SYNOPSIS
int nvme_fdp_reclaim_unit_handle_status (int fd , __u32 nsid , __u32 data_len , void *data );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace identifier

data_len

Length of response buffer

data

Response buffer

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


title: nvme_fdp_reclaim_unit_handle_update(2)

summary: Update a list of reclaim unit handles

text:
# nvme_fdp_reclaim_unit_handle_update(2)

## NAME
nvme_fdp_reclaim_unit_handle_update - Update a list of reclaim unit handles

## SYNOPSIS
int nvme_fdp_reclaim_unit_handle_update (int fd , __u32 nsid , unsigned int npids , __u16 *pids );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace identifier

npids

Number of placement identifiers

pids

List of placement identifiers

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


title: nvme_fdp_ruh_desc(2)

summary: Reclaim Unit Handle Descriptor

text:
# nvme_fdp_ruh_desc(2)

## NAME
struct nvme_fdp_ruh_desc - Reclaim Unit Handle Descriptor

## SYNOPSIS
struct nvme_fdp_ruh_desc {

__u8 ruht;

__u8 rsvd1[3];

};

## Members
ruht

Reclaim Unit Handle Type

rsvd1

Reserved


title: nvme_fdp_ruh_status(2)

summary: Reclaim Unit Handle Status

text:
# nvme_fdp_ruh_status(2)

## NAME
struct nvme_fdp_ruh_status - Reclaim Unit Handle Status

## SYNOPSIS
struct nvme_fdp_ruh_status {

__u8 rsvd0[14];

__le16 nruhsd;

struct nvme_fdp_ruh_status_desc ruhss[];

};

## Members
rsvd0

Reserved

nruhsd

Number of Reclaim Unit Handle Status Descriptors

ruhss

Reclaim Unit Handle Status descriptors


title: nvme_fdp_ruh_status_desc(2)

summary: Reclaim Unit Handle Status Descriptor

text:
# nvme_fdp_ruh_status_desc(2)

## NAME
struct nvme_fdp_ruh_status_desc - Reclaim Unit Handle Status Descriptor

## SYNOPSIS
struct nvme_fdp_ruh_status_desc {

__le16 pid;

__le16 ruhid;

__le32 earutr;

__le64 ruamw;

__u8 rsvd16[16];

};

## Members
pid

Placement Identifier

ruhid

Reclaim Unit Handle Identifier

earutr

Estimated Active Reclaim Unit Time Remaining

ruamw

Reclaim Unit Available Media Writes

rsvd16

Reserved


title: nvme_fdp_ruh_type(2)

summary: Reclaim Unit Handle Type

text:
# nvme_fdp_ruh_type(2)

## NAME
enum nvme_fdp_ruh_type - Reclaim Unit Handle Type

## SYNOPSIS
enum nvme_fdp_ruh_type {

NVME_FDP_RUHT_INITIALLY_ISOLATED ,

NVME_FDP_RUHT_PERSISTENTLY_ISOLATED

};

## Constants
NVME_FDP_RUHT_INITIALLY_ISOLATED

Initially Isolated

NVME_FDP_RUHT_PERSISTENTLY_ISOLATED

Persistently Isolated


title: nvme_fdp_ruha(2)

summary: Reclaim Unit Handle Attributes

text:
# nvme_fdp_ruha(2)

## NAME
enum nvme_fdp_ruha - Reclaim Unit Handle Attributes

## SYNOPSIS
enum nvme_fdp_ruha {

NVME_FDP_RUHA_HOST_SHIFT ,

NVME_FDP_RUHA_HOST_MASK ,

NVME_FDP_RUHA_CTRL_SHIFT ,

NVME_FDP_RUHA_CTRL_MASK

};

## Constants
NVME_FDP_RUHA_HOST_SHIFT

Host Specified Reclaim Unit Handle Shift

NVME_FDP_RUHA_HOST_MASK

Host Specified Reclaim Unit Handle Mask

NVME_FDP_RUHA_CTRL_SHIFT

Controller Specified Reclaim Unit Handle Shift

NVME_FDP_RUHA_CTRL_MASK

Controller Specified Reclaim Unit Handle Mask


title: nvme_fdp_ruhu_desc(2)

summary: Reclaim Unit Handle Usage Descriptor

text:
# nvme_fdp_ruhu_desc(2)

## NAME
struct nvme_fdp_ruhu_desc - Reclaim Unit Handle Usage Descriptor

## SYNOPSIS
struct nvme_fdp_ruhu_desc {

__u8 ruha;

__u8 rsvd1[7];

};

## Members
ruha

Reclaim Unit Handle Attributes (enum nvme_fdp_ruha)

rsvd1

Reserved


title: nvme_fdp_ruhu_log(2)

summary: Reclaim Unit Handle Usage Log Page

text:
# nvme_fdp_ruhu_log(2)

## NAME
struct nvme_fdp_ruhu_log - Reclaim Unit Handle Usage Log Page

## SYNOPSIS
struct nvme_fdp_ruhu_log {

__le16 nruh;

__u8 rsvd2[6];

struct nvme_fdp_ruhu_desc ruhus[];

};

## Members
nruh

Number of Reclaim Unit Handles

rsvd2

Reserved

ruhus

Reclaim Unit Handle Usage descriptors


title: nvme_fdp_stats_log(2)

summary: FDP Statistics Log Page

text:
# nvme_fdp_stats_log(2)

## NAME
struct nvme_fdp_stats_log - FDP Statistics Log Page

## SYNOPSIS
struct nvme_fdp_stats_log {

__u8 hbmw[16];

__u8 mbmw[16];

__u8 mbe[16];

__u8 rsvd48[16];

};

## Members
hbmw

Host Bytes with Metadata Written

mbmw

Media Bytes with Metadata Written

mbe

Media Bytes Erased

rsvd48

Reserved


title: nvme_fdp_supported_event_attributes(2)

summary: Supported FDP Event Attributes

text:
# nvme_fdp_supported_event_attributes(2)

## NAME
enum nvme_fdp_supported_event_attributes - Supported FDP Event Attributes

## SYNOPSIS
enum nvme_fdp_supported_event_attributes {

NVME_FDP_SUPP_EVENT_ENABLED_SHIFT ,

NVME_FDP_SUPP_EVENT_ENABLED_MASK

};

## Constants
NVME_FDP_SUPP_EVENT_ENABLED_SHIFT

FDP Event Enable Shift

NVME_FDP_SUPP_EVENT_ENABLED_MASK

FDP Event Enable Mask


title: nvme_fdp_supported_event_desc(2)

summary: Supported FDP Event Descriptor

text:
# nvme_fdp_supported_event_desc(2)

## NAME
struct nvme_fdp_supported_event_desc - Supported FDP Event Descriptor

## SYNOPSIS
struct nvme_fdp_supported_event_desc {

__u8 evt;

__u8 evta;

};

## Members
evt

FDP Event Type

evta

FDP Event Type Attributes (enum nvme_fdp_supported_event_attributes)


title: nvme_feat(2)

summary: Features Access Shifts/Masks values

text:
# nvme_feat(2)

## NAME
enum nvme_feat - Features Access Shifts/Masks values

## SYNOPSIS
enum nvme_feat {

NVME_FEAT_ARBITRATION_BURST_SHIFT ,

NVME_FEAT_ARBITRATION_BURST_MASK ,

NVME_FEAT_ARBITRATION_LPW_SHIFT ,

NVME_FEAT_ARBITRATION_LPW_MASK ,

NVME_FEAT_ARBITRATION_MPW_SHIFT ,

NVME_FEAT_ARBITRATION_MPW_MASK ,

NVME_FEAT_ARBITRATION_HPW_SHIFT ,

NVME_FEAT_ARBITRATION_HPW_MASK ,

NVME_FEAT_PWRMGMT_PS_SHIFT ,

NVME_FEAT_PWRMGMT_PS_MASK ,

NVME_FEAT_PWRMGMT_WH_SHIFT ,

NVME_FEAT_PWRMGMT_WH_MASK ,

NVME_FEAT_LBAR_NR_SHIFT ,

NVME_FEAT_LBAR_NR_MASK ,

NVME_FEAT_TT_TMPTH_SHIFT ,

NVME_FEAT_TT_TMPTH_MASK ,

NVME_FEAT_TT_TMPSEL_SHIFT ,

NVME_FEAT_TT_TMPSEL_MASK ,

NVME_FEAT_TT_THSEL_SHIFT ,

NVME_FEAT_TT_THSEL_MASK ,

NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT ,

NVME_FEAT_ERROR_RECOVERY_TLER_MASK ,

NVME_FEAT_ERROR_RECOVERY_DULBE_SHIFT ,

NVME_FEAT_ERROR_RECOVERY_DULBE_MASK ,

NVME_FEAT_VWC_WCE_SHIFT ,

NVME_FEAT_VWC_WCE_MASK ,

NVME_FEAT_NRQS_NSQR_SHIFT ,

NVME_FEAT_NRQS_NSQR_MASK ,

NVME_FEAT_NRQS_NCQR_SHIFT ,

NVME_FEAT_NRQS_NCQR_MASK ,

NVME_FEAT_IRQC_THR_SHIFT ,

NVME_FEAT_IRQC_THR_MASK ,

NVME_FEAT_IRQC_TIME_SHIFT ,

NVME_FEAT_IRQC_TIME_MASK ,

NVME_FEAT_ICFG_IV_SHIFT ,

NVME_FEAT_ICFG_IV_MASK ,

NVME_FEAT_ICFG_CD_SHIFT ,

NVME_FEAT_ICFG_CD_MASK ,

NVME_FEAT_WA_DN_SHIFT ,

NVME_FEAT_WA_DN_MASK ,

NVME_FEAT_AE_SMART_SHIFT ,

NVME_FEAT_AE_SMART_MASK ,

NVME_FEAT_AE_NAN_SHIFT ,

NVME_FEAT_AE_NAN_MASK ,

NVME_FEAT_AE_FW_SHIFT ,

NVME_FEAT_AE_FW_MASK ,

NVME_FEAT_AE_TELEM_SHIFT ,

NVME_FEAT_AE_TELEM_MASK ,

NVME_FEAT_AE_ANA_SHIFT ,

NVME_FEAT_AE_ANA_MASK ,

NVME_FEAT_AE_PLA_SHIFT ,

NVME_FEAT_AE_PLA_MASK ,

NVME_FEAT_AE_LBAS_SHIFT ,

NVME_FEAT_AE_LBAS_MASK ,

NVME_FEAT_AE_EGA_SHIFT ,

NVME_FEAT_AE_EGA_MASK ,

NVME_FEAT_APST_APSTE_SHIFT ,

NVME_FEAT_APST_APSTE_MASK ,

NVME_FEAT_HMEM_EHM_SHIFT ,

NVME_FEAT_HMEM_EHM_MASK ,

NVME_FEAT_HCTM_TMT2_SHIFT ,

NVME_FEAT_HCTM_TMT2_MASK ,

NVME_FEAT_HCTM_TMT1_SHIFT ,

NVME_FEAT_HCTM_TMT1_MASK ,

NVME_FEAT_NOPS_NOPPME_SHIFT ,

NVME_FEAT_NOPS_NOPPME_MASK ,

NVME_FEAT_RRL_RRL_SHIFT ,

NVME_FEAT_RRL_RRL_MASK ,

NVME_FEAT_PLM_PLME_SHIFT ,

NVME_FEAT_PLM_PLME_MASK ,

NVME_FEAT_PLMW_WS_SHIFT ,

NVME_FEAT_PLMW_WS_MASK ,

NVME_FEAT_LBAS_LSIRI_SHIFT ,

NVME_FEAT_LBAS_LSIRI_MASK ,

NVME_FEAT_LBAS_LSIPI_SHIFT ,

NVME_FEAT_LBAS_LSIPI_MASK ,

NVME_FEAT_SC_NODRM_SHIFT ,

NVME_FEAT_SC_NODRM_MASK ,

NVME_FEAT_EG_ENDGID_SHIFT ,

NVME_FEAT_EG_ENDGID_MASK ,

NVME_FEAT_EG_EGCW_SHIFT ,

NVME_FEAT_EG_EGCW_MASK ,

NVME_FEAT_SPM_PBSLC_SHIFT ,

NVME_FEAT_SPM_PBSLC_MASK ,

NVME_FEAT_HOSTID_EXHID_SHIFT ,

NVME_FEAT_HOSTID_EXHID_MASK ,

NVME_FEAT_RM_REGPRE_SHIFT ,

NVME_FEAT_RM_REGPRE_MASK ,

NVME_FEAT_RM_RESREL_SHIFT ,

NVME_FEAT_RM_RESREL_MASK ,

NVME_FEAT_RM_RESPRE_SHIFT ,

NVME_FEAT_RM_RESPRE_MASK ,

NVME_FEAT_RP_PTPL_SHIFT ,

NVME_FEAT_RP_PTPL_MASK ,

NVME_FEAT_WP_WPS_SHIFT ,

NVME_FEAT_WP_WPS_MASK ,

NVME_FEAT_IOCSP_IOCSCI_SHIFT ,

NVME_FEAT_IOCSP_IOCSCI_MASK ,

NVME_FEAT_FDP_ENABLED_SHIFT ,

NVME_FEAT_FDP_ENABLED_MASK ,

NVME_FEAT_FDP_INDEX_SHIFT ,

NVME_FEAT_FDP_INDEX_MASK ,

NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT ,

NVME_FEAT_FDP_EVENTS_ENABLE_MASK

};

## Constants
NVME_FEAT_ARBITRATION_BURST_SHIFT

NVME_FEAT_ARBITRATION_BURST_MASK

NVME_FEAT_ARBITRATION_LPW_SHIFT

NVME_FEAT_ARBITRATION_LPW_MASK

NVME_FEAT_ARBITRATION_MPW_SHIFT

NVME_FEAT_ARBITRATION_MPW_MASK

NVME_FEAT_ARBITRATION_HPW_SHIFT

NVME_FEAT_ARBITRATION_HPW_MASK

NVME_FEAT_PWRMGMT_PS_SHIFT

NVME_FEAT_PWRMGMT_PS_MASK

NVME_FEAT_PWRMGMT_WH_SHIFT

NVME_FEAT_PWRMGMT_WH_MASK

NVME_FEAT_LBAR_NR_SHIFT

NVME_FEAT_LBAR_NR_MASK

NVME_FEAT_TT_TMPTH_SHIFT

NVME_FEAT_TT_TMPTH_MASK

NVME_FEAT_TT_TMPSEL_SHIFT

NVME_FEAT_TT_TMPSEL_MASK

NVME_FEAT_TT_THSEL_SHIFT

NVME_FEAT_TT_THSEL_MASK

NVME_FEAT_ERROR_RECOVERY_TLER_SHIFT

NVME_FEAT_ERROR_RECOVERY_TLER_MASK

NVME_FEAT_ERROR_RECOVERY_DULBE_SHIFT

NVME_FEAT_ERROR_RECOVERY_DULBE_MASK

NVME_FEAT_VWC_WCE_SHIFT

NVME_FEAT_VWC_WCE_MASK

NVME_FEAT_NRQS_NSQR_SHIFT

NVME_FEAT_NRQS_NSQR_MASK

NVME_FEAT_NRQS_NCQR_SHIFT

NVME_FEAT_NRQS_NCQR_MASK

NVME_FEAT_IRQC_THR_SHIFT

NVME_FEAT_IRQC_THR_MASK

NVME_FEAT_IRQC_TIME_SHIFT

NVME_FEAT_IRQC_TIME_MASK

NVME_FEAT_ICFG_IV_SHIFT

NVME_FEAT_ICFG_IV_MASK

NVME_FEAT_ICFG_CD_SHIFT

NVME_FEAT_ICFG_CD_MASK

NVME_FEAT_WA_DN_SHIFT

NVME_FEAT_WA_DN_MASK

NVME_FEAT_AE_SMART_SHIFT

NVME_FEAT_AE_SMART_MASK

NVME_FEAT_AE_NAN_SHIFT

NVME_FEAT_AE_NAN_MASK

NVME_FEAT_AE_FW_SHIFT

NVME_FEAT_AE_FW_MASK

NVME_FEAT_AE_TELEM_SHIFT

NVME_FEAT_AE_TELEM_MASK

NVME_FEAT_AE_ANA_SHIFT

NVME_FEAT_AE_ANA_MASK

NVME_FEAT_AE_PLA_SHIFT

NVME_FEAT_AE_PLA_MASK

NVME_FEAT_AE_LBAS_SHIFT

NVME_FEAT_AE_LBAS_MASK

NVME_FEAT_AE_EGA_SHIFT

NVME_FEAT_AE_EGA_MASK

NVME_FEAT_APST_APSTE_SHIFT

NVME_FEAT_APST_APSTE_MASK

NVME_FEAT_HMEM_EHM_SHIFT

NVME_FEAT_HMEM_EHM_MASK

NVME_FEAT_HCTM_TMT2_SHIFT

NVME_FEAT_HCTM_TMT2_MASK

NVME_FEAT_HCTM_TMT1_SHIFT

NVME_FEAT_HCTM_TMT1_MASK

NVME_FEAT_NOPS_NOPPME_SHIFT

NVME_FEAT_NOPS_NOPPME_MASK

NVME_FEAT_RRL_RRL_SHIFT

NVME_FEAT_RRL_RRL_MASK

NVME_FEAT_PLM_PLME_SHIFT

NVME_FEAT_PLM_PLME_MASK

NVME_FEAT_PLMW_WS_SHIFT

NVME_FEAT_PLMW_WS_MASK

NVME_FEAT_LBAS_LSIRI_SHIFT

NVME_FEAT_LBAS_LSIRI_MASK

NVME_FEAT_LBAS_LSIPI_SHIFT

NVME_FEAT_LBAS_LSIPI_MASK

NVME_FEAT_SC_NODRM_SHIFT

NVME_FEAT_SC_NODRM_MASK

NVME_FEAT_EG_ENDGID_SHIFT

NVME_FEAT_EG_ENDGID_MASK

NVME_FEAT_EG_EGCW_SHIFT

NVME_FEAT_EG_EGCW_MASK

NVME_FEAT_SPM_PBSLC_SHIFT

NVME_FEAT_SPM_PBSLC_MASK

NVME_FEAT_HOSTID_EXHID_SHIFT

NVME_FEAT_HOSTID_EXHID_MASK

NVME_FEAT_RM_REGPRE_SHIFT

NVME_FEAT_RM_REGPRE_MASK

NVME_FEAT_RM_RESREL_SHIFT

NVME_FEAT_RM_RESREL_MASK

NVME_FEAT_RM_RESPRE_SHIFT

NVME_FEAT_RM_RESPRE_MASK

NVME_FEAT_RP_PTPL_SHIFT

NVME_FEAT_RP_PTPL_MASK

NVME_FEAT_WP_WPS_SHIFT

NVME_FEAT_WP_WPS_MASK

NVME_FEAT_IOCSP_IOCSCI_SHIFT

NVME_FEAT_IOCSP_IOCSCI_MASK

NVME_FEAT_FDP_ENABLED_SHIFT

NVME_FEAT_FDP_ENABLED_MASK

NVME_FEAT_FDP_INDEX_SHIFT

NVME_FEAT_FDP_INDEX_MASK

NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT

NVME_FEAT_FDP_EVENTS_ENABLE_MASK


title: nvme_feat_auto_pst(2)

summary: Autonomous Power State Transition

text:
# nvme_feat_auto_pst(2)

## NAME
struct nvme_feat_auto_pst - Autonomous Power State Transition

## SYNOPSIS
struct nvme_feat_auto_pst {

__le64 apst_entry[32];

};

## Members
apst_entry

See enum nvme_apst_entry


title: nvme_feat_fdp_events_cdw11(2)

summary: FDP Events Feature Command Dword 11

text:
# nvme_feat_fdp_events_cdw11(2)

## NAME
struct nvme_feat_fdp_events_cdw11 - FDP Events Feature Command Dword 11

## SYNOPSIS
struct nvme_feat_fdp_events_cdw11 {

__le16 phndl;

__u8 noet;

__u8 rsvd24;

};

## Members
phndl

Placement Handle

noet

Number of FDP Event Types

rsvd24

Reserved


title: nvme_feat_host_behavior(2)

summary: Host Behavior Support - Data Structure

text:
# nvme_feat_host_behavior(2)

## NAME
struct nvme_feat_host_behavior - Host Behavior Support - Data Structure

## SYNOPSIS
struct nvme_feat_host_behavior {

__u8 acre;

__u8 rsvd1[511];

};

## Members
acre

Advanced Command Retry Enable

rsvd1

Reserved


title: nvme_feat_nswpcfg_state(2)

text:
# nvme_feat_nswpcfg_state(2)

## NAME
enum nvme_feat_nswpcfg_state - Write Protection - Write Protection State

## SYNOPSIS
enum nvme_feat_nswpcfg_state {

NVME_FEAT_NS_NO_WRITE_PROTECT ,

NVME_FEAT_NS_WRITE_PROTECT ,

NVME_FEAT_NS_WRITE_PROTECT_PWR_CYCLE ,

NVME_FEAT_NS_WRITE_PROTECT_PERMANENT

};

## Constants
NVME_FEAT_NS_NO_WRITE_PROTECT

No Write Protect

NVME_FEAT_NS_WRITE_PROTECT

Write Protect

NVME_FEAT_NS_WRITE_PROTECT_PWR_CYCLE

Write Protect Until Power Cycle

NVME_FEAT_NS_WRITE_PROTECT_PERMANENT

Permanent Write Protect


title: nvme_feat_plm_window_select(2)

summary: Predictable Latency Per NVM Set Log

text:
# nvme_feat_plm_window_select(2)

## NAME
enum nvme_feat_plm_window_select - Predictable Latency Per NVM Set Log

## SYNOPSIS
enum nvme_feat_plm_window_select {

NVME_FEATURE_PLM_DTWIN ,

NVME_FEATURE_PLM_NDWIN

};

## Constants
NVME_FEATURE_PLM_DTWIN

Deterministic Window select

NVME_FEATURE_PLM_NDWIN

Non-Deterministic Window select


title: nvme_feat_resv_notify_flags(2)

summary: Reservation Notification Configuration

text:
# nvme_feat_resv_notify_flags(2)

## NAME
enum nvme_feat_resv_notify_flags - Reservation Notification Configuration

## SYNOPSIS
enum nvme_feat_resv_notify_flags {

NVME_FEAT_RESV_NOTIFY_REGPRE ,

NVME_FEAT_RESV_NOTIFY_RESREL ,

NVME_FEAT_RESV_NOTIFY_RESPRE

};

## Constants
NVME_FEAT_RESV_NOTIFY_REGPRE

Mask Registration Preempted Notification

NVME_FEAT_RESV_NOTIFY_RESREL

Mask Reservation Released Notification

NVME_FEAT_RESV_NOTIFY_RESPRE

Mask Reservation Preempted Notification


title: nvme_feat_tmpthresh_thsel(2)

text:
# nvme_feat_tmpthresh_thsel(2)

## NAME
enum nvme_feat_tmpthresh_thsel - Temperature Threshold - Threshold Type Select

## SYNOPSIS
enum nvme_feat_tmpthresh_thsel {

NVME_FEATURE_TEMPTHRESH_THSEL_OVER ,

NVME_FEATURE_TEMPTHRESH_THSEL_UNDER

};

## Constants
NVME_FEATURE_TEMPTHRESH_THSEL_OVER

Over temperature threshold select

NVME_FEATURE_TEMPTHRESH_THSEL_UNDER

Under temperature threshold select


text:
# nvme_features_async_event_config_flags(2)

## NAME
enum nvme_features_async_event_config_flags - Asynchronous Event Configuration configuration flags

## SYNOPSIS
enum nvme_features_async_event_config_flags {

NVME_FEATURE_AENCFG_SMART_CRIT_SPARE ,

NVME_FEATURE_AENCFG_SMART_CRIT_TEMPERATURE ,

NVME_FEATURE_AENCFG_SMART_CRIT_DEGRADED ,

NVME_FEATURE_AENCFG_SMART_CRIT_READ_ONLY ,

NVME_FEATURE_AENCFG_SMART_CRIT_VOLATILE_BACKUP ,

NVME_FEATURE_AENCFG_SMART_CRIT_READ_ONLY_PMR ,

NVME_FEATURE_AENCFG_NOTICE_NAMESPACE_ATTRIBUTES ,

NVME_FEATURE_AENCFG_NOTICE_FIRMWARE_ACTIVATION ,

NVME_FEATURE_AENCFG_NOTICE_TELEMETRY_LOG ,

NVME_FEATURE_AENCFG_NOTICE_ANA_CHANGE ,

NVME_FEATURE_AENCFG_NOTICE_PL_EVENT ,

NVME_FEATURE_AENCFG_NOTICE_LBA_STATUS ,

NVME_FEATURE_AENCFG_NOTICE_EG_EVENT ,

NVME_FEATURE_AENCFG_NOTICE_DISCOVERY_CHANGE

};

## Constants
NVME_FEATURE_AENCFG_SMART_CRIT_SPARE

NVME_FEATURE_AENCFG_SMART_CRIT_TEMPERATURE

NVME_FEATURE_AENCFG_SMART_CRIT_DEGRADED

NVME_FEATURE_AENCFG_SMART_CRIT_READ_ONLY

NVME_FEATURE_AENCFG_SMART_CRIT_VOLATILE_BACKUP

NVME_FEATURE_AENCFG_SMART_CRIT_READ_ONLY_PMR

NVME_FEATURE_AENCFG_NOTICE_NAMESPACE_ATTRIBUTES

NVME_FEATURE_AENCFG_NOTICE_FIRMWARE_ACTIVATION

NVME_FEATURE_AENCFG_NOTICE_TELEMETRY_LOG

NVME_FEATURE_AENCFG_NOTICE_ANA_CHANGE

NVME_FEATURE_AENCFG_NOTICE_PL_EVENT

NVME_FEATURE_AENCFG_NOTICE_LBA_STATUS

NVME_FEATURE_AENCFG_NOTICE_EG_EVENT

NVME_FEATURE_AENCFG_NOTICE_DISCOVERY_CHANGE


title: nvme_features_id(2)

summary: Features - Feature Identifiers

text:
# nvme_features_id(2)

## NAME
enum nvme_features_id - Features - Feature Identifiers

## SYNOPSIS
enum nvme_features_id {

NVME_FEAT_FID_ARBITRATION ,

NVME_FEAT_FID_POWER_MGMT ,

NVME_FEAT_FID_LBA_RANGE ,

NVME_FEAT_FID_TEMP_THRESH ,

NVME_FEAT_FID_ERR_RECOVERY ,

NVME_FEAT_FID_VOLATILE_WC ,

NVME_FEAT_FID_NUM_QUEUES ,

NVME_FEAT_FID_IRQ_COALESCE ,

NVME_FEAT_FID_IRQ_CONFIG ,

NVME_FEAT_FID_WRITE_ATOMIC ,

NVME_FEAT_FID_ASYNC_EVENT ,

NVME_FEAT_FID_AUTO_PST ,

NVME_FEAT_FID_HOST_MEM_BUF ,

NVME_FEAT_FID_TIMESTAMP ,

NVME_FEAT_FID_KATO ,

NVME_FEAT_FID_HCTM ,

NVME_FEAT_FID_NOPSC ,

NVME_FEAT_FID_RRL ,

NVME_FEAT_FID_PLM_CONFIG ,

NVME_FEAT_FID_PLM_WINDOW ,

NVME_FEAT_FID_LBA_STS_INTERVAL ,

NVME_FEAT_FID_HOST_BEHAVIOR ,

NVME_FEAT_FID_SANITIZE ,

NVME_FEAT_FID_ENDURANCE_EVT_CFG ,

NVME_FEAT_FID_IOCS_PROFILE ,

NVME_FEAT_FID_SPINUP_CONTROL ,

NVME_FEAT_FID_FDP ,

NVME_FEAT_FID_FDP_EVENTS ,

NVME_FEAT_FID_ENH_CTRL_METADATA ,

NVME_FEAT_FID_CTRL_METADATA ,

NVME_FEAT_FID_NS_METADATA ,

NVME_FEAT_FID_SW_PROGRESS ,

NVME_FEAT_FID_HOST_ID ,

NVME_FEAT_FID_RESV_MASK ,

NVME_FEAT_FID_RESV_PERSIST ,

NVME_FEAT_FID_WRITE_PROTECT

};

## Constants
NVME_FEAT_FID_ARBITRATION

Arbitration

NVME_FEAT_FID_POWER_MGMT

Power Management

NVME_FEAT_FID_LBA_RANGE

LBA Range Type

NVME_FEAT_FID_TEMP_THRESH

Temperature Threshold

NVME_FEAT_FID_ERR_RECOVERY

Error Recovery

NVME_FEAT_FID_VOLATILE_WC

Volatile Write Cache

NVME_FEAT_FID_NUM_QUEUES

Number of Queues

NVME_FEAT_FID_IRQ_COALESCE

Interrupt Coalescing

NVME_FEAT_FID_IRQ_CONFIG

Interrupt Vector Configuration

NVME_FEAT_FID_WRITE_ATOMIC

Write Atomicity Normal

NVME_FEAT_FID_ASYNC_EVENT

Asynchronous Event Configuration

NVME_FEAT_FID_AUTO_PST

Autonomous Power State Transition

NVME_FEAT_FID_HOST_MEM_BUF

Host Memory Buffer

NVME_FEAT_FID_TIMESTAMP

Timestamp

NVME_FEAT_FID_KATO

Keep Alive Timer

NVME_FEAT_FID_HCTM

Host Controlled Thermal Management

NVME_FEAT_FID_NOPSC

Non-Operational Power State Config

NVME_FEAT_FID_RRL

Read Recovery Level Config

NVME_FEAT_FID_PLM_CONFIG

Predictable Latency Mode Config

NVME_FEAT_FID_PLM_WINDOW

Predictable Latency Mode Window

NVME_FEAT_FID_LBA_STS_INTERVAL

LBA Status Information Report Interval

NVME_FEAT_FID_HOST_BEHAVIOR

Host Behavior Support

NVME_FEAT_FID_SANITIZE

Endurance Group Event Configuration

NVME_FEAT_FID_ENDURANCE_EVT_CFG

Endurance Group Event Configuration

NVME_FEAT_FID_IOCS_PROFILE

I/O Command Set Profile

NVME_FEAT_FID_SPINUP_CONTROL

Spinup Control

NVME_FEAT_FID_FDP

Flexible Data Placement

NVME_FEAT_FID_FDP_EVENTS

FDP Events

NVME_FEAT_FID_ENH_CTRL_METADATA

Enhanced Controller Metadata

NVME_FEAT_FID_CTRL_METADATA

Controller Metadata

NVME_FEAT_FID_NS_METADATA

Namespace Metadata

NVME_FEAT_FID_SW_PROGRESS

Software Progress Marker

NVME_FEAT_FID_HOST_ID

Host Identifier

NVME_FEAT_FID_RESV_MASK

Reservation Notification Mask

NVME_FEAT_FID_RESV_PERSIST

Reservation Persistence

NVME_FEAT_FID_WRITE_PROTECT

Namespace Write Protection Config


title: nvme_fid_supported_effects(2)

text:
# nvme_fid_supported_effects(2)

## NAME
enum nvme_fid_supported_effects - FID Supported and Effects Data Structure definitions

## SYNOPSIS
enum nvme_fid_supported_effects {

NVME_FID_SUPPORTED_EFFECTS_FSUPP ,

NVME_FID_SUPPORTED_EFFECTS_UDCC ,

NVME_FID_SUPPORTED_EFFECTS_NCC ,

NVME_FID_SUPPORTED_EFFECTS_NIC ,

NVME_FID_SUPPORTED_EFFECTS_CCC ,

NVME_FID_SUPPORTED_EFFECTS_UUID_SEL ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_SHIFT ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_MASK ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NS ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_CTRL ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NVM_SET ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_ENDGRP ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_DOMAIN ,

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NSS

};

## Constants
NVME_FID_SUPPORTED_EFFECTS_FSUPP

FID Supported

NVME_FID_SUPPORTED_EFFECTS_UDCC

User Data Content Change

NVME_FID_SUPPORTED_EFFECTS_NCC

Namespace Capability Change

NVME_FID_SUPPORTED_EFFECTS_NIC

Namespace Inventory Change

NVME_FID_SUPPORTED_EFFECTS_CCC

Controller Capability Change

NVME_FID_SUPPORTED_EFFECTS_UUID_SEL

UUID Selection Supported

NVME_FID_SUPPORTED_EFFECTS_SCOPE_SHIFT

FID Scope Shift

NVME_FID_SUPPORTED_EFFECTS_SCOPE_MASK

FID Scope Mask

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NS

Namespace Scope

NVME_FID_SUPPORTED_EFFECTS_SCOPE_CTRL

Controller Scope

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NVM_SET

NVM Set Scope

NVME_FID_SUPPORTED_EFFECTS_SCOPE_ENDGRP

Endurance Group Scope

NVME_FID_SUPPORTED_EFFECTS_SCOPE_DOMAIN

Domain Scope

NVME_FID_SUPPORTED_EFFECTS_SCOPE_NSS

NVM Subsystem Scope


title: nvme_fid_supported_effects_log(2)

text:
# nvme_fid_supported_effects_log(2)

## NAME
struct nvme_fid_supported_effects_log - Feature Identifiers Supported and Effects

## SYNOPSIS
struct nvme_fid_supported_effects_log {

__le32 fid_support[NVME_LOG_FID_SUPPORTED_EFFECTS_MAX];

};

## Members
fid_support

Feature Identifier Supported


title: nvme_firmware_slot(2)

summary: Firmware Slot Information Log

text:
# nvme_firmware_slot(2)

## NAME
struct nvme_firmware_slot - Firmware Slot Information Log

## SYNOPSIS
struct nvme_firmware_slot {

__u8 afi;

__u8 rsvd1[7];

char frs[7][8];

__u8 rsvd2[448];

};

## Members
afi

Active Firmware Info

rsvd1

Reserved

frs

Firmware Revision for Slot

rsvd2

Reserved


title: nvme_first_host(2)

summary: Start host iterator

text:
# nvme_first_host(2)

## NAME
nvme_first_host - Start host iterator

## SYNOPSIS
nvme_host_t nvme_first_host (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## RETURN
First nvme_host_t object in an iterator


title: nvme_first_subsystem(2)

summary: Start subsystem iterator

text:
# nvme_first_subsystem(2)

## NAME
nvme_first_subsystem - Start subsystem iterator

## SYNOPSIS
nvme_subsystem_t nvme_first_subsystem (nvme_host_t h );

## ARGUMENTS
h

nvme_host_t object

## RETURN
first nvme_subsystem_t object in an iterator


title: nvme_flush(2)

summary: Send an nvme flush command

text:
# nvme_flush(2)

## NAME
nvme_flush - Send an nvme flush command

## SYNOPSIS
int nvme_flush (int fd , __u32 nsid );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace identifier

## DESCRIPTION
The Flush command requests that the contents of volatile write cache be made non-volatile.

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


title: nvme_for_each_host(2)

summary: Traverse host list

text:
# nvme_for_each_host(2)

## NAME
nvme_for_each_host - Traverse host list

## SYNOPSIS
nvme_for_each_host (r , h );

## ARGUMENTS
r

nvme_root_t object

h

nvme_host_t object


title: nvme_for_each_host_safe(2)

summary: Traverse host list

text:
# nvme_for_each_host_safe(2)

## NAME
nvme_for_each_host_safe - Traverse host list

## SYNOPSIS
nvme_for_each_host_safe (r , h , _h );

## ARGUMENTS
r

nvme_root_t object

h

nvme_host_t object

_h

Temporary nvme_host_t object


title: nvme_for_each_subsystem(2)

summary: Traverse subsystems

text:
# nvme_for_each_subsystem(2)

## NAME
nvme_for_each_subsystem - Traverse subsystems

## SYNOPSIS
nvme_for_each_subsystem (h , s );

## ARGUMENTS
h

nvme_host_t object

s

nvme_subsystem_t object


title: nvme_for_each_subsystem_safe(2)

summary: Traverse subsystems

text:
# nvme_for_each_subsystem_safe(2)

## NAME
nvme_for_each_subsystem_safe - Traverse subsystems

## SYNOPSIS
nvme_for_each_subsystem_safe (h , s , _s );

## ARGUMENTS
h

nvme_host_t object

s

nvme_subsystem_t object

_s

Temporary nvme_subsystem_t object


title: nvme_format_nvm(2)

summary: Format nvme namespace(s)

text:
# nvme_format_nvm(2)

## NAME
nvme_format_nvm - Format nvme namespace(s)

## SYNOPSIS
int nvme_format_nvm (struct nvme_format_nvm_args *args );

## ARGUMENTS
args

struct nvme_format_nvme_args argument structure

## DESCRIPTION
The Format NVM command low level formats the NVM media. This command is used by the host to change the LBA data size and/or metadata size. A low level format may destroy all data and metadata associated with all namespaces or only the specific namespace associated with the command

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


title: nvme_format_nvm_compln_event(2)

summary: Format NVM Completion Event Data

text:
# nvme_format_nvm_compln_event(2)

## NAME
struct nvme_format_nvm_compln_event - Format NVM Completion Event Data

## SYNOPSIS
struct nvme_format_nvm_compln_event {

__le32 nsid;

__u8 smallest_fpi;

__u8 format_nvm_status;

__le16 compln_info;

__le32 status_field;

};

## Members
nsid

Namespace Identifier

smallest_fpi

Smallest Format Progress Indicator

format_nvm_status

Format NVM Status

compln_info

Completion Information

status_field

Status Field


title: nvme_format_nvm_start_event(2)

summary: Format NVM Start Event Data

text:
# nvme_format_nvm_start_event(2)

## NAME
struct nvme_format_nvm_start_event - Format NVM Start Event Data

## SYNOPSIS
struct nvme_format_nvm_start_event {

__le32 nsid;

__u8 fna;

__u8 rsvd5[3];

__le32 format_nvm_cdw10;

};

## Members
nsid

Namespace Identifier

fna

Format NVM Attributes

rsvd5

Reserved

format_nvm_cdw10

Format NVM CDW10


title: nvme_free_ctrl(2)

summary: Free controller

text:
# nvme_free_ctrl(2)

## NAME
nvme_free_ctrl - Free controller

## SYNOPSIS
void nvme_free_ctrl (struct nvme_ctrl *c );

## ARGUMENTS
c

Controller instance


title: nvme_free_host(2)

summary: Free nvme_host_t object

text:
# nvme_free_host(2)

## NAME
nvme_free_host - Free nvme_host_t object

## SYNOPSIS
void nvme_free_host (nvme_host_t h );

## ARGUMENTS
h

nvme_host_t object


title: nvme_free_ns(2)

summary: Free a namespace object

text:
# nvme_free_ns(2)

## NAME
nvme_free_ns - Free a namespace object

## SYNOPSIS
void nvme_free_ns (struct nvme_ns *n );

## ARGUMENTS
n

Namespace instance


title: nvme_free_subsystem(2)

summary: Free a subsystem

text:
# nvme_free_subsystem(2)

## NAME
nvme_free_subsystem - Free a subsystem

## SYNOPSIS
void nvme_free_subsystem (struct nvme_subsystem *s );

## ARGUMENTS
s

subsystem

## DESCRIPTION
Frees s and all related objects.


title: nvme_free_tree(2)

summary: Free root object

text:
# nvme_free_tree(2)

## NAME
nvme_free_tree - Free root object

## SYNOPSIS
void nvme_free_tree (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## DESCRIPTION
Free an nvme_root_t object and all attached objects


title: nvme_fw_commit(2)

text:
# nvme_fw_commit(2)

## NAME
nvme_fw_commit - Commit firmware using the specified action

## SYNOPSIS
int nvme_fw_commit (struct nvme_fw_commit_args *args );

## ARGUMENTS
args

struct nvme_fw_commit_args argument structure

## DESCRIPTION
The Firmware Commit command modifies the firmware image or Boot Partitions.

## RETURN
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise. The command status response may specify additional reset actions required to complete the commit process.


title: nvme_fw_commit_ca(2)

summary: Firmware Commit - Commit Action

text:
# nvme_fw_commit_ca(2)

## NAME
enum nvme_fw_commit_ca - Firmware Commit - Commit Action

## SYNOPSIS
enum nvme_fw_commit_ca {

NVME_FW_COMMIT_CA_REPLACE ,

NVME_FW_COMMIT_CA_REPLACE_AND_ACTIVATE ,

NVME_FW_COMMIT_CA_SET_ACTIVE ,

NVME_FW_COMMIT_CA_REPLACE_AND_ACTIVATE_IMMEDIATE ,

NVME_FW_COMMIT_CA_REPLACE_BOOT_PARTITION ,

NVME_FW_COMMIT_CA_ACTIVATE_BOOT_PARTITION

};

## Constants
NVME_FW_COMMIT_CA_REPLACE

Downloaded image replaces the existing image, if any, in the specified Firmware Slot. The newly placed image is not activated.

NVME_FW_COMMIT_CA_REPLACE_AND_ACTIVATE

Downloaded image replaces the existing image, if any, in the specified Firmware Slot. The newly placed image is activated at the next Controller Level Reset.

NVME_FW_COMMIT_CA_SET_ACTIVE

The existing image in the specified Firmware Slot is activated at the next Controller Level Reset.

NVME_FW_COMMIT_CA_REPLACE_AND_ACTIVATE_IMMEDIATE

Downloaded image replaces the existing image, if any, in the specified Firmware Slot and is then activated immediately. If there is not a newly downloaded image, then the existing image in the specified firmware slot is activated immediately.

NVME_FW_COMMIT_CA_REPLACE_BOOT_PARTITION

Downloaded image replaces the Boot Partition specified by the Boot Partition ID field.

NVME_FW_COMMIT_CA_ACTIVATE_BOOT_PARTITION

Mark the Boot Partition specified in the BPID field as active and update BPINFO.ABPID.


title: nvme_fw_commit_event(2)

summary: Firmware Commit Event Data

text:
# nvme_fw_commit_event(2)

## NAME
struct nvme_fw_commit_event - Firmware Commit Event Data

## SYNOPSIS
struct nvme_fw_commit_event {

__le64 old_fw_rev;

__le64 new_fw_rev;

__u8 fw_commit_action;

__u8 fw_slot;

__u8 sct_fw;

__u8 sc_fw;

__le16 vndr_assign_fw_commit_rc;

};

## Members
old_fw_rev

Old Firmware Revision

new_fw_rev

New Firmware Revision

fw_commit_action

Firmware Commit Action

fw_slot

Firmware Slot

sct_fw

Status Code Type for Firmware Commit Command

sc_fw

Status Returned for Firmware Commit Command

vndr_assign_fw_commit_rc

Vendor Assigned Firmware Commit Result Code


title: nvme_fw_download(2)

text:
# nvme_fw_download(2)

## NAME
nvme_fw_download - Download part or all of a firmware image to the controller

## SYNOPSIS
int nvme_fw_download (struct nvme_fw_download_args *args );

## ARGUMENTS
args

struct nvme_fw_download_args argument structure

## DESCRIPTION
The Firmware Image Download command downloads all or a portion of an image for a future update to the controller. The Firmware Image Download command downloads a new image (in whole or in part) to the controller.

The image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a dword range.

The new firmware image is not activated as part of the Firmware Image Download command. Use the nvme_fw_commit to activate a newly downloaded image.

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


title: nvme_fw_download_seq(2)

summary: Firmware download sequence

text:
# nvme_fw_download_seq(2)

## NAME
nvme_fw_download_seq - Firmware download sequence

## SYNOPSIS
int nvme_fw_download_seq (int fd , __u32 size , __u32 xfer , __u32 offset , void *buf );

## ARGUMENTS
fd

File descriptor of nvme device

size

Total size of the firmware image to transfer

xfer

Maximum size to send with each partial transfer

offset

Starting offset to send with this firmware download

buf

Address of buffer containing all or part of the firmware image.

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


title: nvme_gen_dhchap_key(2)

summary: DH-HMAC-CHAP key generation

text:
# nvme_gen_dhchap_key(2)

## NAME
nvme_gen_dhchap_key - DH-HMAC-CHAP key generation

## SYNOPSIS
int nvme_gen_dhchap_key (char *hostnqn , enum nvme_hmac_alg hmac , unsigned int key_len , unsigned char *secret , unsigned char *key );

## ARGUMENTS
hostnqn

Host NVMe Qualified Name

hmac

HMAC algorithm

key_len

Output key length

secret

Secret to used for digest

key

Generated DH-HMAC-CHAP key

## RETURN
If key generation was successful the function returns 0 or -1 with errno set otherwise.


title: nvme_get_ana_log_len(2)

summary: Retrieve size of the current ANA log

text:
# nvme_get_ana_log_len(2)

## NAME
nvme_get_ana_log_len - Retrieve size of the current ANA log

## SYNOPSIS
int nvme_get_ana_log_len (int fd , size_t *analen );

## ARGUMENTS
fd

File descriptor of nvme device

analen

Pointer to where the length will be set on success

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


title: nvme_get_attr(2)

summary: Read sysfs attribute

text:
# nvme_get_attr(2)

## NAME
nvme_get_attr - Read sysfs attribute

## SYNOPSIS
char * nvme_get_attr (const char *d , const char *attr );

## ARGUMENTS
d

sysfs directory

attr

sysfs attribute name

## RETURN
String with the contents of attr or NULL in case of an empty value or in case of an error (indicated by non-zero errno code).


title: nvme_get_ctrl_attr(2)

summary: Read controller sysfs attribute

text:
# nvme_get_ctrl_attr(2)

## NAME
nvme_get_ctrl_attr - Read controller sysfs attribute

## SYNOPSIS
char * nvme_get_ctrl_attr (nvme_ctrl_t c , const char *attr );

## ARGUMENTS
c

Controller instance

attr

sysfs attribute name

## RETURN
String with the contents of attr or NULL in case of an empty value or in case of an error (indicated by non-zero errno code).


title: nvme_get_ctrl_telemetry(2)

summary: Get controller telemetry log

text:
# nvme_get_ctrl_telemetry(2)

## NAME
nvme_get_ctrl_telemetry - Get controller telemetry log

## SYNOPSIS
int nvme_get_ctrl_telemetry (int fd , bool rae , struct nvme_telemetry_log **log , enum nvme_telemetry_da da , size_t *size );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

On success, set to the value of the allocated and retrieved log.

da

Log page data area, valid values: enum nvme_telemetry_da

size

Ptr to the telemetry log size, so it can be returned

## DESCRIPTION
The total size allocated can be calculated as: (nvme_telemetry_log da size + 1) * NVME_LOG_TELEM_BLOCK_SIZE.

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


title: nvme_get_directive_receive_length(2)

summary: Get directive receive length

text:
# nvme_get_directive_receive_length(2)

## NAME
nvme_get_directive_receive_length - Get directive receive length

## SYNOPSIS
int nvme_get_directive_receive_length (enum nvme_directive_dtype dtype , enum nvme_directive_receive_doper doper , __u32 *len );

## ARGUMENTS
dtype

Directive type, see enum nvme_directive_dtype

doper

Directive receive operation, see enum nvme_directive_receive_doper

len

On success, set to this directives payload length in bytes.

## RETURN
0 on success, -1 with errno set to EINVAL if the function did not recognize dtype or doper.


title: nvme_get_discovery_args(2)

text:
# nvme_get_discovery_args(2)

## NAME
struct nvme_get_discovery_args - Arguments for nvmf_get_discovery_wargs()

## SYNOPSIS
struct nvme_get_discovery_args {

nvme_ctrl_t c;

int args_size;

int max_retries;

__u32 *result;

__u32 timeout;

__u8 lsp;

};

## Members
c

Discovery controller

args_size

Length of the structure

max_retries

Number of retries in case of failure

result

The command completion result from CQE dword0

timeout

Timeout in ms (default: NVME_DEFAULT_IOCTL_TIMEOUT)

lsp

Log specific field (See enum nvmf_log_discovery_lsp)


title: nvme_get_feature_length(2)

text:
# nvme_get_feature_length(2)

## NAME
nvme_get_feature_length - Retreive the command payload length for a specific feature identifier

## SYNOPSIS
int nvme_get_feature_length (int fid , __u32 cdw11 , __u32 *len );

## ARGUMENTS
fid

Feature identifier, see enum nvme_features_id.

cdw11

The cdw11 value may affect the transfer (only known fid is NVME_FEAT_FID_HOST_ID)

len

On success, set to this features payload length in bytes.

## RETURN
0 on success, -1 with errno set to EINVAL if the function did not recognize fid.


title: nvme_get_feature_length2(2)

text:
# nvme_get_feature_length2(2)

## NAME
nvme_get_feature_length2 - Retreive the command payload length for a specific feature identifier

## SYNOPSIS
int nvme_get_feature_length2 (int fid , __u32 cdw11 , enum nvme_data_tfr dir , __u32 *len );

## ARGUMENTS
fid

Feature identifier, see enum nvme_features_id.

cdw11

The cdw11 value may affect the transfer (only known fid is NVME_FEAT_FID_HOST_ID)

dir

Data transfer direction: false - host to controller, true - controller to host may affect the transfer (only known fid is NVME_FEAT_FID_HOST_MEM_BUF).

len

On success, set to this features payload length in bytes.

## RETURN
0 on success, -1 with errno set to EINVAL if the function did not recognize fid.


title: nvme_get_features(2)

summary: Retrieve a feature attribute

text:
# nvme_get_features(2)

## NAME
nvme_get_features - Retrieve a feature attribute

## SYNOPSIS
int nvme_get_features (struct nvme_get_features_args *args );

## ARGUMENTS
args

struct nvme_get_features_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_get_features_arbitration(2)

summary: Get arbitration feature

text:
# nvme_get_features_arbitration(2)

## NAME
nvme_get_features_arbitration - Get arbitration feature

## SYNOPSIS
int nvme_get_features_arbitration (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_async_event(2)

summary: Get asynchronous event feature

text:
# nvme_get_features_async_event(2)

## NAME
nvme_get_features_async_event - Get asynchronous event feature

## SYNOPSIS
int nvme_get_features_async_event (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_auto_pst(2)

summary: Get autonomous power state feature

text:
# nvme_get_features_auto_pst(2)

## NAME
nvme_get_features_auto_pst - Get autonomous power state feature

## SYNOPSIS
int nvme_get_features_auto_pst (int fd , enum nvme_get_features_sel sel , struct nvme_feat_auto_pst *apst , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

apst

result

The command completion result from CQE dword0

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


title: nvme_get_features_data(2)

text:
# nvme_get_features_data(2)

## NAME
nvme_get_features_data - Helper function for @nvme_get_features()

## SYNOPSIS
int nvme_get_features_data (int fd , enum nvme_features_id fid , __u32 nsid , __u32 data_len , void *data , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

fid

Feature identifier

nsid

Namespace ID, if applicable

data_len

Length of feature data, if applicable, in bytes

data

User address of feature data, if applicable

result

The command completion result from CQE dword0

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


summary: Get endurance event config feature

text:
# nvme_get_features_endurance_event_cfg(2)

## NAME
nvme_get_features_endurance_event_cfg - Get endurance event config feature

## SYNOPSIS
int nvme_get_features_endurance_event_cfg (int fd , enum nvme_get_features_sel sel , __u16 endgid , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

endgid

Endurance Group Identifier

result

The command completion result from CQE dword0

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


title: nvme_get_features_err_recovery(2)

summary: Get error recovery feature

text:
# nvme_get_features_err_recovery(2)

## NAME
nvme_get_features_err_recovery - Get error recovery feature

## SYNOPSIS
int nvme_get_features_err_recovery (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_hctm(2)

summary: Get thermal management feature

text:
# nvme_get_features_hctm(2)

## NAME
nvme_get_features_hctm - Get thermal management feature

## SYNOPSIS
int nvme_get_features_hctm (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_host_behavior(2)

summary: Get host behavior feature

text:
# nvme_get_features_host_behavior(2)

## NAME
nvme_get_features_host_behavior - Get host behavior feature

## SYNOPSIS
int nvme_get_features_host_behavior (int fd , enum nvme_get_features_sel sel , struct nvme_feat_host_behavior *data , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

data

Pointer to structure nvme_feat_host_behavior

result

The command completion result from CQE dword0

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


title: nvme_get_features_host_id(2)

summary: Get host id feature

text:
# nvme_get_features_host_id(2)

## NAME
nvme_get_features_host_id - Get host id feature

## SYNOPSIS
int nvme_get_features_host_id (int fd , enum nvme_get_features_sel sel , bool exhid , __u32 len , __u8 *hostid );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

exhid

Enable Extended Host Identifier

len

Length of hostid

hostid

Buffer for returned host ID

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


title: nvme_get_features_host_mem_buf(2)

summary: Get host memory buffer feature

text:
# nvme_get_features_host_mem_buf(2)

## NAME
nvme_get_features_host_mem_buf - Get host memory buffer feature

## SYNOPSIS
int nvme_get_features_host_mem_buf (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_iocs_profile(2)

summary: Get IOCS profile feature

text:
# nvme_get_features_iocs_profile(2)

## NAME
nvme_get_features_iocs_profile - Get IOCS profile feature

## SYNOPSIS
int nvme_get_features_iocs_profile (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_irq_coalesce(2)

summary: Get IRQ coalesce feature

text:
# nvme_get_features_irq_coalesce(2)

## NAME
nvme_get_features_irq_coalesce - Get IRQ coalesce feature

## SYNOPSIS
int nvme_get_features_irq_coalesce (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_irq_config(2)

summary: Get IRQ config feature

text:
# nvme_get_features_irq_config(2)

## NAME
nvme_get_features_irq_config - Get IRQ config feature

## SYNOPSIS
int nvme_get_features_irq_config (int fd , enum nvme_get_features_sel sel , __u16 iv , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

iv

result

The command completion result from CQE dword0

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


title: nvme_get_features_kato(2)

summary: Get keep alive timeout feature

text:
# nvme_get_features_kato(2)

## NAME
nvme_get_features_kato - Get keep alive timeout feature

## SYNOPSIS
int nvme_get_features_kato (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_lba_range(2)

summary: Get LBA range feature

text:
# nvme_get_features_lba_range(2)

## NAME
nvme_get_features_lba_range - Get LBA range feature

## SYNOPSIS
int nvme_get_features_lba_range (int fd , enum nvme_get_features_sel sel , struct nvme_lba_range_type *data , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

data

User address of feature data, if applicable

result

The command completion result from CQE dword0

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


title: nvme_get_features_lba_sts_interval(2)

summary: Get LBA status information feature

text:
# nvme_get_features_lba_sts_interval(2)

## NAME
nvme_get_features_lba_sts_interval - Get LBA status information feature

## SYNOPSIS
int nvme_get_features_lba_sts_interval (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_nopsc(2)

summary: Get non-operational power state feature

text:
# nvme_get_features_nopsc(2)

## NAME
nvme_get_features_nopsc - Get non-operational power state feature

## SYNOPSIS
int nvme_get_features_nopsc (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_num_queues(2)

summary: Get number of queues feature

text:
# nvme_get_features_num_queues(2)

## NAME
nvme_get_features_num_queues - Get number of queues feature

## SYNOPSIS
int nvme_get_features_num_queues (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_plm_config(2)

summary: Get predictable latency feature

text:
# nvme_get_features_plm_config(2)

## NAME
nvme_get_features_plm_config - Get predictable latency feature

## SYNOPSIS
int nvme_get_features_plm_config (int fd , enum nvme_get_features_sel sel , __u16 nvmsetid , struct nvme_plm_config *data , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

nvmsetid

NVM set id

data

result

The command completion result from CQE dword0

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


title: nvme_get_features_plm_window(2)

summary: Get window select feature

text:
# nvme_get_features_plm_window(2)

## NAME
nvme_get_features_plm_window - Get window select feature

## SYNOPSIS
int nvme_get_features_plm_window (int fd , enum nvme_get_features_sel sel , __u16 nvmsetid , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

nvmsetid

NVM set id

result

The command completion result from CQE dword0

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


title: nvme_get_features_power_mgmt(2)

summary: Get power management feature

text:
# nvme_get_features_power_mgmt(2)

## NAME
nvme_get_features_power_mgmt - Get power management feature

## SYNOPSIS
int nvme_get_features_power_mgmt (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_resv_mask(2)

summary: Get reservation mask feature

text:
# nvme_get_features_resv_mask(2)

## NAME
nvme_get_features_resv_mask - Get reservation mask feature

## SYNOPSIS
int nvme_get_features_resv_mask (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_resv_persist(2)

summary: Get reservation persist feature

text:
# nvme_get_features_resv_persist(2)

## NAME
nvme_get_features_resv_persist - Get reservation persist feature

## SYNOPSIS
int nvme_get_features_resv_persist (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_rrl(2)

summary: Get read recovery level feature

text:
# nvme_get_features_rrl(2)

## NAME
nvme_get_features_rrl - Get read recovery level feature

## SYNOPSIS
int nvme_get_features_rrl (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_sanitize(2)

summary: Get sanitize feature

text:
# nvme_get_features_sanitize(2)

## NAME
nvme_get_features_sanitize - Get sanitize feature

## SYNOPSIS
int nvme_get_features_sanitize (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_sel(2)

summary: Get Features - Select

text:
# nvme_get_features_sel(2)

## NAME
enum nvme_get_features_sel - Get Features - Select

## SYNOPSIS
enum nvme_get_features_sel {

NVME_GET_FEATURES_SEL_CURRENT ,

NVME_GET_FEATURES_SEL_DEFAULT ,

NVME_GET_FEATURES_SEL_SAVED ,

NVME_GET_FEATURES_SEL_SUPPORTED

};

## Constants
NVME_GET_FEATURES_SEL_CURRENT

Current value

NVME_GET_FEATURES_SEL_DEFAULT

Default value

NVME_GET_FEATURES_SEL_SAVED

Saved value

NVME_GET_FEATURES_SEL_SUPPORTED

Supported capabilities


title: nvme_get_features_simple(2)

text:
# nvme_get_features_simple(2)

## NAME
nvme_get_features_simple - Helper function for @nvme_get_features()

## SYNOPSIS
int nvme_get_features_simple (int fd , enum nvme_features_id fid , __u32 nsid , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

fid

Feature identifier

nsid

Namespace ID, if applicable

result

The command completion result from CQE dword0

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


title: nvme_get_features_sw_progress(2)

summary: Get software progress feature

text:
# nvme_get_features_sw_progress(2)

## NAME
nvme_get_features_sw_progress - Get software progress feature

## SYNOPSIS
int nvme_get_features_sw_progress (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_temp_thresh(2)

summary: Get temperature threshold feature

text:
# nvme_get_features_temp_thresh(2)

## NAME
nvme_get_features_temp_thresh - Get temperature threshold feature

## SYNOPSIS
int nvme_get_features_temp_thresh (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_timestamp(2)

summary: Get timestamp feature

text:
# nvme_get_features_timestamp(2)

## NAME
nvme_get_features_timestamp - Get timestamp feature

## SYNOPSIS
int nvme_get_features_timestamp (int fd , enum nvme_get_features_sel sel , struct nvme_timestamp *ts );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

ts

Current timestamp

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


title: nvme_get_features_volatile_wc(2)

summary: Get volatile write cache feature

text:
# nvme_get_features_volatile_wc(2)

## NAME
nvme_get_features_volatile_wc - Get volatile write cache feature

## SYNOPSIS
int nvme_get_features_volatile_wc (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_write_atomic(2)

summary: Get write atomic feature

text:
# nvme_get_features_write_atomic(2)

## NAME
nvme_get_features_write_atomic - Get write atomic feature

## SYNOPSIS
int nvme_get_features_write_atomic (int fd , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_features_write_protect(2)

summary: Get write protect feature

text:
# nvme_get_features_write_protect(2)

## NAME
nvme_get_features_write_protect - Get write protect feature

## SYNOPSIS
int nvme_get_features_write_protect (int fd , __u32 nsid , enum nvme_get_features_sel sel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

sel

Select which type of attribute to return, see enum nvme_get_features_sel

result

The command completion result from CQE dword0

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


title: nvme_get_host_telemetry(2)

summary: Get host telemetry log

text:
# nvme_get_host_telemetry(2)

## NAME
nvme_get_host_telemetry - Get host telemetry log

## SYNOPSIS
int nvme_get_host_telemetry (int fd , struct nvme_telemetry_log **log , enum nvme_telemetry_da da , size_t *size );

## ARGUMENTS
fd

File descriptor of nvme device

log

On success, set to the value of the allocated and retrieved log.

da

Log page data area, valid values: enum nvme_telemetry_da

size

Ptr to the telemetry log size, so it can be returned

## DESCRIPTION
The total size allocated can be calculated as: (nvme_telemetry_log da size + 1) * NVME_LOG_TELEM_BLOCK_SIZE.

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


title: nvme_get_lba_status(2)

text:
# nvme_get_lba_status(2)

## NAME
nvme_get_lba_status - Retrieve information on possibly unrecoverable LBAs

## SYNOPSIS
int nvme_get_lba_status (struct nvme_get_lba_status_args *args );

## ARGUMENTS
args

struct nvme_get_lba_status_args argument structure

## DESCRIPTION
The Get LBA Status command requests information about Potentially Unrecoverable LBAs. Refer to the specification for action type descriptions.

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


title: nvme_get_lba_status_log(2)

summary: Retrieve the LBA Status log page

text:
# nvme_get_lba_status_log(2)

## NAME
nvme_get_lba_status_log - Retrieve the LBA Status log page

## SYNOPSIS
int nvme_get_lba_status_log (int fd , bool rae , struct nvme_lba_status_log **log );

## ARGUMENTS
fd

File descriptor of the nvme device

rae

Retain asynchronous events

log

On success, set to the value of the allocated and retrieved log.

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


title: nvme_get_log(2)

summary: NVMe Admin Get Log command

text:
# nvme_get_log(2)

## NAME
nvme_get_log - NVMe Admin Get Log command

## SYNOPSIS
int nvme_get_log (struct nvme_get_log_args *args );

## ARGUMENTS
args

struct nvme_get_log_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_get_log_ana(2)

text:
# nvme_get_log_ana(2)

## NAME
nvme_get_log_ana - Retrieve Asymmetric Namespace Access log page

## SYNOPSIS
int nvme_get_log_ana (int fd , enum nvme_log_ana_lsp lsp , bool rae , __u64 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

lsp

Log specific, see enum nvme_get_log_ana_lsp

rae

Retain asynchronous events

offset

Offset to the start of the log page

len

The allocated length of the log page

log

User address to store the ana log

## DESCRIPTION
This log consists of a header describing the log and descriptors containing the asymmetric namespace access information for ANA Groups that contain namespaces that are attached to the controller processing the command.

See struct nvme_ana_rsp_hdr for the definition of the returned structure.

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


title: nvme_get_log_ana_groups(2)

text:
# nvme_get_log_ana_groups(2)

## NAME
nvme_get_log_ana_groups - Retrieve Asymmetric Namespace Access groups only log page

## SYNOPSIS
int nvme_get_log_ana_groups (int fd , bool rae , __u32 len , struct nvme_ana_group_desc *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

len

The allocated length of the log page

log

User address to store the ana group log

## DESCRIPTION
See struct nvme_ana_group_desc for the definition of the returned structure.

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


title: nvme_get_log_boot_partition(2)

summary: Retrieve Boot Partition

text:
# nvme_get_log_boot_partition(2)

## NAME
nvme_get_log_boot_partition - Retrieve Boot Partition

## SYNOPSIS
int nvme_get_log_boot_partition (int fd , bool rae , __u8 lsp , __u32 len , struct nvme_boot_partition *part );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

lsp

The log specified field of LID

len

The allocated size, minimum struct nvme_boot_partition

part

User address to store the log page

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