libnvme(2)

πŸ’– NAME πŸ’–

okay bestie so this is enum nvme_constants β€” literally just a lil stash spot where all the ✨magic nvme numbers✨ live. A place to stash various constant nvme values. that's it. that's the whole vibe πŸŽ€


🌸 SYNOPSIS 🌸

enum nvme_constants {
    NVME_NSID_ALL ,
    NVME_NSID_NONE ,
    NVME_UUID_NONE ,
    NVME_CNTLID_NONE ,
    NVME_CNSSPECID_NONE ,
    NVME_LOG_LSP_NONE ,
    NVME_LOG_LSI_NONE ,
    NVME_LOG_LPO_NONE ,
    NVME_IDENTIFY_DATA_SIZE ,
    NVME_LOG_SUPPORTED_LOG_PAGES_MAX ,
    NVME_ID_NVMSET_LIST_MAX ,
    NVME_ID_UUID_LIST_MAX ,
    NVME_ID_CTRL_LIST_MAX ,
    NVME_ID_NS_LIST_MAX ,
    NVME_ID_SECONDARY_CTRL_MAX ,
    NVME_ID_DOMAIN_LIST_MAX ,
    NVME_ID_ENDURANCE_GROUP_LIST_MAX ,
    NVME_ID_ND_DESCRIPTOR_MAX ,
    NVME_FEAT_LBA_RANGE_MAX ,
    NVME_LOG_ST_MAX_RESULTS ,
    NVME_LOG_TELEM_BLOCK_SIZE ,
    NVME_LOG_FID_SUPPORTED_EFFECTS_MAX ,
    NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX ,
    NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED ,
    NVME_DSM_MAX_RANGES ,
    NVME_NQN_LENGTH ,
    NVMF_TRADDR_SIZE ,
    NVMF_TSAS_SIZE ,
    NVME_ZNS_CHANGED_ZONES_MAX ,
    NVME_STREAM_ID_MAX

};

look at all of them. thirty of them. iconic. no notes πŸ’…


✨ Constants ✨

ngl every single one of these gets its own little moment, so let's go 🫢

  • NVME_NSID_ALL β€” a broadcast value, used to say "yeah give me ALL the namespaces" πŸ‘‘
  • NVME_NSID_NONE β€” the invalid namespace id, for when the nsid parameter just... isn't used in a command. ghosted fr πŸ™ˆ
  • NVME_UUID_NONE β€” use this when you wanna omit a uuid command parameter
  • NVME_CNTLID_NONE β€” use this when you wanna omit a cntlid command parameter
  • NVME_CNSSPECID_NONE β€” use this when you wanna omit a cns_specific_id command parameter
  • NVME_LOG_LSP_NONE β€” use this when you wanna omit a log lsp command parameter
  • NVME_LOG_LSI_NONE β€” use this when you wanna omit a log lsi command parameter
  • NVME_LOG_LPO_NONE β€” use this when you wanna omit a log lpo command parameter
  • NVME_IDENTIFY_DATA_SIZE β€” the transfer size for nvme identify commands. big important number energy πŸ’–
  • NVME_LOG_SUPPORTED_LOG_PAGES_MAX β€” the largest possible index in the supported log pages log.
  • NVME_ID_NVMSET_LIST_MAX β€” the largest possible nvmset index in identify nvmeset
  • NVME_ID_UUID_LIST_MAX β€” the largest possible uuid index in identify uuid list
  • NVME_ID_CTRL_LIST_MAX β€” the largest possible controller index in identify controller list
  • NVME_ID_NS_LIST_MAX β€” the largest possible namespace index in identify namespace list
  • NVME_ID_SECONDARY_CTRL_MAX β€” the largest possible secondary controller index in identify secondary controller
  • NVME_ID_DOMAIN_LIST_MAX β€” the largest possible domain index in the in domain list
  • NVME_ID_ENDURANCE_GROUP_LIST_MAX β€” the largest possible endurance group index in the endurance group list
  • NVME_ID_ND_DESCRIPTOR_MAX β€” the largest possible namespace granularity index in the namespace granularity descriptor list
  • NVME_FEAT_LBA_RANGE_MAX β€” the largest possible LBA range index in feature lba range type
  • NVME_LOG_ST_MAX_RESULTS β€” the largest possible self test result index in the device self test log
  • NVME_LOG_TELEM_BLOCK_SIZE β€” specification defined size of Telemetry Data Blocks 🌈
  • NVME_LOG_FID_SUPPORTED_EFFECTS_MAX β€” the largest possible FID index in the feature identifiers effects log.
  • NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX β€” the largest possible MI Command index in the MI Command effects log.
  • NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_RESERVED β€” the reserved space in the MI Command effects log. reserved = do not touch bestie πŸ’€
  • NVME_DSM_MAX_RANGES β€” the largest possible range index in a data-set management command
  • NVME_NQN_LENGTH β€” max length for NVMe Qualified Name
  • NVMF_TRADDR_SIZE β€” max Transport Address size
  • NVMF_TSAS_SIZE β€” max Transport Specific Address Subtype size
  • NVME_ZNS_CHANGED_ZONES_MAX β€” max number of zones in the changed zones log page
  • NVME_STREAM_ID_MAX β€” max number of stream IDs πŸ”₯

fr fr that's the whole page. thirty constants, zero filler, all vibes. save this in your brain's mental bookmarks bestie 🧚

πŸ’œ and that's a wrap on libnvme(2) β€” this one's from the API Manual, page enum nvme_constants, dated July 2026. mwah, go write some banger kernel-adjacent code πŸ’…βœ¨

πŸ“¦ where this page comes from