2 * This header file contains data structures and
3 * function declarations of 802.11d
11 #define UNIVERSAL_REGION_CODE 0xff
13 /** (Beaconsize(256)-5(IEId,len,contrystr(3))/3(FirstChan,NoOfChan,MaxPwr)
15 #define MRVDRV_MAX_SUBBAND_802_11D 83
17 #define COUNTRY_CODE_LEN 3
18 #define MAX_NO_OF_CHAN 40
20 struct cmd_ds_command
;
22 /** Data structure for Country IE*/
23 struct ieeetypes_subbandset
{
27 } __attribute__ ((packed
));
29 struct ieeetypes_countryinfoset
{
32 u8 countrycode
[COUNTRY_CODE_LEN
];
33 struct ieeetypes_subbandset subband
[1];
36 struct ieeetypes_countryinfofullset
{
39 u8 countrycode
[COUNTRY_CODE_LEN
];
40 struct ieeetypes_subbandset subband
[MRVDRV_MAX_SUBBAND_802_11D
];
41 } __attribute__ ((packed
));
43 struct mrvlietypes_domainparamset
{
44 struct mrvlietypesheader header
;
45 u8 countrycode
[COUNTRY_CODE_LEN
];
46 struct ieeetypes_subbandset subband
[1];
47 } __attribute__ ((packed
));
49 struct cmd_ds_802_11d_domain_info
{
51 struct mrvlietypes_domainparamset domain
;
52 } __attribute__ ((packed
));
54 /** domain regulatory information */
55 struct wlan_802_11d_domain_reg
{
57 u8 countrycode
[COUNTRY_CODE_LEN
];
60 struct ieeetypes_subbandset subband
[MRVDRV_MAX_SUBBAND_802_11D
];
63 struct chan_power_11d
{
66 } __attribute__ ((packed
));
68 struct parsed_region_chan_11d
{
71 s8 countrycode
[COUNTRY_CODE_LEN
];
72 struct chan_power_11d chanpwr
[MAX_NO_OF_CHAN
];
74 } __attribute__ ((packed
));
76 struct region_code_mapping
{
77 u8 region
[COUNTRY_CODE_LEN
];
81 u8
libertas_get_scan_type_11d(u8 chan
,
82 struct parsed_region_chan_11d
*parsed_region_chan
);
84 u32
libertas_chan_2_freq(u8 chan
, u8 band
);
86 void libertas_init_11d(wlan_private
* priv
);
88 int libertas_set_universaltable(wlan_private
* priv
, u8 band
);
90 int libertas_cmd_802_11d_domain_info(wlan_private
* priv
,
91 struct cmd_ds_command
*cmd
, u16 cmdno
,
94 int libertas_ret_802_11d_domain_info(wlan_private
* priv
,
95 struct cmd_ds_command
*resp
);
97 struct bss_descriptor
;
98 int libertas_parse_dnld_countryinfo_11d(wlan_private
* priv
,
99 struct bss_descriptor
* bss
);
101 int libertas_create_dnld_countryinfo_11d(wlan_private
* priv
);
103 #endif /* _WLAN_11D_ */