staging: vt6655: rxtx.h structure vnt_mic_hdr add IEEE80211_CCMP_PN_LEN macro
[linux-2.6/btrfs-unstable.git] / drivers / staging / vt6655 / rxtx.h
blob4accb788259a9176f8ad71d316dc3b1d133a4014
1 /*
2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3 * All rights reserved.
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.
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.
19 * File: rxtx.h
21 * Purpose:
23 * Author: Jerry Chen
25 * Date: Jun. 27, 2002
29 #ifndef __RXTX_H__
30 #define __RXTX_H__
32 #include "ttype.h"
33 #include "device.h"
34 #include "wcmd.h"
36 /*--------------------- Export Definitions -------------------------*/
38 /*--------------------- Export Variables --------------------------*/
40 /*--------------------- Export Functions --------------------------*/
42 /* MIC HDR data header */
43 struct vnt_mic_hdr {
44 u8 id;
45 u8 tx_priority;
46 u8 mic_addr2[ETH_ALEN];
47 u8 ccmp_pn[IEEE80211_CCMP_PN_LEN];
48 __be16 payload_len;
49 __be16 hlen;
50 __le16 frame_control;
51 u8 addr1[ETH_ALEN];
52 u8 addr2[ETH_ALEN];
53 u8 addr3[ETH_ALEN];
54 __le16 seq_ctrl;
55 u8 addr4[ETH_ALEN];
56 u16 packing; /* packing to 48 bytes */
57 } __packed;
59 void
60 vGenerateMACHeader(
61 struct vnt_private *,
62 unsigned char *pbyBufferAddr,
63 unsigned short wDuration,
64 PSEthernetHeader psEthHeader,
65 bool bNeedEncrypt,
66 unsigned short wFragType,
67 unsigned int uDMAIdx,
68 unsigned int uFragIdx
71 unsigned int
72 cbGetFragCount(
73 struct vnt_private *,
74 PSKeyItem pTransmitKey,
75 unsigned int cbFrameBodySize,
76 PSEthernetHeader psEthHeader
79 void
80 vGenerateFIFOHeader(struct vnt_private *, unsigned char byPktTyp,
81 unsigned char *pbyTxBufferAddr, bool bNeedEncrypt,
82 unsigned int cbPayloadSize, unsigned int uDMAIdx,
83 PSTxDesc pHeadTD, PSEthernetHeader psEthHeader,
84 unsigned char *pPacket, PSKeyItem pTransmitKey,
85 unsigned int uNodeIndex, unsigned int *puMACfragNum,
86 unsigned int *pcbHeaderSize);
88 void vDMA0_tx_80211(struct vnt_private *, struct sk_buff *skb,
89 unsigned char *pbMPDU, unsigned int cbMPDULen);
90 CMD_STATUS csMgmt_xmit(struct vnt_private *, PSTxMgmtPacket pPacket);
91 CMD_STATUS csBeacon_xmit(struct vnt_private *, PSTxMgmtPacket pPacket);
93 #endif // __RXTX_H__