library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters)

Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16
Related: OS#4546
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 0870a20..38e4c15 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -290,13 +290,23 @@
 		octetstring	l2_payload
 	} with { variant "" };
 
+	type record length(0..64) of Arfcn L1ctlMA;
 	type record L1ctlH1 {
 		uint8_t		hsn,
 		uint8_t		maio,
 		uint8_t		n,
-		OCT1		padding,
-		bitstring	ma length(64)
-	} with { variant "" };
+		OCT1		spare,
+		L1ctlMA		ma,
+		octetstring	padding
+	} with {
+		variant (n) "LENGTHTO(ma)"
+		variant (n) "UNIT(elements)"
+		/* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849.
+		 * TL;DR The reference point of the PADDING attribute is the beginning
+		 * of the message, not the beginning of the type/field it's applied on.
+		 * Therefore we cannot use it here, and have to add padding manually.
+		 * variant (ma) "PADDING(128)" */
+	};
 
 	type record L1ctlDmEstReq {
 		GsmTsc		tsc,