~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/wireless/reg.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /net/wireless/reg.h (Version linux-6.11-rc3) and /net/wireless/reg.h (Version ccs-tools-1.8.9)


  1 #ifndef __NET_WIRELESS_REG_H                        1 
  2 #define __NET_WIRELESS_REG_H                      
  3                                                   
  4 #include <net/cfg80211.h>                         
  5                                                   
  6 /*                                                
  7  * Copyright 2008-2011  Luis R. Rodriguez <mcg    
  8  * Copyright (C) 2019, 2023 Intel Corporation     
  9  *                                                
 10  * Permission to use, copy, modify, and/or dis    
 11  * purpose with or without fee is hereby grant    
 12  * copyright notice and this permission notice    
 13  *                                                
 14  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AU    
 15  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL     
 16  * MERCHANTABILITY AND FITNESS. IN NO EVENT SH    
 17  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUEN    
 18  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA    
 19  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TOR    
 20  * OR IN CONNECTION WITH THE USE OR PERFORMANC    
 21  */                                               
 22                                                   
 23 enum ieee80211_regd_source {                      
 24         REGD_SOURCE_INTERNAL_DB,                  
 25         REGD_SOURCE_CRDA,                         
 26         REGD_SOURCE_CACHED,                       
 27 };                                                
 28                                                   
 29 extern const struct ieee80211_regdomain __rcu     
 30                                                   
 31 bool reg_is_valid_request(const char *alpha2);    
 32 bool is_world_regdom(const char *alpha2);         
 33 bool reg_supported_dfs_region(enum nl80211_dfs    
 34 enum nl80211_dfs_regions reg_get_dfs_region(st    
 35                                                   
 36 int regulatory_hint_user(const char *alpha2,      
 37                          enum nl80211_user_reg    
 38                                                   
 39 /**                                               
 40  * regulatory_hint_indoor - hint operation in     
 41  * @is_indoor: if true indicates that user spa    
 42  * device is operating in an indoor environmen    
 43  * @portid: the netlink port ID on which the h    
 44  */                                               
 45 void regulatory_hint_indoor(bool is_indoor, u3    
 46                                                   
 47 /**                                               
 48  * regulatory_netlink_notify - notify on relea    
 49  * @portid: the netlink socket port ID            
 50  */                                               
 51 void regulatory_netlink_notify(u32 portid);       
 52                                                   
 53 void wiphy_regulatory_register(struct wiphy *w    
 54 void wiphy_regulatory_deregister(struct wiphy     
 55                                                   
 56 int __init regulatory_init(void);                 
 57 void regulatory_exit(void);                       
 58                                                   
 59 int set_regdom(const struct ieee80211_regdomai    
 60                enum ieee80211_regd_source regd    
 61                                                   
 62 unsigned int reg_get_max_bandwidth(const struc    
 63                                    const struc    
 64                                                   
 65 bool reg_last_request_cell_base(void);            
 66                                                   
 67 /**                                               
 68  * regulatory_hint_found_beacon - hints a beac    
 69  * @wiphy: the wireless device where the beaco    
 70  * @beacon_chan: the channel on which the beac    
 71  * @gfp: context flags                            
 72  *                                                
 73  * This informs the wireless core that a beaco    
 74  * the channel provided. This allows the wirel    
 75  * guesses on regulatory to help with world ro    
 76  * world roaming -- when we do not know our cu    
 77  * only useful on channels 12, 13 and 14 on th    
 78  * 1-11 are already enabled by the world regul    
 79  * non-radar 5 GHz channels.                      
 80  *                                                
 81  * Drivers do not need to call this, cfg80211     
 82  * on a newly found BSS. If you cannot make us    
 83  * set the wiphy->disable_beacon_hints to true    
 84  */                                               
 85 void regulatory_hint_found_beacon(struct wiphy    
 86                                   struct ieee8    
 87                                   gfp_t gfp);     
 88                                                   
 89 /**                                               
 90  * regulatory_hint_country_ie - hints a countr    
 91  * @wiphy: the wireless device giving the hint    
 92  *      conflicts)                                
 93  * @band: the band on which the country IE was    
 94  *      the band we'll process the country IE     
 95  * @country_ie: pointer to the country IE         
 96  * @country_ie_len: length of the country IE      
 97  *                                                
 98  * We will intersect the rd with the what CRDA    
 99  * for the alpha2 this country IE belongs to,     
100  * sending us incorrect or outdated informatio    
101  *                                                
102  * The AP is expected to provide Country IE ch    
103  * band it is on. It is technically possible f    
104  * country IE triplets even for channels outsi    
105  * in but for that they would have to use the     
106  * in combination with a triplet but this beha    
107  * not observed. For this reason if a triplet     
108  * information for a band the BSS is not prese    
109  */                                               
110 void regulatory_hint_country_ie(struct wiphy *    
111                          enum nl80211_band ban    
112                          const u8 *country_ie,    
113                          u8 country_ie_len);      
114                                                   
115 /**                                               
116  * regulatory_hint_disconnect - informs all de    
117  *                                                
118  * Regulotory rules can be enhanced further up    
119  * connection to an AP. These rules become sta    
120  * and go to another country, whether or not w    
121  * If we suspend, go to another country and re    
122  * get disconnected shortly after resuming and    
123  * This routine is a helper to restore regulat    
124  * prior to our first connect attempt. This in    
125  * beacon regulatory hints. The ieee80211_regd    
126  * be respected but if a user had set the regu    
127  * precedence.                                    
128  *                                                
129  * Must be called from process context.           
130  */                                               
131 void regulatory_hint_disconnect(void);            
132                                                   
133 /**                                               
134  * cfg80211_get_unii - get the U-NII band for     
135  * @freq: the frequency for which we want to g    
136  *                                                
137  * Get a value specifying the U-NII band frequ    
138  * U-NII bands are defined by the FCC in C.F.R    
139  *                                                
140  * Return: -EINVAL if freq is invalid, 0 for U    
141  * 2 for UNII-2B, 3 for UNII-2C and 4 for UNII    
142  */                                               
143 int cfg80211_get_unii(int freq);                  
144                                                   
145 /**                                               
146  * regulatory_indoor_allowed - is indoor opera    
147  * Return: %true if indoor operation is allowe    
148  */                                               
149 bool regulatory_indoor_allowed(void);             
150                                                   
151 /*                                                
152  * Grace period to timeout pre-CAC results on     
153  * value is used for Non-ETSI domain.             
154  * TODO: May be make this timeout available th    
155  */                                               
156 #define REG_PRE_CAC_EXPIRY_GRACE_MS 2000          
157                                                   
158 /**                                               
159  * regulatory_propagate_dfs_state - Propagate     
160  * @wiphy: wiphy on which radar is detected an    
161  *      to other available wiphys having the s    
162  * @chandef: Channel definition of radar detec    
163  * @dfs_state: DFS channel state to be set        
164  * @event: Type of radar event which triggered    
165  *                                                
166  * This function should be called with rtnl lo    
167  */                                               
168 void regulatory_propagate_dfs_state(struct wip    
169                                     struct cfg    
170                                     enum nl802    
171                                     enum nl802    
172                                                   
173 /**                                               
174  * reg_dfs_domain_same - Checks if both wiphy     
175  * @wiphy1: wiphy it's dfs_region to be checke    
176  * @wiphy2: wiphy it's dfs_region to be checke    
177  * Return: %true if both wiphys have the same     
178  */                                               
179 bool reg_dfs_domain_same(struct wiphy *wiphy1,    
180                                                   
181 /**                                               
182  * reg_reload_regdb - reload the regulatory.db    
183  * Return: 0 for success, an error code otherw    
184  */                                               
185 int reg_reload_regdb(void);                       
186                                                   
187 /**                                               
188  * reg_check_channels - schedule regulatory en    
189  */                                               
190 void reg_check_channels(void);                    
191                                                   
192 extern const u8 shipped_regdb_certs[];            
193 extern unsigned int shipped_regdb_certs_len;      
194 extern const u8 extra_regdb_certs[];              
195 extern unsigned int extra_regdb_certs_len;        
196                                                   
197 #endif  /* __NET_WIRELESS_REG_H */                
198                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php