implement support for 3-digit MNC with leading zeros

Receive the mnc_3_digits flag from the PCU interface.

Bump the PCU interface to 9.
This is one part of the three identical pcuif_proto.h patches:
- I49cd762c3c9d7ee6a82451bdf3ffa2a060767947 (osmo-bts)
- I787fed84a7b613158a5618dd5cffafe4e4927234 (osmo-pcu)
- I78f30aef7aa224b2e9db54c3a844d8f520b3aee0 (osmo-bsc)

Add 3-digit flags and use the new RAI and LAI API from libosmocore throughout
the code base to be able to handle an MNC < 100 that has three digits (leading
zeros).

Depends: Id2240f7f518494c9df6c8bda52c0d5092f90f221 (libosmocore),
         Ib7176b1d65a03b76f41f94bc9d3293a8a07d24c6 (libosmocore)

Change-Id: I787fed84a7b613158a5618dd5cffafe4e4927234
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index fb9158f..662708a 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -47,6 +47,7 @@
 
 void *tall_pcu_ctx;
 int16_t spoof_mnc = 0, spoof_mcc = 0;
+bool spoof_mnc_3_digits = false;
 
 static void check_tbf(gprs_rlcmac_tbf *tbf)
 {
@@ -449,7 +450,7 @@
 	bts = the_bts.bts_data();
 	setup_bts(&the_bts, ts_no);
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001,
-		1234, 1234, 1234, 1, 1, 0, 0, 0);
+		1234, 1234, 1234, 1, 1, false, 0, 0, 0);
 
 	for (i = 0; i < 1024; i++) {
 		uint32_t tlli = 0xc0000000 + i;
@@ -492,7 +493,7 @@
 	bts->ms_idle_sec = 10; /* keep the MS object */
 
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001,
-		1234, 1234, 1234, 1, 1, 0, 0, 0);
+		1234, 1234, 1234, 1, 1, false, 0, 0, 0);
 
 	/* Handle LLC frame 1 */
 	memset(buf, 1, sizeof(buf));
@@ -2161,7 +2162,7 @@
 	bts->egprs_enabled = 1;
 
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001,
-		1234, 1234, 1234, 1, 1, 0, 0, 0);
+		1234, 1234, 1234, 1, 1, false, 0, 0, 0);
 
 	/* Does not support EGPRS */
 	rc = gprs_rlcmac_dl_tbf::handle(bts, tlli, 0, imsi, ms_class, 0,
@@ -2223,7 +2224,7 @@
 	bts->trx[0].pdch[5].enable();
 
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001,
-		1234, 1234, 1234, 1, 1, 0, 0, 0);
+		1234, 1234, 1234, 1, 1, false, 0, 0, 0);
 
 	/* Does no support EGPRS */
 	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false);
@@ -2261,7 +2262,7 @@
 	bts->trx[0].pdch[5].enable();
 
 	gprs_bssgp_create_and_connect(bts, 33001, 0, 33001,
-		1234, 1234, 1234, 1, 1, 0, 0, 0);
+		1234, 1234, 1234, 1, 1, false, 0, 0, 0);
 
 	/* EGPRS-only */
 	bts->egprs_enabled = 1;