title: nvme_ave_discover_log_entry(2)

summary: AVE Discovery Log Entry

text:
# nvme_ave_discover_log_entry(2)

## NAME
struct nvme_ave_discover_log_entry - AVE Discovery Log Entry

## SYNOPSIS
struct nvme_ave_discover_log_entry {

__le32 tel;

char avenqn[224];

__u8 numatr;

__u8 rsvd229[3];

struct nvme_ave_tr_record atr[];

};

## Members
tel

Total Entry Length

avenqn

AVE NQN

numatr

Number of AVE Transport Records

rsvd229

Reserved

atr

AVE Transport Record List


package: libnvme-devel

title: nvme_ave_tr_record(2)

summary: AVE Transport Record

text:
# nvme_ave_tr_record(2)

## NAME
struct nvme_ave_tr_record - AVE Transport Record

## SYNOPSIS
struct nvme_ave_tr_record {

__u8 aveadrfam;

__u8 rsvd1;

__le16 avetrsvcid;

__u8 avetraddr[16];

};

## Members
aveadrfam

AVE Address Family

rsvd1

Reserved

avetrsvcid

AVE Transport Service Identifier

avetraddr

AVE Transport Address


title: nvme_boot_partition(2)

summary: Boot Partition Log

text:
# nvme_boot_partition(2)

## NAME
struct nvme_boot_partition - Boot Partition Log

## SYNOPSIS
struct nvme_boot_partition {

__u8 lid;

__u8 rsvd1[3];

__le32 bpinfo;

__u8 rsvd8[8];

__u8 boot_partition_data[];

};

## Members
lid

Boot Partition Identifier

rsvd1

Reserved

bpinfo

Boot Partition Information

rsvd8

Reserved

boot_partition_data

Contains the contents of the specified Boot Partition


title: nvme_boot_partition_info(2)

text:
# nvme_boot_partition_info(2)

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

## SYNOPSIS
enum nvme_boot_partition_info {

NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT ,

NVME_BOOT_PARTITION_INFO_ABPID_SHIFT ,

NVME_BOOT_PARTITION_INFO_BPSZ_MASK ,

NVME_BOOT_PARTITION_INFO_ABPID_MASK

};

## Constants
NVME_BOOT_PARTITION_INFO_BPSZ_SHIFT

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

NVME_BOOT_PARTITION_INFO_ABPID_SHIFT

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

NVME_BOOT_PARTITION_INFO_BPSZ_MASK

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

NVME_BOOT_PARTITION_INFO_ABPID_MASK

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


title: nvme_bpinfo(2)

text:
# nvme_bpinfo(2)

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

## SYNOPSIS
enum nvme_bpinfo {

NVME_BPINFO_BPSZ_SHIFT ,

NVME_BPINFO_BRS_SHIFT ,

NVME_BPINFO_ABPID_SHIFT ,

NVME_BPINFO_BPSZ_MASK ,

NVME_BPINFO_BRS_MASK ,

NVME_BPINFO_ABPID_MASK ,

NVME_BPINFO_BRS_NONE ,

NVME_BPINFO_BRS_READ_IN_PROGRESS ,

NVME_BPINFO_BRS_READ_SUCCESS ,

NVME_BPINFO_BRS_READ_ERROR

};

## Constants
NVME_BPINFO_BPSZ_SHIFT

Shift amount to get the boot partition size

NVME_BPINFO_BRS_SHIFT

Shift amount to get the boot read status

NVME_BPINFO_ABPID_SHIFT

Shift amount to get the active boot partition ID

NVME_BPINFO_BPSZ_MASK

Mask to get the boot partition size

NVME_BPINFO_BRS_MASK

Mask to get the boot read status

NVME_BPINFO_ABPID_MASK

Mask to get the active boot partition ID

NVME_BPINFO_BRS_NONE

No boot partition read operation requested

NVME_BPINFO_BRS_READ_IN_PROGRESS

Boot partition read in progress

NVME_BPINFO_BRS_READ_SUCCESS

Boot partition read completed successfully

NVME_BPINFO_BRS_READ_ERROR

Error completing boot partition read


title: nvme_bpmbl(2)

text:
# nvme_bpmbl(2)

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

## SYNOPSIS
enum nvme_bpmbl {

NVME_BPMBL_BMBBA_SHIFT

};

## Constants
NVME_BPMBL_BMBBA_SHIFT

Shift amount to get the boot partition memory buffer base address


title: nvme_bprsel(2)

text:
# nvme_bprsel(2)

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

## SYNOPSIS
enum nvme_bprsel {

NVME_BPRSEL_BPRSZ_SHIFT ,

NVME_BPRSEL_BPROF_SHIFT ,

NVME_BPRSEL_BPID_SHIFT ,

NVME_BPRSEL_BPRSZ_MASK ,

NVME_BPRSEL_BPROF_MASK ,

NVME_BPRSEL_BPID_MASK

};

## Constants
NVME_BPRSEL_BPRSZ_SHIFT

Shift amount to get the boot partition read size

NVME_BPRSEL_BPROF_SHIFT

Shift amount to get the boot partition read offset

NVME_BPRSEL_BPID_SHIFT

Shift amount to get the boot partition identifier

NVME_BPRSEL_BPRSZ_MASK

Mask to get the boot partition read size

NVME_BPRSEL_BPROF_MASK

Mask to get the boot partition read offset

NVME_BPRSEL_BPID_MASK

Mask to get the boot partition identifier


title: nvme_cap(2)

text:
# nvme_cap(2)

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

## SYNOPSIS
enum nvme_cap {

NVME_CAP_MQES_SHIFT ,

NVME_CAP_CQR_SHIFT ,

NVME_CAP_AMS_SHIFT ,

NVME_CAP_TO_SHIFT ,

NVME_CAP_DSTRD_SHIFT ,

NVME_CAP_NSSRC_SHIFT ,

NVME_CAP_CSS_SHIFT ,

NVME_CAP_BPS_SHIFT ,

NVME_CAP_CPS_SHIFT ,

NVME_CAP_MPSMIN_SHIFT ,

NVME_CAP_MPSMAX_SHIFT ,

NVME_CAP_PMRS_SHIFT ,

NVME_CAP_CMBS_SHIFT ,

NVME_CAP_NSSS_SHIFT ,

NVME_CAP_CRMS_SHIFT ,

NVME_CAP_MQES_MASK ,

NVME_CAP_CQR_MASK ,

NVME_CAP_AMS_MASK ,

NVME_CAP_TO_MASK ,

NVME_CAP_DSTRD_MASK ,

NVME_CAP_NSSRC_MASK ,

NVME_CAP_CSS_MASK ,

NVME_CAP_BPS_MASK ,

NVME_CAP_CPS_MASK ,

NVME_CAP_MPSMIN_MASK ,

NVME_CAP_MPSMAX_MASK ,

NVME_CAP_PMRS_MASK ,

NVME_CAP_CMBS_MASK ,

NVME_CAP_NSSS_MASK ,

NVME_CAP_CRMS_MASK ,

NVME_CAP_AMS_WRR ,

NVME_CAP_AMS_VS ,

NVME_CAP_CSS_NVM ,

NVME_CAP_CSS_CSI ,

NVME_CAP_CSS_ADMIN ,

NVME_CAP_CPS_NONE ,

NVME_CAP_CPS_CTRL ,

NVME_CAP_CPS_DOMAIN ,

NVME_CAP_CPS_NVMS ,

NVME_CAP_CRWMS ,

NVME_CAP_CRIMS

};

## Constants
NVME_CAP_MQES_SHIFT

Shift amount to get the maximum queue entries supported

NVME_CAP_CQR_SHIFT

Shift amount to get the contiguous queues required

NVME_CAP_AMS_SHIFT

Shift amount to get the arbitration mechanism supported

NVME_CAP_TO_SHIFT

Shift amount to get the timeout

NVME_CAP_DSTRD_SHIFT

Shift amount to get the doorbell stride

NVME_CAP_NSSRC_SHIFT

Shift amount to get the NVM subsystem reset supported

NVME_CAP_CSS_SHIFT

Shift amount to get the command sets supported

NVME_CAP_BPS_SHIFT

Shift amount to get the boot partition support

NVME_CAP_CPS_SHIFT

Shift amount to get the controller power scope

NVME_CAP_MPSMIN_SHIFT

Shift amount to get the memory page size minimum

NVME_CAP_MPSMAX_SHIFT

Shift amount to get the memory page size maximum

NVME_CAP_PMRS_SHIFT

Shift amount to get the persistent memory region supported

NVME_CAP_CMBS_SHIFT

Shift amount to get the controller memory buffer supported

NVME_CAP_NSSS_SHIFT

Shift amount to get the NVM subsystem shutdown supported

NVME_CAP_CRMS_SHIFT

Shift amount to get the controller ready modes supported

NVME_CAP_MQES_MASK

Mask to get the maximum queue entries supported

NVME_CAP_CQR_MASK

Mask to get the contiguous queues required

NVME_CAP_AMS_MASK

Mask to get the arbitration mechanism supported

NVME_CAP_TO_MASK

Mask to get the timeout

NVME_CAP_DSTRD_MASK

Mask to get the doorbell stride

NVME_CAP_NSSRC_MASK

Mask to get the NVM subsystem reset supported

NVME_CAP_CSS_MASK

Mask to get the command sets supported

NVME_CAP_BPS_MASK

Mask to get the boot partition support

NVME_CAP_CPS_MASK

Mask to get the controller power scope

NVME_CAP_MPSMIN_MASK

Mask to get the memory page size minimum

NVME_CAP_MPSMAX_MASK

Mask to get the memory page size maximum

NVME_CAP_PMRS_MASK

Mask to get the persistent memory region supported

NVME_CAP_CMBS_MASK

Mask to get the controller memory buffer supported

NVME_CAP_NSSS_MASK

Mask to get the NVM subsystem shutdown supported

NVME_CAP_CRMS_MASK

Mask to get the controller ready modes supported

NVME_CAP_AMS_WRR

Weighted round robin with urgent priority class

NVME_CAP_AMS_VS

Vendor specific

NVME_CAP_CSS_NVM

NVM command set or a discovery controller

NVME_CAP_CSS_CSI

Controller supports one or more I/O command sets

NVME_CAP_CSS_ADMIN

No I/O command set is supported

NVME_CAP_CPS_NONE

Not reported

NVME_CAP_CPS_CTRL

Controller scope

NVME_CAP_CPS_DOMAIN

Domain scope

NVME_CAP_CPS_NVMS

NVM subsystem scope

NVME_CAP_CRWMS

Controller ready with media support

NVME_CAP_CRIMS

Controller ready independent of media support


title: nvme_capacity_config_desc(2)

text:
# nvme_capacity_config_desc(2)

## NAME
struct nvme_capacity_config_desc - Capacity Configuration structure definitions

## SYNOPSIS
struct nvme_capacity_config_desc {

__le16 cap_config_id;

__le16 domainid;

__le16 egcn;

__u8 rsvd6[26];

struct nvme_end_grp_config_desc egcd[];

};

## Members
cap_config_id

Capacity Configuration Identifier

domainid

Domain Identifier

egcn

Number Endurance Group Configuration Descriptors

rsvd6

Reserved

egcd

Endurance Group Config descriptors. See struct nvme_end_grp_config_desc


title: nvme_capacity_mgmt(2)

summary: Capacity management command

text:
# nvme_capacity_mgmt(2)

## NAME
nvme_capacity_mgmt - Capacity management command

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

## ARGUMENTS
args

struct nvme_capacity_mgmt_args argument structure

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


title: nvme_cc(2)

text:
# nvme_cc(2)

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

## SYNOPSIS
enum nvme_cc {

NVME_CC_EN_SHIFT ,

NVME_CC_CSS_SHIFT ,

NVME_CC_MPS_SHIFT ,

NVME_CC_AMS_SHIFT ,

NVME_CC_SHN_SHIFT ,

NVME_CC_IOSQES_SHIFT ,

NVME_CC_IOCQES_SHIFT ,

NVME_CC_CRIME_SHIFT ,

NVME_CC_EN_MASK ,

NVME_CC_CSS_MASK ,

NVME_CC_MPS_MASK ,

NVME_CC_AMS_MASK ,

NVME_CC_SHN_MASK ,

NVME_CC_CRIME_MASK ,

NVME_CC_IOSQES_MASK ,

NVME_CC_IOCQES_MASK ,

NVME_CC_CSS_NVM ,

NVME_CC_CSS_CSI ,

NVME_CC_CSS_ADMIN ,

NVME_CC_AMS_RR ,

NVME_CC_AMS_WRRU ,

NVME_CC_AMS_VS ,

NVME_CC_SHN_NONE ,

NVME_CC_SHN_NORMAL ,

NVME_CC_SHN_ABRUPT ,

NVME_CC_CRWME ,

NVME_CC_CRIME

};

## Constants
NVME_CC_EN_SHIFT

Shift amount to get the enable

NVME_CC_CSS_SHIFT

Shift amount to get the I/O command set selected

