#ifndef _HALMAC_RX_DESC_CHIP_H_
#define _HALMAC_RX_DESC_CHIP_H_
#if (HALMAC_8814A_SUPPORT)

/*RXDESC_WORD0*/

#define GET_RX_DESC_EOR_8814A(__pRxDesc)    GET_RX_DESC_EOR(__pRxDesc)
#define GET_RX_DESC_PHYPKTIDC_8814A(__pRxDesc)    GET_RX_DESC_PHYPKTIDC(__pRxDesc)
#define GET_RX_DESC_SWDEC_8814A(__pRxDesc)    GET_RX_DESC_SWDEC(__pRxDesc)
#define GET_RX_DESC_PHYST_8814A(__pRxDesc)    GET_RX_DESC_PHYST(__pRxDesc)
#define GET_RX_DESC_SHIFT_8814A(__pRxDesc)    GET_RX_DESC_SHIFT(__pRxDesc)
#define GET_RX_DESC_QOS_8814A(__pRxDesc)    GET_RX_DESC_QOS(__pRxDesc)
#define GET_RX_DESC_SECURITY_8814A(__pRxDesc)    GET_RX_DESC_SECURITY(__pRxDesc)
#define GET_RX_DESC_DRV_INFO_SIZE_8814A(__pRxDesc)    GET_RX_DESC_DRV_INFO_SIZE(__pRxDesc)
#define GET_RX_DESC_ICV_ERR_8814A(__pRxDesc)    GET_RX_DESC_ICV_ERR(__pRxDesc)
#define GET_RX_DESC_CRC32_8814A(__pRxDesc)    GET_RX_DESC_CRC32(__pRxDesc)
#define GET_RX_DESC_PKT_LEN_8814A(__pRxDesc)    GET_RX_DESC_PKT_LEN(__pRxDesc)

/*RXDESC_WORD1*/

#define GET_RX_DESC_BC_8814A(__pRxDesc)    GET_RX_DESC_BC(__pRxDesc)
#define GET_RX_DESC_MC_8814A(__pRxDesc)    GET_RX_DESC_MC(__pRxDesc)
#define GET_RX_DESC_TY_PE_8814A(__pRxDesc)    GET_RX_DESC_TY_PE(__pRxDesc)
#define GET_RX_DESC_MF_8814A(__pRxDesc)    GET_RX_DESC_MF(__pRxDesc)
#define GET_RX_DESC_MD_8814A(__pRxDesc)    GET_RX_DESC_MD(__pRxDesc)
#define GET_RX_DESC_PWR_8814A(__pRxDesc)    GET_RX_DESC_PWR(__pRxDesc)
#define GET_RX_DESC_PAM_8814A(__pRxDesc)    GET_RX_DESC_PAM(__pRxDesc)
#define GET_RX_DESC_CHK_VLD_8814A(__pRxDesc)    GET_RX_DESC_CHK_VLD(__pRxDesc)
#define GET_RX_DESC_RX_IS_TCP_UDP_8814A(__pRxDesc)    GET_RX_DESC_RX_IS_TCP_UDP(__pRxDesc)
#define GET_RX_DESC_RX_IPV_8814A(__pRxDesc)    GET_RX_DESC_RX_IPV(__pRxDesc)
#define GET_RX_DESC_CHKERR_8814A(__pRxDesc)    GET_RX_DESC_CHKERR(__pRxDesc)
#define GET_RX_DESC_PAGGR_8814A(__pRxDesc)    GET_RX_DESC_PAGGR(__pRxDesc)
#define GET_RX_DESC_RXID_MATCH_8814A(__pRxDesc)    GET_RX_DESC_RXID_MATCH(__pRxDesc)
#define GET_RX_DESC_AMSDU_8814A(__pRxDesc)    GET_RX_DESC_AMSDU(__pRxDesc)
#define GET_RX_DESC_MACID_VLD_8814A(__pRxDesc)    GET_RX_DESC_MACID_VLD(__pRxDesc)
#define GET_RX_DESC_TID_8814A(__pRxDesc)    GET_RX_DESC_TID(__pRxDesc)
#define GET_RX_DESC_EXT_SECTYPE_8814A(__pRxDesc)    GET_RX_DESC_EXT_SECTYPE(__pRxDesc)
#define GET_RX_DESC_MACID_8814A(__pRxDesc)    GET_RX_DESC_MACID(__pRxDesc)

/*RXDESC_WORD2*/

#define GET_RX_DESC_FCS_OK_8814A(__pRxDesc)    GET_RX_DESC_FCS_OK(__pRxDesc)
#define GET_RX_DESC_C2H_8814A(__pRxDesc)    GET_RX_DESC_C2H(__pRxDesc)
#define GET_RX_DESC_HWRSVD_8814A(__pRxDesc)    GET_RX_DESC_HWRSVD(__pRxDesc)
#define GET_RX_DESC_WLANHD_IV_LEN_8814A(__pRxDesc)    GET_RX_DESC_WLANHD_IV_LEN(__pRxDesc)
#define GET_RX_DESC_RX_IS_QOS_8814A(__pRxDesc)    GET_RX_DESC_RX_IS_QOS(__pRxDesc)
#define GET_RX_DESC_FRAG_8814A(__pRxDesc)    GET_RX_DESC_FRAG(__pRxDesc)
#define GET_RX_DESC_SEQ_8814A(__pRxDesc)    GET_RX_DESC_SEQ(__pRxDesc)

