libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– NAME

okay so bestie, gather round β€” this is struct libnbft_info, and it's literally the parsed NBFT table data. that's it, that's the vibe. it's the struct where all your NBFT goodness lives after somebody did the parsing for you ✨

(this whole page lives in the libnvme API manual, section 9 β€” iykyk πŸ’…)


✨ SYNOPSIS

struct libnbft_info {
    char *filename;
    __u8 *raw_nbft;
    ssize_t raw_nbft_size;
    struct libnbft_host host;
    struct libnbft_hfi **hfi_list;
    struct libnbft_security **security_list;
    struct libnbft_discovery **discovery_list;
    struct libnbft_subsystem_ns **subsystem_ns_list;
 };

like, look at her. eight fields. main character energy, no cap πŸ‘‘


πŸŽ€ Members

okay here's the rundown, one by one, no skipping, we don't do that here 🫢

  • filename β€” the path to the NBFT table. where she lives, basically 🏠
  • raw_nbft β€” the original NBFT table contents, untouched, in all her raw glory. the receipts, fr fr πŸ’€
  • raw_nbft_size β€” the size of raw_nbft. gotta know how much raw we're working with πŸ“
  • host β€” the Host Descriptor, and lowkey it should match other NBFTs. like, matching fits = iconic, mismatched = 🚩
  • hfi_list β€” the HFI Descriptor List. it's a null-terminated array, so when you hit null, you're done, periodt βœ‹
  • security_list β€” the Security Profile Descriptor List, also a null-terminated array. security? we love her πŸ›‘οΈβœ¨
  • discovery_list β€” the Discovery Descriptor List, null-terminated array again. go find your stuff bestie πŸ”
  • subsystem_ns_list β€” the SSNS Descriptor List, and yes, null-terminated array, the pattern is very much giving consistency 🌈
quick vibe check: those last four are all null-terminated arrays β€” that's four separate "stop when you see null" situations, don't forget it πŸ™ˆ

and that's the whole page, bestie, you ate that πŸ“πŸ’…

sign-off time: this was struct libnbft_info out of the libnvme(9)</> API Manual, dated October 2026 β€” go forth and parse responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from