NVME_CC_MPS_SHIFT

Shift amount to get the memory page size

NVME_CC_AMS_SHIFT

Shift amount to get the arbitration mechanism selected

NVME_CC_SHN_SHIFT

Shift amount to get the shutdown notification

NVME_CC_IOSQES_SHIFT

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

NVME_CC_IOCQES_SHIFT

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

NVME_CC_CRIME_SHIFT

Shift amount to get the controller ready independent of media enable

NVME_CC_EN_MASK

Mask to get the enable

NVME_CC_CSS_MASK

Mask to get the I/O command set selected

NVME_CC_MPS_MASK

Mask to get the memory page size

NVME_CC_AMS_MASK

Mask to get the arbitration mechanism selected

NVME_CC_SHN_MASK

Mask to get the shutdown notification

NVME_CC_CRIME_MASK

Mask to get the I/O submission queue entry size

NVME_CC_IOSQES_MASK

Mask to get the I/O completion queue entry size

NVME_CC_IOCQES_MASK

Mask to get the controller ready independent of media enable

NVME_CC_CSS_NVM

NVM command set

NVME_CC_CSS_CSI

All supported I/O command sets

NVME_CC_CSS_ADMIN

Admin command set only

NVME_CC_AMS_RR

Round robin

NVME_CC_AMS_WRRU

Weighted round robin with urgent priority class

NVME_CC_AMS_VS

Vendor specific

NVME_CC_SHN_NONE

No notification; no effect

NVME_CC_SHN_NORMAL

Normal shutdown notification

NVME_CC_SHN_ABRUPT

Abrupt shutdown notification

NVME_CC_CRWME

Controller ready with media enable

NVME_CC_CRIME

Controller ready independent of media enable


title: nvme_change_ns_event(2)

summary: Change Namespace Event Data

text:
# nvme_change_ns_event(2)

## NAME
struct nvme_change_ns_event - Change Namespace Event Data

## SYNOPSIS
struct nvme_change_ns_event {

__le32 nsmgt_cdw10;

__u8 rsvd4[4];

__le64 nsze;

__u8 rsvd16[8];

__le64 nscap;

__u8 flbas;

__u8 dps;

__u8 nmic;

__u8 rsvd35;

__le32 ana_grp_id;

__le16 nvmset_id;

__le16 rsvd42;

__le32 nsid;

};

## Members
nsmgt_cdw10

Namespace Management CDW10

rsvd4

Reserved

nsze

Namespace Size

rsvd16

Reserved

nscap

Namespace Capacity

flbas

Formatted LBA Size

dps

End-to-end Data Protection Type Settings

nmic

Namespace Multi-path I/O and Namespace Sharing Capabilities

rsvd35

Reserved

ana_grp_id

ANA Group Identifier

nvmset_id

NVM Set Identifier

rsvd42

Reserved

nsid

Namespace ID


title: nvme_channel_config_desc(2)

summary: Channel Configuration Descriptor

text:
# nvme_channel_config_desc(2)

## NAME
struct nvme_channel_config_desc - Channel Configuration Descriptor

## SYNOPSIS
struct nvme_channel_config_desc {

__le16 chanid;

__le16 chmus;

struct nvme_media_unit_config_desc mu_config_desc[];

};

## Members
chanid

Channel Identifier

chmus

Number Channel Media Units

mu_config_desc

Channel Unit config descriptors. See struct nvme_media_unit_config_desc


title: nvme_cmb_size(2)

text:
# nvme_cmb_size(2)

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

## SYNOPSIS
__u64 nvme_cmb_size (__u32 cmbsz );

## ARGUMENTS
cmbsz

Value from controller register NVME_REG_CMBSZ

## RETURN
size of controller memory buffer in bytes


title: nvme_cmbebs(2)

text:
# nvme_cmbebs(2)

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

## SYNOPSIS
enum nvme_cmbebs {

NVME_CMBEBS_CMBSZU_SHIFT ,

NVME_CMBEBS_RBB_SHIFT ,

NVME_CMBEBS_CMBWBZ_SHIFT ,

NVME_CMBEBS_CMBSZU_MASK ,

NVME_CMBEBS_RBB_MASK ,

NVME_CMBEBS_CMBWBZ_MASK ,

NVME_CMBEBS_CMBSZU_B ,

NVME_CMBEBS_CMBSZU_1K ,

NVME_CMBEBS_CMBSZU_1M ,

NVME_CMBEBS_CMBSZU_1G

};

## Constants
NVME_CMBEBS_CMBSZU_SHIFT

Shift amount to get the CMB elasticity buffer size units

NVME_CMBEBS_RBB_SHIFT

Shift amount to get the read bypass behavior

NVME_CMBEBS_CMBWBZ_SHIFT

Shift amount to get the CMB elasiticity buffer size base

NVME_CMBEBS_CMBSZU_MASK

Mask to get the CMB elasticity buffer size units

NVME_CMBEBS_RBB_MASK

Mask to get the read bypass behavior

NVME_CMBEBS_CMBWBZ_MASK

Mask to get the CMB elasiticity buffer size base

NVME_CMBEBS_CMBSZU_B

Bytes granularity

NVME_CMBEBS_CMBSZU_1K

1 KiB granularity

NVME_CMBEBS_CMBSZU_1M

1 MiB granularity

NVME_CMBEBS_CMBSZU_1G

1 GiB granularity


title: nvme_cmbloc(2)

text:
# nvme_cmbloc(2)

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

## SYNOPSIS
enum nvme_cmbloc {

NVME_CMBLOC_BIR_SHIFT ,

NVME_CMBLOC_CQMMS_SHIFT ,

NVME_CMBLOC_CQPDS_SHIFT ,

NVME_CMBLOC_CDPLMS_SHIFT ,

NVME_CMBLOC_CDPCILS_SHIFT ,

NVME_CMBLOC_CDMMMS_SHIFT ,

NVME_CMBLOC_CQDA_SHIFT ,

NVME_CMBLOC_OFST_SHIFT ,

NVME_CMBLOC_BIR_MASK ,

NVME_CMBLOC_CQMMS_MASK ,

NVME_CMBLOC_CQPDS_MASK ,

NVME_CMBLOC_CDPLMS_MASK ,

NVME_CMBLOC_CDPCILS_MASK ,

NVME_CMBLOC_CDMMMS_MASK ,

NVME_CMBLOC_CQDA_MASK ,

NVME_CMBLOC_OFST_MASK

};

## Constants
NVME_CMBLOC_BIR_SHIFT

Shift amount to get the base indicator register

NVME_CMBLOC_CQMMS_SHIFT

Shift amount to get the CMB queue mixed memory support

NVME_CMBLOC_CQPDS_SHIFT

Shift amount to get the CMB queue physically discontiguous support

NVME_CMBLOC_CDPLMS_SHIFT

Shift amount to get the CMB data pointer mixed locations support

NVME_CMBLOC_CDPCILS_SHIFT

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

NVME_CMBLOC_CDMMMS_SHIFT

Shift amount to get the CMB data metadata mixed memory support

NVME_CMBLOC_CQDA_SHIFT

Shift amount to get the CMB queue dword alignment

NVME_CMBLOC_OFST_SHIFT

Shift amount to get the offset

NVME_CMBLOC_BIR_MASK

Mask to get the base indicator register

NVME_CMBLOC_CQMMS_MASK

Mask to get the CMB queue mixed memory support

NVME_CMBLOC_CQPDS_MASK

Mask to get the CMB queue physically discontiguous support

NVME_CMBLOC_CDPLMS_MASK

Mask to get the CMB data pointer mixed locations support

NVME_CMBLOC_CDPCILS_MASK

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

NVME_CMBLOC_CDMMMS_MASK

Mask to get the CMB data metadata mixed memory support

NVME_CMBLOC_CQDA_MASK

Mask to get the CMB queue dword alignment

NVME_CMBLOC_OFST_MASK

Mask to get the offset


title: nvme_cmbmsc(2)

text:
# nvme_cmbmsc(2)

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

## SYNOPSIS
enum nvme_cmbmsc {

NVME_CMBMSC_CRE_SHIFT ,

NVME_CMBMSC_CMSE_SHIFT ,

NVME_CMBMSC_CBA_SHIFT ,

NVME_CMBMSC_CRE_MASK ,

NVME_CMBMSC_CMSE_MASK

};

## Constants
NVME_CMBMSC_CRE_SHIFT

Shift amount to get the capabilities registers enabled

NVME_CMBMSC_CMSE_SHIFT

Shift amount to get the controller memory space enable

NVME_CMBMSC_CBA_SHIFT

Shift amount to get the controller base address

NVME_CMBMSC_CRE_MASK

Mask to get the capabilities registers enabled

NVME_CMBMSC_CMSE_MASK

Mask to get the controller memory space enable


title: nvme_cmbsts(2)

text:
# nvme_cmbsts(2)

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

## SYNOPSIS
enum nvme_cmbsts {

NVME_CMBSTS_CBAI_SHIFT ,

NVME_CMBSTS_CBAI_MASK

};

## Constants
NVME_CMBSTS_CBAI_SHIFT

Shift amount to get the controller base address invalid

NVME_CMBSTS_CBAI_MASK

Mask to get the controller base address invalid


title: nvme_cmbswtp(2)

text:
# nvme_cmbswtp(2)

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

## SYNOPSIS
enum nvme_cmbswtp {

NVME_CMBSWTP_CMBSWTU_SHIFT ,

NVME_CMBSWTP_CMBSWTV_SHIFT ,

NVME_CMBSWTP_CMBSWTU_MASK ,

NVME_CMBSWTP_CMBSWTV_MASK ,

NVME_CMBSWTP_CMBSWTU_B ,

NVME_CMBSWTP_CMBSWTU_1K ,

NVME_CMBSWTP_CMBSWTU_1M ,

NVME_CMBSWTP_CMBSWTU_1G

};

## Constants
NVME_CMBSWTP_CMBSWTU_SHIFT

Shift amount to get the CMB sustained write throughput units

NVME_CMBSWTP_CMBSWTV_SHIFT

Shift amount to get the CMB sustained write throughput

NVME_CMBSWTP_CMBSWTU_MASK

Mask to get the CMB sustained write throughput units

NVME_CMBSWTP_CMBSWTV_MASK

Mask to get the CMB sustained write throughput

NVME_CMBSWTP_CMBSWTU_B

Bytes/second granularity

NVME_CMBSWTP_CMBSWTU_1K

1 KiB/second granularity

NVME_CMBSWTP_CMBSWTU_1M

1 MiB/second granularity

NVME_CMBSWTP_CMBSWTU_1G

1 GiB/second granularity


title: nvme_cmbsz(2)

text:
# nvme_cmbsz(2)

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

## SYNOPSIS
enum nvme_cmbsz {

NVME_CMBSZ_SQS_SHIFT ,

NVME_CMBSZ_CQS_SHIFT ,

NVME_CMBSZ_LISTS_SHIFT ,

NVME_CMBSZ_RDS_SHIFT ,

NVME_CMBSZ_WDS_SHIFT ,

NVME_CMBSZ_SZU_SHIFT ,

NVME_CMBSZ_SZ_SHIFT ,

NVME_CMBSZ_SQS_MASK ,

NVME_CMBSZ_CQS_MASK ,

NVME_CMBSZ_LISTS_MASK ,

NVME_CMBSZ_RDS_MASK ,

NVME_CMBSZ_WDS_MASK ,

NVME_CMBSZ_SZU_MASK ,

NVME_CMBSZ_SZ_MASK ,

NVME_CMBSZ_SZU_4K ,

NVME_CMBSZ_SZU_64K ,

NVME_CMBSZ_SZU_1M ,

NVME_CMBSZ_SZU_16M ,

NVME_CMBSZ_SZU_256M ,

NVME_CMBSZ_SZU_4G ,

NVME_CMBSZ_SZU_64G

};

## Constants
NVME_CMBSZ_SQS_SHIFT

Shift amount to get the submission queue support

NVME_CMBSZ_CQS_SHIFT

Shift amount to get the completion queue support

NVME_CMBSZ_LISTS_SHIFT

Shift amount to get the PLP SGL list support

NVME_CMBSZ_RDS_SHIFT

Shift amount to get the read data support

NVME_CMBSZ_WDS_SHIFT

Shift amount to get the write data support

NVME_CMBSZ_SZU_SHIFT

Shift amount to get the size units

NVME_CMBSZ_SZ_SHIFT

Shift amount to get the size

NVME_CMBSZ_SQS_MASK

Mask to get the submission queue support

NVME_CMBSZ_CQS_MASK

Mask to get the completion queue support

NVME_CMBSZ_LISTS_MASK

Mask to get the PLP SGL list support

NVME_CMBSZ_RDS_MASK

Mask to get the read data support

NVME_CMBSZ_WDS_MASK

Mask to get the write data support

NVME_CMBSZ_SZU_MASK

Mask to get the size units

NVME_CMBSZ_SZ_MASK

Mask to get the size

NVME_CMBSZ_SZU_4K

4 KiB

