libnvme(2)
π NAME π
okay so this is from the libnvme manual, section 2 (that's the API Manual bestie, not some random command) β and it's all about enum nvme_lm_queue_attributes, aka I/O Submission and I/O Completion Queue Attributes. literally just the attribute bits for the queues. slay. π
β¨ SYNOPSIS β¨
here's the enum in all its glory, no cap:
enum nvme_lm_queue_attributes {
NVME_LM_IOSQPC_MASK ,
NVME_LM_IOSQPC_SHIFT ,
NVME_LM_IOSQPRIO_MASK ,
NVME_LM_IOSQPRIO_SHIFT ,
NVME_LM_IOCQPC_MASK ,
NVME_LM_IOCQPC_SHIFT ,
NVME_LM_IOCQIEN_MASK ,
NVME_LM_IOCQIEN_SHIFT ,
NVME_LM_S0PT_MASK ,
NVME_LM_S0PT_SHIFT ,
NVME_LM_IOCQIV_MASK ,
NVME_LM_IOCQIV_SHIFT
};
π Constants π
πΈ the I/O submission queue ones πΈ
NVME_LM_IOSQPC_MASKβ the mask that gets you the Physically Contiguous (PC) bit for this I/O submission queue. she's a mask, she masks. β¨NVME_LM_IOSQPC_SHIFTβ the shift that gets you the PC bit for this I/O submission queue. (yes there's a mask and a shift, that's just the vibe.)NVME_LM_IOSQPRIO_MASKβ the mask that gets you the Priority for this I/O submission queue. priorities, we love a queue that knows what she wants. πNVME_LM_IOSQPRIO_SHIFTβ the shift that gets you the Priority for this I/O submission queue.
π¦ and now the I/O completion queue ones π¦
NVME_LM_IOCQPC_MASKβ the mask that gets you the Physicaly Contiguous (PC) bit for this I/O completion queue.
not me typing Physicaly β that's literally how it's spelled in the original, bestie, I'm just the messenger π it means the same thing, the PC bit for the completion queue.
NVME_LM_IOCQPC_SHIFTβ the shift that gets you the PC bit for this I/O completion queue.NVME_LM_IOCQIEN_MASKβ the mask that gets you the Interrupts Enabled bit for this I/O completion queue.NVME_LM_IOCQIEN_SHIFTβ the shift that gets you the Interrupts Enabled bit for this I/O completion.NVME_LM_S0PT_MASKβ the mask that gets you the value of the Phase Tag bit for Slot 0 of this I/O completion queue. slot zero specifically. main character slot energy. βNVME_LM_S0PT_SHIFTβ the shift that gets you the value of the Phase Tag bit for Slot 0 of this I/O completion queue.NVME_LM_IOCQIV_MASKβ the mask that gets you the Interrupt Vector (IV) for this I/O completion queue.NVME_LM_IOCQIV_SHIFTβ the shift that gets you the IV for this I/O completion queue.
fr fr, that's the whole thing: masks to pull the bits out, shifts to slide them down to where you can actually read them. every. single. one. listed. no skips. π―
okay bestie that's the whole page π«Ά this little gem is from enum nvme_lm_queue_attributes in the libnvme(2) API Manual, dated July 2026 β go get your bits, ily, bye πβ¨π
π¦ 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