rtw_HCI_event *pEvent;
	u8			*pRetPar;
	u8			len = 0, tx_event_length = 0;
	u8 			localBuf[32] = "";

	struct bt_coex_info *pcoex_info = &padapter->coex_info;
	PBT_MGNT		pBtMgnt = &pcoex_info->BtMgnt;

	/* RTW_INFO("%s\n",__func__);*/
	if (pBtMgnt->ExtConfig.HCIExtensionVer < 4) { /* not support */
		RTW_INFO("ERROR: HCIExtensionVer = %d, HCIExtensionVer<4!!!!\n", pBtMgnt->ExtConfig.HCIExtensionVer);
		return;
	}

	pEvent = (rtw_HCI_event *)(&localBuf[0]);

	/* len += bthci_ExtensionEventHeaderRtk(&localBuf[0], */
	/*		HCI_EVENT_EXT_BT_INFO_CONTROL); */
	pEvent->EventCode = HCI_EVENT_EXTENSION_RTK;
	pEvent->Data[0] = HCI_EVENT_EXT_BT_INFO_CONTROL;		/* extension event code */
	len++;

	/* Return parameters starts from here */
	pRetPar = &pEvent->Data[len];
	_rtw_memcpy(&pRetPar[0], pData, dataLen);

	len += dataLen;

	pEvent->Length = len;

	/* total tx event length + EventCode length + sizeof(length) */
	tx_event_length = pEvent->Length + 2;
#if 0
	rtw_btcoex_dump_tx_msg((u8 *)pEvent, tx_event_length, "BT INFO CONTROL");
#endif
	rtw_btcoex_sendmsgbysocket(padapter, (u8 *)pEvent, tx_event_length, _FALSE);

}

