libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NAME πŸ’…

enum nvme_id_ctrl_trattr β€” the Tracking Attributes, bestie!! ✨ This is the enum that holds all the shift amounts and masks you need to pull the tracking-attribute bits out of the struct nvme_id_ctrl.trattr field. It's giving "small but essential", fr fr. πŸŽ€

Oh and hey β€” this whole thing lives in the libnvme API Manual, section 9, iykyk. πŸ¦‹


✨ SYNOPSIS ✨

enum nvme_id_ctrl_trattr {
    NVME_CTRL_TRATTR_THMCS_SHIFT ,
    NVME_CTRL_TRATTR_TUDCS_SHIFT ,
    NVME_CTRL_TRATTR_MRTLL_SHIFT ,
    NVME_CTRL_TRATTR_THMCS_MASK ,
    NVME_CTRL_TRATTR_TUDCS_MASK ,
    NVME_CTRL_TRATTR_MRTLL_MASK

};

Like, that's the whole roster πŸ‘‘ β€” three _SHIFT girlies and three _MASK girlies, and they all ate. πŸ’…


🌸 Constants 🌸

Okay so every single one of these is a little helper that reads something out of the struct nvme_id_ctrl.trattr field β€” the shift ones tell you how far to shift, the mask ones give you the mask. No cap, that's the whole vibe. 🫢

  • NVME_CTRL_TRATTR_THMCS_SHIFT β€” the shift amount you use to get the Track Host Memory Changes Support out of the struct nvme_id_ctrl.trattr field. ✨
  • NVME_CTRL_TRATTR_TUDCS_SHIFT β€” the shift amount you use to get the Track User Data Changes Support out of the struct nvme_id_ctrl.trattr field. πŸ’–
  • NVME_CTRL_TRATTR_MRTLL_SHIFT β€” the shift amount you use to get the Memory Range Tracking Length Limit out of the struct nvme_id_ctrl.trattr field. πŸ¦‹
  • NVME_CTRL_TRATTR_THMCS_MASK β€” the mask you use to get the Track Host Memory Changes Support out of the struct nvme_id_ctrl.trattr field. πŸŽ€
  • NVME_CTRL_TRATTR_TUDCS_MASK β€” the mask you use to get the Track User Data Changes Support out of the struct nvme_id_ctrl.trattr field. 🌈
  • NVME_CTRL_TRATTR_MRTLL_MASK β€” the mask you use to get the Memory Range Tracking Length Limit out of the struct nvme_id_ctrl.trattr field. ⭐
Lowkey the pattern here is chef's kiss: THMCS = Track Host Memory Changes Support, TUDCS = Track User Data Changes Support, MRTLL = Memory Range Tracking Length Limit. Three pairs, six constants, zero notes. Periodt. πŸ’€

And that's the page!! 🌟 October 2026, enum nvme_id_ctrl_trattr, libnvme(9) β€” mwah, ty for reading, ily, go track some attributes bestie πŸ’œπŸ§š

πŸ“¦ where this page comes from