Merge git://git.infradead.org/iommu-2.6
[linux-2.6] / drivers / staging / vt6655 / rxtx.h
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: whdr.h
20  *
21  * Purpose:
22  *
23  * Author: Jerry Chen
24  *
25  * Date: Jun. 27, 2002
26  *
27  */
28
29
30 #ifndef __RXTX_H__
31 #define __RXTX_H__
32
33 #if !defined(__TTYPE_H__)
34 #include "ttype.h"
35 #endif
36 #if !defined(__DEVICE_H__)
37 #include "device.h"
38 #endif
39 #if !defined(__WCMD_H__)
40 #include "wcmd.h"
41 #endif
42
43
44 /*---------------------  Export Definitions -------------------------*/
45
46 /*---------------------  Export Classes  ----------------------------*/
47
48 /*---------------------  Export Variables  --------------------------*/
49
50 /*---------------------  Export Functions  --------------------------*/
51
52
53 #ifdef __cplusplus
54 extern "C" {                            /* Assume C declarations for C++ */
55 #endif /* __cplusplus */
56
57 /*
58 VOID vGenerateMACHeader(
59     IN PSDevice pDevice,
60     IN DWORD dwTxBufferAddr,
61     IN PBYTE pbySkbData,
62     IN UINT cbPacketSize,
63     IN BOOL bDMA0Used,
64     OUT PUINT pcbHeadSize,
65     OUT PUINT pcbAppendPayload
66      );
67
68 VOID vProcessRxMACHeader (
69     IN  PSDevice pDevice,
70     IN  DWORD dwRxBufferAddr,
71     IN  UINT cbPacketSize,
72     IN  BOOL bIsWEP,
73     OUT PUINT pcbHeadSize
74     );
75 */
76
77
78 VOID
79 vGenerateMACHeader (
80     IN PSDevice         pDevice,
81     IN PBYTE            pbyBufferAddr,
82     IN WORD             wDuration,
83     IN PSEthernetHeader psEthHeader,
84     IN BOOL             bNeedEncrypt,
85     IN WORD             wFragType,
86     IN UINT             uDMAIdx,
87     IN UINT             uFragIdx
88     );
89
90
91 UINT
92 cbGetFragCount(
93     IN  PSDevice         pDevice,
94     IN  PSKeyItem        pTransmitKey,
95     IN  UINT             cbFrameBodySize,
96     IN  PSEthernetHeader psEthHeader
97     );
98
99
100 VOID
101 vGenerateFIFOHeader (
102     IN  PSDevice         pDevice,
103     IN  BYTE             byPktTyp,
104     IN  PBYTE            pbyTxBufferAddr,
105     IN  BOOL             bNeedEncrypt,
106     IN  UINT             cbPayloadSize,
107     IN  UINT             uDMAIdx,
108     IN  PSTxDesc         pHeadTD,
109     IN  PSEthernetHeader psEthHeader,
110     IN  PBYTE            pPacket,
111     IN  PSKeyItem        pTransmitKey,
112     IN  UINT             uNodeIndex,
113     OUT PUINT            puMACfragNum,
114     OUT PUINT            pcbHeaderSize
115     );
116
117
118 VOID vDMA0_tx_80211(PSDevice  pDevice, struct sk_buff *skb, PBYTE pbMPDU, UINT cbMPDULen);
119 CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
120 CMD_STATUS csBeacon_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
121
122 #ifdef __cplusplus
123 }                                       /* End of extern "C" { */
124 #endif /* __cplusplus */
125
126
127
128
129 #endif // __RXTX_H__
130
131
132