+ void RFCOMM_Initialize(void);
+ void RFCOMM_ServiceChannels(Bluetooth_Channel_t* const ACLChannel);
+ void RFCOMM_ProcessPacket(void* Data,
+ Bluetooth_Channel_t* const ACLChannel);
+
+ void RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel,
+ Bluetooth_Channel_t* const ACLChannel);
+ void RFCOMM_SendData(const uint16_t DataLen,
+ const uint8_t* Data,
+ const RFCOMM_Channel_t* const RFCOMMChannel,
+ Bluetooth_Channel_t* const ACLChannel);
+
+ void RFCOMM_ChannelOpened(RFCOMM_Channel_t* const RFCOMMChannel);
+ void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel,
+ uint16_t DataLen,
+ const uint8_t* Data);
+ void RFCOMM_ChannelSignalsReceived(RFCOMM_Channel_t* const RFCOMMChannel);
+
+ RFCOMM_Channel_t* RFCOMM_GetFreeChannelEntry(const uint8_t DLCI);
+ RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI);
+ uint16_t RFCOMM_GetVariableFieldValue(const uint8_t** BufferPos);
+ void RFCOMM_SendFrame(const uint8_t DLCI,
+ const bool CommandResponse,
+ const uint8_t Control,
+ const uint16_t DataLen,
+ const void* Data,
+ Bluetooth_Channel_t* const ACLChannel);
+