/*RXDESC_WORD3*/

#define GET_RX_DESC_MAGIC_WAKE_8814A(__pRxDesc)    GET_RX_DESC_MAGIC_WAKE(__pRxDesc)
#define GET_RX_DESC_UNICAST_WAKE_8814A(__pRxDesc)    GET_RX_DESC_UNICAST_WAKE(__pRxDesc)
#define GET_RX_DESC_PATTERN_MATCH_8814A(__pRxDesc)    GET_RX_DESC_PATTERN_MATCH(__pRxDesc)
#define GET_RX_DESC_DMA_AGG_NUM_8814A(__pRxDesc)    GET_RX_DESC_DMA_AGG_NUM(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_1_0_8814A(__pRxDesc)    GET_RX_DESC_BSSID_FIT_1_0(__pRxDesc)
#define GET_RX_DESC_EOSP_8814A(__pRxDesc)    GET_RX_DESC_EOSP(__pRxDesc)
#define GET_RX_DESC_HTC_8814A(__pRxDesc)    GET_RX_DESC_HTC(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_4_2_8814A(__pRxDesc)    GET_RX_DESC_BSSID_FIT_4_2(__pRxDesc)
#define GET_RX_DESC_RX_RATE_8814A(__pRxDesc)    GET_RX_DESC_RX_RATE(__pRxDesc)

/*RXDESC_WORD4*/

#define GET_RX_DESC_A1_FIT_8814A(__pRxDesc)    GET_RX_DESC_A1_FIT(__pRxDesc)
#define GET_RX_DESC_MACID_RPT_BUFF_8814A(__pRxDesc)    GET_RX_DESC_MACID_RPT_BUFF(__pRxDesc)
#define GET_RX_DESC_RX_PRE_NDP_VLD_8814A(__pRxDesc)    GET_RX_DESC_RX_PRE_NDP_VLD(__pRxDesc)
#define GET_RX_DESC_RX_SCRAMBLER_8814A(__pRxDesc)    GET_RX_DESC_RX_SCRAMBLER(__pRxDesc)
#define GET_RX_DESC_RX_EOF_8814A(__pRxDesc)    GET_RX_DESC_RX_EOF(__pRxDesc)
#define GET_RX_DESC_PATTERN_IDX_8814A(__pRxDesc)    GET_RX_DESC_PATTERN_IDX(__pRxDesc)

/*RXDESC_WORD5*/

#define GET_RX_DESC_TSFL_8814A(__pRxDesc)    GET_RX_DESC_TSFL(__pRxDesc)

#endif

#if (HALMAC_8822B_SUPPORT)

/*RXDESC_WORD0*/

#define GET_RX_DESC_EOR_8822B(__pRxDesc)    GET_RX_DESC_EOR(__pRxDesc)
#define GET_RX_DESC_PHYPKTIDC_8822B(__pRxDesc)    GET_RX_DESC_PHYPKTIDC(__pRxDesc)
#define GET_RX_DESC_SWDEC_8822B(__pRxDesc)    GET_RX_DESC_SWDEC(__pRxDesc)
#define GET_RX_DESC_PHYST_8822B(__pRxDesc)    GET_RX_DESC_PHYST(__pRxDesc)
#define GET_RX_DESC_SHIFT_8822B(__pRxDesc)    GET_RX_DESC_SHIFT(__pRxDesc)
#define GET_RX_DESC_QOS_8822B(__pRxDesc)    GET_RX_DESC_QOS(__pRxDesc)
#define GET_RX_DESC_SECURITY_8822B(__pRxDesc)    GET_RX_DESC_SECURITY(__pRxDesc)
#define GET_RX_DESC_DRV_INFO_SIZE_8822B(__pRxDesc)    GET_RX_DESC_DRV_INFO_SIZE(__pRxDesc)
#define GET_RX_DESC_ICV_ERR_8822B(__pRxDesc)    GET_RX_DESC_ICV_ERR(__pRxDesc)
#define GET_RX_DESC_CRC32_8822B(__pRxDesc)    GET_RX_DESC_CRC32(__pRxDesc)
#define GET_RX_DESC_PKT_LEN_8822B(__pRxDesc)    GET_RX_DESC_PKT_LEN(__pRxDesc)

/*RXDESC_WORD1*/

#define GET_RX_DESC_BC_8822B(__pRxDesc)    GET_RX_DESC_BC(__pRxDesc)
#define GET_RX_DESC_MC_8822B(__pRxDesc)    GET_RX_DESC_MC(__pRxDesc)
#define GET_RX_DESC_TY_PE_8822B(__pRxDesc)    GET_RX_DESC_TY_PE(__pRxDesc)
#define GET_RX_DESC_MF_8822B(__pRxDesc)    GET_RX_DESC_MF(__pRxDesc)
#define GET_RX_DESC_MD_8822B(__pRxDesc)    GET_RX_DESC_MD(__pRxDesc)
#define GET_RX_DESC_PWR_8822B(__pRxDesc)    GET_RX_DESC_PWR(__pRxDesc)
#define GET_RX_DESC_PAM_8822B(__pRxDesc)    GET_RX_DESC_PAM(__pRxDesc)
#define GET_RX_DESC_CHK_VLD_8822B(__pRxDesc)    GET_RX_DESC_CHK_VLD(__pRxDesc)
#define GET_RX_DESC_RX_IS_TCP_UDP_8822B(__pRxDesc)    GET_RX_DESC_RX_IS_TCP_UDP(__pRxDesc)
#define GET_RX_DESC_RX_IPV_8822B(__pRxDesc)    GET_RX_DESC_RX_IPV(__pRxDesc)
#define GET_RX_DESC_CHKERR_8822B(__pRxDesc)    GET_RX_DESC_CHKERR(__pRxDesc)
#define GET_RX_DESC_PAGGR_8822B(__pRxDesc)    GET_RX_DESC_PAGGR(__pRxDesc)
#define GET_RX_DESC_RXID_MATCH_8822B(__pRxDesc)    GET_RX_DESC_RXID_MATCH(__pRxDesc)
#define GET_RX_DESC_AMSDU_8822B(__pRxDesc)    GET_RX_DESC_AMSDU(__pRxDesc)
#define GET_RX_DESC_MACID_VLD_8822B(__pRxDesc)    GET_RX_DESC_MACID_VLD(__pRxDesc)
#define GET_RX_DESC_TID_8822B(__pRxDesc)    GET_RX_DESC_TID(__pRxDesc)
#define GET_RX_DESC_EXT_SECTYPE_8822B(__pRxDesc)    GET_RX_DESC_EXT_SECTYPE(__pRxDesc)
#define GET_RX_DESC_MACID_8822B(__pRxDesc)    GET_RX_DESC_MACID(__pRxDesc)

/*RXDESC_WORD2*/

#define GET_RX_DESC_FCS_OK_8822B(__pRxDesc)    GET_RX_DESC_FCS_OK(__pRxDesc)
#define GET_RX_DESC_PPDU_CNT_8822B(__pRxDesc)    GET_RX_DESC_PPDU_CNT(__pRxDesc)
#define GET_RX_DESC_C2H_8822B(__pRxDesc)    GET_RX_DESC_C2H(__pRxDesc)
#define GET_RX_DESC_HWRSVD_8822B(__pRxDesc)    GET_RX_DESC_HWRSVD(__pRxDesc)
#define GET_RX_DESC_WLANHD_IV_LEN_8822B(__pRxDesc)    GET_RX_DESC_WLANHD_IV_LEN(__pRxDesc)
#define GET_RX_DESC_RX_IS_QOS_8822B(__pRxDesc)    GET_RX_DESC_RX_IS_QOS(__pRxDesc)
#define GET_RX_DESC_FRAG_8822B(__pRxDesc)    GET_RX_DESC_FRAG(__pRxDesc)
#define GET_RX_DESC_SEQ_8822B(__pRxDesc)    GET_RX_DESC_SEQ(__pRxDesc)

/*RXDESC_WORD3*/

#define GET_RX_DESC_MAGIC_WAKE_8822B(__pRxDesc)    GET_RX_DESC_MAGIC_WAKE(__pRxDesc)
#define GET_RX_DESC_UNICAST_WAKE_8822B(__pRxDesc)    GET_RX_DESC_UNICAST_WAKE(__pRxDesc)
#define GET_RX_DESC_PATTERN_MATCH_8822B(__pRxDesc)    GET_RX_DESC_PATTERN_MATCH(__pRxDesc)
#define GET_RX_DESC_RXPAYLOAD_MATCH_8822B(__pRxDesc)    GET_RX_DESC_RXPAYLOAD_MATCH(__pRxDesc)
#define GET_RX_DESC_RXPAYLOAD_ID_8822B(__pRxDesc)    GET_RX_DESC_RXPAYLOAD_ID(__pRxDesc)
#define GET_RX_DESC_DMA_AGG_NUM_8822B(__pRxDesc)    GET_RX_DESC_DMA_AGG_NUM(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_1_0_8822B(__pRxDesc)    GET_RX_DESC_BSSID_FIT_1_0(__pRxDesc)
#define GET_RX_DESC_EOSP_8822B(__pRxDesc)    GET_RX_DESC_EOSP(__pRxDesc)
#define GET_RX_DESC_HTC_8822B(__pRxDesc)    GET_RX_DESC_HTC(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_4_2_8822B(__pRxDesc)    GET_RX_DESC_BSSID_FIT_4_2(__pRxDesc)
#define GET_RX_DESC_RX_RATE_8822B(__pRxDesc)    GET_RX_DESC_RX_RATE(__pRxDesc)

