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

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

?? rt2570sw.h

?? 臺(tái)灣RALink公司的 rt2570無(wú)線 802.11g 網(wǎng)卡的 驅(qū)動(dòng)的源代碼 ,支持linux2.4以上的 內(nèi)河
?? H
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
#define	IEEE80211_NWID_LEN			32


#define UNLINK_TIMEOUT_MS		3
//
//  The miniport adapter structure
//
typedef struct _RT2570_ADAPTER
{
	int			nicknamelen;
	char nickn[IEEE80211_NWID_LEN+1]; // nickname, only used in the iwconfig i/f 
	struct tasklet_struct	rx_bh;		
	struct usb_device *usb;
	//KERNEL266
	struct usb_config_descriptor *config;
	//struct usb_host_config *config;
	devctrlrequest *devreq;
	/* The device we're working with
	 * It's important to note:
	 *    (o) you must hold dev_semaphore to change pusb_dev
	 */
	struct semaphore	usbdev_semaphore;	 /* protect  usb */
	// Thread
	struct semaphore	mlme_semaphore;	 /* to sleep thread on   */
	struct semaphore	RTUSBCmd_semaphore;	 /* to sleep thread on   */
	struct completion 	notify;		 /* thread begin/end	 */
	pid_t 			MLMEThr_pid;
	pid_t 			RTUSBCmdThr_pid;
	wait_queue_head_t	*wait;
	
	spinlock_t *lock;
#if 1
	UINT					SET_R17_FLAG;
	UCHAR					BBPR17InitValue;
	UCHAR					ResetRequest;
	UCHAR					BulkAction;
#endif

	struct net_device *net;
	BOOLEAN                 bNetDeviceStopQueue;

#if WIRELESS_EXT >= 12
    struct iw_statistics iw_stats;
#endif
	
	struct net_device_stats netstats;

	// configuration
	UCHAR                   PermanentAddress[ETH_LENGTH_OF_ADDRESS];    // Factory default MAC address
	UCHAR                   CurrentAddress[ETH_LENGTH_OF_ADDRESS];      // User changed MAC address

	USHORT			EEPROMDefaultValue[NUM_EEPROM_BBP_PARMS];
	USHORT			EEPROMBBPTuningParameters[NUM_EEPROM_BBP_TUNING_PARMS];

    //
    // Handle given by NDIS when the Adapter registered itself.
    // Various NDIS handle function
    //

	MGMT_STRUC				MgmtRing[MGMT_RING_SIZE];	// management ring size
	
	UCHAR					NextTxIndex;					// Next TxD write pointer
	UCHAR					NextMLMEIndex;				// Next PrioD write pointer
	UCHAR					PushMgmtIndex;				// Next SW management ring index
	UCHAR					PopMgmtIndex;				// Next SW management ring index
	atomic_t					MgmtQueueSize;				// Number of Mgmt request stored in MgmtRing
	UCHAR					NextRxBulkInIndex;
	UCHAR					NextBulkOutIndex;
	BOOLEAN					BulkOutPending;
	BOOLEAN					ControlPending;
	ULONG					PrioRingTxCnt;
	UCHAR					PrioRingFirstIndex;

 	// 802.3 multicast support
	ULONG					NumberOfMcAddresses;		// Number of mcast entry exists
	UCHAR					McastTable[MAX_MCAST_LIST_SIZE][ETH_LENGTH_OF_ADDRESS];		// Mcast list
	ULONG                   Flags;                      // Represent current device status

	// Flags for bulk out data priority
	ULONG					BulkFlags;
	/////////////////////
	// Transmit Path
	/////////////////////
	atomic_t								TxCount;		// Number of Bulkout waiting to be send.
	TX_CONTEXT							TxContext[TX_RING_SIZE];
	TX_CONTEXT							MLMEContext[PRIO_RING_SIZE];
	TX_CONTEXT							BeaconContext[BEACON_RING_SIZE];
	TX_CONTEXT							NullContext;
	TX_CONTEXT							PsPollContext;
	RTS_BUFFER							RTSBuffer;

	WPAPSK_CONTEXT					       WpaPskContext;
	PUCHAR								TxBuffer;
	TX_BUFFER                           TxMgmtBuf;

	/////////////////////
	// Receive Path
	/////////////////////
	RX_CONTEXT							RxContext[RX_RING_SIZE];
	PURB                                pRxUrb;//red: test mode only
	PIRP                                pRxIrp;
	PUCHAR								RxBuffer;
    // SEND queue list
	QUEUE_HEADER            SendTxWaitQueue;

	USHORT					Sequence;					// Current sequence number

	TUPLE_CACHE				TupleCache[MAX_CLIENT];		// Maximum number of tuple caches, only useful in Ad-Hoc
	UCHAR                   TupleCacheLastUpdateIndex;  // 0..MAX_CLIENT-1
	FRAGMENT_FRAME			FragFrame;					// Frame storage for fragment frame
	
	// For MiniportTransferData
	PUCHAR					pRxData;					// Pointer to current RxRing offset / fragment frame offset
	
	// Counters for 802.3 & generic.
	// Add 802.11 specific counters later
	COUNTER_802_3           Counters;                   // 802.3 counters
	COUNTER_802_11          WlanCounters;				// 802.11 MIB counters
	COUNTER_RALINK          RalinkCounters;				// Ralink propriety counters
	COUNTER_DRS             DrsCounters;                // counters for Dynamic Rate Switching
	COUNTER_QA				QACounters;				// Ralink propriety counters

	NDIS_MEDIA_STATE        MediaState;
	UCHAR                               StationState;

	NDIS_DEVICE_POWER_STATE CurrentPowerState;          // Current device power state
	NDIS_DEVICE_POWER_STATE NextPowerState;             // Next device power state

	PRIVATE_STRUC			PrivateInfo;				// Private information & counters

	// SpinLocks
	spinlock_t			SendTxWaitQueueLock;		// SendTxWaitQueue spinlock
	spinlock_t			MLMEWaitQueueLock;		// SendTxWaitQueue spinlock
	spinlock_t			CmdQLock;		// SendTxWaitQueue spinlock
	spinlock_t			BulkOutLock;		// SendTxWaitQueue spinlock
	spinlock_t			ControlLock;		// SendTxWaitQueue spinlock
	spinlock_t			MLMEQLock;		// SendTxWaitQueue spinlock
	spinlock_t			GenericLock;		// SendTxWaitQueue spinlock
	spinlock_t                  MemLock;            // need to check

	// Reference count
	LONG                    RefCount;           // Keep adapter refer count for checkforhang & halt
	ULONG                   SendRefCount;       // number of packet that have not been confirmed
	ULONG                   RcvRefCount;        // number of packets that have not been returned back

	// Various NDIS Event
	int              ExitEvent;
	

	NDIS_MEDIA_STATE                    LinkIsActive;
	ULONG                               CurrentLookAhead;
	CmdQ								CmdQ;
	DATA_BULKOUT_QUEUE								DataQ;
	MLME_BULKOUT_QUEUE								MLMEQ;

	// Boolean control for packet filter
	BOOLEAN					bAcceptDirect;
	BOOLEAN					bAcceptMulticast;
	BOOLEAN					bAcceptBroadcast;
	BOOLEAN					bAcceptAllMulticast;

	// Control to check Tx hang
	BOOLEAN					bTxBusy;
	PQUEUE_ENTRY			FirstEntryInQueue;		// The first packet in Tx queue
	
	// Control disconnect / connect event generation
	ULONG					LinkDownTime;
	UCHAR					LastSsidLen;               // the actual ssid length in used
	CHAR					LastSsid[MAX_LEN_OF_SSID]; // NOT NULL-terminated
	MACADDR					LastBssid;
	BOOLEAN					bConfigChanged;				// Config Change flag for the same SSID setting
	
	PORT_CONFIG             PortCfg;
	MLME_STRUCT             Mlme;
	/////////////////////
	// USB
	/////////////////////
	USHORT                              BulkOutMaxPacketSize;   // 64 in XP
	USHORT                              BulkInMaxPacketSize;

	/////////////////////
	//  Control Flags
	/////////////////////
	LONG                                PendingTx;
	atomic_t                                PendingRx;
	LONG                                PendingReset;
	LONG                                BulkOutFailed;
	LONG                                BulkInFailed;
	LONG                                DeviceFailed;
	UCHAR                               DeviceMode;
	BOOLEAN                             UnplugDevice;
	atomic_t                                TerminateThreads;
	atomic_t                                PendingIoCount;
	BOOLEAN                             BSSSelected;
	BOOLEAN                             StationWasAssociated;
	BOOLEAN                             StationIsAssociated;
	BOOLEAN                             StationIsAuthenticated;
	UCHAR                               WepLevel;
	BOOLEAN                             OutOfRangeDetected;
	BOOLEAN                             AddressOverrided;
	BOOLEAN                             AutoAuthentication;
	BOOLEAN                             AutoPreamble;
	BOOLEAN                             AutoJoin;
	BOOLEAN                             UseInternalFWImage;
	BOOLEAN                             AnyAP;
	
	PVOID								pInformationBuffer;
	ULONG								InformationBufferLength;
	PULONG								pBytesWritten;
	PULONG								pBytesNeeded;
	BOOLEAN								SendDelimitingPacket;
	ULONG								DelimitingPacketSent;
	UINT								FragmentsSent;
	USHORT								BulkOutLength;
	USHORT								BulkOutRemained;
	BOOLEAN								ContinBulkOut;
	USHORT								BulkInRemained;
	BOOLEAN								ContinBulkIn;
	BOOLEAN								BeaconIntervalChangeAllowed;
	USHORT								SentBeaconsCount;
	USHORT								ReceivedBeaconsCount;
	LARGE_INTEGER						TransmittedFragmentCount;
#ifdef TEST_MODE_SUPPORT
	CmdQElmt							CmdQElements[12];
#else
	CmdQElmt							CmdQElements[COMMAND_QUEUE_SIZE];
#endif

	USHORT								MACCounters[11];
	TX_RATE_SWITCHING_STRUC			TxRateSwitchingStruc[12];
	ULONG			CurrRateGoodTime;
	UCHAR			CurrRateBadTime;
	UCHAR			TxQuality;
	BBP_TUNING_PARAMETERS_STRUC			BBPTuningParameters;
	ULONG					LastRxRate;
	ULONG					PacketsSentBetweenTBTTs;
	BOOLEAN					ScanAllowed;
	// Alpha can't link up problem
	ULONG					ExtraInfo;				// Extra information for displaying status
	struct net_device_stats	net_device_stats;	/* interface statistics */
	
}   RT2570ADAPTER, *PRT2570ADAPTER;



