#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 */