?? hcipacket.h
字號:
//--------------------------------------------------------------- %FILH_BEG% --
//
// Project: $$ProjectName
//
// File name: HCIPacket.h
// Author:
// Description:
//
// Revision History:
// $Log: $
//
// Rev 1.01 09/08/2000 Increase parameter size to [1000] in structure tHCI_ACLDataPacket
// Rev 1.00 15 July 2000 Initial release
//
//
// Copyright (c) TelenComm Corporation 2000 - All rights reserved
//--------------------------------------------------------------- %FILH_END%
#ifndef HCI_PACKET_H
#define HCI_PACKET_H
//------------------------------------------------------------------------------
//
// Includes
//
//------------------------------------------------------------------------------
#include <memory.h>
#include "..\..\Hci\Common\Common.h"
#include "..\..\Hci\Common\stdmac.h"
#include "..\..\Hci\Commands\Inc\HCIBaseCmdProc.h"
//#include "HCIEventProc.h"
#include "BTLogicalIODevice.h"
//--------------------------------------------------------------------------------
class CHCI_Packet
{
public:
enum eHCI_PacketType { HCI_CMD_PACKET = 1,HCI_ACL_DATA_PACKET,HCI_SCO_DATA_PACKET,HCI_EVENT_PACKET};
struct tHCICommandPacket
{
uint8 PacketType;
tHCICommandOpCode OpCode;
tHCICommandParameterLength ParameterTotalLength;
tHCICommandParameter Parameter[255];
};
struct tHCIEventPacket
{
uint8 PacketType;
tHCIEventOpCode OpCode;
tHCIEventParameterLength ParameterTotalLength;
tHCIEventParameter Parameter[255];
};
struct tHCI_ACLDataPacket
{
uint8 PacketType;
tConnectionHandle ConnectionHandle;
tHCI_ACLDataParameterLength ParameterTotalLength;
tHCI_ACLDataParameter Parameter[1000]; //255
};
struct tHCI_SCODataPacket
{
uint8 PacketType;
tConnectionHandle ConnectionHandle;
tHCI_SCODataParameterLength ParameterTotalLength;
tHCI_SCODataParameter Parameter[255];
};
union
{
uint8* pPacket;
tHCICommandPacket* pHCICmdPacket;
tHCI_ACLDataPacket* pHCI_ACLDataPacket;
tHCI_SCODataPacket* pHCI_SCODataPacket;
tHCIEventPacket* pHCIEventPacket;
}m_uPacketPtr;
uint32 m_PacketIdx;
public:
CHCI_Packet( ){};
int GetPacketLen(){ return m_PacketIdx;}
void AddParameter(void* pParm, uint32 SizeofParm);
void AddParameter(uint16 Parm);
void AddParameter(uint32 Parm);
void AddParameter(uint8 Parm);
void RetrieveParameter(void* pParm, uint32 SizeofParm);
uint8 RetrieveByteParameter();
uint32 RetrieveWordParameter();
uint16 RetrieveHalfWordParameter();
uint32 getSize() { return m_PacketIdx; }
void TransmitHCI_Packet();// { g_pBTLogicalIODevice->ReceiveHCI_Packet(m_pPacket,m_PacketIdx);}
void ReceiveHCI_Packet(uint8* pPacket, sint32 PacketLen);
bool IsValidHCIPacket(eHCI_PacketType PacketType);
~CHCI_Packet(){}
};
//------------------------------------------------------------------------------
//
// Declarations
//
//------------------------------------------------------------------------------
extern int g_HC_ACLDataPacketLen;
extern int g_HC_SCODataPacketLen;
extern int g_HC_TotalNumACLDataPackets;
extern int g_HC_TotalNumSCODataPackets;
extern int g_NumHciCommandPackets;
//------------------------------------------------------------------------------
//bool ModuleOperationHCI(tModuleOperation ModuleOperation);
#endif HCI_PACKET_H
//------------------------------------------------------------------------------
// End of HCIPacket.h
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -