ReactOS 0.4.15-dev-8614-gbc76250
CHci Class Reference

#include <fbthci.h>

Inheritance diagram for CHci:
Collaboration diagram for CHci:

Public Member Functions

 CHci (void)
 
virtual ~CHci (void)
 
virtual DWORD StartEventListener (void)
 
virtual DWORD StopEventListener (void)
 
virtual DWORD OnEvent (PFBT_HCI_EVENT_HEADER pEvent, DWORD Length)
 
virtual DWORD OnCommandComplete (BYTE NumHCICommandPackets, USHORT CommandOpcode, BYTE *Parameters, DWORD ParameterLength)
 
virtual DWORD OnCommandStatus (BYTE Status, BYTE NumHCICommandPackets, USHORT CommandOpcode)
 
virtual DWORD OnConnectionRequest (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], ULONG ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE], BYTE LinkType)
 
virtual DWORD OnConnectionComplete (BYTE Status, USHORT ConnectionHandle, BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE LinkType, BYTE EncryptionMode)
 
virtual DWORD OnDisconnectionComplete (BYTE Status, USHORT ConnectionHandle, BYTE Reason)
 
virtual DWORD OnInquiryComplete (BYTE Status, BYTE NumResponses)
 
virtual DWORD OnInquiryResult (BYTE NumResponses, BYTE BD_ADDR[FBT_HCI_VARIABLE_SIZE][FBT_HCI_BDADDR_SIZE], BYTE PageScanRepetitionMode[FBT_HCI_VARIABLE_SIZE], BYTE PageScanPeriodMode[FBT_HCI_VARIABLE_SIZE], BYTE PageScanMode[FBT_HCI_VARIABLE_SIZE], BYTE ClassOfDevice[FBT_HCI_VARIABLE_SIZE][FBT_HCI_DEVICE_CLASS_SIZE], USHORT ClockOffset[FBT_HCI_VARIABLE_SIZE])
 
virtual DWORD OnRemoteNameRequestComplete (BYTE Status, BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE RemoteName[FBT_HCI_NAME_SIZE])
 
virtual DWORD OnRoleChange (BYTE Status, BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE Role)
 
virtual DWORD OnPINCodeRequest (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE])
 
virtual DWORD OnLinkKeyNotification (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE LinkKey[FBT_HCI_LINK_KEY_SIZE])
 
virtual DWORD OnLinkKeyRequest (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE])
 
virtual DWORD OnAuthenticationComplete (BYTE Status, USHORT ConnectionHandle)
 
virtual DWORD OnReadLocalNameComplete (BYTE Status, BYTE Name[FBT_HCI_NAME_SIZE])
 
virtual DWORD OnUnknown (PFBT_HCI_EVENT_HEADER pEvent, DWORD Length)
 
virtual DWORD SendReset (void)
 
virtual DWORD SendInquiry (ULONG LAP, BYTE InquiryLength, BYTE NumResponses)
 
virtual DWORD SendInquiryCancel (void)
 
virtual DWORD SendReadBDADDR (void)
 
virtual DWORD SendWriteScanEnable (BYTE ScanEnable)
 
virtual DWORD SendWriteAuthenticationEnable (BYTE ScanEnable)
 
virtual DWORD SendSetEventFilter (BYTE FilterType, BYTE FilterConditionType, BYTE Condition[FBT_HCI_MAX_CONDITION_SIZE], BYTE ConditionBytes)
 
virtual DWORD SendReadClassOfDevice (void)
 
virtual DWORD SendWriteClassOfDevice (BYTE ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE])
 
virtual DWORD SendCreateConnection (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], USHORT PacketType, BYTE PageScanRepetitionMode, BYTE PageScanMode, USHORT ClockOffset, BYTE AllowRoleSwitch)
 
virtual DWORD SendAcceptConnectionRequest (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE RoleSwitch)
 
virtual DWORD SendDisconnect (USHORT ConnectionHandle, BYTE Reason)
 
virtual DWORD SendWriteLinkSupervisionTimeout (USHORT ConnectionHandle, USHORT LinkSupervisionTimeout)
 
virtual DWORD SendWritePageTimeout (USHORT PageTimeout)
 
virtual DWORD SendRemoteNameRequest (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE PageScanRepetitionMode, BYTE PageScanMode, USHORT ClockOffset)
 
virtual DWORD SendReadLocalName (void)
 
virtual DWORD SendChangeLocalName (BYTE Name[FBT_HCI_NAME_SIZE])
 
