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.


package: libnvme-devel

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.

branch: sisyphus


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

## DESCRIPTION
Deprecated: doesn't support specifying a NSID. Use nvme_get_features_lba_range2 instead.

## 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_range2(2)

summary: Get LBA range feature

text:
# nvme_get_features_lba_range2(2)

## NAME
nvme_get_features_lba_range2 - Get LBA range feature

## SYNOPSIS
int nvme_get_features_lba_range2 (int fd , enum nvme_get_features_sel sel , __u32 nsid , 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

nsid

Namespace ID

data

Buffer to receive LBA Range Type data structure

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

## DESCRIPTION
Deprecated: doesn't support specifying a NSID. Use nvme_get_features_resv_mask2 instead.

## 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_mask2(2)

summary: Get reservation mask feature

text:
# nvme_get_features_resv_mask2(2)

## NAME
nvme_get_features_resv_mask2 - Get reservation mask feature

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

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

nsid

Namespace 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_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

## DESCRIPTION
Deprecated: doesn't support specifying a NSID. Use nvme_get_features_resv_persist2 instead.

## 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_persist2(2)

summary: Get reservation persist feature

text:
# nvme_get_features_resv_persist2(2)

## NAME
nvme_get_features_resv_persist2 - Get reservation persist feature

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

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

nsid

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

summary: Get temperature threshold feature

text:
# nvme_get_features_temp_thresh2(2)

## NAME
nvme_get_features_temp_thresh2 - Get temperature threshold feature

## SYNOPSIS
int nvme_get_features_temp_thresh2 (int fd , enum nvme_get_features_sel sel , __u8 tmpsel , enum nvme_feat_tmpthresh_thsel thsel , __u32 *result );

## ARGUMENTS
fd

File descriptor of nvme device

sel

Select which type of attribute to return, see enum nvme_get_features_sel

tmpsel

Threshold Temperature Select

thsel

Threshold Type Select

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_args(2)

text:
# nvme_get_lba_status_args(2)

## NAME
struct nvme_get_lba_status_args - Arguments for the NVMe Get LBA Status command

## SYNOPSIS
struct nvme_get_lba_status_args {

__u64 slba;

__u32 *result;

struct nvme_lba_status *lbas;

int args_size;

int fd;

__u32 timeout;

__u32 nsid;

__u32 mndw;

enum nvme_lba_status_atype atype;

__u16 rl;

};

## Members
slba

Starting logical block address to check statuses

result

The command completion result from CQE dword0

lbas

Data payload to return status descriptors

args_size

Size of struct nvme_get_lba_status_args

fd

File descriptor of nvme device

timeout

Timeout in ms

nsid

Namespace ID to retrieve LBA status

mndw

Maximum number of dwords to return

atype

Action type mechanism to determine LBA status descriptors to return, see enum nvme_lba_status_atype

rl

Range length from slba to perform the action


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_log 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_log *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_log 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_args(2)

text:
# nvme_get_log_args(2)

## NAME
struct nvme_get_log_args - Arguments for the NVMe Admin Get Log command

## SYNOPSIS
struct nvme_get_log_args {

__u64 lpo;

__u32 *result;

void *log;

int args_size;

int fd;

__u32 timeout;

enum nvme_cmd_get_log_lid lid;

__u32 len;

__u32 nsid;

enum nvme_csi csi;

__u16 lsi;

__u8 lsp;

__u8 uuidx;

bool rae;

bool ot;

};

## Members
lpo

Log page offset for partial log transfers

result

The command completion result from CQE dword0

log

User space destination address to transfer the data

args_size

Length of the structure

fd

File descriptor of nvme device

timeout

Timeout in ms

lid

Log page identifier, see enum nvme_cmd_get_log_lid for known values

len

Length of provided user buffer to hold the log data in bytes

nsid

Namespace identifier, if applicable

csi

Command set identifier, see enum nvme_csi for known values

lsi

Log Specific Identifier

lsp

Log specific field

uuidx

UUID selection, if supported

rae

Retain asynchronous events

ot

Offset Type; if set lpo specifies the index into the list of data structures, otherwise lpo specifies the byte offset into the log page.


title: nvme_get_log_ave_discover(2)

summary: Retrieve AVE Discovery Log

text:
# nvme_get_log_ave_discover(2)

## NAME
nvme_get_log_ave_discover - Retrieve AVE Discovery Log

## SYNOPSIS
int nvme_get_log_ave_discover (int fd , bool rae , __u32 len , struct nvme_ave_discover_log *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 log page

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


title: nvme_get_log_changed_alloc_ns_list(2)

text:
# nvme_get_log_changed_alloc_ns_list(2)

## NAME
nvme_get_log_changed_alloc_ns_list - Retrieve Changed Allocated Namespace List Log

## SYNOPSIS
int nvme_get_log_changed_alloc_ns_list (int fd , bool rae , __u32 len , struct nvme_ns_list *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 log page

## 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_changed_ns_list(2)

summary: Retrieve namespace changed list

text:
# nvme_get_log_changed_ns_list(2)

## NAME
nvme_get_log_changed_ns_list - Retrieve namespace changed list

## SYNOPSIS
int nvme_get_log_changed_ns_list (int fd , bool rae , struct nvme_ns_list *ns_log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

ns_log

User address to store the log page

## DESCRIPTION
This log page describes namespaces attached to this controller that have changed since the last time the namespace was identified, been added, or deleted.

## 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_cmd_effects(2)

summary: Retrieve nvme command effects log

text:
# nvme_get_log_cmd_effects(2)

## NAME
nvme_get_log_cmd_effects - Retrieve nvme command effects log

## SYNOPSIS
int nvme_get_log_cmd_effects (int fd , enum nvme_csi csi , struct nvme_cmd_effects_log *effects_log );

## ARGUMENTS
fd

File descriptor of nvme device

csi

Command Set Identifier

effects_log

User address to store the effects log

## DESCRIPTION
This log page describes the commands that the controller supports and the effects of those commands on the state of the NVM subsystem.

## 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_create_telemetry_host(2)

summary: Create host telemetry log

text:
# nvme_get_log_create_telemetry_host(2)

## NAME
nvme_get_log_create_telemetry_host - Create host telemetry log

## SYNOPSIS
int nvme_get_log_create_telemetry_host (int fd , struct nvme_telemetry_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

log

Userspace address of the log payload

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


summary: Create host telemetry log

text:
# nvme_get_log_create_telemetry_host_mcda(2)

## NAME
nvme_get_log_create_telemetry_host_mcda - Create host telemetry log

## SYNOPSIS
int nvme_get_log_create_telemetry_host_mcda (int fd , enum nvme_telemetry_da mcda , struct nvme_telemetry_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

mcda

Maximum Created Data Area

log

Userspace address of the log payload

## 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_device_self_test(2)

summary: Retrieve the device self test log

text:
# nvme_get_log_device_self_test(2)

## NAME
nvme_get_log_device_self_test - Retrieve the device self test log

## SYNOPSIS
int nvme_get_log_device_self_test (int fd , struct nvme_self_test_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

log

Userspace address of the log payload

## DESCRIPTION
The log page indicates the status of an in progress self test and the percent complete of that operation, and the results of the previous 20 self-test operations.

## 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_discovery(2)

summary: Retrieve Discovery log page

text:
# nvme_get_log_discovery(2)

## NAME
nvme_get_log_discovery - Retrieve Discovery log page

## SYNOPSIS
int nvme_get_log_discovery (int fd , bool rae , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

offset

Offset of this log to retrieve

len

The allocated size for this portion of the log

log

User address to store the discovery log

## DESCRIPTION
Supported only by fabrics discovery controllers, returning discovery records.

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


text:
# nvme_get_log_dispersed_ns_participating_nss(2)

## NAME
nvme_get_log_dispersed_ns_participating_nss - Retrieve Dispersed Namespace Participating NVM Subsystems Log

## SYNOPSIS
int nvme_get_log_dispersed_ns_participating_nss (int fd , __u32 nsid , __u32 len , struct nvme_dispersed_ns_participating_nss_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace Identifier

len

The allocated length of the log page

log

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


title: nvme_get_log_endurance_group(2)

summary: Get Endurance Group log

text:
# nvme_get_log_endurance_group(2)

## NAME
nvme_get_log_endurance_group - Get Endurance Group log

## SYNOPSIS
int nvme_get_log_endurance_group (int fd , __u16 endgid , struct nvme_endurance_group_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

endgid

Starting group identifier to return in the list

log

User address to store the endurance log

## DESCRIPTION
This log page indicates if an Endurance Group Event has occurred for a particular Endurance Group. If an Endurance Group Event has occurred, the details of the particular event are included in the Endurance Group Information log page for that Endurance Group. An asynchronous event is generated when an entry for an Endurance Group is newly added to this log page.

## 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_endurance_grp_evt(2)

text:
# nvme_get_log_endurance_grp_evt(2)

## NAME
nvme_get_log_endurance_grp_evt - Retrieve Endurance Group Event Aggregate

## SYNOPSIS
int nvme_get_log_endurance_grp_evt (int fd , bool rae , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

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 log page

## 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_error(2)

summary: Retrieve nvme error log

text:
# nvme_get_log_error(2)

## NAME
nvme_get_log_error - Retrieve nvme error log

## SYNOPSIS
int nvme_get_log_error (int fd , unsigned int nr_entries , bool rae , struct nvme_error_log_page *err_log );

## ARGUMENTS
fd

File descriptor of nvme device

nr_entries

Number of error log entries allocated

rae

Retain asynchronous events

err_log

Array of error logs of size 'entries'

## DESCRIPTION
This log page describes extended error information for a command that completed with error, or may report an error that is not specific to a particular command.

## 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_fdp_configurations(2)

text:
# nvme_get_log_fdp_configurations(2)

## NAME
nvme_get_log_fdp_configurations - Get list of Flexible Data Placement configurations

## SYNOPSIS
int nvme_get_log_fdp_configurations (int fd , __u16 egid , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

egid

Endurance group identifier

offset

Offset into log page

len

Length (in bytes) of provided user buffer to hold the log data

log

Log page data buffer


title: nvme_get_log_fdp_events(2)

summary: Get Flexible Data Placement events

text:
# nvme_get_log_fdp_events(2)

## NAME
nvme_get_log_fdp_events - Get Flexible Data Placement events

## SYNOPSIS
int nvme_get_log_fdp_events (int fd , __u16 egid , bool host_events , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

egid

Endurance group identifier

host_events

Whether to report host or controller events

offset

Offset into log page

len

Length (in bytes) of provided user buffer to hold the log data

log

Log page data buffer


title: nvme_get_log_fdp_stats(2)

summary: Get Flexible Data Placement statistics

text:
# nvme_get_log_fdp_stats(2)

## NAME
nvme_get_log_fdp_stats - Get Flexible Data Placement statistics

## SYNOPSIS
int nvme_get_log_fdp_stats (int fd , __u16 egid , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

egid

Endurance group identifier

offset

Offset into log page

len

Length (in bytes) of provided user buffer to hold the log data

log

Log page data buffer


title: nvme_get_log_fid_supported_effects(2)

text:
# nvme_get_log_fid_supported_effects(2)

## NAME
nvme_get_log_fid_supported_effects - Retrieve Feature Identifiers Supported and Effects

## SYNOPSIS
int nvme_get_log_fid_supported_effects (int fd , bool rae , struct nvme_fid_supported_effects_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

FID Supported and Effects data 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_fw_slot(2)

summary: Retrieves the controller firmware log

text:
# nvme_get_log_fw_slot(2)

## NAME
nvme_get_log_fw_slot - Retrieves the controller firmware log

## SYNOPSIS
int nvme_get_log_fw_slot (int fd , bool rae , struct nvme_firmware_slot *fw_log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

fw_log

User address to store the log page

## DESCRIPTION
This log page describes the firmware revision stored in each firmware slot supported. The firmware revision is indicated as an ASCII string. The log page also indicates the active slot number.

## 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_host_discover(2)

summary: Retrieve Host Discovery Log

text:
# nvme_get_log_host_discover(2)

## NAME
nvme_get_log_host_discover - Retrieve Host Discovery Log

## SYNOPSIS
int nvme_get_log_host_discover (int fd , bool allhoste , bool rae , __u32 len , struct nvme_host_discover_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

allhoste

All host entries

rae

Retain asynchronous events

len

The allocated length of the log page

log

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


title: nvme_get_log_lba_status(2)

summary: Retrieve LBA Status

text:
# nvme_get_log_lba_status(2)

## NAME
nvme_get_log_lba_status - Retrieve LBA Status

## SYNOPSIS
int nvme_get_log_lba_status (int fd , bool rae , __u64 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

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 log page

## 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_lockdown(2)

summary: Retrieve lockdown Log

text:
# nvme_get_log_lockdown(2)

## NAME
nvme_get_log_lockdown - Retrieve lockdown Log

## SYNOPSIS
int nvme_get_log_lockdown (int fd , __u8 cnscp , struct nvme_lockdown_log *lockdown_log );

## ARGUMENTS
fd

File descriptor of nvme device

cnscp

Contents and Scope of Command and Feature Identifier Lists

lockdown_log

Buffer to store the lockdown 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_media_unit_stat(2)

summary: Retrieve Media Unit Status

text:
# nvme_get_log_media_unit_stat(2)

## NAME
nvme_get_log_media_unit_stat - Retrieve Media Unit Status

## SYNOPSIS
int nvme_get_log_media_unit_stat (int fd , __u16 domid , struct nvme_media_unit_stat_log *mus );

## ARGUMENTS
fd

File descriptor of nvme device

domid

Domain Identifier selection, if supported

mus

User address to store the Media Unit statistics 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_mgmt_addr_list(2)

summary: Retrieve Management Address List Log

text:
# nvme_get_log_mgmt_addr_list(2)

## NAME
nvme_get_log_mgmt_addr_list - Retrieve Management Address List Log

## SYNOPSIS
int nvme_get_log_mgmt_addr_list (int fd , __u32 len , struct nvme_mgmt_addr_list_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

len

The allocated length of the log page

log

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


text:
# nvme_get_log_mi_cmd_supported_effects(2)

## NAME
nvme_get_log_mi_cmd_supported_effects - displays the MI Commands Supported by the controller

## SYNOPSIS
int nvme_get_log_mi_cmd_supported_effects (int fd , bool rae , struct nvme_mi_cmd_supported_effects_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

MI Command Supported and Effects data 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_page(2)

summary: Get log page data

text:
# nvme_get_log_page(2)

## NAME
nvme_get_log_page - Get log page data

## SYNOPSIS
int nvme_get_log_page (int fd , __u32 xfer_len , struct nvme_get_log_args *args );

## ARGUMENTS
fd

File descriptor of nvme device

xfer_len

Max log transfer size per request to split the total.

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_persistent_event(2)

summary: Retrieve Persistent Event Log

text:
# nvme_get_log_persistent_event(2)

## NAME
nvme_get_log_persistent_event - Retrieve Persistent Event Log

## SYNOPSIS
int nvme_get_log_persistent_event (int fd , enum nvme_pevent_log_action action , __u32 size , void *pevent_log );

## ARGUMENTS
fd

File descriptor of nvme device

action

Action the controller should take during processing this command

size

Size of pevent_log

pevent_log

User address to store the persistent event 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_phy_rx_eom(2)

text:
# nvme_get_log_phy_rx_eom(2)

## NAME
nvme_get_log_phy_rx_eom - Retrieve Physical Interface Receiver Eye Opening Measurement Log

## SYNOPSIS
int nvme_get_log_phy_rx_eom (int fd , __u8 lsp , __u16 controller , __u32 len , struct nvme_phy_rx_eom_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

lsp

Log specific, controls action and measurement quality

controller

Target controller ID

len

The allocated size, minimum struct nvme_phy_rx_eom_log

log

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


title: nvme_get_log_predictable_lat_event(2)

text:
# nvme_get_log_predictable_lat_event(2)

## NAME
nvme_get_log_predictable_lat_event - Retrieve Predictable Latency Event Aggregate Log Page

## SYNOPSIS
int nvme_get_log_predictable_lat_event (int fd , bool rae , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

offset

Offset into the predictable latency event

len

Length of provided user buffer to hold the log data in bytes

log

User address for log page data

## 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_predictable_lat_nvmset(2)

summary: Predictable Latency Per NVM Set

text:
# nvme_get_log_predictable_lat_nvmset(2)

## NAME
nvme_get_log_predictable_lat_nvmset - Predictable Latency Per NVM Set

## SYNOPSIS
int nvme_get_log_predictable_lat_nvmset (int fd , __u16 nvmsetid , struct nvme_nvmset_predictable_lat_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

nvmsetid

NVM set id

log

User address to store the predictable latency 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_pull_model_ddc_req(2)

summary: Retrieve Pull Model DDC Request Log

text:
# nvme_get_log_pull_model_ddc_req(2)

## NAME
nvme_get_log_pull_model_ddc_req - Retrieve Pull Model DDC Request Log

## SYNOPSIS
int nvme_get_log_pull_model_ddc_req (int fd , bool rae , __u32 len , struct nvme_pull_model_ddc_req_log *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 log page

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


summary: Retrieve Reachability Associations Log

text:
# nvme_get_log_reachability_associations(2)

## NAME
nvme_get_log_reachability_associations - Retrieve Reachability Associations Log

## SYNOPSIS
int nvme_get_log_reachability_associations (int fd , bool rao , bool rae , __u32 len , struct nvme_reachability_associations_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

rao

Return associations only

rae

Retain asynchronous events

len

The allocated length of the log page

log

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


title: nvme_get_log_reachability_groups(2)

summary: Retrieve Reachability Groups Log

text:
# nvme_get_log_reachability_groups(2)

## NAME
nvme_get_log_reachability_groups - Retrieve Reachability Groups Log

## SYNOPSIS
int nvme_get_log_reachability_groups (int fd , bool rgo , bool rae , __u32 len , struct nvme_reachability_groups_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

rgo

Return groups only

rae

Retain asynchronous events

len

The allocated length of the log page

log

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


summary: Get reclaim unit handle usage

text:
# nvme_get_log_reclaim_unit_handle_usage(2)

## NAME
nvme_get_log_reclaim_unit_handle_usage - Get reclaim unit handle usage

## SYNOPSIS
int nvme_get_log_reclaim_unit_handle_usage (int fd , __u16 egid , __u32 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

egid

Endurance group identifier

offset

Offset into log page

len

Length (in bytes) of provided user buffer to hold the log data

log

Log page data buffer


title: nvme_get_log_reservation(2)

summary: Retrieve Reservation Notification

text:
# nvme_get_log_reservation(2)

## NAME
nvme_get_log_reservation - Retrieve Reservation Notification

## SYNOPSIS
int nvme_get_log_reservation (int fd , bool rae , struct nvme_resv_notification_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

User address to store the reservation 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_rotational_media_info(2)

text:
# nvme_get_log_rotational_media_info(2)

## NAME
nvme_get_log_rotational_media_info - Retrieve Rotational Media Information Log

## SYNOPSIS
int nvme_get_log_rotational_media_info (int fd , __u16 endgid , __u32 len , struct nvme_rotational_media_info_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

endgid

Endurance Group Identifier

len

The allocated length of the log page

log

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


title: nvme_get_log_sanitize(2)

summary: Retrieve Sanitize Status

text:
# nvme_get_log_sanitize(2)

## NAME
nvme_get_log_sanitize - Retrieve Sanitize Status

## SYNOPSIS
int nvme_get_log_sanitize (int fd , bool rae , struct nvme_sanitize_log_page *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

User address to store the sanitize log

## DESCRIPTION
The Sanitize Status log page reports sanitize operation time estimates and information about the most recent sanitize operation.

## 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_smart(2)

summary: Retrieve nvme smart log

text:
# nvme_get_log_smart(2)

## NAME
nvme_get_log_smart - Retrieve nvme smart log

## SYNOPSIS
int nvme_get_log_smart (int fd , __u32 nsid , bool rae , struct nvme_smart_log *smart_log );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Optional namespace identifier

rae

Retain asynchronous events

smart_log

User address to store the smart log

## DESCRIPTION
This log page provides SMART and general health information. The information provided is over the life of the controller and is retained across power cycles. To request the controller log page, the namespace identifier specified is FFFFFFFFh. The controller may also support requesting the log page on a per namespace basis, as indicated by bit 0 of the LPA field in the Identify Controller data 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_support_cap_config_list(2)

text:
# nvme_get_log_support_cap_config_list(2)

## NAME
nvme_get_log_support_cap_config_list - Retrieve Supported Capacity Configuration List

## SYNOPSIS
int nvme_get_log_support_cap_config_list (int fd , __u16 domid , struct nvme_supported_cap_config_list_log *cap );

## ARGUMENTS
fd

File descriptor of nvme device

domid

Domain Identifier selection, if supported

cap

User address to store supported capabilities config list

## 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_supported_log_pages(2)

summary: Retrieve nmve supported log pages

text:
# nvme_get_log_supported_log_pages(2)

## NAME
nvme_get_log_supported_log_pages - Retrieve nmve supported log pages

## SYNOPSIS
int nvme_get_log_supported_log_pages (int fd , bool rae , struct nvme_supported_log_pages *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

log

Array of LID supported and Effects data structures

## 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_telemetry_ctrl(2)

text:
# nvme_get_log_telemetry_ctrl(2)

## NAME
nvme_get_log_telemetry_ctrl - Get Telemetry Controller-Initiated log page

## SYNOPSIS
int nvme_get_log_telemetry_ctrl (int fd , bool rae , __u64 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

rae

Retain asynchronous events

offset

Offset into the telemetry data

len

Length of provided user buffer to hold the log data in bytes

log

User address for log page data

## DESCRIPTION
Retrieves the Telemetry Controller-Initiated log page at the requested offset using the previously existing capture.

## 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_telemetry_host(2)

summary: Get Telemetry Host-Initiated log page

text:
# nvme_get_log_telemetry_host(2)

## NAME
nvme_get_log_telemetry_host - Get Telemetry Host-Initiated log page

## SYNOPSIS
int nvme_get_log_telemetry_host (int fd , __u64 offset , __u32 len , void *log );

## ARGUMENTS
fd

File descriptor of nvme device

offset

Offset into the telemetry data

len

Length of provided user buffer to hold the log data in bytes

log

User address for log page data

## DESCRIPTION
Retrieves the Telemetry Host-Initiated log page at the requested offset using the previously existing capture.

## 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_zns_changed_zones(2)

text:
# nvme_get_log_zns_changed_zones(2)

## NAME
nvme_get_log_zns_changed_zones - Retrieve list of zones that have changed

## SYNOPSIS
int nvme_get_log_zns_changed_zones (int fd , __u32 nsid , bool rae , struct nvme_zns_changed_zone_log *log );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

rae

Retain asynchronous events

log

User address to store the changed zone log

## DESCRIPTION
The list of zones that have changed state due to an exceptional event.

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


title: nvme_get_logging_level(2)

summary: Get current logging level

text:
# nvme_get_logging_level(2)

## NAME
nvme_get_logging_level - Get current logging level

## SYNOPSIS
int nvme_get_logging_level (nvme_root_t r , bool *log_pid , bool *log_tstamp );

## ARGUMENTS
r

nvme_root_t context

log_pid

Pointer to store a current value of logging of the PID flag at (optional).

log_tstamp

Pointer to store a current value of logging of the timestamp flag at (optional).

## DESCRIPTION
Retrieves current values of logging variables.

## RETURN
current log level value or DEFAULT_LOGLEVEL if not initialized.


title: nvme_get_logical_block_size(2)

summary: Retrieve block size

text:
# nvme_get_logical_block_size(2)

## NAME
nvme_get_logical_block_size - Retrieve block size

## SYNOPSIS
int nvme_get_logical_block_size (int fd , __u32 nsid , int *blksize );

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace id

blksize

Pointer to where the block size 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_new_host_telemetry(2)

summary: Get new host telemetry log

text:
# nvme_get_new_host_telemetry(2)

## NAME
nvme_get_new_host_telemetry - Get new host telemetry log

## SYNOPSIS
int nvme_get_new_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_ns_attr(2)

summary: Read namespace sysfs attribute

text:
# nvme_get_ns_attr(2)

## NAME
nvme_get_ns_attr - Read namespace sysfs attribute

## SYNOPSIS
char * nvme_get_ns_attr (nvme_ns_t n , const char *attr );

## ARGUMENTS
n

nvme_ns_t object

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_nsid(2)

text:
# nvme_get_nsid(2)

## NAME
nvme_get_nsid - Retrieve the NSID from a namespace file descriptor

## SYNOPSIS
int nvme_get_nsid (int fd , __u32 *nsid );

## ARGUMENTS
fd

File descriptor of nvme namespace

nsid

User pointer to namespace id

## DESCRIPTION
This should only be sent to namespace handles, not to controllers. The kernel's interface returns the nsid as the return value. This is unfortunate for many architectures that are incapable of allowing distinguishing a namespace id > 0x80000000 from a negative error number.

## RETURN
0 if nsid was set successfully or -1 with errno set otherwise.


title: nvme_get_path_attr(2)

summary: Read path sysfs attribute

text:
# nvme_get_path_attr(2)

## NAME
nvme_get_path_attr - Read path sysfs attribute

## SYNOPSIS
char * nvme_get_path_attr (nvme_path_t p , const char *attr );

## ARGUMENTS
p

nvme_path_t object

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_property(2)

summary: Get a controller property

text:
# nvme_get_property(2)

## NAME
nvme_get_property - Get a controller property

## SYNOPSIS
int nvme_get_property (struct nvme_get_property_args *args );

## ARGUMENTS
args

struct nvme_get_propert_args argument structure

## DESCRIPTION
This is an NVMe-over-Fabrics specific command, not applicable to PCIe. These properties align to the PCI MMIO controller registers.

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


title: nvme_get_property_args(2)

summary: Arguments for NVMe Get Property command

text:
# nvme_get_property_args(2)

## NAME
struct nvme_get_property_args - Arguments for NVMe Get Property command

## SYNOPSIS
struct nvme_get_property_args {

__u64 *value;

int args_size;

int fd;

__u32 timeout;

int offset;

};

## Members
value

Where the property's value will be stored on success

args_size

Size of struct nvme_get_property_args

fd

File descriptor of nvme device

timeout

Timeout in ms

offset

Property offset from the base to retrieve


title: nvme_get_subsys_attr(2)

summary: Read subsystem sysfs attribute

text:
# nvme_get_subsys_attr(2)

## NAME
nvme_get_subsys_attr - Read subsystem sysfs attribute

## SYNOPSIS
char * nvme_get_subsys_attr (nvme_subsystem_t s , const char *attr );

## ARGUMENTS
s

nvme_subsystem_t object

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_telemetry_log(2)

summary: Get specified telemetry log

text:
# nvme_get_telemetry_log(2)

## NAME
nvme_get_telemetry_log - Get specified telemetry log

## SYNOPSIS
int nvme_get_telemetry_log (int fd , bool create , bool ctrl , bool rae , size_t max_data_tx , enum nvme_telemetry_da da , struct nvme_telemetry_log **log , size_t *size );

## ARGUMENTS
fd

File descriptor of nvme device

create

Generate new host initated telemetry capture

ctrl

Get controller Initiated log

rae

Retain asynchronous events

max_data_tx

Set the max data transfer size to be used retrieving telemetry.

da

Log page data area, valid values: enum nvme_telemetry_da.

log

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

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_telemetry_max(2)

summary: Get telemetry limits

text:
# nvme_get_telemetry_max(2)

## NAME
nvme_get_telemetry_max - Get telemetry limits

## SYNOPSIS
int nvme_get_telemetry_max (int fd , enum nvme_telemetry_da *da , size_t *max_data_tx );

## ARGUMENTS
fd

File descriptor of nvme device

da

On success return max supported data area

max_data_tx

On success set to max transfer chunk supported by the controller

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


title: nvme_hmac_alg(2)

summary: HMAC algorithm

text:
# nvme_hmac_alg(2)

## NAME
enum nvme_hmac_alg - HMAC algorithm

## SYNOPSIS
enum nvme_hmac_alg {

NVME_HMAC_ALG_NONE ,

NVME_HMAC_ALG_SHA2_256 ,

NVME_HMAC_ALG_SHA2_384 ,

NVME_HMAC_ALG_SHA2_512

};

## Constants
NVME_HMAC_ALG_NONE

No HMAC algorithm

NVME_HMAC_ALG_SHA2_256

SHA2-256

NVME_HMAC_ALG_SHA2_384

SHA2-384

NVME_HMAC_ALG_SHA2_512

SHA2-512


title: nvme_host_behavior_support(2)

summary: Enable Advanced Command

text:
# nvme_host_behavior_support(2)

## NAME
enum nvme_host_behavior_support - Enable Advanced Command

## SYNOPSIS
enum nvme_host_behavior_support {

NVME_ENABLE_ACRE

};

## Constants
NVME_ENABLE_ACRE

Enable Advanced Command Retry Enable


title: nvme_host_discover_log(2)

summary: Host Discovery Log

text:
# nvme_host_discover_log(2)

## NAME
struct nvme_host_discover_log - Host Discovery Log

## SYNOPSIS
struct nvme_host_discover_log {

__le64 genctr;

__le64 numrec;

__le16 recfmt;

__u8 hdlpf;

__u8 rsvd19;

__le32 thdlpl;

__u8 rsvd24[1000];

struct nvme_host_ext_discover_log hedlpe[];

};

## Members
genctr

Generation Counter

numrec

Number of Records

recfmt

Record Format

hdlpf

Host Discovery Log Page Flags

rsvd19

Reserved

thdlpl

Total Host Discovery Log Page Length

rsvd24

Reserved

hedlpe

Host Extended Discovery Log Page Entry List


title: nvme_host_ext_discover_log(2)

summary: Host Extended Discovery Log

text:
# nvme_host_ext_discover_log(2)

## NAME
struct nvme_host_ext_discover_log - Host Extended Discovery Log

## SYNOPSIS
struct nvme_host_ext_discover_log {

__u8 trtype;

__u8 adrfam;

__u8 rsvd2[8];

__le16 eflags;

__u8 rsvd12[244];

char hostnqn[NVME_NQN_LENGTH];

char traddr[NVMF_TRADDR_SIZE];

union nvmf_tsas tsas;

__le32 tel;

__le16 numexat;

__u8 rsvd1030[2];

struct nvmf_ext_attr exat[];

};

## Members
trtype

Transport Type

adrfam

Address Family

rsvd2

Reserved

eflags

Entry Flags

rsvd12

Reserved

hostnqn

Host NVMe Qualified Name

traddr

Transport Address

tsas

Transport Specific Address Subtype

tel

Total Entry Length

numexat

Number of Extended Attributes

rsvd1030

Reserved

exat

Extended Attributes List


title: nvme_host_get_dhchap_key(2)

summary: Return host key

text:
# nvme_host_get_dhchap_key(2)

## NAME
nvme_host_get_dhchap_key - Return host key

## SYNOPSIS
const char * nvme_host_get_dhchap_key (nvme_host_t h );

## ARGUMENTS
h

Host for which the key should be returned

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


title: nvme_host_get_hostid(2)

summary: Host ID of an nvme_host_t object

text:
# nvme_host_get_hostid(2)

## NAME
nvme_host_get_hostid - Host ID of an nvme_host_t object

## SYNOPSIS
const char * nvme_host_get_hostid (nvme_host_t h );

## ARGUMENTS
h

nvme_host_t object

## RETURN
Host ID of h


title: nvme_host_get_hostnqn(2)

summary: Host NQN of an nvme_host_t object

text:
# nvme_host_get_hostnqn(2)

## NAME
nvme_host_get_hostnqn - Host NQN of an nvme_host_t object

## SYNOPSIS
const char * nvme_host_get_hostnqn (nvme_host_t h );

## ARGUMENTS
h

nvme_host_t object

## RETURN
Host NQN of h


title: nvme_host_get_hostsymname(2)

summary: Get the host's symbolic name

text:
# nvme_host_get_hostsymname(2)

## NAME
nvme_host_get_hostsymname - Get the host's symbolic name

## SYNOPSIS
const char * nvme_host_get_hostsymname (nvme_host_t h );

## ARGUMENTS
h

Host for which the symbolic name should be returned.

## RETURN
The symbolic name or NULL if a symbolic name hasn't been configure.


title: nvme_host_get_root(2)

summary: Returns nvme_root_t object

text:
# nvme_host_get_root(2)

## NAME
nvme_host_get_root - Returns nvme_root_t object

## SYNOPSIS
nvme_root_t nvme_host_get_root (nvme_host_t h );

## ARGUMENTS
h

nvme_host_t object

## RETURN
nvme_root_t object from h


title: nvme_host_is_pdc_enabled(2)

text:
# nvme_host_is_pdc_enabled(2)

## NAME
nvme_host_is_pdc_enabled - Is Persistenct Discovery Controller enabled

## SYNOPSIS
bool nvme_host_is_pdc_enabled (nvme_host_t h , bool fallback );

## ARGUMENTS
h

Host which to check if PDC is enabled

fallback

The fallback default value of the flag when nvme_host_set_pdc_enabled has not be used to set the flag.

## RETURN
true if PDC is enabled for h, else false


title: nvme_host_mem_buf_attrs(2)

text:
# nvme_host_mem_buf_attrs(2)

## NAME
struct nvme_host_mem_buf_attrs - Host Memory Buffer - Attributes Data Structure

## SYNOPSIS
struct nvme_host_mem_buf_attrs {

__le32 hsize;

__le32 hmdlal;

__le32 hmdlau;

__le32 hmdlec;

__u8 rsvd16[4080];

};

## Members
hsize

Host Memory Buffer Size

hmdlal

Host Memory Descriptor List Lower Address

hmdlau

Host Memory Descriptor List Upper Address

hmdlec

Host Memory Descriptor List Entry Count

rsvd16

Reserved


title: nvme_host_metadata(2)

summary: Host Metadata Data Structure

text:
# nvme_host_metadata(2)

## NAME
struct nvme_host_metadata - Host Metadata Data Structure

## SYNOPSIS
struct nvme_host_metadata {

__u8 ndesc;

__u8 rsvd1;

union {

struct nvme_metadata_element_desc descs[0];

__u8 descs_buf[4094];

};

};

## Members
ndesc

Number of metadata element descriptors

rsvd1

Reserved

{unnamed_union}

anonymous

descs

Metadata element descriptors

descs_buf

Metadata element descriptor buffer


title: nvme_host_release_fds(2)

text:
# nvme_host_release_fds(2)

## NAME
nvme_host_release_fds - Close all opened file descriptors under host

## SYNOPSIS
void nvme_host_release_fds (struct nvme_host *h );

## ARGUMENTS
h

nvme_host_t object

## DESCRIPTION
Controller and Namespace objects cache the file descriptors of opened nvme devices. This API can be used to close and clear all cached fds under this host.


title: nvme_host_set_dhchap_key(2)

summary: set host key

text:
# nvme_host_set_dhchap_key(2)

## NAME
nvme_host_set_dhchap_key - set host key

## SYNOPSIS
void nvme_host_set_dhchap_key (nvme_host_t h , const char *key );

## ARGUMENTS
h

Host for which the key should be set

key

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


title: nvme_host_set_hostsymname(2)

summary: Set the host's symbolic name

text:
# nvme_host_set_hostsymname(2)

## NAME
nvme_host_set_hostsymname - Set the host's symbolic name

## SYNOPSIS
void nvme_host_set_hostsymname (nvme_host_t h , const char *hostsymname );

## ARGUMENTS
h

Host for which the symbolic name should be set.

hostsymname

Symbolic name


title: nvme_host_set_pdc_enabled(2)

text:
# nvme_host_set_pdc_enabled(2)

## NAME
nvme_host_set_pdc_enabled - Set Persistent Discovery Controller flag

## SYNOPSIS
void nvme_host_set_pdc_enabled (nvme_host_t h , bool enabled );

## ARGUMENTS
h

Host for which the falg should be set

enabled

The bool to set the enabled flag

## DESCRIPTION
When nvme_host_set_pdc_enabled is not used to set the PDC flag, nvme_host_is_pdc_enabled will return the default value which was passed into the function and not the undefined flag value.


title: nvme_id_ctrl(2)

summary: Identify Controller data structure

text:
# nvme_id_ctrl(2)

## NAME
struct nvme_id_ctrl - Identify Controller data structure

## SYNOPSIS
struct nvme_id_ctrl {

__le16 vid;

__le16 ssvid;

char sn[20];

char mn[40];

char fr[8];

__u8 rab;

__u8 ieee[3];

__u8 cmic;

__u8 mdts;

__le16 cntlid;

__le32 ver;

__le32 rtd3r;

__le32 rtd3e;

__le32 oaes;

__le32 ctratt;

__le16 rrls;

__u8 bpcap;

__u8 rsvd103;

__le32 nssl;

__u8 rsvd108[2];

__u8 plsi;

__u8 cntrltype;

__u8 fguid[16];

__le16 crdt1;

__le16 crdt2;

__le16 crdt3;

__u8 crcap;

__u8 rsvd135[118];

__u8 nvmsr;

__u8 vwci;

__u8 mec;

__le16 oacs;

__u8 acl;

__u8 aerl;

__u8 frmw;

__u8 lpa;

__u8 elpe;

__u8 npss;

__u8 avscc;

__u8 apsta;

__le16 wctemp;

__le16 cctemp;

__le16 mtfa;

__le32 hmpre;

__le32 hmmin;

__u8 tnvmcap[16];

__u8 unvmcap[16];

__le32 rpmbs;

__le16 edstt;

__u8 dsto;

__u8 fwug;

__le16 kas;

__le16 hctma;

__le16 mntmt;

__le16 mxtmt;

__le32 sanicap;

__le32 hmminds;

__le16 hmmaxd;

__le16 nsetidmax;

__le16 endgidmax;

__u8 anatt;

__u8 anacap;

__le32 anagrpmax;

__le32 nanagrpid;

__le32 pels;

__le16 domainid;

__u8 kpioc;

__u8 rsvd359;

__le16 mptfawr;

__u8 rsvd362[6];

__u8 megcap[16];

__u8 tmpthha;

__u8 rsvd385;

__le16 cqt;

__u8 rsvd388[124];

__u8 sqes;

__u8 cqes;

__le16 maxcmd;

__le32 nn;

__le16 oncs;

__le16 fuses;

__u8 fna;

__u8 vwc;

__le16 awun;

__le16 awupf;

__u8 icsvscc;

__u8 nwpc;

__le16 acwu;

__le16 ocfs;

__le32 sgls;

__le32 mnan;

__u8 maxdna[16];

__le32 maxcna;

__le32 oaqd;

__u8 rhiri;

__u8 hirt;

__le16 cmmrtd;

__le16 nmmrtd;

__u8 minmrtg;

__u8 maxmrtg;

__u8 trattr;

__u8 rsvd577;

__le16 mcudmq;

__le16 mnsudmq;

__le16 mcmr;

__le16 nmcmr;

__le16 mcdqpc;

__u8 rsvd588[180];

char subnqn[NVME_NQN_LENGTH];

__u8 rsvd1024[768];

__le32 ioccsz;

__le32 iorcsz;

__le16 icdoff;

__u8 fcatt;

__u8 msdbd;

__le16 ofcs;

__u8 dctype;

__u8 rsvd1807[241];

struct nvme_id_psd psd[32];

__u8 vs[1024];

};

## Members
vid

PCI Vendor ID, the company vendor identifier that is assigned by the PCI SIG.

ssvid

PCI Subsystem Vendor ID, the company vendor identifier that is assigned by the PCI SIG for the subsystem.

sn

Serial Number in ASCII

mn

Model Number in ASCII

fr

Firmware Revision in ASCII, the currently active firmware revision for the NVM subsystem

rab

Recommended Arbitration Burst, reported as a power of two

ieee

IEEE assigned Organization Unique Identifier

cmic

Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem. See enum nvme_id_ctrl_cmic.

mdts

Max Data Transfer Size is the largest data transfer size. The host should not submit a command that exceeds this maximum data transfer size. The value is in units of the minimum memory page size (CAP.MPSMIN) and is reported as a power of two

cntlid

Controller ID, the NVM subsystem unique controller identifier associated with the controller.

ver

Version, this field contains the value reported in the Version register, or property (see enum nvme_registers NVME_REG_VS).

rtd3r

RTD3 Resume Latency, the expected latency in microseconds to resume from Runtime D3

rtd3e

RTD3 Exit Latency, the typical latency in microseconds to enter Runtime D3.

oaes

Optional Async Events Supported, see enum nvme_id_ctrl_oaes.

ctratt

Controller Attributes, see enum nvme_id_ctrl_ctratt.

rrls

Read Recovery Levels. If a bit is set, then the corresponding Read Recovery Level is supported. If a bit is cleared, then the corresponding Read Recovery Level is not supported.

bpcap

Boot Partition Capabilities, see enum nvme_id_ctrl_bpcap.

rsvd103

Reserved

nssl

NVM Subsystem Shutdown Latency (NSSL). This field indicates the typical latency in microseconds for an NVM Subsystem Shutdown to complete.

rsvd108

Reserved

plsi

Power Loss Signaling Information (PLSI), see enum nvme_id_ctrl_plsi

cntrltype

Controller Type, see enum nvme_id_ctrl_cntrltype

fguid

FRU GUID, a 128-bit value that is globally unique for a given Field Replaceable Unit

crdt1

Controller Retry Delay time in 100 millisecond units if CQE CRD field is 1

crdt2

Controller Retry Delay time in 100 millisecond units if CQE CRD field is 2

crdt3

Controller Retry Delay time in 100 millisecond units if CQE CRD field is 3

crcap

Controller Reachability Capabilities (CRCAP), see enum nvme_id_ctrl_crcap

rsvd135

Reserved

nvmsr

NVM Subsystem Report, see enum nvme_id_ctrl_nvmsr

vwci

VPD Write Cycle Information, see enum nvme_id_ctrl_vwci

mec

Management Endpoint Capabilities, see enum nvme_id_ctrl_mec

oacs

Optional Admin Command Support,the optional Admin commands and features supported by the controller, see enum nvme_id_ctrl_oacs.

acl

Abort Command Limit, the maximum number of concurrently executing Abort commands supported by the controller. This is a 0's based value.

aerl

Async Event Request Limit, the maximum number of concurrently outstanding Asynchronous Event Request commands supported by the controller This is a 0's based value.

frmw

Firmware Updates indicates capabilities regarding firmware updates. See enum nvme_id_ctrl_frmw.

lpa

Log Page Attributes, see enum nvme_id_ctrl_lpa.

elpe

Error Log Page Entries, the maximum number of Error Information log entries that are stored by the controller. This field is a 0's based value.

npss

Number of Power States Supported, the number of NVM Express power states supported by the controller, indicating the number of valid entries in struct nvme_id_ctrl.psd. This is a 0's based value.

avscc

Admin Vendor Specific Command Configuration, see enum nvme_id_ctrl_avscc.

apsta

Autonomous Power State Transition Attributes, see enum nvme_id_ctrl_apsta.

wctemp

Warning Composite Temperature Threshold indicates the minimum Composite Temperature field value (see struct nvme_smart_log.critical_comp_time) that indicates an overheating condition during which controller operation continues.

cctemp

Critical Composite Temperature Threshold, field indicates the minimum Composite Temperature field value (see struct nvme_smart_log.critical_comp_time) that indicates a critical overheating condition.

mtfa

Maximum Time for Firmware Activation indicates the maximum time the controller temporarily stops processing commands to activate the firmware image, specified in 100 millisecond units. This field is always valid if the controller supports firmware activation without a reset.

hmpre

Host Memory Buffer Preferred Size indicates the preferred size that the host is requested to allocate for the Host Memory Buffer feature in 4 KiB units.

hmmin

Host Memory Buffer Minimum Size indicates the minimum size that the host is requested to allocate for the Host Memory Buffer feature in 4 KiB units.

tnvmcap

Total NVM Capacity, the total NVM capacity in the NVM subsystem. The value is in bytes.

unvmcap

Unallocated NVM Capacity, the unallocated NVM capacity in the NVM subsystem. The value is in bytes.

rpmbs

Replay Protected Memory Block Support, see enum nvme_id_ctrl_rpmbs.

edstt

Extended Device Self-test Time, if Device Self-test command is supported (see struct nvme_id_ctrl.oacs, NVME_CTRL_OACS_SELF_TEST), then this field indicates the nominal amount of time in one minute units that the controller takes to complete an extended device self-test operation when in power state 0.

dsto

Device Self-test Options, see enum nvme_id_ctrl_dsto.

fwug

Firmware Update Granularity indicates the granularity and alignment requirement of the firmware image being updated by the Firmware Image Download command. The value is reported in 4 KiB units. A value of 0h indicates no information on granularity is provided. A value of FFh indicates no restriction

kas

Keep Alive Support indicates the granularity of the Keep Alive Timer in 100 millisecond units.

hctma

Host Controlled Thermal Management Attributes, see enum nvme_id_ctrl_hctm.

mntmt

Minimum Thermal Management Temperature indicates the minimum temperature, in degrees Kelvin, that the host may request in the Thermal Management Temperature 1 field and Thermal Management Temperature 2 field of a Set Features command with the Feature Identifier field set to NVME_FEAT_FID_HCTM.

mxtmt

Maximum Thermal Management Temperature indicates the maximum temperature, in degrees Kelvin, that the host may request in the Thermal Management Temperature 1 field and Thermal Management Temperature 2 field of the Set Features command with the Feature Identifier set to NVME_FEAT_FID_HCTM.

sanicap

Sanitize Capabilities, see enum nvme_id_ctrl_sanicap

hmminds

Host Memory Buffer Minimum Descriptor Entry Size indicates the minimum usable size of a Host Memory Buffer Descriptor Entry in 4 KiB units.

hmmaxd

Host Memory Maximum Descriptors Entries indicates the number of usable Host Memory Buffer Descriptor Entries.

nsetidmax

NVM Set Identifier Maximum, defines the maximum value of a valid NVM Set Identifier for any controller in the NVM subsystem.

endgidmax

Endurance Group Identifier Maximum, defines the maximum value of a valid Endurance Group Identifier for any controller in the NVM subsystem.

anatt

ANA Transition Time indicates the maximum amount of time, in seconds, for a transition between ANA states or the maximum amount of time, in seconds, that the controller reports the ANA change state.

anacap

Asymmetric Namespace Access Capabilities, see enum nvme_id_ctrl_anacap.

anagrpmax

ANA Group Identifier Maximum indicates the maximum value of a valid ANA Group Identifier for any controller in the NVM subsystem.

nanagrpid

Number of ANA Group Identifiers indicates the number of ANA groups supported by this controller.

pels

Persistent Event Log Size indicates the maximum reportable size for the Persistent Event Log.

domainid

Domain Identifier indicates the identifier of the domain that contains this controller.

kpioc

Key Per I/O Capabilities (KPIOC), see enum nvme_id_ctrl_kpioc

rsvd359

Reserved

mptfawr

Maximum Processing Time for Firmware Activation Without Reset (MPTFAWR). This field shall indicate the estimated maximum time in 100 ms units required by the controller to process a Firmware Commit command that specifies a value of 011b in the Commit Action field

rsvd362

Reserved

megcap

Max Endurance Group Capacity indicates the maximum capacity of a single Endurance Group.

tmpthha

Temperature Threshold Hysteresis Attributes

rsvd385

Reserved

cqt

Command Quiesce Time (CQT). his field indicates the expected worst-case time in 1 millisecond units for the controller to quiesce all outstanding commands after a Keep Alive Timeout or other communication loss.

rsvd388

Reserved

sqes

Submission Queue Entry Size, see enum nvme_id_ctrl_sqes.

cqes

Completion Queue Entry Size, see enum nvme_id_ctrl_cqes.

maxcmd

Maximum Outstanding Commands indicates the maximum number of commands that the controller processes at one time for a particular queue.

nn

Number of Namespaces indicates the maximum value of a valid nsid for the NVM subsystem. If the MNAN (struct nvme_id_ctrl.mnan field is cleared to 0h, then this field also indicates the maximum number of namespaces supported by the NVM subsystem.

oncs

Optional NVM Command Support, see enum nvme_id_ctrl_oncs.

fuses

Fused Operation Support, see enum nvme_id_ctrl_fuses.

fna

Format NVM Attributes, see enum nvme_id_ctrl_fna.

vwc

Volatile Write Cache, see enum nvme_id_ctrl_vwc.

awun

Atomic Write Unit Normal indicates the size of the write operation guaranteed to be written atomically to the NVM across all namespaces with any supported namespace format during normal operation. This field is specified in logical blocks and is a 0's based value.

awupf

Atomic Write Unit Power Fail indicates the size of the write operation guaranteed to be written atomically to the NVM across all namespaces with any supported namespace format during a power fail or error condition. This field is specified in logical blocks and is a 0’s based value.

icsvscc

NVM Vendor Specific Command Configuration, see enum nvme_id_ctrl_nvscc.

nwpc

Namespace Write Protection Capabilities, see enum nvme_id_ctrl_nwpc.

acwu

Atomic Compare & Write Unit indicates the size of the write operation guaranteed to be written atomically to the NVM across all namespaces with any supported namespace format for a Compare and Write fused operation. This field is specified in logical blocks and is a 0’s based value.

ocfs

Optional Copy Formats Supported, each bit n means controller supports Copy Format n.

sgls

SGL Support, see enum nvme_id_ctrl_sgls

mnan

Maximum Number of Allowed Namespaces indicates the maximum number of namespaces supported by the NVM subsystem.

maxdna

Maximum Domain Namespace Attachments indicates the maximum of the sum of the number of namespaces attached to each I/O controller in the Domain.

maxcna

Maximum I/O Controller Namespace Attachments indicates the maximum number of namespaces that are allowed to be attached to this I/O controller.

oaqd

Optimal Aggregated Queue Depth indicates the recommended maximum total number of outstanding I/O commands across all I/O queues on the controller for optimal operation.

rhiri

Recommended Host-Initiated Refresh Interval (RHIRI). If the Host-Initiated Refresh capability is supported, then this field indicates the recommended time interval in days from last power down to the time at which the host should initiate the Host-Initiated Refresh operation. If this field is cleared to 0h, then this field is not reported.

hirt

Host-Initiated Refresh Time (HIRT). If the Host-Initiated Refresh capability is supported, then this field indicates the nominal amount of time in minutes that the controller takes to complete the Host-Initiated Refresh operation. If this field is cleared to 0h, then this field is not reported.

cmmrtd

Controller Maximum Memory Range Tracking Descriptors indicates the maximum number of Memory Range Tracking Descriptors the controller supports.

nmmrtd

NVM Subsystem Maximum Memory Range Tracking Descriptors indicates the maximum number of Memory Range Tracking Descriptors the NVM subsystem supports.

minmrtg

Minimum Memory Range Tracking Granularity indicates the minimum value supported in the Requested Memory Range Tracking Granularity (RMRTG) field of the Track Memory Ranges data structure.

maxmrtg

Maximum Memory Range Tracking Granularity indicates the maximum value supported in the Requested Memory Range Tracking Granularity (RMRTG) field of the Track Memory Ranges data structure.

trattr

Tracking Attributes indicates supported attributes for the Track Send command and Track Receive command. see enum nvme_id_ctrl_trattr

rsvd577

Reserved

mcudmq

Maximum Controller User Data Migration Queues indicates the maximum number of User Data Migration Queues supported by the controller.

mnsudmq

Maximum NVM Subsystem User Data Migration Queues indicates the maximum number of User Data Migration Queues supported by the NVM subsystem.

mcmr

Maximum CDQ Memory Ranges indicates the maximum number of memory ranges allowed to be specified by the PRP1 field of a Controller Data Queue command.

nmcmr

NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum number of memory ranges for all Controller Data Queues in the NVM subsystem.

mcdqpc

Maximum Controller Data Queue PRP Count indicates the maximum number of PRPs allowed to be specified in the PRP list in the Controller Data Queue command.

rsvd588

Reserved

subnqn

NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string

rsvd1024

Reserved

ioccsz

I/O Queue Command Capsule Supported Size, defines the maximum I/O command capsule size in 16 byte units.

iorcsz

I/O Queue Response Capsule Supported Size, defines the maximum I/O response capsule size in 16 byte units.

icdoff

In Capsule Data Offset, defines the offset where data starts within a capsule. This value is applicable to I/O Queues only.

fcatt

Fabrics Controller Attributes, see enum nvme_id_ctrl_fcatt.

msdbd

Maximum SGL Data Block Descriptors indicates the maximum number of SGL Data Block or Keyed SGL Data Block descriptors that a host is allowed to place in a capsule. A value of 0h indicates no limit.

ofcs

Optional Fabric Commands Support, see enum nvme_id_ctrl_ofcs.

dctype

Discovery Controller Type (DCTYPE). This field indicates what type of Discovery controller the controller is (see enum nvme_id_ctrl_dctype)

rsvd1807

Reserved

psd

Power State Descriptors, see struct nvme_id_psd.

vs

Vendor Specific


title: nvme_id_ctrl_anacap(2)

text:
# nvme_id_ctrl_anacap(2)

## NAME
enum nvme_id_ctrl_anacap - This field indicates the capabilities associated with Asymmetric Namespace Access Reporting.

## SYNOPSIS
enum nvme_id_ctrl_anacap {

NVME_CTRL_ANACAP_OPT ,

NVME_CTRL_ANACAP_NON_OPT ,

NVME_CTRL_ANACAP_INACCESSIBLE ,

NVME_CTRL_ANACAP_PERSISTENT_LOSS ,

NVME_CTRL_ANACAP_CHANGE ,

NVME_CTRL_ANACAP_GRPID_NO_CHG ,

NVME_CTRL_ANACAP_GRPID_MGMT

};

## Constants
NVME_CTRL_ANACAP_OPT

If set, then the controller is able to report ANA Optimized state.

NVME_CTRL_ANACAP_NON_OPT

If set, then the controller is able to report ANA Non-Optimized state.

NVME_CTRL_ANACAP_INACCESSIBLE

If set, then the controller is able to report ANA Inaccessible state.

NVME_CTRL_ANACAP_PERSISTENT_LOSS

If set, then the controller is able to report ANA Persistent Loss state.

NVME_CTRL_ANACAP_CHANGE

If set, then the controller is able to report ANA Change state.

NVME_CTRL_ANACAP_GRPID_NO_CHG

If set, then the ANAGRPID field in the Identify Namespace data structure (struct nvme_id_ns.anagrpid), does not change while the namespace is attached to any controller.

NVME_CTRL_ANACAP_GRPID_MGMT

If set, then the controller supports a non-zero value in the ANAGRPID field of the Namespace Management command.


title: nvme_id_ctrl_apsta(2)

text:
# nvme_id_ctrl_apsta(2)

## NAME
enum nvme_id_ctrl_apsta - Flags indicating the attributes of the autonomous power state transition feature.

## SYNOPSIS
enum nvme_id_ctrl_apsta {

NVME_CTRL_APSTA_APST

};

## Constants
NVME_CTRL_APSTA_APST

If set, then the controller supports autonomous power state transitions.


title: nvme_id_ctrl_avscc(2)

text:
# nvme_id_ctrl_avscc(2)

## NAME
enum nvme_id_ctrl_avscc - Flags indicating the configuration settings for Admin Vendor Specific command handling.

## SYNOPSIS
enum nvme_id_ctrl_avscc {

NVME_CTRL_AVSCC_AVS

};

## Constants
NVME_CTRL_AVSCC_AVS

If set, all Admin Vendor Specific Commands use the optional vendor specific command format with NDT and NDM fields.


title: nvme_id_ctrl_bpcap(2)

summary: Boot Partition Capabilities

text:
# nvme_id_ctrl_bpcap(2)

## NAME
enum nvme_id_ctrl_bpcap - Boot Partition Capabilities

## SYNOPSIS
enum nvme_id_ctrl_bpcap {

NVME_CTRL_BACAP_RPMBBPWPS_SHIFT ,

NVME_CTRL_BACAP_SFBPWPS_SHIFT ,

NVME_CTRL_BACAP_RPMBBPWPS_MASK ,

NVME_CTRL_BACAP_SFBPWPS_MASK ,

NVME_CTRL_BACAP_RPMBBPWPS_NOT_SPECIFIED ,

NVME_CTRL_BACAP_RPMBBPWPS_NOT_SUPPORTED ,

NVME_CTRL_BACAP_RPMBBPWPS_SUPPORTED

};

## Constants
NVME_CTRL_BACAP_RPMBBPWPS_SHIFT

Shift amount to get the RPMB Boot Partition Write Protection Support from the struct nvme_id_ctrl.bpcap field.

NVME_CTRL_BACAP_SFBPWPS_SHIFT

Shift amount to get the Set Features Boot Partition Write Protection Support from the struct nvme_id_ctrl.bpcap field.

NVME_CTRL_BACAP_RPMBBPWPS_MASK

Mask to get the RPMB Boot Partition Write Protection Support from the struct nvme_id_ctrl.bpcap field.

NVME_CTRL_BACAP_SFBPWPS_MASK

Mask to get the Set Features Boot Partition Write Protection Support from the struct nvme_id_ctrl.bpcap field.

NVME_CTRL_BACAP_RPMBBPWPS_NOT_SPECIFIED

Support for RPMB Boot Partition Write Protection is not specified.

NVME_CTRL_BACAP_RPMBBPWPS_NOT_SUPPORTED

RPMB Boot Partition Write Protection is not supported by this controller.

NVME_CTRL_BACAP_RPMBBPWPS_SUPPORTED

RPMB Boot Partition Write Protection is supported by this controller.


title: nvme_id_ctrl_cmic(2)

text:
# nvme_id_ctrl_cmic(2)

## NAME
enum nvme_id_ctrl_cmic - Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem.

## SYNOPSIS
enum nvme_id_ctrl_cmic {

NVME_CTRL_CMIC_MULTI_PORT ,

NVME_CTRL_CMIC_MULTI_CTRL ,

NVME_CTRL_CMIC_MULTI_SRIOV ,

NVME_CTRL_CMIC_MULTI_ANA_REPORTING

};

## Constants
NVME_CTRL_CMIC_MULTI_PORT

If set, then the NVM subsystem may contain more than one NVM subsystem port, otherwise the NVM subsystem contains only a single NVM subsystem port.

NVME_CTRL_CMIC_MULTI_CTRL

If set, then the NVM subsystem may contain two or more controllers, otherwise the NVM subsystem contains only a single controller. An NVM subsystem that contains multiple controllers may be used by multiple hosts, or may provide multiple paths for a single host.

NVME_CTRL_CMIC_MULTI_SRIOV

If set, then the controller is associated with an SR-IOV Virtual Function, otherwise it is associated with a PCI Function or a Fabrics connection.

NVME_CTRL_CMIC_MULTI_ANA_REPORTING

If set, then the NVM subsystem supports Asymmetric Namespace Access Reporting.


title: nvme_id_ctrl_cntrltype(2)

summary: Controller types

text:
# nvme_id_ctrl_cntrltype(2)

## NAME
enum nvme_id_ctrl_cntrltype - Controller types

## SYNOPSIS
enum nvme_id_ctrl_cntrltype {

NVME_CTRL_CNTRLTYPE_IO ,

NVME_CTRL_CNTRLTYPE_DISCOVERY ,

NVME_CTRL_CNTRLTYPE_ADMIN

};

## Constants
NVME_CTRL_CNTRLTYPE_IO

NVM I/O controller

NVME_CTRL_CNTRLTYPE_DISCOVERY

Discovery controller

NVME_CTRL_CNTRLTYPE_ADMIN

Admin controller


title: nvme_id_ctrl_cqes(2)

text:
# nvme_id_ctrl_cqes(2)

## NAME
enum nvme_id_ctrl_cqes - Defines the required and maximum Completion Queue entry size when using the NVM Command Set.

## SYNOPSIS
enum nvme_id_ctrl_cqes {

NVME_CTRL_CQES_MIN ,

NVME_CTRL_CQES_MAX

};

## Constants
NVME_CTRL_CQES_MIN

Mask to get the value of the required Completion Queue Entry size when using the NVM Command Set.

NVME_CTRL_CQES_MAX

Mask to get the value of the maximum Completion Queue entry size when using the NVM Command Set.


title: nvme_id_ctrl_crcap(2)

summary: Power Loss Signaling Information

text:
# nvme_id_ctrl_crcap(2)

## NAME
enum nvme_id_ctrl_crcap - Power Loss Signaling Information

## SYNOPSIS
enum nvme_id_ctrl_crcap {

NVME_CTRL_CRCAP_RRSUP_SHIFT ,

NVME_CTRL_CRCAP_RGIDC_SHIFT ,

NVME_CTRL_CRCAP_RRSUP_MASK ,

NVME_CTRL_CRCAP_RGIDC_MASK

};

## Constants
NVME_CTRL_CRCAP_RRSUP_SHIFT

Shift amount to get the Reachability Reporting Supported from the struct nvme_id_ctrl.crcap field.

NVME_CTRL_CRCAP_RGIDC_SHIFT

Shift amount to get the Reachability Group ID Changeable from the struct nvme_id_ctrl.crcap field.

NVME_CTRL_CRCAP_RRSUP_MASK

Mask to get the Reachability Reporting Supported from the struct nvme_id_ctrl.crcap field.

NVME_CTRL_CRCAP_RGIDC_MASK

Mask to get the Reachability Group ID Changeable from the struct nvme_id_ctrl.crcap field.


title: nvme_id_ctrl_ctratt(2)

summary: Controller attributes

text:
# nvme_id_ctrl_ctratt(2)

## NAME
enum nvme_id_ctrl_ctratt - Controller attributes

## SYNOPSIS
enum nvme_id_ctrl_ctratt {

NVME_CTRL_CTRATT_128_ID ,

NVME_CTRL_CTRATT_NON_OP_PSP ,

NVME_CTRL_CTRATT_NVM_SETS ,

NVME_CTRL_CTRATT_READ_RECV_LVLS ,

NVME_CTRL_CTRATT_ENDURANCE_GROUPS ,

NVME_CTRL_CTRATT_PREDICTABLE_LAT ,

NVME_CTRL_CTRATT_TBKAS ,

NVME_CTRL_CTRATT_NAMESPACE_GRANULARITY ,

NVME_CTRL_CTRATT_SQ_ASSOCIATIONS ,

NVME_CTRL_CTRATT_UUID_LIST ,

NVME_CTRL_CTRATT_MDS ,

NVME_CTRL_CTRATT_FIXED_CAP ,

NVME_CTRL_CTRATT_VARIABLE_CAP ,

NVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPS ,

NVME_CTRL_CTRATT_DEL_NVM_SETS ,

NVME_CTRL_CTRATT_ELBAS ,

NVME_CTRL_CTRATT_MEM ,

NVME_CTRL_CTRATT_HMBR ,

NVME_CTRL_CTRATT_RHII ,

NVME_CTRL_CTRATT_FDPS

};

## Constants
NVME_CTRL_CTRATT_128_ID

128-bit Host Identifier supported

NVME_CTRL_CTRATT_NON_OP_PSP

Non-Operational Poser State Permissive Mode supported

NVME_CTRL_CTRATT_NVM_SETS

NVM Sets supported

NVME_CTRL_CTRATT_READ_RECV_LVLS

Read Recovery Levels supported

NVME_CTRL_CTRATT_ENDURANCE_GROUPS

Endurance Groups supported

NVME_CTRL_CTRATT_PREDICTABLE_LAT

Predictable Latency Mode supported

NVME_CTRL_CTRATT_TBKAS

Traffic Based Keep Alive Support

NVME_CTRL_CTRATT_NAMESPACE_GRANULARITY

Namespace Granularity reporting supported

NVME_CTRL_CTRATT_SQ_ASSOCIATIONS

SQ Associations supported

NVME_CTRL_CTRATT_UUID_LIST

UUID List reporting supported

NVME_CTRL_CTRATT_MDS

Multi-Domain Subsystem supported

NVME_CTRL_CTRATT_FIXED_CAP

Fixed Capacity Management supported

NVME_CTRL_CTRATT_VARIABLE_CAP

Variable Capacity Management supported

NVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPS

Delete Endurance Groups supported

NVME_CTRL_CTRATT_DEL_NVM_SETS

Delete NVM Sets supported

NVME_CTRL_CTRATT_ELBAS

Extended LBA Formats supported

NVME_CTRL_CTRATT_MEM

MDTS and Size Limits Exclude Metadata supported

NVME_CTRL_CTRATT_HMBR

HMB Restrict Non-Operational Power State Access

NVME_CTRL_CTRATT_RHII

Reservations and Host Identifier Interaction

NVME_CTRL_CTRATT_FDPS

Flexible Data Placement supported


title: nvme_id_ctrl_dctype(2)

summary: Discovery Controller types

text:
# nvme_id_ctrl_dctype(2)

## NAME
enum nvme_id_ctrl_dctype - Discovery Controller types

## SYNOPSIS
enum nvme_id_ctrl_dctype {

NVME_CTRL_DCTYPE_NOT_REPORTED ,

NVME_CTRL_DCTYPE_DDC ,

NVME_CTRL_DCTYPE_CDC

};

## Constants
NVME_CTRL_DCTYPE_NOT_REPORTED

Not reported (I/O, Admin, and pre-TP8010)

NVME_CTRL_DCTYPE_DDC

Direct Discovery controller

NVME_CTRL_DCTYPE_CDC

Central Discovery controller


title: nvme_id_ctrl_dsto(2)

text:
# nvme_id_ctrl_dsto(2)

## NAME
enum nvme_id_ctrl_dsto - Flags indicating the optional Device Self-test command or operation behaviors supported by the controller or NVM subsystem.

## SYNOPSIS
enum nvme_id_ctrl_dsto {

NVME_CTRL_DSTO_SDSO_SHIFT ,

NVME_CTRL_DSTO_HIRS_SHIFT ,

NVME_CTRL_DSTO_SDSO_MASK ,

NVME_CTRL_DSTO_HIRS_MASK ,

NVME_CTRL_DSTO_ONE_DST ,

NVME_CTRL_DSTO_HIRS

};

## Constants
NVME_CTRL_DSTO_SDSO_SHIFT

Shift amount to get the value of Single Device Self-test Operation from Device Self-test Options field.

NVME_CTRL_DSTO_HIRS_SHIFT

Shift amount to get the value of Host-Initiated Refresh Support from Device Self-test Options field.

NVME_CTRL_DSTO_SDSO_MASK

Mask to get the value of Single Device Self-test Operation

NVME_CTRL_DSTO_HIRS_MASK

Mask to get the value of Host-Initiated Refresh Support

NVME_CTRL_DSTO_ONE_DST

If set, then the NVM subsystem supports only one device self-test operation in progress at a time. If cleared, then the NVM subsystem supports one device self-test operation per controller at a time.

NVME_CTRL_DSTO_HIRS

If set, then the controller supports the Host-Initiated Refresh capability.


title: nvme_id_ctrl_fcatt(2)

text:
# nvme_id_ctrl_fcatt(2)

## NAME
enum nvme_id_ctrl_fcatt - This field indicates attributes of the controller that are specific to NVMe over Fabrics.

## SYNOPSIS
enum nvme_id_ctrl_fcatt {

NVME_CTRL_FCATT_DYNAMIC

};

## Constants
NVME_CTRL_FCATT_DYNAMIC

If cleared, then the NVM subsystem uses a dynamic controller model. If set, then the NVM subsystem uses a static controller model.


title: nvme_id_ctrl_fna(2)

text:
# nvme_id_ctrl_fna(2)

## NAME
enum nvme_id_ctrl_fna - This field indicates attributes for the Format NVM command.

## SYNOPSIS
enum nvme_id_ctrl_fna {

NVME_CTRL_FNA_FMT_ALL_NS_SHIFT ,

NVME_CTRL_FNA_SEC_ALL_NS_SHIFT ,

NVME_CTRL_FNA_CES_SHIFT ,

NVME_CTRL_FNA_NSID_ALL_F_SHIFT ,

NVME_CTRL_FNA_FMT_ALL_NS_MASK ,

NVME_CTRL_FNA_SEC_ALL_NS_MASK ,

NVME_CTRL_FNA_CES_MASK ,

NVME_CTRL_FNA_NSID_ALL_F_MASK ,

NVME_CTRL_FNA_FMT_ALL_NAMESPACES ,

NVME_CTRL_FNA_SEC_ALL_NAMESPACES ,

NVME_CTRL_FNA_CRYPTO_ERASE ,

NVME_CTRL_FNA_NSID_FFFFFFFF

};

## Constants
NVME_CTRL_FNA_FMT_ALL_NS_SHIFT

Shift amount to get the format applied to all namespaces

NVME_CTRL_FNA_SEC_ALL_NS_SHIFT

Shift amount to get the secure erase applied to all namespaces

NVME_CTRL_FNA_CES_SHIFT

Shift amount to get the cryptographic erase supported

NVME_CTRL_FNA_NSID_ALL_F_SHIFT

Shift amount to get the format supported an NSID FFFFFFFFh

NVME_CTRL_FNA_FMT_ALL_NS_MASK

Mask to get the format applied to all namespaces

NVME_CTRL_FNA_SEC_ALL_NS_MASK

Mask to get the secure erase applied to all namespaces

NVME_CTRL_FNA_CES_MASK

Mask to get the cryptographic erase supported

NVME_CTRL_FNA_NSID_ALL_F_MASK

Mask to get the format supported an NSID FFFFFFFFh

NVME_CTRL_FNA_FMT_ALL_NAMESPACES

If set, then all namespaces in an NVM subsystem shall be configured with the same attributes and a format (excluding secure erase) of any namespace results in a format of all namespaces in an NVM subsystem. If cleared, then the controller supports format on a per namespace basis.

NVME_CTRL_FNA_SEC_ALL_NAMESPACES

If set, then any secure erase performed as part of a format operation results in a secure erase of all namespaces in the NVM subsystem. If cleared, then any secure erase performed as part of a format results in a secure erase of the particular namespace specified.

NVME_CTRL_FNA_CRYPTO_ERASE

If set, then cryptographic erase is supported. If cleared, then cryptographic erase is not supported.

NVME_CTRL_FNA_NSID_FFFFFFFF

If set, then format does not support nsid value set to FFFFFFFFh. If cleared, format supports nsid value set to FFFFFFFFh.


title: nvme_id_ctrl_frmw(2)

text:
# nvme_id_ctrl_frmw(2)

## NAME
enum nvme_id_ctrl_frmw - Flags and values indicates capabilities regarding firmware updates from &struct nvme_id_ctrl.frmw.

## SYNOPSIS
enum nvme_id_ctrl_frmw {

NVME_CTRL_FRMW_1ST_RO ,

NVME_CTRL_FRMW_NR_SLOTS ,

NVME_CTRL_FRMW_FW_ACT_NO_RESET ,

NVME_CTRL_FRMW_MP_UP_DETECTION

};

## Constants
NVME_CTRL_FRMW_1ST_RO

If set, the first firmware slot is readonly

NVME_CTRL_FRMW_NR_SLOTS

Mask to get the value of the number of firmware slots that the controller supports.

NVME_CTRL_FRMW_FW_ACT_NO_RESET

If set, the controller supports firmware activation without a reset.

NVME_CTRL_FRMW_MP_UP_DETECTION

If set, the controller is able to detect overlapping firmware/boot partition image update.


title: nvme_id_ctrl_fuses(2)

text:
# nvme_id_ctrl_fuses(2)

## NAME
enum nvme_id_ctrl_fuses - This field indicates the fused operations that the controller supports.

## SYNOPSIS
enum nvme_id_ctrl_fuses {

NVME_CTRL_FUSES_COMPARE_AND_WRITE

};

## Constants
NVME_CTRL_FUSES_COMPARE_AND_WRITE

If set, then the controller supports the Compare and Write fused operation.


title: nvme_id_ctrl_hctm(2)

text:
# nvme_id_ctrl_hctm(2)

## NAME
enum nvme_id_ctrl_hctm - Flags indicate the attributes of the host controlled thermal management feature

## SYNOPSIS
enum nvme_id_ctrl_hctm {

NVME_CTRL_HCTMA_HCTM

};

## Constants
NVME_CTRL_HCTMA_HCTM

then the controller supports host controlled thermal management, and the Set Features command and Get Features command with the Feature Identifier field set to NVME_FEAT_FID_HCTM.


title: nvme_id_ctrl_kpioc(2)

summary: Key Per I/O Capabilities

text:
# nvme_id_ctrl_kpioc(2)

## NAME
enum nvme_id_ctrl_kpioc - Key Per I/O Capabilities

## SYNOPSIS
enum nvme_id_ctrl_kpioc {

NVME_CTRL_KPIOC_KPIOS_SHIFT ,

NVME_CTRL_KPIOC_KPIOSC_SHIFT ,

NVME_CTRL_KPIOC_KPIOS_MASK ,

NVME_CTRL_KPIOC_KPIOSC_MASK

};

## Constants
NVME_CTRL_KPIOC_KPIOS_SHIFT

Shift amount to get the Key Per I/O Supported from the struct nvme_id_ctrl.kpioc field.

NVME_CTRL_KPIOC_KPIOSC_SHIFT

Shift amount to get the Key Per I/O Scope from the struct nvme_id_ctrl.kpioc field.

NVME_CTRL_KPIOC_KPIOS_MASK

Mask to get the Key Per I/O Supported from the struct nvme_id_ctrl.kpioc field.

NVME_CTRL_KPIOC_KPIOSC_MASK

Mask to get the Key Per I/O Scope from the struct nvme_id_ctrl.kpioc field.


title: nvme_id_ctrl_lpa(2)

text:
# nvme_id_ctrl_lpa(2)

## NAME
enum nvme_id_ctrl_lpa - Flags indicating optional attributes for log pages that are accessed via the Get Log Page command.

## SYNOPSIS
enum nvme_id_ctrl_lpa {

NVME_CTRL_LPA_SMART_PER_NS ,

NVME_CTRL_LPA_CMD_EFFECTS ,

NVME_CTRL_LPA_EXTENDED ,

NVME_CTRL_LPA_TELEMETRY ,

NVME_CTRL_LPA_PERSETENT_EVENT ,

NVME_CTRL_LPA_LI0_LI5_LI12_LI13 ,

NVME_CTRL_LPA_DA4_TELEMETRY

};

## Constants
NVME_CTRL_LPA_SMART_PER_NS

If set, controller supports SMART/Health log page on a per namespace basis.

NVME_CTRL_LPA_CMD_EFFECTS

If Set, the controller supports the commands supported and effects log page.

NVME_CTRL_LPA_EXTENDED

If set, the controller supports extended data for log page command including extended number of dwords and log page offset fields.

NVME_CTRL_LPA_TELEMETRY

If set, the controller supports the telemetry host-initiated and telemetry controller-initiated log pages and sending telemetry log notices.

NVME_CTRL_LPA_PERSETENT_EVENT

If set, the controller supports persistent event log.

NVME_CTRL_LPA_LI0_LI5_LI12_LI13

If set, the controller supports - log pages log page. - returning scope of each command in commands supported and effects log page. - feature identifiers supported and effects log page. - NVMe-MI commands supported and effects log page.

NVME_CTRL_LPA_DA4_TELEMETRY

If set, the controller supports data area 4 for telemetry host-initiated and telemetry.


title: nvme_id_ctrl_mec(2)

text:
# nvme_id_ctrl_mec(2)

## NAME
enum nvme_id_ctrl_mec - Flags indicating the capabilities of the Management Endpoint in the Controller, &struct nvme_id_ctrl.mec.

## SYNOPSIS
enum nvme_id_ctrl_mec {

NVME_CTRL_MEC_SMBUSME ,

NVME_CTRL_MEC_PCIEME

};

## Constants
NVME_CTRL_MEC_SMBUSME

If set, then the NVM Subsystem contains a Management Endpoint on an SMBus/I2C port.

NVME_CTRL_MEC_PCIEME

If set, then the NVM Subsystem contains a Management Endpoint on a PCIe port.


title: nvme_id_ctrl_nvm(2)

text:
# nvme_id_ctrl_nvm(2)

## NAME
struct nvme_id_ctrl_nvm - I/O Command Set Specific Identify Controller data structure

## SYNOPSIS
struct nvme_id_ctrl_nvm {

__u8 vsl;

__u8 wzsl;

__u8 wusl;

__u8 dmrl;

__le32 dmrsl;

__le64 dmsl;

__u8 kpiocap;

__u8 wzdsl;

__le16 aocs;

__le32 ver;

__u8 lbamqf;

__u8 rsvd25[4071];

};

## Members
vsl

Verify Size Limit

wzsl

Write Zeroes Size Limit

wusl

Write Uncorrectable Size Limit

dmrl

Dataset Management Ranges Limit

dmrsl

Dataset Management Range Size Limit

dmsl

Dataset Management Size Limit

kpiocap

Key Per I/O Capabilities

wzdsl

Write Zeroes With Deallocate Size Limit

aocs

Admin Optional Command Support

ver

Version

lbamqf

LBA Migration Queue Format

rsvd25

Reserved


title: nvme_id_ctrl_nvm_lbamqf(2)

summary: LBA Migration Queue Format

text:
# nvme_id_ctrl_nvm_lbamqf(2)

## NAME
enum nvme_id_ctrl_nvm_lbamqf - LBA Migration Queue Format

## SYNOPSIS
enum nvme_id_ctrl_nvm_lbamqf {

NVME_ID_CTRL_NVM_LBAMQF_TYPE_0 ,

NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MIN ,

NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MAX

};

## Constants
NVME_ID_CTRL_NVM_LBAMQF_TYPE_0

NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MIN

NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MAX


title: nvme_id_ctrl_nvmsr(2)

text:
# nvme_id_ctrl_nvmsr(2)

## NAME
enum nvme_id_ctrl_nvmsr - This field reports information associated with the NVM Subsystem, see &struct nvme_id_ctrl.nvmsr.

## SYNOPSIS
enum nvme_id_ctrl_nvmsr {

NVME_CTRL_NVMSR_NVMESD ,

NVME_CTRL_NVMSR_NVMEE

};

## Constants
NVME_CTRL_NVMSR_NVMESD

If set, then the NVM Subsystem is part of an NVMe Storage Device; if cleared, then the NVM Subsystem is not part of an NVMe Storage Device.

NVME_CTRL_NVMSR_NVMEE

If set, then the NVM Subsystem is part of an NVMe Enclosure; if cleared, then the NVM Subsystem is not part of an NVMe Enclosure.


title: nvme_id_ctrl_nvscc(2)

text:
# nvme_id_ctrl_nvscc(2)

## NAME
enum nvme_id_ctrl_nvscc - This field indicates the configuration settings for NVM Vendor Specific command handling.

## SYNOPSIS
enum nvme_id_ctrl_nvscc {

NVME_CTRL_NVSCC_FMT

};

## Constants
NVME_CTRL_NVSCC_FMT

If set, all NVM Vendor Specific Commands use the format with NDT and NDM fields.


title: nvme_id_ctrl_nwpc(2)

text:
# nvme_id_ctrl_nwpc(2)

## NAME
enum nvme_id_ctrl_nwpc - This field indicates the optional namespace write protection capabilities supported by the controller.

## SYNOPSIS
enum nvme_id_ctrl_nwpc {

NVME_CTRL_NWPC_WRITE_PROTECT ,

NVME_CTRL_NWPC_WRITE_PROTECT_POWER_CYCLE ,

NVME_CTRL_NWPC_WRITE_PROTECT_PERMANENT

};

## Constants
NVME_CTRL_NWPC_WRITE_PROTECT

If set, then the controller shall support the No Write Protect and Write Protect namespace write protection states and may support the Write Protect Until Power Cycle state and Permanent Write Protect namespace write protection states.

NVME_CTRL_NWPC_WRITE_PROTECT_POWER_CYCLE

If set, then the controller supports the Write Protect Until Power Cycle state.

NVME_CTRL_NWPC_WRITE_PROTECT_PERMANENT

If set, then the controller supports the Permanent Write Protect state.