/************************************************************************* * Function: * * Description: * * Input: * * Output: * **************************************************************************/ extern void macMgtSyncSrvInit(vmacApInfo_t *vmacSta_p) { /* Init the Synchronization state machines */ SyncSrvCtor(&vmacSta_p->mgtSync); mhsm_initialize(&vmacSta_p->mgtSync.super,&vmacSta_p->mgtSync.sTop); }
/************************************************************************* * 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; }
void DfsInit(struct net_device *pNetDev, struct wlprivate_data *wlpd_p) { DfsAp *pdfsApMain = NULL ; if( !wlpd_p ) { return ; } /* Init the DFS state machines */ if(( pdfsApMain = (DfsAp *)kmalloc( sizeof( DfsAp ), GFP_KERNEL )) == NULL ) { printk("Cannot allocate memory for DFS SM\n"); return ; } wlpd_p->pdfsApMain = (DfsAp *)pdfsApMain ; DFSApCtor(pNetDev, pdfsApMain); mhsm_initialize(&pdfsApMain->super,&pdfsApMain->sTop); return ; }
extern extStaDb_StaInfo_t *macMgtStaDbInit(vmacApInfo_t *vmacSta_p,IEEEtypes_MacAddr_t *staMacAddr, IEEEtypes_MacAddr_t *apMacAddr) { MIB_802DOT11 *mib=vmacSta_p->Mib802dot11; extStaDb_StaInfo_t StaInfo; extStaDb_StaInfo_t *StaInfo_p = NULL; struct wlprivate *wlpptr = NETDEV_PRIV_P(struct wlprivate, vmacSta_p->dev); PeerInfo_t PeerInfo; #ifdef DEBUG_PRINT printf("macMgtStaDbInit:: entered\n"); #endif WLDBG_ENTER(DBG_LEVEL_11); /* Station not in Stn table, hence add */ memcpy(&StaInfo.Addr, staMacAddr, sizeof(IEEEtypes_MacAddr_t)); memcpy(&StaInfo.Bssid, apMacAddr, sizeof(IEEEtypes_MacAddr_t)); StaInfo.State = UNAUTHENTICATED; StaInfo.PwrMode = PWR_MODE_ACTIVE; StaInfo.StnId = AssignStnId(); StaInfo.Aid = 0; StaInfo.AP = FALSE; #ifdef WDS_FEATURE StaInfo.wdsInfo = NULL; StaInfo.wdsPortInfo = NULL; #endif #ifdef CLIENT_SUPPORT StaInfo.Client = FALSE; #endif #ifdef APCFGUR StaInfo.UR = 0; #endif #ifdef STA_INFO_DB StaInfo.Sq1 = 0; StaInfo.Sq2 = 0; StaInfo.RSSI= 0; StaInfo.Rate= 0; #endif StaInfo.ClientMode = 0; StaInfo.mib_p= mib; StaInfo.dev = vmacSta_p->dev; if(*(mib->mib_ApMode)==AP_MODE_AandG) { if(memcmp(apMacAddr,vmacSta_p->macBssId,sizeof(IEEEtypes_MacAddr_t))) { StaInfo.ApMode=MIXED_MODE; } else { StaInfo.ApMode=AONLY_MODE; } } #ifdef AP_URPTR if (!mib_wbMode) #endif { if (extStaDb_AddSta(vmacSta_p,&StaInfo) != ADD_SUCCESS) { return NULL; } #ifdef NEW_OSIF_POWERSAVE psProcessNewStn(staMacAddr, StaInfo.StnId); #else NotifyNewStn(staMacAddr, StaInfo.StnId); #endif if ((StaInfo_p = extStaDb_GetStaInfo(vmacSta_p,staMacAddr, 1)) == NULL) { return NULL; } setStaPeerInfoApMode(wlpptr, StaInfo_p, &PeerInfo, *(wlpptr->vmacSta_p->Mib802dot11->mib_ApMode), NULL); StaInfo_p->FwStaPtr = wlFwSetNewStn(vmacSta_p->dev, (u_int8_t *)staMacAddr, StaInfo_p->Aid, StaInfo_p->StnId, 0, &PeerInfo,0,0); //add new station wlFwSetSecurity(vmacSta_p->dev,( u_int8_t *)staMacAddr); /* Init the state machines */ /* Init Auth Request Srv SM */ AuthReqSrvApCtor((AuthReqSrvAp *)&StaInfo_p->mgtAuthReq); mhsm_initialize(&StaInfo_p->mgtAuthReq.super,&StaInfo_p->mgtAuthReq.sTop); /* Init Auth Response Srv SM */ AuthRspSrvApCtor((AuthRspSrvAp *)&StaInfo_p->mgtAuthRsp); mhsm_initialize(&StaInfo_p->mgtAuthRsp.super,&StaInfo_p->mgtAuthRsp.sTop); /* Init Association Srv SM */ AssocSrvApCtor((AssocSrvAp *)&StaInfo_p->mgtAssoc); mhsm_initialize(&StaInfo_p->mgtAssoc.super,&StaInfo_p->mgtAssoc.sTop); #ifdef APCFGUR /* Init remote control Srv SM */ RemoteCtrlSrvCtor(&StaInfo_p->rmSrv); mhsm_initialize(&StaInfo_p->rmSrv.super,&StaInfo_p->rmSrv.sTop); StaInfo_p->rmSrv.userdata_p = (unsigned char *)StaInfo_p; #endif } StaInfo_p->mgtAssoc.userdata_p = (unsigned char *)StaInfo_p; StaInfo_p->mgtAuthReq.userdata_p = (unsigned char *)StaInfo_p; StaInfo_p->mgtAuthRsp.userdata_p = (unsigned char *)StaInfo_p; WLDBG_EXIT(DBG_LEVEL_11); return StaInfo_p; }
/************************************************************************* * 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; }