virtual DWORD SendSwitchRole (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE Role)
 
virtual DWORD SendPINCodeRequestReply (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE PINCodeLength, BYTE PINCode[FBT_HCI_PIN_CODE_SIZE])
 
virtual DWORD SendPINCodeRequestNegativeReply (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE])
 
virtual DWORD SendLinkKeyRequestReply (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE], BYTE LinkKey[FBT_HCI_LINK_KEY_SIZE])
 
virtual DWORD SendLinkKeyRequestNegativeReply (BYTE BD_ADDR[FBT_HCI_BDADDR_SIZE])
 
virtual DWORD SendReadLocalVersionInformation (void)
 
DWORD CompareBDADDRs (BYTE BD_ADDR1[FBT_HCI_BDADDR_SIZE], BYTE BD_ADDR2[FBT_HCI_BDADDR_SIZE])
 
- Public Member Functions inherited from CBTHW
 CBTHW ()
 
virtual ~CBTHW ()
 
void SetDeviceName (LPCTSTR szDeviceName)
 
DWORD GetDeviceName (LPTSTR szBuffer, DWORD dwBufferSize)
 
virtual DWORD Attach (LPCSTR szDeviceName)
 
virtual DWORD Detach ()
 
HANDLE GetDriverHandle ()
 
BOOL IsAttached ()
 
DWORD SendCommand (DWORD dwCommand, LPVOID lpInBuffer=NULL, DWORD dwInBufferSize=0, LPVOID lpOutBuffer=NULL, DWORD dwOutBufferSize=0, OVERLAPPED *pOverlapped=NULL)
 
DWORD SendData (LPVOID lpBuffer, DWORD dwBufferSize, DWORD *dwBytesSent, OVERLAPPED *pOverlapped)
 
DWORD GetData (LPVOID lpBuffer, DWORD dwBufferSize, DWORD *dwBytesRead, OVERLAPPED *pOverlapped)
 

Static Public Member Functions

static LPCTSTR GetEventText (BYTE Event)
 
static LPCTSTR GetStatusText (BYTE Status)
 
static LPCTSTR GetManufacturerName (USHORT Company)
 

Protected Member Functions

virtual DWORD SendHciCommand (PFBT_HCI_CMD_HEADER lpCommand, DWORD dwBufferSize)
 
DWORD SendListenForEvent (OVERLAPPED *pOverlapped, BYTE *pEventBuffer)
 

Protected Attributes

HANDLE m_hStopListeningEvent
 
HANDLE m_hListenerReadyEvent
 
HANDLE m_hListenerThread
 
DWORD m_dwListenerThreadId
 
OVERLAPPED m_Overlappeds [HCI_NUMBER_OF_OVERLAPPED_LISTENS]
 
BYTE m_pEventBuffers [HCI_NUMBER_OF_OVERLAPPED_LISTENS][FBT_HCI_EVENT_MAX_SIZE]
 
- Protected Attributes inherited from CBTHW
HANDLE m_hDriver
 
TCHAR m_szDeviceName [1024]
 

Friends

static friend DWORD CALLBACK Listener (LPVOID pContext)
 
static friend DWORD EventHandler (PFBT_HCI_EVENT_HEADER pEvent, DWORD Length)
 

Detailed Description

Definition at line 22 of file fbthci.h.

Constructor & Destructor Documentation

◆ CHci()

CHci::CHci ( void  )

◆ ~CHci()

virtual CHci::~CHci ( void  )
virtual

Member Function Documentation

◆ CompareBDADDRs()

DWORD CHci::CompareBDADDRs ( BYTE  BD_ADDR1[FBT_HCI_BDADDR_SIZE],
BYTE  BD_ADDR2[FBT_HCI_BDADDR_SIZE] 
)

◆ GetEventText()

static LPCTSTR CHci::GetEventText ( BYTE  Event)
static

◆ GetManufacturerName()

static LPCTSTR CHci::GetManufacturerName ( USHORT  Company)
static

◆ GetStatusText()

static LPCTSTR CHci::GetStatusText ( BYTE  Status)
static

◆ OnAuthenticationComplete()

virtual DWORD CHci::OnAuthenticationComplete ( BYTE  Status,
USHORT  ConnectionHandle 
)
virtual

◆ OnCommandComplete()

virtual DWORD CHci::OnCommandComplete ( BYTE  NumHCICommandPackets,
USHORT  CommandOpcode,
BYTE Parameters,
DWORD  ParameterLength 
)
virtual

◆ OnCommandStatus()

