--- /dev/null
+#ifndef __HAL_TXBF_INTERFACE_H__\r
+#define __HAL_TXBF_INTERFACE_H__\r
+\r
+#if (BEAMFORMING_SUPPORT == 1)\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+VOID\r
+Beamforming_GidPAid(\r
+ PADAPTER Adapter,\r
+ PRT_TCB pTcb\r
+ );\r
+\r
+RT_STATUS\r
+Beamforming_GetReportFrame(\r
+ IN PADAPTER Adapter,\r
+ IN PRT_RFD pRfd,\r
+ IN POCTET_STRING pPduOS\r
+ );\r
+\r
+VOID\r
+Beamforming_GetNDPAFrame(\r
+ IN PVOID pDM_VOID,\r
+ IN OCTET_STRING pduOS\r
+ );\r
+\r
+BOOLEAN\r
+SendFWHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendFWVHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN u2Byte AID,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendSWVHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN u2Byte AID,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendSWHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+#ifdef SUPPORT_MU_BF\r
+#if (SUPPORT_MU_BF == 1)\r
+RT_STATUS\r
+Beamforming_GetVHTGIDMgntFrame(\r
+ IN PADAPTER Adapter,\r
+ IN PRT_RFD pRfd,\r
+ IN POCTET_STRING pPduOS\r
+ );\r
+\r
+BOOLEAN\r
+SendSWVHTGIDMgntFrame(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN u1Byte Idx\r
+ );\r
+\r
+BOOLEAN\r
+SendSWVHTBFReportPoll(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN BOOLEAN bFinalPoll\r
+ );\r
+\r
+BOOLEAN\r
+SendSWVHTMUNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+#else\r
+#define Beamforming_GetVHTGIDMgntFrame(Adapter, pRfd, pPduOS) RT_STATUS_FAILURE\r
+#define SendSWVHTGIDMgntFrame(pDM_VOID, RA)\r
+#define SendSWVHTBFReportPoll(pDM_VOID, RA, bFinalPoll)\r
+#define SendSWVHTMUNDPAPacket(pDM_VOID, BW)\r
+#endif\r
+#endif\r
+\r
+\r
+#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)\r
+\r
+u4Byte\r
+Beamforming_GetReportFrame(\r
+ IN PVOID pDM_VOID,\r
+ union recv_frame *precv_frame\r
+ );\r
+\r
+BOOLEAN\r
+SendFWHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendSWHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendFWVHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN u2Byte AID,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+\r
+BOOLEAN\r
+SendSWVHTNDPAPacket(\r
+ IN PVOID pDM_VOID,\r
+ IN pu1Byte RA,\r
+ IN u2Byte AID,\r
+ IN CHANNEL_WIDTH BW\r
+ );\r
+#endif\r
+\r
+VOID\r
+Beamforming_GetNDPAFrame(\r
+ IN PVOID pDM_VOID,\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+ IN OCTET_STRING pduOS\r
+#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)\r
+ union recv_frame *precv_frame\r
+#endif\r
+);\r
+\r
+#else\r
+#define Beamforming_GetNDPAFrame(pDM_Odm, _PduOS)\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_CE)\r
+#define Beamforming_GetReportFrame(Adapter, precv_frame) RT_STATUS_FAILURE\r
+#elif (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+#define Beamforming_GetReportFrame(Adapter, pRfd, pPduOS) RT_STATUS_FAILURE\r
+#define Beamforming_GetVHTGIDMgntFrame(Adapter, pRfd, pPduOS) RT_STATUS_FAILURE\r
+#endif\r
+#define SendFWHTNDPAPacket(pDM_VOID, RA, BW)\r
+#define SendSWHTNDPAPacket(pDM_VOID, RA, BW)\r
+#define SendFWVHTNDPAPacket(pDM_VOID, RA, AID, BW)\r
+#define SendSWVHTNDPAPacket(pDM_VOID, RA, AID, BW)\r
+#define SendSWVHTGIDMgntFrame(pDM_VOID, RA, idx)\r
+#define SendSWVHTBFReportPoll(pDM_VOID, RA, bFinalPoll)\r
+#define SendSWVHTMUNDPAPacket(pDM_VOID, BW)\r
+#endif\r
+\r
+#endif\r