NVME_CMBSZ_SZU_64K

64 KiB

NVME_CMBSZ_SZU_1M

1 MiB

NVME_CMBSZ_SZU_16M

16 MiB

NVME_CMBSZ_SZU_256M

256 MiB

NVME_CMBSZ_SZU_4G

4 GiB

NVME_CMBSZ_SZU_64G

64 GiB


title: nvme_cmd_effects(2)

summary: Commands Supported and Effects

text:
# nvme_cmd_effects(2)

## NAME
enum nvme_cmd_effects - Commands Supported and Effects

## SYNOPSIS
enum nvme_cmd_effects {

NVME_CMD_EFFECTS_CSUPP ,

NVME_CMD_EFFECTS_LBCC ,

NVME_CMD_EFFECTS_NCC ,

NVME_CMD_EFFECTS_NIC ,

NVME_CMD_EFFECTS_CCC ,

NVME_CMD_EFFECTS_CSER_MASK ,

NVME_CMD_EFFECTS_CSE_MASK ,

NVME_CMD_EFFECTS_UUID_SEL

};

## Constants
NVME_CMD_EFFECTS_CSUPP

Command Supported

NVME_CMD_EFFECTS_LBCC

Logical Block Content Change

NVME_CMD_EFFECTS_NCC

Namespace Capability Change

NVME_CMD_EFFECTS_NIC

Namespace Inventory Change

NVME_CMD_EFFECTS_CCC

Controller Capability Change

NVME_CMD_EFFECTS_CSER_MASK

Command Submission and Execution Relaxations

NVME_CMD_EFFECTS_CSE_MASK

Command Submission and Execution

NVME_CMD_EFFECTS_UUID_SEL

UUID Selection Supported


title: nvme_cmd_effects_log(2)

summary: Commands Supported and Effects Log

text:
# nvme_cmd_effects_log(2)

## NAME
struct nvme_cmd_effects_log - Commands Supported and Effects Log

## SYNOPSIS
struct nvme_cmd_effects_log {

__le32 acs[256];

__le32 iocs[256];

__u8 rsvd[2048];

};

## Members
acs

Admin Command Supported

iocs

I/O Command Supported

rsvd

Reserved


title: nvme_cmd_format_mset(2)

summary: Format NVM - Metadata Settings

text:
# nvme_cmd_format_mset(2)

## NAME
enum nvme_cmd_format_mset - Format NVM - Metadata Settings

## SYNOPSIS
enum nvme_cmd_format_mset {

NVME_FORMAT_MSET_SEPARATE ,

NVME_FORMAT_MSET_EXTENDED

};

## Constants
NVME_FORMAT_MSET_SEPARATE

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

NVME_FORMAT_MSET_EXTENDED

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


title: nvme_cmd_format_pi(2)

summary: Format NVM - Protection Information

text:
# nvme_cmd_format_pi(2)

## NAME
enum nvme_cmd_format_pi - Format NVM - Protection Information

## SYNOPSIS
enum nvme_cmd_format_pi {

NVME_FORMAT_PI_DISABLE ,

NVME_FORMAT_PI_TYPE1 ,

NVME_FORMAT_PI_TYPE2 ,

NVME_FORMAT_PI_TYPE3

};

## Constants
NVME_FORMAT_PI_DISABLE

Protection information is not enabled.

NVME_FORMAT_PI_TYPE1

Protection information is enabled, Type 1.

NVME_FORMAT_PI_TYPE2

Protection information is enabled, Type 2.

NVME_FORMAT_PI_TYPE3

Protection information is enabled, Type 3.


title: nvme_cmd_format_pil(2)

text:
# nvme_cmd_format_pil(2)

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

## SYNOPSIS
enum nvme_cmd_format_pil {

NVME_FORMAT_PIL_LAST ,

NVME_FORMAT_PIL_FIRST

};

## Constants
NVME_FORMAT_PIL_LAST

Protection information is transferred as the last bytes of metadata.

NVME_FORMAT_PIL_FIRST

Protection information is transferred as the first bytes of metadata.


title: nvme_cmd_format_ses(2)

summary: Format NVM - Secure Erase Settings

text:
# nvme_cmd_format_ses(2)

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

## SYNOPSIS
enum nvme_cmd_format_ses {

NVME_FORMAT_SES_NONE ,

NVME_FORMAT_SES_USER_DATA_ERASE ,

NVME_FORMAT_SES_CRYPTO_ERASE

};

## Constants
NVME_FORMAT_SES_NONE

No secure erase operation requested.

NVME_FORMAT_SES_USER_DATA_ERASE

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

NVME_FORMAT_SES_CRYPTO_ERASE

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


title: nvme_cmd_get_log_lid(2)

summary: Get Log Page -Log Page Identifiers

text:
# nvme_cmd_get_log_lid(2)

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

## SYNOPSIS
enum nvme_cmd_get_log_lid {

NVME_LOG_LID_SUPPORTED_LOG_PAGES ,

NVME_LOG_LID_ERROR ,

NVME_LOG_LID_SMART ,

NVME_LOG_LID_FW_SLOT ,

NVME_LOG_LID_CHANGED_NS ,

NVME_LOG_LID_CMD_EFFECTS ,

NVME_LOG_LID_DEVICE_SELF_TEST ,

NVME_LOG_LID_TELEMETRY_HOST ,

NVME_LOG_LID_TELEMETRY_CTRL ,

NVME_LOG_LID_ENDURANCE_GROUP ,

NVME_LOG_LID_PREDICTABLE_LAT_NVMSET ,

NVME_LOG_LID_PREDICTABLE_LAT_AGG ,

NVME_LOG_LID_ANA ,

NVME_LOG_LID_PERSISTENT_EVENT ,

NVME_LOG_LID_LBA_STATUS ,

NVME_LOG_LID_ENDURANCE_GRP_EVT ,

NVME_LOG_LID_MEDIA_UNIT_STATUS ,

NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST ,

NVME_LOG_LID_FID_SUPPORTED_EFFECTS ,

NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS ,

NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN ,

NVME_LOG_LID_BOOT_PARTITION ,

NVME_LOG_LID_ROTATIONAL_MEDIA_INFO ,

NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS ,

NVME_LOG_LID_MGMT_ADDR_LIST ,

NVME_LOG_LID_PHY_RX_EOM ,

NVME_LOG_LID_REACHABILITY_GROUPS ,

NVME_LOG_LID_REACHABILITY_ASSOCIATIONS ,

NVME_LOG_LID_CHANGED_ALLOC_NS_LIST ,

NVME_LOG_LID_FDP_CONFIGS ,

NVME_LOG_LID_FDP_RUH_USAGE ,

NVME_LOG_LID_FDP_STATS ,

NVME_LOG_LID_FDP_EVENTS ,

NVME_LOG_LID_DISCOVER ,

NVME_LOG_LID_HOST_DISCOVER ,

NVME_LOG_LID_AVE_DISCOVER ,

NVME_LOG_LID_PULL_MODEL_DDC_REQ ,

NVME_LOG_LID_RESERVATION ,

NVME_LOG_LID_SANITIZE ,

NVME_LOG_LID_ZNS_CHANGED_ZONES

};

## Constants
NVME_LOG_LID_SUPPORTED_LOG_PAGES

Supported Log Pages

NVME_LOG_LID_ERROR

Error Information

NVME_LOG_LID_SMART

SMART / Health Information

NVME_LOG_LID_FW_SLOT

Firmware Slot Information

NVME_LOG_LID_CHANGED_NS

Changed Namespace List

NVME_LOG_LID_CMD_EFFECTS

Commands Supported and Effects

NVME_LOG_LID_DEVICE_SELF_TEST

Device Self-test

NVME_LOG_LID_TELEMETRY_HOST

Telemetry Host-Initiated

NVME_LOG_LID_TELEMETRY_CTRL

Telemetry Controller-Initiated

NVME_LOG_LID_ENDURANCE_GROUP

Endurance Group Information

NVME_LOG_LID_PREDICTABLE_LAT_NVMSET

Predictable Latency Per NVM Set

NVME_LOG_LID_PREDICTABLE_LAT_AGG

Predictable Latency Event Aggregate

NVME_LOG_LID_ANA

Asymmetric Namespace Access

NVME_LOG_LID_PERSISTENT_EVENT

Persistent Event Log

NVME_LOG_LID_LBA_STATUS

LBA Status Information

NVME_LOG_LID_ENDURANCE_GRP_EVT

Endurance Group Event Aggregate

NVME_LOG_LID_MEDIA_UNIT_STATUS

Media Unit Status

NVME_LOG_LID_SUPPORTED_CAP_CONFIG_LIST

Supported Capacity Configuration Lis

NVME_LOG_LID_FID_SUPPORTED_EFFECTS

Feature Identifiers Supported and Effects

NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS

NVMe-MI Commands Supported and Effects

NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN

Command and Feature Lockdown

NVME_LOG_LID_BOOT_PARTITION

Boot Partition

NVME_LOG_LID_ROTATIONAL_MEDIA_INFO

Rotational Media Information

NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS

Dispersed Namespace Participating NVM Subsystems

NVME_LOG_LID_MGMT_ADDR_LIST

Management Address List

NVME_LOG_LID_PHY_RX_EOM

Physical Interface Receiver Eye Opening Measurement

NVME_LOG_LID_REACHABILITY_GROUPS

Reachability Groups

NVME_LOG_LID_REACHABILITY_ASSOCIATIONS

Reachability Associations

NVME_LOG_LID_CHANGED_ALLOC_NS_LIST

Changed Allocated Namespace List

NVME_LOG_LID_FDP_CONFIGS

FDP Configurations

NVME_LOG_LID_FDP_RUH_USAGE

Reclaim Unit Handle Usage

NVME_LOG_LID_FDP_STATS

FDP Statistics

NVME_LOG_LID_FDP_EVENTS

FDP Events

NVME_LOG_LID_DISCOVER

Discovery

NVME_LOG_LID_HOST_DISCOVER

Host Discovery

NVME_LOG_LID_AVE_DISCOVER

AVE Discovery

NVME_LOG_LID_PULL_MODEL_DDC_REQ

Pull Model DDC Request

NVME_LOG_LID_RESERVATION

Reservation Notification

NVME_LOG_LID_SANITIZE

Sanitize Status

NVME_LOG_LID_ZNS_CHANGED_ZONES

Changed Zone List


title: nvme_cmd_get_log_telemetry_host_lsp(2)

text:
# nvme_cmd_get_log_telemetry_host_lsp(2)

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

## SYNOPSIS
enum nvme_cmd_get_log_telemetry_host_lsp {

NVME_LOG_TELEM_HOST_LSP_RETAIN ,

NVME_LOG_TELEM_HOST_LSP_CREATE

};

## Constants
NVME_LOG_TELEM_HOST_LSP_RETAIN

Get Telemetry Data Blocks

NVME_LOG_TELEM_HOST_LSP_CREATE

Create Telemetry Data Blocks


title: nvme_cmic(2)

text:
# nvme_cmic(2)

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

## SYNOPSIS
enum nvme_cmic {

NVME_CMIC_MULTI_PORT_SHIFT ,

NVME_CMIC_MULTI_CTRL_SHIFT ,

NVME_CMIC_MULTI_SRIOV_SHIFT ,

NVME_CMIC_MULTI_ANA_SHIFT ,

NVME_CMIC_MULTI_RSVD_SHIFT ,

NVME_CMIC_MULTI_PORT_MASK ,

NVME_CMIC_MULTI_CTRL_MASK ,

NVME_CMIC_MULTI_SRIOV_MASK ,

NVME_CMIC_MULTI_ANA_MASK ,

NVME_CMIC_MULTI_RSVD_MASK

};

## Constants
NVME_CMIC_MULTI_PORT_SHIFT

Shift amount to get the NVM subsystem port

NVME_CMIC_MULTI_CTRL_SHIFT

Shift amount to get the controllers

NVME_CMIC_MULTI_SRIOV_SHIFT

Shift amount to get the SR-IOV virtual function

NVME_CMIC_MULTI_ANA_SHIFT

Shift amount to get the asymmetric namespace access reporting

NVME_CMIC_MULTI_RSVD_SHIFT

Shift amount to get the reserved

NVME_CMIC_MULTI_PORT_MASK

Mask to get the NVM subsystem port

NVME_CMIC_MULTI_CTRL_MASK

Mask to get the controllers

NVME_CMIC_MULTI_SRIOV_MASK

Mask to get the SR-IOV virtual function

NVME_CMIC_MULTI_ANA_MASK

Mask to get the asymmetric namespace access reporting

NVME_CMIC_MULTI_RSVD_MASK

Mask to get the reserved


title: nvme_compare(2)

summary: Submit an nvme user compare command

text:
# nvme_compare(2)

## NAME
nvme_compare - Submit an nvme user compare command

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

## ARGUMENTS
args

struct nvme_io_args argument structure

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


title: nvme_connect_err(2)

summary: nvme connect error codes

text:
# nvme_connect_err(2)

## NAME
enum nvme_connect_err - nvme connect error codes