virtual DWORD CHci::OnCommandStatus ( BYTE  Status,
BYTE  NumHCICommandPackets,
USHORT  CommandOpcode 
)
virtual

◆ OnConnectionComplete()

virtual DWORD CHci::OnConnectionComplete ( BYTE  Status,
USHORT  ConnectionHandle,
BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  LinkType,
BYTE  EncryptionMode 
)
virtual

◆ OnConnectionRequest()

virtual DWORD CHci::OnConnectionRequest ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
ULONG  ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE],
BYTE  LinkType 
)
virtual

◆ OnDisconnectionComplete()

virtual DWORD CHci::OnDisconnectionComplete ( BYTE  Status,
USHORT  ConnectionHandle,
BYTE  Reason 
)
virtual

◆ OnEvent()

virtual DWORD CHci::OnEvent ( PFBT_HCI_EVENT_HEADER  pEvent,
DWORD  Length 
)
virtual

Reimplemented in CHciLocal, and CHciRoundTrip.

◆ OnInquiryComplete()

virtual DWORD CHci::OnInquiryComplete ( BYTE  Status,
BYTE  NumResponses 
)
virtual

◆ OnInquiryResult()

virtual DWORD CHci::OnInquiryResult ( BYTE  NumResponses,
BYTE  BD_ADDR[FBT_HCI_VARIABLE_SIZE][FBT_HCI_BDADDR_SIZE],
BYTE  PageScanRepetitionMode[FBT_HCI_VARIABLE_SIZE],
BYTE  PageScanPeriodMode[FBT_HCI_VARIABLE_SIZE],
BYTE  PageScanMode[FBT_HCI_VARIABLE_SIZE],
BYTE  ClassOfDevice[FBT_HCI_VARIABLE_SIZE][FBT_HCI_DEVICE_CLASS_SIZE],
USHORT  ClockOffset[FBT_HCI_VARIABLE_SIZE] 
)
virtual

◆ OnLinkKeyNotification()

virtual DWORD CHci::OnLinkKeyNotification ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  LinkKey[FBT_HCI_LINK_KEY_SIZE] 
)
virtual

◆ OnLinkKeyRequest()

virtual DWORD CHci::OnLinkKeyRequest ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE])
virtual

◆ OnPINCodeRequest()

virtual DWORD CHci::OnPINCodeRequest ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE])
virtual

◆ OnReadLocalNameComplete()

virtual DWORD CHci::OnReadLocalNameComplete ( BYTE  Status,
BYTE  Name[FBT_HCI_NAME_SIZE] 
)
virtual

◆ OnRemoteNameRequestComplete()

virtual DWORD CHci::OnRemoteNameRequestComplete ( BYTE  Status,
BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  RemoteName[FBT_HCI_NAME_SIZE] 
)
virtual

◆ OnRoleChange()

virtual DWORD CHci::OnRoleChange ( BYTE  Status,
BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  Role 
)
virtual

◆ OnUnknown()

virtual DWORD CHci::OnUnknown ( PFBT_HCI_EVENT_HEADER  pEvent,
DWORD  Length 
)
virtual

◆ SendAcceptConnectionRequest()

virtual DWORD CHci::SendAcceptConnectionRequest ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  RoleSwitch 
)
virtual

◆ SendChangeLocalName()

virtual DWORD CHci::SendChangeLocalName ( BYTE  Name[FBT_HCI_NAME_SIZE])
virtual

◆ SendCreateConnection()

virtual DWORD CHci::SendCreateConnection ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
USHORT  PacketType,
BYTE  PageScanRepetitionMode,
BYTE  PageScanMode,
USHORT  ClockOffset,
BYTE  AllowRoleSwitch 
)
virtual

Reimplemented in CHciLocal.

◆ SendDisconnect()

virtual DWORD CHci::SendDisconnect ( USHORT  ConnectionHandle,
BYTE  Reason 
)
virtual

Reimplemented in CHciLocal.

◆ SendHciCommand()

virtual DWORD CHci::SendHciCommand ( PFBT_HCI_CMD_HEADER  lpCommand,
DWORD  dwBufferSize 
)
protectedvirtual

◆ SendInquiry()

virtual DWORD CHci::SendInquiry ( ULONG  LAP,
BYTE  InquiryLength,
BYTE  NumResponses 
)
virtual

Reimplemented in CHciLocal.

◆ SendInquiryCancel()

virtual DWORD CHci::SendInquiryCancel ( void  )
virtual

Reimplemented in CHciLocal.

◆ SendLinkKeyRequestNegativeReply()

