mac80211.h
Go to the documentation of this file.
00001 /*
00002  * mac80211 <-> driver interface
00003  *
00004  * Copyright 2002-2005, Devicescape Software, Inc.
00005  * Copyright 2006-2007  Jiri Benc <jbenc@suse.cz>
00006  * Copyright 2007       Johannes Berg <johannes@sipsolutions.net>
00007  *
00008  * This program is free software; you can redistribute it and/or modify
00009  * it under the terms of the GNU General Public License version 2 as
00010  * published by the Free Software Foundation.
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         /* keep last */
00036         IEEE80211_NUM_BANDS
00037 };
00038 
00049 struct ieee80211_channel {
00050                 enum ieee80211_band band;
00051         u16 center_freq; /* frequency in MHz */
00052         u16 hw_value; /* hw specific value for the channel */
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         /* keep last */
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 /* MAC80211_H */
00237 


ros_rt_wmp
Author(s): Danilo Tardioli, dantard@unizar.es
autogenerated on Fri Jan 3 2014 12:07:55