## SYNOPSIS
enum nvme_connect_err {

ENVME_CONNECT_RESOLVE ,

ENVME_CONNECT_ADDRFAM ,

ENVME_CONNECT_TRADDR ,

ENVME_CONNECT_TARG ,

ENVME_CONNECT_AARG ,

ENVME_CONNECT_OPEN ,

ENVME_CONNECT_WRITE ,

ENVME_CONNECT_READ ,

ENVME_CONNECT_PARSE ,

ENVME_CONNECT_INVAL_TR ,

ENVME_CONNECT_LOOKUP_SUBSYS_NAME ,

ENVME_CONNECT_LOOKUP_SUBSYS ,

ENVME_CONNECT_ALREADY ,

ENVME_CONNECT_INVAL ,

ENVME_CONNECT_ADDRINUSE ,

ENVME_CONNECT_NODEV ,

ENVME_CONNECT_OPNOTSUPP ,

ENVME_CONNECT_CONNREFUSED ,

ENVME_CONNECT_ADDRNOTAVAIL ,

ENVME_CONNECT_IGNORED ,

ENVME_CONNECT_NOKEY

};

## Constants
ENVME_CONNECT_RESOLVE

failed to resolve host

ENVME_CONNECT_ADDRFAM

unrecognized address family

ENVME_CONNECT_TRADDR

failed to get traddr

ENVME_CONNECT_TARG

need a transport (-t) argument

ENVME_CONNECT_AARG

need a address (-a) argument

ENVME_CONNECT_OPEN

failed to open nvme-fabrics device

ENVME_CONNECT_WRITE

failed to write to nvme-fabrics device

ENVME_CONNECT_READ

failed to read from nvme-fabrics device

ENVME_CONNECT_PARSE

failed to parse ctrl info

ENVME_CONNECT_INVAL_TR

invalid transport type

ENVME_CONNECT_LOOKUP_SUBSYS_NAME

failed to lookup subsystem name

ENVME_CONNECT_LOOKUP_SUBSYS

failed to lookup subsystem

ENVME_CONNECT_ALREADY

the connect attempt failed, already connected

ENVME_CONNECT_INVAL

invalid arguments/configuration

ENVME_CONNECT_ADDRINUSE

hostnqn already in use

ENVME_CONNECT_NODEV

invalid interface

ENVME_CONNECT_OPNOTSUPP

not supported

ENVME_CONNECT_CONNREFUSED

connection refused

ENVME_CONNECT_ADDRNOTAVAIL

cannot assign requested address

ENVME_CONNECT_IGNORED

connect attempt is ignored due to configuration

ENVME_CONNECT_NOKEY

the TLS key is missing


title: nvme_constants(2)

text:
# nvme_constants(2)

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

## SYNOPSIS
enum nvme_constants {

NVME_NSID_ALL ,

NVME_NSID_NONE ,

NVME_UUID_NONE ,

NVME_CNTLID_NONE ,

NVME_CNSSPECID_NONE ,

NVME_LOG_LSP_NONE ,

NVME_LOG_LSI_NONE ,

NVME_LOG_LPO_NONE ,

NVME_IDENTIFY_DATA_SIZE ,

NVME_LOG_SUPPORTED_LOG_PAGES_MAX ,

NVME_ID_NVMSET_LIST_MAX ,

NVME_ID_UUID_LIST_MAX ,

NVME_ID_CTRL_LIST_MAX ,

NVME_ID_NS_LIST_MAX ,

NVME_ID_SECONDARY_CTRL_MAX ,

NVME_ID_DOMAIN_LIST_MAX ,

NVME_ID_ENDURANCE_GROUP_LIST_MAX ,

NVME_ID_ND_DESCRIPTOR_MAX ,

NVME_FEAT_LBA_RANGE_MAX ,

NVME_LOG_ST_MAX_RESULTS ,

NVME_LOG_TELEM_BLOCK_SIZE ,

NVME_LOG_FID_SUPPORTED_EFFECTS_MAX ,

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX ,

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED ,

NVME_DSM_MAX_RANGES ,

NVME_NQN_LENGTH ,

NVMF_TRADDR_SIZE ,

NVMF_TSAS_SIZE ,

NVME_ZNS_CHANGED_ZONES_MAX ,

NVME_STREAM_ID_MAX

};

## Constants
NVME_NSID_ALL

A broadcast value that is used to specify all namespaces

NVME_NSID_NONE

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

NVME_UUID_NONE

Use to omit a uuid command parameter

NVME_CNTLID_NONE

Use to omit a cntlid command parameter

NVME_CNSSPECID_NONE

Use to omit a cns_specific_id command parameter

NVME_LOG_LSP_NONE

Use to omit a log lsp command parameter

NVME_LOG_LSI_NONE

Use to omit a log lsi command parameter

NVME_LOG_LPO_NONE

Use to omit a log lpo command parameter

NVME_IDENTIFY_DATA_SIZE

The transfer size for nvme identify commands

NVME_LOG_SUPPORTED_LOG_PAGES_MAX

The largest possible index in the supported log pages log.

NVME_ID_NVMSET_LIST_MAX

The largest possible nvmset index in identify nvmeset

NVME_ID_UUID_LIST_MAX

The largest possible uuid index in identify uuid list

NVME_ID_CTRL_LIST_MAX

The largest possible controller index in identify controller list

NVME_ID_NS_LIST_MAX

The largest possible namespace index in identify namespace list

NVME_ID_SECONDARY_CTRL_MAX

The largest possible secondary controller index in identify secondary controller

NVME_ID_DOMAIN_LIST_MAX

The largest possible domain index in the in domain list

NVME_ID_ENDURANCE_GROUP_LIST_MAX

The largest possible endurance group index in the endurance group list

NVME_ID_ND_DESCRIPTOR_MAX

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

NVME_FEAT_LBA_RANGE_MAX

The largest possible LBA range index in feature lba range type

NVME_LOG_ST_MAX_RESULTS

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

NVME_LOG_TELEM_BLOCK_SIZE

Specification defined size of Telemetry Data Blocks

NVME_LOG_FID_SUPPORTED_EFFECTS_MAX

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

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX

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

NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED

The reserved space in the MI Command effects log.

NVME_DSM_MAX_RANGES

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

NVME_NQN_LENGTH

Max length for NVMe Qualified Name

NVMF_TRADDR_SIZE

Max Transport Address size

NVMF_TSAS_SIZE

Max Transport Specific Address Subtype size

NVME_ZNS_CHANGED_ZONES_MAX

Max number of zones in the changed zones log page

NVME_STREAM_ID_MAX

Max number of stream IDs


title: nvme_copy(2)

summary: Copy command

text:
# nvme_copy(2)

## NAME
nvme_copy - Copy command

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

## ARGUMENTS
args

struct nvme_copy_args argument structure

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


title: nvme_copy_range(2)

text:
# nvme_copy_range(2)

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

## SYNOPSIS
struct nvme_copy_range {

__u8 rsvd0[8];

__le64 slba;

__le16 nlb;

__u8 rsvd18[6];

__le32 eilbrt;

__le16 elbat;

__le16 elbatm;

};

## Members
rsvd0

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

eilbrt

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

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f1(2)

text:
# nvme_copy_range_f1(2)

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

## SYNOPSIS
struct nvme_copy_range_f1 {

__u8 rsvd0[8];

__le64 slba;

__le16 nlb;

__u8 rsvd18[8];

__u8 elbt[10];

__le16 elbat;

__le16 elbatm;

};

## Members
rsvd0

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

elbt

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

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f2(2)

text:
# nvme_copy_range_f2(2)

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

## SYNOPSIS
struct nvme_copy_range_f2 {

__le32 snsid;

__u8 rsvd4[4];

__le64 slba;

__le16 nlb;

__u8 rsvd18[4];

__le16 sopt;

__le32 eilbrt;

__le16 elbat;

__le16 elbatm;

};

## Members
snsid

Source Namespace Identifier

rsvd4

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

sopt

Source Options

eilbrt

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

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_f3(2)

text:
# nvme_copy_range_f3(2)

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

## SYNOPSIS
struct nvme_copy_range_f3 {

__le32 snsid;

__u8 rsvd4[4];

__le64 slba;

__le16 nlb;

__u8 rsvd18[4];

__le16 sopt;

__u8 rsvd24[2];

__u8 elbt[10];

__le16 elbat;

__le16 elbatm;

};

## Members
snsid

Source Namespace Identifier

rsvd4

Reserved

slba

Starting LBA

nlb

Number of Logical Blocks

rsvd18

Reserved

sopt

Source Options

rsvd24

Reserved

elbt

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

elbat

Expected Logical Block Application Tag

elbatm

Expected Logical Block Application Tag Mask


title: nvme_copy_range_sopt(2)

summary: NVMe Copy Range Source Options

text:
# nvme_copy_range_sopt(2)

## NAME
enum nvme_copy_range_sopt - NVMe Copy Range Source Options

## SYNOPSIS
enum nvme_copy_range_sopt {

NVME_COPY_SOPT_FCO

};

## Constants
NVME_COPY_SOPT_FCO

NVMe Copy Source Option Fast Copy Only


title: nvme_create_ctrl(2)

summary: Allocate an unconnected NVMe controller

text:
# nvme_create_ctrl(2)

## NAME
nvme_create_ctrl - Allocate an unconnected NVMe controller

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

## ARGUMENTS
r

NVMe root element

subsysnqn

Subsystem NQN

transport

Transport type

traddr

Transport address

host_traddr

Host transport address

host_iface

Host interface name

trsvcid

Transport service ID

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

## RETURN
Controller instance


title: nvme_create_root(2)

summary: Initialize root object

text:
# nvme_create_root(2)

## NAME
nvme_create_root - Initialize root object

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

## ARGUMENTS
fp

File descriptor for logging messages

log_level

Logging level to use

## RETURN
Initialized nvme_root_t object


title: nvme_crto(2)

text:
# nvme_crto(2)

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

## SYNOPSIS
enum nvme_crto {

NVME_CRTO_CRWMT_SHIFT ,

NVME_CRTO_CRIMT_SHIFT ,

NVME_CRTO_CRWMT_MASK ,

NVME_CRTO_CRIMT_MASK

};

## Constants
NVME_CRTO_CRWMT_SHIFT

Shift amount to get the controller ready with media timeout

NVME_CRTO_CRIMT_SHIFT

Shift amount to get the controller ready independent of media timeout

NVME_CRTO_CRWMT_MASK

Mask to get the controller ready with media timeout

NVME_CRTO_CRIMT_MASK

Mask to get the controller ready independent of media timeout


title: nvme_csi(2)

summary: Defined command set indicators

text:
# nvme_csi(2)

## NAME
enum nvme_csi - Defined command set indicators

## SYNOPSIS
enum nvme_csi {

NVME_CSI_NVM ,

NVME_CSI_KV ,

NVME_CSI_ZNS ,

NVME_CSI_SLM ,

NVME_CSI_CP

};

## Constants
NVME_CSI_NVM

NVM Command Set Indicator

NVME_CSI_KV

Key Value Command Set

NVME_CSI_ZNS

Zoned Namespace Command Set

NVME_CSI_SLM

Subsystem Local Memory Command Set

NVME_CSI_CP

Computational Programs Command Set


title: nvme_csts(2)

text:
# nvme_csts(2)

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

## SYNOPSIS
enum nvme_csts {

NVME_CSTS_RDY_SHIFT ,

NVME_CSTS_CFS_SHIFT ,

NVME_CSTS_SHST_SHIFT ,

NVME_CSTS_NSSRO_SHIFT ,

NVME_CSTS_PP_SHIFT ,

NVME_CSTS_ST_SHIFT ,

NVME_CSTS_RDY_MASK ,

NVME_CSTS_CFS_MASK ,

NVME_CSTS_SHST_MASK ,

NVME_CSTS_NSSRO_MASK ,

NVME_CSTS_PP_MASK ,

NVME_CSTS_ST_MASK ,

NVME_CSTS_SHST_NORMAL ,

NVME_CSTS_SHST_OCCUR ,

NVME_CSTS_SHST_CMPLT ,

NVME_CSTS_SHN_MASK

};

## Constants
NVME_CSTS_RDY_SHIFT

Shift amount to get the ready

NVME_CSTS_CFS_SHIFT

Shift amount to get the controller fatal status

NVME_CSTS_SHST_SHIFT

Shift amount to get the shutdown status

NVME_CSTS_NSSRO_SHIFT

Shift amount to get the NVM subsystem reset occurred

NVME_CSTS_PP_SHIFT

Shift amount to get the processing paused

NVME_CSTS_ST_SHIFT

Shift amount to get the shutdown type

NVME_CSTS_RDY_MASK

Mask to get the ready

NVME_CSTS_CFS_MASK

Mask to get the controller fatal status

NVME_CSTS_SHST_MASK

Mask to get the shutdown status

NVME_CSTS_NSSRO_MASK

Mask to get the NVM subsystem reset occurred

NVME_CSTS_PP_MASK

Mask to get the processing paused

