sta_info.h (4a80f2788952055a627f2093a0174537d70aec1b) sta_info.h (ee3858551ae6d044578f598f8001db5f1a9fd52e)
1/*
2 * Copyright 2002-2005, Devicescape Software, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 93 unchanged lines hidden (view full) ---

102 u16 buf_size;
103 u16 timeout;
104 u16 head_seq_num;
105 u16 stored_mpdu_num;
106 struct sk_buff **reorder_buf;
107 struct timer_list session_timer;
108};
109
1/*
2 * Copyright 2002-2005, Devicescape Software, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 93 unchanged lines hidden (view full) ---

102 u16 buf_size;
103 u16 timeout;
104 u16 head_seq_num;
105 u16 stored_mpdu_num;
106 struct sk_buff **reorder_buf;
107 struct timer_list session_timer;
108};
109
110#ifdef CONFIG_MAC80211_MESH
111enum plink_state {
112 LISTEN,
113 OPN_SNT,
114 OPN_RCVD,
115 CNF_RCVD,
116 ESTAB,
117 HOLDING,
118 BLOCKED
119};
120#endif
121
110/**
111 * struct sta_ampdu_mlme - STA aggregation information.
112 *
113 * @tid_rx: aggregation info for Rx per TID
114 * @tid_tx: aggregation info for Tx per TID
115 * @ampdu_rx: for locking sections in aggregation Rx flow
116 * @ampdu_tx: for locking sectionsi in aggregation Tx flow
117 * @dialog_token_allocator: dialog token enumerator for each new session;

--- 21 unchanged lines hidden (view full) ---

139 * power saving state */
140 struct sk_buff_head tx_filtered; /* buffer of TX frames that were
141 * already given to low-level driver,
142 * but were filtered */
143 unsigned long rx_packets, tx_packets; /* number of RX/TX MSDUs */
144 unsigned long rx_bytes, tx_bytes;
145 unsigned long tx_retry_failed, tx_retry_count;
146 unsigned long tx_filtered_count;
122/**
123 * struct sta_ampdu_mlme - STA aggregation information.
124 *
125 * @tid_rx: aggregation info for Rx per TID
126 * @tid_tx: aggregation info for Tx per TID
127 * @ampdu_rx: for locking sections in aggregation Rx flow
128 * @ampdu_tx: for locking sectionsi in aggregation Tx flow
129 * @dialog_token_allocator: dialog token enumerator for each new session;

--- 21 unchanged lines hidden (view full) ---

151 * power saving state */
152 struct sk_buff_head tx_filtered; /* buffer of TX frames that were
153 * already given to low-level driver,
154 * but were filtered */
155 unsigned long rx_packets, tx_packets; /* number of RX/TX MSDUs */
156 unsigned long rx_bytes, tx_bytes;
157 unsigned long tx_retry_failed, tx_retry_count;
158 unsigned long tx_filtered_count;
159 /* moving percentage of failed MSDUs */
160 unsigned int fail_avg;
147
148 unsigned int wep_weak_iv_count; /* number of RX frames with weak IV */
149
150 unsigned long last_rx;
151 /* bitmap of supported rates per band */
152 u64 supp_rates[IEEE80211_NUM_BANDS];
153 int txrate_idx;
154 /* last rates used to send a frame to this STA */

--- 32 unchanged lines hidden (view full) ---

187
188 u16 listen_interval;
189
190 struct ieee80211_ht_info ht_info; /* 802.11n HT capabilities
191 of this STA */
192 struct sta_ampdu_mlme ampdu_mlme;
193 u8 timer_to_tid[STA_TID_NUM]; /* convert timer id to tid */
194 u8 tid_to_tx_q[STA_TID_NUM]; /* map tid to tx queue */
161
162 unsigned int wep_weak_iv_count; /* number of RX frames with weak IV */
163
164 unsigned long last_rx;
165 /* bitmap of supported rates per band */
166 u64 supp_rates[IEEE80211_NUM_BANDS];
167 int txrate_idx;
168 /* last rates used to send a frame to this STA */

