library: L1CTL: add 'start_fn' field to UL/DL TBF CFG.req messages

Change-Id: I800e4813671e92f6010945d58dfe6297302c6f13
Related: osmocom-bb.git Ibb6a05165fe1c81268fb0e3674adae4065e78171
Related: OS#5500, OS#6147
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index fe56459..73e09fc 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -315,7 +315,8 @@
 	type record L1ctlGprsUlTbfCfgReq {
 		uint8_t			tbf_ref,
 		BIT8			slotmask,
-		OCT2			pad ('0000'O)
+		OCT2			pad ('0000'O),
+		uint32_t		start_fn /* TBF Starting Time (absolute Fn) */
 	} with { variant (slotmask) "BITORDER(msb)" };
 
 	/* payload of L1CTL_GPRS_DL_TBF_CFG_REQ */
@@ -323,7 +324,8 @@
 		uint8_t			tbf_ref,
 		BIT8			slotmask,
 		uint8_t			dl_tfi,
-		OCT1			pad ('00'O)
+		OCT1			pad ('00'O),
+		uint32_t		start_fn /* TBF Starting Time (absolute Fn) */
 	} with { variant (slotmask) "BITORDER(msb)" };
 
 	/* part of L1CTL_GPRS_{UL,DL}_BLOCK_{REQ,IND} */
@@ -863,7 +865,8 @@
 
 	template (value) L1ctlMessage
 	ts_L1CTL_GPRS_UL_TBF_CFG_REQ(template (value) uint8_t tbf_ref,
-				     template (value) BIT8 slotmask := '00000000'B) := {
+				     template (value) BIT8 slotmask := '00000000'B,
+				     template (value) uint32_t start_fn := c_UINT32_MAX) := {
 		header := ts_L1ctlHeader(L1CTL_GPRS_UL_TBF_CFG_REQ),
 		ul_info := omit,
 		dl_info := omit,
@@ -871,13 +874,15 @@
 			ul_tbf_cfg_req := {
 				tbf_ref := tbf_ref,
 				slotmask := slotmask,
-				pad := '0000'O
+				pad := '0000'O,
+				start_fn := start_fn
 			}
 		}
 	};
 	template L1ctlMessage
 	tr_L1CTL_GPRS_UL_TBF_CFG_REQ(template (present) uint8_t tbf_ref := ?,
-				     template (present) BIT8 slotmask := ?) := {
+				     template (present) BIT8 slotmask := ?,
+				     template (present) uint32_t start_fn := ?) := {
 		header := tr_L1ctlHeader(L1CTL_GPRS_UL_TBF_CFG_REQ),
 		ul_info := omit,
 		dl_info := omit,
@@ -885,7 +890,8 @@
 			ul_tbf_cfg_req := {
 				tbf_ref := tbf_ref,
 				slotmask := slotmask,
-				pad := ?
+				pad := ?,
+				start_fn := start_fn
 			}
 		}
 	};
@@ -893,6 +899,7 @@
 	template (value) L1ctlMessage
 	ts_L1CTL_GPRS_DL_TBF_CFG_REQ(template (value) uint8_t tbf_ref,
 				     template (value) BIT8 slotmask := '00000000'B,
+				     template (value) uint32_t start_fn := c_UINT32_MAX,
 				     template (value) uint5_t dl_tfi := 0) := {
 		header := ts_L1ctlHeader(L1CTL_GPRS_DL_TBF_CFG_REQ),
 		ul_info := omit,
@@ -902,13 +909,15 @@
 				tbf_ref := tbf_ref,
 				slotmask := slotmask,
 				dl_tfi := dl_tfi,
-				pad := '00'O
+				pad := '00'O,
+				start_fn := start_fn
 			}
 		}
 	};
 	template L1ctlMessage
 	tr_L1CTL_GPRS_DL_TBF_CFG_REQ(template (present) uint8_t tbf_ref := ?,
 				     template (present) BIT8 slotmask := ?,
+				     template (present) uint32_t start_fn := ?,
 				     template (present) uint5_t dl_tfi := ?) := {
 		header := tr_L1ctlHeader(L1CTL_GPRS_DL_TBF_CFG_REQ),
 		ul_info := omit,
@@ -918,7 +927,8 @@
 				tbf_ref := tbf_ref,
 				slotmask := slotmask,
 				dl_tfi := dl_tfi,
-				pad := ?
+				pad := ?,
+				start_fn := start_fn
 			}
 		}
 	};