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

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

?? sync.c

?? RT73_Linux_STA_Drv1.0.3.6 linux系統(tǒng)下
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
	// 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);

        //
        // Start a new IBSS. All IBSS parameters are decided now....
        //
        pAd->MlmeAux.BssType           = BSS_ADHOC;
        NdisMoveMemory(pAd->MlmeAux.Ssid, Ssid, SsidLen); 
        pAd->MlmeAux.SsidLen           = SsidLen;

        // generate a radom number as BSSID
        MacAddrRandomBssid(pAd, pAd->MlmeAux.Bssid);

        Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) || 
                  (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) || 
                  (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled);

        pAd->MlmeAux.CapabilityInfo    = CAP_GENERATE(0,1,Privacy, (pAd->PortCfg.TxPreamble == Rt802_11PreambleShort), 1);
        pAd->MlmeAux.BeaconPeriod      = pAd->PortCfg.BeaconPeriod;
        pAd->MlmeAux.AtimWin           = pAd->PortCfg.AtimWin;
        pAd->MlmeAux.Channel           = pAd->PortCfg.Channel;

        pAd->MlmeAux.SupRateLen= pAd->PortCfg.SupRateLen;
        NdisMoveMemory(pAd->MlmeAux.SupRate, pAd->PortCfg.SupRate, MAX_LEN_OF_SUPPORTED_RATES);
        RTMPCheckRates(pAd, pAd->MlmeAux.SupRate, &pAd->MlmeAux.SupRateLen);
        pAd->MlmeAux.ExtRateLen = pAd->PortCfg.ExtRateLen;
        NdisMoveMemory(pAd->MlmeAux.ExtRate, pAd->PortCfg.ExtRate, MAX_LEN_OF_SUPPORTED_RATES);
        RTMPCheckRates(pAd, pAd->MlmeAux.ExtRate, &pAd->MlmeAux.ExtRateLen);

        // temporarily not support QOS in IBSS
        NdisZeroMemory(&pAd->MlmeAux.APEdcaParm, sizeof(EDCA_PARM));
        NdisZeroMemory(&pAd->MlmeAux.APQbssLoad, sizeof(QBSS_LOAD_PARM));
        NdisZeroMemory(&pAd->MlmeAux.APQosCapability, sizeof(QOS_CAPABILITY_PARM));
        
        AsicSwitchChannel(pAd, pAd->MlmeAux.Channel);
        AsicLockChannel(pAd, pAd->MlmeAux.Channel);

        DBGPRINT(RT_DEBUG_TRACE, "SYNC - MlmeStartReqAction(ch= %d,sup rates= %d, ext rates=%d)\n",
            pAd->MlmeAux.Channel, pAd->MlmeAux.SupRateLen, pAd->MlmeAux.ExtRateLen);

#ifdef	SINGLE_ADHOC_LINKUP
		// Add itself as the entry within BSS table
		Bssidx = BssTableSearch(&pAd->ScanTab, pAd->MlmeAux.Bssid, pAd->MlmeAux.Channel);
		if (Bssidx == BSS_NOT_FOUND)
		{
			Bssidx = BssTableSetEntry(pAd, &pAd->ScanTab, pAd->MlmeAux.Bssid,
				Ssid, SsidLen, pAd->MlmeAux.BssType, pAd->MlmeAux.BeaconPeriod, 
				&CfParm, pAd->MlmeAux.AtimWin, pAd->MlmeAux.CapabilityInfo, 
				pAd->MlmeAux.SupRate, pAd->MlmeAux.SupRateLen, pAd->MlmeAux.ExtRate, pAd->MlmeAux.ExtRateLen,
				pAd->MlmeAux.Channel, pAd->BbpRssiToDbmDelta - 30, TimeStamp, 0, NULL, NULL, NULL, 0, pVIE);
		}
#endif

        pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
        Status = MLME_SUCCESS;
        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_START_CONF, 2, &Status);
    } 
    else 
    {
        DBGPRINT_ERR("SYNC - MlmeStartReqAction() sanity check fail.\n");
        pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
        Status = MLME_INVALID_FORMAT;
        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_START_CONF, 2, &Status);
    }
}

/* 
    ==========================================================================
    Description:
        peer sends beacon back when scanning
    ==========================================================================
 */