/*RXDESC_WORD4*/

#define GET_RX_DESC_A1_FIT_8822B(__pRxDesc)    GET_RX_DESC_A1_FIT(__pRxDesc)
#define GET_RX_DESC_MACID_RPT_BUFF_8822B(__pRxDesc)    GET_RX_DESC_MACID_RPT_BUFF(__pRxDesc)
#define GET_RX_DESC_RX_PRE_NDP_VLD_8822B(__pRxDesc)    GET_RX_DESC_RX_PRE_NDP_VLD(__pRxDesc)
#define GET_RX_DESC_RX_SCRAMBLER_8822B(__pRxDesc)    GET_RX_DESC_RX_SCRAMBLER(__pRxDesc)
#define GET_RX_DESC_RX_EOF_8822B(__pRxDesc)    GET_RX_DESC_RX_EOF(__pRxDesc)
#define GET_RX_DESC_PATTERN_IDX_8822B(__pRxDesc)    GET_RX_DESC_PATTERN_IDX(__pRxDesc)

/*RXDESC_WORD5*/

#define GET_RX_DESC_TSFL_8822B(__pRxDesc)    GET_RX_DESC_TSFL(__pRxDesc)

#endif

#if (HALMAC_8197F_SUPPORT)

/*RXDESC_WORD0*/

#define GET_RX_DESC_EOR_8197F(__pRxDesc)    GET_RX_DESC_EOR(__pRxDesc)
#define GET_RX_DESC_PHYPKTIDC_8197F(__pRxDesc)    GET_RX_DESC_PHYPKTIDC(__pRxDesc)
#define GET_RX_DESC_SWDEC_8197F(__pRxDesc)    GET_RX_DESC_SWDEC(__pRxDesc)
#define GET_RX_DESC_PHYST_8197F(__pRxDesc)    GET_RX_DESC_PHYST(__pRxDesc)
#define GET_RX_DESC_SHIFT_8197F(__pRxDesc)    GET_RX_DESC_SHIFT(__pRxDesc)
#define GET_RX_DESC_QOS_8197F(__pRxDesc)    GET_RX_DESC_QOS(__pRxDesc)
#define GET_RX_DESC_SECURITY_8197F(__pRxDesc)    GET_RX_DESC_SECURITY(__pRxDesc)
#define GET_RX_DESC_DRV_INFO_SIZE_8197F(__pRxDesc)    GET_RX_DESC_DRV_INFO_SIZE(__pRxDesc)
#define GET_RX_DESC_ICV_ERR_8197F(__pRxDesc)    GET_RX_DESC_ICV_ERR(__pRxDesc)
#define GET_RX_DESC_CRC32_8197F(__pRxDesc)    GET_RX_DESC_CRC32(__pRxDesc)
#define GET_RX_DESC_PKT_LEN_8197F(__pRxDesc)    GET_RX_DESC_PKT_LEN(__pRxDesc)

/*RXDESC_WORD1*/

#define GET_RX_DESC_BC_8197F(__pRxDesc)    GET_RX_DESC_BC(__pRxDesc)
#define GET_RX_DESC_MC_8197F(__pRxDesc)    GET_RX_DESC_MC(__pRxDesc)
#define GET_RX_DESC_TY_PE_8197F(__pRxDesc)    GET_RX_DESC_TY_PE(__pRxDesc)
#define GET_RX_DESC_MF_8197F(__pRxDesc)    GET_RX_DESC_MF(__pRxDesc)
#define GET_RX_DESC_MD_8197F(__pRxDesc)    GET_RX_DESC_MD(__pRxDesc)
#define GET_RX_DESC_PWR_8197F(__pRxDesc)    GET_RX_DESC_PWR(__pRxDesc)
#define GET_RX_DESC_PAM_8197F(__pRxDesc)    GET_RX_DESC_PAM(__pRxDesc)
#define GET_RX_DESC_CHK_VLD_8197F(__pRxDesc)    GET_RX_DESC_CHK_VLD(__pRxDesc)
#define GET_RX_DESC_RX_IS_TCP_UDP_8197F(__pRxDesc)    GET_RX_DESC_RX_IS_TCP_UDP(__pRxDesc)
#define GET_RX_DESC_RX_IPV_8197F(__pRxDesc)    GET_RX_DESC_RX_IPV(__pRxDesc)
#define GET_RX_DESC_CHKERR_8197F(__pRxDesc)    GET_RX_DESC_CHKERR(__pRxDesc)
#define GET_RX_DESC_PAGGR_8197F(__pRxDesc)    GET_RX_DESC_PAGGR(__pRxDesc)
#define GET_RX_DESC_RXID_MATCH_8197F(__pRxDesc)    GET_RX_DESC_RXID_MATCH(__pRxDesc)
#define GET_RX_DESC_AMSDU_8197F(__pRxDesc)    GET_RX_DESC_AMSDU(__pRxDesc)
#define GET_RX_DESC_MACID_VLD_8197F(__pRxDesc)    GET_RX_DESC_MACID_VLD(__pRxDesc)
#define GET_RX_DESC_TID_8197F(__pRxDesc)    GET_RX_DESC_TID(__pRxDesc)
#define GET_RX_DESC_EXT_SECTYPE_8197F(__pRxDesc)    GET_RX_DESC_EXT_SECTYPE(__pRxDesc)
#define GET_RX_DESC_MACID_8197F(__pRxDesc)    GET_RX_DESC_MACID(__pRxDesc)