NVME_CSTS_ST_MASK

Mask to get the shutdown type

NVME_CSTS_SHST_NORMAL

Normal operation

NVME_CSTS_SHST_OCCUR

Shutdown processing occurring

NVME_CSTS_SHST_CMPLT

Shutdown processing complete

NVME_CSTS_SHN_MASK

Deprecated mask to get the shutdown status


title: nvme_ctrl_config_match(2)

summary: Check if ctrl @c matches config params

text:
# nvme_ctrl_config_match(2)

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

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

## ARGUMENTS
c

An existing controller instance

transport

Transport name

traddr

Transport address

trsvcid

Transport service identifier

subsysnqn

Subsystem NQN

host_traddr

Host transport address

host_iface

Host interface name

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

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


title: nvme_ctrl_find(2)

summary: Locate an existing controller

text:
# nvme_ctrl_find(2)

## NAME
nvme_ctrl_find - Locate an existing controller

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

## ARGUMENTS
s

nvme_subsystem_t object

transport

Transport name

traddr

Transport address

trsvcid

Transport service identifier

subsysnqn

Subsystem NQN

host_traddr

Host transport address

host_iface

Host interface name

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

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

## RETURN
Controller instance on success, NULL otherwise.


title: nvme_ctrl_first_ns(2)

summary: Start namespace iterator

text:
# nvme_ctrl_first_ns(2)

## NAME
nvme_ctrl_first_ns - Start namespace iterator

