Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef MAC80211_H
00014 #define MAC80211_H
00015
00016 #include <linux/list.h>
00017 #include <linux/skbuff.h>
00018 #include <linux/if_ether.h>
00019 #include "ieee80211.h"
00020 #include "ath5k_interface.h"
00021
00031 enum ieee80211_band {
00032 IEEE80211_BAND_2GHZ,
00033 IEEE80211_BAND_5GHZ,
00034
00035
00036 IEEE80211_NUM_BANDS
00037 };
00038
00049 struct ieee80211_channel {
00050 enum ieee80211_band band;
00051 u16 center_freq;
00052 u16 hw_value;
00053 };
00054
00076 enum ieee80211_rate_flags {
00077 IEEE80211_RATE_SHORT_PREAMBLE = 1<<0,
00078 };
00079
00094 struct ieee80211_rate {
00095 u32 flags;
00096 u16 bitrate;
00097 u16 hw_value, hw_value_short;
00098 };
00099
00100 struct ieee80211_tx_info {
00101 u8 band;
00102 s8 rate_idx;
00103 u8 count;
00104 bool use_short_preamble;
00105 bool wait_for_ack;
00106 };
00107
00129 struct ieee80211_rx_status {
00130 u64 mactime;
00131 enum ieee80211_band band;
00132 int freq;
00133 int signal;
00134 int noise;
00135 int qual;
00136 int antenna;
00137 int rate_idx;
00138 int flag;
00139 };
00140
00159 enum nl80211_iftype {
00160 NL80211_IFTYPE_UNSPECIFIED,
00161 NL80211_IFTYPE_ADHOC,
00162 NL80211_IFTYPE_STATION,
00163 NL80211_IFTYPE_AP,
00164 NL80211_IFTYPE_AP_VLAN,
00165 NL80211_IFTYPE_WDS,
00166 NL80211_IFTYPE_MONITOR,
00167 NL80211_IFTYPE_MESH_POINT,
00168
00169
00170 __NL80211_IFTYPE_AFTER_LAST,
00171 NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1
00172 };
00173
00189 struct ieee80211_supported_band {
00190 struct ieee80211_channel *channels;
00191 struct ieee80211_rate *bitrates;
00192 enum ieee80211_band band;
00193 int n_channels;
00194 int n_bitrates;
00195 };
00196
00197 struct ieee80211_low_level_stats {
00198 unsigned int dot11ACKFailureCount;
00199 unsigned int dot11RTSFailureCount;
00200 unsigned int dot11FCSErrorCount;
00201 unsigned int dot11RTSSuccessCount;
00202 };
00203
00214 __le16 ath5k_generic_frame_duration(unsigned int mode,
00215 bool short_preamble,
00216 size_t frame_len,
00217 int rate);
00228 int ath5k_get_hdrlen_from_skb(const struct sk_buff *skb);
00229
00233 extern int ath5k_frequency_to_channel(int freq);
00234
00235
00236 #endif
00237