#endif






////////////////////////////////////////////////////////////////////////////
//
//  inline FUNCTIONS
//
//   IncrementIoCount and DecrementIoCount
//
//  DESCRIPTION
//
//   We keep a pending IO count. This count is initialized to one.
//   Subsequently, the count is incremented for each new IRP received or
//   created and is decremented when each IRP is completed.
//   Transition to 'one' therefore indicates no IO is pending and signals
//   Adapter->RemoveEvent. Transition to 'zero' signals an event
//   (Adapter->RemoveEvent) to enable device removal.
//
//  INPUT
//
//    Adapter                       Ptr to the adapter object
//
//  OUTPUT
//
//    -
//
////////////////////////////////////////////////////////////////////////////
inline VOID IncrementIoCount(PRT2570ADAPTER Adapter);
inline VOID DecrementIoCount(IN PRT2570ADAPTER pAdapter);



////////////////////////////////////////////////////////////////////////////
// __inline VOID EnQTxPacket(PRT2570ADAPTER Adapter, PNDIS_PACKET Packet)
// {
//     PTX_QUEUE tempTxQnode;
//
//
//     if (AllocateMemory(&tempTxQnode, sizeof(TX_QUEUE))!=NDIS_STATUS_SUCCESS)
//     {
//         NdisMSendComplete(Adapter->AdapterHandle, Packet, NDIS_STATUS_SUCCESS);
//         return;
//     }
//
//     tempTxQnode->pNdisPacket = Packet;
//     tempTxQnode->next = NULL;
//
//     if (Adapter->TxQHead==NULL)
//     {
//         Adapter->TxQHead = tempTxQnode;
//     }
//
//     if (Adapter->TxQTail!=NULL)
//     {
//         Adapter->TxQTail->next = tempTxQnode;
//     }
//
//     Adapter->TxQTail = tempTxQnode;
// }



