2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 #define DEFAULT_MSDU_LIFETIME_RES_64us 8000 /* 64us */
35 #define DEFAULT_MGN_LIFETIME_RES_64us 125 /* 64us */
38 /*--------------------- Export Definitions -------------------------*/
40 /*--------------------- Export Variables --------------------------*/
42 /*--------------------- Export Functions --------------------------*/
44 /* MIC HDR data header */
48 u8 mic_addr2[ETH_ALEN];
49 u8 ccmp_pn[IEEE80211_CCMP_PN_LEN];
58 u16 packing; /* packing to 48 bytes */
61 /* RsvTime buffer header */
62 struct vnt_rrv_time_rts {
63 __le16 rts_rrv_time_ba;
64 __le16 rts_rrv_time_aa;
65 __le16 rts_rrv_time_bb;
71 struct vnt_rrv_time_cts {
72 __le16 cts_rrv_time_ba;
78 struct vnt_rrv_time_ab {
84 struct vnt_tx_datahead_g {
85 struct vnt_phy_field b;
86 struct vnt_phy_field a;
89 __le16 time_stamp_off_b;
90 __le16 time_stamp_off_a;
93 struct vnt_tx_datahead_g_fb {
94 struct vnt_phy_field b;
95 struct vnt_phy_field a;
100 __le16 time_stamp_off_b;
101 __le16 time_stamp_off_a;
104 struct vnt_tx_datahead_ab {
105 struct vnt_phy_field ab;
107 __le16 time_stamp_off;
110 struct vnt_tx_datahead_a_fb {
111 struct vnt_phy_field a;
113 __le16 time_stamp_off;
118 /* RTS buffer header */
120 struct vnt_phy_field b;
121 struct vnt_phy_field a;
126 struct ieee80211_rts data;
129 struct vnt_rts_g_fb {
130 struct vnt_phy_field b;
131 struct vnt_phy_field a;
136 __le16 rts_duration_ba_f0;
137 __le16 rts_duration_aa_f0;
138 __le16 rts_duration_ba_f1;
139 __le16 rts_duration_aa_f1;
140 struct ieee80211_rts data;
144 struct vnt_phy_field ab;
147 struct ieee80211_rts data;
150 struct vnt_rts_a_fb {
151 struct vnt_phy_field a;
154 __le16 rts_duration_f0;
155 __le16 rts_duration_f1;
156 struct ieee80211_rts data;
159 /* CTS buffer header */
161 struct vnt_phy_field b;
164 struct ieee80211_cts data;
169 struct vnt_phy_field b;
172 __le16 cts_duration_ba_f0;
173 __le16 cts_duration_ba_f1;
174 struct ieee80211_cts data;
178 struct vnt_tx_fifo_head {
179 u8 tx_key[WLAN_KEY_LEN_CCMP];
186 struct vnt_tx_short_buf_head {
189 struct vnt_phy_field ab;
191 __le16 time_stamp_off;
194 int vnt_generate_fifo_header(struct vnt_private *, u32,
195 PSTxDesc head_td, struct sk_buff *);
196 int vnt_beacon_make(struct vnt_private *, struct ieee80211_vif *);
197 int vnt_beacon_enable(struct vnt_private *, struct ieee80211_vif *,
198 struct ieee80211_bss_conf *);