library: implement mandatory part of SI4 Rest Octets
Optional "Rest Octets S" part is left for later.
Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn
index 8f0346d..da3478a 100644
--- a/library/GSM_RestOctets.ttcn
+++ b/library/GSM_RestOctets.ttcn
@@ -41,6 +41,19 @@
variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)"
};
+/* 10.5.2.35 SI 4 Rest Octets (O & S) */
+type record SI4RestOctets {
+ SelectionParamsOpt sel_params,
+ PowerOffsetOpt pwr_offset,
+ GPRSIndicatorOpt gprs_ind,
+ BIT1 s_presence, // L/H
+ /* TODO: optional "Rest Octets S" part */
+ bitstring s optional
+} with {
+ variant (s_presence) "CSN.1 L/H"
+ variant (s) "PRESENCE(s_presence = '1'B)"
+};
+
/* Selection Parameters */
type record SelectionParams {
boolean cbq,
@@ -115,5 +128,10 @@
external function dec_SI3RestOctets(in octetstring stream) return SI3RestOctets
with { extension "prototype(convert) decode(RAW)" };
+external function enc_SI4RestOctets(in SI4RestOctets ro) return octetstring
+ with { extension "prototype(convert) encode(RAW)" };
+external function dec_SI4RestOctets(in octetstring stream) return SI4RestOctets
+ with { extension "prototype(convert) decode(RAW)" };
+
} with { encode "RAW"; variant "FIELDORDER(msb)" }