VOID PeerBeaconAtScanAction(
    IN PRTMP_ADAPTER pAd, 
    IN MLME_QUEUE_ELEM *Elem) 
{
    UCHAR           Bssid[MAC_ADDR_LEN], Addr2[MAC_ADDR_LEN];
    UCHAR           Ssid[MAX_LEN_OF_SSID], BssType, Channel, NewChannel,
                    SsidLen, DtimCount, DtimPeriod, BcastFlag, MessageToMe;
    CF_PARM         CfParm;
    USHORT          BeaconPeriod, AtimWin, CapabilityInfo;
    PFRAME_802_11   pFrame;
    LARGE_INTEGER   TimeStamp;
    UCHAR           Erp;
	UCHAR         	SupRate[MAX_LEN_OF_SUPPORTED_RATES], ExtRate[MAX_LEN_OF_SUPPORTED_RATES];
	UCHAR		  	SupRateLen, ExtRateLen;
	UCHAR			LenVIE;
	UCHAR			CkipFlag;
	UCHAR			AironetCellPowerLimit;
	EDCA_PARM       EdcaParm;
	QBSS_LOAD_PARM  QbssLoad;
	QOS_CAPABILITY_PARM QosCapability;
    ULONG           RalinkIe;
	UCHAR						VarIE[MAX_VIE_LEN];		// Total VIE length = MAX_VIE_LEN - -5
	NDIS_802_11_VARIABLE_IEs	*pVIE = NULL;

    // NdisFillMemory(Ssid, MAX_LEN_OF_SSID, 0x00);
    pFrame = (PFRAME_802_11) Elem->Msg;
	// Init Variable IE structure
	pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
	pVIE->Length = 0;
    if (PeerBeaconAndProbeRspSanity(pAd, 
                                Elem->Msg, 
                                Elem->MsgLen, 
                                Addr2, 
                                Bssid, 
                                Ssid, 
                                &SsidLen, 
                                &BssType, 
                                &BeaconPeriod, 
                                &Channel,
                                &NewChannel,
                                &TimeStamp, 
                                &CfParm, 
                                &AtimWin, 
                                &CapabilityInfo, 
                                &Erp,
                                &DtimCount, 
                                &DtimPeriod, 
                                &BcastFlag, 
                                &MessageToMe, 
                                SupRate,
                                &SupRateLen,
                                ExtRate,
                                &ExtRateLen,
                                &CkipFlag,
                                &AironetCellPowerLimit,
                                &EdcaParm,
                                &QbssLoad,
                                &QosCapability,
                                &RalinkIe,
                                &LenVIE,
                                pVIE))
    {
        ULONG Idx;
        UCHAR Rssi = 0;
        CHAR  RealRssi;

        // This correct im-proper RSSI indication during SITE SURVEY issue.
        // Always report bigger RSSI during SCANNING when receiving multiple BEACONs from the same AP. 
        // This case happens because BEACONs come from adjacent channels, so RSSI become weaker as we 
        // switch to more far away channels.
		if (Elem->Channel != Channel)
			return;			

        Idx = BssTableSearch(&pAd->ScanTab, Bssid, Channel);
        if (Idx != BSS_NOT_FOUND) 
            Rssi = pAd->ScanTab.BssEntry[Idx].Rssi;

        
	    RealRssi = ConvertToRssi(pAd, Elem->Rssi, RSSI_NO_1);
	    if ((RealRssi + pAd->BbpRssiToDbmDelta) > Rssi)
	        Rssi = RealRssi + pAd->BbpRssiToDbmDelta;

//        DBGPRINT(RT_DEBUG_TRACE, "SYNC - PeerBeaconAtScanAction (SubType=%d, SsidLen=%d, Ssid=%s)\n", pFrame->Hdr.FC.SubType, SsidLen,Ssid);

        // Back Door Mechanism: Get AP Cfg Data        
        if (pAd->PortCfg.bGetAPConfig)        
	{            
		CHAR CfgData[MAX_CFG_BUFFER_LEN+1] = {0};            
		if (BackDoorProbeRspSanity(pAd, Elem->Msg, Elem->MsgLen, CfgData)) 
		{                
			printk("MlmeEnqueueForRecv: CfgData(len:%d):\n%s\n", strlen(CfgData), CfgData);
			pAd->PortCfg.bGetAPConfig = FALSE;            
		}        
	}
        Idx = BssTableSetEntry(pAd, &pAd->ScanTab, Bssid, Ssid, SsidLen, BssType, 
                    BeaconPeriod, &CfParm, AtimWin, CapabilityInfo, SupRate, 
                    SupRateLen, ExtRate, ExtRateLen, Channel, Rssi, TimeStamp, CkipFlag,
                    &EdcaParm, &QosCapability, &QbssLoad, LenVIE, pVIE);
    }
    // sanity check fail, ignored
}

