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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtmp.h

?? r73模塊的無線網卡在Linux下的驅動程序
?? 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;	  \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级在线观看| 欧美亚洲国产bt| 久久精品72免费观看| 夜夜嗨av一区二区三区网页| 中文字幕一区二区三区在线不卡| 国产精品妹子av| 国产精品视频一二三| 国产精品国产三级国产普通话蜜臀| 国产欧美视频一区二区三区| 国产女人18水真多18精品一级做| 国产欧美日韩一区二区三区在线观看| 国产精品三级av| 亚洲人一二三区| 亚洲成a人片在线观看中文| 亚洲动漫第一页| 老司机免费视频一区二区| 国产成人自拍网| 一本一道综合狠狠老| 欧美日韩成人在线一区| 欧美一区二区三区色| 久久久亚洲精华液精华液精华液 | 欧美午夜在线一二页| 在线不卡a资源高清| 精品国产乱码久久久久久图片 | 亚洲欧洲日韩在线| 亚洲午夜激情网站| 国产一区二区在线影院| 91视频一区二区三区| 9191国产精品| 国产网站一区二区| 一区二区三区国产豹纹内裤在线| 午夜欧美2019年伦理| 国产精品亚洲视频| 在线免费不卡视频| 精品播放一区二区| 亚洲午夜羞羞片| 成人av在线播放网址| 在线播放中文一区| 亚洲欧洲日韩综合一区二区| 日本免费新一区视频| 91在线播放网址| 精品国产99国产精品| 亚洲色图.com| 国产精品99久| 欧美精品一区二区三区一线天视频| 亚洲私人影院在线观看| 国产一区二区三区电影在线观看 | 91老司机福利 在线| 91麻豆精品国产91久久久久久久久 | 91视频观看免费| 精品国精品自拍自在线| 亚洲高清免费观看高清完整版在线观看| 久久99精品久久久| 欧美网站一区二区| 中文字幕亚洲欧美在线不卡| 久久99国产乱子伦精品免费| 制服.丝袜.亚洲.另类.中文 | 精品奇米国产一区二区三区| 亚洲精品国产一区二区精华液| 国产传媒久久文化传媒| 精品国产精品一区二区夜夜嗨| 亚洲成a人片在线不卡一二三区| 91啪九色porn原创视频在线观看| 久久久噜噜噜久噜久久综合| 理论片日本一区| 9191成人精品久久| 亚洲成人777| 欧美区一区二区三区| 亚洲美女偷拍久久| 99久久精品国产麻豆演员表| 日本一区二区免费在线观看视频 | 一本一道综合狠狠老| 亚洲少妇最新在线视频| www.色综合.com| 中文字幕综合网| 91成人看片片| 日韩一区精品字幕| 91.麻豆视频| 蜜臀精品一区二区三区在线观看| 欧美一区二区视频网站| 蜜桃视频一区二区三区在线观看| 欧美一级日韩不卡播放免费| 麻豆久久一区二区| 亚洲精品在线电影| 国产自产v一区二区三区c| 久久一日本道色综合| 国产高清无密码一区二区三区| 日本一二三不卡| 成人av电影观看| 亚洲国产精品久久久久婷婷884 | 成人性生交大片免费| 亚洲欧洲av另类| 91免费小视频| 日本欧洲一区二区| 久久美女艺术照精彩视频福利播放| 丁香天五香天堂综合| 日韩一区在线播放| 欧美日韩成人高清| 久久99久久99小草精品免视看| 中文字幕成人av| 欧美日韩日日摸| 国产一区二区伦理| 亚洲精品亚洲人成人网| 欧美一卡在线观看| 高清久久久久久| 日韩中文字幕一区二区三区| 久久久三级国产网站| 91国偷自产一区二区三区观看 | 免费观看一级欧美片| 国产午夜一区二区三区| 色一区在线观看| 韩国毛片一区二区三区| 国产精品另类一区| 欧美精品自拍偷拍动漫精品| 成人在线综合网站| 日本欧美久久久久免费播放网| 亚洲欧美一区二区在线观看| 欧美tk—视频vk| 欧美日韩在线精品一区二区三区激情 | 久久男人中文字幕资源站| 91日韩精品一区| 国产麻豆视频精品| 午夜a成v人精品| 综合中文字幕亚洲| 久久毛片高清国产| 91麻豆精品国产91久久久 | 美腿丝袜在线亚洲一区| 亚洲伦理在线精品| 亚洲国产精品99久久久久久久久 | 成人午夜碰碰视频| 久久精品国产99国产| 怡红院av一区二区三区| 国产偷国产偷精品高清尤物| 日韩欧美专区在线| 欧美日韩在线不卡| 色视频欧美一区二区三区| 国产成人亚洲综合a∨婷婷| 蜜臀久久99精品久久久久宅男| 亚洲一区在线播放| 亚洲欧洲日韩在线| 中文字幕一区二区日韩精品绯色| 国产精品美女久久久久久久久久久| 日韩欧美国产一区二区三区| 制服丝袜中文字幕一区| 在线电影欧美成精品| 欧美男同性恋视频网站| 色综合网站在线| 99re免费视频精品全部| 狠狠色狠狠色合久久伊人| 日本欧美韩国一区三区| 日本午夜一区二区| 青草国产精品久久久久久| 日韩1区2区日韩1区2区| 日本vs亚洲vs韩国一区三区二区| 日韩av一二三| 免费人成在线不卡| 久久电影国产免费久久电影| 久久99久久精品欧美| 精品一区精品二区高清| 国产麻豆成人传媒免费观看| 国产福利一区二区三区在线视频| 国产麻豆午夜三级精品| 成人一区二区三区中文字幕| 91在线你懂得| 欧美视频精品在线观看| 欧美猛男超大videosgay| 欧美日韩国产欧美日美国产精品| 538在线一区二区精品国产| 91麻豆精品国产无毒不卡在线观看| 日韩三级电影网址| 国产日产精品1区| 日韩理论片一区二区| 亚洲欧美偷拍另类a∨色屁股| 亚洲乱码中文字幕综合| 五月天丁香久久| 国产福利一区二区| 色婷婷激情综合| 日韩欧美电影一区| 国产精品美女久久久久高潮| 亚洲一线二线三线久久久| 三级一区在线视频先锋| 国产成人亚洲综合a∨婷婷图片| 一本色道久久综合精品竹菊| 日韩一区二区免费电影| 欧美精彩视频一区二区三区| 亚洲国产精品人人做人人爽| 国产精品一卡二| 欧美日韩成人一区| 久久久精品国产免大香伊| 亚洲同性同志一二三专区| 天堂成人免费av电影一区| 国产高清不卡一区二区| 欧美日韩一区二区三区不卡| 欧美激情资源网| 肉色丝袜一区二区| 91同城在线观看| 欧美经典一区二区三区| 日韩av网站免费在线| a4yy欧美一区二区三区| 日韩一区二区高清|