Reference

nvme_init_read-libnvme3(2)

Initialize passthru command for a user read command

NAME

nvme_init_read - Initialize passthru command for a user read command

SYNOPSIS

void nvme_init_read (struct libnvme_passthru_cmd *cmd , __u32 nsid , __u64 slba , __u16 nlb , __u16 control , __u8 dsm , __u16 cev , void *data , __u32 data_len , void *metadata , __u32 metadata_len );

ARGUMENTS

cmd

Passthru command to use

nsid

Namespace ID

slba

Starting logical block

nlb

Number of logical blocks (0-based)

control

Upper 16 bits of cdw12

dsm

Data set management attributes (CETYPE is zero), see enum nvme_io_dsm_flags

cev

Command Extension Value (CETYPE is non-zero)

data

Pointer to user address of the data buffer

data_len

Length of user buffer, data, in bytes

metadata

Pointer to user address of the metadata buffer

metadata_len

Length of user buffer, metadata, in bytes

DESCRIPTION

Initializes the passthru command buffer for the Read command.

NOTE

Assumes a macro or separate function exists to translate the combined NLB/control/prinfo fields into cdw12/cdw13. This transformation assumes the parameters are used for a generic nvme_init_io wrapper.