/* 
    ==========================================================================
    Description:
        When waiting joining the (I)BSS, beacon received from external
    ==========================================================================
 */
VOID PeerBeaconAtJoinAction(
    IN PRTMP_ADAPTER pAd, 
    IN MLME_QUEUE_ELEM *Elem) 
{
    UCHAR         Bssid[MAC_ADDR_LEN], Addr2[MAC_ADDR_LEN];
    UCHAR         Ssid[MAX_LEN_OF_SSID], SsidLen, BssType, Channel, MessageToMe, 
                  DtimCount, DtimPeriod, BcastFlag, NewChannel;
    LARGE_INTEGER TimeStamp;
    USHORT        BeaconPeriod, AtimWin, CapabilityInfo;
//    UINT          FrameLen = 0;
    CF_PARM       Cf;
    UCHAR         Erp;
	UCHAR         SupRate[MAX_LEN_OF_SUPPORTED_RATES], ExtRate[MAX_LEN_OF_SUPPORTED_RATES];
	UCHAR		  SupRateLen, ExtRateLen;
	UCHAR         CkipFlag;
	UCHAR		  LenVIE;
	UCHAR		  AironetCellPowerLimit;
	EDCA_PARM       EdcaParm;
	QBSS_LOAD_PARM  QbssLoad;
	QOS_CAPABILITY_PARM QosCapability;
    USHORT        Status;
	CHAR	        RealRssi = -85; //assume -85 dB
	UCHAR						VarIE[MAX_VIE_LEN];		// Total VIE length = MAX_VIE_LEN - -5
	NDIS_802_11_VARIABLE_IEs	*pVIE = NULL;
    ULONG           RalinkIe;
    ULONG           Idx;
	UCHAR   		PeerTxType;

    
	// Init Variable IE structure
	pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
	pVIE->Length = 0;
    if (PeerBeaconAndProbeRspSanity(pAd, 
                                Elem->Msg, 
                                Elem->MsgLen, 
                                Addr2, 
                                Bssid, 
                                Ssid, 
                                &SsidLen, 
                                &BssType, 
                                &BeaconPeriod, 
                                &Channel,
                                &NewChannel,
                                &TimeStamp, 
                                &Cf, 
                                &AtimWin, 
                                &CapabilityInfo, 
                                &Erp,
                                &DtimCount, 
                                &DtimPeriod, 
                                &BcastFlag, 
                                &MessageToMe, 
                                SupRate,
                                &SupRateLen,
                                ExtRate,
                                &ExtRateLen,
                                &CkipFlag,
                                &AironetCellPowerLimit,
                                &EdcaParm,
                                &QbssLoad,
                                &QosCapability,
                                &RalinkIe,
                                &LenVIE,
                                pVIE)) 
    {
		// Disqualify 11b only adhoc when we are in 11g only adhoc mode
		if (BssType == BSS_ADHOC)
		{
			PeerTxType = PeerTxTypeInUseSanity(Channel, SupRate, SupRateLen, ExtRate, ExtRateLen);
			if ((pAd->PortCfg.AdhocMode == ADHOC_11G) && (PeerTxType == CCK_RATE))
			{
				return;
			}
			else if ((pAd->PortCfg.AdhocMode == ADHOC_11B) && (PeerTxType == OFDM_RATE))
			{
			    return;
			}
		}

		// BEACON from desired BSS/IBSS found. We should be able to decide most
		// BSS parameters here.
		// Q. But what happen if this JOIN doesn't conclude a successful ASSOCIATEION?
		//    Do we need to receover back all parameters belonging to previous BSS?
		// A. Should be not. There's no back-door recover to previous AP. It still need
		//    a new JOIN-AUTH-ASSOC sequence.
		if (MAC_ADDR_EQUAL(pAd->MlmeAux.Bssid, Bssid))
        {
            DBGPRINT(RT_DEBUG_TRACE, "SYNC - receive desired BEACON at JoinWaitBeacon... Channel = %d\n", Channel);

		    RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer);
            

	        RealRssi = ConvertToRssi(pAd, Elem->Rssi, RSSI_NO_1);
	        pAd->PortCfg.LastRssi = RealRssi + pAd->BbpRssiToDbmDelta;
	        pAd->PortCfg.AvgRssi  = pAd->PortCfg.LastRssi;
	        pAd->PortCfg.AvgRssiX8 = pAd->PortCfg.AvgRssi << 3;


			//
			// We need to check if SSID only set to any, then we can record the current SSID.
			// Otherwise will cause hidden SSID association failed. 
			//
			if (pAd->MlmeAux.SsidLen == 0)
			{
	           	NdisMoveMemory(pAd->MlmeAux.Ssid, Ssid, SsidLen);
	           	pAd->MlmeAux.SsidLen = SsidLen;
			}   
			else
			{
				Idx = BssSsidTableSearch(&pAd->ScanTab, Bssid, pAd->MlmeAux.Ssid, pAd->MlmeAux.SsidLen, Channel);

				if (Idx != BSS_NOT_FOUND)
				{
					//
					// Multiple SSID case, used correct CapabilityInfo
					//
					CapabilityInfo = pAd->ScanTab.BssEntry[Idx].CapabilityInfo;
				}
			}

           	pAd->MlmeAux.CapabilityInfo = CapabilityInfo & SUPPORTED_CAPABILITY_INFO;
            pAd->MlmeAux.BssType = BssType;
            pAd->MlmeAux.BeaconPeriod = BeaconPeriod;
            pAd->MlmeAux.Channel = Channel;
            pAd->MlmeAux.AtimWin = AtimWin;
            pAd->MlmeAux.CfpPeriod = Cf.CfpPeriod;
            pAd->MlmeAux.CfpMaxDuration = Cf.CfpMaxDuration;
            pAd->MlmeAux.APRalinkIe = RalinkIe;
                
            // Copy AP's supported rate to MlmeAux for creating assoication request
            // Also filter out not supported rate
            pAd->MlmeAux.SupRateLen = SupRateLen;
            NdisMoveMemory(pAd->MlmeAux.SupRate, SupRate, SupRateLen);
			RTMPCheckRates(pAd, pAd->MlmeAux.SupRate, &pAd->MlmeAux.SupRateLen);
            pAd->MlmeAux.ExtRateLen = ExtRateLen;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女同一区二区| 91一区二区三区在线播放| 国产一区二区三区免费在线观看| 极品尤物av久久免费看| 成人黄色片在线观看| 91日韩精品一区| 欧美一区二区视频在线观看2022| 精品99999| 一区二区在线观看免费视频播放| 日韩成人伦理电影在线观看| 国产成人av一区二区| 日本高清视频一区二区| 日韩女同互慰一区二区| 最新日韩在线视频| 免费欧美高清视频| 91香蕉视频在线| 精品精品国产高清a毛片牛牛| 国产精品国产三级国产aⅴ无密码| 五月婷婷色综合| 成人在线视频一区二区| 欧美伦理视频网站| 国产精品久久久久影视| 麻豆精品视频在线观看| 91色综合久久久久婷婷| wwwwxxxxx欧美| 性做久久久久久久久| 成人网男人的天堂| 欧美一区二区成人6969| 国产精品国产精品国产专区不片| 国产亚洲美州欧州综合国| 亚洲在线成人精品| 国产suv精品一区二区三区| 91精品国产色综合久久| 一区二区三区在线视频观看| av色综合久久天堂av综合| 成熟亚洲日本毛茸茸凸凹| 91精品国产手机| 亚洲六月丁香色婷婷综合久久| 激情综合色综合久久综合| 欧美午夜一区二区| 中文文精品字幕一区二区| 蜜臀久久99精品久久久久久9| 91极品视觉盛宴| 久久久影院官网| 免费成人av资源网| 精品视频在线免费观看| 国产精品成人在线观看| 国产乱码精品一区二区三 | 国产精品视频免费看| 精品在线播放免费| 在线播放中文字幕一区| 亚洲视频在线一区观看| 国产不卡高清在线观看视频| 精品国产一区a| 亚洲成av人片一区二区三区| 91激情五月电影| 亚洲欧美一区二区三区极速播放 | 欧美一区二区精美| 亚洲一区二区中文在线| 日本韩国欧美在线| 亚洲精品乱码久久久久久久久 | 亚洲一区二区综合| 欧美巨大另类极品videosbest | 欧美日韩免费一区二区三区视频| 亚洲国产精品激情在线观看 | 久久久久高清精品| 久久国产综合精品| 日韩欧美国产一二三区| 日本最新不卡在线| 91.xcao| 五月婷婷激情综合| 欧美日韩精品一区二区| 亚洲成人在线免费| 欧美精选在线播放| 性欧美大战久久久久久久久| 欧美日韩免费观看一区三区| 亚洲成人自拍网| 91麻豆精品久久久久蜜臀| 天堂成人国产精品一区| 678五月天丁香亚洲综合网| 午夜久久久久久久久| 欧美精品日日鲁夜夜添| 无码av中文一区二区三区桃花岛| 欧美色窝79yyyycom| 爽爽淫人综合网网站| 日韩精品中文字幕在线不卡尤物| 另类小说一区二区三区| 久久综合狠狠综合久久综合88 | 亚洲欧洲av一区二区三区久久| 成人黄色一级视频| 亚洲精选视频在线| 欧美在线一二三| 日精品一区二区| 精品欧美乱码久久久久久1区2区| 国产毛片精品国产一区二区三区| 欧美国产精品专区| 91浏览器打开| 亚洲第一主播视频| 日韩精品一区二区三区视频在线观看 | 国产精选一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩一区在线播放| 欧美日韩精品一区二区天天拍小说| 日韩在线一区二区| 高清成人在线观看| 亚洲免费观看在线观看| 欧美巨大另类极品videosbest | 91国模大尺度私拍在线视频| 午夜成人在线视频| 国产亚洲成年网址在线观看| 成人性生交大片免费看中文 | 91.xcao| 福利一区福利二区| 亚洲综合在线第一页| 精品精品欲导航| 99久久国产免费看| 日韩成人免费电影| 国产精品久久久久精k8 | 日本中文字幕一区| 欧美国产欧美亚州国产日韩mv天天看完整| 色视频成人在线观看免| 毛片基地黄久久久久久天堂| 国产精品免费网站在线观看| 欧美裸体一区二区三区| 成人国产精品免费网站| 午夜不卡在线视频| 国产精品免费看片| 欧美一区二区三区小说| 亚洲mv在线观看| 国产欧美日韩在线| 欧美日韩一区高清| 成人永久免费视频| 日本午夜精品视频在线观看| 中文字幕中文在线不卡住| 91精品国产色综合久久久蜜香臀| 不卡视频在线观看| 美女在线一区二区| 亚洲黄色小说网站| 欧美国产日韩a欧美在线观看| 在线不卡a资源高清| 一本色道久久加勒比精品 | 欧美激情中文不卡| 国产一区二区三区久久久 | 日韩欧美一区二区免费| 日本精品一级二级| 国产成人精品亚洲午夜麻豆| 日韩不卡免费视频| 亚洲最新视频在线播放| 国产精品乱人伦| 久久久精品综合| 日韩视频永久免费| 欧美性三三影院| 91丝袜国产在线播放| 国产成人av一区二区| 国内精品久久久久影院薰衣草| 午夜久久久久久久久| 亚洲午夜视频在线观看| 欧美日韩三级一区二区| 色狠狠av一区二区三区| 成年人午夜久久久| 风流少妇一区二区| 久久99最新地址| 蜜臀av性久久久久蜜臀av麻豆| 五月天激情综合| 亚洲在线成人精品| 亚洲精品免费在线播放| 中文字幕日本不卡| 日本一区二区三区电影| 国产亚洲欧美色| 久久久五月婷婷| 26uuu欧美| 精品国产乱码久久久久久1区2区| 这里只有精品视频在线观看| 欧美精品一级二级三级| 欧美影院精品一区| 免费成人在线观看视频| 日本欧美久久久久免费播放网| 亚洲第四色夜色| 亚洲网友自拍偷拍| 一区二区三区电影在线播| 亚洲女同女同女同女同女同69| 中文字幕亚洲区| 亚洲欧美成人一区二区三区| 一区二区在线观看视频| 亚洲国产va精品久久久不卡综合| 亚洲影视在线观看| 亚洲一区二区三区四区不卡| 亚洲一区二区三区自拍| 亚洲一级二级三级| 午夜精品在线看| 日本亚洲天堂网| 国产一区二区在线视频| 国产永久精品大片wwwapp| 国产精品乡下勾搭老头1| 伊人夜夜躁av伊人久久| 视频一区二区不卡| 久久99久国产精品黄毛片色诱| 国内精品国产三级国产a久久| 成人影视亚洲图片在线| 99久久99久久久精品齐齐|