VOID set_sta_ht_cap(RTMP_ADAPTER *pAd, MAC_TABLE_ENTRY *ent, HT_CAPABILITY_IE *ht_ie) { if (ht_ie->HtCapInfo.ShortGIfor20) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_SGI20_CAPABLE); if (ht_ie->HtCapInfo.ShortGIfor40) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_SGI40_CAPABLE); if (ht_ie->HtCapInfo.TxSTBC) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_TxSTBC_CAPABLE); if (ht_ie->HtCapInfo.RxSTBC) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_RxSTBC_CAPABLE); if (ht_ie->ExtHtCapInfo.PlusHTC) { CLIENT_CAP_SET_FLAG(ent, fCLIENT_STATUS_HTC_CAPABLE); CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_HTC_CAPABLE); } if (pAd->CommonCfg.bRdg && ht_ie->ExtHtCapInfo.RDGSupport) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_RDG_CAPABLE); if (ht_ie->ExtHtCapInfo.MCSFeedback == 0x03) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_MCSFEEDBACK_CAPABLE); }
VOID set_sta_ra_cap(RTMP_ADAPTER *pAd, MAC_TABLE_ENTRY *ent, ULONG ra_ie) { CLIENT_CAP_CLEAR_FLAG(ent, fCLIENT_STATUS_RALINK_CHIPSET); CLIENT_CAP_CLEAR_FLAG(ent, fCLIENT_STATUS_AGGREGATION_CAPABLE); CLIENT_CAP_CLEAR_FLAG(ent, fCLIENT_STATUS_PIGGYBACK_CAPABLE); CLIENT_STATUS_CLEAR_FLAG(ent, fCLIENT_STATUS_RALINK_CHIPSET); CLIENT_STATUS_CLEAR_FLAG(ent, fCLIENT_STATUS_AGGREGATION_CAPABLE); CLIENT_STATUS_CLEAR_FLAG(ent, fCLIENT_STATUS_PIGGYBACK_CAPABLE); /* Set cap flags */ if (ra_ie != 0x0) { CLIENT_CAP_SET_FLAG(ent, fCLIENT_STATUS_RALINK_CHIPSET); #ifdef AGGREGATION_SUPPORT if (ra_ie & 0x00000001) CLIENT_CAP_SET_FLAG(ent, fCLIENT_STATUS_AGGREGATION_CAPABLE); #endif /* AGGREGATION_SUPPORT */ #ifdef PIGGYBACK_SUPPORT if (ra_ie & 0x00000002) CLIENT_CAP_SET_FLAG(ent, fCLIENT_STATUS_PIGGYBACK_CAPABLE); #endif /* PIGGYBACK_SUPPORT */ } /* Set operation status */ if (ra_ie != 0x0) CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_RALINK_CHIPSET); #ifdef AGGREGATION_SUPPORT if ((pAd->CommonCfg.bAggregationCapable) && (ra_ie & 0x00000001)) { CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_AGGREGATION_CAPABLE); DBGPRINT(RT_DEBUG_TRACE, ("RaAggregate= 1\n")); } #endif /* AGGREGATION_SUPPORT */ #ifdef PIGGYBACK_SUPPORT if ((pAd->CommonCfg.bPiggyBackCapable) && (ra_ie & 0x00000002)) { CLIENT_STATUS_SET_FLAG(ent, fCLIENT_STATUS_PIGGYBACK_CAPABLE); DBGPRINT(RT_DEBUG_TRACE, ("PiggyBack= 1\n")); } #endif /* PIGGYBACK_SUPPORT */ }