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.
30 #define DEFAULT_MSDU_LIFETIME_RES_64us 8000 /* 64us */
31 #define DEFAULT_MGN_LIFETIME_RES_64us 125 /* 64us */
34 /*--------------------- Export Definitions -------------------------*/
36 /*--------------------- Export Variables --------------------------*/
38 /*--------------------- Export Functions --------------------------*/
40 /* MIC HDR data header */
44 u8 mic_addr2[ETH_ALEN];
45 u8 ccmp_pn[IEEE80211_CCMP_PN_LEN];
54 u16 packing; /* packing to 48 bytes */
57 /* RsvTime buffer header */
58 struct vnt_rrv_time_rts {
59 __le16 rts_rrv_time_ba;
60 __le16 rts_rrv_time_aa;
61 __le16 rts_rrv_time_bb;
67 struct vnt_rrv_time_cts {
68 __le16 cts_rrv_time_ba;
74 struct vnt_rrv_time_ab {
80 struct vnt_tx_datahead_g {
81 struct vnt_phy_field b;
82 struct vnt_phy_field a;
85 __le16 time_stamp_off_b;
86 __le16 time_stamp_off_a;
89 struct vnt_tx_datahead_g_fb {
90 struct vnt_phy_field b;
91 struct vnt_phy_field a;
96 __le16 time_stamp_off_b;
97 __le16 time_stamp_off_a;
100 struct vnt_tx_datahead_ab {
101 struct vnt_phy_field ab;
103 __le16 time_stamp_off;
106 struct vnt_tx_datahead_a_fb {
107 struct vnt_phy_field a;
109 __le16 time_stamp_off;
114 /* RTS buffer header */
116 struct vnt_phy_field b;
117 struct vnt_phy_field a;
122 struct ieee80211_rts data;
125 struct vnt_rts_g_fb {
126 struct vnt_phy_field b;
127 struct vnt_phy_field a;
132 __le16 rts_duration_ba_f0;
133 __le16 rts_duration_aa_f0;
134 __le16 rts_duration_ba_f1;
135 __le16 rts_duration_aa_f1;
136 struct ieee80211_rts data;
140 struct vnt_phy_field ab;
143 struct ieee80211_rts data;
146 struct vnt_rts_a_fb {
147 struct vnt_phy_field a;
150 __le16 rts_duration_f0;
151 __le16 rts_duration_f1;
152 struct ieee80211_rts data;
155 /* CTS buffer header */
157 struct vnt_phy_field b;
160 struct ieee80211_cts data;
165 struct vnt_phy_field b;
168 __le16 cts_duration_ba_f0;
169 __le16 cts_duration_ba_f1;
170 struct ieee80211_cts data;
174 struct vnt_tx_fifo_head {
175 u8 tx_key[WLAN_KEY_LEN_CCMP];
182 struct vnt_tx_short_buf_head {
185 struct vnt_phy_field ab;
187 __le16 time_stamp_off;
190 int vnt_generate_fifo_header(struct vnt_private *priv, u32 dma_idx,
191 struct vnt_tx_desc *head_td, struct sk_buff *skb);
192 int vnt_beacon_make(struct vnt_private *priv, struct ieee80211_vif *vif);
193 int vnt_beacon_enable(struct vnt_private *priv, struct ieee80211_vif *vif,
194 struct ieee80211_bss_conf *conf);
196 #endif /* __RXTX_H__ */