1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
23 #define DEFAULT_MGN_LIFETIME_RES_64us 125 /* 64us */
24 #define DEFAULT_MSDU_LIFETIME_RES_64us 8000
26 /* Length, Service, and Signal fields of Phy for Tx */
27 struct vnt_phy_field
{
33 /* MIC HDR data header */
38 u8 ccmp_pn
[IEEE80211_CCMP_PN_LEN
];
47 u16 packing
; /* packing to 48 bytes */
50 /* RsvTime buffer header */
51 struct vnt_rrv_time_rts
{
52 __le16 rts_rrv_time_ba
;
53 __le16 rts_rrv_time_aa
;
54 __le16 rts_rrv_time_bb
;
60 struct vnt_rrv_time_cts
{
61 __le16 cts_rrv_time_ba
;
67 struct vnt_rrv_time_ab
{
73 struct vnt_tx_datahead_g
{
74 struct vnt_phy_field b
;
75 struct vnt_phy_field a
;
78 __le16 time_stamp_off_b
;
79 __le16 time_stamp_off_a
;
82 struct vnt_tx_datahead_ab
{
83 struct vnt_phy_field ab
;
85 __le16 time_stamp_off
;
88 /* RTS buffer header */
90 struct vnt_phy_field b
;
91 struct vnt_phy_field a
;
96 struct ieee80211_rts data
;
97 struct vnt_tx_datahead_g data_head
;
101 struct vnt_phy_field ab
;
104 struct ieee80211_rts data
;
105 struct vnt_tx_datahead_ab data_head
;
108 /* CTS buffer header */
110 struct vnt_phy_field b
;
113 struct ieee80211_cts data
;
115 struct vnt_tx_datahead_g data_head
;
118 union vnt_tx_data_head
{
120 struct vnt_rts_g rts_g
;
122 struct vnt_rts_ab rts_ab
;
124 struct vnt_cts cts_g
;
126 struct vnt_tx_datahead_ab data_head_ab
;
129 struct vnt_tx_mic_hdr
{
130 struct vnt_mic_hdr hdr
;
131 union vnt_tx_data_head head
;
135 struct vnt_tx_mic_hdr mic
;
136 union vnt_tx_data_head head
;
141 struct vnt_rrv_time_rts rts
;
145 struct vnt_rrv_time_cts cts
;
149 struct vnt_rrv_time_ab ab
;
154 struct vnt_tx_fifo_head
{
155 u8 tx_key
[WLAN_KEY_LEN_CCMP
];
162 struct vnt_tx_buffer
{
163 struct vnt_tx_fifo_head fifo_head
;
164 union vnt_tx_head tx_head
;
167 struct vnt_tx_short_buf_head
{
170 struct vnt_phy_field ab
;
172 __le16 time_stamp_off
;
175 int vnt_tx_packet(struct vnt_private
*priv
, struct sk_buff
*skb
);
176 int vnt_beacon_make(struct vnt_private
*priv
, struct ieee80211_vif
*vif
);
177 int vnt_beacon_enable(struct vnt_private
*priv
, struct ieee80211_vif
*vif
,
178 struct ieee80211_bss_conf
*conf
);
180 #endif /* __RXTX_H__ */