libnvme(2)

πŸ’– libnvme(2) β€” API Manual πŸ’–

okay bestie, sit down, hydrate, and let me tell you about libnvme β€” the API manual page for enum nvme_id_ctrl_lpa. That's the little enum that holds all the flags saying which optional attributes your controller has for log pages that get pulled via the Get Log Page command. It's giving ✨capability bitfield✨ and honestly? iconic.


🌸 NAME 🌸

enum nvme_id_ctrl_lpa β€” flags indicating optional attributes for log pages that are accessed via the Get Log Page command. Basically a vibe check for what your controller can do with log pages. πŸ¦‹


✨ SYNOPSIS ✨

enum nvme_id_ctrl_lpa {
    NVME_CTRL_LPA_SMART_PER_NS ,
    NVME_CTRL_LPA_CMD_EFFECTS ,
    NVME_CTRL_LPA_EXTENDED ,
    NVME_CTRL_LPA_TELEMETRY ,
    NVME_CTRL_LPA_PERSETENT_EVENT ,
    NVME_CTRL_LPA_LI0_LI5_LI12_LI13 ,
    NVME_CTRL_LPA_DA4_TELEMETRY

};

look at her. seven constants. no filler. πŸ’…


πŸŽ€ Constants πŸŽ€

  • NVME_CTRL_LPA_SMART_PER_NS β€” if this one's set, the controller supports the SMART/Health log page on a per namespace basis. so like, each namespace gets its own health moment. πŸ’–
  • NVME_CTRL_LPA_CMD_EFFECTS β€” if set (capital S, we don't question the original, we respect it), the controller supports the commands supported and effects log page. slay.
  • NVME_CTRL_LPA_EXTENDED β€” if set, the controller supports extended data for the log page command, which means it also handles the extended number of dwords field and the log page offset fields. extra data, extra range, main character energy. πŸ‘‘
  • NVME_CTRL_LPA_TELEMETRY β€” if set, the controller supports the telemetry host-initiated and telemetry controller-initiated log pages, plus sending telemetry log notices. it's literally reporting its feelings back to you. 😭
  • NVME_CTRL_LPA_PERSETENT_EVENT β€” if set, the controller supports the persistent event log. (yes, the spelling is PERSETENT_EVENT, that's canon, do not come for it β€” spell it exactly like this in your code or the compiler will simply pass away.) ⭐
  • NVME_CTRL_LPA_LI0_LI5_LI12_LI13 β€” if set, the controller supports this lil bundle of stuff:
    • log pages log page. 🫢
    • returning the scope of each command in the commands supported and effects log page.
    • feature identifiers supported and effects log page.
    • NVMe-MI commands supported and effects log page.
  • NVME_CTRL_LPA_DA4_TELEMETRY β€” if set, the controller supports data area 4 for telemetry host-initiated and telemetry. that's it, that's the whole thing. data area 4 girlies rise. πŸ”₯

friendly reminder bestie: these flags are just describing what the controller supports β€” the enum itself doesn't do the supporting. you still have to go pull the log page yourself. no cap. 🧚

and that's the whole page, fr fr. this was enum nvme_id_ctrl_lpa out of the libnvme(2) API Manual, shipped July 2026, version tagged right there with the title. go forth and check your capability bits, you gorgeous nerd. πŸ’œπŸŒΈβœ¨

πŸ“¦ where this page comes from