libnvme(2)

okay so bestie, this is the libnvme(2) API manual and we're doing a whole deep dive on enum nvme_cmbsz β€” no cap. It's giving controller memory buffer size energy, and honestly? iconic. 🫢

✨ NAME ✨

enum nvme_cmbsz β€” this field indicates the controller memory buffer size, periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

enum nvme_cmbsz {
    NVME_CMBSZ_SQS_SHIFT ,
    NVME_CMBSZ_CQS_SHIFT ,
    NVME_CMBSZ_LISTS_SHIFT ,
    NVME_CMBSZ_RDS_SHIFT ,
    NVME_CMBSZ_WDS_SHIFT ,
    NVME_CMBSZ_SZU_SHIFT ,
    NVME_CMBSZ_SZ_SHIFT ,
    NVME_CMBSZ_SQS_MASK ,
    NVME_CMBSZ_CQS_MASK ,
    NVME_CMBSZ_LISTS_MASK ,
    NVME_CMBSZ_RDS_MASK ,
    NVME_CMBSZ_WDS_MASK ,
    NVME_CMBSZ_SZU_MASK ,
    NVME_CMBSZ_SZ_MASK ,
    NVME_CMBSZ_SZU_4K ,
    NVME_CMBSZ_SZU_64K ,
    NVME_CMBSZ_SZU_1M ,
    NVME_CMBSZ_SZU_16M ,
    NVME_CMBSZ_SZU_256M ,
    NVME_CMBSZ_SZU_4G ,
    NVME_CMBSZ_SZU_64G

};

🌸 Constants 🌸

  • NVME_CMBSZ_SQS_SHIFT β€” the shift amount to get the submission queue support. it literally slides the bits into place, iykyk.
  • NVME_CMBSZ_CQS_SHIFT β€” the shift amount to get the completion queue support. completion queen behavior.
  • NVME_CMBSZ_LISTS_SHIFT β€” the shift amount to get the PLP SGL list support. lists? we love lists.
  • NVME_CMBSZ_RDS_SHIFT β€” the shift amount to get the read data support. reading is fundamental bestie.
  • NVME_CMBSZ_WDS_SHIFT β€” the shift amount to get the write data support. writing? also fundamental.
  • NVME_CMBSZ_SZU_SHIFT β€” the shift amount to get the size units. units!! so we know what scale we're on.
  • NVME_CMBSZ_SZ_SHIFT β€” the shift amount to get the size. yes, THE size. main character number.
  • NVME_CMBSZ_SQS_MASK β€” mask to get the submission queue support. masking is self-care.
  • NVME_CMBSZ_CQS_MASK β€” mask to get the completion queue support.
  • NVME_CMBSZ_LISTS_MASK β€” mask to get the PLP SGL list support.
  • NVME_CMBSZ_RDS_MASK β€” mask to get the read data support.
  • NVME_CMBSZ_WDS_MASK β€” mask to get the write data support.
  • NVME_CMBSZ_SZU_MASK β€” mask to get the size units.
  • NVME_CMBSZ_SZ_MASK β€” mask to get the size.
  • NVME_CMBSZ_SZU_4K β€” 4 KiB. tiny but fierce πŸŽ€
  • NVME_CMBSZ_SZU_64K β€” 64 KiB. a lil bigger, still cute.
  • NVME_CMBSZ_SZU_1M β€” 1 MiB. now we're talking.
  • NVME_CMBSZ_SZU_16M β€” 16 MiB. lowkey spacious.
  • NVME_CMBSZ_SZU_256M β€” 256 MiB. highkey roomy.
  • NVME_CMBSZ_SZU_4G β€” 4 GiB. big slay energy πŸ”₯
  • NVME_CMBSZ_SZU_64G β€” 64 GiB. huge. massive. periodt. πŸ‘‘

mwah πŸ’‹ this was the enum nvme_cmbsz page from libnvme(2), dated July 2026. stay nerdy, stay hydrated πŸ¦‹βœ¨

πŸ“¦ where this page comes from