blob: 4f2cf34dc39fef22b8e95eab1b6e03e798f5ec39 [file] [log] [blame]
Forest Bond5449c682009-04-25 10:30:44 -04001/*
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 *
Jim Lieb612822f2009-08-12 14:54:03 -070019 * File: rxtx.h
Forest Bond5449c682009-04-25 10:30:44 -040020 *
21 * Purpose:
22 *
23 * Author: Jerry Chen
24 *
25 * Date: Jun. 27, 2002
26 *
27 */
28
Forest Bond5449c682009-04-25 10:30:44 -040029#ifndef __RXTX_H__
30#define __RXTX_H__
31
Forest Bond5449c682009-04-25 10:30:44 -040032#include "ttype.h"
Forest Bond5449c682009-04-25 10:30:44 -040033#include "device.h"
Forest Bond5449c682009-04-25 10:30:44 -040034#include "wcmd.h"
Forest Bond5449c682009-04-25 10:30:44 -040035
36/*--------------------- Export Definitions -------------------------*/
37
Forest Bond5449c682009-04-25 10:30:44 -040038/*--------------------- Export Variables --------------------------*/
39
40/*--------------------- Export Functions --------------------------*/
41
Forest Bond5449c682009-04-25 10:30:44 -040042/*
Joe Perches547f1cf2013-03-18 10:45:01 -070043 void
44 vGenerateMACHeader(PSDevice pDevice, unsigned long dwTxBufferAddr, unsigned char *pbySkbData,
45 unsigned int cbPacketSize, bool bDMA0Used, unsigned int *pcbHeadSize,
46 unsigned int *pcbAppendPayload);
Forest Bond5449c682009-04-25 10:30:44 -040047
Joe Perches547f1cf2013-03-18 10:45:01 -070048 void
49 vProcessRxMACHeader(PSDevice pDevice, unsigned long dwRxBufferAddr, unsigned int cbPacketSize,
50 bool bIsWEP, unsigned int *pcbHeadSize);
Forest Bond5449c682009-04-25 10:30:44 -040051*/
52
Charles Clément6b35b7b2010-05-07 12:30:19 -070053void
Joe Perches547f1cf2013-03-18 10:45:01 -070054vGenerateMACHeader(
55 PSDevice pDevice,
56 unsigned char *pbyBufferAddr,
57 unsigned short wDuration,
58 PSEthernetHeader psEthHeader,
59 bool bNeedEncrypt,
60 unsigned short wFragType,
61 unsigned int uDMAIdx,
62 unsigned int uFragIdx
63);
Forest Bond5449c682009-04-25 10:30:44 -040064
Charles Clémentb6e95cd2010-06-02 09:52:01 -070065unsigned int
Forest Bond5449c682009-04-25 10:30:44 -040066cbGetFragCount(
Joe Perches547f1cf2013-03-18 10:45:01 -070067 PSDevice pDevice,
68 PSKeyItem pTransmitKey,
69 unsigned int cbFrameBodySize,
70 PSEthernetHeader psEthHeader
71);
Forest Bond5449c682009-04-25 10:30:44 -040072
Charles Clément6b35b7b2010-05-07 12:30:19 -070073void
Charles Clémentfe4f34b2010-06-25 10:48:53 -070074vGenerateFIFOHeader(PSDevice pDevice, unsigned char byPktTyp, unsigned char *pbyTxBufferAddr,
Joe Perches547f1cf2013-03-18 10:45:01 -070075 bool bNeedEncrypt, unsigned int cbPayloadSize, unsigned int uDMAIdx, PSTxDesc pHeadTD,
76 PSEthernetHeader psEthHeader, unsigned char *pPacket, PSKeyItem pTransmitKey,
77 unsigned int uNodeIndex, unsigned int *puMACfragNum, unsigned int *pcbHeaderSize);
Forest Bond5449c682009-04-25 10:30:44 -040078
Charles Clément2989e962010-06-05 15:13:47 -070079void vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb, unsigned char *pbMPDU, unsigned int cbMPDULen);
Forest Bond5449c682009-04-25 10:30:44 -040080CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
81CMD_STATUS csBeacon_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
82
Forest Bond5449c682009-04-25 10:30:44 -040083#endif // __RXTX_H__