summaryrefslogtreecommitdiffstats
path: root/sysinfo
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-15 19:59:33 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-15 21:38:36 +0200
commita418918e5047b59a13ace3dddf4b3663a7b0a73a (patch)
treed891788659cd581eb7d01290bb08abf9eda9b578 /sysinfo
parenta082a696cfbf859b0212486d85534505d9539de0 (diff)
GSM_SystemInformation: Share header (for generic matching of type)
Diffstat (limited to 'sysinfo')
-rw-r--r--sysinfo/GSM_SystemInformation.ttcn28
1 files changed, 16 insertions, 12 deletions
diff --git a/sysinfo/GSM_SystemInformation.ttcn b/sysinfo/GSM_SystemInformation.ttcn
index 8413ee3..51f687b 100644
--- a/sysinfo/GSM_SystemInformation.ttcn
+++ b/sysinfo/GSM_SystemInformation.ttcn
@@ -142,7 +142,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.31 */
type record SystemInformationType1 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellChannelDescription cell_chan_desc,
RachControlParameters rach_control,
Si1RestOctets rest_octets
@@ -150,7 +150,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.32 */
type record SystemInformationType2 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription bcch_freq_list,
BIT8 ncc_permitted,
RachControlParameters rach_control
@@ -158,7 +158,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.33 */
type record SystemInformationType2bis {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription extd_bcch_freq_list,
RachControlParameters rach_control,
OCT1 rest_octets
@@ -166,7 +166,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.34 */
type record SystemInformationType2ter {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription2 extd_bcch_freq_list,
RachControlParameters rach_control,
OCT4 rest_octets
@@ -174,7 +174,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.35 */
type record SystemInformationType3 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellIdentity cell_id,
LocationAreaIdentification lai,
ControlChannelDescription ctrl_chan_desc,
@@ -186,7 +186,7 @@ module GSM_SystemInformation {
/* 44.018 9.1.36 */
type record SystemInformationType4 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
LocationAreaIdentification lai,
CellSelectionParameters cell_sel_par,
RachControlParameters rach_control,
@@ -203,19 +203,19 @@ module GSM_SystemInformation {
/* 44.018 9.1.38 */
type record SystemInformationType5bis {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription extd_bcch_freq_list
} with { variant "" };
/* 44.018 9.1.39 */
type record SystemInformationType5ter {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
NeighbourCellDescription2 extd_bcch_freq_list
} with { variant "" };
/* 44.018 9.1.40 */
type record SystemInformationType6 {
- SystemInformationHeader header,
+ //SystemInformationHeader header,
CellIdentity cell_id,
LocationAreaIdentification lai,
CellOptionsSacch cell_options,
@@ -223,8 +223,7 @@ module GSM_SystemInformation {
OCT7 rest_octets
} with { variant "" };
-
- type union SystemInformation {
+ type union SystemInformationUnion {
SystemInformationType1 si1,
SystemInformationType2 si2,
SystemInformationType2bis si2bis,
@@ -235,7 +234,12 @@ module GSM_SystemInformation {
SystemInformationType5bis si5bis,
SystemInformationType5ter si5ter,
SystemInformationType6 si6
- } with { variant "TAG(si1, header.message_type = SYSTEM_INFORMATION_TYPE_1;
+ } with { variant "" };
+
+ type record SystemInformation {
+ SystemInformationHeader header,
+ SystemInformationUnion payload
+ } with { variant (payload) "CROSSTAG(si1, header.message_type = SYSTEM_INFORMATION_TYPE_1;
si2, header.message_type = SYSTEM_INFORMATION_TYPE_2;
si2bis, header.message_type = SYSTEM_INFORMATION_TYPE_2bis;
si2ter, header.message_type = SYSTEM_INFORMATION_TYPE_2ter;