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

📄 rtusb_io.h

📁 ralink 2870 usb无线网卡 最新驱动
💻 H
字号:
/* ************************************************************************* * Ralink Tech Inc. * 5F., No.36, Taiyuan St., Jhubei City, * Hsinchu County 302, * 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.             *  *                                                                       *  **************************************************************************/#ifndef __RTUSB_IO_H__#define __RTUSB_IO_H__#include "rtmp_type.h"// New for MeetingHouse Api support#define CMDTHREAD_VENDOR_RESET                      0x0D730101	// cmd#define CMDTHREAD_VENDOR_UNPLUG                     0x0D730102	// cmd#define CMDTHREAD_VENDOR_SWITCH_FUNCTION            0x0D730103	// cmd#define CMDTHREAD_MULTI_WRITE_MAC                   0x0D730107	// cmd#define CMDTHREAD_MULTI_READ_MAC                    0x0D730108	// cmd#define CMDTHREAD_VENDOR_EEPROM_WRITE               0x0D73010A	// cmd#define CMDTHREAD_VENDOR_EEPROM_READ                0x0D73010B	// cmd#define CMDTHREAD_VENDOR_ENTER_TESTMODE             0x0D73010C	// cmd#define CMDTHREAD_VENDOR_EXIT_TESTMODE              0x0D73010D	// cmd#define CMDTHREAD_VENDOR_WRITE_BBP                  0x0D730119	// cmd#define CMDTHREAD_VENDOR_READ_BBP                   0x0D730118	// cmd#define CMDTHREAD_VENDOR_WRITE_RF                   0x0D73011A	// cmd#define CMDTHREAD_VENDOR_FLIP_IQ                    0x0D73011D	// cmd#define CMDTHREAD_RESET_BULK_OUT                    0x0D730210	// cmd#define CMDTHREAD_RESET_BULK_IN                     0x0D730211	// cmd#define CMDTHREAD_SET_PSM_BIT                  		0x0D730212	// cmd#define CMDTHREAD_SET_RADIO                         0x0D730214	// cmd#define CMDTHREAD_UPDATE_TX_RATE                    0x0D730216	// cmd#define CMDTHREAD_802_11_ADD_KEY_WEP                0x0D730218	// cmd#define CMDTHREAD_RESET_FROM_ERROR                  0x0D73021A	// cmd#define CMDTHREAD_LINK_DOWN                         0x0D73021B	// cmd#define CMDTHREAD_RESET_FROM_NDIS                   0x0D73021C	// cmd#define CMDTHREAD_CHECK_GPIO                        0x0D730215	// cmd#define CMDTHREAD_FORCE_WAKE_UP                     0x0D730222	// cmd#define CMDTHREAD_SET_BW                            0x0D730225	// cmd#define CMDTHREAD_SET_ASIC_WCID                     0x0D730226	// cmd#define CMDTHREAD_SET_ASIC_WCID_CIPHER              0x0D730227	// cmd#define CMDTHREAD_QKERIODIC_EXECUT                  0x0D73023D	// cmd#define RT_CMD_SET_KEY_TABLE                        0x0D730228  // cmd#define RT_CMD_SET_RX_WCID_TABLE                    0x0D730229  // cmd#define CMDTHREAD_SET_CLIENT_MAC_ENTRY              0x0D73023E	// cmd#define CMDTHREAD_SET_GROUP_KEY						0x0D73023F	// cmd#define CMDTHREAD_SET_PAIRWISE_KEY					0x0D730240	// cmd#define CMDTHREAD_802_11_QUERY_HARDWARE_REGISTER    0x0D710105	// cmd#define CMDTHREAD_802_11_SET_PHY_MODE               0x0D79010C	// cmd#define CMDTHREAD_802_11_SET_STA_CONFIG             0x0D790111	// cmd#define CMDTHREAD_802_11_SET_PREAMBLE               0x0D790101	// cmd#define CMDTHREAD_802_11_COUNTER_MEASURE			0x0D790102	// cmd// add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet#define CMDTHREAD_UPDATE_PROTECT					0x0D790103	// cmd// end johnli//CMDTHREAD_MULTI_READ_MAC//CMDTHREAD_MULTI_WRITE_MAC//CMDTHREAD_VENDOR_EEPROM_READ//CMDTHREAD_VENDOR_EEPROM_WRITEtypedef	struct	_CMDHandler_TLV	{	USHORT		Offset;	USHORT		Length;	UCHAR		DataFirst;}	CMDHandler_TLV, *PCMDHandler_TLV;typedef	struct _CmdQElmt	{	UINT				command;	PVOID				buffer;	ULONG				bufferlength;	BOOLEAN				CmdFromNdis;	BOOLEAN				SetOperation;	struct _CmdQElmt	*next;}	CmdQElmt, *PCmdQElmt;typedef	struct	_CmdQ	{	UINT		size;	CmdQElmt	*head;	CmdQElmt	*tail;	UINT32		CmdQState;}CmdQ, *PCmdQ;#define EnqueueCmd(cmdq, cmdqelmt)		\{										\	if (cmdq->size == 0)				\		cmdq->head = cmdqelmt;			\	else								\		cmdq->tail->next = cmdqelmt;	\	cmdq->tail = cmdqelmt;				\	cmdqelmt->next = NULL;				\	cmdq->size++;						\}/******************************************************************************  	USB Cmd to ASIC Related MACRO  	******************************************************************************/// reset MAC of a station entry to 0xFFFFFFFFFFFF#define RTMP_STA_ENTRY_MAC_RESET(pAd, Wcid)					\	{	RT_SET_ASIC_WCID	SetAsicWcid;						\		SetAsicWcid.WCID = Wcid;								\		SetAsicWcid.SetTid = 0xffffffff;						\		SetAsicWcid.DeleteTid = 0xffffffff;						\		RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID, 	\				&SetAsicWcid, sizeof(RT_SET_ASIC_WCID));	}// add this entry into ASIC RX WCID search table#define RTMP_STA_ENTRY_ADD(pAd, pEntry)							\	RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_CLIENT_MAC_ENTRY, 	\							pEntry, sizeof(MAC_TABLE_ENTRY));// add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet// Set MAC register value according operation mode#define RTMP_UPDATE_PROTECT(pAd)	\ 	RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_UPDATE_PROTECT, NULL, 0);// end johnli// remove Pair-wise key material from ASIC// yet implement#define RTMP_STA_ENTRY_KEY_DEL(pAd, BssIdx, Wcid)// add Client security information into ASIC WCID table and IVEIV table#define RTMP_STA_SECURITY_INFO_ADD(pAd, apidx, KeyID, pEntry)						\	{	RTMP_STA_ENTRY_MAC_RESET(pAd, pEntry->Aid);								\		if (pEntry->Aid >= 1) {														\			RT_SET_ASIC_WCID_ATTRI	SetAsicWcidAttri;								\			SetAsicWcidAttri.WCID = pEntry->Aid;									\			if ((pEntry->AuthMode <= Ndis802_11AuthModeAutoSwitch) &&				\				(pEntry->WepStatus == Ndis802_11Encryption1Enabled))				\			{																		\				SetAsicWcidAttri.Cipher = pAd->SharedKey[apidx][KeyID].CipherAlg;	\			}																		\			else if (pEntry->AuthMode == Ndis802_11AuthModeWPANone)					\			{																		\				SetAsicWcidAttri.Cipher = pAd->SharedKey[apidx][KeyID].CipherAlg;	\			}																		\			else SetAsicWcidAttri.Cipher = 0;										\            DBGPRINT(RT_DEBUG_TRACE, ("aid cipher = %ld\n",SetAsicWcidAttri.Cipher));       \			RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID_CIPHER, 			\							&SetAsicWcidAttri, sizeof(RT_SET_ASIC_WCID_ATTRI)); } }// Insert the BA bitmap to ASIC for the Wcid entry#define RTMP_ADD_BA_SESSION_TO_ASIC(_pAd, _Aid, _TID)					\		do{																\			RT_SET_ASIC_WCID	SetAsicWcid;							\			SetAsicWcid.WCID = (_Aid);									\			SetAsicWcid.SetTid = (0x10000<<(_TID));						\			SetAsicWcid.DeleteTid = 0xffffffff;							\			RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(RT_SET_ASIC_WCID));	\		}while(0)// Remove the BA bitmap from ASIC for the Wcid entry#define RTMP_DEL_BA_SESSION_FROM_ASIC(_pAd, _Wcid, _TID)				\		do{																\			RT_SET_ASIC_WCID	SetAsicWcid;							\			SetAsicWcid.WCID = (_Wcid);									\			SetAsicWcid.SetTid = (0xffffffff);							\			SetAsicWcid.DeleteTid = (0x10000<<(_TID) );					\			RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(RT_SET_ASIC_WCID));	\		}while(0)#endif // __RTUSB_IO_H__ //

⌨️ 快捷键说明

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