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
;
143 struct vnt_tx_datahead_ab data_head
;
146 struct vnt_rts_a_fb
{
147 struct vnt_phy_field a
;
152 struct ieee80211_rts data
;
153 struct vnt_tx_datahead_a_fb data_head
;
156 /* CTS buffer header */
158 struct vnt_phy_field b
;
161 struct ieee80211_cts data
;
163 struct vnt_tx_datahead_g data_head
;
167 struct vnt_phy_field b
;
170 u16 wCTSDuration_ba_f0
;
171 u16 wCTSDuration_ba_f1
;
172 struct ieee80211_cts data
;
174 struct vnt_tx_datahead_g_fb data_head
;
177 union vnt_tx_data_head
{
179 struct vnt_rts_g rts_g
;
180 struct vnt_rts_g_fb rts_g_fb
;
182 struct vnt_rts_ab rts_ab
;
183 struct vnt_rts_a_fb rts_a_fb
;
185 struct vnt_cts cts_g
;
186 struct vnt_cts_fb cts_g_fb
;
188 struct vnt_tx_datahead_a_fb data_head_a_fb
;
189 struct vnt_tx_datahead_ab data_head_ab
;
192 struct vnt_tx_mic_hdr
{
193 struct vnt_mic_hdr hdr
;
194 union vnt_tx_data_head head
;
198 struct vnt_tx_mic_hdr mic
;
199 union vnt_tx_data_head head
;
204 struct vnt_rrv_time_rts rts
;
208 struct vnt_rrv_time_cts cts
;
212 struct vnt_rrv_time_ab ab
;
217 struct vnt_tx_fifo_head
{
225 struct vnt_tx_buffer
{
229 struct vnt_tx_fifo_head fifo_head
;
230 union vnt_tx_head tx_head
;
233 struct vnt_tx_short_buf_head
{
236 struct vnt_phy_field ab
;
241 struct vnt_beacon_buffer
{
245 struct vnt_tx_short_buf_head short_head
;
246 struct ieee80211_hdr hdr
;
249 void vDMA0_tx_80211(struct vnt_private
*, struct sk_buff
*skb
);
250 int nsDMA_tx_packet(struct vnt_private
*, u32 uDMAIdx
, struct sk_buff
*skb
);
251 CMD_STATUS
csMgmt_xmit(struct vnt_private
*, struct vnt_tx_mgmt
*);
252 CMD_STATUS
csBeacon_xmit(struct vnt_private
*, struct vnt_tx_mgmt
*);
253 int bRelayPacketSend(struct vnt_private
*, u8
*pbySkbData
, u32 uDataLen
,
256 #endif /* __RXTX_H__ */