/** * \fn scanCncnSm_Init * \brief Initialize a scan concentartor client object * * Initialize a scan concentartor client object - store handles and specific SM functions * * \note Some of the values (e.g. scan result CB( are initialized from the main scan concentartor object) * \param hScanCncnClient - handle to the scan concnentrator client object * \param hReport - handle to the report object * \param hTWD - handle to the TWD object * \param hSCR - handle to the SCR object * \param hApConn - handle to the AP connection object * \param hMlme - handle to the MLME object * \param fScrRequest - SM specific SCR request finction * \param fScrRelease - SM specific SCR release finction * \param fStartScan - SM specific scan start finction * \param fStopScan - SM specific scan stop finction * \param fRecovery - SM specific recovery handling function * \param pScanSmName - state machine name * \return None * \sa scanCncnSm_Cretae */ void scanCncnSm_Init (TI_HANDLE hScanCncnClient, TI_HANDLE hReport, TI_HANDLE hTWD, TI_HANDLE hSCR, TI_HANDLE hApConn, TI_HANDLE hMlme, TI_HANDLE hScanCncn, TScanPrivateSMFunction fScrRequest, TScanPrivateSMFunction fScrRelease, TScanPrivateSMFunction fStartScan, TScanPrivateSMFunction fStopScan, TScanPrivateSMFunction fRecovery, TI_INT8* pScanSmName) { TScanCncnClient *pScanCncnClient = (TScanCncnClient*)hScanCncnClient; /* store handles */ pScanCncnClient->hReport = hReport; pScanCncnClient->hTWD = hTWD; pScanCncnClient->hSCR = hSCR; pScanCncnClient->hApConn = hApConn; pScanCncnClient->hMlme = hMlme; pScanCncnClient->hScanCncn = hScanCncn; /* store private functions */ pScanCncnClient->fScrRequest = fScrRequest; pScanCncnClient->fScrRelease = fScrRelease; pScanCncnClient->fStartScan = fStartScan; pScanCncnClient->fStopScan = fStopScan; pScanCncnClient->fRecovery = fRecovery; /* store SM name */ pScanCncnClient->pScanSmName = pScanSmName; /* initialize the state-machine */ genSM_Init (pScanCncnClient->hGenSM, hReport); genSM_SetDefaults (pScanCncnClient->hGenSM, SCAN_CNCN_SM_NUMBER_OF_STATES, SCAN_CNCN_SM_NUMBER_OF_EVENTS, (TGenSM_matrix)tSmMatrix, SCAN_CNCN_SM_STATE_IDLE, pScanCncnClient->pScanSmName, uStateDescription, uEventDescription, __FILE_ID__); }
/** * \fn scanCncnOsSm_Init * \brief Initialize the OS scan state-machine * * Initialize the OS scan state-machine * * \param hScanCncn - handle to the scan concentrator object * \return None * \sa scanCncnOsSm_Create */ void scanCncnOsSm_Init (TI_HANDLE hScanCncn) { TScanCncn *pScanCncn = (TScanCncn*)hScanCncn; /* initialize the state-machine */ genSM_Init (pScanCncn->hOSScanSm, pScanCncn->hReport); genSM_SetDefaults (pScanCncn->hOSScanSm, SCAN_CNCN_OS_SM_NUMBER_OF_STATES, SCAN_CNCN_OS_SM_NUMBER_OF_EVENTS, (TGenSM_matrix)tSmMatrix, SCAN_CNCN_OS_SM_STATE_IDLE, "OS scan SM", uStateDescription, uEventDescription, __FILE_ID__); }
void mlme_init (TStadHandlesList *pStadHandles) { mlme_t *pHandle = (mlme_t *)(pStadHandles->hMlme); pHandle->currentState = MLME_SM_STATE_IDLE; pHandle->legacyAuthType = AUTH_LEGACY_NONE; pHandle->reAssoc = TI_FALSE; pHandle->disConnType = DISCONNECT_IMMEDIATE; pHandle->disConnReason = STATUS_UNSPECIFIED; pHandle->hSiteMgr = pStadHandles->hSiteMgr; pHandle->hCtrlData = pStadHandles->hCtrlData; pHandle->hTxMgmtQ = pStadHandles->hTxMgmtQ; pHandle->hMeasurementMgr = pStadHandles->hMeasurementMgr; pHandle->hSwitchChannel = pStadHandles->hSwitchChannel; pHandle->hRegulatoryDomain = pStadHandles->hRegulatoryDomain; pHandle->hReport = pStadHandles->hReport; pHandle->hOs = pStadHandles->hOs; pHandle->hConn = pStadHandles->hConn; pHandle->hCurrBss = pStadHandles->hCurrBss; pHandle->hApConn = pStadHandles->hAPConnection; pHandle->hScanCncn = pStadHandles->hScanCncn; pHandle->hQosMngr = pStadHandles->hQosMngr; pHandle->hTWD = pStadHandles->hTWD; pHandle->hTxCtrl = pStadHandles->hTxCtrl; pHandle->hRsn = pStadHandles->hRsn; pHandle->hStaCap = pStadHandles->hStaCap; pHandle->hSme = pStadHandles->hSme; pHandle->hTimer = pStadHandles->hTimer; #ifdef XCC_MODULE_INCLUDED pHandle->hXCCMngr = pStadHandles->hXCCMngr; #endif /* debug info */ pHandle->debug_lastProbeRspTSFTime = 0; pHandle->debug_lastDtimBcnTSFTime = 0; pHandle->debug_lastBeaconTSFTime = 0; pHandle->debug_isFunctionFirstTime = TI_TRUE; pHandle->BeaconsCounterPS = 0; genSM_Init(pHandle->hMlmeSm, pHandle->hReport); os_memoryZero(pHandle->hOs, &(pHandle->authInfo), sizeof(auth_t)); os_memoryZero(pHandle->hOs, &(pHandle->assocInfo), sizeof(assoc_t)); os_memoryZero(pHandle->hOs, (TI_UINT8*)pHandle->extraIes, MAX_EXTRA_IES_LEN); pHandle->extraIesLen = 0; }
void roamingMngr_init (TStadHandlesList *pStadHandles) { roamingMngr_t *pRoamingMngr = (roamingMngr_t*)(pStadHandles->hRoamingMngr); /* Update handlers */ pRoamingMngr->hReport = pStadHandles->hReport; pRoamingMngr->hScanMngr = pStadHandles->hScanMngr; pRoamingMngr->hAPConnection = pStadHandles->hAPConnection; pRoamingMngr->hTWD = pStadHandles->hTWD; pRoamingMngr->hEvHandler = pStadHandles->hEvHandler; pRoamingMngr->hCurrBss = pStadHandles->hCurrBss; genSM_Init(pRoamingMngr->hRoamingSm,pRoamingMngr->hReport); }
/** * \fn sme_Init * \brief Initializes the SME object. Store module handles * * Initializes the SME object. Store module handles * * \param pStadHandles - pointer to the handles structure * \return None * \sa sme_Create, sme_SetDefaults */ void sme_Init (TStadHandlesList *pStadHandles) { TSme *pSme = pStadHandles->hSme; /* Store object handles */ pSme->hReport = pStadHandles->hReport; pSme->hScanCncn = pStadHandles->hScanCncn; pSme->hApConn = pStadHandles->hAPConnection; pSme->hConn = pStadHandles->hConn; pSme->hScr = pStadHandles->hSCR; pSme->hRegDomain = pStadHandles->hRegulatoryDomain; pSme->hEvHandler = pStadHandles->hEvHandler; pSme->hSiteMgr = pStadHandles->hSiteMgr; pSme->hRsn = pStadHandles->hRsn; pSme->hDrvMain = pStadHandles->hDrvMain; pSme->hTwd = pStadHandles->hTWD; /* Initialize the scan result table object */ scanResultTable_Init (pSme->hScanResultTable, pStadHandles); /* Initialize the SME state-machine object */ genSM_Init (pSme->hSmeSm, pStadHandles->hReport); }