NVM Express Data Structures

enum nvme_cmd_create_q_flags

Create queue flags

Constants

NVME_Q_PC

Queue is physical contiguous

NVME_CQ_IEN

Interrupts enabled

NVME_SQ_QPRIO_LOW

Queue priority class low

NVME_SQ_QPRIO_MEDIUM

Queue priority class medium

NVME_SQ_QPRIO_HIGH

Queue priority class high

NVME_SQ_QPRIO_URGENT

Queue priority class urgent

union nvme_cmd

Generic NVMe command

Definition:

union nvme_cmd {
    struct {
        uint8_t opcode;
        uint8_t flags;
        uint16_t cid;
        leint32_t nsid;
        leint32_t cdw2;
        leint32_t cdw3;
        leint64_t mptr;
        union nvme_dptr dptr;
        leint32_t cdw10;
        leint32_t cdw11;
        leint32_t cdw12;
        leint32_t cdw13;
        leint32_t cdw14;
        leint32_t cdw15;
    };
    struct nvme_cmd_identify identify;
    struct nvme_cmd_create_cq create_cq;
    struct nvme_cmd_create_sq create_sq;
    struct nvme_cmd_delete_q delete_q;
    struct nvme_cmd_features features;
    struct nvme_cmd_log log;
    struct nvme_cmd_rw rw;
};

Members

{unnamed_struct}

anonymous

opcode

Opcode of the command to be executed

flags

Command flags (i.e. PSDT, FUSE)

cid

Command identifier

nsid

Namespace identifier

cdw2

2nd command dword

cdw3

3rd command dword

mptr

Metadata PRP/SGL pointer

dptr

Data PRP/SGL pointer (see union nvme_dptr)

cdw10

10th command dword

cdw11

11th command dword

cdw12

12th command dword

cdw13

13th command dword

cdw14

14th command dword

cdw15

15th command dword

identify

See struct nvme_cmd_identify

create_cq

See struct nvme_cmd_create_cq

create_sq

See struct nvme_cmd_create_sq

delete_q

See struct nvme_cmd_delete_q

features

See struct nvme_cmd_features

log

See struct nvme_cmd_log

rw

See struct nvme_cmd_rw