STRUCT REGULATORY_REQUEST(9)
π struct regulatory_request(9) π
okay so this is a page from the Kernel API Manual, and it's about struct regulatory_request β literally the little data blob that keeps track of regulatory requests. yes bestie, that kind of regulatory. wireless stuff. country codes. the whole vibe. let's get into it π
β¨ NAME β¨
struct regulatory_request β used to keep track of regulatory requests π¦
β¨ SYNOPSIS β¨
struct regulatory_request {
struct rcu_head rcu_head;
int wiphy_idx;
enum nl80211_reg_initiator initiator;
enum nl80211_user_reg_hint_type user_reg_hint_type;
char alpha2[3];
enum nl80211_dfs_regions dfs_region;
bool intersect;
bool processed;
enum environment_cap country_ie_env;
struct list_head list;
};
πΈ Members πΈ
so every field in this struct is kind of doing its own main character thing, and here's what each one is giving:
rcu_headβ the RCU head struct, used to free the request. it's giving cleanup crew π§Ήwiphy_idxβ this one gets set if this request's initiator isREGDOM_SET_BY_COUNTRY_IEorREGDOM_SET_BY_DRIVER. the wireless core can use it to deal with conflicts and potentially tell users which devices specifically caused those conflicts. so like, receipts. it's holding receipts π₯initiatorβ tells you who sent this request. could be any of the ones set innl80211_reg_initiator(NL80211_REGDOM_SET_BY_*). basically the "who started this" field πuser_reg_hint_typeβ if the initiator was of typeNL80211_REGDOM_SET_BY_USER, this classifies what kind of hint got passed along. could be any of theNL80211_USER_REG_HINT_*types. it's the hint's hint, iykyk β¨alpha2β the ISO / IEC 3166 alpha2 country code of the requested regulatory domain. and omg there are a few special codes you need to know:00β World regulatory domain π99β built by driver but a specific alpha2 cannot be determined98β result of an intersection between two regulatory domains π«Ά97β regulatory domain has not yet been configured
dfs_regionβ if CRDA responded with a regulatory domain that requires DFS master operation on a known DFS region (NL80211_DFS_*), thendfs_regionrepresents that region. drivers can use this plus thealpha2to adjust their device's DFS parameters as required. teamwork fr fr π§intersectβ indicates whether the wireless core should intersect the requested regulatory domain with the presently set regulatory domain. like, do these two overlap bestie π€processedβ indicates whether or not this request has already been processed. when the last request is processed, it means the currently regulatory domain set on cfg80211 is updated from CRDA and can be used by other regulatory requests. when the last request is not yet processed, we must yield until it is processed before processing any new requests. so yeah β no skipping the line πcountry_ie_envβ lets us know if the AP is telling us we are outdoor, indoor, or if it doesn't matter. the AP is basically doing a vibe check on your location π€οΈlistβ used to insert into thereg_requests_listlinked list. the little link in the chain π
π SEE ALSO π
- Kernel file
./include/net/regulatory.h enum environment_cap(9)enum ieee80211_regulatory_flags(9)struct ieee80211_wmm_ac(9)
go read those next, bestie, they're literally iconic π
okay that's the whole page!! sourced straight from ./include/net, dated October 2026 β mwah, sending you off with a kiss and a struct regulatory_request(9) header on top and bottom, periodt πππ·
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms