亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtmp.h

?? r73模塊的無線網(wǎng)卡在Linux下的驅(qū)動程序
?? H
?? 第 1 頁 / 共 5 頁
字號:
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.serialmonkey.com             * *                                                                         * *   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.             * *                                                                         * *   Licensed under the GNU GPL                                            * *   Original code supplied under license from RaLink Inc, 2004.           * ***************************************************************************//*************************************************************************** *	Module Name:	rtmp.h * *	Abstract: * *	Revision History: *	Who		When		What *	--------	----------	----------------------------- *	idamlaj		05-10-2006	Import rfmon implementation *	idamlaj		14-10-2006	RFMonTx (based on MarkW's code) *	RomainB     31-12-2206  RFMonTx getter * ***************************************************************************/#ifndef __RTMP_H__#define __RTMP_H__#include "mlme.h"#include "oid.h"#include "wpa.h"//// Extern//extern UCHAR BROADCAST_ADDR[MAC_ADDR_LEN];extern UCHAR ZERO_MAC_ADDR[MAC_ADDR_LEN];extern ULONG BIT32[32];extern UCHAR BIT8[8];extern char* CipherName[];extern UCHAR SNAP_802_1H[6];extern UCHAR SNAP_BRIDGE_TUNNEL[6];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 OfdmSignalToRateId[16] ;extern UCHAR default_cwmin[4];extern UCHAR default_cwmax[4];extern UCHAR default_sta_aifsn[4];extern UCHAR MapUserPriorityToAccessCategory[8];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  ErpIe;extern UCHAR  DsIe;extern UCHAR  TimIe;extern UCHAR  WpaIe;extern UCHAR  Wpa2Ie;extern UCHAR  IbssIe;extern UCHAR  WPA_OUI[];extern UCHAR  WME_INFO_ELEM[];extern UCHAR  WME_PARM_ELEM[];extern UCHAR  RALINK_OUI[];extern struct usb_device_id rtusb_usb_id[];extern INT const rtusb_usb_id_len;//// MACRO for linux usb//typedef struct urb *purbb_t;typedef struct usb_ctrlrequest devctrlrequest;// for vendor-specific control operations#define CONTROL_TIMEOUT_MS		(1000)	 /* msec */  // lengthen timeout for loading firmware#define CONTROL_TIMEOUT_JIFFIES ((CONTROL_TIMEOUT_MS * HZ)/1000)/* map devrequest fields onto usb_ctrlrequest's */#define DEVREQ_REQUEST(x)		((x)->bRequest)#define DEVREQ_REQUESTTYPE(x)	((x)->bRequestType)#define DEVREQ_VALUE(x) 		((x)->wValue)#define DEVREQ_INDEX(x) 		((x)->wIndex)#define DEVREQ_LENGTH(x)		((x)->wLength)#define PURB		purbb_t#define PIRP		PVOID#define PMDL		PVOID#define NDIS_OID	UINT#define STATUS_SUCCESS		0x00#define STATUS_UNSUCCESSFUL 0x01typedef LONG		NTSTATUS;typedef NTSTATUS	*PNTSTATUS;#define KPRINT(Level, fmt, args...) \	printk(Level DRIVER_NAME ": " fmt, ## args)////	Macro for debugging information//#ifdef DBGextern ULONG	RTDebugLevel;#define DBGPRINT(Level, fmt, args...)						\{															\	if (Level & RTDebugLevel)								\	{														\		printk(KERN_DEBUG DRIVER_NAME ": " fmt, ## args);	\	}														\}#define DBGPRINT_ERR(fmt, args...)									\{																	\	if (RT_DEBUG_ERROR & RTDebugLevel)										\	{																\		printk(KERN_DEBUG DRIVER_NAME ": ERROR!!! " fmt, ## args);	\	}																\}#define DBGPRINT_RAW(Level, fmt, args...)	\{											\	if (Level & RTDebugLevel)				\	{										\		printk(fmt, ## args);				\	}										\}#else#define DBGPRINT(Level, fmt, args...)#define DBGPRINT_ERR(fmt, args...)#define DBGPRINT_RAW(Level, fmt, args...)#endif#  define assert(expr)											\		if(unlikely(!(expr))) {									\		printk(KERN_ERR "Assertion failed! %s,%s,%s,line=%d\n",	\		#expr,__FILE__,__FUNCTION__,__LINE__);					\		}#ifndef kzalloc#define kzalloc(size, flags)			\({						\	void *data = kmalloc(size, flags);	\	if (data)				\		memset(data,0,size);		\	data;					\})#endif#ifndef free_netdev#define free_netdev kfree#endif////	spin_lock enhanced for Nested spin lock//#define	NdisAllocateSpinLock(lock)	\{									\	spin_lock_init(lock);			\}#if 0#define NdisReleaseSpinLock(lock)    \{											\	if (in_interrupt())						\		spin_unlock_irqrestore(lock, flags);\	else									\		spin_unlock(lock);					\}#define NdisAcquireSpinLock(lock)    \{											\	if (in_interrupt())						\		spin_lock_irqsave(lock, flags);		\	else									\		spin_lock(lock);					\}#else#define NdisReleaseSpinLock(lock)	\{											\	spin_unlock_irqrestore(lock, (unsigned long)flags);	\}#define NdisAcquireSpinLock(lock)	\{											\	spin_lock_irqsave(lock, flags);			\}#endif#define NdisFreeSpinLock(lock)			\{										\}#define RTUSBFreeSkbBuffer(skb)				\{											\	dev_kfree_skb_any(skb);					\}#define RTUSBMlmeUp(pAd)	        \{								    \	if(pAd->MLMEThr_pid>0)				    \        up(&(pAd->mlme_semaphore)); \}#define RTUSBCMDUp(pAd)	                \{									    \	if(pAd->RTUSBCmdThr_pid>0)		    \	    up(&(pAd->RTUSBCmd_semaphore)); \}//Setup Packet used in Ctrl urb's filler....#define FILL_REQUEST(a,aa,ab,ac,ad,ae)		\  do {										\	  (a)->devreq->request = aa;			\	  (a)->devreq->requesttype = ab;		\	  (a)->devreq->value = cpu_to_le16(ac); \	  (a)->devreq->index = cpu_to_le16(ad); \	  (a)->devreq->length = cpu_to_le16(ae);\  }while(0);// direction is specified in TransferFlags#define URB_FUNCTION_RESERVED0						0x0016//// These are for sending vendor and class commands// on the default pipe//// direction is specified in TransferFlags#define URB_FUNCTION_VENDOR_DEVICE					 0x0017#define URB_FUNCTION_VENDOR_INTERFACE				 0x0018#define URB_FUNCTION_VENDOR_ENDPOINT				 0x0019#define URB_FUNCTION_VENDOR_OTHER					 0x0020#define URB_FUNCTION_CLASS_DEVICE					 0x001A#define URB_FUNCTION_CLASS_INTERFACE				 0x001B#define URB_FUNCTION_CLASS_ENDPOINT 				 0x001C#define URB_FUNCTION_CLASS_OTHER					 0x001F//// Reserved function codes//#define URB_FUNCTION_RESERVED						 0x001D#define URB_FUNCTION_GET_CONFIGURATION				 0x0026#define URB_FUNCTION_GET_INTERFACE					 0x0027#define URB_FUNCTION_LAST							 0x0029////	Assert MACRO to make sure program running//#undef	ASSERT#define ASSERT(x)																\{																				\	if (!(x))																	\	{																			\		printk(KERN_WARNING __FILE__ ":%d assert " #x "failed\n", __LINE__);	\	}																			\}////	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))// Flags control for RT2500 USB bulk out frame type// We serialize modification between process context and interrupt context// and between processors, allowing also for relaxed memory consistency - bb//#define RTUSB_SET_BULK_FLAG(_M, _F)		((_M)->BulkFlags |= (_F))#define RTUSB_SET_BULK_FLAG(_M, _F)						\{														\	spin_lock_irqsave(&(_M)->BulkFlagsLock, flags);		\	smp_wmb();											\	(_M)->BulkFlags |= (_F);							\	spin_unlock_irqrestore(&(_M)->BulkFlagsLock, flags);	\}//#define RTUSB_CLEAR_BULK_FLAG(_M, _F)	((_M)->BulkFlags &= ~(_F))#define RTUSB_CLEAR_BULK_FLAG(_M, _F)					\{														\	spin_lock_irqsave(&(_M)->BulkFlagsLock, flags);		\	smp_wmb();											\	(_M)->BulkFlags &= ~(_F);							\	spin_unlock_irqrestore(&(_M)->BulkFlagsLock, flags);	\}#define RTUSB_TEST_BULK_FLAG(_M, _F)	(((_M)->BulkFlags & (_F)) != 0)#define OPSTATUS_SET_FLAG(_pAd, _F) 	((_pAd)->PortCfg.OpStatusFlags |= (_F))#define OPSTATUS_CLEAR_FLAG(_pAd, _F)	((_pAd)->PortCfg.OpStatusFlags &= ~(_F))#define OPSTATUS_TEST_FLAG(_pAd, _F)	(((_pAd)->PortCfg.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 INC_RING_INDEX(_idx, _RingSize)    \{										   \	(_idx)++;							   \	if ((_idx) >= (_RingSize)) _idx=0;	   \}// Increase TxTsc value for next transmission// TODO:// When i==6, means TSC has done one full cycle, do re-keying stuff follow specs// Should send a special event microsoft defined to request re-key#define INC_TX_TSC(_tsc)								\{														\	int i=0;											\	while (++_tsc[i] == 0x0)							\	{													\		i++;											\		if (i == 6) 									\			break;										\	}													\}#undef	NdisMoveMemory#undef	NdisZeroMemory#undef	NdisFillMemory#undef	NdisEqualMemory#define NdisMoveMemory(Destination, Source, Length) RTMPMoveMemory(Destination, Source, Length)#define NdisZeroMemory(Destination, Length) 		RTMPZeroMemory(Destination, Length)#define NdisFillMemory(Destination, Length, Fill)	RTMPFillMemory(Destination, Length, Fill)#define NdisEqualMemory(Source1, Source2, Length)	RTMPEqualMemory(Source1, Source2, Length)#define MAC_ADDR_EQUAL(pAddr1,pAddr2)				RTMPEqualMemory((PVOID)(pAddr1), (PVOID)(pAddr2), MAC_ADDR_LEN)#define COPY_MAC_ADDR(Addr1, Addr2) 				memcpy((Addr1), (Addr2), MAC_ADDR_LEN)#define SSID_EQUAL(ssid1, len1, ssid2, len2)		((len1==len2) && (RTMPEqualMemory(ssid1, ssid2, len1)))#define NdisMSleep                                  mdelay#define 	MAP_CHANNEL_ID_TO_KHZ(ch, khz)	{				\				switch (ch) 								\				{											\					case 1: 	khz = 2412000;	 break; 	\					case 2: 	khz = 2417000;	 break; 	\					case 3: 	khz = 2422000;	 break; 	\					case 4: 	khz = 2427000;	 break; 	\					case 5: 	khz = 2432000;	 break; 	\					case 6: 	khz = 2437000;	 break; 	\					case 7: 	khz = 2442000;	 break; 	\					case 8: 	khz = 2447000;	 break; 	\					case 9: 	khz = 2452000;	 break; 	\					case 10:	khz = 2457000;	 break; 	\					case 11:	khz = 2462000;	 break; 	\					case 12:	khz = 2467000;	 break; 	\					case 13:	khz = 2472000;	 break; 	\					case 14:	khz = 2484000;	 break; 	\					case 36:  /* UNII */  khz = 5180000;   break;	  \					case 40:  /* UNII */  khz = 5200000;   break;	  \					case 44:  /* UNII */  khz = 5220000;   break;	  \					case 48:  /* UNII */  khz = 5240000;   break;	  \					case 52:  /* UNII */  khz = 5260000;   break;	  \					case 56:  /* UNII */  khz = 5280000;   break;	  \					case 60:  /* UNII */  khz = 5300000;   break;	  \					case 64:  /* UNII */  khz = 5320000;   break;	  \					case 149: /* UNII */  khz = 5745000;   break;	  \					case 153: /* UNII */  khz = 5765000;   break;	  \					case 157: /* UNII */  khz = 5785000;   break;	  \					case 161: /* UNII */  khz = 5805000;   break;	  \					case 165: /* UNII */  khz = 5825000;   break;	  \					case 100: /* HiperLAN2 */  khz = 5500000;	break;	   \					case 104: /* HiperLAN2 */  khz = 5520000;	break;	   \					case 108: /* HiperLAN2 */  khz = 5540000;	break;	   \					case 112: /* HiperLAN2 */  khz = 5560000;	break;	   \					case 116: /* HiperLAN2 */  khz = 5580000;	break;	   \					case 120: /* HiperLAN2 */  khz = 5600000;	break;	   \					case 124: /* HiperLAN2 */  khz = 5620000;	break;	   \					case 128: /* HiperLAN2 */  khz = 5640000;	break;	   \					case 132: /* HiperLAN2 */  khz = 5660000;	break;	   \					case 136: /* HiperLAN2 */  khz = 5680000;	break;	   \					case 140: /* HiperLAN2 */  khz = 5700000;	break;	   \					case 34:  /* Japan MMAC */	 khz = 5170000;   break;   \					case 38:  /* Japan MMAC */	 khz = 5190000;   break;   \					case 42:  /* Japan MMAC */	 khz = 5210000;   break;   \					case 46:  /* Japan MMAC */	 khz = 5230000;   break;   \					default:	khz = 2412000;	 break; 	\				}											\			}#define 	MAP_KHZ_TO_CHANNEL_ID(khz, ch)	{				\				switch (khz)								\				{											\					case 2412000:	 ch = 1;	 break; 	\					case 2417000:	 ch = 2;	 break; 	\					case 2422000:	 ch = 3;	 break; 	\					case 2427000:	 ch = 4;	 break; 	\					case 2432000:	 ch = 5;	 break; 	\					case 2437000:	 ch = 6;	 break; 	\					case 2442000:	 ch = 7;	 break; 	\					case 2447000:	 ch = 8;	 break; 	\					case 2452000:	 ch = 9;	 break; 	\					case 2457000:	 ch = 10;	 break; 	\					case 2462000:	 ch = 11;	 break; 	\					case 2467000:	 ch = 12;	 break; 	\					case 2472000:	 ch = 13;	 break; 	\					case 2484000:	 ch = 14;	 break; 	\					case 5180000:	 ch = 36;  /* UNII */  break;	  \					case 5200000:	 ch = 40;  /* UNII */  break;	  \

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲线路二| 国产视频在线观看一区二区三区| 91亚洲男人天堂| 国产乱码字幕精品高清av| 久久成人免费日本黄色| 毛片av一区二区| 毛片一区二区三区| 精彩视频一区二区| 国产一区二区在线看| 国产毛片精品国产一区二区三区| 日本免费新一区视频| 午夜精品久久久久久久| 五月婷婷综合在线| 免费看欧美女人艹b| 久久99久国产精品黄毛片色诱| 久久精品国产99国产精品| 久久精品国产99国产| 国产精品系列在线播放| 成人免费看片app下载| 成人av在线播放网站| 一本大道久久精品懂色aⅴ| 色婷婷综合久久久久中文| 91国产视频在线观看| 欧美日韩一区高清| 日韩免费看的电影| 国产欧美一区二区精品性色| 国产精品理论片在线观看| 亚洲区小说区图片区qvod| 亚洲一区二三区| 麻豆精品一区二区| 成人免费视频国产在线观看| 欧美无人高清视频在线观看| 欧美大片国产精品| 亚洲国产高清在线| 亚洲小说欧美激情另类| 久久国产日韩欧美精品| 成人国产视频在线观看| 欧美视频在线一区二区三区| 精品理论电影在线观看| 中文字幕在线免费不卡| 日韩国产在线观看一区| 国产乱码一区二区三区| 91国偷自产一区二区三区观看| 日韩欧美国产精品一区| 中文字幕欧美国产| 亚洲不卡一区二区三区| 成人午夜电影网站| 欧美日韩不卡一区二区| 久久久久久久久伊人| 亚洲一区二区三区视频在线 | 丝袜亚洲另类欧美| 韩国女主播一区| 色8久久精品久久久久久蜜| 337p亚洲精品色噜噜狠狠| 国产偷国产偷亚洲高清人白洁| 亚洲激情在线激情| 国产精品一二三| 欧美日韩视频在线观看一区二区三区| 欧美精品一区二区精品网| 亚洲欧美另类综合偷拍| 久久精品国产99久久6| 日本韩国欧美三级| 久久久久国产精品人| 婷婷中文字幕综合| 99久久99久久免费精品蜜臀| 欧美一卡二卡在线| 亚洲手机成人高清视频| 激情久久五月天| 欧美日韩免费高清一区色橹橹 | 久久国产免费看| 91电影在线观看| 国产精品久久久久久久久晋中| 日韩av电影一区| 欧美亚州韩日在线看免费版国语版| 久久亚洲一区二区三区四区| 午夜精品福利在线| 91视频在线看| 国产精品久久久久永久免费观看| 六月丁香综合在线视频| 欧美美女直播网站| 一区二区三区四区在线播放 | 激情五月婷婷综合网| 欧美性视频一区二区三区| 国产欧美日韩另类视频免费观看 | 欧美绝品在线观看成人午夜影视| 中文字幕一区二区视频| 国产一区二区三区av电影| 91精品国产综合久久久久久久| 一区二区三区中文字幕在线观看| 成人综合日日夜夜| 国产亚洲美州欧州综合国| 久久se精品一区精品二区| 91精品国产福利在线观看| 亚洲国产精品久久久男人的天堂| 91美女视频网站| 亚洲美女屁股眼交3| 91香蕉视频污在线| 综合久久久久久| 99视频精品免费视频| 日本一区二区成人在线| 成人激情文学综合网| 国产欧美日韩在线看| 成人免费毛片aaaaa**| 国产精品全国免费观看高清| 成人白浆超碰人人人人| 国产精品卡一卡二| 91视频国产资源| 亚洲品质自拍视频网站| 色综合久久天天综合网| 亚洲理论在线观看| 欧美性一区二区| 香蕉久久夜色精品国产使用方法| 欧美精品在线一区二区三区| 日韩成人午夜精品| 日韩美一区二区三区| 国产综合色精品一区二区三区| 久久精品视频一区| 成人免费视频国产在线观看| 亚洲同性gay激情无套| 色婷婷精品久久二区二区蜜臀av | 成人免费看视频| 亚洲欧美国产毛片在线| 欧美天天综合网| 蜜桃视频在线观看一区| 久久欧美一区二区| 99久久99久久精品国产片果冻| 有坂深雪av一区二区精品| 欧美裸体bbwbbwbbw| 狠狠色丁香久久婷婷综合_中 | 国产一区二区三区在线观看免费视频 | 91精品国产色综合久久| 国模一区二区三区白浆| 日韩美女久久久| 欧美三区在线视频| 国产在线一区观看| 18成人在线视频| 欧美日韩精品免费| 国产精品一级片在线观看| 一区二区中文字幕在线| 欧美日韩亚洲国产综合| 国产在线一区观看| 亚洲欧美日韩在线播放| 欧美一区二区性放荡片| 国产精品456| 亚洲国产色一区| 精品久久久久久久久久久久久久久久久 | 亚洲6080在线| 国产亚洲午夜高清国产拍精品| 91视频在线观看免费| 蜜桃av一区二区三区电影| 国产精品高潮呻吟| 欧美一级搡bbbb搡bbbb| 成人av在线影院| 日本中文字幕不卡| 国产精品传媒在线| 91精品黄色片免费大全| 成人综合在线观看| 日本v片在线高清不卡在线观看| 亚洲国产精品精华液2区45| 欧美日韩电影在线播放| 国产成人av一区二区三区在线| 午夜欧美视频在线观看| 国产精品视频麻豆| 欧美电影精品一区二区| 色综合久久久久久久久| 精品一区二区三区欧美| 亚洲国产aⅴ天堂久久| 欧美国产乱子伦| 日韩欧美一卡二卡| 欧美亚洲另类激情小说| 成人爱爱电影网址| 狠狠色丁香久久婷婷综| 亚洲最快最全在线视频| 国产日韩精品一区二区三区| 欧美精品免费视频| 91美女福利视频| 国产成人av电影在线观看| 视频一区视频二区中文| 一区二区三区91| 国产精品国产三级国产aⅴ中文 | 国产精品视频麻豆| 精品国产凹凸成av人网站| 欧美午夜片在线看| 色婷婷精品久久二区二区蜜臀av| 国v精品久久久网| 极品销魂美女一区二区三区| 亚洲福利一区二区三区| 伊人婷婷欧美激情| 国产精品久久久久久久久免费相片| 26uuu亚洲综合色| 日韩欧美在线影院| 91麻豆精品国产自产在线观看一区 | 日本一区二区电影| 久久久久一区二区三区四区| 日韩色视频在线观看| 91精品国产免费| 欧美一级欧美三级在线观看| 欧美高清视频在线高清观看mv色露露十八 | 国产精品美女视频| 国产欧美精品国产国产专区|