/*RXDESC_WORD2*/

#define GET_RX_DESC_FCS_OK_8197F(__pRxDesc)    GET_RX_DESC_FCS_OK(__pRxDesc)
#define GET_RX_DESC_C2H_8197F(__pRxDesc)    GET_RX_DESC_C2H(__pRxDesc)
#define GET_RX_DESC_HWRSVD_8197F(__pRxDesc)    GET_RX_DESC_HWRSVD(__pRxDesc)
#define GET_RX_DESC_WLANHD_IV_LEN_8197F(__pRxDesc)    GET_RX_DESC_WLANHD_IV_LEN(__pRxDesc)
#define GET_RX_DESC_RX_IS_QOS_8197F(__pRxDesc)    GET_RX_DESC_RX_IS_QOS(__pRxDesc)
#define GET_RX_DESC_FRAG_8197F(__pRxDesc)    GET_RX_DESC_FRAG(__pRxDesc)
#define GET_RX_DESC_SEQ_8197F(__pRxDesc)    GET_RX_DESC_SEQ(__pRxDesc)

/*RXDESC_WORD3*/

#define GET_RX_DESC_MAGIC_WAKE_8197F(__pRxDesc)    GET_RX_DESC_MAGIC_WAKE(__pRxDesc)
#define GET_RX_DESC_UNICAST_WAKE_8197F(__pRxDesc)    GET_RX_DESC_UNICAST_WAKE(__pRxDesc)
#define GET_RX_DESC_PATTERN_MATCH_8197F(__pRxDesc)    GET_RX_DESC_PATTERN_MATCH(__pRxDesc)
#define GET_RX_DESC_DMA_AGG_NUM_8197F(__pRxDesc)    GET_RX_DESC_DMA_AGG_NUM(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_1_0_8197F(__pRxDesc)    GET_RX_DESC_BSSID_FIT_1_0(__pRxDesc)
#define GET_RX_DESC_EOSP_8197F(__pRxDesc)    GET_RX_DESC_EOSP(__pRxDesc)
#define GET_RX_DESC_HTC_8197F(__pRxDesc)    GET_RX_DESC_HTC(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_4_2_8197F(__pRxDesc)    GET_RX_DESC_BSSID_FIT_4_2(__pRxDesc)
#define GET_RX_DESC_RX_RATE_8197F(__pRxDesc)    GET_RX_DESC_RX_RATE(__pRxDesc)

/*RXDESC_WORD4*/

#define GET_RX_DESC_A1_FIT_8197F(__pRxDesc)    GET_RX_DESC_A1_FIT(__pRxDesc)
#define GET_RX_DESC_MACID_RPT_BUFF_8197F(__pRxDesc)    GET_RX_DESC_MACID_RPT_BUFF(__pRxDesc)
#define GET_RX_DESC_RX_PRE_NDP_VLD_8197F(__pRxDesc)    GET_RX_DESC_RX_PRE_NDP_VLD(__pRxDesc)
#define GET_RX_DESC_RX_SCRAMBLER_8197F(__pRxDesc)    GET_RX_DESC_RX_SCRAMBLER(__pRxDesc)
#define GET_RX_DESC_RX_EOF_8197F(__pRxDesc)    GET_RX_DESC_RX_EOF(__pRxDesc)
#define GET_RX_DESC_PATTERN_IDX_8197F(__pRxDesc)    GET_RX_DESC_PATTERN_IDX(__pRxDesc)

/*RXDESC_WORD5*/

#define GET_RX_DESC_TSFL_8197F(__pRxDesc)    GET_RX_DESC_TSFL(__pRxDesc)

#endif

#if (HALMAC_8821C_SUPPORT)

/*RXDESC_WORD0*/

