Add new LAPDm RAW port
This is a Test Component which sits on top of L1CTL (which in turn is on
top of the Unix Domain Socket Test Porrt). It performs LAPDm message
encoding/decoding, so we can use the regular send() / receive() methods
and associated template matching to send/receive/match LAPDm in a
comfortable way.
diff --git a/lapd/LAPDm_Types.ttcn b/lapd/LAPDm_Types.ttcn
index 522aa4d..988e015 100644
--- a/lapd/LAPDm_Types.ttcn
+++ b/lapd/LAPDm_Types.ttcn
@@ -116,7 +116,7 @@
};
template LapdmCtrl t_LapdmCtrlUA(template boolean f) modifies t_LapdmCtrlU := {
- u := { u2 := '01'B, p_f := f, u := '011'B }
+ u := { u2 := '00'B, p_f := f, u := '011'B }
};
external function dec_LapdmAddressField(in octetstring stream) return LapdmAddressField
@@ -154,16 +154,18 @@
type record LapdmFrameB {
LapdmAddressField addr,
LapdmCtrl ctrl,
- LapdmLengthIndicator len,
+ uint6_t len,
+ boolean m,
+ uint1_t el (1),
octetstring payload
- } with { variant "" };
+ } with { variant (len) "LENGTHTO(payload)"
+ variant "FIELDORDER(msb)" };
external function enc_LapdmFrameB(in LapdmFrameB si) return octetstring
with { extension "prototype(convert) encode(RAW)" };
external function dec_LapdmFrameB(in octetstring stream) return LapdmFrameB
with { extension "prototype(convert) decode(RAW)" };
-
/* Format B4 */
type record LapdmFrameB4 {
LapdmAddressField addr,