亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hcieventpacketproc.cpp

?? 藍(lán)牙協(xié)議HCI層指令發(fā)送,主要用于測(cè)試HCI以下的代碼及RF部分測(cè)試.
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
//--------------------------------------------------------------- %FILH_BEG% --
//
//  Project:		$$ProjectName
//
//  File name:		HCIEventPacketProc.cpp		
//
//  Author:			 
//  Description:	  
//
//  Revision History:
//  $Log: $
//
//  rev 1.13 06/14/01  EK  .Modified InquiryCompleteEvent() to comply with BlueTooth Spec 1.1
//                         .Display Line numbers for USB Console. 
//  rev 1.12 05/08/01  EK  .Added timestamp routine to DebugInformationEvent() function to report
//                          it in the following format : hhh:mm:ss_mmm:uuu
//                         .Added ConLineCounter as Line counter to the console output
//  rev 1.11 04/23/01  Ek  .Changed ReturnLinkKeysEvent() to report all stored link keys in the target
//  rev 1.10 03/22/01  Ek  .Modified LinkKeyRequestevent() and PInCodeRequestEvent()
//                          Use CallTransmit() to send the command because of problem sending
//                          the same command (same BD_Addr)to different Units.Since we don't 
//                          use dialog box for entries there is No need to use DoModal().
//  rev 1.09 01/24/01  Ek  .Added following parameters to CommandCompleteEvent :
//                          UartTl Header, ParamLength, Command OpCode
//  rev 1.08 12/13/00  Ek  .Remove \r from debug information for event type 00 in DebugInformationEvent()
//  rev 1.07 11/10/00  Ek  .Commented out pHCICommandTable[Index].CmdRetParamFunction for Status Display
//  rev 1.06 10/16/00  Ek  .Parsing Following Events
//                          PinCodeRequestEvent	,LinkKeyRequestEvent
//                          LinkKeyNotificationEvent,LoopbackCommandEvent
//                          DataBufferOverflowEvent
//                          MaxSlotsChangeEvent
//                          ChangeConnectionPacketTypeEvent
//                          QosViolationEvent
//                          PageScanRepeatationModeChangeEvent
//     
//  rev 1.05 10/13/00  Ek  .Parsing Inquiry Complete Event , Inquiry Result Event and
//                          Connection complete Event, Connection request Event
//							AuthenticationCompleteEvent,EncryptionChangeEvent
//                          ChangeConnectionLinkKeyCompleteEvent
//                          MasterLinkKeyCompleteEvent
//                          ReadRemoteSupportedFeaturesCompleteEvent
//                          ReadRemoteVersionInformationCompleteEvent
//                          QosSetupCompleteEvent,FlushOccuredEvent	,HardwareErrorEvent,
//                          NumberOfCompletedPacketsEvent
//                          ReturnLinkKeysEvent
//           10/06/00  Ek  .Added DebugInformationEvent function to the list.
//                          Need to ask Charles to Add \r\n [0x0D,0x0A]
//                          (Carriage return First)	in Firmware.
//  rev 1.04 09/14/00  Ek  Added Switch_Role to the list of Link policy Commands 
//                         along with the Role change Event parsing.
//  rev 1.03 09/13/00  Ek  Added Hold Mode to the list of Link policy Commands 
//                         along with the Mode change Event parsing.
//  rev 1.02 09/12/00  EK  Implemneted RemoteNameRequestCompleteEvent() function					 
//  Rev 1.01 07/21/00  EK  CmdType range is from (1 to 6) to fix "Vendor specific Commands"
//  Rev 1.00  15 July 2000 Initial release
//    
//
//  Copyright (c) TelenComm Corporation  2000   -   All rights reserved    
//--------------------------------------------------------------- %FILH_END% 

#include <string.h>
#include <stdio.h>

#include "..\..\..\stdafx.h"
#include "..\..\..\BTHost.h"

