ENUM IEEE80211_VHT_MCS_SUPPORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum ieee80211_vht_mcs_support β€” the kernel API manual, bestie edition πŸŽ€

Okay so picture this: you're deep in the kernel API manual (yes, the kernel API manual, we're fancy now ✨) and you bump into enum ieee80211_vht_mcs_support. That's the whole name, that's the vibe. It's the little enum that's about to tell you which MCSes you get for how many streams. Iconic behaviour, honestly.


🌸 NAME 🌸

enum ieee80211_vht_mcs_support β€” VHT MCS support definitions. That's it, that's the whole job. She defines things. She supports MCSes. She's booked and busy πŸ’–


✨ SYNOPSIS ✨

Like, here's the actual shape of her, no cap:

enum ieee80211_vht_mcs_support {
    IEEE80211_VHT_MCS_SUPPORT_0_7 ,
    IEEE80211_VHT_MCS_SUPPORT_0_8 ,
    IEEE80211_VHT_MCS_SUPPORT_0_9 ,
    IEEE80211_VHT_MCS_NOT_SUPPORTED

};

Four constants, all in a row, looking cute. Slay 🫢


πŸ¦‹ Constants πŸ¦‹

  • IEEE80211_VHT_MCS_SUPPORT_0_7 β€” MCSes 0-7 are supported for the number of streams. Lowkey the modest one, but she's valid πŸ’œ
  • IEEE80211_VHT_MCS_SUPPORT_0_8 β€” MCSes 0-8 are supported. One more, more to love 😭
  • IEEE80211_VHT_MCS_SUPPORT_0_9 β€” MCSes 0-9 are supported. Main character energy, truly πŸ‘‘
  • IEEE80211_VHT_MCS_NOT_SUPPORTED β€” this number of streams isn't supported. It's giving "we don't do that here" πŸ’€ no hate, just boundaries.

🧚 Description 🧚

So here's where it gets good, bestie. These definitions live in each 2-bit subfield of the rx_mcs_map and tx_mcs_map fields of struct ieee80211_vht_mcs_info β€” and both of those are split into 8 subfields by number of streams. Eight! Subfields! Everywhere! 🌈

What these values do is indicate which MCSes are supported for the number of streams that the value appears for. That's the flex. That's the whole point. Periodt.


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./include/linux/ieee80211-vht.h enum ieee80211_vht_opmode_bits(9)
  • struct ieee80211_vht_mcs_info(9)
  • struct ieee80211_vht_cap(9)
  • enum ieee80211_vht_chanwidth(9)
  • struct ieee80211_vht_operation(9)
  • ieee80211_get_vht_max_nss(9)

Go read them, iykyk, they're all besties too πŸ’–


Fr fr though: these are enum constants in a kernel header, so don't go treating them like runtime values you can just poke at β€” they're definitions, and they mean exactly what they say here. Use them like the constants they are, and you'll be fine πŸŽ€

And that's a wrap, gorgeous πŸ¦‹ this page ships from ./include/linux and its date stamp says October 2026 β€” so like, it's from the future, obviously, because she ate. πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from