+ 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);
+
+ #if defined(INCLUDE_FROM_RFCOMM_C)
+ static uint8_t RFCOMM_GetFCSValue(const void* FrameStart, uint8_t Length);
+
+ static void RFCOMM_ProcessDM(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const ACLChannel);
+ static void RFCOMM_ProcessDISC(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const ACLChannel);
+ static void RFCOMM_ProcessSABM(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const ACLChannel);
+ static void RFCOMM_ProcessUA(const RFCOMM_Address_t* const FrameAddress, Bluetooth_Channel_t* const ACLChannel);
+ static void RFCOMM_ProcessUIH(const RFCOMM_Address_t* const FrameAddress, const uint16_t FrameLength,
+ const uint8_t* FrameData, Bluetooth_Channel_t* const ACLChannel);