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.
36 /* MIC HDR data header */
51 u16 packing; /* packing to 48 bytes */
54 /* RsvTime buffer header */
55 struct vnt_rrv_time_rts {
64 struct vnt_rrv_time_cts {
71 struct vnt_rrv_time_ab {
77 struct vnt_tx_datahead_g {
78 struct vnt_phy_field b;
79 struct vnt_phy_field a;
86 struct vnt_tx_datahead_g_fb {
87 struct vnt_phy_field b;
88 struct vnt_phy_field a;
97 struct vnt_tx_datahead_ab {
98 struct vnt_phy_field ab;
103 struct vnt_tx_datahead_a_fb {
104 struct vnt_phy_field a;
111 /* RTS buffer header */
113 struct vnt_phy_field b;
114 struct vnt_phy_field a;
119 struct ieee80211_rts data;
120 struct vnt_tx_datahead_g data_head;
123 struct vnt_rts_g_fb {
124 struct vnt_phy_field b;
125 struct vnt_phy_field a;
130 u16 wRTSDuration_ba_f0;
131 u16 wRTSDuration_aa_f0;
132 u16 wRTSDuration_ba_f1;
133 u16 wRTSDuration_aa_f1;
134 struct ieee80211_rts data;
135 struct vnt_tx_datahead_g_fb data_head;
139 struct vnt_phy_field ab;
142 struct ieee80211_rts data;
145 struct vnt_rts_a_fb {
146 struct vnt_phy_field a;
151 struct ieee80211_rts data;
152 struct vnt_tx_datahead_a_fb data_head;
155 /* CTS buffer header */
157 struct vnt_phy_field b;
160 struct ieee80211_cts data;
162 struct vnt_tx_datahead_g data_head;
166 struct vnt_phy_field b;
169 u16 wCTSDuration_ba_f0;
170 u16 wCTSDuration_ba_f1;
171 struct ieee80211_cts data;
173 struct vnt_tx_datahead_g_fb data_head;
176 union vnt_tx_data_head {
178 struct vnt_rts_g rts_g;
179 struct vnt_rts_g_fb rts_g_fb;
181 struct vnt_rts_ab rts_ab;
182 struct vnt_rts_a_fb rts_a_fb;
184 struct vnt_cts cts_g;
185 struct vnt_cts_fb cts_g_fb;
188 struct vnt_tx_mic_hdr {
189 struct vnt_mic_hdr hdr;
190 union vnt_tx_data_head head;
194 struct vnt_tx_mic_hdr mic;
195 union vnt_tx_data_head head;
200 struct vnt_rrv_time_rts rts;
204 struct vnt_rrv_time_cts cts;
208 struct vnt_rrv_time_ab ab;
213 struct vnt_tx_fifo_head {
221 struct vnt_tx_buffer {
225 struct vnt_tx_fifo_head fifo_head;
226 union vnt_tx_head tx_head;
229 struct vnt_beacon_buffer {
237 void vDMA0_tx_80211(struct vnt_private *, struct sk_buff *skb);
238 int nsDMA_tx_packet(struct vnt_private *, u32 uDMAIdx, struct sk_buff *skb);
239 CMD_STATUS csMgmt_xmit(struct vnt_private *, struct vnt_tx_mgmt *);
240 CMD_STATUS csBeacon_xmit(struct vnt_private *, struct vnt_tx_mgmt *);
241 int bRelayPacketSend(struct vnt_private *, u8 *pbySkbData, u32 uDataLen,
244 #endif /* __RXTX_H__ */