--- 32 unchanged lines hidden (view full) ---

201
202 u16 listen_interval;
203
204 struct ieee80211_ht_info ht_info; /* 802.11n HT capabilities
205 of this STA */
206 struct sta_ampdu_mlme ampdu_mlme;
207 u8 timer_to_tid[STA_TID_NUM]; /* convert timer id to tid */
208 u8 tid_to_tx_q[STA_TID_NUM]; /* map tid to tx queue */
209#ifdef CONFIG_MAC80211_MESH
210 /* mesh peer link attributes */
211 __le16 llid; /* Local link ID */
212 __le16 plid; /* Peer link ID */
213 __le16 reason; /* Buffer for cancel reason on HOLDING state */
214 enum plink_state plink_state;
215 u32 plink_timeout;
216 struct timer_list plink_timer;
217 u8 plink_retries; /* Retries in establishment */
218 bool ignore_plink_timer;
219 spinlock_t plink_lock; /* For peer_state reads / updates and other
220 updates in the structure. Ensures robust
221 transitions for the peerlink FSM */
222#endif
195
196#ifdef CONFIG_MAC80211_DEBUGFS
197 struct sta_info_debugfsdentries {
198 struct dentry *dir;
199 struct dentry *flags;
200 struct dentry *num_ps_buf_frames;
201 struct dentry *inactive_ms;
202 struct dentry *last_seq_ctrl;

--- 26 unchanged lines hidden (view full) ---

229#define STA_INFO_CLEANUP_INTERVAL (10 * HZ)
230
231static inline void __sta_info_get(struct sta_info *sta)
232{
233 kref_get(&sta->kref);
234}
235
236struct sta_info * sta_info_get(struct ieee80211_local *local, u8 *addr);
223
224#ifdef CONFIG_MAC80211_DEBUGFS
225 struct sta_info_debugfsdentries {
226 struct dentry *dir;
227 struct dentry *flags;
228 struct dentry *num_ps_buf_frames;
229 struct dentry *inactive_ms;
230 struct dentry *last_seq_ctrl;

--- 26 unchanged lines hidden (view full) ---

257#define STA_INFO_CLEANUP_INTERVAL (10 * HZ)
258
259static inline void __sta_info_get(struct sta_info *sta)
260{
261 kref_get(&sta->kref);
262}
263
264struct sta_info * sta_info_get(struct ieee80211_local *local, u8 *addr);
265struct sta_info *sta_info_get_by_idx(struct ieee80211_local *local, int idx,
266 struct net_device *dev);
237void sta_info_put(struct sta_info *sta);
238struct sta_info *sta_info_add(struct ieee80211_local *local,
239 struct net_device *dev, u8 *addr, gfp_t gfp);
240void sta_info_remove(struct sta_info *sta);
241void sta_info_free(struct sta_info *sta);
242void sta_info_init(struct ieee80211_local *local);
243int sta_info_start(struct ieee80211_local *local);
244void sta_info_stop(struct ieee80211_local *local);
245void sta_info_flush(struct ieee80211_local *local, struct net_device *dev);
246
247void sta_info_set_tim_bit(struct sta_info *sta);
248void sta_info_clear_tim_bit(struct sta_info *sta);
249
250#endif /* STA_INFO_H */
267void sta_info_put(struct sta_info *sta);
268struct sta_info *sta_info_add(struct ieee80211_local *local,
269 struct net_device *dev, u8 *addr, gfp_t gfp);
270void sta_info_remove(struct sta_info *sta);
271void sta_info_free(struct sta_info *sta);
272void sta_info_init(struct ieee80211_local *local);
273int sta_info_start(struct ieee80211_local *local);
274void sta_info_stop(struct ieee80211_local *local);
275void sta_info_flush(struct ieee80211_local *local, struct net_device *dev);
276
277void sta_info_set_tim_bit(struct sta_info *sta);
278void sta_info_clear_tim_bit(struct sta_info *sta);
279
280#endif /* STA_INFO_H */