////////////////////////////////////////////////////////////////////////////
// __inline VOID DeQTxPacket(PRT2570ADAPTER Adapter)
// {
//     PTX_QUEUE tempTxQnode;
//
//     tempTxQnode = Adapter->TxQHead;
//     Adapter->TxQHead = tempTxQnode->next;
//
//     if (Adapter->TxQHead==NULL)
//     {
//         Adapter->TxQTail=NULL;
//     }
//
//     FreeMemory(tempTxQnode, sizeof(TX_QUEUE));
// }



#define DEVICE_VENDOR_REQUEST_OUT       (USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE) // 0x40
#define DEVICE_VENDOR_REQUEST_IN        (USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE )  //0xc0
#define INTERFACE_VENDOR_REQUEST_OUT    0x41
#define INTERFACE_VENDOR_REQUEST_IN     0xc1
#define	PL_RESET_IN	(1<<3)		/* reset input pipe */

////////////////////////////////////////////////////////////////////////////
// Misc definitions
////////////////////////////////////////////////////////////////////////////
#define OS_IS_WIN_2000              0   
#define OS_IS_WIN_ME                1
#define OS_IS_WIN_98                2
#define OS_IS_WIN_XP                3


////////////////////////////////////////////////////////////////////////////
// Station States definitions
////////////////////////////////////////////////////////////////////////////
#define STATION_STATE_INITIALIZING          0x00
#define STATION_STATE_SCANNING              0x01
#define STATION_STATE_JOINNING              0x02
#define STATION_STATE_AUTHENTICATING        0x03
#define STATION_STATE_ASSOCIATING           0x04
#define STATION_STATE_READY                 0x05
#define STATION_STATE_OUT_OF_RANGE          0x06
#define STATION_STATE_DISASSOCIATING        0x07
#define STATION_STATE_DIAUTHENTICATING      0x08
#define STATION_STATE_REASSOCIATING         0x09
#define STATION_STATE_FORCED_JOINNING       0x0a
#define STATION_STATE_RECONFIGURING         0x0b
#define STATION_STATE_FW_UPGRADE            0x0c
#define STATION_STATE_FORCED_JOIN_FAILURE   0x0d 
#define STATION_STATE_RESETTING             0x0e 
#define STATION_STATE_RESET_PENDING         0x0f 
#define STATION_STATE_NOT_NET_MODE          0x10
#define STATION_STATE_WAIT_ACTION           0x11 //under XP we need this state to allow XP to take control
#define STATION_STATE_REJECTING_PACKETS     0x99 
#define STATION_STATE_NO_CARD               0xf0 
#define STATION_STATE_MGMT_ERROR            0xf1 
#define STATION_STATE_GENERAL_ERROR         0xf2 
#define STATION_STATE_POWER_DOWN            0xff


