INT Set_P2P_Reset_Proc( IN PRTMP_ADAPTER pAd, IN PSTRING arg) { /*UINT32 DiscPerd = 0;*/ POS_COOKIE pObj; PRT_P2P_CONFIG pP2PCtrl = &pAd->P2pCfg; pObj = (POS_COOKIE) pAd->OS_Cookie; if (pObj->ioctl_if_type != INT_P2P) return 0; if (P2P_CLI_ON(pAd)) P2P_CliStop(pAd); else if (P2P_GO_ON(pAd)) { P2P_GoStop(pAd); if (INFRA_ON(pAd)) AsicEnableBssSync(pAd); } P2PCfgInit(pAd); P2pGroupTabInit(pAd); pP2PCtrl->Rule = P2P_IS_DEVICE; pAd->flg_p2p_OpStatusFlags = P2P_DISABLE; pP2PCtrl->ConfigMethod = 0x188; pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl.WscConfStatus = WSC_SCSTATE_UNCONFIGURED; pP2PCtrl->GoFormCurrentState = P2P_GO_FORM_IDLE; pP2PCtrl->DiscCurrentState = P2P_DISC_IDLE; pP2PCtrl->CtrlCurrentState = P2P_CTRL_IDLE; NdisZeroMemory(&pP2PCtrl->P2pCounter, sizeof(P2P_COUNTER_STRUCT)); pP2PCtrl->P2PConnectState = P2P_CONNECT_IDLE; return TRUE; }
INT Set_P2P_Scan( IN PRTMP_ADAPTER pAd, IN PSTRING arg) { POS_COOKIE pObj; int ScanType; PRT_P2P_CONFIG pP2PCtrl = &pAd->P2pCfg; ScanType = simple_strtol(arg, 0, 10); pObj = (POS_COOKIE) pAd->OS_Cookie; if (pObj->ioctl_if_type != INT_P2P) return 0; switch(ScanType) { case P2P_STOP_SCAN: /* Stop scan and stop to response peer P2P scanning */ #ifdef NATIVE_WPA_SUPPLICANT_SUPPORT pAd->StaCfg.bAutoReconnect = FALSE; #else pAd->StaCfg.bAutoReconnect = TRUE; #endif /* NATIVE_WPA_SUPPLICANT_SUPPORT */ pP2PCtrl->bSentProbeRSP = FALSE; P2pStopScan(pAd); break; case P2P_SCANNING: /* Do P2P scanning */ pAd->StaCfg.bAutoReconnect = FALSE; pP2PCtrl->bSentProbeRSP = TRUE; P2pGroupTabInit(pAd); P2pScan(pAd); break; case P2P_STOP_SCAN_AND_LISTEN: /* Stop scan and lock at Listen Channel to response peer P2P scanning */ pAd->P2pCfg.bSentProbeRSP = TRUE; P2pStopScan(pAd); break; default: DBGPRINT(RT_DEBUG_ERROR, ("Incorrect scan type:%d\n", ScanType)); } return TRUE; }
INT Set_P2P_Reset_Proc( IN PRTMP_ADAPTER pAd, IN PSTRING arg) { /*UINT32 DiscPerd = 0;*/ POS_COOKIE pObj; PRT_P2P_CONFIG pP2PCtrl = &pAd->P2pCfg; pObj = (POS_COOKIE) pAd->OS_Cookie; if (pObj->ioctl_if_type != INT_P2P) return 0; if (P2P_CLI_ON(pAd)) P2P_CliStop(pAd); else if (P2P_GO_ON(pAd)) { P2P_GoStop(pAd); if (INFRA_ON(pAd)) AsicEnableBssSync(pAd); } P2PCfgInit(pAd); P2pGroupTabInit(pAd); pP2PCtrl->Rule = P2P_IS_DEVICE; pAd->flg_p2p_OpStatusFlags = P2P_DISABLE; pP2PCtrl->ConfigMethod = 0x188; pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl.WscConfStatus = WSC_SCSTATE_UNCONFIGURED; pP2PCtrl->GoFormCurrentState = P2P_GO_FORM_IDLE; pP2PCtrl->DiscCurrentState = P2P_DISC_IDLE; pP2PCtrl->CtrlCurrentState = P2P_CTRL_IDLE; NdisZeroMemory(&pP2PCtrl->P2pCounter, sizeof(P2P_COUNTER_STRUCT)); P2pSetListenIntBias(pAd, 3); RTMPZeroMemory(pAd->P2pCfg.SSID, MAX_LEN_OF_SSID); RTMPMoveMemory(pAd->P2pCfg.SSID, WILDP2PSSID, WILDP2PSSIDLEN); pP2PCtrl->SSIDLen = WILDP2PSSIDLEN; /* Set Dpid to "not specified". it means, GUI doesn't set for connection yet. */ pP2PCtrl->Dpid = DEV_PASS_ID_NOSPEC; RTMPZeroMemory(pAd->P2pCfg.ConnectingMAC, MAC_ADDR_LEN); return TRUE; }