#define GET_RX_DESC_EOR_8821C(__pRxDesc)    GET_RX_DESC_EOR(__pRxDesc)
#define GET_RX_DESC_PHYPKTIDC_8821C(__pRxDesc)    GET_RX_DESC_PHYPKTIDC(__pRxDesc)
#define GET_RX_DESC_SWDEC_8821C(__pRxDesc)    GET_RX_DESC_SWDEC(__pRxDesc)
#define GET_RX_DESC_PHYST_8821C(__pRxDesc)    GET_RX_DESC_PHYST(__pRxDesc)
#define GET_RX_DESC_SHIFT_8821C(__pRxDesc)    GET_RX_DESC_SHIFT(__pRxDesc)
#define GET_RX_DESC_QOS_8821C(__pRxDesc)    GET_RX_DESC_QOS(__pRxDesc)
#define GET_RX_DESC_SECURITY_8821C(__pRxDesc)    GET_RX_DESC_SECURITY(__pRxDesc)
#define GET_RX_DESC_DRV_INFO_SIZE_8821C(__pRxDesc)    GET_RX_DESC_DRV_INFO_SIZE(__pRxDesc)
#define GET_RX_DESC_ICV_ERR_8821C(__pRxDesc)    GET_RX_DESC_ICV_ERR(__pRxDesc)
#define GET_RX_DESC_CRC32_8821C(__pRxDesc)    GET_RX_DESC_CRC32(__pRxDesc)
#define GET_RX_DESC_PKT_LEN_8821C(__pRxDesc)    GET_RX_DESC_PKT_LEN(__pRxDesc)

/*RXDESC_WORD1*/

#define GET_RX_DESC_BC_8821C(__pRxDesc)    GET_RX_DESC_BC(__pRxDesc)
#define GET_RX_DESC_MC_8821C(__pRxDesc)    GET_RX_DESC_MC(__pRxDesc)
#define GET_RX_DESC_TY_PE_8821C(__pRxDesc)    GET_RX_DESC_TY_PE(__pRxDesc)
#define GET_RX_DESC_MF_8821C(__pRxDesc)    GET_RX_DESC_MF(__pRxDesc)
#define GET_RX_DESC_MD_8821C(__pRxDesc)    GET_RX_DESC_MD(__pRxDesc)
#define GET_RX_DESC_PWR_8821C(__pRxDesc)    GET_RX_DESC_PWR(__pRxDesc)
#define GET_RX_DESC_PAM_8821C(__pRxDesc)    GET_RX_DESC_PAM(__pRxDesc)
#define GET_RX_DESC_CHK_VLD_8821C(__pRxDesc)    GET_RX_DESC_CHK_VLD(__pRxDesc)
#define GET_RX_DESC_RX_IS_TCP_UDP_8821C(__pRxDesc)    GET_RX_DESC_RX_IS_TCP_UDP(__pRxDesc)
#define GET_RX_DESC_RX_IPV_8821C(__pRxDesc)    GET_RX_DESC_RX_IPV(__pRxDesc)
#define GET_RX_DESC_CHKERR_8821C(__pRxDesc)    GET_RX_DESC_CHKERR(__pRxDesc)
#define GET_RX_DESC_PAGGR_8821C(__pRxDesc)    GET_RX_DESC_PAGGR(__pRxDesc)
#define GET_RX_DESC_RXID_MATCH_8821C(__pRxDesc)    GET_RX_DESC_RXID_MATCH(__pRxDesc)
#define GET_RX_DESC_AMSDU_8821C(__pRxDesc)    GET_RX_DESC_AMSDU(__pRxDesc)
#define GET_RX_DESC_MACID_VLD_8821C(__pRxDesc)    GET_RX_DESC_MACID_VLD(__pRxDesc)
#define GET_RX_DESC_TID_8821C(__pRxDesc)    GET_RX_DESC_TID(__pRxDesc)
#define GET_RX_DESC_EXT_SECTYPE_8821C(__pRxDesc)    GET_RX_DESC_EXT_SECTYPE(__pRxDesc)
#define GET_RX_DESC_MACID_8821C(__pRxDesc)    GET_RX_DESC_MACID(__pRxDesc)

/*RXDESC_WORD2*/

#define GET_RX_DESC_FCS_OK_8821C(__pRxDesc)    GET_RX_DESC_FCS_OK(__pRxDesc)
#define GET_RX_DESC_PPDU_CNT_8821C(__pRxDesc)    GET_RX_DESC_PPDU_CNT(__pRxDesc)
#define GET_RX_DESC_C2H_8821C(__pRxDesc)    GET_RX_DESC_C2H(__pRxDesc)
#define GET_RX_DESC_HWRSVD_8821C(__pRxDesc)    GET_RX_DESC_HWRSVD(__pRxDesc)
#define GET_RX_DESC_WLANHD_IV_LEN_8821C(__pRxDesc)    GET_RX_DESC_WLANHD_IV_LEN(__pRxDesc)
#define GET_RX_DESC_RX_IS_QOS_8821C(__pRxDesc)    GET_RX_DESC_RX_IS_QOS(__pRxDesc)
#define GET_RX_DESC_FRAG_8821C(__pRxDesc)    GET_RX_DESC_FRAG(__pRxDesc)
#define GET_RX_DESC_SEQ_8821C(__pRxDesc)    GET_RX_DESC_SEQ(__pRxDesc)

