/******************************************************************************* Filename: hci_c_event.h Revised: $Date: 2012-05-01 12:13:50 -0700 (Tue, 01 May 2012) $ Revision: $Revision: 30418 $ Description: This file contains the HCI Event types, contants, external functions etc. for the BLE Controller. SDK_LICENSE *******************************************************************************/ #ifndef HCI_C_EVENT_H #define HCI_C_EVENT_H #ifdef __cplusplus extern "C" { #endif /******************************************************************************* INCLUDES */ #include "hci_tl.h" extern uint32 bleEvtMask; extern uint8 pHciEvtMask[]; /******************************************************************************* MACROS */ /******************************************************************************* CONSTANTS */ // Event Mask Default Values #define BT_EVT_MASK_BYTE0 0xFF #define BT_EVT_MASK_BYTE1 0xFF #define BT_EVT_MASK_BYTE2 0xFF #define BT_EVT_MASK_BYTE3 0xFF #define BT_EVT_MASK_BYTE4 0xFF #define BT_EVT_MASK_BYTE5 0x9F #define BT_EVT_MASK_BYTE6 0x00 #define BT_EVT_MASK_BYTE7 0x20 // #define LE_EVT_MASK_DEFAULT 0x00005F /******************************************************************************* TYPEDEFS */ /******************************************************************************* LOCAL VARIABLES */ /******************************************************************************* GLOBAL VARIABLES */ /* ** Internal Functions */ extern void hciInitEventMasks( void ); /* ** HCI Controller Events */ /******************************************************************************* @fn HCI_DataBufferOverflowEvent @brief This function sends the Data Buffer Overflow Event to the Host. input parameters @param linkType - HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW, HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW output parameters @param None. @return None. */ extern void HCI_DataBufferOverflowEvent( uint8 linkType ); /******************************************************************************* @fn HCI_NumOfCompletedPacketsEvent @brief This function sends the Number of Completed Packets Event to the Host. Note: Currently, the number of handles is always one. input parameters @param numHandles - Number of handles. @param handlers - Array of connection handles. @param numCompletedPkts - Array of number of completed packets for each handle. output parameters @param None. @return None. */ extern void HCI_NumOfCompletedPacketsEvent( uint8 numHandles, uint16* handlers, uint16* numCompletedPackets ); /******************************************************************************* @fn HCI_CommandCompleteEvent @brief This function sends a Command Complete Event to the Host. input parameters @param opcode - The opcode of the command that generated this event. @param numParam - The number of parameters in the event. @param param - The event parameters associated with the command. output parameters @param None. @return None. */ extern void HCI_CommandCompleteEvent( uint16 opcode, uint8 numParam, uint8* param ); /******************************************************************************* @fn HCI_VendorSpecifcCommandCompleteEvent @brief This function sends a Vendor Specific Command Complete Event to the Host. input parameters @param opcode - The opcode of the command that generated this event. @param numParam - The number of parameters in the event. @param param - The event parameters associated with the command. output parameters @param None. @return None. */ extern void HCI_VendorSpecifcCommandCompleteEvent( uint16 opcode, uint8 len, uint8* param ); /******************************************************************************* @fn HCI_CommandStatusEvent @brief This function sends a Command Status Event to the Host. input parameters @param status - The resulting status of the comamnd. @param opcode - The opcode of the command that generated this event. output parameters @param None. @return None. */ extern void HCI_CommandStatusEvent( uint8 status, uint16 opcode ); /******************************************************************************* @fn HCI_HardwareErrorEvent @brief This function sends a Hardware Error Event to the Host. input parameters @param hwErrorCode - The hardware error code. output parameters @param None. @return None. */ extern void HCI_HardwareErrorEvent( uint8 hwErrorCode ); /******************************************************************************* @fn HCI_SendCommandStatusEvent @brief This generic function sends a Command Status event to the Host. It is provided as a direct call so the Host can use it directly. input parameters @param eventCode - The event code. @param status - The resulting status of the comamnd. @param opcode - The opcode of the command that generated this event. output parameters @param None. @return None. */ extern void HCI_SendCommandStatusEvent ( uint8 eventCode, uint16 status, uint16 opcode ); /******************************************************************************* @fn HCI_SendCommandCompleteEvent @brief This generic function sends a Command Complete or a Vendor Specific Command Complete Event to the Host. input parameters @param eventCode - The event code. @param opcode - The opcode of the command that generated this event. @param numParam - The number of parameters in the event. @param param - The event parameters associated with the command. output parameters @param None. @return None. */ extern void HCI_SendCommandCompleteEvent ( uint8 eventCode, uint16 opcode, uint8 numParam, uint8* param ); /******************************************************************************* @fn HCI_SendControllerToHostEvent @brief This generic function sends a Controller to Host Event. input parameters @param eventCode - Bluetooth event code. @param dataLen - Length of dataField. @param pData - Pointer to data. output parameters @param None. @return None. */ extern void HCI_SendControllerToHostEvent( uint8 eventCode, uint8 dataLen, uint8* pData ); #ifdef __cplusplus } #endif #endif /* HCI_C_EVENT_H */