## SYNOPSIS
nvme_ns_t nvme_ctrl_first_ns (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
First nvme_ns_t object of an c iterator


title: nvme_ctrl_first_path(2)

summary: Start path iterator

text:
# nvme_ctrl_first_path(2)

## NAME
nvme_ctrl_first_path - Start path iterator

## SYNOPSIS
nvme_path_t nvme_ctrl_first_path (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
First nvme_path_t object of an c iterator


title: nvme_ctrl_for_each_ns(2)

summary: Traverse namespaces

text:
# nvme_ctrl_for_each_ns(2)

## NAME
nvme_ctrl_for_each_ns - Traverse namespaces

## SYNOPSIS
nvme_ctrl_for_each_ns (c , n );

## ARGUMENTS
c

Controller instance

n

nvme_ns_t object


title: nvme_ctrl_for_each_ns_safe(2)

summary: Traverse namespaces

text:
# nvme_ctrl_for_each_ns_safe(2)

## NAME
nvme_ctrl_for_each_ns_safe - Traverse namespaces

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

## ARGUMENTS
c

Controller instance

n

nvme_ns_t object

_n

A nvme_ns_t_node to use as temporary storage


title: nvme_ctrl_for_each_path(2)

summary: Traverse paths

text:
# nvme_ctrl_for_each_path(2)

## NAME
nvme_ctrl_for_each_path - Traverse paths

## SYNOPSIS
nvme_ctrl_for_each_path (c , p );

## ARGUMENTS
c

Controller instance

p

nvme_path_t object


title: nvme_ctrl_for_each_path_safe(2)

summary: Traverse paths

text:
# nvme_ctrl_for_each_path_safe(2)

## NAME
nvme_ctrl_for_each_path_safe - Traverse paths

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

## ARGUMENTS
c

Controller instance

p

nvme_path_t object

_p

A nvme_path_t_node to use as temporary storage


title: nvme_ctrl_get_address(2)

summary: Address string of a controller

text:
# nvme_ctrl_get_address(2)

## NAME
nvme_ctrl_get_address - Address string of a controller

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

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_get_config(2)

summary: Fabrics configuration of a controller

text:
# nvme_ctrl_get_config(2)

## NAME
nvme_ctrl_get_config - Fabrics configuration of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Fabrics configuration of c


title: nvme_ctrl_get_dhchap_host_key(2)

summary: Return host key

text:
# nvme_ctrl_get_dhchap_host_key(2)

## NAME
nvme_ctrl_get_dhchap_host_key - Return host key

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

## ARGUMENTS
c

Controller to be checked

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


title: nvme_ctrl_get_dhchap_key(2)

summary: Return controller key

text:
# nvme_ctrl_get_dhchap_key(2)

## NAME
nvme_ctrl_get_dhchap_key - Return controller key

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

## ARGUMENTS
c

Controller for which the key should be set

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


title: nvme_ctrl_get_fd(2)

summary: Get associated file descriptor

text:
# nvme_ctrl_get_fd(2)

## NAME
nvme_ctrl_get_fd - Get associated file descriptor

## SYNOPSIS
int nvme_ctrl_get_fd (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

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

## RETURN
File descriptor associated with c or -1


title: nvme_ctrl_get_firmware(2)

summary: Firmware string of a controller

text:
# nvme_ctrl_get_firmware(2)

## NAME
nvme_ctrl_get_firmware - Firmware string of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Firmware string of c


title: nvme_ctrl_get_host_iface(2)

summary: Host interface name of a controller

text:
# nvme_ctrl_get_host_iface(2)

## NAME
nvme_ctrl_get_host_iface - Host interface name of a controller

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

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_get_host_traddr(2)

summary: Host transport address of a controller

text:
# nvme_ctrl_get_host_traddr(2)

## NAME
nvme_ctrl_get_host_traddr - Host transport address of a controller

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

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_get_keyring(2)

summary: Return keyring

text:
# nvme_ctrl_get_keyring(2)

## NAME
nvme_ctrl_get_keyring - Return keyring

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

## ARGUMENTS
c

Controller to be used for the lookup

## RETURN
Keyring or NULL if not set


title: nvme_ctrl_get_model(2)

summary: Model of a controller

text:
# nvme_ctrl_get_model(2)

## NAME
nvme_ctrl_get_model - Model of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Model string of c


title: nvme_ctrl_get_name(2)

summary: sysfs name of a controller

text:
# nvme_ctrl_get_name(2)

## NAME
nvme_ctrl_get_name - sysfs name of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
sysfs name of c


title: nvme_ctrl_get_numa_node(2)

summary: NUMA node of a controller

text:
# nvme_ctrl_get_numa_node(2)

## NAME
nvme_ctrl_get_numa_node - NUMA node of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
String indicating the NUMA node


title: nvme_ctrl_get_phy_slot(2)

text:
# nvme_ctrl_get_phy_slot(2)

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

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

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_get_queue_count(2)

summary: Queue count of a controller

text:
# nvme_ctrl_get_queue_count(2)

## NAME
nvme_ctrl_get_queue_count - Queue count of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Queue count of c


title: nvme_ctrl_get_serial(2)

summary: Serial number of a controller

text:
# nvme_ctrl_get_serial(2)

## NAME
nvme_ctrl_get_serial - Serial number of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Serial number string of c


title: nvme_ctrl_get_sqsize(2)

summary: SQ size of a controller

text:
# nvme_ctrl_get_sqsize(2)

## NAME
nvme_ctrl_get_sqsize - SQ size of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
SQ size (as string) of c


title: nvme_ctrl_get_src_addr(2)

text:
# nvme_ctrl_get_src_addr(2)

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

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

## ARGUMENTS
c

Controller instance

src_addr

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

src_addr_len

Length of the buffer src_addr.

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


title: nvme_ctrl_get_state(2)

summary: Running state of a controller

text:
# nvme_ctrl_get_state(2)

## NAME
nvme_ctrl_get_state - Running state of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
String indicating the running state of c


title: nvme_ctrl_get_subsysnqn(2)

summary: Subsystem NQN of a controller

text:
# nvme_ctrl_get_subsysnqn(2)

## NAME
nvme_ctrl_get_subsysnqn - Subsystem NQN of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Subsystem NQN of c


title: nvme_ctrl_get_subsystem(2)

summary: Parent subsystem of a controller

text:
# nvme_ctrl_get_subsystem(2)

## NAME
nvme_ctrl_get_subsystem - Parent subsystem of a controller

## SYNOPSIS
nvme_subsystem_t nvme_ctrl_get_subsystem (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

## RETURN
Parent nvme_subsystem_t object


title: nvme_ctrl_get_sysfs_dir(2)

summary: sysfs directory of a controller

text:
# nvme_ctrl_get_sysfs_dir(2)

## NAME
nvme_ctrl_get_sysfs_dir - sysfs directory of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
sysfs directory name of c


title: nvme_ctrl_get_tls_key(2)

summary: Return Derive TLS PSK

text:
# nvme_ctrl_get_tls_key(2)

## NAME
nvme_ctrl_get_tls_key - Return Derive TLS PSK

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

## ARGUMENTS
c

Controller to be used for the lookup

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


title: nvme_ctrl_get_tls_key_identity(2)

summary: Return Derive TLS Identity

text:
# nvme_ctrl_get_tls_key_identity(2)

## NAME
nvme_ctrl_get_tls_key_identity - Return Derive TLS Identity

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

## ARGUMENTS
c

Controller to be used for the lookup

## RETURN
Derive TLS Identity or NULL if not set


title: nvme_ctrl_get_traddr(2)

summary: Transport address of a controller

text:
# nvme_ctrl_get_traddr(2)

## NAME
nvme_ctrl_get_traddr - Transport address of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Transport address of c


title: nvme_ctrl_get_transport(2)

summary: Transport type of a controller

text:
# nvme_ctrl_get_transport(2)

## NAME
nvme_ctrl_get_transport - Transport type of a controller

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

## ARGUMENTS
c

Controller instance

## RETURN
Transport type of c


title: nvme_ctrl_get_trsvcid(2)

text:
# nvme_ctrl_get_trsvcid(2)

## NAME
nvme_ctrl_get_trsvcid - Transport service identifier of a controller

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

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_identify(2)

summary: Issues an 'identify controller' command

text:
# nvme_ctrl_identify(2)

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

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

## ARGUMENTS
c

Controller instance

id

Identify controller data structure

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

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


title: nvme_ctrl_is_discovered(2)

text:
# nvme_ctrl_is_discovered(2)

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

## SYNOPSIS
bool nvme_ctrl_is_discovered (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_is_discovery_ctrl(2)

summary: Check the 'discovery_ctrl' flag

text:
# nvme_ctrl_is_discovery_ctrl(2)

## NAME
nvme_ctrl_is_discovery_ctrl - Check the 'discovery_ctrl' flag

## SYNOPSIS
bool nvme_ctrl_is_discovery_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be checked

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

## RETURN
Value of the 'discover_ctrl' flag


title: nvme_ctrl_is_persistent(2)

text:
# nvme_ctrl_is_persistent(2)

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

## SYNOPSIS
bool nvme_ctrl_is_persistent (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

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


title: nvme_ctrl_is_unique_discovery_ctrl(2)

summary: Check the 'unique_discovery_ctrl' flag

text:
# nvme_ctrl_is_unique_discovery_ctrl(2)

## NAME
nvme_ctrl_is_unique_discovery_ctrl - Check the 'unique_discovery_ctrl' flag

## SYNOPSIS
bool nvme_ctrl_is_unique_discovery_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller to be checked

## RETURN
Value of the 'unique_discovery_ctrl' flag


title: nvme_ctrl_list(2)

summary: Controller List

text:
# nvme_ctrl_list(2)

## NAME
struct nvme_ctrl_list - Controller List

## SYNOPSIS
struct nvme_ctrl_list {

__le16 num;

__le16 identifier[NVME_ID_CTRL_LIST_MAX];

};

## Members
num

Number of Identifiers

identifier

NVM subsystem unique controller identifier


title: nvme_ctrl_metadata_type(2)

summary: Controller Metadata Element Types

text:
# nvme_ctrl_metadata_type(2)

## NAME
enum nvme_ctrl_metadata_type - Controller Metadata Element Types

## SYNOPSIS
enum nvme_ctrl_metadata_type {

NVME_CTRL_METADATA_OS_CTRL_NAME ,

NVME_CTRL_METADATA_OS_DRIVER_NAME ,

NVME_CTRL_METADATA_OS_DRIVER_VER ,

NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME ,

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME ,

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER ,

NVME_CTRL_METADATA_SYS_PROC_MODEL ,

NVME_CTRL_METADATA_CHIPSET_DRV_NAME ,

NVME_CTRL_METADATA_CHIPSET_DRV_VERSION ,

NVME_CTRL_METADATA_OS_NAME_AND_BUILD ,

NVME_CTRL_METADATA_SYS_PROD_NAME ,

NVME_CTRL_METADATA_FIRMWARE_VERSION ,

NVME_CTRL_METADATA_OS_DRIVER_FILENAME ,

NVME_CTRL_METADATA_DISPLAY_DRV_NAME ,

NVME_CTRL_METADATA_DISPLAY_DRV_VERSION ,

NVME_CTRL_METADATA_HOST_DET_FAIL_REC

};

## Constants
NVME_CTRL_METADATA_OS_CTRL_NAME

Name of the controller in the operating system.

NVME_CTRL_METADATA_OS_DRIVER_NAME

Name of the driver in the operating system.

NVME_CTRL_METADATA_OS_DRIVER_VER

Version of the driver in the operating system.

NVME_CTRL_METADATA_PRE_BOOT_CTRL_NAME

Name of the controller in the pre-boot environment.

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_NAME

Name of the driver in the pre-boot environment.

NVME_CTRL_METADATA_PRE_BOOT_DRIVER_VER

Version of the driver in the pre-boot environment.

NVME_CTRL_METADATA_SYS_PROC_MODEL

Model of the processor.

NVME_CTRL_METADATA_CHIPSET_DRV_NAME

Chipset driver name.

NVME_CTRL_METADATA_CHIPSET_DRV_VERSION

Chipset driver version.

NVME_CTRL_METADATA_OS_NAME_AND_BUILD

Operating system name and build.

NVME_CTRL_METADATA_SYS_PROD_NAME

System product name.

NVME_CTRL_METADATA_FIRMWARE_VERSION

Host firmware (e.g UEFI) version.

NVME_CTRL_METADATA_OS_DRIVER_FILENAME

Operating system driver filename.

NVME_CTRL_METADATA_DISPLAY_DRV_NAME

Display driver name.

NVME_CTRL_METADATA_DISPLAY_DRV_VERSION

Display driver version.

NVME_CTRL_METADATA_HOST_DET_FAIL_REC

Failure record.


title: nvme_ctrl_next_ns(2)

summary: Next namespace iterator

text:
# nvme_ctrl_next_ns(2)

## NAME
nvme_ctrl_next_ns - Next namespace iterator

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

## ARGUMENTS
c

Controller instance

n

Previous nvme_ns_t iterator

## RETURN
Next nvme_ns_t object of an c iterator


title: nvme_ctrl_next_path(2)

summary: Next path iterator

text:
# nvme_ctrl_next_path(2)

## NAME
nvme_ctrl_next_path - Next path iterator

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

## ARGUMENTS
c

Controller instance

p

Previous nvme_path_t object of an c iterator

## RETURN
Next nvme_path_t object of an c iterator


title: nvme_ctrl_release_fd(2)

text:
# nvme_ctrl_release_fd(2)

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

## SYNOPSIS
void nvme_ctrl_release_fd (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance


title: nvme_ctrl_reset(2)

summary: Initiate a controller reset

text:
# nvme_ctrl_reset(2)

## NAME
nvme_ctrl_reset - Initiate a controller reset

## SYNOPSIS
int nvme_ctrl_reset (int fd );

## ARGUMENTS
fd

File descriptor of nvme device

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

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


title: nvme_ctrl_set_dhchap_host_key(2)

summary: Set host key

text:
# nvme_ctrl_set_dhchap_host_key(2)

## NAME
nvme_ctrl_set_dhchap_host_key - Set host key

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

## ARGUMENTS
c

Host for which the key should be set

key

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


title: nvme_ctrl_set_dhchap_key(2)

summary: Set controller key

text:
# nvme_ctrl_set_dhchap_key(2)

## NAME
nvme_ctrl_set_dhchap_key - Set controller key

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

## ARGUMENTS
c

Controller for which the key should be set

key

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


title: nvme_ctrl_set_discovered(2)

summary: Set the 'discovered' flag

text:
# nvme_ctrl_set_discovered(2)

## NAME
nvme_ctrl_set_discovered - Set the 'discovered' flag

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

## ARGUMENTS
c

nvme_ctrl_t object

discovered

Value of the 'discovered' flag

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


title: nvme_ctrl_set_discovery_ctrl(2)

summary: Set the 'discovery_ctrl' flag

text:
# nvme_ctrl_set_discovery_ctrl(2)

## NAME
nvme_ctrl_set_discovery_ctrl - Set the 'discovery_ctrl' flag

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

## ARGUMENTS
c

Controller to be modified

discovery

value of the discovery_ctrl flag

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


title: nvme_ctrl_set_keyring(2)

summary: Set keyring

text:
# nvme_ctrl_set_keyring(2)

## NAME
nvme_ctrl_set_keyring - Set keyring

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

## ARGUMENTS
c

Controller for which the keyring should be set

keyring

Keyring name


title: nvme_ctrl_set_persistent(2)

summary: Set the 'persistent' flag

text:
# nvme_ctrl_set_persistent(2)

## NAME
nvme_ctrl_set_persistent - Set the 'persistent' flag

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

## ARGUMENTS
c

Controller instance

persistent

value of the 'persistent' flag

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


title: nvme_ctrl_set_tls_key(2)

summary: Set Derive TLS PSK

text:
# nvme_ctrl_set_tls_key(2)

## NAME
nvme_ctrl_set_tls_key - Set Derive TLS PSK

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

## ARGUMENTS
c

Controller for which the key should be set

key

Key in interchange format or NULL to clear existing key


title: nvme_ctrl_set_tls_key_identity(2)

summary: Set Derive TLS Identity

text:
# nvme_ctrl_set_tls_key_identity(2)

## NAME
nvme_ctrl_set_tls_key_identity - Set Derive TLS Identity

## SYNOPSIS
void nvme_ctrl_set_tls_key_identity (nvme_ctrl_t c , const char *identity );

## ARGUMENTS
c

Controller for which the key should be set

identity

Derive TLS identity or NULL to clear existing key


title: nvme_ctrl_set_unique_discovery_ctrl(2)

summary: Set the 'unique_discovery_ctrl' flag

text:
# nvme_ctrl_set_unique_discovery_ctrl(2)

## NAME
nvme_ctrl_set_unique_discovery_ctrl - Set the 'unique_discovery_ctrl' flag

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

## ARGUMENTS
c

Controller to be modified

unique

value of the unique_disc_ctrl flag

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


title: nvme_ctrls_filter(2)

summary: Filter for controllers

text:
# nvme_ctrls_filter(2)

## NAME
nvme_ctrls_filter - Filter for controllers

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

## ARGUMENTS
d

dirent to check

## RETURN
1 if d matches, 0 otherwise


title: nvme_data_tfr(2)

summary: Data transfer direction of the command

text:
# nvme_data_tfr(2)

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

## SYNOPSIS
enum nvme_data_tfr {

NVME_DATA_TFR_NO_DATA_TFR ,

NVME_DATA_TFR_HOST_TO_CTRL ,

NVME_DATA_TFR_CTRL_TO_HOST ,

NVME_DATA_TFR_BIDIRECTIONAL

};

## Constants
NVME_DATA_TFR_NO_DATA_TFR

No data transfer

NVME_DATA_TFR_HOST_TO_CTRL

Host to controller

NVME_DATA_TFR_CTRL_TO_HOST

Controller to host

NVME_DATA_TFR_BIDIRECTIONAL

Bidirectional


title: nvme_default_host(2)

summary: Initializes the default host

text:
# nvme_default_host(2)

## NAME
nvme_default_host - Initializes the default host

## SYNOPSIS
nvme_host_t nvme_default_host (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

## DESCRIPTION
Initializes the default host object based on the hostnqn/hostid values returned by nvme_host_get_ids and attaches it to r.

## RETURN
nvme_host_t object


title: nvme_describe_key_serial(2)

summary: Return key description

text:
# nvme_describe_key_serial(2)

## NAME
nvme_describe_key_serial - Return key description

## SYNOPSIS
char * nvme_describe_key_serial (long key_id );

## ARGUMENTS
key_id

Key serial number

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

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


title: nvme_dev_self_test(2)

summary: Start or abort a self test

text:
# nvme_dev_self_test(2)

## NAME
nvme_dev_self_test - Start or abort a self test

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

## ARGUMENTS
args

struct nvme_dev_self_test argument structure

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

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

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


title: nvme_directive_dtype(2)

summary: Directive Types

text:
# nvme_directive_dtype(2)

## NAME
enum nvme_directive_dtype - Directive Types

## SYNOPSIS
enum nvme_directive_dtype {

NVME_DIRECTIVE_DTYPE_IDENTIFY ,

NVME_DIRECTIVE_DTYPE_STREAMS

};

## Constants
NVME_DIRECTIVE_DTYPE_IDENTIFY

Identify directive type

NVME_DIRECTIVE_DTYPE_STREAMS

Streams directive type


title: nvme_directive_receive_doper(2)

summary: Directive Receive Directive Operation

text:
# nvme_directive_receive_doper(2)

## NAME
enum nvme_directive_receive_doper - Directive Receive Directive Operation

## SYNOPSIS
enum nvme_directive_receive_doper {

NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS ,

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE

};

## Constants
NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS

NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE


title: nvme_directive_recv(2)

summary: Receive directive specific data

text:
# nvme_directive_recv(2)

## NAME
nvme_directive_recv - Receive directive specific data

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

## ARGUMENTS
args

struct nvme_directive_recv_args argument structure

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


summary: Directive receive identifier parameters

text:
# nvme_directive_recv_identify_parameters(2)

## NAME
nvme_directive_recv_identify_parameters - Directive receive identifier parameters

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

id

Identify parameters buffer

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


title: nvme_directive_recv_stream_allocate(2)

summary: Directive receive stream allocate

text:
# nvme_directive_recv_stream_allocate(2)

## NAME
nvme_directive_recv_stream_allocate - Directive receive stream allocate

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

nsr

Namespace Streams Requested

result

If successful, the CQE dword0 value

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


summary: Directive receive stream parameters

text:
# nvme_directive_recv_stream_parameters(2)

## NAME
nvme_directive_recv_stream_parameters - Directive receive stream parameters

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

parms

Streams directive parameters buffer

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


title: nvme_directive_recv_stream_status(2)

summary: Directive receive stream status

text:
# nvme_directive_recv_stream_status(2)

## NAME
nvme_directive_recv_stream_status - Directive receive stream status

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

nr_entries

Number of streams to receive

id

Stream status buffer

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


title: nvme_directive_send(2)

summary: Send directive command

text:
# nvme_directive_send(2)

## NAME
nvme_directive_send - Send directive command

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

## ARGUMENTS
args

struct nvme_directive_send_args argument structure

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

See the NVMe specification for more information.

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


title: nvme_directive_send_doper(2)

summary: Directive Send Directive Operation

text:
# nvme_directive_send_doper(2)

## NAME
enum nvme_directive_send_doper - Directive Send Directive Operation

## SYNOPSIS
enum nvme_directive_send_doper {

NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR ,

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER ,

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE

};

## Constants
NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER

NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE


title: nvme_directive_send_id_endir(2)

summary: Directive Send Enable Directive

text:
# nvme_directive_send_id_endir(2)

## NAME
nvme_directive_send_id_endir - Directive Send Enable Directive

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace Identifier

endir

Enable Directive

dtype

Directive Type

id

Pointer to structure nvme_id_directives

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


title: nvme_directive_send_identify_endir(2)

summary: Enable Directive

text:
# nvme_directive_send_identify_endir(2)

## NAME
enum nvme_directive_send_identify_endir - Enable Directive

## SYNOPSIS
enum nvme_directive_send_identify_endir {

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE ,

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE

};

## Constants
NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE

NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE


summary: Directive Send Stream release

text:
# nvme_directive_send_stream_release_identifier(2)

## NAME
nvme_directive_send_stream_release_identifier - Directive Send Stream release

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

stream_id

Stream identifier

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


summary: Directive Send Stream release resources

text:
# nvme_directive_send_stream_release_resource(2)

## NAME
nvme_directive_send_stream_release_resource - Directive Send Stream release resources

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace ID

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


title: nvme_directive_types(2)

summary: Directives Supported or Enabled

text:
# nvme_directive_types(2)

## NAME
enum nvme_directive_types - Directives Supported or Enabled

## SYNOPSIS
enum nvme_directive_types {

NVME_ID_DIR_ID_BIT ,

NVME_ID_DIR_SD_BIT ,

NVME_ID_DIR_DP_BIT

};

## Constants
NVME_ID_DIR_ID_BIT

Identify directive is supported

NVME_ID_DIR_SD_BIT

Streams directive is supported

NVME_ID_DIR_DP_BIT

Direct Placement directive is supported


title: nvme_disconnect_ctrl(2)

summary: Disconnect a controller

text:
# nvme_disconnect_ctrl(2)

## NAME
nvme_disconnect_ctrl - Disconnect a controller

## SYNOPSIS
int nvme_disconnect_ctrl (nvme_ctrl_t c );

## ARGUMENTS
c

Controller instance

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

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


text:
# nvme_dispersed_ns_participating_nss_log(2)

## NAME
struct nvme_dispersed_ns_participating_nss_log - Dispersed Namespace Participating NVM Subsystems Log

## SYNOPSIS
struct nvme_dispersed_ns_participating_nss_log {

__le64 genctr;

__le64 numpsub;

__u8 rsvd16[240];

__u8 participating_nss[];

};

## Members
genctr

Generation Counter

numpsub

Number of Participating NVM Subsystems

rsvd16

Reserved

participating_nss

Participating NVM Subsystem Entry


title: nvme_dsm(2)

text:
# nvme_dsm(2)

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

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

## ARGUMENTS
args

struct nvme_dsm_args argument structure

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

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


title: nvme_dsm_attributes(2)

summary: Dataset Management attributes

text:
# nvme_dsm_attributes(2)

## NAME
enum nvme_dsm_attributes - Dataset Management attributes

## SYNOPSIS
enum nvme_dsm_attributes {

NVME_DSMGMT_IDR ,

NVME_DSMGMT_IDW ,

NVME_DSMGMT_AD

};

## Constants
NVME_DSMGMT_IDR

Attribute -Integral Dataset for Read

NVME_DSMGMT_IDW

Attribute - Integral Dataset for Write

NVME_DSMGMT_AD

Attribute - Deallocate


title: nvme_dsm_range(2)

summary: Dataset Management - Range Definition

text:
# nvme_dsm_range(2)

## NAME
struct nvme_dsm_range - Dataset Management - Range Definition

## SYNOPSIS
struct nvme_dsm_range {

__le32 cattr;

__le32 nlb;

__le64 slba;

};

## Members
cattr

Context Attributes

nlb

Length in logical blocks

slba

Starting LBA


title: nvme_dst_stc(2)

text:
# nvme_dst_stc(2)

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

## SYNOPSIS
enum nvme_dst_stc {

NVME_DST_STC_SHORT ,

NVME_DST_STC_LONG ,

NVME_DST_STC_HOST_INIT ,

NVME_DST_STC_VS ,

NVME_DST_STC_ABORT

};

## Constants
NVME_DST_STC_SHORT

Start a short device self-test operation

NVME_DST_STC_LONG

Start an extended device self-test operation

NVME_DST_STC_HOST_INIT

Start a Host-Initiated Refresh operation

NVME_DST_STC_VS

Start a vendor specific device self-test operation

NVME_DST_STC_ABORT

Abort device self-test operation


title: nvme_dump_config(2)

summary: Print the JSON configuration

text:
# nvme_dump_config(2)

## NAME
nvme_dump_config - Print the JSON configuration

## SYNOPSIS
int nvme_dump_config (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

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

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


title: nvme_dump_tree(2)

summary: Dump internal object tree

text:
# nvme_dump_tree(2)

## NAME
nvme_dump_tree - Dump internal object tree

## SYNOPSIS
int nvme_dump_tree (nvme_root_t r );

## ARGUMENTS
r

nvme_root_t object

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

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


title: nvme_eg_critical_warning_flags(2)

text:
# nvme_eg_critical_warning_flags(2)

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

## SYNOPSIS
enum nvme_eg_critical_warning_flags {

NVME_EG_CRITICAL_WARNING_SPARE ,

NVME_EG_CRITICAL_WARNING_DEGRADED ,

NVME_EG_CRITICAL_WARNING_READ_ONLY

};

## Constants
NVME_EG_CRITICAL_WARNING_SPARE

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

NVME_EG_CRITICAL_WARNING_DEGRADED

Endurance Group reliability has been degraded

NVME_EG_CRITICAL_WARNING_READ_ONLY

Endurance Group have been placed in read only mode


title: nvme_eg_event_aggregate_log(2)

summary: Endurance Group Event Aggregate

text:
# nvme_eg_event_aggregate_log(2)

## NAME
struct nvme_eg_event_aggregate_log - Endurance Group Event Aggregate

## SYNOPSIS
struct nvme_eg_event_aggregate_log {

__le64 nr_entries;

__le16 egids[];

};

## Members
nr_entries

Number of Entries

egids

Endurance Group Identifier


title: nvme_end_grp_chan_desc(2)

text:
# nvme_end_grp_chan_desc(2)

## NAME
struct nvme_end_grp_chan_desc - Endurance Group Channel Configuration Descriptor

## SYNOPSIS
struct nvme_end_grp_chan_desc {

__le16 egchans;

struct nvme_channel_config_desc chan_config_desc[];

};

## Members
egchans

Number of Channels

chan_config_desc

Channel config descriptors. See struct nvme_channel_config_desc


title: nvme_end_grp_config_desc(2)

text:
# nvme_end_grp_config_desc(2)

## NAME
struct nvme_end_grp_config_desc - Endurance Group Configuration Descriptor

## SYNOPSIS
struct nvme_end_grp_config_desc {

__le16 endgid;

__le16 cap_adj_factor;

__u8 rsvd4[12];

__u8 tegcap[16];

__u8 segcap[16];

__u8 end_est[16];

__u8 rsvd64[16];

__le16 egsets;

__le16 nvmsetid[];

};

## Members
endgid

Endurance Group Identifier

cap_adj_factor

Capacity Adjustment Factor

rsvd4

Reserved

tegcap

Total Endurance Group Capacity

segcap

Spare Endurance Group Capacity

end_est

Endurance Estimate

rsvd64

Reserved

egsets

Number of NVM Sets

nvmsetid

NVM Set Identifier


title: nvme_endurance_group_log(2)

summary: Endurance Group Information Log

text:
# nvme_endurance_group_log(2)

## NAME
struct nvme_endurance_group_log - Endurance Group Information Log

## SYNOPSIS
struct nvme_endurance_group_log {

__u8 critical_warning;

__u8 endurance_group_features;

__u8 rsvd2;

__u8 avl_spare;

__u8 avl_spare_threshold;

__u8 percent_used;

__le16 domain_identifier;

__u8 rsvd8[24];

__u8 endurance_estimate[16];

__u8 data_units_read[16];

__u8 data_units_written[16];

__u8 media_units_written[16];

__u8 host_read_cmds[16];

__u8 host_write_cmds[16];

__u8 media_data_integrity_err[16];

__u8 num_err_info_log_entries[16];

__u8 total_end_grp_cap[16];

__u8 unalloc_end_grp_cap[16];

__u8 rsvd192[320];

};

## Members
critical_warning

Critical Warning

endurance_group_features

Endurance Group Features

rsvd2

Reserved

avl_spare

Available Spare

avl_spare_threshold

Available Spare Threshold

percent_used

Percentage Used

domain_identifier

Domain Identifier

rsvd8

Reserved

endurance_estimate

Endurance Estimate

data_units_read

Data Units Read

data_units_written

Data Units Written

media_units_written

Media Units Written

host_read_cmds

Host Read Commands

host_write_cmds

Host Write Commands

media_data_integrity_err

Media and Data Integrity Errors

num_err_info_log_entries

Number of Error Information Log Entries

total_end_grp_cap

Total Endurance Group Capacity

unalloc_end_grp_cap

Unallocated Endurance Group Capacity

rsvd192

Reserved


title: nvme_eom_lane_desc(2)

summary: EOM Lane Descriptor

text:
# nvme_eom_lane_desc(2)

## NAME
struct nvme_eom_lane_desc - EOM Lane Descriptor

## SYNOPSIS
struct nvme_eom_lane_desc {

__u8 rsvd0;

__u8 mstatus;

__u8 lane;

__u8 eye;

__le16 top;

__le16 bottom;

__le16 left;

__le16 right;

__le16 nrows;

__le16 ncols;

__le16 edlen;

__u8 rsvd18[14];

__u8 eye_desc[];

};

## Members
rsvd0

Reserved

mstatus

Measurement Status

lane

Lane number

eye

Eye number

top

Absolute number of rows from center to top edge of eye

bottom

Absolute number of rows from center to bottom edge of eye

left

Absolute number of rows from center to left edge of eye

right

Absolute number of rows from center to right edge of eye

nrows

Number of Rows

ncols

Number of Columns

edlen

Eye Data Length

rsvd18

Reserved

eye_desc

Printable Eye, Eye Data, and any Padding


title: nvme_eom_optional_data(2)

text:
# nvme_eom_optional_data(2)

## NAME
enum nvme_eom_optional_data - EOM Optional Data Present Fields (Deprecated)

## SYNOPSIS
enum nvme_eom_optional_data {

NVME_EOM_PRINTABLE_EYE_PRESENT ,

NVME_EOM_EYE_DATA_PRESENT

};

## Constants
NVME_EOM_PRINTABLE_EYE_PRESENT

Printable Eye Present

NVME_EOM_EYE_DATA_PRESENT

Eye Data Present


title: nvme_eom_optional_data_present(2)

summary: EOM Optional Data Present Fields

text:
# nvme_eom_optional_data_present(2)

## NAME
enum nvme_eom_optional_data_present - EOM Optional Data Present Fields

## SYNOPSIS
enum nvme_eom_optional_data_present {

NVME_EOM_ODP_PEFP_SHIFT ,

NVME_EOM_ODP_EDFP_SHIFT ,

NVME_EOM_ODP_RSVD_SHIFT ,

NVME_EOM_ODP_PEFP_MASK ,

NVME_EOM_ODP_EDFP_MASK ,

NVME_EOM_ODP_RSVD_MASK

};

## Constants
NVME_EOM_ODP_PEFP_SHIFT

Shift amount to get the printable eye field present from the struct nvme_phy_rx_eom_log.odp field.

NVME_EOM_ODP_EDFP_SHIFT

Shift amount to get the eye data field present from the struct nvme_phy_rx_eom_log.odp field.

NVME_EOM_ODP_RSVD_SHIFT

Shift amount to get the reserved optional data present from the struct nvme_phy_rx_eom_log.odp field.

NVME_EOM_ODP_PEFP_MASK

Mask to get the printable eye field present from the struct nvme_phy_rx_eom_log.odp field.

NVME_EOM_ODP_EDFP_MASK

Mask to get the eye data field present from the struct nvme_phy_rx_eom_log.odp field.

NVME_EOM_ODP_RSVD_MASK

Mask to get the reserved data present from the struct nvme_phy_rx_eom_log.odp field.


title: nvme_err_status_field(2)

text:
# nvme_err_status_field(2)

## NAME
enum nvme_err_status_field - This field indicates the error information log entry status field

## SYNOPSIS
enum nvme_err_status_field {

NVME_ERR_SF_PHASE_TAG_SHIFT ,

NVME_ERR_SF_STATUS_FIELD_SHIFT ,

NVME_ERR_SF_PHASE_TAG_MASK ,

NVME_ERR_SF_STATUS_FIELD_MASK

};

## Constants
NVME_ERR_SF_PHASE_TAG_SHIFT

Shift amount to get the phase tag

NVME_ERR_SF_STATUS_FIELD_SHIFT

Shift amount to get the status field

NVME_ERR_SF_PHASE_TAG_MASK

Mask to get the phase tag

NVME_ERR_SF_STATUS_FIELD_MASK

Mask to get the status field


title: nvme_errno_to_string(2)

text:
# nvme_errno_to_string(2)

## NAME
nvme_errno_to_string - Returns string describing nvme connect failures

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

## ARGUMENTS
err

Returned error code from nvme_add_ctrl

## RETURN
String representation of the nvme connect error codes


title: nvme_error_log_page(2)

text:
# nvme_error_log_page(2)

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

## SYNOPSIS
struct nvme_error_log_page {

__le64 error_count;

__le16 sqid;

__le16 cmdid;

__le16 status_field;

__le16 parm_error_location;

__le64 lba;

__le32 nsid;

__u8 vs;

__u8 trtype;

__u8 csi;

__u8 opcode;

__le64 cs;

__le16 trtype_spec_info;

__u8 rsvd[21];

__u8 log_page_version;

};

## Members
error_count

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

sqid

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

cmdid

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

status_field

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

parm_error_location

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

lba

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

nsid

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

vs

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

trtype

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

csi

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

opcode

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

cs

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

trtype_spec_info

Transport Type Specific Information

rsvd

Reserved: [62:42]

log_page_version

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


title: nvme_export_tls_key(2)

summary: Export a TLS key

text:
# nvme_export_tls_key(2)

## NAME
nvme_export_tls_key - Export a TLS key

## SYNOPSIS
char * nvme_export_tls_key (const unsigned char *key_data , int key_len );

## ARGUMENTS
key_data

Raw data of the key

key_len

Length of key_data

## DESCRIPTION
Returns key_data in the PSK Interchange format as defined in section 3.6.1.5 of the NVMe TCP Transport specification.

## RETURN
The string containing the TLS identity or NULL with errno set on error. It is the responsibility of the caller to free the returned string.


title: nvme_export_tls_key_versioned(2)

summary: Export a TLS pre-shared key

text:
# nvme_export_tls_key_versioned(2)

## NAME
nvme_export_tls_key_versioned - Export a TLS pre-shared key

## SYNOPSIS
char * nvme_export_tls_key_versioned (unsigned char version , unsigned char hmac , const unsigned char *key_data , size_t key_len );

## ARGUMENTS
version

Indicated the representation of the TLS PSK

hmac

HMAC algorithm used to transfor the configured PSK in a retained PSK

key_data

Raw data of the key

key_len

Length of key_data

## DESCRIPTION
Returns key_data in the PSK Interchange format as defined in section 3.6.1.5 of the NVMe TCP Transport specification.

## RETURN
The string containing the TLS identity or NULL with errno set on error. It is the responsibility of the caller to free the returned string.


title: nvme_fabrics_config(2)

text:
# nvme_fabrics_config(2)

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

## SYNOPSIS
struct nvme_fabrics_config {

char *host_traddr;

char *host_iface;

int queue_size;

int nr_io_queues;

int reconnect_delay;

int ctrl_loss_tmo;

int fast_io_fail_tmo;

int keep_alive_tmo;

int nr_write_queues;

int nr_poll_queues;

int tos;

long keyring;

long tls_key;

long tls_configured_key;

bool duplicate_connect;

bool disable_sqflow;

bool hdr_digest;

bool data_digest;

bool tls;

bool concat;

};

## Members
host_traddr

Host transport address

host_iface

Host interface name

queue_size

Number of IO queue entries

nr_io_queues

Number of controller IO queues to establish

reconnect_delay

Time between two consecutive reconnect attempts.

ctrl_loss_tmo

Override the default controller reconnect attempt timeout in seconds

fast_io_fail_tmo

Set the fast I/O fail timeout in seconds.

keep_alive_tmo

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

nr_write_queues

Number of queues to use for exclusively for writing

nr_poll_queues

Number of queues to reserve for polling completions

tos

Type of service

keyring

Keyring to store and lookup keys

tls_key

TLS PSK for the connection

tls_configured_key

TLS PSK for connect command for the connection

duplicate_connect

Allow multiple connections to the same target

disable_sqflow

Disable controller sq flow control

hdr_digest

Generate/verify header digest (TCP)

data_digest

Generate/verify data digest (TCP)

tls

Start TLS on the connection (TCP)

concat

Enable secure concatenation (TCP)


title: nvme_fabrics_uri(2)

summary: Parsed URI structure

text:
# nvme_fabrics_uri(2)

## NAME
struct nvme_fabrics_uri - Parsed URI structure

## SYNOPSIS
struct nvme_fabrics_uri {

char *scheme;

char *protocol;

char *userinfo;

char *host;

int port;

char **path_segments;

char *query;

char *fragment;

};

## Members
scheme

Scheme name (typically 'nvme')

protocol

Optional protocol/transport (e.g. 'tcp')

userinfo

Optional user information component of the URI authority

host

Host transport address

port

The port subcomponent or 0 if not specified

path_segments

NULL-terminated array of path segments

query

Optional query string component (separated by '?')

fragment

Optional fragment identifier component (separated by '#')


title: nvme_fctype(2)

summary: Fabrics Command Types

text:
# nvme_fctype(2)

## NAME
enum nvme_fctype - Fabrics Command Types

## SYNOPSIS
enum nvme_fctype {

nvme_fabrics_type_property_set ,

nvme_fabrics_type_connect ,

nvme_fabrics_type_property_get ,

nvme_fabrics_type_auth_send ,

nvme_fabrics_type_auth_receive ,

nvme_fabrics_type_disconnect

};

## Constants
nvme_fabrics_type_property_set

Property set

nvme_fabrics_type_connect

Connect

nvme_fabrics_type_property_get

Property Get

nvme_fabrics_type_auth_send

Authentication Send

nvme_fabrics_type_auth_receive

Authentication Receive

nvme_fabrics_type_disconnect

Disconnect


title: nvme_fdp_config_desc(2)

summary: FDP Configuration Descriptor

text:
# nvme_fdp_config_desc(2)

## NAME
struct nvme_fdp_config_desc - FDP Configuration Descriptor

## SYNOPSIS
struct nvme_fdp_config_desc {

__le16 size;

__u8 fdpa;

__u8 vss;

__le32 nrg;

__le16 nruh;

__le16 maxpids;

__le32 nnss;

__le64 runs;

__le32 erutl;

__u8 rsvd28[36];

struct nvme_fdp_ruh_desc ruhs[];

};

## Members
size

Descriptor size

fdpa

FDP Attributes (enum nvme_fdp_config_fdpa)

vss

Vendor Specific Size

nrg

Number of Reclaim Groups

nruh

Number of Reclaim Unit Handles

maxpids

Max Placement Identifiers

nnss

Number of Namespaces Supported

runs

Reclaim Unit Nominal Size

erutl

Estimated Reclaim Unit Time Limit

rsvd28

Reserved

ruhs

Reclaim Unit Handle descriptors (struct nvme_fdp_ruh_desc)


title: nvme_fdp_config_fdpa(2)

summary: FDP Attributes

text:
# nvme_fdp_config_fdpa(2)

## NAME
enum nvme_fdp_config_fdpa - FDP Attributes

## SYNOPSIS
enum nvme_fdp_config_fdpa {

NVME_FDP_CONFIG_FDPA_RGIF_SHIFT ,

NVME_FDP_CONFIG_FDPA_RGIF_MASK ,

NVME_FDP_CONFIG_FDPA_FDPVWC_SHIFT ,

NVME_FDP_CONFIG_FDPA_FDPVWC_MASK ,

NVME_FDP_CONFIG_FDPA_VALID_SHIFT ,

NVME_FDP_CONFIG_FDPA_VALID_MASK

};

## Constants
NVME_FDP_CONFIG_FDPA_RGIF_SHIFT

Reclaim Group Identifier Format Shift

NVME_FDP_CONFIG_FDPA_RGIF_MASK

Reclaim Group Identifier Format Mask

NVME_FDP_CONFIG_FDPA_FDPVWC_SHIFT

FDP Volatile Write Cache Shift

NVME_FDP_CONFIG_FDPA_FDPVWC_MASK

FDP Volatile Write Cache Mask

NVME_FDP_CONFIG_FDPA_VALID_SHIFT

FDP Configuration Valid Shift

NVME_FDP_CONFIG_FDPA_VALID_MASK

FDP Configuration Valid Mask


title: nvme_fdp_config_log(2)

summary: FDP Configurations Log Page

text:
# nvme_fdp_config_log(2)

## NAME
struct nvme_fdp_config_log - FDP Configurations Log Page

## SYNOPSIS
struct nvme_fdp_config_log {

__le16 n;

__u8 version;

__u8 rsvd3;

__le32 size;

__u8 rsvd8[8];

struct nvme_fdp_config_desc configs[];

};

## Members
n

Number of FDP Configurations

version

Log page version

rsvd3

Reserved

size

Log page size in bytes

rsvd8

Reserved

configs

FDP Configuration descriptors (struct nvme_fdp_config_desc)


title: nvme_fdp_event(2)

summary: FDP Event

text:
# nvme_fdp_event(2)

## NAME
struct nvme_fdp_event - FDP Event

## SYNOPSIS
struct nvme_fdp_event {

__u8 type;

__u8 flags;

__le16 pid;

struct nvme_timestamp ts;

__le32 nsid;

__u8 type_specific[16];

__le16 rgid;

__u8 ruhid;

__u8 rsvd35[5];

__u8 vs[24];

};

## Members
type

Event Type (enum nvme_fdp_event_type)

flags

Event Flags (enum nvme_fdp_event_flags)

pid

Placement Identifier

ts

Timestamp

nsid

Namespace Identifier

type_specific

Event Type Specific Information

rgid

Reclaim Group Identifier

ruhid

Reclaim Unit Handle Identifier

rsvd35

Reserved

vs

Vendor Specific


title: nvme_fdp_event_flags(2)

summary: FDP Event Flags

text:
# nvme_fdp_event_flags(2)

## NAME
enum nvme_fdp_event_flags - FDP Event Flags

## SYNOPSIS
enum nvme_fdp_event_flags {

NVME_FDP_EVENT_F_PIV ,

NVME_FDP_EVENT_F_NSIDV ,

NVME_FDP_EVENT_F_LV

};

## Constants
NVME_FDP_EVENT_F_PIV

Placement Identifier Valid

NVME_FDP_EVENT_F_NSIDV

Namespace Identifier Valid

NVME_FDP_EVENT_F_LV

Location Valid


title: nvme_fdp_event_realloc(2)

text:
# nvme_fdp_event_realloc(2)

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

## SYNOPSIS
struct nvme_fdp_event_realloc {

__u8 flags;

__u8 rsvd1;

__le16 nlbam;

__le64 lba;

__u8 rsvd12[4];

};

## Members
flags

Event Type Specific flags (enum nvme_fdp_event_realloc_flags)

rsvd1

Reserved

nlbam

Number of LBAs Moved

lba

Logical Block Address

rsvd12

Reserved


title: nvme_fdp_event_realloc_flags(2)

text:
# nvme_fdp_event_realloc_flags(2)

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

## SYNOPSIS
enum nvme_fdp_event_realloc_flags {

NVME_FDP_EVENT_REALLOC_F_LBAV

};

## Constants
NVME_FDP_EVENT_REALLOC_F_LBAV

LBA Valid


title: nvme_fdp_event_type(2)

summary: FDP Event Types

text:
# nvme_fdp_event_type(2)

## NAME
enum nvme_fdp_event_type - FDP Event Types

## SYNOPSIS
enum nvme_fdp_event_type {

NVME_FDP_EVENT_RUNFW ,

NVME_FDP_EVENT_RUTLE ,

NVME_FDP_EVENT_RESET ,

NVME_FDP_EVENT_PID ,

NVME_FDP_EVENT_REALLOC ,

NVME_FDP_EVENT_MODIFY

};

## Constants
NVME_FDP_EVENT_RUNFW

Reclaim Unit Not Fully Written

NVME_FDP_EVENT_RUTLE

Reclaim Unit Time Limit Exceeded

NVME_FDP_EVENT_RESET

Controller Level Reset Modified Reclaim Unit Handles

NVME_FDP_EVENT_PID

Invalid Placement Identifier

NVME_FDP_EVENT_REALLOC

Media Reallocated

NVME_FDP_EVENT_MODIFY

Implicitly Modified Reclaim Unit Handle


title: nvme_fdp_events_log(2)

summary: FDP Events Log Page

text:
# nvme_fdp_events_log(2)

## NAME
struct nvme_fdp_events_log - FDP Events Log Page

## SYNOPSIS
struct nvme_fdp_events_log {

__le32 n;

__u8 rsvd4[60];

struct nvme_fdp_event events[63];

};

## Members
n

Number of FDP Events

rsvd4

Reserved

events

FDP Events (struct nvme_fdp_event)


title: nvme_fdp_reclaim_unit_handle_status(2)

summary: Get reclaim unit handle status

text:
# nvme_fdp_reclaim_unit_handle_status(2)

## NAME
nvme_fdp_reclaim_unit_handle_status - Get reclaim unit handle status

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace identifier

data_len

Length of response buffer

data

Response buffer

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


title: nvme_fdp_reclaim_unit_handle_update(2)

summary: Update a list of reclaim unit handles

text:
# nvme_fdp_reclaim_unit_handle_update(2)

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

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

## ARGUMENTS
fd

File descriptor of nvme device

nsid

Namespace identifier

npids

Number of placement identifiers

pids

List of placement identifiers

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


title: nvme_fdp_ruh_desc(2)

summary: Reclaim Unit Handle Descriptor

text:
# nvme_fdp_ruh_desc(2)

## NAME
struct nvme_fdp_ruh_desc - Reclaim Unit Handle Descriptor

## SYNOPSIS
struct nvme_fdp_ruh_desc {

__u8 ruht;

__u8 rsvd1[3];

};

## Members
ruht

Reclaim Unit Handle Type

rsvd1

Reserved


title: nvme_fdp_ruh_status(2)

summary: Reclaim Unit Handle Status

text:
# nvme_fdp_ruh_status(2)

## NAME
struct nvme_fdp_ruh_status - Reclaim Unit Handle Status

## SYNOPSIS
struct nvme_fdp_ruh_status {

__u8 rsvd0[14];

__le16 nruhsd;

struct nvme_fdp_ruh_status_desc ruhss[];

};

## Members
rsvd0

Reserved

nruhsd

Number of Reclaim Unit Handle Status Descriptors

ruhss

Reclaim Unit Handle Status descriptors


title: nvme_fdp_ruh_status_desc(2)

summary: Reclaim Unit Handle Status Descriptor

text:
# nvme_fdp_ruh_status_desc(2)

## NAME
struct nvme_fdp_ruh_status_desc - Reclaim Unit Handle Status Descriptor

## SYNOPSIS
struct nvme_fdp_ruh_status_desc {

__le16 pid;

__le16 ruhid;

__le32 earutr;

__le64 ruamw;

__u8 rsvd16[16];

};

## Members
pid

Placement Identifier

ruhid

Reclaim Unit Handle Identifier

earutr

Estimated Active Reclaim Unit Time Remaining

ruamw

Reclaim Unit Available Media Writes

rsvd16

Reserved


title: nvme_fdp_ruh_type(2)

summary: Reclaim Unit Handle Type

text:
# nvme_fdp_ruh_type(2)

## NAME
enum nvme_fdp_ruh_type - Reclaim Unit Handle Type

## SYNOPSIS
enum nvme_fdp_ruh_type {

NVME_FDP_RUHT_INITIALLY_ISOLATED ,

NVME_FDP_RUHT_PERSISTENTLY_ISOLATED

};

## Constants
NVME_FDP_RUHT_INITIALLY_ISOLATED

Initially Isolated

NVME_FDP_RUHT_PERSISTENTLY_ISOLATED

Persistently Isolated