#include "..\..\Common\common.h"
#include "..\..\Inc\HCIError.h"
#include "..\..\Inc\HCIProc.h"
//#include "HCIErrorStrTable.h"
#include "..\..\Commands\Inc\HCIBaseCmdProc.h"
#include "..\Inc\HCIEventPacket.h"
#include "..\Inc\HCIEventFormFunctions.h"
#include "..\Inc\HCIEventProcFunctions.h"
#include "..\..\..\Comm\SerialCommunication.h"
#include "..\..\..\ConectionReqDlg.h"
#include "..\..\..\TextConsoleDlg1.h"
#include "..\..\..\LinkKeyPinCodeReq.h"
#include "..\..\..\PinCodeRequest.h"

#define REMOTE_NAME_SIZE		248
#define TS_LOGM_TEXT_MAX_SIZE	16
#define TS_LOGM_MAX_DATA_SIZE	24

extern UINT g_ComPortFlag;	// Used for Serial or USB device Selection
extern bool	g_TargetAssert;
extern int	iCurPort1;
extern int	iCurPort2;
int ConLineCounter[2];
//------------------------------------------------------------------------------
//
//  5.2.1 Inquiry Complete Event
//
//------------------------------------------------------------------------------
//BTLogicalIODevice* g_pBTLogicalIODevice;
struct sConnectedDeviceList
{
  tConnectionHandle  ConnectionHandle;
  sBD_ADDR        sDevAddr;
  tLINK_TYPE      tLinkType;
  tENCRYPTION_MODE    tEncryptionMode;
};

sConnectedDeviceList g_sConnectedDeviceList[10];
int g_ConnectedDeviceListNo=0;