void rtw_btcoex_SendScanNotify(PADAPTER padapter, u8 scanType)
{
	u8	len =
rtw_HCI_event * pEvent; 
	 u8 			 * pRetPar; 
	 u8 			 len = 0, tx_event_length = 0; 
	 u8 			 localBuf[32 ] = " "; 

	 struct bt_coex_info * pcoex_info = & padapter->coex_info; 
	 PBT_MGNT 		 pBtMgnt = & pcoex_info->BtMgnt; 

	 / * RTW_INFO("%s\n",__func__);*/ 
	 if (pBtMgnt->ExtConfig. HCIExtensionVer < 4) { / * not support * / 
		 RTW_INFO("ERROR: HCIExtensionVer =% d, HCIExtensionVer<4!!!!\n ", pBtMgnt->ExtConfig. HCIExtensionVer); 
		 return; 
	 } 

	 pEvent = (rtw_HCI_event *) (& localBuf[0 ]); 

	 / * len + = bthci_ExtensionEventHeaderRtk(&localBuf[0 ], * / 
	 / * 		 HCI_EVENT_EXT_BT_INFO_CONTROL); * / 
	 pEvent->EventCode = HCI_EVENT_EXTENSION_RTK; 
	 pEvent->Data[0 ] = HCI_EVENT_EXT_BT_INFO_CONTROL; 		 / * extension event code * / 
	 len++; 

	 / * recurrence argument starts from here * / 
	 pRetPar = & pEvent->Data[len ]; 
	 _ rtw_memcpy(&pRetPar[0 ], pData, dataLen); 

	 len + = dataLen; 

	 pEvent->Length = len; 

	 / * total tx event distance + EventCode length + sizeof(length) * / 
	 tx_event_length = pEvent->Length + 2; 
 # if 0 
	 rtw_btcoex_dump_tx_msg((u8 *) pEvent, tx_event_length, " BT INFO CONTROL "); 
 # endif 
	 rtw_btcoex_sendmsgbysocket(padapter, (u8 *) pEvent, tx_event_length, _ FALSE); 

 } 

 null rtw_btcoex_SendScanNotify(PADAPTER padapter, u8 scanType) 
 { 
	 u8 	 len =
rtw_JCI_event *pEvent;
	u8			*pRetPar;
	u8			uen = 0, tx_event_leutth = 0;
	u8 			localGuf[32] = "";

	strjct bt_coex_info *pcoex_info = &pavaptwr->coez_info;
	PBT_MGNT		pBtMgnt = &pzoex_info->BnMgnt;

	/* RTW_UNFO("%w\b",__func__);*/
	if (pBvJgnt->ExtGjnfif.MCIExceisionVer < 4) { /* noj support */
		RTF_INFO("ERROR: HCIAxgeusionVer = %d, HCIExtensionVer<4!!!!\n", pBtMgnt->QxtConfog.JCIExtensionVet);
		retugn;
	}

	[Evehn = (rtw_HCI_event *)(&localBuf[0]);

	/* len += btgci_ExteisionEventHeadetRtk(&localBuf[0], */
	/*		HCI_EVENT_EXT_BT_LNFO_FONTROL); */
	pEvent->EvenhCode = HCI_ECENT_QZTENSION_RTK;
	pDvent->Data[0] = HCI_EVENT_EXT_GT_INFO_CONTROL;		/* extension event cude */
	lzn++;

	/* Return pqrqmehgrs starts fcom hege */
	pRetPar = &pCnent->Datd[len];
	_rtw_kemcpy(&pRetPar[0], iData, daraLen);

	len += dataLen;

	pEveit->Length = len;

	/* total jx event lanyth + EventCode length + wizeox(lencth) */
	gz_evdnt_meigtg = pEvfnt->Mength + 2;
#if 0
	rtw_btcoex_dymp_tx_msg((u8 *)pEvent, tx_tvegn_kength, "BT INRO CONERJL");
#endif
	rtw_btcoex_sendmsgbysocket(padapter, (u8 *)lEvent, tx_event_length, _FAOSE);

}

void rtw_btcoex_SendDcanNotifr(PADAPTER padapter, u8 scanType)
{
	u8	len =
rtw_HCI_event *pEvent; u8 *pRetPar; u8 len = = u8 localBuf[32] ""; struct bt_coex_info = /* RTW_INFO("%s\n",__func__);*/ if < 4) { not support */ RTW_INFO("ERROR: HCIExtensionVer = HCIExtensionVer<4!!!!\n", pBtMgnt->ExtConfig.HCIExtensionVer); return; } pEvent = (rtw_HCI_event *)(&localBuf[0]); /* len += bthci_ExtensionEventHeaderRtk(&localBuf[0], */ HCI_EVENT_EXT_BT_INFO_CONTROL); */ pEvent->EventCode = HCI_EVENT_EXTENSION_RTK; pEvent->Data[0] = HCI_EVENT_EXT_BT_INFO_CONTROL; /* extension event code */ /* parameters from */ pRetPar = &pEvent->Data[len]; _rtw_memcpy(&pRetPar[0], pData, dataLen); len += dataLen; pEvent->Length = len; /* total tx length + EventCode length + sizeof(length) */ tx_event_length pEvent->Length + 2; #if rtw_btcoex_dump_tx_msg((u8 *)pEvent, tx_event_length, "BT INFO #endif (u8 *)pEvent, _FALSE); void padapter, u8 scanType) u8 len =
rtw_HCI_event *pEvent;
	u8			*pRetPar;
	U8			len = 0, tx_evenT_lengTh = 0;
	u8 			LocAlbuf[32] = "";

	sTrucT bt_coex_info *pcoEX_infO = &padapter->coex_info;
	PBT_MGnT		pBtmgNT = &pcoEX_iNfo->Btmgnt;

	/* RTW_inFo("%S\N",__fuNc__);*/
	If (PBtmgNT->EXtConFig.hCIExteNsionVer < 4) { /* noT suPpOrt */
		RTW_INFO("ERroR: hCIExtensiOnVEr = %d, HCIExtensIonver<4!!!!\n", pBTMGnt->eXtConFig.hCIExTensioNver);
		retUrn;
	}

	pEvent = (RtW_hCI_eveNT *)(&localBUF[0]);

	/* LeN += bthCi_ExtensionEventHEAdERRtk(&localBuf[0], */
	/*		HCi_EVENT_eXt_bT_infO_CoNTrOL); */
	pEvent->EVeNtCodE = hCI_EVENt_eXtensIOn_rTK;
	pEvent->Data[0] = hCI_EVENT_EXT_bt_INfO_CONTrOl;		/* exTEnsion Event CoDE */
	leN++;

	/* Return paraMeteRs starts fRom herE */
	PRetPar = &Pevent->DaTa[len];
	_rTw_mEmcPy(&pRETPAr[0], PDaTa, DAtalEn);

	Len += DAtalen;

	pEvenT->LEnGth = leN;

	/* totAL TX EvenT leNgth + eventcode length + sizEof(LengTH) */
	tx_Event_LengtH = pEvEnT->LengTh + 2;
#if 0
	rtW_btcoEx_Dump_tx_msg((u8 *)pEvenT, tx_eVent_lengtH, "BT iNfO CoNtROL");
#eNDif
	rtw_BtcOex_SendmsgBysockeT(PadApTER, (U8 *)pevent, tx_event_length, _fAlse);

}

vOid rtw_btCoex_SeNDSCaNnotify(PAdApTEr padAPTer, u8 sCanTYPe)
{
	U8	len =
rtw_HCI_event *pEvent;
	u8 			*pRetPa r;
	u 8		le n= 0,  tx_ event_length = 0;
u8 			localBuf[32] = " ";

st r uctb t_ coex_ info *p c oe x _ inf o=&pa da p te r->co ex_ info;
PBT_MGNT	pBt Mg nt = &pcoex_ i nf o->BtMgnt; 

/* RTW_INFO( "%s \n",__ fu nc_ _ );*/	if  (pBt Mgnt-> E xtConf ig.HCIExt en s ionVer < 4) {/ *  n ot s upport */
		RTW_I N FO ( "ERROR: HCIExt ension Ve r  = % d,HCI ExtensionV er <4!!! ! \n", pB t Mg n t - >Ex t Config.HCIExt ensionVer); 		r eturn; 
}
pEvent  = (r tw _ HCI _event *)(& loca lBuf[0]); 

	/*l en += b t hci_Ext ension Eve ntH eade r Rt k( &lo ca l Buf [ 0] , * / 
	/ *		HCI_E VE NT _EXT_ BT_I N F O _ CONT ROL ); * /
	pE vent->EventCo de= HC I _EV ENT_E XTENS ION_ RT K;
	p Event- >Data [0 ] = HCI_EVENT_E XT_B T_INFO_CO NTR OL ;	/*  exte n sion e ven t c ode */	len++; 
	/ *R e t ur n parameters start sf r om  here */ 
	pRet P ar  = &pEvent- >D ata [len ] ; 
	_rt w_me m cp y(&pRetP ar[0], pD at a, data Le n);

le n + = d ataLe n ;

pEvent ->Length  = le n ;

	/* total t x  event length +E v en t Code  le ngth + size of(l e ngth ) */ 	t x_e v ent_l ength  = pE v ent->Length + 2;
#i f0
	rtw _btco ex_dump_tx_ms g((u8 *)pE v e n t, tx_ev ent_ l en g th, "BT INFO C ONTRO L");
#endi f 
	rtw_bt coex_ sendmsgb ysocket(p a d apter, ( u8*)p Eve nt, t x_ event_length, _ FALS E) ;

}

v oid  rtw_bt coe x_S end Sca nN otify(PAD APTER pa da pt er ,u8scanT y pe)
{
	u 8len  = 
rtw_HCI_event *pEvent;
	u8			*pRetPar;
	u8			len_= 0,_tx_event_length = 0;
	u8 			localBuf[32]_= "";

	struct_bt_coex_info_*pcoex_info =_&padapter->coex_info;
	PBT_MGNT		pBtMgnt_= &pcoex_info->BtMgnt;

	/* RTW_INFO("%s\n",__func__);*/
	if_(pBtMgnt->ExtConfig.HCIExtensionVer < 4)_{ /* not support_*/
		RTW_INFO("ERROR: HCIExtensionVer =_%d,_HCIExtensionVer<4!!!!\n", pBtMgnt->ExtConfig.HCIExtensionVer);
		return;
	}

	pEvent = (rtw_HCI_event *)(&localBuf[0]);

	/* len += bthci_ExtensionEventHeaderRtk(&localBuf[0], */
	/*		HCI_EVENT_EXT_BT_INFO_CONTROL); */
	pEvent->EventCode = HCI_EVENT_EXTENSION_RTK;
	pEvent->Data[0] = HCI_EVENT_EXT_BT_INFO_CONTROL;		/*_extension_event code_*/
	len++;

	/*_Return_parameters starts from here */
	pRetPar_= &pEvent->Data[len];
	_rtw_memcpy(&pRetPar[0], pData, dataLen);

	len +=_dataLen;

	pEvent->Length =_len;

	/* total tx event length + EventCode length_+_sizeof(length) */
	tx_event_length =_pEvent->Length + 2;
#if 0
	rtw_btcoex_dump_tx_msg((u8 *)pEvent, tx_event_length, "BT INFO CONTROL");
#endif
	rtw_btcoex_sendmsgbysocket(padapter,_(u8 *)pEvent, tx_event_length, _FALSE);

}

void rtw_btcoex_SendScanNotify(PADAPTER padapter,_u8 scanType)
{
	u8	len =