00001
00017 #ifndef HW_FEATURES_H
00018 #define HW_FEATURES_H
00019
00020 #define HOSTAPD_CHAN_W_SCAN 0x00000001
00021 #define HOSTAPD_CHAN_W_ACTIVE_SCAN 0x00000002
00022 #define HOSTAPD_CHAN_W_IBSS 0x00000004
00023
00024 struct hostapd_channel_data {
00025 short chan;
00026 short freq;
00027 int flag;
00028 };
00029
00030 #define HOSTAPD_RATE_ERP 0x00000001
00031 #define HOSTAPD_RATE_BASIC 0x00000002
00032 #define HOSTAPD_RATE_PREAMBLE2 0x00000004
00033 #define HOSTAPD_RATE_SUPPORTED 0x00000010
00034 #define HOSTAPD_RATE_OFDM 0x00000020
00035 #define HOSTAPD_RATE_CCK 0x00000040
00036 #define HOSTAPD_RATE_MANDATORY 0x00000100
00037
00038 struct hostapd_rate_data {
00039 int rate;
00040 int flags;
00041 };
00042
00043 struct hostapd_hw_modes {
00044 int mode;
00045 int num_channels;
00046 struct hostapd_channel_data *channels;
00047 int num_rates;
00048 struct hostapd_rate_data *rates;
00049 };
00050
00051
00052 void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
00053 size_t num_hw_features);
00054 int hostapd_get_hw_features(struct hostapd_iface *iface);
00055 int hostapd_select_hw_mode_start(struct hostapd_iface *iface,
00056 hostapd_iface_cb cb);
00057 int hostapd_select_hw_mode_stop(struct hostapd_iface *iface);
00058 const char * hostapd_hw_mode_txt(int mode);
00059 int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
00060 int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
00061
00062 #endif
00063