uint8    HCI_EventsInterfaceProcFunctions::InquiryCompleteEvent(CHCI_EventPacket& rHCI_EventPacket)/*teHCI_EVENT_ERROR_CODE teStatus,uint8 u8NumResponses )*/
{
  CString Temp;
  CString EventCode;
  CString StatusStr;
  CString NumRes;
  CString ParamStr;
  char ErrorDef[40];
  sInquiryCompleteEvent* psInqComEvent;

  psInqComEvent = (sInquiryCompleteEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format     ("\tEvent Code:                  [1]  %s\n", Temp );  

  if(psInqComEvent->Status ){
	g_pChildFrame->ErrorDef((char *)(&psInqComEvent->Status), ErrorDef); 
    Temp.Format ("%.2X   - %s", psInqComEvent->Status, ErrorDef);
  }else
    Temp.Format ("%.2X",psInqComEvent->Status );

  StatusStr.Format        ("\tStatus:                      [1]  %s\n", Temp ); 
  Temp.Empty();

  ParamStr = StatusStr ; 
			 
  g_pChildFrame->ParamListForOutput(ParamStr);

  return true;
 }

  //struct sInquiryResultEvent
  //{
  // uint8                NumResponses;					// 1 Byte
  // sBD_ADDR             asDevAddr;					// 6 Bytes  [i]
  // uint8                atPageScanRepetitionMode;		// 1 Byte   [i]	  ePageScanRepMode{}
  // tPAGE_SCAN_PERIOD_MODE    atPageScanPeriodMode;	// 1 Byte   [i]
  // uint8                atPageScanMode;				// 1 Byte   [i]	  ePageScanMode{}
  // sCLASS_OF_DEVICE     asClassOfDevice;				// 3 Bytes  [i]
  // tCLOCK_OFFSET        atClockOffset;				// 2 Bytes  [i]
  //} 

uint8    HCI_EventsInterfaceProcFunctions::InquiryResultEvent(CHCI_EventPacket& rHCI_EventPacket)

{

  CString Temp; int n;
  CString EventCode;
  CString NumRes;
  CString BD_ADDR;
  CString PageScanRepMode;	
  CString PageScanPeriodMode;
  CString PageScanMode;			
  CString ClassOfDevice;			
  CString ClockOffset;			
  CString ParamStr;
  char buf1[20] = {'\0'};
  char buf2[20] = {'\0'};

  sInquiryResultEvent* psInquiryRes;
  psInquiryRes = (sInquiryResultEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format     ("\tEvent Code:                  [1]  %s\n", Temp );  

  Temp.Format ("%.2X", psInquiryRes->NUM_RESPONSES);  
  NumRes.Format        ("\tNum_Responses:               [%d]  %s\n",sizeof(psInquiryRes->NUM_RESPONSES), Temp ); 
  Temp.Empty();

  BT_itoa(&psInquiryRes->asDevAddr ,6, buf1);
  BT_ReverseStr(buf1, buf2); 
  Temp.Format ("%s", buf2);  n = Temp.GetLength(); 
  BD_ADDR.Format       ("\tBD_ADDR:                     [%d]  %s\n",sizeof(psInquiryRes->asDevAddr), Temp );

  Temp.Empty();
  Temp.Format ("%.2X", psInquiryRes->atPageScanRepetitionMode); 
  PageScanRepMode.Format("\tPageScanRepetitionMode:      [%d]  %s\n",sizeof(psInquiryRes->atPageScanRepetitionMode), Temp ); 

  Temp.Empty();
  Temp.Format ("%.2X", psInquiryRes->atPageScanPeriodMode);  
  PageScanPeriodMode.Format("\tPageScanPeriodMode:          [%d]  %s\n",sizeof(psInquiryRes->atPageScanPeriodMode), Temp ); 
  
  Temp.Empty();
  Temp.Format ("%.2X", psInquiryRes->atPageScanMode);  
  PageScanMode.Format  ("\tPageScanMode:                [%d]  %s\n",sizeof(psInquiryRes->atPageScanMode), Temp ); 

  Temp.Empty();	
  for(int i = 0; i < 20; i++)  buf1[i] = buf2[i] = '\0';

  BT_itoa(&psInquiryRes->asClassOfDevice ,3, buf1);
  BT_ReverseStr(buf1, buf2); 

  Temp.Format ("%s", buf2); 
  ClassOfDevice.Format ("\tClassOfDevice:               [%d]  %s\n",sizeof(psInquiryRes->asClassOfDevice), Temp );
  
  Temp.Empty();
  Temp.Format ("%.4X", psInquiryRes->atClockOffset);  
  ClockOffset.Format   ("\tClockOffset:                 [%d]  %s\n",sizeof(psInquiryRes->atClockOffset), Temp ); 

  ParamStr = EventCode + NumRes+ BD_ADDR+ PageScanRepMode + PageScanPeriodMode + PageScanMode + ClassOfDevice + ClockOffset; 

  Temp.Format("InquiryResult completion status: Completed\n");
  g_pChildFrame->ParamListForOutput(Temp);
  g_pChildFrame->ParamListForOutput(ParamStr);

  return true;
}

// struct sConnectionCompleteEvent
//  { 
//    uint8				Status;
//    tConnectionHandle   ConnectionHandle;
//    sBD_ADDR			sDevAddr;
//    tLINK_TYPE			tLinkType;
//    tENCRYPTION_MODE    tEncryptionMode;
//  };

uint8    HCI_EventsInterfaceProcFunctions::ConnectionCompleteEvent(CHCI_EventPacket& rHCI_EventPacket)
{
  CString Temp; int n;
  CString EventCode;
  CString Status;
  CString ConHandle;
  CString LinkType;
  CString EncMode;
  CString BD_ADDR;
  CString ParamStr;
  char buf1[20] = {'\0'}, buf2[20] = {'\0'};
  char ErrorDef[40] = {'\0'};

  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();
  sConnectionCompleteEvent*  psConnection = (sConnectionCompleteEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format     ("\tEvent Code:                  [1]  %s\n", Temp );  

  if(psConnection->Status) {
    g_pChildFrame->ErrorDef((char *)(&psConnection->Status), ErrorDef); 
 	Temp.Format ("%.2X   - %s",psConnection->Status , ErrorDef);
  }else
    Temp.Format ("%.2X",psConnection->Status);  

  Status.Format        ("\tStatus:                      [1]  %s\n", Temp ); 
  Temp.Empty();

  Temp.Empty();
  Temp.Format ("%.4X", psConnection->ConnectionHandle);  
  ConHandle.Format     ("\tConnection Handle:           [%d]  %s\n",sizeof(psConnection->ConnectionHandle), Temp ); 

  BT_itoa(&psConnection->sDevAddr ,6, buf1);
  BT_ReverseStr(buf1, buf2);
  Temp.Format ("%s", buf2);  n = Temp.GetLength(); 
  BD_ADDR.Format       ("\tBD_ADDR:                     [%d]  %s\n",sizeof(psConnection->sDevAddr), Temp );

  Temp.Empty();
  Temp.Format ("%.2X", psConnection->tLinkType);  
  LinkType.Format      ("\tLink_Type:                   [%d]  %s\n",sizeof(psConnection->tLinkType), Temp ); 

  Temp.Empty();
  Temp.Format ("%.2X", psConnection->tEncryptionMode);  
  EncMode.Format       ("\tEncryption Mode:             [%d]  %s\n",sizeof(psConnection->tEncryptionMode), Temp ); 

  ParamStr = Status + ConHandle + BD_ADDR + LinkType + EncMode;
  g_pChildFrame->ParamListForOutput(ParamStr);

  return true;
}

uint8    HCI_EventsInterfaceProcFunctions::ConnectionRequestEvent(CHCI_EventPacket& rHCI_EventPacket)
{

  CString Temp; int n;
  CString EventCode;
  CString LinkType;
  CString ClassOfDevice;
  CString BD_ADDR;
  CString ParamStr, str;
  char buf1[15] = {'\0'},buf2[20] = {'\0'},buf3[10] = {'\0'};

  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  sConnectionRequestEventParams* psConnectionRequestEventParams = (sConnectionRequestEventParams*)rHCI_EventPacket.GetHCI_EventPacketParam();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format     ("\tEvent Code:                  [1]  %s\n", Temp );  
  
  BT_itoa(&psConnectionRequestEventParams->sDevAddr ,6, buf1);
  BT_ReverseStr(buf1, buf2);

  Temp.Format ("%s", buf2);   
  BD_ADDR.Format       ("\tBD_ADDR:                     [%d]  %s\n",sizeof(psConnectionRequestEventParams->sDevAddr), Temp );

  for(int i = 0; i < 15; i++)  buf1[i] = '\0';
  for(    i = 0; i < 20; i++)  buf2[i] = '\0';

  BT_itoa(&psConnectionRequestEventParams->sClassOfDevice ,3, buf1);
  BT_ReverseStr(buf1, buf2);

  Temp.Format ("%s", buf2);  n = Temp.GetLength(); 
  ClassOfDevice.Format ("\tClassOfDevice:               [%d]  %s\n",sizeof(psConnectionRequestEventParams->sClassOfDevice), Temp );

  BT_itoa(&psConnectionRequestEventParams->tLinkType ,1, buf3);
  Temp.Format ("%s", buf3);  n = Temp.GetLength(); 
  LinkType.Format      ("\tLinkType:                    [%d]  %s\n",sizeof(psConnectionRequestEventParams->tLinkType), Temp );
  
  str.Format("\t%s\n","Received connection request from the following device:");

  ParamStr = str + BD_ADDR + ClassOfDevice + LinkType;
  g_pChildFrame->ParamListForOutput(ParamStr);
 
  CConectionReqDlg ReqDlg(psConnectionRequestEventParams);
  ReqDlg.DoModal();

//  if( ComPortNo== COMPORT1 || ComPortNo== USBDEV1)
  if( ComPortNo == iCurPort1)
  {
	g_pBTHostView1->BTHostView1_CommandToMaster = false;	// Set To Unit 1
    g_pBTHostView1->DisplayAndTransmitCmd(ReqDlg.m_strCmdName);
  }
//  else if( ComPortNo== COMPORT2 || ComPortNo== USBDEV2)
  else if( ComPortNo == iCurPort2)
  {
	g_pBTHostView1->BTHostView1_CommandToMaster = true;		// Set To Unit 2

    //Ek g_pBTHostView2->DisplayAndTransmitCmd(ReqDlg.m_strCmdName);
  	g_pBTHostView1->DisplayAndTransmitCmd(ReqDlg.m_strCmdName);
  }

  //g_pChildFrame->ParamListForOutput(ParamStr);
  
  return true;
}

 //struct sDisconnectionCompleteEvent
 // {
 //   uint8				    Status;
 //   tConnectionHandle	    ConnectionHandle;
 //	  tREASON				tReason;
 // };

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日产在线观看| 欧美美女喷水视频| 欧美日韩黄色一区二区| 亚洲免费在线视频一区 二区| 日韩av中文在线观看| 高潮精品一区videoshd| 欧美色精品天天在线观看视频| 久久青草国产手机看片福利盒子| 亚洲一区二区视频在线| 成人少妇影院yyyy| 久久久久久久久久电影| 成人一区二区在线观看| 亚洲精品免费播放| 成人av在线播放网站| 久久久久成人黄色影片| 99久久精品情趣| 中文字幕中文字幕中文字幕亚洲无线| 久久99精品久久久久久国产越南 | 欧美日韩中文精品| 婷婷一区二区三区| 欧美日韩在线直播| 美女视频免费一区| 欧美一区二区三区小说| 天天综合色天天综合| 欧美大胆人体bbbb| 久久99国产精品成人| 欧美激情在线看| 成人一区二区视频| 亚洲一区二区三区视频在线播放| 日韩欧美一区二区视频| a美女胸又www黄视频久久| 中文字幕第一页久久| 欧美专区亚洲专区| 亚洲chinese男男1069| 欧美日韩你懂的| 国产高清精品在线| 国产精品久久久久久久久动漫| 欧洲精品一区二区| 国产99久久久久| 麻豆91在线看| 伊人性伊人情综合网| 久久影院电视剧免费观看| 成人免费毛片嘿嘿连载视频| 亚洲福利电影网| 91精品国产色综合久久不卡电影| 成人午夜视频在线| 久久99精品久久久久久国产越南| 亚洲资源中文字幕| 亚洲国产精品国自产拍av| 91精品一区二区三区在线观看| 国产一区二区主播在线| 国产精品日产欧美久久久久| 在线观看一区日韩| 99久久精品国产麻豆演员表| 久久不见久久见免费视频1| 久久久精品综合| 欧美一区二区三区白人| 欧美午夜精品理论片a级按摩| 青青草国产成人99久久| 国产精品视频你懂的| 久久免费视频一区| 日韩欧美在线观看一区二区三区| 国产精品夜夜嗨| 亚洲国产日产av| 一区二区三区在线影院| 日韩视频一区二区三区| 91麻豆精品国产91久久久久久| 91成人在线观看喷潮| 国内精品久久久久影院色| 一区二区三区在线免费视频| 中文字幕日本乱码精品影院| 欧美一区二区黄| 91精品国产入口| 日韩三级视频中文字幕| 91精品国产91综合久久蜜臀| 欧美妇女性影城| 欧美一区二区三区免费观看视频| 欧美高清激情brazzers| 日韩三级在线观看| 久久久久97国产精华液好用吗| 欧美精品一区二区蜜臀亚洲| 在线观看视频91| 欧美日韩国产高清一区二区三区| 欧美撒尿777hd撒尿| 欧美疯狂性受xxxxx喷水图片| 欧美最新大片在线看| 欧美色男人天堂| 日韩一区二区三区免费看| 欧美va亚洲va国产综合| 欧美日韩成人一区二区| 欧美精品三级日韩久久| 欧美岛国在线观看| 一区二区三区在线免费视频| 亚洲男人电影天堂| 亚洲成av人影院| 久草中文综合在线| 成人在线综合网| 欧美性大战久久久久久久蜜臀| 9191成人精品久久| 欧美变态tickling挠脚心| 日本一区二区不卡视频| 一区二区三区在线免费播放| 免费亚洲电影在线| 成人一级视频在线观看| 欧美在线免费视屏| 日韩免费成人网| 最新日韩在线视频| 天天综合色天天综合| 国产精品一区不卡| 日本韩国欧美三级| 日韩久久久精品| 亚洲人成人一区二区在线观看| 天天综合色天天综合| 国产大片一区二区| 色94色欧美sute亚洲线路一久| 日韩视频一区二区在线观看| 国产精品久久久久久久久免费樱桃 | 亚洲欧美成aⅴ人在线观看| 亚洲一区二区三区四区在线观看| 男女男精品视频| 97精品国产97久久久久久久久久久久| 欧美三级一区二区| 国产三级一区二区| 2023国产精品| 亚洲免费高清视频在线| 老色鬼精品视频在线观看播放| 99精品欧美一区二区蜜桃免费 | 日本美女视频一区二区| 成人国产一区二区三区精品| 欧美三级日韩三级国产三级| 久久久久久一级片| 午夜激情久久久| 成人激情电影免费在线观看| 欧美日本精品一区二区三区| 国产精品久久久久久久第一福利| 免费成人结看片| 91成人在线精品| 中文字幕av一区二区三区免费看| 日韩1区2区日韩1区2区| 欧美主播一区二区三区| 国产精品久久三区| 国产精品99久久久久久宅男| 欧美精品少妇一区二区三区| 亚洲精品免费电影| 91碰在线视频| 欧美日韩视频在线一区二区| 日韩一区中文字幕| 国产精品911| 日韩欧美在线影院| 免费成人在线视频观看| 欧美久久一区二区| 亚洲va国产va欧美va观看| 在线观看网站黄不卡| 中文字幕一区二区三| 国产成人av在线影院| 欧美精品一区二区高清在线观看| 亚洲.国产.中文慕字在线| 日本精品视频一区二区| 亚洲女子a中天字幕| 99国产精品久| 国产精品国产三级国产普通话99 | 亚洲与欧洲av电影| 91黄色激情网站| 亚洲精品久久久久久国产精华液| 99精品在线免费| 中文字幕一区二区三中文字幕| 国产不卡视频一区| 久久精品亚洲精品国产欧美| 国产成人av网站| 中文字幕精品一区二区精品绿巨人 | 天天亚洲美女在线视频| 欧美日韩一区二区三区在线 | 91论坛在线播放| 亚洲欧美日韩国产综合| 在线日韩一区二区| 五月婷婷综合在线| 日韩午夜在线播放| 国产一区二区在线观看视频| 欧美国产一区视频在线观看| 成人性生交大片免费看视频在线| 亚洲国产精品99久久久久久久久| 成人性生交大片免费看中文| 国产精品电影一区二区| 色爱区综合激月婷婷| 亚洲国产视频网站| 91精品国产aⅴ一区二区| 韩国av一区二区三区在线观看| 久久精品男人的天堂| 岛国精品一区二区| 亚洲色图另类专区| 成人免费三级在线| 伊人性伊人情综合网| 91精品国产综合久久久久久久久久| 美女一区二区三区在线观看| 国产色91在线| 一本色道a无线码一区v| 亚洲欧美日韩国产另类专区| 欧美日韩成人综合| 国产精品18久久久久久久久久久久| 国产精品拍天天在线|