⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtmp.h

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 H
📖 第 1 页 / 共 5 页
字号:
/* ************************************************************************* * Ralink Tech Inc. * 4F, No. 2 Technology 5th Rd. * Science-based Industrial Park * Hsin-chu, Taiwan, R.O.C. * * (c) Copyright 2002-2007, Ralink Technology, Inc. * * 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.,                                       *  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *  *                                                                       *  *************************************************************************     Module Name:    rtmp.h    Abstract:    Miniport generic portion header file    Revision History:    Who         When          What    --------    ----------    ----------------------------------------------    Paul Lin    2002-08-01    created    James Tan   2002-09-06    modified (Revise NTCRegTable)    John Chang  2004-09-06    modified for RT2600     */#ifndef __RTMP_H__#define __RTMP_H__#include "link_list.h"#ifdef CONFIG_STA_SUPPORT#include <aironet.h>#endif // CONFIG_STA_SUPPORT ////#define DBG		1extern  char    NIC_VENDOR_DESC[];extern  int     NIC_VENDOR_DESC_LEN;extern  unsigned long   NIC_VENDOR_DRIVER_VERSION;//extern    unsigned short  NIC_PCI_DEVICE_ID;extern  unsigned short  NIC2860_PCI_DEVICE_ID;extern  unsigned short  NIC2860_PCIe_DEVICE_ID;extern  unsigned short  NIC2561_PCI_DEVICE_ID;extern  unsigned short  NIC2561Turbo_PCI_DEVICE_ID;extern  unsigned short  NIC_PCI_VENDOR_ID;extern  unsigned char   SNAP_AIRONET[];extern  unsigned char   CipherSuiteCiscoCCKM[];extern  unsigned char   CipherSuiteCiscoCCKMLen;extern	unsigned char	CipherSuiteCiscoCCKM24[];extern	unsigned char	CipherSuiteCiscoCCKM24Len;extern  unsigned char   CipherSuiteCCXTkip[];extern  unsigned char   CipherSuiteCCXTkipLen;extern  unsigned char   CISCO_OUI[];extern  UCHAR	BaSizeArray[4];extern UCHAR BROADCAST_ADDR[MAC_ADDR_LEN];extern UCHAR MULTICAST_ADDR[MAC_ADDR_LEN];extern UCHAR ZERO_MAC_ADDR[MAC_ADDR_LEN];extern ULONG BIT32[32];extern UCHAR BIT8[8];extern char* CipherName[];extern char* MCSToMbps[];extern UCHAR	 RxwiMCSToOfdmRate[12];extern UCHAR SNAP_802_1H[6];extern UCHAR SNAP_BRIDGE_TUNNEL[6];extern UCHAR SNAP_AIRONET[8];extern UCHAR CKIP_LLC_SNAP[8];extern UCHAR EAPOL_LLC_SNAP[8];extern UCHAR EAPOL[2];extern UCHAR IPX[2];extern UCHAR APPLE_TALK[2];extern UCHAR RateIdToPlcpSignal[12]; // see IEEE802.11a-1999 p.14extern UCHAR	 OfdmRateToRxwiMCS[];extern UCHAR OfdmSignalToRateId[16] ;extern UCHAR default_cwmin[4];extern UCHAR default_cwmax[4];extern UCHAR default_sta_aifsn[4];extern UCHAR MapUserPriorityToAccessCategory[8];extern USHORT RateUpPER[];extern USHORT RateDownPER[];extern UCHAR  Phy11BNextRateDownward[];extern UCHAR  Phy11BNextRateUpward[];extern UCHAR  Phy11BGNextRateDownward[];extern UCHAR  Phy11BGNextRateUpward[];extern UCHAR  Phy11ANextRateDownward[];extern UCHAR  Phy11ANextRateUpward[];extern CHAR   RssiSafeLevelForTxRate[];extern UCHAR  RateIdToMbps[];extern USHORT RateIdTo500Kbps[];extern UCHAR  CipherSuiteWpaNoneTkip[];extern UCHAR  CipherSuiteWpaNoneTkipLen;extern UCHAR  CipherSuiteWpaNoneAes[];extern UCHAR  CipherSuiteWpaNoneAesLen;extern UCHAR  SsidIe;extern UCHAR  SupRateIe;extern UCHAR  ExtRateIe;extern UCHAR  HtCapIe;extern UCHAR  AddHtInfoIe;extern UCHAR  NewExtChanIe;extern UCHAR  ErpIe;extern UCHAR  DsIe;extern UCHAR  TimIe;extern UCHAR  WpaIe;extern UCHAR  Wpa2Ie;extern UCHAR  IbssIe;extern UCHAR  Ccx2Ie;extern UCHAR  WPA_OUI[];extern UCHAR  RSN_OUI[];extern UCHAR  WME_INFO_ELEM[];extern UCHAR  WME_PARM_ELEM[];extern UCHAR  Ccx2QosInfo[];extern UCHAR  Ccx2IeInfo[];extern UCHAR  RALINK_OUI[];extern UCHAR  PowerConstraintIE[];extern UCHAR  RateSwitchTable[];extern UCHAR  RateSwitchTable11B[];extern UCHAR  RateSwitchTable11G[];extern UCHAR  RateSwitchTable11BG[];extern UCHAR  RateSwitchTable11BGN1S[];extern UCHAR  RateSwitchTable11BGN2S[];extern UCHAR  RateSwitchTable11N1S[];extern UCHAR  RateSwitchTable11N2S[];#ifdef CONFIG_STA_SUPPORTextern UCHAR  PRE_N_HT_OUI[];#endif // CONFIG_STA_SUPPORT //#define	MAXSEQ		(0xFFF)#ifdef RALINK_ATEtypedef	struct _ATE_INFO {	UCHAR	Mode;	CHAR	TxPower0;	CHAR	TxPower1;	CHAR    TxAntennaSel;	CHAR    RxAntennaSel;	TXWI_STRUC  TxWI; 	  // TXWI	USHORT	QID;	UCHAR	Addr1[MAC_ADDR_LEN];	UCHAR	Addr2[MAC_ADDR_LEN];	UCHAR	Addr3[MAC_ADDR_LEN];    UCHAR	Channel;	ULONG	TxLength;	ULONG	TxCount;	ULONG	TxDoneCount; // Tx DMA Done	ULONG	RFFreqOffset;	BOOLEAN	bRxFer;	BOOLEAN	bQATxStart; // Have compiled QA in and use it to ATE tx.	BOOLEAN	bQARxStart;	// Have compiled QA in and use it to ATE rx.	ULONG	RxTotalCnt;	ULONG	RxCntPerSec;	CHAR	LastRssi0;	// last received BEACON's RSSI	CHAR	LastRssi1;	// last received BEACON's RSSI	CHAR	LastRssi2;	// last received BEACON's RSSI	CHAR	AvgRssi0;	CHAR	AvgRssi1;	CHAR	AvgRssi2;	SHORT	AvgRssi0X8;	SHORT	AvgRssi1X8;	SHORT	AvgRssi2X8;	ULONG	NumOfAvgRssiSample;#ifdef RALINK_2860_QA	// Tx frame	ULONG		TxInfo; // TxInfo	USHORT		HLen; // Header Length	USHORT		PLen; // Pattern Length	UCHAR 		Header[32]; // Header buffer	UCHAR		Pattern[32]; // Pattern buffer	USHORT		DLen; // Data Length	USHORT		seq;	ULONG		CID;	pid_t 		AtePid;	// counters	ULONG		U2M;	ULONG		OtherData;	ULONG		Beacon;	ULONG		OtherCount;	ULONG		TxAc0;	ULONG		TxAc1;	ULONG		TxAc2;	ULONG		TxAc3;	ULONG		TxHCCA;	ULONG		TxMgmt;	ULONG		RSSI0;	ULONG		RSSI1;	ULONG		RSSI2;	ULONG		SNR0;	ULONG		SNR1;	// control	//ULONG		Repeat; // Tx Cpu count	UCHAR		TxStatus; // task Tx status // 0 --> task is idle, 1 --> task is running#endif // RALINK_2860_QA //}	ATE_INFO, *PATE_INFO;#endif // RALINK_ATE //struct reordering_mpdu{	struct reordering_mpdu	*next;	PNDIS_PACKET			pPacket;		/* coverted to 802.3 frame */	int						Sequence;		/* sequence number of MPDU */	BOOLEAN					bAMSDU;};struct reordering_list{	struct reordering_mpdu *next;	int 	qlen;};struct reordering_mpdu_pool{	PVOID					mem;	NDIS_SPIN_LOCK			lock;	struct reordering_list 	freelist;};typedef struct 	_RSSI_SAMPLE {	CHAR			LastRssi0;             // last received RSSI	CHAR			LastRssi1;             // last received RSSI	CHAR			LastRssi2;             // last received RSSI	CHAR			AvgRssi0;	CHAR			AvgRssi1;	CHAR			AvgRssi2;	SHORT			AvgRssi0X8;	SHORT			AvgRssi1X8;	SHORT			AvgRssi2X8;} RSSI_SAMPLE;////  Queue structure and macros//typedef struct  _QUEUE_ENTRY    {	struct _QUEUE_ENTRY     *Next;}   QUEUE_ENTRY, *PQUEUE_ENTRY;// Queue structuretypedef struct  _QUEUE_HEADER   {	PQUEUE_ENTRY    Head;	PQUEUE_ENTRY    Tail;	ULONG           Number;}   QUEUE_HEADER, *PQUEUE_HEADER;#define InitializeQueueHeader(QueueHeader)              \{                                                       \	(QueueHeader)->Head = (QueueHeader)->Tail = NULL;   \	(QueueHeader)->Number = 0;                          \}#define RemoveHeadQueue(QueueHeader)                \(QueueHeader)->Head;                                \{                                                   \	PQUEUE_ENTRY pNext;                             \	if ((QueueHeader)->Head != NULL)				\	{												\		pNext = (QueueHeader)->Head->Next;          \		(QueueHeader)->Head = pNext;                \		if (pNext == NULL)                          \			(QueueHeader)->Tail = NULL;             \		(QueueHeader)->Number--;                    \	}												\}#define InsertHeadQueue(QueueHeader, QueueEntry)            \{                                                           \		((PQUEUE_ENTRY)QueueEntry)->Next = (QueueHeader)->Head; \		(QueueHeader)->Head = (PQUEUE_ENTRY)(QueueEntry);       \		if ((QueueHeader)->Tail == NULL)                        \			(QueueHeader)->Tail = (PQUEUE_ENTRY)(QueueEntry);   \		(QueueHeader)->Number++;                                \}#define InsertTailQueue(QueueHeader, QueueEntry)                \{                                                               \	((PQUEUE_ENTRY)QueueEntry)->Next = NULL;                    \	if ((QueueHeader)->Tail)                                    \		(QueueHeader)->Tail->Next = (PQUEUE_ENTRY)(QueueEntry); \	else                                                        \		(QueueHeader)->Head = (PQUEUE_ENTRY)(QueueEntry);       \	(QueueHeader)->Tail = (PQUEUE_ENTRY)(QueueEntry);           \	(QueueHeader)->Number++;                                    \}////  Macros for flag and ref count operations//#define RTMP_SET_FLAG(_M, _F)       ((_M)->Flags |= (_F))#define RTMP_CLEAR_FLAG(_M, _F)     ((_M)->Flags &= ~(_F))#define RTMP_CLEAR_FLAGS(_M)        ((_M)->Flags = 0)#define RTMP_TEST_FLAG(_M, _F)      (((_M)->Flags & (_F)) != 0)#define RTMP_TEST_FLAGS(_M, _F)     (((_M)->Flags & (_F)) == (_F))#define OPSTATUS_SET_FLAG(_pAd, _F)     ((_pAd)->CommonCfg.OpStatusFlags |= (_F))#define OPSTATUS_CLEAR_FLAG(_pAd, _F)   ((_pAd)->CommonCfg.OpStatusFlags &= ~(_F))#define OPSTATUS_TEST_FLAG(_pAd, _F)    (((_pAd)->CommonCfg.OpStatusFlags & (_F)) != 0)#define CLIENT_STATUS_SET_FLAG(_pEntry,_F)      ((_pEntry)->ClientStatusFlags |= (_F))#define CLIENT_STATUS_CLEAR_FLAG(_pEntry,_F)    ((_pEntry)->ClientStatusFlags &= ~(_F))#define CLIENT_STATUS_TEST_FLAG(_pEntry,_F)     (((_pEntry)->ClientStatusFlags & (_F)) != 0)//#define STACFG_SET_FLAG(_pAd, _F)       ((_pAd)->StaCfg.StaCfgFlags |= (_F))//#define STACFG_CLEAR_FLAG(_pAd, _F)     ((_pAd)->StaCfg.StaCfgFlags &= ~(_F))//#define STACFG_TEST_FLAG(_pAd, _F)      (((_pAd)->StaCfg.StaCfgFlags & (_F)) != 0)#define RX_FILTER_SET_FLAG(_pAd, _F)    ((_pAd)->CommonCfg.PacketFilter |= (_F))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -