Convert gprs_bssgp_pcu.cpp to C

There's no real use of C++ in that file, and it causes problems when
using llist_head entry macros in future patches adding initial support
for multiple BTS in PCU object, so let's move it to plain C.

Change-Id: Ic771a89fd78b5e66151a5384f0ff6a8895589466
diff --git a/src/tbf_dl.h b/src/tbf_dl.h
index e29bb3f..58d863b 100644
--- a/src/tbf_dl.h
+++ b/src/tbf_dl.h
@@ -23,6 +23,8 @@
 
 #include "tbf.h"
 
+#include <stdint.h>
+
 /*
  * TBF instance
  */
@@ -42,12 +44,6 @@
 	gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms);
 	gprs_rlc_window *window();
 	void cleanup();
-	/* dispatch Unitdata.DL messages */
-	static int handle(struct gprs_rlcmac_bts *bts,
-		const uint32_t tlli, const uint32_t old_tlli,
-		const char *imsi, const uint8_t ms_class,
-		const uint8_t egprs_ms_class, const uint16_t delay_csec,
-		const uint8_t *data, const uint16_t len);
 
 	int append_data(uint16_t pdu_delay_csec,
 			const uint8_t *data, uint16_t len);
@@ -151,7 +147,16 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+struct gprs_rlcmac_bts;
+
 struct gprs_rlcmac_dl_tbf *as_dl_tbf(struct gprs_rlcmac_tbf *tbf);
+/* dispatch Unitdata.DL messages */
+int dl_tbf_handle(struct gprs_rlcmac_bts *bts,
+		  const uint32_t tlli, const uint32_t old_tlli,
+		  const char *imsi, const uint8_t ms_class,
+		  const uint8_t egprs_ms_class, const uint16_t delay_csec,
+		  const uint8_t *data, const uint16_t len);
+
 #ifdef __cplusplus
 }
 #endif