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

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

?? sync.c

?? r73模塊的無線網卡在Linux下的驅動程序
?? C
?? 第 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:	sync.c * *	Abstract: * *	Revision History: *	Who		When		What *	--------	----------	----------------------------- *	John Chang	2004-09-01	modified for rt2561/2661 * ***************************************************************************/#include "rt_config.h"// 2.4 Ghz channel plan index in the TxPower arrays.#define	BG_BAND_REGION_0_START	0			// 1,2,3,4,5,6,7,8,9,10,11#define	BG_BAND_REGION_0_SIZE	11#define	BG_BAND_REGION_1_START	0			// 1,2,3,4,5,6,7,8,9,10,11,12,13#define	BG_BAND_REGION_1_SIZE	13#define	BG_BAND_REGION_2_START	9			// 10,11#define	BG_BAND_REGION_2_SIZE	2#define	BG_BAND_REGION_3_START	9			// 10,11,12,13#define	BG_BAND_REGION_3_SIZE	4#define	BG_BAND_REGION_4_START	13			// 14#define	BG_BAND_REGION_4_SIZE	1#define	BG_BAND_REGION_5_START	0			// 1,2,3,4,5,6,7,8,9,10,11,12,13,14#define	BG_BAND_REGION_5_SIZE	14#define	BG_BAND_REGION_6_START	2			// 3,4,5,6,7,8,9#define	BG_BAND_REGION_6_SIZE	7#define	BG_BAND_REGION_7_START	4			// 5,6,7,8,9,10,11,12,13#define	BG_BAND_REGION_7_SIZE	9// 5 Ghz channel plan index in the TxPower arrays.UCHAR A_BAND_REGION_0_CHANNEL_LIST[]={36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165};UCHAR A_BAND_REGION_1_CHANNEL_LIST[]={36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140};UCHAR A_BAND_REGION_2_CHANNEL_LIST[]={36, 40, 44, 48, 52, 56, 60, 64};UCHAR A_BAND_REGION_3_CHANNEL_LIST[]={52, 56, 60, 64, 149, 153, 157, 161};UCHAR A_BAND_REGION_4_CHANNEL_LIST[]={149, 153, 157, 161, 165};UCHAR A_BAND_REGION_5_CHANNEL_LIST[]={149, 153, 157, 161};UCHAR A_BAND_REGION_6_CHANNEL_LIST[]={36, 40, 44, 48};UCHAR A_BAND_REGION_7_CHANNEL_LIST[]={36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165};UCHAR A_BAND_REGION_8_CHANNEL_LIST[]={52, 56, 60, 64};UCHAR A_BAND_REGION_9_CHANNEL_LIST[]={34, 38, 42, 46};UCHAR A_BAND_REGION_10_CHANNEL_LIST[]={34, 36, 38, 40, 42, 44, 46, 48, 52, 56, 60, 64};/*    ==========================================================================    Description:        The sync state machine,    Parameters:        Sm - pointer to the state machine    Note:        the state machine looks like the following    Column 1-2                        SYNC_IDLE                       JOIN_WAIT_BEACON    MT2_MLME_SCAN_REQ   mlme_scan_req_action            invalid_state_when_scan    MT2_MLME_JOIN_REQ   mlme_join_req_action            invalid_state_when_join    MT2_MLME_START_REQ  mlme_start_req_action           invalid_state_when_start    MT2_PEER_BEACON     peer_beacon                     peer_beacon_at_join_wait_beacon_action    MT2_PEER_PROBE_RSP  peer_beacon                     drop    MT2_PEER_ATIM       drop                            drop    MT2_SCAN_TIMEOUT    Drop                            Drop    MT2_BEACON_TIMEOUT  Drop                            beacon_timeout_at_join_wait_beacon_action    MT2_ATIM_TIMEOUT    Drop                            Drop    MT2_PEER_PROBE_REQ  ????                            drop    column 3                         SCAN_LISTEN    MT2_MLME_SCAN_REQ    invalid_state_when_scan    MT2_MLME_JOIN_REQ    invalid_state_when_join    MT2_MLME_START_REQ   invalid_state_when_start    MT2_PEER_BEACON      peer_beacon_at_scan_action    MT2_PEER_PROBE_RSP   peer_probe_rsp_at_scan_action    MT2_PEER_ATIM        drop    MT2_SCAN_TIMEOUT     scan_timeout_action    MT2_BEACON_TIMEOUT   Drop    MT2_ATIM_TIMEOUT     Drop    MT2_PEER_PROBE_REQ   drop    ========================================================================== */VOID SyncStateMachineInit(    IN PRTMP_ADAPTER pAd,    IN STATE_MACHINE *Sm,    OUT STATE_MACHINE_FUNC Trans[]){    StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_SYNC_STATE, MAX_SYNC_MSG, (STATE_MACHINE_FUNC)Drop, SYNC_IDLE, SYNC_MACHINE_BASE);    // column 1    StateMachineSetAction(Sm, SYNC_IDLE, MT2_MLME_SCAN_REQ, (STATE_MACHINE_FUNC)MlmeScanReqAction);    StateMachineSetAction(Sm, SYNC_IDLE, MT2_MLME_JOIN_REQ, (STATE_MACHINE_FUNC)MlmeJoinReqAction);    StateMachineSetAction(Sm, SYNC_IDLE, MT2_MLME_START_REQ, (STATE_MACHINE_FUNC)MlmeStartReqAction);    StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_BEACON, (STATE_MACHINE_FUNC)PeerBeacon);    StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_REQ, (STATE_MACHINE_FUNC)PeerProbeReqAction);    //column 2    StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_MLME_SCAN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenScan);    StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_MLME_JOIN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenJoin);    StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_MLME_START_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenStart);    StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_PEER_BEACON, (STATE_MACHINE_FUNC)PeerBeaconAtJoinAction);    StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_BEACON_TIMEOUT, (STATE_MACHINE_FUNC)BeaconTimeoutAtJoinAction);    // column 3    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_MLME_SCAN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenScan);    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_MLME_JOIN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenJoin);    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_MLME_START_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenStart);    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_PEER_BEACON, (STATE_MACHINE_FUNC)PeerBeaconAtScanAction);    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_PEER_PROBE_RSP, (STATE_MACHINE_FUNC)PeerBeaconAtScanAction);    StateMachineSetAction(Sm, SCAN_LISTEN, MT2_SCAN_TIMEOUT, (STATE_MACHINE_FUNC)ScanTimeoutAction);    // timer init    RTMPInitTimer(pAd, &pAd->MlmeAux.BeaconTimer, &BeaconTimeout);    RTMPInitTimer(pAd, &pAd->MlmeAux.ScanTimer,   &ScanTimeout);}/*    ==========================================================================    Description:        Becaon timeout handler, executed in timer thread    ========================================================================== */VOID BeaconTimeout(    IN  unsigned long data){    RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;    DBGPRINT(RT_DEBUG_TRACE,"SYNC - BeaconTimeout\n");    MlmeEnqueue(pAd, SYNC_STATE_MACHINE, MT2_BEACON_TIMEOUT, 0, NULL);    RTUSBMlmeUp(pAd);}/*    ==========================================================================    Description:        Scan timeout handler, executed in timer thread    ========================================================================== */VOID ScanTimeout(    IN  unsigned long data){    RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;    DBGPRINT(RT_DEBUG_INFO,"SYNC - Scan Timeout \n");    MlmeEnqueue(pAd, SYNC_STATE_MACHINE, MT2_SCAN_TIMEOUT, 0, NULL);    RTUSBMlmeUp(pAd);}/*    ==========================================================================    Description:        MLME SCAN req state machine procedure    ========================================================================== */VOID MlmeScanReqAction(	IN PRTMP_ADAPTER pAd,	IN MLME_QUEUE_ELEM *Elem){	UCHAR           Ssid[MAX_LEN_OF_SSID], SsidLen, ScanType, BssType;	ULONG           Now;    USHORT          Status;    PHEADER_802_11  pHdr80211;    PUCHAR          pOutBuffer = NULL;    USHORT          NStatus;    // Increase the scan retry counters.	pAd->PortCfg.ScanCnt++;	// Suspend MSDU transmission here	RTUSBSuspendMsduTransmission(pAd);	// first check the parameter sanity	if (MlmeScanReqSanity(pAd,                          Elem->Msg,                          Elem->MsgLen,                          &BssType,                          Ssid,                          &SsidLen,                          &ScanType))	{		DBGPRINT(RT_DEBUG_TRACE, "SYNC - MlmeScanReqAction\n");        //		// To prevent data lost.		// Send an NULL data with turned PSM bit on to current associated AP before SCAN progress.		// And should send an NULL data with turned PSM bit off to AP, when scan progress done		//		if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED) && (INFRA_ON(pAd)))		{            NStatus = MlmeAllocateMemory(pAd, (PVOID)&pOutBuffer);  //Get an unused nonpaged memory            if (NStatus == NDIS_STATUS_SUCCESS)            {				pHdr80211 = (PHEADER_802_11) pOutBuffer;				MgtMacHeaderInit(pAd, pHdr80211, SUBTYPE_NULL_FUNC, 1, pAd->PortCfg.Bssid, pAd->PortCfg.Bssid);				pHdr80211->Duration = 0;				pHdr80211->FC.Type = BTYPE_DATA;				pHdr80211->FC.PwrMgmt = PWR_SAVE;				// Send using priority queue				MiniportMMRequest(pAd, pOutBuffer, sizeof(HEADER_802_11));				DBGPRINT(RT_DEBUG_TRACE, "MlmeScanReqAction -- Send PSM Data frame for off channel RM\n");				RTMPusecDelay(5000);			}		}		Now = jiffies;		pAd->PortCfg.LastScanTime = Now;		RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer);        RTMPCancelTimer(&pAd->MlmeAux.ScanTimer);		// record desired BSS parameters		pAd->MlmeAux.BssType = BssType;		pAd->MlmeAux.ScanType = ScanType;		pAd->MlmeAux.SsidLen = SsidLen;		memcpy(pAd->MlmeAux.Ssid, Ssid, SsidLen);		// start from the first channel		pAd->MlmeAux.Channel = FirstChannel(pAd);		ScanNextChannel(pAd);	}	else	{		DBGPRINT(RT_DEBUG_ERROR, "SYNC - MlmeScanReqAction() sanity check fail. BUG!!!\n");		pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;		Status = MLME_INVALID_FORMAT;        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_SCAN_CONF, 2, &Status);	}}/*    ==========================================================================    Description:        MLME JOIN req state machine procedure    ========================================================================== */VOID MlmeJoinReqAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    BSS_ENTRY    *pBss;    MLME_JOIN_REQ_STRUCT *Info = (MLME_JOIN_REQ_STRUCT *)(Elem->Msg);    DBGPRINT(RT_DEBUG_TRACE, "SYNC - MlmeJoinReqAction(BSS #%d)\n", Info->BssIdx);    // reset all the timers    RTMPCancelTimer(&pAd->MlmeAux.ScanTimer);    RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer);    pBss = &pAd->MlmeAux.SsidBssTab.BssEntry[Info->BssIdx];    // record the desired SSID & BSSID we're waiting for    COPY_MAC_ADDR(pAd->MlmeAux.Bssid, pBss->Bssid);    memcpy(pAd->MlmeAux.Ssid, pBss->Ssid, pBss->SsidLen);    pAd->MlmeAux.SsidLen = pBss->SsidLen;    pAd->MlmeAux.BssType = pBss->BssType;    pAd->MlmeAux.Channel = pBss->Channel;    // switch channel and waiting for beacon timer    AsicSwitchChannel(pAd, pAd->MlmeAux.Channel);    AsicLockChannel(pAd, pAd->MlmeAux.Channel);	RTMPSetTimer(pAd, &pAd->MlmeAux.BeaconTimer, JOIN_TIMEOUT);    DBGPRINT(RT_DEBUG_TRACE, "SYNC - Switch to channel %d, SSID %s \n", pAd->MlmeAux.Channel, pAd->MlmeAux.Ssid);    DBGPRINT(RT_DEBUG_TRACE, "SYNC - Wait BEACON from %02x:%02x:%02x:%02x:%02x:%02x ...\n",        pAd->MlmeAux.Bssid[0], pAd->MlmeAux.Bssid[1],        pAd->MlmeAux.Bssid[2], pAd->MlmeAux.Bssid[3],        pAd->MlmeAux.Bssid[4], pAd->MlmeAux.Bssid[5]);    pAd->Mlme.SyncMachine.CurrState = JOIN_WAIT_BEACON;}/*    ==========================================================================    Description:        MLME START Request state machine procedure, starting an IBSS    ========================================================================== */VOID MlmeStartReqAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    UCHAR         Ssid[MAX_LEN_OF_SSID], SsidLen;    USHORT        Status;	// New for WPA security suites	UCHAR						VarIE[MAX_VIE_LEN]; 	// Total VIE length = MAX_VIE_LEN - -5	NDIS_802_11_VARIABLE_IEs	*pVIE = NULL;	LARGE_INTEGER				TimeStamp;    BOOLEAN Privacy;#ifdef	SINGLE_ADHOC_LINKUP	ULONG	Bssidx;	CF_PARM CfParm;    CfParm.bValid = FALSE;#endif	// Init Variable IE structure	pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;	pVIE->Length = 0;	TimeStamp.vv.LowPart  = 0;	TimeStamp.vv.HighPart = 0;    if (MlmeStartReqSanity(pAd, Elem->Msg, Elem->MsgLen, Ssid, &SsidLen))    {        // reset all the timers        RTMPCancelTimer(&pAd->MlmeAux.ScanTimer);	    RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer);        //

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲二区视频在线| bt7086福利一区国产| 福利视频网站一区二区三区| 欧美性欧美巨大黑白大战| 久久精品一级爱片| 日本aⅴ免费视频一区二区三区| 成年人国产精品| 久久久美女毛片| 青青草国产成人99久久| 在线观看日产精品| 亚洲日本中文字幕区| 国产精品综合在线视频| 777欧美精品| 丝袜美腿亚洲一区二区图片| 色综合中文字幕国产 | 美腿丝袜在线亚洲一区| 色欲综合视频天天天| 欧美极品xxx| 国产一区二区影院| 精品理论电影在线| 蜜桃av噜噜一区| 精品欧美一区二区在线观看 | 中文字幕亚洲视频| 国产黄色成人av| 久久精品日产第一区二区三区高清版 | 精品区一区二区| 蜜臀av一级做a爰片久久| 欧美一级日韩一级| 日韩一区精品视频| 日韩欧美的一区| 精品制服美女丁香| 欧美精品一区二区高清在线观看| 美女mm1313爽爽久久久蜜臀| 日韩欧美色电影| 国产精品99久| 一区二区中文视频| 欧美图区在线视频| 亚洲国产成人av| 欧美一区二区三区喷汁尤物| 另类小说一区二区三区| 中文字幕一区二区三区在线观看| 91色综合久久久久婷婷| 亚洲综合在线视频| 欧美一区二区三区视频在线观看| 久久99热国产| 日韩理论电影院| 欧美日韩性生活| 狠狠色综合色综合网络| 中文字幕不卡在线| 在线视频一区二区免费| 日韩成人午夜电影| 久久久三级国产网站| av在线综合网| 日韩电影在线看| 欧美激情在线看| 在线精品视频免费播放| 毛片不卡一区二区| 中文字幕av资源一区| 在线观看不卡视频| 久色婷婷小香蕉久久| 亚洲国产精品黑人久久久| 欧美色图在线观看| 久久99精品国产麻豆婷婷| 中文字幕不卡在线观看| 欧美色窝79yyyycom| 国产精品中文有码| 午夜欧美电影在线观看| 久久精品亚洲乱码伦伦中文| 在线一区二区三区四区五区 | 国产精品影音先锋| 亚洲宅男天堂在线观看无病毒| 日韩欧美国产一区二区在线播放| 成人性生交大片免费看中文 | 亚洲蜜桃精久久久久久久| 日韩欧美国产一区在线观看| 9色porny自拍视频一区二区| 麻豆成人久久精品二区三区红| 中文字幕在线不卡国产视频| 欧美一级搡bbbb搡bbbb| 色菇凉天天综合网| 国产精品一区二区91| 视频一区在线视频| 亚洲免费观看视频| 国产午夜精品美女毛片视频| 69堂成人精品免费视频| 91影视在线播放| 国产精品资源在线观看| 日韩成人午夜精品| 亚洲1区2区3区视频| 亚洲欧洲99久久| 久久久一区二区| 日韩一级在线观看| 欧美女孩性生活视频| 91原创在线视频| 欧美丝袜自拍制服另类| 国产精品自拍一区| 国产精品资源网| 国产一区视频在线看| 久久99久久久久| 日韩电影免费一区| 日本不卡在线视频| 亚洲超丰满肉感bbw| 亚洲午夜免费视频| 亚洲电影欧美电影有声小说| 亚洲一区二区美女| 一区二区三区波多野结衣在线观看| 国产精品乱人伦| 国产欧美日韩激情| 国产精品久久久久影院色老大 | 欧美电视剧在线看免费| 欧美肥胖老妇做爰| 欧美在线观看视频一区二区三区| 99精品热视频| 9久草视频在线视频精品| 国产一区二区三区精品视频| 国产一区二三区| 国产成人夜色高潮福利影视| 国产精品一级黄| 成人av网站在线| 99视频热这里只有精品免费| 99re视频精品| 色八戒一区二区三区| 在线一区二区三区四区五区 | 色天天综合久久久久综合片| 91视频com| 欧美三日本三级三级在线播放| 在线视频国内一区二区| 在线免费观看视频一区| 欧美系列一区二区| 91精品欧美福利在线观看| 欧美一区二区三区免费观看视频 | 九九视频精品免费| 五月天一区二区| 日韩av在线免费观看不卡| 视频一区欧美精品| 亚洲在线免费播放| 国产精品一区免费视频| 色综合久久久久久久久久久| 欧美色网站导航| 欧美一区二区三区视频在线| 国产成人午夜视频| 欧美三级电影网| 精品电影一区二区| 亚洲香蕉伊在人在线观| 极品美女销魂一区二区三区| 99精品久久免费看蜜臀剧情介绍| 日韩欧美在线网站| 亚洲黄色片在线观看| 国产精品123区| 日韩欧美一级片| 香蕉乱码成人久久天堂爱免费| 成人黄色片在线观看| 日韩久久精品一区| 日韩黄色免费电影| 欧美最猛黑人xxxxx猛交| 免费在线一区观看| 91亚洲国产成人精品一区二三| 欧美久久婷婷综合色| 亚洲午夜激情网站| 成人精品高清在线| 午夜精品国产更新| 成人小视频免费观看| 欧美狂野另类xxxxoooo| 欧美高清在线精品一区| 日产国产欧美视频一区精品 | 丁香六月久久综合狠狠色| 欧美午夜不卡在线观看免费| 久久亚洲综合色| 日日嗨av一区二区三区四区| 国产成人av一区| 欧美一级欧美三级在线观看| 中文字幕一区二区三区四区不卡| 免费成人在线观看| 欧美在线高清视频| 中文字幕一区二区三区在线不卡 | 亚洲超碰精品一区二区| thepron国产精品| 久久久精品免费免费| 日本中文字幕一区二区视频 | 成人免费视频免费观看| 日韩欧美一区二区三区在线| 一区二区三区高清不卡| a在线欧美一区| 国产精品久久久久永久免费观看 | 最新欧美精品一区二区三区| 韩国成人福利片在线播放| 欧美日韩国产高清一区二区三区| 国产精品久久久久婷婷| 国产成人免费视| 国产网红主播福利一区二区| 极品尤物av久久免费看| 日韩无一区二区| 欧美aaaaa成人免费观看视频| 欧美日韩aaaaaa| 视频一区二区三区在线| 欧美日韩国产影片| 亚洲成a人片在线观看中文| 在线观看国产91| 亚洲国产视频在线| 欧美日韩一区二区三区免费看|