diff options
Diffstat (limited to 'network/wlan/WDI/COMMON/CcxGen.h')
| -rw-r--r-- | network/wlan/WDI/COMMON/CcxGen.h | 710 |
1 files changed, 710 insertions, 0 deletions
diff --git a/network/wlan/WDI/COMMON/CcxGen.h b/network/wlan/WDI/COMMON/CcxGen.h new file mode 100644 index 00000000..a268c240 --- /dev/null +++ b/network/wlan/WDI/COMMON/CcxGen.h @@ -0,0 +1,710 @@ +#ifndef __INC_CCX_GEN_H +#define __INC_CCX_GEN_H + + +#if CCX_SUPPORT +//------------------------------------------------------------------------------ +// WLAN/CCX interface. +//------------------------------------------------------------------------------ +VOID +CCX_Initialize( + IN PADAPTER pAdapter + ); + +VOID +CCX_OnSetupJoinInfraInfo( + IN PADAPTER pAdapter, + IN PRT_WLAN_BSS pRtBss + ); + +VOID +CCX_OnAssocOk( + IN PADAPTER pAdapter, + IN POCTET_STRING posAsocRsp, + IN BOOLEAN bReassociate + ); + +VOID +CCX_OnBssReset( + IN PADAPTER pAdapter + ); + +VOID +CCX_OnLinkStatusWatchdog( + IN PADAPTER pAdapter + ); + +VOID +CCX_OnScanComplete( + IN PADAPTER pAdapter + ); + +VOID +CCX_OnRoamOk( + IN PADAPTER pAdapter, + IN POCTET_STRING posReAsocRsp + ); + +VOID +CCX_OnRoamFailed( + IN PADAPTER pAdapter + ); + +RT_STATUS +CCX_OnIAPPPacket( + IN PADAPTER pAdapter, + IN PRT_RFD pRfd, + IN POCTET_STRING pPduOS, + IN u4Byte contentOffset + ); + +u4Byte +CCX_GetPacketType( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu + ); + +u4Byte +CCX_ParsePacket( + IN PADAPTER pAdapter, + IN PRT_RFD pRfd + ); + +//------------------------------------------------------------------------------ +// CCX version and capability. +//------------------------------------------------------------------------------ +VOID +CCX_AppendAironetIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +VOID +CCX_AppendCcxVerIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +VOID +CCX_AppendCcxCellPowerIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +VOID +CCX_RM_AppendRmCapIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +VOID +CCX_AppendMHDRIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +BOOLEAN +CCX_VerifyRxMFP_MHDRIE( + IN PADAPTER pAdapter, + IN PRT_RFD pRfd + ); + + +//------------------------------------------------------------------------------ +// Layer 2 roaming routines. +//------------------------------------------------------------------------------ +VOID +CCX_ClearAdjacentApReport( + IN PADAPTER pAdapter + ); + +VOID +CCX_UpdateAdjacentApReport( + IN PADAPTER pAdapter + ); + +VOID +CCX_SendAdjacentApReport( + IN PADAPTER pAdapter + ); + +unsigned int +CCX_NeighborHash( + IN RT_HASH_KEY Key + ); + +VOID +CCX_ResetNeighborList( + IN PADAPTER pAdapter + ); + +u4Byte +CCX_OnNeighborListResponse( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu, + IN PRT_RFD pRfd + ); + +VOID +CCX_UpdateNeighborList( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu, + IN u4Byte ElementStartOffset, + IN PBOOLEAN pbScan + ); + + +u4Byte +CCX_OnDirectRoam( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu, + IN PRT_RFD pRfd + ); + +VOID +CCX_TryToRoam( + IN PADAPTER pAdapter, + IN PRT_WLAN_BSS pRtBss + ); + +VOID +CCX_SendNeighborPoll( + IN PADAPTER pAdapter + ); +//------------------------------------------------------------------------------ +// Link Test. +//------------------------------------------------------------------------------ +u4Byte +CCX_OnLinkTestRequest( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu, + IN PRT_RFD pRfd + ); + +VOID +CCX_HandleLinkTestRequest( + IN PADAPTER pAdapter, + IN POCTET_STRING posMpdu, + IN s4Byte RecvSignalPower + ); + +VOID +CCX_HandleLinkTestReplySentComplete( + IN PADAPTER pAdapter, + IN u2Byte SeqNo, + IN u1Byte RetryCnt + ); + +VOID +CCX_CheckLinkTestRequetQueued( + IN PADAPTER pAdapter + ); + +VOID +CCX_ResetLinkTestRequestWaitQueue( + IN PRT_CCX_INFO pCcxInfo + ); + +VOID +CCX_AddLinkTestRequestWaitQueue( + IN PRT_CCX_INFO pCcxInfo, + IN POCTET_STRING posMpdu, + IN s4Byte RecvSignalPower + ); + +BOOLEAN +CCX_RemoveLinkTestRequestWaitQueue( + IN PRT_CCX_INFO pCcxInfo + ); + +#define CCX_IsLinkTestRequestWaitQueueEmpty(_pCcxInfo) ((_pCcxInfo)->LtRequestWaitQueueSize == 0) + +PRT_LT_REQ +CCX_GetHeadOfTestRequestWaitQueue( + IN PRT_CCX_INFO pCcxInfo + ); + +VOID +CCX_ResetLinkTestReplySet( + IN PRT_CCX_INFO pCcxInfo + ); + +VOID +CCX_AddLinkTestReply( + IN PADAPTER Adapter, + IN u2Byte SeqNo, + IN u2Byte FrameNumber + ); + +PRT_LT_REP_RETRY +CCX_FindLinkTestReplyBySeqNo( + IN PRT_CCX_INFO pCcxInfo, + IN u2Byte SeqNo + ); + +PRT_LT_REP_RETRY +CCX_FindLinkTestReplyByFrameNumber( + IN PRT_CCX_INFO pCcxInfo, + IN u2Byte FrameNumber + ); + +BOOLEAN +CCX_UpdateLinkTestReply( + IN PRT_CCX_INFO pCcxInfo, + IN u2Byte SeqNo, + IN u1Byte RetryCnt + ); + +PRT_LT_REP_RETRY +CCX_FindLinkTestReplyByPacketID( + IN PADAPTER pAdapter, + IN u1Byte PacketID + ); + +PRT_LT_REP_RETRY +CCX_GetHeadLinkTestReply( + IN PRT_CCX_INFO pCcxInfo + ); +//------------------------------------------------------------------------------ +// Qos related. +//------------------------------------------------------------------------------ + +u4Byte +CCX_CAC_GetVoNominalPhyRate( + IN PADAPTER Adapter, + IN u1Byte Rate + ); + +u2Byte +CCX_CAC_GetVoSurplusBandwith( + IN PADAPTER Adapter, + IN u1Byte Rate + ); + +VOID +CCX_CAC_ConstructVoiceTspec( + IN PADAPTER Adapter, + IN WMM_TSPEC tspec + ); + +VOID +CCX_CAC_ConstructSignalTspec( + IN PADAPTER Adapter, + IN WMM_TSPEC tspec + ); + +VOID +CCX_CAC_AddTs( + IN PADAPTER Adapter + ); + +VOID +CCX_CAC_DelTs( + IN PADAPTER Adapter + ); + +BOOLEAN +CCX_CAC_IsVoiceTsExist( + IN PADAPTER Adapter + ); + +BOOLEAN +CCX_CAC_IsSignalTsExist( + IN PADAPTER Adapter + ); + +VOID +CCX_CAC_RoamOk( + IN PADAPTER Adapter, + IN POCTET_STRING posReAsocRsp + ); + +VOID +CCX_CAC_RoamFailed( + IN PADAPTER Adapter + ); + +BOOLEAN +CCX_CallAdmissionControl( + IN PADAPTER Adapter, + IN PRT_TCB pTcb + ); + +VOID +CCX_SessionRetryTimerCallback( + IN PRT_TIMER pTimer + ); + +VOID +CCX_SetAssocInfoTimerCallback( + IN PRT_TIMER pTimer + ); + +VOID +CCX_FlushAllTs( + IN PADAPTER Adapter + ); + + +//------------------------------------------------------------------------------ +// SSIDL routines. +//------------------------------------------------------------------------------ + +// +//Description: +// Follow an SSIDInfo to Construct BSS +//Input : +// pSSIDInfo : an SSID entry of SSIDL +// pExtenBSS : Output BBS +// pOrgBSS : The BSS include this SSIDL +// +VOID +CCX_SSIDL_ConstructBSS( + IN PADAPTER Adapter, + IN PCCX_SSIDL_SSID_ELEMENT pSSIDInfo, // Exten SSID information + IN PRT_WLAN_BSS pExtenBSS, // Exten BSS + IN PRT_WLAN_BSS pOrgBSS // Basic BSS +); + +VOID +CCX_GetSSIDLToBssList( + IN PADAPTER Adapter, + IN PRT_WLAN_BSS pOrgBSS + ); + + +// +// Description: +// Constr New Beacon for Indic to WZC to Pass check +// +// Input : +// pSSIDInfo : an SSID entry of SSIDL ( Connect SSID name ) +// +VOID +CCX_SSIDL_UpdateAsocBeacon( + IN PADAPTER pAdapter, + IN PCCX_SSIDL_SSID_ELEMENT pSSIDInfo, // Exten SSID information + IN PRT_RFD pRfd, + IN PRT_WLAN_BSS pOrgBSS // Basic BSS +); + + +VOID +CCX_AppendCcxSFAIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +VOID +CCX_AppendCcxDiagReqReasonIE( + IN PADAPTER pAdapter, + OUT POCTET_STRING posFrame + ); + +BOOLEAN +CCX_Construct_DiagChnl_AssocReq( + IN PADAPTER pAdapter, + IN pu1Byte Buffer, + OUT pu4Byte pLength + ); + +pu1Byte +CCX_HashNextSSIDL( + IN POCTET_STRING posIe, + IN OUT pu4Byte pOffset + ); + +VOID +CCX_ConstructReAssociateReq( + IN PADAPTER Adapter, + OUT POCTET_STRING ReAsocReq + ); + +VOID +CCX_ConstructDeauthenticatePacket( + IN PADAPTER Adapter, + OUT pu1Byte pdeauth, + OUT POCTET_STRING Deauth + ); + +VOID +CCX_ConstructDisassociatePacket( + IN PADAPTER Adapter, + OUT pu1Byte pdisassoc, + OUT POCTET_STRING Disas + ); + + +VOID +CCX_ConstructQosADDTSPacket( + IN PADAPTER Adapter, + OUT POCTET_STRING osAddTs + ); + +VOID +CCX_ConstructQosDELTSPacket( + IN PADAPTER Adapter, + OUT POCTET_STRING osDelTs + ); + +VOID +CCX_MgntLinkKeepAlive( + IN PADAPTER pAdapter + ); + +VOID +CCX_8021xModeChange( + IN PADAPTER pAdapter, + IN BOOLEAN Value + ); + +VOID +CCX_MFPModeChange( + IN PADAPTER pAdapter, + IN BOOLEAN Value + ); + +VOID +CCX_DrvIFCompletePacket( + IN PADAPTER Adapter, + IN PRT_TCB pTcb + ); + +BOOLEAN +CCX_IndicateAssociationStart( + IN PADAPTER Adapter + ); + +VOID +CCX_GPParserCustomHandleUDP2SIP( + IN PADAPTER Adapter, + IN RT_SPINLOCK_TYPE SpinLockType, + OUT BOOLEAN *pbQosData, + OUT BOOLEAN *pbReturn, + OUT BOOLEAN *pbRejectData + ); + +VOID +CCX_OnAddTsRspSet( + IN PADAPTER Adapter + ); + +BOOLEAN +CCX_QosReturnAllPendingTxMsdu( + IN PADAPTER Adapter + ); + +BOOLEAN +CCX_ParseRfd( + IN PADAPTER Adapter, + IN PRT_RFD pRfd, + IN OCTET_STRING frame, + OUT BOOLEAN *pbFreeRfd + ); + +VOID +CCX_QueryMFPSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbCcxMFPEnable, + OUT pu1Byte pMFPtk + ); + +VOID +CCX_QueryMFPAESSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbCcxMFPEnable, + OUT pu1Byte MFPAESKeyBuf + ); + +VOID +CCX_QueryCCKMSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbCCX8021xenable, + OUT BOOLEAN *pbAPSuportCCKM + ); + +VOID +CCX_QueryCACSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbCcxCACEnable + ); + +PCCX_TSM_COUNTER +CCX_QueryTSMSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbEnableTSM, + IN u1Byte TsIdx + ); + +VOID +CCX_QueryIHVSupport( + IN PADAPTER Adapter, + OUT BOOLEAN *pbIhvFrameLogMode + ); + +VOID +CCX_QueryVersionNum( + IN PADAPTER Adapter, + OUT u1Byte *pCurrCcxVerNumber + ); + +VOID +CCX_TSMTxFeedbackCallback( + IN PADAPTER pAdapter, + const RT_TX_FEEDBACK_INFO * const pTxFeedbackInfo + ); + +VOID +CCX_LinkTestTxFeedbackCallback( + IN PADAPTER pAdapter, + const RT_TX_FEEDBACK_INFO * const pTxFeedbackInfo + ); + +VOID +CCX_FwC2HTxRpt( + IN PADAPTER Adapter, + IN u1Byte QueueID, + IN pu1Byte tmpBuf + ); + +VOID +CCX_QueryTxPower( + IN PADAPTER Adapter, + OUT s4Byte *pPowerlevel + ); + +VOID +CCX_SetAssocReason( + IN PADAPTER Adapter, + IN CCX_ASOC_REASON Reason + ); + +VOID +CCX_SetCCKMTimeStamp( + IN PADAPTER Adapter, + IN u8Byte TimeStamp + ); + +BOOLEAN +CCX_MlmeAssociateRequest( + IN PADAPTER Adapter + ); + +#define CCX_CATASTROPHIC_REASON_UNSPECIFY 0 +#define CCX_CATASTROPHIC_REASON_TX_FAIL 1 + +u4Byte +CCX_CatastrophicRoaming( + IN PADAPTER pAdapter, + IN u4Byte roamReason + ); + +VOID +CCX_CellPowerLimit( + IN PADAPTER pAdapter, + IN u1Byte channel, + IN u1Byte rate, + IN pu1Byte pTxPower + ); + +VOID +CCX_UpdateUsedTime( + PADAPTER pAdapter + ); + +RT_STATUS +CCX_SSIDLUpdateJoinBss( + IN PADAPTER pAdapter, + IN PRT_RFD pRfd, + IN PRT_WLAN_BSS pBssDesc + ); + +RT_STATUS +CCX_AppendAssocReqCCKMIE( + IN PADAPTER pAdapter, + OUT pu1Byte pBuffer, + OUT pu4Byte pOutputLen + ); + +RT_STATUS +CCX_AppendAssocRspCCKMIE( + IN PADAPTER pAdapter, + OUT pu1Byte pBuffer, + OUT pu4Byte pOutputLen + ); + +#else // #if CCX_SUPPORT +#define CCX_Initialize(_pAdapter) +#define CCX_OnSetupJoinInfraInfo(pAdapter, pRtBss) +#define CCX_OnAssocOk(pAdapter, posAsocRsp, bReassociate) +#define CCX_OnBssReset(pAdapter) +#define CCX_OnLinkStatusWatchdog(pAdapter) +#define CCX_OnScanComplete(pAdapter) +#define CCX_OnIAPPPacket NULL +#define CCX_ParsePacket(pAdapter, pRfd) (FALSE) +#define CCX_AppendAironetIE(pAdapter, posFrame) +#define CCX_AppendCcxVerIE(pAdapter, posFrame) +#define CCX_AppendCcxCellPowerIE(pAdapter, posFrame) +#define CCX_RM_AppendRmCapIE(pAdapter, posFrame) +#define CCX_AppendMHDRIE(pAdapter, posFrame) +#define CCX_VerifyRxMFP_MHDRIE(pAdapter, pRfd) (TRUE) +#define CCX_NeighborHash(Key) (0) +#define CCX_FindLinkTestReplyByFrameNumber(pCcxInfo, FrameNumber) (NULL) +#define CCX_HandleLinkTestReplySentComplete(pAdapter, SeqNo, RetryCnt) +#define CCX_FindLinkTestReplyBySeqNo(pCcxInfo, SeqNo) (NULL) +#define CCX_AddLinkTestReply(Adapter, SeqNo, FrameNumber) +#define CCX_FindLinkTestReplyByPacketID(pAdapter, PacketID) (NULL) +#define CCX_GetHeadLinkTestReply(pCcxInfo) (NULL) +#define CCX_OnRoamFailed(pAdapter) +#define CCX_SSIDL_UpdateAsocBeacon(pAdapter, pSSIDInfo, pRfd, pOrgBSS) +#define CCX_HashNextSSIDL(posIe, pOffset) +#define CCX_GetSSIDLToBssList(Adapter, pOrgBSS) +#define CCX_CAC_IsVoiceTsExist(Adapter) (FALSE) +#define CCX_FlushAllTs(Adapter) +#define CCX_CallAdmissionControl(Adapter, pTcb) (FALSE) +#define CCX_CAC_AddTs(Adapter) +#define CCX_CAC_DelTs(Adapter) +#define CCX_CAC_ConstructSignalTspec(Adapter, tspec) +#define CCX_CAC_ConstructVoiceTspec(Adapter, tspec) +#define CCX_SessionRetryTimerCallback(pTimer) +#define CCX_SetAssocInfoTimerCallback(pTimer) +#define CCX_AppendCcxSFAIE(pAdapter, posFrame) +#define CCX_Construct_DiagChnl_AssocReq(pAdapter, Buffer,pLength) (FALSE) +#define CCX_CatastrophicRoaming(pAdapter,roamReason) (0) +#define CCX_ConstructReAssociateReq(Adapter, ReAsocReq) +#define CCX_ConstructDeauthenticatePacket(Adapter, pdeauth, Deauth) +#define CCX_ConstructDisassociatePacket(Adapter, pdisassoc,Disas) +#define CCX_ConstructQosADDTSPacket(Adapter, osAddTs) +#define CCX_ConstructQosDELTSPacket(Adapter,osDelTs) +#define CCX_MgntLinkKeepAlive(pAdapter) +#define CCX_8021xModeChange(pAdapter, Value) +#define CCX_MFPModeChange(pAdapter, Value) +#define CCX_DrvIFCompletePacket(Adapter, pTcb) +#define CCX_IndicateAssociationStart(Adapter) (FALSE) +#define CCX_GPParserCustomHandleUDP2SIP(Adapter, SpinLockType, pbQosData, pbReturn, pbRejectData) +#define CCX_OnAddTsRspSet(Adapter) +#define CCX_QosReturnAllPendingTxMsdu(Adapter) (FALSE) +#define CCX_ParseRfd(Adapter, pRfd, frame, pbFreeRfd) (FALSE) +#define CCX_QueryMFPSupport(Adapter, pbCcxMFPEnable, pMFPtk) +#define CCX_QueryMFPAESSupport(Adapter,pbCcxMFPEnable, MFPAESKeyBuf) +#define CCX_QueryCCKMSupport(Adapter, pbCCX8021xenable, pbAPSuportCCKM) +#define CCX_QueryCACSupport(Adapter, pbCcxCACEnable) +#define CCX_QueryTSMSupport(Adapter, pbEnableTSM, TsIdx) (NULL) +#define CCX_QueryIHVSupport(Adapter, pbIhvFrameLogMode) +#define CCX_QueryVersionNum(Adapter, pCurrCcxVerNumber) +#define CCX_TSMTxFeedbackCallback(pAdapter, pTxFeedbackInfo) +#define CCX_LinkTestTxFeedbackCallback(pAdapter, pTxFeedbackInfo) +#define CCX_FwC2HTxRpt(Adapter, QueueID, tmpBuf) +#define CCX_C2HCommandHandler(Adapter, QueueID,tmpBuf) +#define CCX_QueryTxPower(Adapter, pPowerlevel) +#define CCX_SetAssocReason(Adapter,Reason) +#define CCX_SetCCKMTimeStamp(Adapter, TimeStamp) +#define CCX_MlmeAssociateRequest(Adapter) (FALSE) +#define CCX_CellPowerLimit(Adapter, channel, rate, pTxPower) +#define CCX_UpdateUsedTime(Adapter) +#define CCX_SSIDLUpdateJoinBss(_pAdapter, _pRfd, pBssDesc) (RT_STATUS_NOT_SUPPORT) +#define CCX_AppendAssocReqCCKMIE(_pAdapter, _pBuffer, _pOutputLen) (RT_STATUS_NOT_SUPPORT) +#define CCX_AppendAssocRspCCKMIE(_pAdapter, _pBuffer, _pOutputLen) (RT_STATUS_NOT_SUPPORT) + +#endif // #if CCX_SUPPORT +#endif // #ifndef __INC_CCX_GEN_H |
