45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
|
#ifndef __NET_WIRELESS_REG_H
|
||
|
#define __NET_WIRELESS_REG_H
|
||
|
|
||
|
extern const struct ieee80211_regdomain world_regdom;
|
||
|
#ifdef CONFIG_WIRELESS_OLD_REGULATORY
|
||
|
extern const struct ieee80211_regdomain us_regdom;
|
||
|
extern const struct ieee80211_regdomain jp_regdom;
|
||
|
extern const struct ieee80211_regdomain eu_regdom;
|
||
|
#endif
|
||
|
|
||
|
extern struct ieee80211_regdomain *cfg80211_regdomain;
|
||
|
extern struct ieee80211_regdomain *cfg80211_world_regdom;
|
||
|
extern struct list_head regulatory_requests;
|
||
|
|
||
|
struct regdom_last_setby {
|
||
|
struct wiphy *wiphy;
|
||
|
u8 initiator;
|
||
|
};
|
||
|
|
||
|
/* wiphy is set if this request's initiator is REGDOM_SET_BY_DRIVER */
|
||
|
struct regulatory_request {
|
||
|
struct list_head list;
|
||
|
struct wiphy *wiphy;
|
||
|
int granted;
|
||
|
enum reg_set_by initiator;
|
||
|
char alpha2[2];
|
||
|
};
|
||
|
|
||
|
bool is_world_regdom(char *alpha2);
|
||
|
bool reg_is_valid_request(char *alpha2);
|
||
|
|
||
|
int set_regdom(struct ieee80211_regdomain *rd);
|
||
|
int __regulatory_hint_alpha2(struct wiphy *wiphy, enum reg_set_by set_by,
|
||
|
const char *alpha2);
|
||
|
|
||
|
int regulatory_init(void);
|
||
|
void regulatory_exit(void);
|
||
|
|
||
|
void print_regdomain_info(struct ieee80211_regdomain *);
|
||
|
|
||
|
/* If a char is A-Z */
|
||
|
#define IS_ALPHA(letter) (letter >= 65 && letter <= 90)
|
||
|
|
||
|
#endif /* __NET_WIRELESS_REG_H */
|