libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸŽ€ NAME πŸŽ€

enum nvme_lm_cdq_fields β€” Controller Data Queue command fields. okay bestie, this is the libnvme(9) page from the API Manual, and it’s here to explain the enum constants for the Controller Data Queue command fields. no cap, every single one is below πŸ’–


✨ SYNOPSIS ✨

the enum itself, literally:

enum nvme_lm_cdq_fields {
    NVME_LM_CDQ_MOS_SHIFT ,
    NVME_LM_CDQ_MOS_MASK ,
    NVME_LM_CDQ_SEL_SHIFT ,
    NVME_LM_CDQ_SEL_MASK ,
    NVME_LM_SEL_CREATE_CDQ ,
    NVME_LM_SEL_DELETE_CDQ ,
    NVME_LM_QT_SHIFT ,
    NVME_LM_QT_MASK ,
    NVME_LM_CQS_SHIFT ,
    NVME_LM_CQS_MASK ,
    NVME_LM_QT_USER_DATA_MIGRATION_QUEUE ,
    NVME_LM_CREATE_CDQ_PC ,
    NVME_LM_CREATE_CDQ_PC_SHIFT ,
    NVME_LM_CREATE_CDQ_PC_MASK ,
    NVME_LM_CREATE_CDQ_CNTLID_SHIFT ,
    NVME_LM_CREATE_CDQ_CNTLID_MASK ,
    NVME_LM_DELETE_CDQ_CDQID_SHIFT ,
    NVME_LM_DELETE_CDQ_CDQID_MASK ,
    NVME_LM_CREATE_CDQ_CDQID_SHIFT ,
    NVME_LM_CREATE_CDQ_CDQID_MASK

};

🌸 Constants 🌸

okay bestie, here are the constants β€” every single one, no skipping, no cap:

  • NVME_LM_CDQ_MOS_SHIFT β€” shift to set the Management Operation Specific (MOS) field. slide those bits into place πŸ’…
  • NVME_LM_CDQ_MOS_MASK β€” mask to set the MOS field. iconic targeted-bit behavior ✨
  • NVME_LM_CDQ_SEL_SHIFT β€” shift to set the Select (SEL) field.
  • NVME_LM_CDQ_SEL_MASK β€” mask to set the SEL field.
  • NVME_LM_SEL_CREATE_CDQ β€” the Create CDQ select option. yes bestie, creation era 🫢
  • NVME_LM_SEL_DELETE_CDQ β€” the Delete CDQ select option. goodbye era πŸ’€
  • NVME_LM_QT_SHIFT β€” shift amount to set the Queue Type (QT) field relative to MOS.
  • NVME_LM_QT_MASK β€” mask to set the QT field relative to MOS.
  • NVME_LM_CQS_SHIFT β€” shift amount for the Create Queue Specific (CQS) field.
  • NVME_LM_CQS_MASK β€” mask to set the CQS field.
  • NVME_LM_QT_USER_DATA_MIGRATION_QUEUE β€” the User Data Migration Queue type. it’s giving migration, obviously πŸ¦‹
  • NVME_LM_CREATE_CDQ_PC β€” Physically Contiguous (PC). that’s the whole description, bestie πŸ’–
  • NVME_LM_CREATE_CDQ_PC_SHIFT β€” shift amount to set the PC field.
  • NVME_LM_CREATE_CDQ_PC_MASK β€” mask to set the PC field.
  • NVME_LM_CREATE_CDQ_CNTLID_SHIFT β€” shift amount to set the CNTLID field relative to MOS.
  • NVME_LM_CREATE_CDQ_CNTLID_MASK β€” mask to set the CNTLID field relative to MOS.
  • NVME_LM_DELETE_CDQ_CDQID_SHIFT β€” shift amount to set the CDQID field for deletion.
  • NVME_LM_DELETE_CDQ_CDQID_MASK β€” mask to set the CDQID field for deletion.
  • NVME_LM_CREATE_CDQ_CDQID_SHIFT β€” shift amount to get the CDQID field from the Create response in completion dword0. yes, get β€” that’s what it says 🌈
  • NVME_LM_CREATE_CDQ_CDQID_MASK β€” mask to get the CNTLID field from the Create response in completion dword0. and yeah, it literally says CNTLID here even though the constant is CDQID β€” I’m keeping the manpage’s exact wording, no edits from me πŸ™ˆ

xoxo, sign-off vibes: October 2026 Β· enum nvme_lm_cdq_fields Β· libnvme(9) πŸ’–πŸ¦‹

πŸ“¦ where this page comes from