////////////////////////////////////////////////////////////////////////////
// SCAN Type Definitions
/////////////////////////////////

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产露脸精彩对白| 久久午夜免费电影| 激情欧美日韩一区二区| 亚洲欧美激情小说另类| 日韩午夜精品电影| 色狠狠综合天天综合综合| 久久国产视频网| 夜夜嗨av一区二区三区中文字幕 | 成人av第一页| 免费成人在线视频观看| 亚洲青青青在线视频| 精品国产污污免费网站入口 | www国产成人免费观看视频 深夜成人网| 波多野结衣在线一区| 免费高清在线一区| 亚洲高清免费视频| 日韩毛片精品高清免费| 久久精品网站免费观看| 91精品国产综合久久精品图片| 97se亚洲国产综合自在线不卡| 国内国产精品久久| 蜜桃视频在线观看一区| 亚洲国产欧美一区二区三区丁香婷| 欧美国产精品一区| 精品av久久707| 911国产精品| 在线观看日韩电影| 91在线你懂得| jlzzjlzz亚洲日本少妇| 国产高清亚洲一区| 国产一区二区三区免费观看| 老司机精品视频导航| 五月婷婷久久综合| 亚洲.国产.中文慕字在线| 一区二区三区四区国产精品| 国产精品久久久99| 国产精品免费av| 亚洲国产精品精华液ab| 国产亚洲精品aa| 久久久久久亚洲综合| 精品日韩在线一区| 精品欧美一区二区三区精品久久| 日韩一区二区三区电影在线观看| 欧美女孩性生活视频| 欧美日本乱大交xxxxx| 欧美男女性生活在线直播观看| 欧美偷拍一区二区| 在线不卡一区二区| 91精品国产黑色紧身裤美女| 欧美一区二区三区播放老司机| 51久久夜色精品国产麻豆| 91精品国产免费久久综合| 日韩视频在线永久播放| 2020日本不卡一区二区视频| 国产亚洲成av人在线观看导航| 欧美激情综合在线| 中文字幕中文字幕在线一区| 亚洲欧洲另类国产综合| 伊人一区二区三区| 亚洲午夜视频在线| 免费日韩伦理电影| 国产一区二区三区久久久| 懂色av噜噜一区二区三区av| 99riav一区二区三区| 欧美日韩午夜在线| 日韩欧美成人激情| 国产清纯在线一区二区www| 欧美激情综合在线| 亚洲一区二区精品视频| 久久se精品一区精品二区| 国产成人在线免费| 在线中文字幕一区| 欧美va亚洲va香蕉在线| 国产精品国产精品国产专区不片| 亚洲黄色小说网站| 久久成人免费网站| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产日韩影视精品| 一区二区三区日韩精品视频| 免费的成人av| 99国产精品久久久久久久久久久| 欧美精品v国产精品v日韩精品| 精品国精品国产| 亚洲视频免费看| 日本成人中文字幕在线视频 | 日韩极品在线观看| 国产馆精品极品| 欧美日韩国产欧美日美国产精品| 精品国产乱码久久| 亚洲高清免费观看| 成人妖精视频yjsp地址| 欧美日韩dvd在线观看| 国产免费观看久久| 日本aⅴ免费视频一区二区三区| 成人91在线观看| 欧美一级片免费看| 亚洲精品免费在线观看| 国产在线一区二区| 欧美精品在欧美一区二区少妇| 国产欧美日韩久久| 蜜臀a∨国产成人精品| 色吧成人激情小说| 国产视频不卡一区| 日韩激情视频在线观看| 波多野结衣中文一区| 久久综合九色综合欧美98| 亚洲午夜激情av| 成人黄色大片在线观看| 26uuu亚洲综合色欧美| 亚洲午夜在线视频| av午夜一区麻豆| 久久久久青草大香线综合精品| 舔着乳尖日韩一区| 91麻豆高清视频| 欧美激情中文字幕一区二区| 另类中文字幕网| 欧美一区午夜精品| 亚洲国产日韩av| 欧洲视频一区二区| 亚洲欧美一区二区三区久本道91| 国产一区 二区| 日韩女优毛片在线| 日韩福利视频网| 91.xcao| 亚洲主播在线观看| 99精品在线免费| 国产精品乱码人人做人人爱| 国产一区二区0| 国产日韩欧美a| 国产精品88av| 欧美精品一区二| 国产美女视频一区| 久久毛片高清国产| 国产资源在线一区| 欧美mv和日韩mv的网站| 麻豆国产欧美日韩综合精品二区 | 国产精品拍天天在线| 国产成a人亚洲| 国产性做久久久久久| 国产精品一区二区在线观看网站| 精品久久久久久亚洲综合网| 美女精品自拍一二三四| 精品国产免费视频| 国产一区三区三区| 久久精品一区八戒影视| 国产福利精品导航| 欧美国产日韩在线观看| fc2成人免费人成在线观看播放 | 欧美在线免费观看亚洲| 亚洲一区二区三区不卡国产欧美| 欧美性猛交xxxxxxxx| 午夜电影久久久| 欧美一级理论片| 极品销魂美女一区二区三区| 精品国产三级a在线观看| 国产综合色在线| 欧美国产精品专区| 91亚洲精品久久久蜜桃| 亚洲一区二区3| 日韩视频一区二区三区在线播放| 国产一区亚洲一区| 自拍偷自拍亚洲精品播放| 在线视频一区二区免费| 免费在线看成人av| 久久久久久电影| 91在线国产福利| 亚洲va天堂va国产va久| 亚洲精品一区二区三区香蕉| 国产999精品久久| 亚洲激情成人在线| 日韩欧美国产午夜精品| 成人一区二区在线观看| 亚洲自拍偷拍麻豆| 日韩视频国产视频| 国产91在线|亚洲| 亚洲一区精品在线| 日韩欧美国产高清| 日韩免费看网站| 福利一区二区在线| 亚洲福中文字幕伊人影院| 精品国产凹凸成av人导航| 91蜜桃视频在线| 美女视频免费一区| 亚洲色图视频网| 日韩美女视频在线| 一本色道久久综合亚洲精品按摩| 日韩1区2区3区| 国产精品毛片久久久久久| 欧美精品123区| 成人性生交大片免费看中文| 亚洲成a人片综合在线| 国产亚洲人成网站| 在线成人高清不卡| 91小视频免费观看| 国产制服丝袜一区| 视频精品一区二区| 亚洲欧洲av另类| 精品久久久影院| 欧美日韩免费电影| 99久久精品国产一区二区三区|