Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rxtx.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3  * All rights reserved.
4  *
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.
9  *
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.
14  *
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.
18  *
19  * File: rxtx.h
20  *
21  * Purpose:
22  *
23  * Author: Jerry Chen
24  *
25  * Date: Jun. 27, 2002
26  *
27  */
28 
29 #ifndef __RXTX_H__
30 #define __RXTX_H__
31 
32 #include "ttype.h"
33 #include "device.h"
34 #include "wcmd.h"
35 
36 /*--------------------- Export Definitions -------------------------*/
37 
38 /*--------------------- Export Classes ----------------------------*/
39 
40 //
41 // RTS buffer header
42 //
43 typedef struct tagSRTSDataF {
49 
50 //
51 // CTS buffer header
52 //
53 typedef struct tagSCTSDataF {
59 
60 //
61 // MICHDR data header
62 //
63 typedef struct tagSMICHDR {
67 } SMICHDR, *PSMICHDR;
68 
69 
70 typedef struct tagSTX_NAF_G_RTS
71 {
72  //RsvTime
79 
80  //RTS
92 
93  //Data
104 
106 
107 typedef struct tagSTX_NAF_G_RTS_MIC
108 {
109  //RsvTime
116 
118 
119  //RTS
131 
132  //Data
143 
145 
146 typedef struct tagSTX_NAF_G_CTS
147 {
148  //RsvTime
153 
154  //CTS
161 
162  //Data
173 
175 
176 
177 typedef struct tagSTX_NAF_G_CTS_MIC
178 {
179  //RsvTime
184 
185 
187 
188  //CTS
195 
196  //Data
207 
209 
210 
211 typedef struct tagSTX_NAF_G_BEACON
212 {
215 
216  //CTS
223 
224  //Data
230 
231 
233 
234 
235 typedef struct tagSTX_NAF_AB_RTS
236 {
237  //RsvTime
240 
241  //RTS
248 
249  //Data
255 
256 
258 
259 
260 typedef struct tagSTX_NAF_AB_RTS_MIC
261 {
262  //RsvTime
265 
267 
268  //RTS
275 
276  //Data
282 
283 
285 
286 
287 
288 typedef struct tagSTX_NAF_AB_CTS
289 {
290  //RsvTime
293 
294  //Data
300 
302 
303 typedef struct tagSTX_NAF_AB_CTS_MIC
304 {
305  //RsvTime
308 
310 
311  //Data
317 
319 
320 
321 typedef struct tagSTX_NAF_AB_BEACON
322 {
325 
326  //Data
332 
334 
335 typedef struct tagSTX_AF_G_RTS
336 {
337  //RsvTime
344 
345  //RTS
361 
362  //Data
375 
377 
378 
379 typedef struct tagSTX_AF_G_RTS_MIC
380 {
381  //RsvTime
388 
390 
391  //RTS
407 
408  //Data
421 
423 
424 
425 
426 typedef struct tagSTX_AF_G_CTS
427 {
428  //RsvTime
433 
434  //CTS
443 
444  //Data
457 
459 
460 
461 typedef struct tagSTX_AF_G_CTS_MIC
462 {
463  //RsvTime
468 
469 
471 
472  //CTS
481 
482  //Data
495 
497 
498 
499 
500 typedef struct tagSTX_AF_A_RTS
501 {
502  //RsvTime
505 
506  //RTS
515 
516  //Data
524 
526 
527 
528 typedef struct tagSTX_AF_A_RTS_MIC
529 {
530  //RsvTime
533 
535 
536  //RTS
545 
546  //Data
554 
556 
557 
558 
559 typedef struct tagSTX_AF_A_CTS
560 {
561  //RsvTime
564 
565  //Data
573 
575 
576 
577 typedef struct tagSTX_AF_A_CTS_MIC
578 {
579  //RsvTime
582 
584 
585  //Data
593 
595 
596 
597 //
598 // union with all of the TX Buffer Type
599 //
601 {
606  //TX_NAF_G_BEACON Beacon_G;
611  //TX_NAF_AB_BEACON Beacon_AB;
620 
622 
623 
624 //
625 // Remote NDIS message format
626 //
627 typedef struct tagSTX_BUFFER
628 {
632 
638 
639 
640  // Actual message
642 
644 
645 
646 //
647 // Remote NDIS message format
648 //
649 typedef struct tagSBEACON_BUFFER
650 {
654 
657 
658  // Actual message
660 
662 
663 
664 /*--------------------- Export Variables --------------------------*/
665 
666 /*--------------------- Export Functions --------------------------*/
667 
668 BOOL
670  PSDevice pDevice,
671  BYTE byPktType,
672  PBYTE usbPacketBuf,
673  BOOL bNeedEncrypt,
674  unsigned int cbPayloadSize,
675  unsigned int uDMAIdx,
676  PSEthernetHeader psEthHeader,
677  PBYTE pPacket,
678  PSKeyItem pTransmitKey,
679  unsigned int uNodeIndex,
680  WORD wCurrentRate,
681  unsigned int *pcbHeaderLen,
682  unsigned int *pcbTotalLen
683  );
684 
685 void vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb);
686 int nsDMA_tx_packet(PSDevice pDevice,
687  unsigned int uDMAIdx,
688  struct sk_buff *skb);
691 BOOL bRelayPacketSend(PSDevice pDevice, PBYTE pbySkbData,
692  unsigned int uDataLen, unsigned int uNodeIndex);
693 
694 #endif /* __RXTX_H__ */