summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-09-13 09:58:29 +0200
committerHarald Welte <laforge@osmocom.org>2020-09-13 10:18:41 +0200
commit6ce47c3ea75c0bce02779de44586277795c6aae3 (patch)
treee1e2a31aede3e7b8b965e1c731c48480b20ca7de
parent557c9f8cb82eba9332440f5ea53970c16eb7fb79 (diff)
lib: Move ts_RaCapRec from RLCMAC_CSN1_Templates to L3_Templates
There is no reason whatsoevery why a L3_Templates.ttcn file should ever include types from RLC/MAC. This creates a dependency nightmare. The type for which ts_RaCapRec is written (MSRACapabilityValuesRecord) originates from titan.ProtocolModules.MobileL3 so it's completely unclear how any of that ever related too RLC/MAC. Change-Id: Ie1ccef090ad51e26ccae17998e4294c6e27cf9c8
-rw-r--r--library/L3_Templates.ttcn53
-rw-r--r--library/RLCMAC_CSN1_Templates.ttcn52
2 files changed, 52 insertions, 53 deletions
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 8c0f494..2ef8773 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -20,7 +20,6 @@ import from MobileL3_RRM_Types all;
import from MobileL3_CC_Types all;
import from MobileL3_GMM_SM_Types all;
import from MobileL3_SMS_Types all;
-import from RLCMAC_CSN1_Templates all;
/* TS 24.007 Table 11.3 TI Flag */
const BIT1 c_TIF_ORIG := '0'B;
@@ -2095,6 +2094,58 @@ template (value) DRXParameterV ts_DrxParameterV := {
cnSpecificDRXCycleLength := '0000'B /* SI value used */
};
+private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 {
+ if (istemplatekind(mscap_gprs, "omit")) {
+ return '0'B;
+ }
+ return '1'B;
+}
+private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 {
+ if (istemplatekind(mscap_egprs, "omit")) {
+ return '0'B;
+ }
+ return '1'B;
+}
+template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := {
+ mSRACapabilityValues := {
+ mSRACapabilityValuesExclude1111 := {
+ accessTechnType := att, /* E-GSM */
+ accessCapabilities := {
+ lengthIndicator := 0, /* overwritten */
+ accessCapabilities := {
+ rfPowerCapability := '001'B, /* FIXME */
+ presenceBitA5 := '0'B,
+ a5bits := omit,
+ esind := '1'B,
+ psbit := '0'B,
+ vgcs := '0'B,
+ vbs := '0'B,
+ presenceBitMultislot := '1'B,
+ multislotcap := {
+ presenceBitHscsd := '0'B,
+ hscsdmultislotclass := omit,
+ presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs),
+ gprsmultislot := mscap_gprs,
+ presenceBitSms := '0'B,
+ multislotCap_SMS := omit,
+ multislotCapAdditionsAfterRel97 := {
+ presenceBitEcsdmulti := '0'B,
+ ecsdmultislotclass := omit,
+ presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs),
+ multislotCap_EGPRS := mscap_egprs,
+ presenceBitDtmGprsmulti := '0'B,
+ multislotCapdtmgprsmultislotsubclass := omit
+ }
+ },
+ accessCapAdditionsAfterRel97 := omit
+ },
+ spare_bits := omit
+ }
+ }
+ },
+ presenceBitMSRACap := '0'B
+};
+
template (value) MSRadioAccessCapabilityLV ts_MS_RaCapa := {
lengthIndicator := 0, /* overwritten */
msRadioAccessCapabilityV := {
diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn
index 0d7de99..21a7c46 100644
--- a/library/RLCMAC_CSN1_Templates.ttcn
+++ b/library/RLCMAC_CSN1_Templates.ttcn
@@ -55,58 +55,6 @@ module RLCMAC_CSN1_Templates {
}
}
- private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 {
- if (istemplatekind(mscap_gprs, "omit")) {
- return '0'B;
- }
- return '1'B;
- }
- private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 {
- if (istemplatekind(mscap_egprs, "omit")) {
- return '0'B;
- }
- return '1'B;
- }
- template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := {
- mSRACapabilityValues := {
- mSRACapabilityValuesExclude1111 := {
- accessTechnType := att, /* E-GSM */
- accessCapabilities := {
- lengthIndicator := 0, /* overwritten */
- accessCapabilities := {
- rfPowerCapability := '001'B, /* FIXME */
- presenceBitA5 := '0'B,
- a5bits := omit,
- esind := '1'B,
- psbit := '0'B,
- vgcs := '0'B,
- vbs := '0'B,
- presenceBitMultislot := '1'B,
- multislotcap := {
- presenceBitHscsd := '0'B,
- hscsdmultislotclass := omit,
- presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs),
- gprsmultislot := mscap_gprs,
- presenceBitSms := '0'B,
- multislotCap_SMS := omit,
- multislotCapAdditionsAfterRel97 := {
- presenceBitEcsdmulti := '0'B,
- ecsdmultislotclass := omit,
- presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs),
- multislotCap_EGPRS := mscap_egprs,
- presenceBitDtmGprsmulti := '0'B,
- multislotCapdtmgprsmultislotsubclass := omit
- }
- },
- accessCapAdditionsAfterRel97 := omit
- },
- spare_bits := omit
- }
- }
- },
- presenceBitMSRACap := '0'B
- };
-
private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 {
if (istemplatekind(ms_rac, "omit")) {
return '0'B;