libnvme(2)
π libnvme(2) β bestie edition π
okay so this is a page from the libnvme API manual, and we're talking about enum nvme_cmic. yes it's a mouthful, yes it's important, stay with me π«Ά
πΈ NAME πΈ
enum nvme_cmic β this field is literally the controller's multi-path I/O and NS sharing capabilities. that's the whole vibe. it tells you what your controller can do when multiple paths / multiple namespaces are in the mix β¨
π SYNOPSIS π
here's the whole enum, no crumbs left behind:
enum nvme_cmic {
NVME_CMIC_MULTI_PORT_SHIFT ,
NVME_CMIC_MULTI_CTRL_SHIFT ,
NVME_CMIC_MULTI_SRIOV_SHIFT ,
NVME_CMIC_MULTI_ANA_SHIFT ,
NVME_CMIC_MULTI_RSVD_SHIFT ,
NVME_CMIC_MULTI_PORT_MASK ,
NVME_CMIC_MULTI_CTRL_MASK ,
NVME_CMIC_MULTI_SRIOV_MASK ,
NVME_CMIC_MULTI_ANA_MASK ,
NVME_CMIC_MULTI_RSVD_MASK
};
π Constants π
so we've got two flavours here, bestie: shift amounts and masks. shifts slide the bits over, masks grab 'em out. iconic duo, fr fr.
NVME_CMIC_MULTI_PORT_SHIFTβ shift amount to get the NVM subsystem port πͺNVME_CMIC_MULTI_CTRL_SHIFTβ shift amount to get the controllers ποΈNVME_CMIC_MULTI_SRIOV_SHIFTβ shift amount to get the SR-IOV virtual function πNVME_CMIC_MULTI_ANA_SHIFTβ shift amount to get the asymmetric namespace access reporting πNVME_CMIC_MULTI_RSVD_SHIFTβ shift amount to get the reserved πNVME_CMIC_MULTI_PORT_MASKβ mask to get the NVM subsystem port πͺNVME_CMIC_MULTI_CTRL_MASKβ mask to get the controllers ποΈNVME_CMIC_MULTI_SRIOV_MASKβ mask to get the SR-IOV virtual function πNVME_CMIC_MULTI_ANA_MASKβ mask to get the asymmetric namespace access reporting πNVME_CMIC_MULTI_RSVD_MASKβ mask to get the reserved π
not me listing all ten of these like a playlist. anyway. shifts to move, masks to grab. that's the whole assignment π
and that's the page, bestie π this was enum nvme_cmic from the libnvme(2) manual, dated July 2026. go forth and bit-manipulate responsibly β¨ππ¦
π¦ 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