/** * \fn scanCncnSm_Destroy * \brief Destroys a scan concentartor client object * * Destroys a scan concentartor client object. destroys the state-machine object and * de-allcoates system resources * * \param hScanCncnClient - handle to the scan concnentrator client object * \return None * \sa scanCncnSm_Cretae */ void scanCncnSm_Destroy (TI_HANDLE hScanCncnClient) { TScanCncnClient *pScanCncnClient = (TScanCncnClient*)hScanCncnClient; /* free the state-machine */ genSM_Unload (pScanCncnClient->hGenSM); /* Free object storage space */ os_memoryFree (pScanCncnClient->hOS, hScanCncnClient, sizeof (TScanCncnClient)); }
/** * * roamingMngr_releaseModule * * \b Description: * * Called by the un load function * Go over the vector, for each bit that is set, release the corresponding module. * * \b ARGS: * * I - pRoamingMngr - Roaming Manager context \n * I - initVec - indicates which modules should be released * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * \sa roamingMngr_create */ static void roamingMngr_releaseModule(roamingMngr_t *pRoamingMngr, TI_UINT32 initVec) { if (pRoamingMngr==NULL) { return; } if (initVec & (1 << ROAMING_MNGR_SM_INIT_BIT)) { genSM_Unload(pRoamingMngr->hRoamingSm); } if (initVec & (1 << ROAMING_MNGR_CONTEXT_INIT_BIT)) { os_memoryFree(pRoamingMngr->hOs, pRoamingMngr, sizeof(roamingMngr_t)); } initVec = 0; }
/** * * mlme_destroy - destrit MLME * * \b Description: * Unload MLME SM from memory * * \b ARGS: * I - hMlme - MLME SM context \n * * \b RETURNS: * TI_OK if successful, TI_NOK otherwise. * * \sa rsn_mainSecSmKeysOnlyStop() */ TI_STATUS mlme_destroy(TI_HANDLE hMlme) { mlme_t *pMlme; pMlme = (mlme_t*)hMlme; if (NULL != pMlme->hMlmeTimer) { tmr_DestroyTimer (pMlme->hMlmeTimer); } if (NULL != pMlme->hMlmeSm) { genSM_Unload (pMlme->hMlmeSm); } os_memoryFree(pMlme->hOs, hMlme, sizeof(mlme_t)); return TI_OK; }
/** * \fn sme_Destroy * \brief Destroys the SME object. De-allocates system resources * * Destroys the SME object. De-allocates system resources * * \param hSme - handle to the SME object * \return None * \sa sme_Create */ void sme_Destroy (TI_HANDLE hSme) { TSme *pSme = (TSme*)hSme; /* destroy the scan result table */ if (NULL != pSme->hScanResultTable) { scanResultTable_Destroy (pSme->hScanResultTable); } /* destroy the SME generic state machine */ if (NULL != pSme->hSmeSm) { genSM_Unload (pSme->hSmeSm); } /* free the SME object */ os_memoryFree (pSme->hOS, hSme, sizeof (TSme)); }
/** * \fn scanCncnOsSm_Destroy * \brief Destroys the OS scan state-machine * * Destroys the OS scan state-machine * * \param hScanCncn - handle to the scan concentrator object * \return None * \sa scanCncnOsSm_Create */ void scanCncnOsSm_Destroy (TI_HANDLE hScanCncn) { TScanCncn *pScanCncn = (TScanCncn*)hScanCncn; genSM_Unload (pScanCncn->hOSScanSm); }