/************************************************************************* * Function: childSrv_TerminateSession * * Description: Terminate a Child session with Root AP * * Input: * * Output: * **************************************************************************/ extern SINT32 childSrv_TerminateSession(vmacId_t vMacId) { vmacEntry_t *childVMacEntry_p; vmacStaInfo_t *childStaInfo_p; if((childVMacEntry_p = vmacGetVMacEntryById(vMacId)) != NULL) { #ifdef ETH_DEBUG eprintf("Child Terminate Entry confirmed\n"); #endif /* ETH_DEBUG */ childStaInfo_p = (vmacStaInfo_t *)childVMacEntry_p->info_p; if(!childStaInfo_p->isParentSession &&(childStaInfo_p->childControlParam & MLME_CHILD_SET_ADDR_TO_HW)) { mlmeApiDelMacAddr(childStaInfo_p, childVMacEntry_p->macId); } /* Remove all the timer */ /* assocTimer */ mlmeApiStopTimer(childStaInfo_p, (UINT8 *)&childStaInfo_p->assocTimer); /* authTimer; */ mlmeApiStopTimer(childStaInfo_p, (UINT8 *)&childStaInfo_p->authTimer); /* scaningTimer; */ mlmeApiStopTimer(childStaInfo_p, (UINT8 *)&childStaInfo_p->scaningTimer); /* statusTimer; */ mlmeApiStopTimer(childStaInfo_p, (UINT8 *)&childStaInfo_p->statusTimer); childStaInfo_p->cmdHistory = 0; #ifdef WPA_STA /* CounterMeasure */ CounterMeasureInit_Sta(&childStaInfo_p->keyMgmtInfoSta_p->sta_MIC_Error, FALSE); #endif /* WPA_STA */ vmacUnRegister(childVMacEntry_p->id); childSrv_PutEntry(&childVMacEntry_p->vmacAddr[0]); } return 0; }
/************************************************************************* * Function: authSrv_Reset * * Description: * * Input: * * Output: * **************************************************************************/ extern SINT32 authSrv_Reset(vmacStaInfo_t *vStaInfo_p) { mlmeApiStopTimer(vStaInfo_p, (UINT8 *)&vStaInfo_p->authTimer); /* Init the Authentication Request state machines */ AuthReqSrvStaCtor(&vStaInfo_p->mgtStaAuthReq); mhsm_initialize(&vStaInfo_p->mgtStaAuthReq.super,&vStaInfo_p->mgtStaAuthReq.sTop); return MLME_SUCCESS; }
/************************************************************************* * Function: childSrv_VmacStaInfoInit * * Description: Inital Client MLME Information Structure. * * * Input: * * Output: **************************************************************************/ extern SINT32 childSrv_VmacStaInfoInit(vmacStaInfo_t *vStaInfo_p) { vStaInfo_p->AssociatedFlag = 0; #ifdef IEEE80211_DH vStaInfo_p->station11hTimerFired = 0; #endif //IEEE80211_DH vStaInfo_p->IBssStartFlag = 0; vStaInfo_p->Adhoc_Active = 0; vStaInfo_p->ScanForAnyBeacons = TRUE; vStaInfo_p->NumScanChannels = 0; vStaInfo_p->counterInt = 0; vStaInfo_p->misMatchBssidCount = 0; vStaInfo_p->bcnCount = 0; vStaInfo_p->linkQuality = 0; vStaInfo_p->rxBcnCnt = 0; vStaInfo_p->rxBcnPeriod = 100; vStaInfo_p->smeMain_State = STATE_IDLE; vStaInfo_p->macMgmtMain_State = STATE_IDLE; vStaInfo_p->macMgmtMain_PostScanState = STATE_IDLE; vStaInfo_p->PostScanState = STATE_IDLE; vStaInfo_p->g_rcvdProbeRsp = 1; vStaInfo_p->macMgt_StaMode = *vStaInfo_p->mib_StaMode_p; #ifdef IEEE80211_DH TimerInit( &vStaInfo_p->station11hTimer); #endif //IEEE80211_DH #ifdef WMON TimerInit( &vStaInfo_p->stationWMONTimer); #endif //WMON /* Remove all the timer */ /* assocTimer */ mlmeApiStopTimer(vStaInfo_p, (UINT8 *)&vStaInfo_p->assocTimer); /* authTimer; */ mlmeApiStopTimer(vStaInfo_p, (UINT8 *)&vStaInfo_p->authTimer); /* scaningTimer; */ mlmeApiStopTimer(vStaInfo_p, (UINT8 *)&vStaInfo_p->scaningTimer); /* statusTimer; */ syncSrv_SetStatusTimer(vStaInfo_p, 0); #ifdef WPA_STA /* initialize the key management state machine. */ KeyMgmtStaHskCtor(&vStaInfo_p->keyMgmtInfoSta_p->keyMgmtStaHskHsm); mhsm_initialize(&vStaInfo_p->keyMgmtInfoSta_p->keyMgmtStaHskHsm.super,&vStaInfo_p->keyMgmtInfoSta_p->keyMgmtStaHskHsm.sTop); if(vStaInfo_p->staSecurityMibs.mib_PrivacyTable_p->RSNEnabled) { KeyMgmtResetCounter(vStaInfo_p->keyMgmtInfoSta_p); CounterMeasureInit_Sta(&vStaInfo_p->keyMgmtInfoSta_p->sta_MIC_Error, TRUE); } else { CounterMeasureInit_Sta(&vStaInfo_p->keyMgmtInfoSta_p->sta_MIC_Error, FALSE); } #endif /* WPA_STA */ /* Init the STA State Machine Services */ macMgtSyncSrvStaInit(vStaInfo_p); vStaInfo_p->cmdHistory = 0; vStaInfo_p->macMgmtMain_PwrMode = PWR_MODE_ACTIVE; vStaInfo_p->ContinueScanning = TRUE; vStaInfo_p->JoinRetryCount = 0; vStaInfo_p->AssocRetryCount = 0; vStaInfo_p->AuthRetryCount = 0; return 0; }