virtual DWORD CHci::SendLinkKeyRequestNegativeReply ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE])
virtual

◆ SendLinkKeyRequestReply()

virtual DWORD CHci::SendLinkKeyRequestReply ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  LinkKey[FBT_HCI_LINK_KEY_SIZE] 
)
virtual

◆ SendListenForEvent()

DWORD CHci::SendListenForEvent ( OVERLAPPED pOverlapped,
BYTE pEventBuffer 
)
protected

◆ SendPINCodeRequestNegativeReply()

virtual DWORD CHci::SendPINCodeRequestNegativeReply ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE])
virtual

◆ SendPINCodeRequestReply()

virtual DWORD CHci::SendPINCodeRequestReply ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  PINCodeLength,
BYTE  PINCode[FBT_HCI_PIN_CODE_SIZE] 
)
virtual

◆ SendReadBDADDR()

virtual DWORD CHci::SendReadBDADDR ( void  )
virtual

◆ SendReadClassOfDevice()

virtual DWORD CHci::SendReadClassOfDevice ( void  )
virtual

◆ SendReadLocalName()

virtual DWORD CHci::SendReadLocalName ( void  )
virtual

◆ SendReadLocalVersionInformation()

virtual DWORD CHci::SendReadLocalVersionInformation ( void  )
virtual

◆ SendRemoteNameRequest()

virtual DWORD CHci::SendRemoteNameRequest ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  PageScanRepetitionMode,
BYTE  PageScanMode,
USHORT  ClockOffset 
)
virtual

Reimplemented in CHciLocal.

◆ SendReset()

virtual DWORD CHci::SendReset ( void  )
virtual

Reimplemented in CHciLocal.

◆ SendSetEventFilter()

virtual DWORD CHci::SendSetEventFilter ( BYTE  FilterType,
BYTE  FilterConditionType,
BYTE  Condition[FBT_HCI_MAX_CONDITION_SIZE],
BYTE  ConditionBytes 
)
virtual

Reimplemented in CHciLocal.

◆ SendSwitchRole()

virtual DWORD CHci::SendSwitchRole ( BYTE  BD_ADDR[FBT_HCI_BDADDR_SIZE],
BYTE  Role 
)
virtual

Reimplemented in CHciLocal.

◆ SendWriteAuthenticationEnable()

virtual DWORD CHci::SendWriteAuthenticationEnable ( BYTE  ScanEnable)
virtual

◆ SendWriteClassOfDevice()

virtual DWORD CHci::SendWriteClassOfDevice ( BYTE  ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE])
virtual

Reimplemented in CHciLocal.

◆ SendWriteLinkSupervisionTimeout()

virtual DWORD CHci::SendWriteLinkSupervisionTimeout ( USHORT  ConnectionHandle,
USHORT  LinkSupervisionTimeout 
)
virtual

◆ SendWritePageTimeout()

virtual DWORD CHci::SendWritePageTimeout ( USHORT  PageTimeout)
virtual

◆ SendWriteScanEnable()

virtual DWORD CHci::SendWriteScanEnable ( BYTE  ScanEnable)
virtual

◆ StartEventListener()

virtual DWORD CHci::StartEventListener ( void  )
virtual

◆ StopEventListener()

virtual DWORD CHci::StopEventListener ( void  )
virtual

Friends And Related Function Documentation

◆ EventHandler

static friend DWORD EventHandler ( PFBT_HCI_EVENT_HEADER  pEvent,
DWORD  Length 
)
friend

◆ Listener

static friend DWORD CALLBACK Listener ( LPVOID  pContext)
friend

Member Data Documentation

◆ m_dwListenerThreadId

DWORD CHci::m_dwListenerThreadId
protected

Definition at line 126 of file fbthci.h.

◆ m_hListenerReadyEvent

HANDLE CHci::m_hListenerReadyEvent
protected

Definition at line 123 of file fbthci.h.

◆ m_hListenerThread

HANDLE CHci::m_hListenerThread
protected

Definition at line 124 of file fbthci.h.

◆ m_hStopListeningEvent

HANDLE CHci::m_hStopListeningEvent
protected

Definition at line 122 of file fbthci.h.

◆ m_Overlappeds

OVERLAPPED CHci::m_Overlappeds[HCI_NUMBER_OF_OVERLAPPED_LISTENS]
protected

Definition at line 128 of file fbthci.h.

◆ m_pEventBuffers

Definition at line 129 of file fbthci.h.


The documentation for this class was generated from the following file: