libnvme(2)

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

okay bestie, welcome to the libnvme API manual, page 2 of the manual section, no cap. pull up a chair, grab a boba, we're decoding one lil enum together and it's gonna be iconic. 🧚✨


🌸 NAME 🌸

enum nvme_cmd_effects β€” Commands Supported and Effects. literally the receipts for what commands your NVMe drive says it can do and what chaos each one causes. πŸ‘‘


✨ SYNOPSIS ✨

enum nvme_cmd_effects {
    NVME_CMD_EFFECTS_CSUPP ,
    NVME_CMD_EFFECTS_LBCC ,
    NVME_CMD_EFFECTS_NCC ,
    NVME_CMD_EFFECTS_NIC ,
    NVME_CMD_EFFECTS_CCC ,
    NVME_CMD_EFFECTS_CSER_MASK ,
    NVME_CMD_EFFECTS_CSE_MASK ,
    NVME_CMD_EFFECTS_UUID_SEL

};

not me dropping the whole enum verbatim so you can copy-paste it, i got you fr fr. 🫢


πŸŽ€ Constants πŸŽ€

these are the members of the enum, one by one, no skipping, no summarising, we are doing ALL of them because that's just the vibe. πŸ’…

  • NVME_CMD_EFFECTS_CSUPP β€” Command Supported. the "yes queen, i can do that" bit. βœ…
  • NVME_CMD_EFFECTS_LBCC β€” Logical Block Content Change. this command messes with the actual data in your logical blocks, so like, your bytes are not the same bytes afterwards. 😭
  • NVME_CMD_EFFECTS_NCC β€” Namespace Capability Change. the namespace's abilities shift after this one runs, slay but also be aware. 🌈
  • NVME_CMD_EFFECTS_NIC β€” Namespace Inventory Change. the list of namespaces itself can change, so your inventory is giving very much "in flux". πŸ¦‹
  • NVME_CMD_EFFECTS_CCC β€” Controller Capability Change. the controller's capabilities change β€” big main character energy from this flag. πŸ‘‘
  • NVME_CMD_EFFECTS_CSER_MASK β€” Command Submission and Execution Relaxations. mask for the relaxation bits, i.e. how chill the submission and execution rules get. πŸ“
  • NVME_CMD_EFFECTS_CSE_MASK β€” Command Submission and Execution. mask for the submission and execution bits themselves. the way this is just the core mechanic πŸ’€
  • NVME_CMD_EFFECTS_UUID_SEL β€” UUID Selection Supported. yes, UUID selection is supported, and yes, that's hot. πŸ’œ

as a reminder bestie: every single flag up there is named exactly as it appears in the enum, character for character, so don't go renaming them in your code, ok? the compiler will simply not be your friend. πŸ™ˆ

and that's the whole page! we ate and left no crumbs. ✨

cute lil sign-off: this was enum nvme_cmd_effects from the libnvme API manual, dated July 2026, living in manual section 2. mwah, go forth and check your command effects. πŸ’–πŸŽ€

πŸ“¦ where this page comes from