[handover] export measurement reports via signal

This patch introduces the S_LCHAN_MEAS_REP signal which is used to export
measurement reports as input to the yet-to-be-written handover algorithm.
diff --git a/openbsc/include/openbsc/meas_rep.h b/openbsc/include/openbsc/meas_rep.h
index 0c2bdab..b1ad2da 100644
--- a/openbsc/include/openbsc/meas_rep.h
+++ b/openbsc/include/openbsc/meas_rep.h
@@ -30,6 +30,8 @@
 
 /* parsed uplink and downlink measurement result */
 struct gsm_meas_rep {
+	struct gsm_lchan *lchan;
+
 	u_int8_t nr;
 	unsigned int flags;
 
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index fbd61ae..5156fcb 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -83,6 +83,7 @@
 	S_LCHAN_HANDOVER_COMPL,		/* 04.08 Handover Completed */
 	S_LCHAN_HANDOVER_FAIL,		/* 04.08 Handover Failed */
 	S_LCHAN_HANDOVER_DETECT,	/* 08.58 Handover Detect */
+	S_LCHAN_MEAS_REP,		/* 08.58 Measurement Report */
 };
 
 /* SS_SUBSCR signals */
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index 8033a3c..b049c3c 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -1005,6 +1005,8 @@
 
 	memset(&mr, 0, sizeof(mr));
 
+	mr.lchan = msg->lchan;
+
 	rsl_tlv_parse(&tp, dh->data, msgb_l2len(msg)-sizeof(*dh));
 
 	if (!TLVP_PRESENT(&tp, RSL_IE_MEAS_RES_NR) ||
@@ -1048,9 +1050,10 @@
 			return rc;
 	}
 
-	/* FIXME: do something with the actual result*/
 	print_meas_rep(&mr);
 
+	dispatch_signal(SS_LCHAN, S_LCHAN_MEAS_REP, &mr);
+
 	return 0;
 }