Split out rach_control, missing mask from the last commit

diff --git a/include/openbsc/gsm_04_08.h b/include/openbsc/gsm_04_08.h
index 920d84c..b9a2cc8 100644
--- a/include/openbsc/gsm_04_08.h
+++ b/include/openbsc/gsm_04_08.h
@@ -77,11 +77,20 @@
 	u_int8_t system_information;
 } __attribute__ ((packed));
 
+struct gsm48_rach_control {
+	u_int8_t re :1,
+		 cell_bar :1,
+		 tx_integer :4,
+		 max_trans :2;
+	u_int8_t t2;
+	u_int8_t t3;
+} __attribute__ ((packed));
+
 /* Section 9.1.31 System information Type 1 */
 struct gsm48_system_information_type_1 {
 	struct gsm48_system_information_type_header header;
 	u_int8_t cell_channel_description[16];
-	u_int8_t rach_control_parameter[3];
+	struct gsm48_rach_control rach_control;
 	u_int8_t s1_reset;
 } __attribute__ ((packed));
 
@@ -90,7 +99,7 @@
 	struct gsm48_system_information_type_header header;
 	u_int8_t bcch_frequency_list[16];
 	u_int8_t ncc_permitted;
-	u_int8_t rach_control_parameter[3]; 
+	struct gsm48_rach_control rach_control;
 } __attribute__ ((packed));
 
 /* Section 9.1.35 System information Type 3 */
@@ -101,7 +110,7 @@
 	u_int8_t control_channel_description[3];
 	u_int8_t cell_options;
 	u_int8_t cell_selection[2];
-	u_int8_t rach_control_parameter[3];
+	struct gsm48_rach_control rach_control;
 	u_int8_t s3_reset_octets[4];
 } __attribute__ ((packed));
 
@@ -110,7 +119,7 @@
 	struct gsm48_system_information_type_header header;
 	struct gsm48_loc_area_id lai;
 	u_int8_t cell_selection[2];
-	u_int8_t rach_control_parameter[3];
+	struct gsm48_rach_control rach_control;
 	/*	optional CBCH conditional CBCH... followed by
 		mandantory SI 4 Reset Octets
 	 */
@@ -150,6 +159,7 @@
 #define GSM48_PDISC_SM_GPRS	0x0a
 #define GSM48_PDISC_NC_SS	0x0b
 #define GSM48_PDISC_LOC		0x0c
+#define GSM48_PDISC_MASK	0x0f
 
 /* Section 10.4 */
 #define GSM48_MT_RR_INIT_REQ		0x3c