libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9)

okay bestie, welcome to the libnvme API manual ✨ this one's a little slice of it β€” the enum nvme_pma page, and yes the whole thing is about Power Measurement Attributes (PMA) fields. it's giving "bit-shifting but make it fashion" πŸŽ€ don't worry, it's short, we'll get through it together.


🌸 NAME 🌸

enum nvme_pma β€” the Power Measurement Attributes (PMA) field πŸ’– literally the enum where all your PMA bit math lives.


✨ SYNOPSIS ✨

here's the whole enum, copy it exactly bestie, no typos or it's over for us 😭

enum nvme_pma {
    NVME_PMA_PME_SHIFT ,
    NVME_PMA_NCPDF_SHIFT ,
    NVME_PMA_EPF_SHIFT ,
    NVME_PMA_MIPWRTS_SHIFT ,
    NVME_PMA_PHDO_SHIFT ,
    NVME_PMA_PMT_SHIFT ,
    NVME_PMA_PME_MASK ,
    NVME_PMA_NCPDF_MASK ,
    NVME_PMA_EPF_MASK ,
    NVME_PMA_MIPWRTS_MASK ,
    NVME_PMA_PHDO_MASK ,
    NVME_PMA_PMT_MASK

};

πŸ¦‹ Constants πŸ¦‹

six shifts, six masks, twelve icons in total, and every single one of them is doing its little job 🫢 the shifts move the bits into place, the masks pick them back out. iconic behavior, honestly.

the shift squad (move it, move it) πŸ’«

  • NVME_PMA_PME_SHIFT β€” the shift amount that gets you the power measurement enable. yes, the enable one. the main character.
  • NVME_PMA_NCPDF_SHIFT β€” the shift amount that gets you the non-contiguous power data flag 🚩
  • NVME_PMA_EPF_SHIFT β€” the shift amount that gets you the estimated power flag. estimated! not confirmed! πŸ™ˆ
  • NVME_PMA_MIPWRTS_SHIFT β€” the shift amount that gets you the maximum interval power timestamp support ⏱️ big timestamp energy.
  • NVME_PMA_PHDO_SHIFT β€” the shift amount that gets you the power histogram descriptor overflow. say that five times fast, i dare you πŸ’€
  • NVME_PMA_PMT_SHIFT β€” the shift amount that gets you the power measurement type. the type, bestie, not the measurement itself. know the difference ✨

the mask brigade (pick it back out) 🎭

  • NVME_PMA_PME_MASK β€” the mask that gets you the power measurement enable. same field, opposite direction, we love a symmetrical queen πŸ‘‘
  • NVME_PMA_NCPDF_MASK β€” the mask that gets you the non-contiguous power data flag 🚩
  • NVME_PMA_EPF_MASK β€” the mask that gets you the estimated power flag πŸ’­
  • NVME_PMA_MIPWRTS_MASK β€” the mask that gets you the maximum interval power timestamp support ⏱️
  • NVME_PMA_PHDO_MASK β€” the mask that gets you the power histogram descriptor overflow πŸ“Š
  • NVME_PMA_PMT_MASK β€” the mask that gets you the power measurement type 🌈
ngl, every one of these is described exactly the same way as its shift sibling β€” the shift moves the bits, the mask grabs them. do not mix them up, i'm begging πŸ™

okay that's the whole page, no cap πŸ’… it's giving short and sweet, and you ate it up fr fr. πŸ“

and a lil sign-off for the record books: this page is enum nvme_pma out of the libnvme(9) manual, dated October 2026 β€” the source/version and date are right here in the credits because we always give credit, periodt 🫢✨

πŸ“¦ where this page comes from