library/L1CTL_Types: add missing template restrictions
The template restrictions are quite useful, becaue they give hints
to the TTCN-3 compiler, so it can spot more bugs. For example,
the lack of thereof would not prevent one from passing 'omit' to
a template, that assigns a value to a non-optional field, so that
might lead to a DTE at run-time in some cases.
Since adding 'template (restriction) ' to each template parameter
obviously makes templates look more cumbersome, let's move the
part with template name and arguments onto a separate line, just
like it's sometimes done for function definitions in C.
Change-Id: I7e6846381e0b3fb611059fcfbafb19bd6c15cfd8
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 03ec23f..fe375ef 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -105,13 +105,15 @@
OCT2 padding
} with { variant "" };
- template L1ctlHeader tr_L1ctlHeader(template L1ctlMsgType msg_type) := {
+ template L1ctlHeader
+ tr_L1ctlHeader(template (present) L1ctlMsgType msg_type) := {
msg_type := msg_type,
flags := ?,
padding := ?
};
- template (value) L1ctlHeader ts_L1ctlHeader(L1ctlMsgType msg_type) := {
+ template (value) L1ctlHeader
+ ts_L1ctlHeader(template (value) L1ctlMsgType msg_type) := {
msg_type := msg_type,
flags := { padding := '0000000'B, f_done := false },
padding := '0000'O
@@ -459,7 +461,8 @@
/* for generating RESET_REQ */
- template (value) L1ctlUlMessage t_L1ctlResetReq(L1ctlResetType rst_type) := {
+ template (value) L1ctlUlMessage
+ t_L1ctlResetReq(template (value) L1ctlResetType rst_type) := {
header := ts_L1ctlHeader(L1CTL_RESET_REQ),
ul_info := omit,
ul_info_tbf := omit,
@@ -473,10 +476,12 @@
};
/* for generating FBSB_REQ */
- template (value) L1ctlUlMessage ts_L1CTL_FBSB_REQ(Arfcn arfcn, L1ctlFbsbFlags flags,
- uint8_t sync_info_idx,
- L1ctlCcchMode ccch_mode,
- GsmRxLev rxlev_exp) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_FBSB_REQ(template (value) Arfcn arfcn,
+ template (value) L1ctlFbsbFlags flags,
+ template (value) uint8_t sync_info_idx,
+ template (value) L1ctlCcchMode ccch_mode,
+ template (value) GsmRxLev rxlev_exp) := {
header := ts_L1ctlHeader(L1CTL_FBSB_REQ),
ul_info := omit,
ul_info_tbf := omit,
@@ -497,7 +502,8 @@
};
/* for matching against incoming FBSB_CONF */
- template L1ctlDlMessage tr_L1CTL_FBSB_CONF(template uint8_t result) := {
+ template L1ctlDlMessage
+ tr_L1CTL_FBSB_CONF(template (present) uint8_t result) := {
header := tr_L1ctlHeader(L1CTL_FBSB_CONF),
dl_info := ?,
payload := {
@@ -509,7 +515,8 @@
}
};
- template (value) L1ctlUlMessage ts_L1CTL_CCCH_MODE_REQ(L1ctlCcchMode ccch_mode) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_CCCH_MODE_REQ(template (value) L1ctlCcchMode ccch_mode) := {
header := ts_L1ctlHeader(L1CTL_CCCH_MODE_REQ),
ul_info := omit,
ul_info_tbf := omit,
@@ -541,7 +548,8 @@
};
- template L1ctlDlMessage tr_L1CTL_MsgType(template L1ctlMsgType msg_type) := {
+ template L1ctlDlMessage
+ tr_L1CTL_MsgType(template (present) L1ctlMsgType msg_type) := {
header := tr_L1ctlHeader(msg_type),
dl_info := *,
payload := *
@@ -549,9 +557,12 @@
template L1ctlDlMessage tr_L1CTL_CCCH_MODE_CONF := tr_L1CTL_MsgType(L1CTL_CCCH_MODE_CONF);
- template L1ctlUlMessage ts_L1CTL_RACH_REQ(uint8_t ra, uint8_t combined, uint16_t offset,
- template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0),
- template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0)) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_RACH_REQ(template (value) uint8_t ra,
+ template (value) uint8_t combined,
+ template (value) uint16_t offset,
+ template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0),
+ template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0)) := {
header := ts_L1ctlHeader(L1CTL_RACH_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -569,10 +580,11 @@
}
}
- template L1ctlUlMessage ts_L1CTL_EXT_RACH_REQ(
- uint16_t ra11, L1ctlRachSynchSeq seq,
- uint8_t combined, uint16_t offset
- ) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_EXT_RACH_REQ(template (value) uint16_t ra11,
+ template (value) L1ctlRachSynchSeq seq,
+ template (value) uint8_t combined,
+ template (value) uint16_t offset) := {
header := ts_L1ctlHeader(L1CTL_EXT_RACH_REQ),
ul_info := {
/* FIXME: both RSL chan_nr and link_id should be configurable */
@@ -592,7 +604,9 @@
}
}
- template L1ctlUlMessage ts_L1CTL_PAR_REQ(uint8_t ta, uint8_t tx_power) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_PAR_REQ(template (value) uint8_t ta,
+ template (value) uint8_t tx_power) := {
header := ts_L1ctlHeader(L1CTL_PARAM_REQ),
ul_info := {
chan_nr := t_RslChanNr_RACH(0),
@@ -611,8 +625,9 @@
}
/* Base template to be inherited by ts_L1CTL_DM_EST_REQ_H0 and ts_L1CTL_DM_EST_REQ_H1 */
- private template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ(template (value) RslChannelNr chan_nr,
- template (value) GsmTsc tsc) := {
+ private template (value) L1ctlUlMessage
+ ts_L1CTL_DM_EST_REQ(template (value) RslChannelNr chan_nr,
+ template (value) GsmTsc tsc) := {
header := ts_L1ctlHeader(L1CTL_DM_EST_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -630,9 +645,10 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H0(template (value) RslChannelNr chan_nr,
- template (value) GsmTsc tsc,
- template (value) GsmArfcn arfcn)
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DM_EST_REQ_H0(template (value) RslChannelNr chan_nr,
+ template (value) GsmTsc tsc,
+ template (value) GsmArfcn arfcn)
modifies ts_L1CTL_DM_EST_REQ := {
payload := {
dm_est_req := {
@@ -647,11 +663,12 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H1(template (value) RslChannelNr chan_nr,
- template (value) GsmTsc tsc,
- template (value) uint6_t hsn,
- template (value) uint6_t maio,
- template (value) L1ctlMA ma)
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DM_EST_REQ_H1(template (value) RslChannelNr chan_nr,
+ template (value) GsmTsc tsc,
+ template (value) uint6_t hsn,
+ template (value) uint6_t maio,
+ template (value) L1ctlMA ma)
modifies ts_L1CTL_DM_EST_REQ := {
payload := {
dm_est_req := {
@@ -671,7 +688,8 @@
}
}
- template L1ctlUlMessage ts_L1CTL_DM_REL_REQ(RslChannelNr chan_nr) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DM_REL_REQ(template (value) RslChannelNr chan_nr) := {
header := ts_L1ctlHeader(L1CTL_DM_REL_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -685,9 +703,10 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_DATA_REQ(template (value) RslChannelNr chan_nr,
- template (value) RslLinkId link_id,
- octetstring l2_data) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DATA_REQ(template (value) RslChannelNr chan_nr,
+ template (value) RslLinkId link_id,
+ octetstring l2_data) := {
header := ts_L1ctlHeader(L1CTL_DATA_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -704,10 +723,11 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_DATA_REQ_SACCH(template (value) RslChannelNr chan_nr,
- template (value) RslLinkId link_id,
- template (value) SacchL1Header l1h,
- octetstring l2_data) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DATA_REQ_SACCH(template (value) RslChannelNr chan_nr,
+ template (value) RslLinkId link_id,
+ template (value) SacchL1Header l1h,
+ octetstring l2_data) := {
header := ts_L1ctlHeader(L1CTL_DATA_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -724,9 +744,10 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_TRAFFIC_REQ(template (value) RslChannelNr chan_nr,
- template (value) RslLinkId link_id,
- octetstring frame) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_TRAFFIC_REQ(template (value) RslChannelNr chan_nr,
+ template (value) RslLinkId link_id,
+ octetstring frame) := {
header := ts_L1ctlHeader(L1CTL_TRAFFIC_REQ),
ul_info := {
chan_nr := chan_nr,
@@ -742,7 +763,9 @@
}
};
- template (value) L1ctlUlMessage ts_L1CTL_TBF_CFG_REQ(boolean is_uplink, TfiUsfArr tfi_usf) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_TBF_CFG_REQ(template (value) boolean is_uplink,
+ template (value) TfiUsfArr tfi_usf) := {
header := ts_L1ctlHeader(L1CTL_TBF_CFG_REQ),
ul_info := omit,
ul_info_tbf := omit,
@@ -757,7 +780,8 @@
}
};
- template L1ctlDlMessage tr_L1CTL_TBF_CFG_CONF(template boolean is_uplink) := {
+ template L1ctlDlMessage
+ tr_L1CTL_TBF_CFG_CONF(template (present) boolean is_uplink) := {
header := tr_L1ctlHeader(L1CTL_TBF_CFG_CONF),
dl_info := omit,
payload := {
@@ -770,9 +794,10 @@
}
};
- template (value) L1ctlUlMessage ts_L1CTL_DATA_TBF_REQ(octetstring l2_data,
- L1ctlGprsCs cs := L1CTL_CS1,
- uint8_t tbf_nr := 0) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DATA_TBF_REQ(octetstring l2_data,
+ template (value) L1ctlGprsCs cs := L1CTL_CS1,
+ template (value) uint8_t tbf_nr := 0) := {
header := ts_L1ctlHeader(L1CTL_DATA_TBF_REQ),
ul_info := omit,
ul_info_tbf := {
@@ -786,10 +811,13 @@
}
}
- template (value) L1ctlUlMessage ts_L1CTL_DATA_ABS_REQ(octetstring l2_data, Arfcn arfcn,
- uint8_t ts, GsmFrameNumber fn,
- L1ctlGprsCs cs := L1CTL_CS1,
- uint8_t tbf_nr := 0) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_DATA_ABS_REQ(octetstring l2_data,
+ template (value) Arfcn arfcn,
+ template (value) uint8_t ts,
+ template (value) GsmFrameNumber fn,
+ template (value) L1ctlGprsCs cs := L1CTL_CS1,
+ template (value) uint8_t tbf_nr := 0) := {
header := ts_L1ctlHeader(L1CTL_DATA_ABS_REQ),
ul_info := omit,
ul_info_tbf := omit,
@@ -816,11 +844,12 @@
};
/* for matching against incoming DATA_IND */
- template L1ctlDlMessage tr_L1CTL_DATA_IND(template RslChannelNr chan_nr,
- template RslLinkId link_id := ?,
- template octetstring l2_data := ?,
- template uint8_t num_biterr := 0,
- template uint8_t fire_crc := 0) := {
+ template L1ctlDlMessage
+ tr_L1CTL_DATA_IND(template (present) RslChannelNr chan_nr,
+ template (present) RslLinkId link_id := ?,
+ template (present) octetstring l2_data := ?,
+ template (present) uint8_t num_biterr := 0,
+ template (present) uint8_t fire_crc := 0) := {
header := tr_L1ctlHeader(L1CTL_DATA_IND),
dl_info := {
chan_nr := chan_nr,
@@ -840,11 +869,12 @@
};
/* for matching against incoming TRAFFIC_IND */
- template L1ctlDlMessage tr_L1CTL_TRAFFIC_IND(template RslChannelNr chan_nr,
- template RslLinkId link_id := ?,
- template octetstring frame := ?,
- template uint8_t num_biterr := ?,
- template uint8_t fire_crc := ?) := {
+ template L1ctlDlMessage
+ tr_L1CTL_TRAFFIC_IND(template (present) RslChannelNr chan_nr,
+ template (present) RslLinkId link_id := ?,
+ template (present) octetstring frame := ?,
+ template (present) uint8_t num_biterr := ?,
+ template (present) uint8_t fire_crc := ?) := {
header := tr_L1ctlHeader(L1CTL_TRAFFIC_IND),
dl_info := {
chan_nr := chan_nr,
@@ -863,8 +893,10 @@
}
};
- template (value) L1ctlUlMessage ts_L1CTL_CRYPTO_REQ(RslChannelNr chan_nr, uint8_t algo,
- octetstring key) := {
+ template (value) L1ctlUlMessage
+ ts_L1CTL_CRYPTO_REQ(template (value) RslChannelNr chan_nr,
+ template (value) uint8_t algo,
+ template (value) octetstring key) := {
header := ts_L1ctlHeader(L1CTL_CRYPTO_REQ),
ul_info := {
chan_nr := chan_nr,