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

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

?? sync.c

?? r73模塊的無線網卡在Linux下的驅動程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
//				UCHAR FreeNumber;				//	1. AP has backlogged unicast-to-me frame, stay AWAKE, send PSPOLL				//	2. AP has backlogged broadcast/multicast frame and we want those frames, stay AWAKE				//	3. we have outgoing frames in TxRing or MgmtRing, better stay AWAKE				//	4. Psm change to PWR_SAVE, but AP not been informed yet, we better stay AWAKE				//	5. otherwise, put PHY back to sleep to save battery.				if (MessageToMe)				{					DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP backlog unicast-to-me, stay AWAKE, send PSPOLL\n");					EnqueuePsPoll(pAd);				}				else if (BcastFlag && (DtimCount == 0) && OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_RECEIVE_DTIM))				{					DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP backlog broadcast/multicast, stay AWAKE\n");				}#if 0				else if ((RTUSBFreeTXDRequest(pAd, QID_AC_BE, TX_RING_SIZE, &FreeNumber) != NDIS_STATUS_SUCCESS)  ||//						 (RTUSBFreeTXDRequest(pAd, QID_AC_BK, TX_RING_SIZE, &FreeNumber) != NDIS_STATUS_SUCCESS)  ||//						 (RTUSBFreeTXDRequest(pAd, QID_AC_VI, TX_RING_SIZE, &FreeNumber) != NDIS_STATUS_SUCCESS)	   ||//						 (RTUSBFreeTXDRequest(pAd, QID_AC_VO, TX_RING_SIZE, &FreeNumber) != NDIS_STATUS_SUCCESS)	   ||						 (RTUSBFreeTXDRequest(pAd, QID_MGMT, MGMT_RING_SIZE, &FreeNumber) != NDIS_STATUS_SUCCESS))				{					// TODO: consider scheduled HCCA. might not be proper to use traditional DTIM-based power-saving scheme					// can we cheat here (i.e. just check MGMT & AC_BE) for better performance?					DBGPRINT(RT_DEBUG_TRACE, "SYNC - outgoing frame in TxRing/MgmtRing, stay AWAKE\n");				}#endif				else				{					USHORT NextDtim = DtimCount;					if (NextDtim == 0)						NextDtim = DtimPeriod;					TbttNumToNextWakeUp = pAd->PortCfg.DefaultListenCount;					if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_RECEIVE_DTIM) && (TbttNumToNextWakeUp > NextDtim))						TbttNumToNextWakeUp = NextDtim;					DBGPRINT(RT_DEBUG_INFO, "SYNC - PHY sleeps for %d TBTT, Dtim=%d/%d\n", TbttNumToNextWakeUp, DtimCount, DtimPeriod);					AsicSleepThenAutoWakeup(pAd, TbttNumToNextWakeUp);				}			}#ifndef	SINGLE_ADHOC_LINKUP			// At least another peer in this IBSS, declare MediaState as CONNECTED			if (ADHOC_ON(pAd) &&				!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))			{				OPSTATUS_SET_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED);				// 2003/03/12 - john				// Make sure this entry in "ScanTab" table, thus complies to Microsoft's policy that				// "site survey" result should always include the current connected network.				//				Bssidx = BssTableSearch(&pAd->ScanTab, Bssid, Channel);				if (Bssidx == BSS_NOT_FOUND)				{					Bssidx = BssTableSetEntry(pAd, &pAd->ScanTab, Bssid, Ssid, SsidLen,								BssType, BeaconPeriod, &CfParm, AtimWin, CapabilityInfo,								SupRate, SupRateLen, ExtRate, ExtRateLen, Channel, RealRssi + pAd->BbpRssiToDbmDelta, TimeStamp, CkipFlag,								&EdcaParm, &QosCapability, &QbssLoad, LenVIE, pVIE);				}			}#endif		}		// not my BSSID, ignore it	}	// sanity check fail, ignore this frame}/*    ==========================================================================    Description:        Receive PROBE REQ from remote peer when operating in IBSS mode    ========================================================================== */VOID PeerProbeReqAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    UCHAR         Addr2[MAC_ADDR_LEN];    CHAR          Ssid[MAX_LEN_OF_SSID];    UCHAR         SsidLen;    HEADER_802_11 ProbeRspHdr;    PUCHAR        pOutBuffer = NULL;    ULONG         FrameLen = 0;    LARGE_INTEGER FakeTimestamp;    UCHAR         DsLen = 1, IbssLen = 2;    UCHAR         LocalErpIe[3] = {IE_ERP, 1, 0};    USHORT        NStatus;    BOOLEAN       Privacy;    USHORT        BeaconPeriod, CapabilityInfo, AtimWin;    if (! ADHOC_ON(pAd))        return;    if (PeerProbeReqSanity(pAd, Elem->Msg, Elem->MsgLen, Addr2, Ssid, &SsidLen))    {        if ((SsidLen == 0) || SSID_EQUAL(Ssid, SsidLen, pAd->PortCfg.Ssid, pAd->PortCfg.SsidLen))        {#if 0            CSR15_STRUC Csr15;            // we should respond a ProbeRsp only when we're the last BEACON transmitter            // in this ADHOC network.            RTMP_IO_READ32(pAd, CSR15, &Csr15.word);            if (Csr15.field.BeaconSent == 0)            {                DBGPRINT(RT_DEBUG_INFO, "SYNC - NOT last BEACON sender, no PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x...\n",                    Addr2[0],Addr2[1],Addr2[2],Addr2[3],Addr2[4],Addr2[5] );                return;            }#endif            // allocate and send out ProbeReq frame            NStatus = MlmeAllocateMemory(pAd, (PVOID)&pOutBuffer);  //Get an unused nonpaged memory            if (NStatus != NDIS_STATUS_SUCCESS)	            return;            //pAd->PortCfg.AtimWin = 0;  // ??????            DBGPRINT(RT_DEBUG_TRACE,					"SYNC - Send PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x\n",                	Addr2[0],Addr2[1],Addr2[2],Addr2[3],Addr2[4],Addr2[5] );            MgtMacHeaderInit(pAd, &ProbeRspHdr,							SUBTYPE_PROBE_RSP, 0, Addr2, pAd->PortCfg.Bssid);			BeaconPeriod = cpu_to_le16(pAd->PortCfg.BeaconPeriod);			Privacy = (pAd->PortCfg.WepStatus==Ndis802_11Encryption1Enabled) ||					(pAd->PortCfg.WepStatus==Ndis802_11Encryption2Enabled) ||					(pAd->PortCfg.WepStatus==Ndis802_11Encryption3Enabled);			CapabilityInfo = cpu_to_le16(CAP_GENERATE(0, 1, Privacy,					(pAd->PortCfg.TxPreamble == Rt802_11PreambleShort), 0));			AtimWin = cpu_to_le16(pAd->ActiveCfg.AtimWin);            MakeOutgoingFrame(pOutBuffer,                   &FrameLen,                              sizeof(HEADER_802_11),        &ProbeRspHdr,                              TIMESTAMP_LEN,                &FakeTimestamp,                              2,                            &BeaconPeriod,                              2,                            &CapabilityInfo,                              1,                            &SsidIe,                              1,                            &pAd->PortCfg.SsidLen,                              pAd->PortCfg.SsidLen,         pAd->PortCfg.Ssid,                              1,                            &SupRateIe,                              1,                            &pAd->ActiveCfg.SupRateLen,                              pAd->ActiveCfg.SupRateLen,    pAd->ActiveCfg.SupRate,                              1,                            &DsIe,                              1,                            &DsLen,                              1,                            &pAd->PortCfg.Channel,                              1,                            &IbssIe,                              1,                            &IbssLen,                              2,                            &AtimWin,                              END_OF_ARGS);            if (pAd->ActiveCfg.ExtRateLen)            {                ULONG tmp;                MakeOutgoingFrame(pOutBuffer + FrameLen,        &tmp,                                  3,                            LocalErpIe,                                  1,                            &ExtRateIe,                                  1,                            &pAd->ActiveCfg.ExtRateLen,                                  pAd->ActiveCfg.ExtRateLen,    &pAd->ActiveCfg.ExtRate,                                  END_OF_ARGS);                FrameLen += tmp;            }			// If adhoc secruity is set for WPA-None, append the cipher suite IE			if (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPANone)			{				ULONG	tmp;				if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) 	// Tkip				{					MakeOutgoingFrame(pOutBuffer + FrameLen, 		&tmp,							          1,						    &WpaIe,							          1,							&CipherSuiteWpaNoneTkipLen,							          CipherSuiteWpaNoneTkipLen,	&CipherSuiteWpaNoneTkip[0],							          END_OF_ARGS);					FrameLen += tmp;				}				else if (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)	// Aes				{					MakeOutgoingFrame(pOutBuffer + FrameLen, 		&tmp,							          1,						    &WpaIe,							          1,							&CipherSuiteWpaNoneAesLen,							          CipherSuiteWpaNoneAesLen,	    &CipherSuiteWpaNoneAes[0],							          END_OF_ARGS);					FrameLen += tmp;				}			}            MiniportMMRequest(pAd, pOutBuffer, FrameLen);        }    }}VOID BeaconTimeoutAtJoinAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    USHORT  Status;    DBGPRINT(RT_DEBUG_TRACE, "SYNC - BeaconTimeoutAtJoinAction\n");    pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;    Status = MLME_REJ_TIMEOUT;    MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_JOIN_CONF, 2, &Status);}/*    ==========================================================================    Description:        Scan timeout procedure. basically add channel index by 1 and rescan    ========================================================================== */VOID ScanTimeoutAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){//  DBGPRINT(RT_DEBUG_TRACE,"SYNC - ScanTimeoutAction\n");    pAd->MlmeAux.Channel = NextChannel(pAd, pAd->MlmeAux.Channel);    ScanNextChannel(pAd); // this routine will stop if pAd->MlmeAux.Channel == 0}/*    ==========================================================================    Description:        Scan next channel    ========================================================================== */VOID ScanNextChannel(	IN PRTMP_ADAPTER pAd){    HEADER_802_11   Hdr80211;    PUCHAR          pOutBuffer = NULL;    ULONG           FrameLen = 0;    UCHAR           SsidLen = 0, ScanType = pAd->MlmeAux.ScanType;    USHORT          Status;    PHEADER_802_11  pHdr80211;    USHORT          NStatus;    PUCHAR          pSupRate = NULL;    UCHAR           SupRateLen;    PUCHAR          pExtRate = NULL;    UCHAR           ExtRateLen;//For A band    UCHAR           ASupRate[] = {0x8C, 0x12, 0x98, 0x24, 0xb0, 0x48, 0x60, 0x6C};    UCHAR           ASupRateLen = sizeof(ASupRate)/sizeof(UCHAR);    DBGPRINT(RT_DEBUG_INFO, "ScanNextChannel(ch=%d)\n",pAd->MlmeAux.Channel);    if (pAd->MlmeAux.Channel == 0)    {        DBGPRINT(RT_DEBUG_TRACE, "SYNC - End of SCAN, restore to channel %d\n",pAd->PortCfg.Channel);        AsicSwitchChannel(pAd, pAd->PortCfg.Channel);        AsicLockChannel(pAd, pAd->PortCfg.Channel);        // G band - set BBP_R62 to 0x02 when site survey or rssi<-82		// A band - always set BBP_R62 to 0x04        if (pAd->PortCfg.Channel <= 14)        {        	RTUSBWriteBBPRegister(pAd, BBP_R62, 0x02);        }        else        {        	RTUSBWriteBBPRegister(pAd, BBP_R62, 0x04);        }		//		// To prevent data lost.		// Send an NULL data with turned PSM bit on to current associated AP before SCAN progress.		// Now, we need to 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_ACTIVE;				// Send using priority queue				MiniportMMRequest(pAd, pOutBuffer, sizeof(HEADER_802_11));				DBGPRINT(RT_DEBUG_TRACE, "MlmeScanReqAction -- Send PSM Data frame\n");				RTMPusecDelay(5000);			}		}        pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;        Status = MLME_SUCCESS;        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_SCAN_CONF, 2, &Status);    }    else if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))	{		pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;		Status = MLME_FAIL_NO_RESOURCE;		MlmeEnqueue(pAd, SYNC_STATE_MACHINE, MT2_SCAN_CONF, 2, &Status);	}    else    {        // BBP and RF are not accessible in PS mode, we has to wake them up first        if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE))            AsicForceWakeup(pAd);        // leave PSM during scanning. otherwise we may lost ProbeRsp & BEACON        if (pAd->PortCfg.Psm == PWR_SAVE)            MlmeSetPsmBit(pAd, PWR_ACTIVE);        AsicSwitchChannel(pAd, pAd->MlmeAux.Channel);        AsicLockChannel(pAd, pAd->MlmeAux.Channel);        // G band - set BBP_R62 to 0x02 when site survey or rssi<-82		// A band - always set BBP_R62 to 0x04        if (pAd->MlmeAux.Channel <= 14)        {		    //			// For the high power and False CCA issue.(Gary)			//			RTUSBWriteBBPRegister(pAd, BBP_R62, 0x04);			RTUSBWriteBBPRegister(pAd, 17, pAd->BbpTuning.R17LowerBoundG);        }        else        {            if ((pAd->PortCfg.bIEEE80211H == 1) && RadarChannelCheck(pAd, pAd->MlmeAux.Channel))			    ScanType = SCAN_PASSIVE;        	RTUSBWriteBBPRegister(pAd, 17, pAd->BbpTuning.R17LowerBoundA);        	RTUSBWriteBBPRegister(pAd, BBP_R62, 0x04);        }		// We need to shorten active scan time in order for WZC connect issue		// Chnage the channel scan time for CISCO stuff based on its IAPP announcement

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美一区二区三区麻豆| 亚洲女人****多毛耸耸8| 久久久噜噜噜久久人人看| 国产精品久久久一本精品| 性感美女久久精品| 99久久伊人久久99| 久久久午夜精品理论片中文字幕| 亚洲一区二区三区在线播放| 成人黄色a**站在线观看| 26uuu久久综合| 丝袜亚洲另类欧美综合| 色婷婷久久综合| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲国产aⅴ天堂久久| av在线不卡电影| 久久久精品tv| 国产又黄又大久久| 欧美大胆人体bbbb| 美女一区二区视频| 91精品国产综合久久久久久久久久 | 美女久久久精品| 欧美喷潮久久久xxxxx| 亚洲免费观看视频| 成人福利在线看| 国产精品妹子av| 风流少妇一区二区| 亚洲国产岛国毛片在线| 国产高清精品在线| 国产色婷婷亚洲99精品小说| 国产永久精品大片wwwapp| 亚洲精品在线网站| 国产精品亚洲第一区在线暖暖韩国| 精品久久久三级丝袜| 激情五月婷婷综合网| 欧美精品一区二区三| 国产一区二区三区久久久| 精品福利视频一区二区三区| 国产在线国偷精品免费看| 久久久国产精华| 成人高清视频免费观看| 国产精品夫妻自拍| 一本色道久久综合亚洲91| 一区二区三区精品在线观看| 3atv在线一区二区三区| 日本免费在线视频不卡一不卡二| 精品国产乱码久久久久久久久| 国产美女在线精品| 1024成人网| 91精品在线一区二区| 国产一区二区三区av电影| 国产精品伦理在线| 欧美三级电影网站| 麻豆91免费观看| 中文字幕第一区综合| 色老汉一区二区三区| 日韩在线一区二区三区| 国产日产欧美精品一区二区三区| 色婷婷久久久亚洲一区二区三区| www.欧美亚洲| 亚洲黄色性网站| 91精品国产入口| 成人免费电影视频| 午夜日韩在线电影| 国产女人aaa级久久久级| 一本色道综合亚洲| 国内成人自拍视频| 一区二区三区蜜桃网| 精品美女一区二区| 91黄视频在线| 国产精品一区二区男女羞羞无遮挡| 亚洲色图欧美激情| 久久视频一区二区| 欧美精品三级日韩久久| 成人精品高清在线| 男人的天堂亚洲一区| 日韩理论片在线| 久久精品男人的天堂| 欧美女孩性生活视频| 成人性生交大片免费看视频在线| 亚洲成精国产精品女| 中文字幕精品三区| 日韩一级二级三级精品视频| 色综合咪咪久久| 国产福利一区二区三区在线视频| 午夜伊人狠狠久久| 亚洲区小说区图片区qvod| 久久久久久亚洲综合影院红桃| 欧美喷水一区二区| 欧美亚洲一区二区在线观看| 国产suv精品一区二区883| 蜜桃久久久久久| 亚洲电影你懂得| 国产精品人人做人人爽人人添| 欧美一二三四在线| 欧美少妇xxx| 不卡在线视频中文字幕| 久久精品免费观看| 日本一不卡视频| 性久久久久久久久| 国产乱子伦一区二区三区国色天香| 日韩国产欧美在线播放| 亚洲午夜日本在线观看| 亚洲人成7777| 亚洲人123区| 亚洲美女视频一区| 亚洲天堂2016| 亚洲欧美日韩国产手机在线 | 久久综合狠狠综合| 日韩亚洲欧美在线| 日韩一区二区三区av| 91精品国产入口| 欧美大白屁股肥臀xxxxxx| 正在播放一区二区| 日韩欧美视频在线| 26uuu色噜噜精品一区二区| www国产精品av| 国产日本亚洲高清| 国产精品护士白丝一区av| 自拍偷拍亚洲综合| 一区二区欧美精品| 午夜精品久久久久久久蜜桃app| 亚洲尤物在线视频观看| 亚洲成va人在线观看| 日本va欧美va瓶| 国产精品一区二区x88av| 国产黄人亚洲片| 成人av中文字幕| 91福利社在线观看| 欧美老女人第四色| 精品三级av在线| 中文久久乱码一区二区| 最新国产の精品合集bt伙计| 亚洲综合久久久| 久久99久久久欧美国产| 国产精品99久久久久久似苏梦涵| 不卡的av电影在线观看| 欧洲色大大久久| 精品国产露脸精彩对白| 国产精品视频一二| 亚洲线精品一区二区三区| 久久精品av麻豆的观看方式| 风间由美一区二区三区在线观看| 91福利国产精品| 日韩你懂的在线播放| 国产精品美女视频| 亚洲成人综合在线| 国产成人午夜电影网| 在线观看一区二区精品视频| 精品国产乱码久久久久久闺蜜 | 欧美日韩精品免费观看视频| 日韩精品专区在线| 国产精品电影院| 蜜芽一区二区三区| 成人福利视频网站| 欧美挠脚心视频网站| 国产精品国产三级国产有无不卡| 亚洲成人你懂的| 成人性生交大片免费看在线播放| 欧美日韩午夜在线| 国产女主播视频一区二区| 日韩在线一区二区| 色综合久久88色综合天天免费| 欧美变态tickling挠脚心| 亚洲激情网站免费观看| 国产一区二区免费看| 欧美色老头old∨ideo| 中文字幕巨乱亚洲| 久久精品国产秦先生| 99久久免费精品高清特色大片| 欧美一区二区精品| 一区二区三区**美女毛片| 高清久久久久久| 2欧美一区二区三区在线观看视频| 亚洲一区二区三区四区不卡| 成人精品免费网站| 久久婷婷国产综合精品青草| 日韩精品欧美精品| 欧美日免费三级在线| 亚洲男人天堂一区| 波多野结衣视频一区| 国产日韩三级在线| 国产精品正在播放| 欧美成人aa大片| 全部av―极品视觉盛宴亚洲| 欧美亚洲动漫制服丝袜| 亚洲免费观看高清| 91在线码无精品| 国产精品乱码一区二区三区软件 | 精品国产伦一区二区三区观看体验| 午夜国产精品影院在线观看| 色婷婷久久久综合中文字幕| 国产精品高清亚洲| 丰满放荡岳乱妇91ww| 国产三区在线成人av| 国产福利视频一区二区三区| 久久综合色婷婷| 国产精品66部| 亚洲国产精品二十页| 99久久精品国产一区二区三区| 国产精品妹子av|