/*RXDESC_WORD3*/

#define GET_RX_DESC_MAGIC_WAKE_8821C(__pRxDesc)    GET_RX_DESC_MAGIC_WAKE(__pRxDesc)
#define GET_RX_DESC_UNICAST_WAKE_8821C(__pRxDesc)    GET_RX_DESC_UNICAST_WAKE(__pRxDesc)
#define GET_RX_DESC_PATTERN_MATCH_8821C(__pRxDesc)    GET_RX_DESC_PATTERN_MATCH(__pRxDesc)
#define GET_RX_DESC_RXPAYLOAD_MATCH_8821C(__pRxDesc)    GET_RX_DESC_RXPAYLOAD_MATCH(__pRxDesc)
#define GET_RX_DESC_RXPAYLOAD_ID_8821C(__pRxDesc)    GET_RX_DESC_RXPAYLOAD_ID(__pRxDesc)
#define GET_RX_DESC_DMA_AGG_NUM_8821C(__pRxDesc)    GET_RX_DESC_DMA_AGG_NUM(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_1_0_8821C(__pRxDesc)    GET_RX_DESC_BSSID_FIT_1_0(__pRxDesc)
#define GET_RX_DESC_EOSP_8821C(__pRxDesc)    GET_RX_DESC_EOSP(__pRxDesc)
#define GET_RX_DESC_HTC_8821C(__pRxDesc)    GET_RX_DESC_HTC(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_4_2_8821C(__pRxDesc)    GET_RX_DESC_BSSID_FIT_4_2(__pRxDesc)
#define GET_RX_DESC_RX_RATE_8821C(__pRxDesc)    GET_RX_DESC_RX_RATE(__pRxDesc)

/*RXDESC_WORD4*/

#define GET_RX_DESC_A1_FIT_8821C(__pRxDesc)    GET_RX_DESC_A1_FIT(__pRxDesc)
#define GET_RX_DESC_MACID_RPT_BUFF_8821C(__pRxDesc)    GET_RX_DESC_MACID_RPT_BUFF(__pRxDesc)
#define GET_RX_DESC_RX_PRE_NDP_VLD_8821C(__pRxDesc)    GET_RX_DESC_RX_PRE_NDP_VLD(__pRxDesc)
#define GET_RX_DESC_RX_SCRAMBLER_8821C(__pRxDesc)    GET_RX_DESC_RX_SCRAMBLER(__pRxDesc)
#define GET_RX_DESC_RX_EOF_8821C(__pRxDesc)    GET_RX_DESC_RX_EOF(__pRxDesc)
#define GET_RX_DESC_PATTERN_IDX_8821C(__pRxDesc)    GET_RX_DESC_PATTERN_IDX(__pRxDesc)

/*RXDESC_WORD5*/

#define GET_RX_DESC_TSFL_8821C(__pRxDesc)    GET_RX_DESC_TSFL(__pRxDesc)

#endif

#if (HALMAC_8188F_SUPPORT)

/*RXDESC_WORD0*/

#define GET_RX_DESC_EOR_8188F(__pRxDesc)    GET_RX_DESC_EOR(__pRxDesc)
#define GET_RX_DESC_PHYPKTIDC_8188F(__pRxDesc)    GET_RX_DESC_PHYPKTIDC(__pRxDesc)
#define GET_RX_DESC_SWDEC_8188F(__pRxDesc)    GET_RX_DESC_SWDEC(__pRxDesc)
#define GET_RX_DESC_PHYST_8188F(__pRxDesc)    GET_RX_DESC_PHYST(__pRxDesc)
#define GET_RX_DESC_SHIFT_8188F(__pRxDesc)    GET_RX_DESC_SHIFT(__pRxDesc)
#define GET_RX_DESC_QOS_8188F(__pRxDesc)    GET_RX_DESC_QOS(__pRxDesc)
#define GET_RX_DESC_SECURITY_8188F(__pRxDesc)    GET_RX_DESC_SECURITY(__pRxDesc)
#define GET_RX_DESC_DRV_INFO_SIZE_8188F(__pRxDesc)    GET_RX_DESC_DRV_INFO_SIZE(__pRxDesc)
#define GET_RX_DESC_ICV_ERR_8188F(__pRxDesc)    GET_RX_DESC_ICV_ERR(__pRxDesc)
#define GET_RX_DESC_CRC32_8188F(__pRxDesc)    GET_RX_DESC_CRC32(__pRxDesc)
#define GET_RX_DESC_PKT_LEN_8188F(__pRxDesc)    GET_RX_DESC_PKT_LEN(__pRxDesc)

/*RXDESC_WORD1*/

