libnvme(2)
π libnvme(2) β enum nvme_lm_cdq_fields π
okay bestie, welcome to the cutest little corner of the libnvme API manual πΈ this one's all about enum nvme_lm_cdq_fields, aka the Controller Data Queue command fields. it's giving "bit-twiddling but make it fashion" β¨
NAME π
enum nvme_lm_cdq_fields β Controller Data Queue command fields. that's it, that's the whole vibe. π
SYNOPSIS π¦
here's the whole enum, verbatim, no notes, exactly as it lives in the header:
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_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 β¨
bestie these are the constants and you're gonna know every single one, no skipping, no skimming, we're doing this properly π«Ά
NVME_LM_CDQ_MOS_SHIFTβ the shift you use to set the Management Operation Specific (MOS) field πNVME_LM_CDQ_MOS_MASKβ the mask you use to set the MOS field, its ride-or-die partner πNVME_LM_CDQ_SEL_SHIFTβ shift to set the Select (SEL) fieldNVME_LM_CDQ_SEL_MASKβ mask to set the SEL fieldNVME_LM_SEL_CREATE_CDQβ the Create CDQ select option πNVME_LM_SEL_DELETE_CDQβ the Delete CDQ select option πNVME_LM_QT_SHIFTβ how much you shift to set the Queue Type (QT) field relative to MOS, lowkey important πNVME_LM_QT_MASKβ mask to set the QT field relative to MOSNVME_LM_CQS_SHIFTβ shift amount for the Create Queue Specific (CQS) field πΈNVME_LM_CQS_MASKβ mask to set the CQS fieldNVME_LM_QT_USER_DATA_MIGRATION_QUEUEβ User Data Migration Queue type π¦ iconic honestlyNVME_LM_CREATE_CDQ_PCβ Physically Contiguous (PC)NVME_LM_CREATE_CDQ_CNTLID_SHIFTβ shift amount to set theCNTLIDfield relative to MOSNVME_LM_CREATE_CDQ_CNTLID_MASKβ mask to set theCNTLIDfield relative to MOSNVME_LM_DELETE_CDQ_CDQID_SHIFTβ shift amount to set theCDQIDfield for deletion ποΈNVME_LM_DELETE_CDQ_CDQID_MASKβ mask to set theCDQIDfield for deletionNVME_LM_CREATE_CDQ_CDQID_SHIFTβ shift amount to get theCDQIDfield from the Create response in completion dword0 βNVME_LM_CREATE_CDQ_CDQID_MASKβ mask to get theCNTLIDfield from the Create response in completion dword0 (yes bestie, that's what it says, and we keep it exactly like that π)
ngl there's a lot of shifting and masking happening here, so if you're poking at these raw, double-check before you commit, fr fr. π
that's the whole page, you ate it, periodt π this came from the libnvme manual, enum nvme_lm_cdq_fields section, dated July 2026 β mwah, go slay your CDQ commands bestie π π
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms