本文整理汇总了C++中PMAC_STRUCT函数的典型用法代码示例。如果您正苦于以下问题:C++ PMAC_STRUCT函数的具体用法?C++ PMAC_STRUCT怎么用?C++ PMAC_STRUCT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PMAC_STRUCT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: csrTdlsSendLinkEstablishParams
/*
* TDLS request API, called from HDD to Send Link Establishment Parameters
*/
VOS_STATUS csrTdlsSendLinkEstablishParams(tHalHandle hHal,
tANI_U8 sessionId,
tSirMacAddr peerMac,
tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams)
{
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
tSmeCmd *tdlsLinkEstablishCmd;
eHalStatus status = eHAL_STATUS_FAILURE ;
//If connected and in Infra. Only then allow this
if( CSR_IS_SESSION_VALID( pMac, sessionId ) &&
csrIsConnStateConnectedInfra( pMac, sessionId ) &&
(NULL != peerMac) )
{
tdlsLinkEstablishCmd = csrGetCommandBuffer(pMac) ;
if(tdlsLinkEstablishCmd)
{
tTdlsLinkEstablishCmdInfo *tdlsLinkEstablishCmdInfo =
&tdlsLinkEstablishCmd->u.tdlsCmd.u.tdlsLinkEstablishCmdInfo ;
tdlsLinkEstablishCmd->sessionId = sessionId;
vos_mem_copy( tdlsLinkEstablishCmdInfo->peerMac,
peerMac, sizeof(tSirMacAddr));
tdlsLinkEstablishCmdInfo->isBufSta = tdlsLinkEstablishParams->isBufSta;
tdlsLinkEstablishCmdInfo->isResponder = tdlsLinkEstablishParams->isResponder;
tdlsLinkEstablishCmdInfo->maxSp = tdlsLinkEstablishParams->maxSp;
tdlsLinkEstablishCmdInfo->uapsdQueues = tdlsLinkEstablishParams->uapsdQueues;
tdlsLinkEstablishCmdInfo->isOffChannelSupported =
tdlsLinkEstablishParams->isOffChannelSupported;
vos_mem_copy(tdlsLinkEstablishCmdInfo->supportedChannels,
tdlsLinkEstablishParams->supportedChannels,
tdlsLinkEstablishParams->supportedChannelsLen);
tdlsLinkEstablishCmdInfo->supportedChannelsLen =
tdlsLinkEstablishParams->supportedChannelsLen;
vos_mem_copy(tdlsLinkEstablishCmdInfo->supportedOperClasses,
tdlsLinkEstablishParams->supportedOperClasses,
tdlsLinkEstablishParams->supportedOperClassesLen);
tdlsLinkEstablishCmdInfo->supportedOperClassesLen =
tdlsLinkEstablishParams->supportedOperClassesLen;
tdlsLinkEstablishCmdInfo->isResponder= tdlsLinkEstablishParams->isResponder;
tdlsLinkEstablishCmdInfo->maxSp= tdlsLinkEstablishParams->maxSp;
tdlsLinkEstablishCmdInfo->uapsdQueues= tdlsLinkEstablishParams->uapsdQueues;
tdlsLinkEstablishCmd->command = eSmeCommandTdlsLinkEstablish ;
tdlsLinkEstablishCmd->u.tdlsCmd.size = sizeof(tTdlsLinkEstablishCmdInfo) ;
smePushCommand(pMac, tdlsLinkEstablishCmd, FALSE) ;
status = eHAL_STATUS_SUCCESS ;
}
}
return status ;
}
示例2: sme_SetFTPTKState
void sme_SetFTPTKState(tHalHandle hHal, tANI_U32 sessionId, v_BOOL_t state)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId);
if (!pSession) {
smsLog(pMac, LOGE, FL("pSession is NULL"));
return;
}
pSession->ftSmeContext.setFTPTKState = state;
}
示例3: csrCheckPSReady
tANI_BOOLEAN csrCheckPSReady(void *pv)
{
tpAniSirGlobal pMac = PMAC_STRUCT( pv );
if (pMac->roam.sPendingCommands < 0)
{
VOS_ASSERT( pMac->roam.sPendingCommands >= 0 );
return 0;
}
return (pMac->roam.sPendingCommands == 0);
}
示例4: ccmStart
void ccmStart(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
pMac->ccm.state = eCCM_STARTED ;
#if defined(ANI_LOGDUMP)
ccmDumpInit(hHal);
#endif //#if defined(ANI_LOGDUMP)
return ;
}
示例5: sme_NanRegisterCallback
/******************************************************************************
* Function: sme_NanRegisterCallback
*
* Description:
* This function gets called when HDD wants register nan rsp callback with
* sme layer.
*
* Args:
* hHal and callback which needs to be registered.
*
* Returns:
* void
*****************************************************************************/
void sme_NanRegisterCallback(tHalHandle hHal, NanCallback callback)
{
tpAniSirGlobal pMac = NULL;
if (NULL == hHal) {
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR,
FL("hHal is not valid"));
return;
}
pMac = PMAC_STRUCT(hHal);
pMac->sme.nanCallback = callback;
}
示例6: ccmStop
void ccmStop(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
pMac->ccm.state = eCCM_STOPPED ;
pal_local_bh_disable() ;
purgeReqQ(hHal);
pal_local_bh_enable() ;
return ;
}
示例7: ccmCfgUpdate
eHalStatus ccmCfgUpdate(tHalHandle hHal, tCcmCfgSetCallback callback)
{
tHddHandle hHdd = halHandle2HddHandle(hHal);
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
eHalStatus status ;
pal_local_bh_disable() ;
status = cfgUpdate(pMac, hHdd, callback) ;
if (status == eHAL_STATUS_SUCCESS)
{
if (pMac->ccm.replay.nr_param == 0)
{
/* there is nothing saved at comp[], so we are done! */
pMac->ccm.replay.started = 0 ;
}
else
{
/* we have sent update message to MAC SW */
void *sem ;
status = palMutexAllocLocked( hHdd, &sem ) ;
if (status != eHAL_STATUS_SUCCESS)
{
smsLog(pMac, LOGE, FL("mutex alloc failed"));
pMac->ccm.replay.started = 0 ;
}
else
{
pMac->ccm.replay.done = sem ;
}
}
}
pal_local_bh_enable() ;
/* Waiting here ... */
if (status == eHAL_STATUS_SUCCESS && pMac->ccm.replay.done)
{
#ifdef CCM_DEBUG
smsLog(pMac, LOGW, FL("ccmWaitForCompletion(%p)"), pMac->ccm.replay.done);
#endif
ccmWaitForCompletion(hHdd, pMac->ccm.replay.done);
#ifdef CCM_DEBUG
smsLog(pMac, LOGW, FL("free(%p)"), pMac->ccm.replay.done);
#endif
palSemaphoreFree( hHdd, pMac->ccm.replay.done) ;
}
return status ;
}
示例8: sme_FTReset
/*--------------------------------------------------------------------------
Reset the FT context.
------------------------------------------------------------------------*/
void sme_FTReset(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
if (pMac == NULL)
{
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR, FL("pMac is NULL"));
return;
}
if (pMac->ft.ftSmeContext.auth_ft_ies != NULL)
{
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog( pMac, LOGE, FL(" Freeing FT Auth IE %p and setting to NULL"),
pMac->ft.ftSmeContext.auth_ft_ies);
#endif
vos_mem_free(pMac->ft.ftSmeContext.auth_ft_ies);
}
pMac->ft.ftSmeContext.auth_ft_ies = NULL;
pMac->ft.ftSmeContext.auth_ft_ies_length = 0;
if (pMac->ft.ftSmeContext.reassoc_ft_ies != NULL)
{
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog( pMac, LOGE, FL(" Freeing FT Reassoc IE %p and setting to NULL"),
pMac->ft.ftSmeContext.auth_ft_ies);
#endif
vos_mem_free(pMac->ft.ftSmeContext.reassoc_ft_ies);
}
pMac->ft.ftSmeContext.reassoc_ft_ies = NULL;
pMac->ft.ftSmeContext.reassoc_ft_ies_length = 0;
if (pMac->ft.ftSmeContext.psavedFTPreAuthRsp != NULL)
{
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog( pMac, LOGE, FL("Freeing FtPreAuthRsp %p and setting to NULL"),
pMac->ft.ftSmeContext.psavedFTPreAuthRsp);
#endif
vos_mem_free(pMac->ft.ftSmeContext.psavedFTPreAuthRsp);
}
pMac->ft.ftSmeContext.psavedFTPreAuthRsp = NULL;
pMac->ft.ftSmeContext.setFTPreAuthState = FALSE;
pMac->ft.ftSmeContext.setFTPTKState = FALSE;
if (pMac->ft.ftSmeContext.pCsrFTKeyInfo != NULL)
{
vos_mem_zero(pMac->ft.ftSmeContext.pCsrFTKeyInfo,
sizeof(tCsrRoamSetKey));
vos_mem_free(pMac->ft.ftSmeContext.pCsrFTKeyInfo);
}
pMac->ft.ftSmeContext.pCsrFTKeyInfo = NULL;
vos_mem_zero(pMac->ft.ftSmeContext.preAuthbssId, ANI_MAC_ADDR_SIZE);
pMac->ft.ftSmeContext.FTState = eFT_START_READY;
}
示例9: sme_p2p_close
CDF_STATUS sme_p2p_close(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
if (pMac->p2pContext.probeRspIe) {
cdf_mem_free(pMac->p2pContext.probeRspIe);
pMac->p2pContext.probeRspIe = NULL;
}
pMac->p2pContext.probeRspIeLength = 0;
return CDF_STATUS_SUCCESS;
}
示例10: sme_p2p_open
CDF_STATUS sme_p2p_open(tHalHandle hHal)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
CDF_STATUS status = CDF_STATUS_SUCCESS;
/* If static structure is too big, Need to change this function to allocate memory dynamically */
cdf_mem_zero(&pMac->p2pContext, sizeof(tp2pContext));
if (!CDF_IS_STATUS_SUCCESS(status)) {
sme_p2p_close(hHal);
}
return status;
}
示例11: sme_p2pClose
eHalStatus sme_p2pClose( tHalHandle hHal )
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
if( pMac->p2pContext.probeRspIe )
{
vos_mem_free(pMac->p2pContext.probeRspIe);
pMac->p2pContext.probeRspIe = NULL;
}
pMac->p2pContext.probeRspIeLength = 0;
return eHAL_STATUS_SUCCESS;
}
示例12: sme_FTReset
/*--------------------------------------------------------------------------
Reset the FT context.
------------------------------------------------------------------------*/
void sme_FTReset(tHalHandle hHal, tANI_U32 sessionId)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
tCsrRoamSession *pSession = NULL;
if (pMac == NULL) {
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR, FL("pMac is NULL"));
return;
}
pSession = CSR_GET_SESSION(pMac, sessionId);
if (NULL != pSession) {
if (pSession->ftSmeContext.auth_ft_ies != NULL) {
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog(pMac, LOG1, FL("Freeing FT Auth IE %p and setting to NULL"),
pSession->ftSmeContext.auth_ft_ies);
#endif
vos_mem_free(pSession->ftSmeContext.auth_ft_ies);
pSession->ftSmeContext.auth_ft_ies = NULL;
}
pSession->ftSmeContext.auth_ft_ies_length = 0;
if (pSession->ftSmeContext.reassoc_ft_ies != NULL) {
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog(pMac, LOG1,
FL("Freeing FT Reassoc IE %p and setting to NULL"),
pSession->ftSmeContext.reassoc_ft_ies);
#endif
vos_mem_free(pSession->ftSmeContext.reassoc_ft_ies);
pSession->ftSmeContext.reassoc_ft_ies = NULL;
}
pSession->ftSmeContext.reassoc_ft_ies_length = 0;
if (pSession->ftSmeContext.psavedFTPreAuthRsp != NULL) {
#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG
smsLog( pMac, LOG1, FL("Freeing FtPreAuthRsp %p and setting to NULL"),
pSession->ftSmeContext.psavedFTPreAuthRsp);
#endif
vos_mem_free(pSession->ftSmeContext.psavedFTPreAuthRsp);
vos_mem_set(pSession->ftSmeContext.psavedFTPreAuthRsp,
sizeof(tSirFTPreAuthRsp), 0);
}
pSession->ftSmeContext.setFTPreAuthState = VOS_FALSE;
pSession->ftSmeContext.setFTPTKState = VOS_FALSE;
vos_mem_zero(pSession->ftSmeContext.preAuthbssId, ANI_MAC_ADDR_SIZE);
pSession->ftSmeContext.FTState = eFT_START_READY;
}
}
示例13: sme_p2pOpen
eHalStatus sme_p2pOpen( tHalHandle hHal )
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
eHalStatus status = eHAL_STATUS_SUCCESS;
//If static structure is too big, Need to change this function to allocate memory dynamically
vos_mem_zero(&pMac->p2pContext, sizeof( tp2pContext ));
if(!HAL_STATUS_SUCCESS(status))
{
sme_p2pClose(hHal);
}
return status;
}
示例14: csrFullPowerCallback
void csrFullPowerCallback(void *pv, eHalStatus status)
{
tpAniSirGlobal pMac = PMAC_STRUCT( pv );
tListElem *pEntry;
tSmeCmd *pCommand;
(void)status;
while( NULL != ( pEntry = csrLLRemoveHead( &pMac->roam.roamCmdPendingList, eANI_BOOLEAN_TRUE ) ) )
{
pCommand = GET_BASE_ADDR( pEntry, tSmeCmd, Link );
smePushCommand( pMac, pCommand, eANI_BOOLEAN_FALSE );
}
}
示例15: sme_send_action_cnf
CDF_STATUS sme_send_action_cnf(tHalHandle hHal, uint8_t *pMsg)
{
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
CDF_STATUS status = CDF_STATUS_SUCCESS;
tCsrRoamInfo RoamInfo;
tSirSmeRsp *pSmeRsp = (tSirSmeRsp *) pMsg;
/* forward the indication to HDD */
/* RoamInfo can be passed as NULL....todo */
csr_roam_call_callback(pMac, pSmeRsp->sessionId, &RoamInfo, 0,
eCSR_ROAM_SEND_ACTION_CNF,
(pSmeRsp->statusCode == eSIR_SME_SUCCESS) ? 0 :
eCSR_ROAM_RESULT_SEND_ACTION_FAIL);
return status;
}