libnvme(2)

πŸ’– libnvme β€” section 2, bestie πŸ’–

okay so you opened the libnvme(2) API manual and landed on this page, and it's literally all about one little struct, so let's get into it 🫢


✨ NAME ✨

struct nvme_streams_directive_params β€” the Streams Directive: Return Parameters Data Structure 🌊🌸

✨ SYNOPSIS ✨

here's the whole vibe, exactly as it lives in memory, no cap:

struct nvme_streams_directive_params {
    __le16 msl;
    __le16 nssa;
    __le16 nsso;
    __u8 nssc;
    __u8 rsvd[9];
    __le32 sws;
    __le16 sgs;
    __le16 nsa;
    __le16 nso;
    __u8 rsvd2[6];
 };

πŸ‘‘ MEMBERS πŸ‘‘

every field, one by one, and no we are NOT skipping any πŸ’…

  • msl β€” Max Streams Limit. it's giving "the ceiling, babe" πŸ”₯
  • nssa β€” NVM Subsystem Streams Available. what the subsystem has left to hand out ✨
  • nsso β€” NVM Subsystem Streams Open. how many are open rn πŸ‘€
  • nssc β€” NVM Subsystem Stream Capability. the capability situation 🌈
  • rsvd β€” Reserved. do not touch, it's not for you πŸ™ˆ
  • sws β€” Stream Write Size. so iconic πŸ“
  • sgs β€” Stream Granularity Size. the granularity πŸ’«
  • nsa β€” Namespace Streams Allocated. how many streams this namespace got 🌸
  • nso β€” Namespace Streams Open. how many of those are open πŸ’œ
  • rsvd2 β€” Reserved. again, hands off πŸ’€

and that's the whole page bestie, go forth and stream responsibly πŸŽ€

this was struct nvme_streams_directive_params, page libnvme(2), from July 2026 β€” k byeeee πŸ‘‘βœ¨πŸ¦‹

πŸ“¦ where this page comes from