STRUCT IWL_REG_CAPA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_reg_capa(9) β€” the Kernel API Manual glow-up πŸ’–

okay so bestie, welcome to struct iwl_reg_capa from the Kernel API Manual ✨ β€” this is the struct for global regulatory capabilities, and it's the main character for handling the different APIs of reg_capa_flags. no cap, it's literally the vibe check for what your regulatory domain is allowed to do πŸ¦‹


✨ SYNOPSIS ✨

struct iwl_reg_capa {
    bool allow_40mhz;
    bool allow_80mhz;
    bool allow_160mhz;
    bool allow_320mhz;
    bool disable_11ax;
    bool disable_11be;
    bool disable_11bn;
    enum iwl_puncturing_status puncturing_status;
 };

look at her. eight whole fields. iconic πŸ’…


🌸 Members 🌸

  • allow_40mhz β€” an 11n channel with a width of 40Mhz is allowed for this regulatory domain. slay πŸ’–
  • allow_80mhz β€” an 11ac channel with a width of 80Mhz is allowed for this regulatory domain (valid only in 5 and 6 Ghz). yep, 5 and 6 Ghz ONLY, don't get it twisted πŸŽ€
  • allow_160mhz β€” an 11ac channel with a width of 160Mhz is allowed for this regulatory domain (valid only in 5 and 6 Ghz). again β€” 5 and 6 Ghz only, queen πŸ’…
  • allow_320mhz β€” an 11be channel with a width of 320Mhz is allowed for this regulatory domain (valid only in 6 Ghz). 6 Ghz only bestie, that's the whole rule πŸ¦‹
  • disable_11ax β€” 11ax is forbidden for this regulatory domain. forbidden fr fr πŸ™ˆ
  • disable_11be β€” 11be is forbidden for this regulatory domain. also forbidden, we don't make the rules πŸ’€
  • disable_11bn β€” UHR/11bn is not allowed for this regulatory domain. nope, not happening ✨
  • puncturing_status β€” the EHT puncturing status for the current MCC. see enum iwl_puncturing_status. (iykyk πŸ‘‘)
real talk: the allow_* booleans and the disable_* booleans are both just vibes for this regulatory domain β€” read each one exactly as written, no guessing πŸ’œ

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h β€” plus the whole friend group: enum iwl_nvm_sbands_flags(9), enum iwl_puncturing_status(9), enum iwl_nvm_channel_flags(9), iwl_parse_nvm_mcc_info(9), struct iwl_nvm_section(9), iwl_read_external_nvm(9) 🌈


aaaand that's the page 🫢 source/version: ./drivers/net/wireless/intel/i... (yes it's truncated, that's just how she is 😭), dated October 2026, and it's struct iwl_reg_capa(9) forever and always. periodt. πŸŽ€πŸ’–

πŸ“¦ where this page comes from