亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
成人午夜又粗又硬又大| 国产精品女主播在线观看| 67194成人在线观看| 欧美一区二区在线免费播放| 国产亚洲一区字幕| 亚洲亚洲精品在线观看| 美女任你摸久久 | 中文字幕不卡在线播放| 亚洲少妇30p| 蜜桃精品视频在线| 93久久精品日日躁夜夜躁欧美| 成人动漫一区二区三区| 日韩精品在线一区| 一区二区不卡在线播放| 久久不见久久见免费视频7| av中文字幕不卡| 日韩欧美久久一区| 欧美极品aⅴ影院| 狠狠色丁香久久婷婷综| 在线一区二区三区| 欧美国产欧美综合| 精品一区二区三区的国产在线播放| a4yy欧美一区二区三区| 欧美一级夜夜爽| 五月婷婷综合激情| 91美女片黄在线| 国产视频911| 日韩成人一区二区| 精品视频123区在线观看| 欧美日韩一本到| 亚洲综合av网| 91视频在线观看| 中文字幕不卡一区| 国产成人自拍高清视频在线免费播放| 不卡视频免费播放| 亚洲私人影院在线观看| 懂色av一区二区三区免费看| 色哟哟精品一区| 国产精品女人毛片| 东方aⅴ免费观看久久av| 久久久蜜桃精品| 另类小说图片综合网| 91精品国产欧美一区二区成人 | 538prom精品视频线放| 成人免费在线视频| 成人午夜视频在线| 中文字幕亚洲一区二区va在线| 九九在线精品视频| 久久毛片高清国产| 国产一区在线看| 久久噜噜亚洲综合| 国产九色精品成人porny| 精品电影一区二区| 天天色 色综合| 欧美大肚乱孕交hd孕妇| 精品一区二区在线免费观看| 日韩午夜精品电影| 精品一区二区免费视频| 欧美成人在线直播| 国产99久久久国产精品潘金网站| 久久久蜜桃精品| 国产aⅴ精品一区二区三区色成熟| 欧美成人a∨高清免费观看| 激情综合网激情| www亚洲一区| 91蜜桃免费观看视频| 亚洲国产精品一区二区www在线| 欧美三级日本三级少妇99| 亚洲6080在线| 日韩三级视频中文字幕| 欧美日韩国产免费| 国产精品午夜免费| 欧洲激情一区二区| 国产自产v一区二区三区c| 国产女主播视频一区二区| 97精品国产97久久久久久久久久久久| 亚洲高清视频的网址| 久久九九国产精品| 欧美色爱综合网| 国产91精品露脸国语对白| 亚洲成人av电影在线| 国产精品理论片| 日韩欧美国产wwwww| 色av成人天堂桃色av| 国产一区视频在线看| 日韩精品1区2区3区| 一区二区三区在线播放| 欧美极品另类videosde| 日韩欧美一区在线观看| 91福利在线观看| 成人免费福利片| 久草热8精品视频在线观看| 亚洲精品乱码久久久久| 欧美激情在线一区二区三区| 3d动漫精品啪啪1区2区免费| 99re这里只有精品6| 国产成人av电影在线播放| 亚洲成人午夜影院| 亚洲综合成人网| 亚洲色图19p| 国产精品国产三级国产a| 久久久综合视频| 久久影视一区二区| 日韩亚洲欧美成人一区| 欧美肥妇free| 777色狠狠一区二区三区| 91国偷自产一区二区三区观看| www.日韩精品| 成人教育av在线| 国产精品99久久久久久似苏梦涵| 美国毛片一区二区| 秋霞午夜鲁丝一区二区老狼| 日本午夜一本久久久综合| 亚洲午夜电影网| 亚洲sss视频在线视频| 亚洲mv大片欧洲mv大片精品| 亚洲第一搞黄网站| 天堂精品中文字幕在线| 亚洲二区在线视频| 日韩精品成人一区二区在线| 日韩精品福利网| 韩国av一区二区三区四区| 韩国v欧美v亚洲v日本v| 国产成人夜色高潮福利影视| 国产成人av网站| 99久久精品免费| 日本丶国产丶欧美色综合| 在线免费观看成人短视频| 欧美色成人综合| 精品捆绑美女sm三区| 久久久久久久久久电影| 国产精品久久久久久久久晋中| 中文字幕亚洲不卡| 亚洲一区二区在线观看视频| 日韩和欧美一区二区| 国产一区二区在线观看免费| 99久久婷婷国产| 欧美日韩在线直播| 在线不卡一区二区| 久久亚区不卡日本| 亚洲人一二三区| 免费观看91视频大全| 国产精品一区久久久久| 色呦呦国产精品| 欧美xxxx老人做受| 亚洲免费视频中文字幕| 美女一区二区三区| 波多野结衣在线一区| 欧美日韩亚洲综合一区二区三区| 欧美不卡在线视频| 一区二区三区视频在线看| 天天综合天天做天天综合| 国产成人一区二区精品非洲| 欧美日韩在线电影| 国产亚洲综合av| 天堂va蜜桃一区二区三区漫画版| 国产精品538一区二区在线| 欧美亚洲愉拍一区二区| 26uuu色噜噜精品一区二区| 尤物视频一区二区| 国产一区二区主播在线| 欧美视频完全免费看| 国产欧美日韩视频在线观看| 三级久久三级久久久| www.在线成人| 欧美电视剧在线看免费| 一区二区三区在线看| 懂色av一区二区夜夜嗨| 日韩一区二区免费电影| 一级精品视频在线观看宜春院 | 欧美天堂一区二区三区| 久久网站最新地址| 日本一道高清亚洲日美韩| 91麻豆国产福利精品| 欧美韩国日本综合| 国产一区二区女| 日韩欧美中文字幕公布| 亚洲国产精品嫩草影院| 99久久er热在这里只有精品15| 久久久91精品国产一区二区三区| 亚洲成人av在线电影| 日本韩国欧美在线| 成人免费一区二区三区在线观看| 国产一区二区三区av电影 | 欧美亚洲国产bt| 国产精品久久久久精k8| 国产盗摄精品一区二区三区在线 | 蜜臀av在线播放一区二区三区| 91免费观看在线| 中文字幕亚洲不卡| 99天天综合性| 中文字幕一区二区在线播放| 国产成人av电影在线观看| 久久久久久一二三区| 国产真实乱子伦精品视频| 日韩欧美国产高清| 麻豆精品国产传媒mv男同| 日韩一区二区三区四区五区六区| 日韩高清一级片| 777奇米成人网|