92b9679711
Add pristine upstream vt6656 driver sources to drivers/staging/vt6656. These files were copied from the driver directory in the upstream source archive, available here: http://www.viaarena.com/Driver/VT6656_Linux_src_v1.19_12_x86.zip After copying, trailing whitespace was stripped. This is GPL-licensed code. Signed-off-by: Forest Bond <forest@alittletooquiet.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
717 lines
19 KiB
C
717 lines
19 KiB
C
/*
|
|
* Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*
|
|
* File: rxtx.h
|
|
*
|
|
* Purpose:
|
|
*
|
|
* Author: Jerry Chen
|
|
*
|
|
* Date: Jun. 27, 2002
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef __RXTX_H__
|
|
#define __RXTX_H__
|
|
|
|
#if !defined(__TTYPE_H__)
|
|
#include "ttype.h"
|
|
#endif
|
|
#if !defined(__DEVICE_H__)
|
|
#include "device.h"
|
|
#endif
|
|
#if !defined(__WCMD_H__)
|
|
#include "wcmd.h"
|
|
#endif
|
|
|
|
|
|
/*--------------------- Export Definitions -------------------------*/
|
|
|
|
/*--------------------- Export Classes ----------------------------*/
|
|
|
|
//
|
|
// RTS buffer header
|
|
//
|
|
typedef struct tagSRTSDataF {
|
|
WORD wFrameControl;
|
|
WORD wDurationID;
|
|
BYTE abyRA[U_ETHER_ADDR_LEN];
|
|
BYTE abyTA[U_ETHER_ADDR_LEN];
|
|
} SRTSDataF, DEF* PSRTSDataF;
|
|
|
|
//
|
|
// CTS buffer header
|
|
//
|
|
typedef struct tagSCTSDataF {
|
|
WORD wFrameControl;
|
|
WORD wDurationID;
|
|
BYTE abyRA[U_ETHER_ADDR_LEN];
|
|
WORD wReserved;
|
|
} SCTSDataF, DEF* PSCTSDataF;
|
|
|
|
//
|
|
// MICHDR data header
|
|
//
|
|
typedef struct tagSMICHDR {
|
|
DWORD adwHDR0[4];
|
|
DWORD adwHDR1[4];
|
|
DWORD adwHDR2[4];
|
|
} SMICHDR, DEF* PSMICHDR;
|
|
|
|
|
|
typedef struct tagSTX_NAF_G_RTS
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ba;
|
|
WORD wRTSTxRrvTime_aa;
|
|
WORD wRTSTxRrvTime_bb;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_b;
|
|
BYTE byRTSServiceField_b;
|
|
WORD wRTSTransmitLength_b;
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_ba;
|
|
WORD wRTSDuration_aa;
|
|
WORD wRTSDuration_bb;
|
|
WORD wReserved3;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_NAF_G_RTS, DEF* PTX_NAF_G_RTS;
|
|
|
|
typedef struct tagSTX_NAF_G_RTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ba;
|
|
WORD wRTSTxRrvTime_aa;
|
|
WORD wRTSTxRrvTime_bb;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_b;
|
|
BYTE byRTSServiceField_b;
|
|
WORD wRTSTransmitLength_b;
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_ba;
|
|
WORD wRTSDuration_aa;
|
|
WORD wRTSDuration_bb;
|
|
WORD wReserved3;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_NAF_G_RTS_MIC, DEF* PTX_NAF_G_RTS_MIC;
|
|
|
|
typedef struct tagSTX_NAF_G_CTS
|
|
{
|
|
//RsvTime
|
|
WORD wCTSTxRrvTime_ba;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//CTS
|
|
BYTE byCTSSignalField_b;
|
|
BYTE byCTSServiceField_b;
|
|
WORD wCTSTransmitLength_b;
|
|
WORD wCTSDuration_ba;
|
|
WORD wReserved3;
|
|
SCTSDataF sCTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_NAF_G_CTS, DEF* PTX_NAF_G_CTS;
|
|
|
|
|
|
typedef struct tagSTX_NAF_G_CTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wCTSTxRrvTime_ba;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//CTS
|
|
BYTE byCTSSignalField_b;
|
|
BYTE byCTSServiceField_b;
|
|
WORD wCTSTransmitLength_b;
|
|
WORD wCTSDuration_ba;
|
|
WORD wReserved3;
|
|
SCTSDataF sCTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_NAF_G_CTS_MIC, DEF* PTX_NAF_G_CTS_MIC;
|
|
|
|
|
|
typedef struct tagSTX_NAF_G_BEACON
|
|
{
|
|
WORD wFIFOCtl;
|
|
WORD wTimeStamp;
|
|
|
|
//CTS
|
|
BYTE byCTSSignalField_b;
|
|
BYTE byCTSServiceField_b;
|
|
WORD wCTSTransmitLength_b;
|
|
WORD wCTSDuration_ba;
|
|
WORD wReserved1;
|
|
SCTSDataF sCTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_a;
|
|
|
|
|
|
} TX_NAF_G_BEACON, DEF* PTX_NAF_G_BEACON;
|
|
|
|
|
|
typedef struct tagSTX_NAF_AB_RTS
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ab;
|
|
WORD wTxRrvTime_ab;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_ab;
|
|
BYTE byRTSServiceField_ab;
|
|
WORD wRTSTransmitLength_ab;
|
|
WORD wRTSDuration_ab;
|
|
WORD wReserved2;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_ab;
|
|
BYTE byServiceField_ab;
|
|
WORD wTransmitLength_ab;
|
|
WORD wDuration_ab;
|
|
WORD wTimeStampOff_ab;
|
|
|
|
|
|
} TX_NAF_AB_RTS, DEF* PTX_NAF_AB_RTS;
|
|
|
|
|
|
typedef struct tagSTX_NAF_AB_RTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ab;
|
|
WORD wTxRrvTime_ab;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_ab;
|
|
BYTE byRTSServiceField_ab;
|
|
WORD wRTSTransmitLength_ab;
|
|
WORD wRTSDuration_ab;
|
|
WORD wReserved2;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_ab;
|
|
BYTE byServiceField_ab;
|
|
WORD wTransmitLength_ab;
|
|
WORD wDuration_ab;
|
|
WORD wTimeStampOff_ab;
|
|
|
|
|
|
} TX_NAF_AB_RTS_MIC, DEF* PTX_NAF_AB_RTS_MIC;
|
|
|
|
|
|
|
|
typedef struct tagSTX_NAF_AB_CTS
|
|
{
|
|
//RsvTime
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_ab;
|
|
|
|
//Data
|
|
BYTE bySignalField_ab;
|
|
BYTE byServiceField_ab;
|
|
WORD wTransmitLength_ab;
|
|
WORD wDuration_ab;
|
|
WORD wTimeStampOff_ab;
|
|
|
|
} TX_NAF_AB_CTS, DEF* PTX_NAF_AB_CTS;
|
|
|
|
typedef struct tagSTX_NAF_AB_CTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_ab;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//Data
|
|
BYTE bySignalField_ab;
|
|
BYTE byServiceField_ab;
|
|
WORD wTransmitLength_ab;
|
|
WORD wDuration_ab;
|
|
WORD wTimeStampOff_ab;
|
|
|
|
} TX_NAF_AB_CTS_MIC, DEF* PTX_NAF_AB_CTS_MIC;
|
|
|
|
|
|
typedef struct tagSTX_NAF_AB_BEACON
|
|
{
|
|
WORD wFIFOCtl;
|
|
WORD wTimeStamp;
|
|
|
|
//Data
|
|
BYTE bySignalField_ab;
|
|
BYTE byServiceField_ab;
|
|
WORD wTransmitLength_ab;
|
|
WORD wDuration_ab;
|
|
WORD wTimeStampOff_ab;
|
|
|
|
} TX_NAF_AB_BEACON, DEF* PTX_NAF_AB_BEACON;
|
|
|
|
typedef struct tagSTX_AF_G_RTS
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ba;
|
|
WORD wRTSTxRrvTime_aa;
|
|
WORD wRTSTxRrvTime_bb;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_b;
|
|
BYTE byRTSServiceField_b;
|
|
WORD wRTSTransmitLength_b;
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_ba;
|
|
WORD wRTSDuration_aa;
|
|
WORD wRTSDuration_bb;
|
|
WORD wReserved3;
|
|
WORD wRTSDuration_ba_f0;
|
|
WORD wRTSDuration_aa_f0;
|
|
WORD wRTSDuration_ba_f1;
|
|
WORD wRTSDuration_aa_f1;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_AF_G_RTS, DEF* PTX_AF_G_RTS;
|
|
|
|
|
|
typedef struct tagSTX_AF_G_RTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_ba;
|
|
WORD wRTSTxRrvTime_aa;
|
|
WORD wRTSTxRrvTime_bb;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_b;
|
|
BYTE byRTSServiceField_b;
|
|
WORD wRTSTransmitLength_b;
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_ba;
|
|
WORD wRTSDuration_aa;
|
|
WORD wRTSDuration_bb;
|
|
WORD wReserved3;
|
|
WORD wRTSDuration_ba_f0;
|
|
WORD wRTSDuration_aa_f0;
|
|
WORD wRTSDuration_ba_f1;
|
|
WORD wRTSDuration_aa_f1;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_AF_G_RTS_MIC, DEF* PTX_AF_G_RTS_MIC;
|
|
|
|
|
|
|
|
typedef struct tagSTX_AF_G_CTS
|
|
{
|
|
//RsvTime
|
|
WORD wCTSTxRrvTime_ba;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//CTS
|
|
BYTE byCTSSignalField_b;
|
|
BYTE byCTSServiceField_b;
|
|
WORD wCTSTransmitLength_b;
|
|
WORD wCTSDuration_ba;
|
|
WORD wReserved3;
|
|
WORD wCTSDuration_ba_f0;
|
|
WORD wCTSDuration_ba_f1;
|
|
SCTSDataF sCTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_AF_G_CTS, DEF* PTX_AF_G_CTS;
|
|
|
|
|
|
typedef struct tagSTX_AF_G_CTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wCTSTxRrvTime_ba;
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_b;
|
|
WORD wTxRrvTime_a;
|
|
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//CTS
|
|
BYTE byCTSSignalField_b;
|
|
BYTE byCTSServiceField_b;
|
|
WORD wCTSTransmitLength_b;
|
|
WORD wCTSDuration_ba;
|
|
WORD wReserved3;
|
|
WORD wCTSDuration_ba_f0;
|
|
WORD wCTSDuration_ba_f1;
|
|
SCTSDataF sCTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_b;
|
|
BYTE byServiceField_b;
|
|
WORD wTransmitLength_b;
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_b;
|
|
WORD wDuration_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
WORD wTimeStampOff_b;
|
|
WORD wTimeStampOff_a;
|
|
|
|
} TX_AF_G_CTS_MIC, DEF* PTX_AF_G_CTS_MIC;
|
|
|
|
|
|
|
|
typedef struct tagSTX_AF_A_RTS
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_a;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_a;
|
|
WORD wReserved2;
|
|
WORD wRTSDuration_a_f0;
|
|
WORD wRTSDuration_a_f1;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
|
|
} TX_AF_A_RTS, DEF* PTX_AF_A_RTS;
|
|
|
|
|
|
typedef struct tagSTX_AF_A_RTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wRTSTxRrvTime_a;
|
|
WORD wTxRrvTime_a;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//RTS
|
|
BYTE byRTSSignalField_a;
|
|
BYTE byRTSServiceField_a;
|
|
WORD wRTSTransmitLength_a;
|
|
WORD wRTSDuration_a;
|
|
WORD wReserved2;
|
|
WORD wRTSDuration_a_f0;
|
|
WORD wRTSDuration_a_f1;
|
|
SRTSDataF sRTS;
|
|
|
|
//Data
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
|
|
} TX_AF_A_RTS_MIC, DEF* PTX_AF_A_RTS_MIC;
|
|
|
|
|
|
|
|
typedef struct tagSTX_AF_A_CTS
|
|
{
|
|
//RsvTime
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_a;
|
|
|
|
//Data
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
|
|
} TX_AF_A_CTS, DEF* PTX_AF_A_CTS;
|
|
|
|
|
|
typedef struct tagSTX_AF_A_CTS_MIC
|
|
{
|
|
//RsvTime
|
|
WORD wReserved2;
|
|
WORD wTxRrvTime_a;
|
|
|
|
SMICHDR sMICHDR;
|
|
|
|
//Data
|
|
BYTE bySignalField_a;
|
|
BYTE byServiceField_a;
|
|
WORD wTransmitLength_a;
|
|
WORD wDuration_a;
|
|
WORD wTimeStampOff_a;
|
|
WORD wDuration_a_f0;
|
|
WORD wDuration_a_f1;
|
|
|
|
} TX_AF_A_CTS_MIC, DEF* PTX_AF_A_CTS_MIC;
|
|
|
|
|
|
//
|
|
// union with all of the TX Buffer Type
|
|
//
|
|
typedef union tagUTX_BUFFER_CONTAINER
|
|
{
|
|
TX_NAF_G_RTS RTS_G;
|
|
TX_NAF_G_RTS_MIC RTS_G_MIC;
|
|
TX_NAF_G_CTS CTS_G;
|
|
TX_NAF_G_CTS_MIC CTS_G_MIC;
|
|
//TX_NAF_G_BEACON Beacon_G;
|
|
TX_NAF_AB_RTS RTS_AB;
|
|
TX_NAF_AB_RTS_MIC RTS_AB_MIC;
|
|
TX_NAF_AB_CTS CTS_AB;
|
|
TX_NAF_AB_CTS_MIC CTS_AB_MIC;
|
|
//TX_NAF_AB_BEACON Beacon_AB;
|
|
TX_AF_G_RTS RTS_G_AutoFB;
|
|
TX_AF_G_RTS_MIC RTS_G_AutoFB_MIC;
|
|
TX_AF_G_CTS CTS_G_AutoFB;
|
|
TX_AF_G_CTS_MIC CTS_G_AutoFB_MIC;
|
|
TX_AF_A_RTS RTS_A_AutoFB;
|
|
TX_AF_A_RTS_MIC RTS_A_AutoFB_MIC;
|
|
TX_AF_A_CTS CTS_A_AutoFB;
|
|
TX_AF_A_CTS_MIC CTS_A_AutoFB_MIC;
|
|
|
|
} TX_BUFFER_CONTAINER, DEF* PTX_BUFFER_CONTAINER;
|
|
|
|
|
|
//
|
|
// Remote NDIS message format
|
|
//
|
|
typedef struct tagSTX_BUFFER
|
|
{
|
|
BYTE byType;
|
|
BYTE byPKTNO;
|
|
WORD wTxByteCount;
|
|
|
|
DWORD adwTxKey[4];
|
|
WORD wFIFOCtl;
|
|
WORD wTimeStamp;
|
|
WORD wFragCtl;
|
|
WORD wReserved;
|
|
|
|
|
|
// Actual message
|
|
TX_BUFFER_CONTAINER BufferHeader;
|
|
|
|
} TX_BUFFER, DEF* PTX_BUFFER;
|
|
|
|
|
|
//
|
|
// Remote NDIS message format
|
|
//
|
|
typedef struct tagSBEACON_BUFFER
|
|
{
|
|
BYTE byType;
|
|
BYTE byPKTNO;
|
|
WORD wTxByteCount;
|
|
|
|
WORD wFIFOCtl;
|
|
WORD wTimeStamp;
|
|
|
|
// Actual message
|
|
TX_BUFFER_CONTAINER BufferHeader;
|
|
|
|
} BEACON_BUFFER, DEF* PBEACON_BUFFER;
|
|
|
|
|
|
/*--------------------- Export Variables --------------------------*/
|
|
|
|
/*--------------------- Export Functions --------------------------*/
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
BOOL
|
|
bPacketToWirelessUsb(
|
|
IN PSDevice pDevice,
|
|
IN BYTE byPktType,
|
|
IN PBYTE usbPacketBuf,
|
|
IN BOOL bNeedEncrypt,
|
|
IN UINT cbPayloadSize,
|
|
IN UINT uDMAIdx,
|
|
IN PSEthernetHeader psEthHeader,
|
|
IN PBYTE pPacket,
|
|
IN PSKeyItem pTransmitKey,
|
|
IN UINT uNodeIndex,
|
|
IN WORD wCurrentRate,
|
|
OUT UINT *pcbHeaderLen,
|
|
OUT UINT *pcbTotalLen
|
|
);
|
|
|
|
VOID vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb);
|
|
NTSTATUS nsDMA_tx_packet(PSDevice pDevice, UINT uDMAIdx, struct sk_buff *skb);
|
|
CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
|
|
CMD_STATUS csBeacon_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket);
|
|
BOOL bRelayPacketSend(PSDevice pDevice, PBYTE pbySkbData, UINT uDataLen, UINT uNodeIndex);
|
|
|
|
#ifdef __cplusplus
|
|
} /* End of extern "C" { */
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
#endif // __RXTX_H__
|
|
|
|
|
|
|