libnvme(2)

πŸ’– libnvme β€” struct nbft_hfi πŸ’–

okay bestie, welcome to the libnvme API manual, section 2 β€” yes, the whole thing. sit down, grab a boba πŸ§‹, because today's main character is a lil struct called nbft_hfi, and she is literally the Host Fabric Interface (HFI) Descriptor, straight out of Figure 11. πŸ‘‘


✨ NAME ✨

struct nbft_hfi β€” the Host Fabric Interface (HFI) Descriptor (Figure 11). no cap, that's the whole name. iconic of her. πŸ’…


🌸 SYNOPSIS 🌸

struct nbft_hfi {
    __u8 structure_id;
    __u8 index;
    __u8 flags;
    __u8 trtype;
    __u8 reserved1[12];
    struct nbft_heap_obj trinfo_obj;
    __u8 reserved2[10];
 };

look at that layout. the way she's just sitting there, all packed and little πŸ₯Ί. beautiful. perfect. no notes.


πŸŽ€ Members πŸŽ€

bestie this is the part where we go field by field, because every single one of them matters, fr fr. πŸ”₯

  • structure_id β€” the Structure ID. this field shall be set to 3h (i.e., Host Fabric Interface Descriptor; #NBFT_DESC_HFI). it's giving "hi, i'm the HFI descriptor, no need to guess." πŸ‘‹
  • index β€” the HFI Descriptor Index. this one tells you the number of this HFI Descriptor inside the Host Fabric Interface Descriptor List. like a seat number but make it fabric. πŸ”’
  • flags β€” the HFI Descriptor Flags. for the deets, go look at enum nbft_hfi_flags. go on, she's waiting. 🚩
  • trtype β€” the HFI Transport Type. check enum nbft_trtype for the full tea. 🚚
  • reserved1 β€” Reserved. that's it. that's the whole personality. do not perceive her. πŸ™ˆ
  • trinfo_obj β€” the HFI Transport Info Descriptor Heap Object Reference</half>... I mean HFI Transport Info Descriptor Heap Object Reference πŸ’–. if this field is set to a non-zero value, then this field indicates the location and size of a heap object containing a HFI Transport Info. zero = she said nothing. non-zero = she's pointing you at a whole heap object. slay. πŸ“
  • reserved2 β€” Reserved. again. ten whole bytes of minding her own business. respect. ✨

ngl, the reserved fields are lowkey the most chill members in this entire struct. they're just there. existing. living their truth. πŸ¦‹

and that's the page, bestie!! you ate that. πŸ‘‘πŸ’–

this has been the libnvme(2) manual β€” the API Manual β€” page for struct nbft_hfi, brought to you from July 2026 (source/version vibes: struct nbft_hfi, libnvme(2)). mwah. periodt. πŸ’…πŸŒˆπŸŒΈ

πŸ“¦ where this page comes from