#define GET_RX_DESC_BC_8188F(__pRxDesc)    GET_RX_DESC_BC(__pRxDesc)
#define GET_RX_DESC_MC_8188F(__pRxDesc)    GET_RX_DESC_MC(__pRxDesc)
#define GET_RX_DESC_TY_PE_8188F(__pRxDesc)    GET_RX_DESC_TY_PE(__pRxDesc)
#define GET_RX_DESC_MF_8188F(__pRxDesc)    GET_RX_DESC_MF(__pRxDesc)
#define GET_RX_DESC_MD_8188F(__pRxDesc)    GET_RX_DESC_MD(__pRxDesc)
#define GET_RX_DESC_PWR_8188F(__pRxDesc)    GET_RX_DESC_PWR(__pRxDesc)
#define GET_RX_DESC_PAM_8188F(__pRxDesc)    GET_RX_DESC_PAM(__pRxDesc)
#define GET_RX_DESC_CHK_VLD_8188F(__pRxDesc)    GET_RX_DESC_CHK_VLD(__pRxDesc)
#define GET_RX_DESC_RX_IS_TCP_UDP_8188F(__pRxDesc)    GET_RX_DESC_RX_IS_TCP_UDP(__pRxDesc)
#define GET_RX_DESC_RX_IPV_8188F(__pRxDesc)    GET_RX_DESC_RX_IPV(__pRxDesc)
#define GET_RX_DESC_CHKERR_8188F(__pRxDesc)    GET_RX_DESC_CHKERR(__pRxDesc)
#define GET_RX_DESC_PAGGR_8188F(__pRxDesc)    GET_RX_DESC_PAGGR(__pRxDesc)
#define GET_RX_DESC_RXID_MATCH_8188F(__pRxDesc)    GET_RX_DESC_RXID_MATCH(__pRxDesc)
#define GET_RX_DESC_AMSDU_8188F(__pRxDesc)    GET_RX_DESC_AMSDU(__pRxDesc)
#define GET_RX_DESC_MACID_VLD_8188F(__pRxDesc)    GET_RX_DESC_MACID_VLD(__pRxDesc)
#define GET_RX_DESC_TID_8188F(__pRxDesc)    GET_RX_DESC_TID(__pRxDesc)
#define GET_RX_DESC_MACID_8188F(__pRxDesc)    GET_RX_DESC_MACID(__pRxDesc)

/*RXDESC_WORD2*/

#define GET_RX_DESC_FCS_OK_8188F(__pRxDesc)    GET_RX_DESC_FCS_OK(__pRxDesc)
#define GET_RX_DESC_C2H_8188F(__pRxDesc)    GET_RX_DESC_C2H(__pRxDesc)
#define GET_RX_DESC_HWRSVD_8188F(__pRxDesc)    GET_RX_DESC_HWRSVD(__pRxDesc)
#define GET_RX_DESC_WLANHD_IV_LEN_8188F(__pRxDesc)    GET_RX_DESC_WLANHD_IV_LEN(__pRxDesc)
#define GET_RX_DESC_RX_IS_QOS_8188F(__pRxDesc)    GET_RX_DESC_RX_IS_QOS(__pRxDesc)
#define GET_RX_DESC_FRAG_8188F(__pRxDesc)    GET_RX_DESC_FRAG(__pRxDesc)
#define GET_RX_DESC_SEQ_8188F(__pRxDesc)    GET_RX_DESC_SEQ(__pRxDesc)

/*RXDESC_WORD3*/

#define GET_RX_DESC_MAGIC_WAKE_8188F(__pRxDesc)    GET_RX_DESC_MAGIC_WAKE(__pRxDesc)
#define GET_RX_DESC_UNICAST_WAKE_8188F(__pRxDesc)    GET_RX_DESC_UNICAST_WAKE(__pRxDesc)
#define GET_RX_DESC_PATTERN_MATCH_8188F(__pRxDesc)    GET_RX_DESC_PATTERN_MATCH(__pRxDesc)
#define GET_RX_DESC_DMA_AGG_NUM_8188F(__pRxDesc)    GET_RX_DESC_DMA_AGG_NUM(__pRxDesc)
#define GET_RX_DESC_BSSID_FIT_1_0_8188F(__pRxDesc)    GET_RX_DESC_BSSID_FIT_1_0(__pRxDesc)
#define GET_RX_DESC_EOSP_8188F(__pRxDesc)    GET_RX_DESC_EOSP(__pRxDesc)
#define GET_RX_DESC_HTC_8188F(__pRxDesc)    GET_RX_DESC_HTC(__pRxDesc)
#define GET_RX_DESC_RX_RATE_8188F(__pRxDesc)    GET_RX_DESC_RX_RATE(__pRxDesc)

/*RXDESC_WORD4*/

#define GET_RX_DESC_A1_FIT_8188F(__pRxDesc)    GET_RX_DESC_A1_FIT(__pRxDesc)
#define GET_RX_DESC_PATTERN_IDX_8188F(__pRxDesc)    GET_RX_DESC_PATTERN_IDX(__pRxDesc)

/*RXDESC_WORD5*/

#define GET_RX_DESC_TSFL_8188F(__pRxDesc)    GET_RX_DESC_TSFL(__pRxDesc)

#endif


#endif

