libnvme(9)
π libnvme(9) β bestie's guide to the API Manual
okay so picture this: you're deep in the libnvme API Manual, section 9, and you've stumbled into the voltage-sensor corner of the Identify Controller story. this page is all about one little enum, and honestly? she's doing a lot of work behind the scenes. no cap.
β¨ NAME β¨
enum nvme_id_ctrl_vsen β the Identify Controller Voltage Sensor data structure, covering VSEN1-VSEN4. yes bestie, all four of them. she's got range. π¦
πΈ SYNOPSIS πΈ
here's the whole vibe, verbatim, do not touch:
enum nvme_id_ctrl_vsen {
NVME_CTRL_VSEN_VSRV_SHIFT ,
NVME_CTRL_VSEN_VSRV_MASK ,
NVME_CTRL_VSEN_VSRS_SHIFT ,
NVME_CTRL_VSEN_VSRS_MASK ,
NVME_CTRL_VSEN_VOLSS_SHIFT ,
NVME_CTRL_VSEN_VOLSS_MASK ,
NVME_CTRL_VSEN_PISL_SHIFT ,
NVME_CTRL_VSEN_PISL_MASK ,
NVME_CTRL_VSEN_PISV_SHIFT ,
NVME_CTRL_VSEN_PISV_MASK
};
look at her. ten constants. not one of them is filler. we stan a structured queen π
π CONSTANTS π
so here's the tea β this enum is basically a little kit of shift/mask pairs. shifting gets you the field, masking keeps only the field. that's the whole bit. let's meet every single one, no skipping, periodt.
NVME_CTRL_VSEN_VSRV_SHIFTβ the shift amount you use to pull out the Voltage Sample Rate Value (VSRV). β¨NVME_CTRL_VSEN_VSRV_MASKβ the mask that gets youVSRV. matching set with the shift above, iykyk.NVME_CTRL_VSEN_VSRS_SHIFTβ the shift amount to get the Voltage Sample Rate Scale (VSRS). πNVME_CTRL_VSEN_VSRS_MASKβ the mask to getVSRS. iconic, no notes.NVME_CTRL_VSEN_VOLSS_SHIFTβ the shift amount to get the Voltage Sample Scale (VOLSS). πNVME_CTRL_VSEN_VOLSS_MASKβ the mask to getVOLSS. yes ma'am.NVME_CTRL_VSEN_PISL_SHIFTβ the shift amount to get the Power Input Supply Label (PISL). π«ΆNVME_CTRL_VSEN_PISL_MASKβ the mask to getPISL. slay.NVME_CTRL_VSEN_PISV_SHIFTβ the shift amount to get the Power Input Supply Value (PISV), and lowkey important detail incoming: it's measured in units of0.05 V. write that down bestie, do not round it, do not get cute with it π₯NVME_CTRL_VSEN_PISV_MASKβ the mask to getPISV. last one, but absolutely not least. π
real talk: every one of these constants is a_SHIFTor a_MASK, and each pair belongs together. don't go mixing up which mask goes with which shift β that's giving "chaos" and not in the fun way π
π§ the sign-off π§
that's the whole page, bestie β nothing hidden, nothing skimmed. this gem is dated October 2026, it's the enum nvme_id_ctrl_vsen page, and it lives in libnvme section 9. go forth and shift-and-mask responsibly ππβ
page complete, mwah π
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms