Commit 6fcc4da3 authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

Merge branch 'TTF0002' of https://forge.etsi.org/gitlab/LIBS/LibIts into TTF0002

parents dc79687e 2edfaf56
......@@ -39,6 +39,7 @@ module LibItsCam_Templates {
in template (present) CAM p_camMsg
) := {
msgIn := p_camMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......
......@@ -126,6 +126,7 @@ module LibItsCam_TestSystem language "TTCN-3:2010 Real Time and Performance Test
*/
type record CamInd {
CAM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......
......@@ -4,46 +4,49 @@ module LibItsCommon_ASN1_ISDSRC_NamedNumbers {
import from DSRC language "ASN.1:1997" all;
group IS_DSCR_constants {
group LaneParameter_constants {
const LaneAttributes_Barrier LaneAttributes_Barrier_median_RevocableLane_ := '0000000000000000'B;
group IS_DSCR_constants {
group LaneParameter_constants {
const LaneAttributes_Barrier LaneAttributes_Barrier_median_RevocableLane_ := '0000000000000000'B;
const LaneAttributes_Bike LaneAttributes_Bike_bikeRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Crosswalk LaneAttributes_Crosswalk_crosswalkRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Parking LaneAttributes_Parking_parkingRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Sidewalk LaneAttributes_Sidewalk_sidewalk_RevocableLane_ := '0000000000000000'B;
const LaneAttributes_Striping LaneAttributes_Striping_stripeToConnectingLanesRevocableLane_ := '0000000000000000'B;
const LaneAttributes_TrackedVehicle LaneAttributes_TrackedVehicle_spec_RevocableLane_ := '0000000000000000'B;
const LaneAttributes_Vehicle LaneAttributes_Vehicle_isVehicleRevocableLane_ := '00000000'B;
const LaneDirection LaneDirection_ingressPath_ := '00'B;
const LaneDirection LaneDirection_egressPath_ := '01'B;
} //end LaneParameter_constants
group Intersection_constants {
const IntersectionStatusObject IntersectionStatusObject_manualControlIsEnabled_ := '0000000000000000'B;
const IntersectionStatusObject IntersectionStatusObject_stopTimeIsActivated_ := '0000000000000001'B;
const IntersectionStatusObject IntersectionStatusObject_failureFlash_ := '0000000000000010'B;
const IntersectionStatusObject IntersectionStatusObject_preemptIsActive_ := '0000000000000011'B;
const IntersectionStatusObject IntersectionStatusObject_signalPriorityIsActive_ := '0000000000000100'B;
const IntersectionStatusObject IntersectionStatusObject_fixedTimeOperation_ := '0000000000000101'B;
const IntersectionStatusObject IntersectionStatusObject_trafficDependentOperation_ := '0000000000000110'B;
const IntersectionStatusObject IntersectionStatusObject_standbyOperation_ := '0000000000000111'B;
const IntersectionStatusObject IntersectionStatusObject_failureMode_ := '0000000000001000'B;
const IntersectionStatusObject IntersectionStatusObject_off_ := '0000000000001001'B;
const IntersectionStatusObject IntersectionStatusObject_recentMAPmessageUpdate_ := '0000000000001010'B;
const IntersectionStatusObject IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed_ := '0000000000001011'B;
const IntersectionStatusObject IntersectionStatusObject_noValidMAPisAvailableAtThisTime_ := '0000000000001100'B;
const IntersectionStatusObject IntersectionStatusObject_noValidSPATisAvailableAtThisTime_ := '0000000000001101'B;
} // End of group Intersection_constants
group requestor_description {
const TransitVehicleStatus TransitVehicleStatus_loading_ := '10000000'B;
const TransitVehicleStatus TransitVehicleStatus_anADAuse_ := '01000000'B;
const TransitVehicleStatus TransitVehicleStatus_aBikeLoad_ := '00100000'B;
const TransitVehicleStatus TransitVehicleStatus_doorOpen_ := '00010000'B;
const TransitVehicleStatus TransitVehicleStatus_charging_ := '00001000'B;
const TransitVehicleStatus TransitVehicleStatus_atStopLine_ := '00000100'B;
} // End of of group requestor_description
} // End of group IS_DSCR_constants
const LaneAttributes_Bike LaneAttributes_Bike_bikeRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Crosswalk LaneAttributes_Crosswalk_crosswalkRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Parking LaneAttributes_Parking_parkingRevocableLane_ := '0000000000000000'B;
const LaneAttributes_Sidewalk LaneAttributes_Sidewalk_sidewalk_RevocableLane_ := '0000000000000000'B;
const LaneAttributes_Striping LaneAttributes_Striping_stripeToConnectingLanesRevocableLane_ := '0000000000000000'B;
const LaneAttributes_TrackedVehicle LaneAttributes_TrackedVehicle_spec_RevocableLane_ := '0000000000000000'B;
const LaneAttributes_Vehicle LaneAttributes_Vehicle_isVehicleRevocableLane_ := '00000000'B;
const LaneDirection LaneDirection_ingressPath_ := '00'B;
const LaneDirection LaneDirection_egressPath_ := '01'B;
} //end LaneParameter_constants
group Intersection_constants {
const IntersectionStatusObject IntersectionStatusObject_manualControlIsEnabled_ := '0000000000000000'B;
const IntersectionStatusObject IntersectionStatusObject_stopTimeIsActivated_ := '0000000000000001'B;
const IntersectionStatusObject IntersectionStatusObject_failureFlash_ := '0000000000000010'B;
const IntersectionStatusObject IntersectionStatusObject_preemptIsActive_ := '0000000000000011'B;
const IntersectionStatusObject IntersectionStatusObject_signalPriorityIsActive_ := '0000000000000100'B;
const IntersectionStatusObject IntersectionStatusObject_fixedTimeOperation_ := '0000000000000101'B;
const IntersectionStatusObject IntersectionStatusObject_trafficDependentOperation_ := '0000000000000110'B;
const IntersectionStatusObject IntersectionStatusObject_standbyOperation_ := '0000000000000111'B;
const IntersectionStatusObject IntersectionStatusObject_failureMode_ := '0000000000001000'B;
const IntersectionStatusObject IntersectionStatusObject_off_ := '0000000000001001'B;
const IntersectionStatusObject IntersectionStatusObject_recentMAPmessageUpdate_ := '0000000000001010'B;
const IntersectionStatusObject IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed_ := '0000000000001011'B;
const IntersectionStatusObject IntersectionStatusObject_noValidMAPisAvailableAtThisTime_ := '0000000000001100'B;
const IntersectionStatusObject IntersectionStatusObject_noValidSPATisAvailableAtThisTime_ := '0000000000001101'B;
} //end Intersection_constants
} // end IS_DSCR_constants
} // End of module LibItsCommon_ASN1_ISDSRC_NamedNumbers
......@@ -64,6 +64,7 @@ module LibItsDenm_Templates {
template (present) DENM p_denMsg
) := {
msgIn := p_denMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......
......@@ -130,6 +130,7 @@ module LibItsDenm_TestSystem {
*/
type record DenmInd {
DENM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......
......@@ -10,7 +10,7 @@ module LibItsDenm_TypesAndValues {
//LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from ITS_Container language "ASN.1:1997" all;
......
......@@ -185,7 +185,7 @@ module LibItsGeoNetworking_Functions {
f_initialiseComponent(v_positionTable, v_areaTable, c_compNodeB);
} // End of group f_cf01Up
} // End of function f_cf01Up
function f_cf01Down() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
......@@ -270,7 +270,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // End of group f_cf02Up
} // End of function f_cf02Up
/**
* @desc Deletes configuration cf02
......@@ -293,7 +293,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf02Down
} // End of function f_cf02Down
/**
* @desc This configuration features:
......@@ -364,7 +364,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // End of group f_cf03Up
} // End of function f_cf03Up
/**
* @desc Deletes configuration cf03
......@@ -387,7 +387,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf03Down
} // End of function f_cf03Down
/**
* @desc This configuration features:
......@@ -460,7 +460,7 @@ module LibItsGeoNetworking_Functions {
}
}
} // End of group f_cf04Up
} // End of function f_cf04Up
/**
* @desc Deletes configuration cf04
......@@ -483,7 +483,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf04Down
} // End of function f_cf04Down
/**
* @desc This configuration features:
......@@ -574,7 +574,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf05Down
} // End of function f_cf05Down
/**
* @desc This configuration features:
......@@ -666,7 +666,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf06Down
} // End of function f_cf06Down
/**
* @desc This configuration features:
......@@ -757,7 +757,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort);
} // End of group f_cf07Down
} // End of function f_cf07Down
/**
* @desc Behavior function for initializing component's variables and tables
......
......@@ -14,6 +14,7 @@ module LibItsGeoNetworking_TestSystem {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
import from LibCommon_Sync all;
// LibItsCommon
import from LibItsCommon_TestSystem all;
......
......@@ -347,7 +347,7 @@ module LibItsIvim_Functions {
//
// return v_ret;
// }
function f_prInitialState(Scenario p_scenario := e_staticPosition,
function f_prInitialState(Scenario p_scenario := e_staticPosition, // TODO: To be removed, not used in IVIM (RSU)
in charstring p_certificate_id := ""
) runs on ItsIvim return FncRetCode {
var FncRetCode v_ret := e_success;
......
......@@ -39,49 +39,49 @@ module LibItsIvim_Pixits {
* ZoneId 1 used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar Zid PX_ZONEID_1 := 1
modulepar Zid PX_ZONEID_1 := 1;
/**
* @desc IUT ZoneId 2 identifier
* ZoneId 2 used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar Zid PX_ZONEID_2 := 2
modulepar Zid PX_ZONEID_2 := 2;
/**
* @desc IUT LaneId identifier
* LaneId used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar LanePosition PX_LANE := 1 //innermostDrivingLane(1)
modulepar LanePosition PX_LANE := 1; //innermostDrivingLane(1)
/**
* @desc IUT RelavanceZoneId identifier
* RelavanceZoneId used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar Zid PX_RELAVANCE_ZONEID := 1
modulepar Zid PX_RELAVANCE_ZONEID := 1;
/**
* @desc IUT DetectionZoneId identifier
* DetectionZoneId used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar Zid PX_DETECTION_ZONEID := 1
modulepar Zid PX_DETECTION_ZONEID := 1;
/**
* @desc IUT DriverAwarenesZoneId identifier
* DriverAwarenesZoneId used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar Zid PX_DRIVER_AWARENES_ZONEID := 1
modulepar Zid PX_DRIVER_AWARENES_ZONEID := 1;
/**
* @desc IUT LayoutId identifier
* LayoutId used in IVIM messages sent by the tester
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar integer PX_LAYOUTID := 1
modulepar integer PX_LAYOUTID := 1;
/**
* @desc IUT RScode integer variant
......@@ -90,6 +90,6 @@ module LibItsIvim_Pixits {
* //add others if needed
* @see ETSI TS 103 191-3 Table B.8
*/
modulepar integer PX_RSCODE_VA := 1
modulepar integer PX_RSCODE_VA := 1;
} // End of module LibItsIvim_Pixits
\ No newline at end of file
} // End of module LibItsIvim_Pixits
......@@ -59,6 +59,7 @@ module LibItsIvim_Templates {
template (present) IVIM p_iviMsg := ?
) := {
msgIn := p_iviMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......@@ -70,24 +71,6 @@ module LibItsIvim_Templates {
its_aid := *
} // End of template mw_ivimInd
/**
* @desc Send template for IVI Message (IvimPort Primitive)
* @param p_iviMsg The expected IVI Message
*/
template (value) IvimInd m_ivimInd(
template (value) IVIM p_iviMsg
) := {
msgIn := p_iviMsg,
gnNextHeader := omit,
gnHeaderType := omit,
gnHeaderSubtype := omit,
gnLifetime := omit,
gnTrafficClass := omit,
btpDestinationPort := omit,
btpInfo := omit,
ssp := omit,
its_aid := omit
} // End of template m_ivimInd
/**
* @desc Receive template for IVI Message (IvimPort Primitive)
......@@ -143,30 +126,15 @@ module LibItsIvim_Templates {
its_aid := p_its_aid
} // End of template mw_ivimIndWithSecurityParameters
/**
* @desc Send template for IVI Message (IvimPort Primitive)
* @param p_iviMsg The expected IVI Message
* @param p_ssp SSP security parameter
* @param p_its_aid ITS-AID value
*/
template IvimInd m_ivimIndWithSecurityParameters(
template (value) IVIM p_iviMsg,
template Bit256 p_ssp := omit,
template UInt32 p_its_aid := omit
) modifies m_ivimInd := {
ssp := p_ssp,
its_aid := p_its_aid
} // End of template mw_ivimIndWithSecurityParameters
group utPrimitives {
/**
* @desc Send template for Upper Tester event initialization
*/
template (value) UtIvimInitialize m_ivimStructureInitialize(
in HashedId8 p_hashedId8 := '0000000000000000'O
in HashedId8 p_hashedId8 := '0000000000000000'O
) := {
hashedId8 := '0000000000000000'O
hashedId8 := p_hashedId8
} // End of template m_ivimStructureInitialize
/**
......@@ -210,22 +178,19 @@ module LibItsIvim_Templates {
* @param p_validFrom Valid From value (Default: omit)
* @param p_validTo Valid To value (Default: omit)
* @param p_connectedIviStructures List of ConnectedIviStructure (Default: omit)
* @param p_optional_ Optional field (Default: omit)
*/
template (omit) UtIvimUpdate m_utIvimUpdateEvent(
template (value) IviIdentificationNumber p_iviIdentificationNumber,
template (omit) TimestampIts p_timeStamp := c_duration_2sec,
template (omit) TimestampIts p_validFrom := omit,
template (omit) TimestampIts p_validTo := omit,
template (omit) IVIManagementContainer.connectedIviStructures p_connectedIviStructures := omit,
template (omit) IviStructure.optional_ p_optional_ := omit
template (omit) IVIManagementContainer.connectedIviStructures p_connectedIviStructures := omit
) := {
iviIdentificationNumber := p_iviIdentificationNumber,
validFrom := p_validFrom,
validTo := p_validTo,
timeStamp := p_timeStamp,
connectedIviStructures := p_connectedIviStructures,
optional_ := p_optional_
connectedIviStructures := p_connectedIviStructures
} // End of template m_utIvimUpdateEvent
/**
......
......@@ -126,6 +126,7 @@ module LibItsIvim_TestSystem {
*/
type record IvimInd {
IVIM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......
......@@ -94,8 +94,7 @@ module LibItsIvim_TypesAndValues {
* @member utIvimInitialize -
* @member utIvimTriggerResult -
* @member utIvimUpdateResult, -
* @member utIvimChangePositionResult -
* @member utIvimChangePseudonymResult -
* @member utIvimTerminationResult -
*/
type union UtIvimResults {
boolean utIvimInitializeResult,
......@@ -143,8 +142,7 @@ module LibItsIvim_TypesAndValues {
TimestampIts validFrom optional,
TimestampIts validTo optional,
TimestampIts timeStamp optional,
IVIManagementContainer.connectedIviStructures connectedIviStructures optional,
IviStructure.optional_ optional_ optional
IVIManagementContainer.connectedIviStructures connectedIviStructures optional
} with {
variant "FIELDORDER(msb)"
}
......
......@@ -54,6 +54,7 @@ module LibItsMapemSpatem_Templates {
template (present) MAPEM p_mapemMsg
) := {
msgIn := p_mapemMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......@@ -137,6 +138,7 @@ module LibItsMapemSpatem_Templates {
template (present) SPATEM p_spatemMsg
) := {
msgIn := p_spatemMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......@@ -451,7 +453,7 @@ module LibItsMapemSpatem_Templates {
ingressApproach := p_ingressApproach, // inbound Approach IDs to which this lane belongs
egressApproach := p_egressApproach, // outbound Approach IDs to which this lane belongs
laneAttributes := p_laneAttributes, // All Attribute information about the basic selected lane type
maneuvers := omit, // the permitted maneuvers for this lane
maneuvers := p_allowedManeuvers, // the permitted maneuvers for this lane
nodeList := p_nodeListXY, // Lane spatial path information as well as various Attribute information along the node path
// Attributes found here are more general and may come and go over the length of the lane.
connectsTo := p_connectsToList, // a list of other lanes and their signal group IDs each connecting lane and its signal group ID is given, therefore this element provides the information formerly in "signalGroups" in prior editions.
......
......@@ -111,6 +111,7 @@ module LibItsMapemSpatem_TestSystem {
type record MapemInd {
MAPEM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......@@ -127,6 +128,7 @@ module LibItsMapemSpatem_TestSystem {
type record SpatemInd {
SPATEM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......
/**
* @author ETSI / STF484 / STF517
* @version $URL$
* $Id$
* @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn $
* $Id: LibItsMapemSpatem_TypesAndValues.ttcn 1307 2016-12-13 07:51:14Z garciay $
* @desc Module containing types and values for MAPEM SPATEM
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
......
......@@ -52,6 +52,14 @@ module LibItsPki_Pixits {
*/
modulepar SecurityAlg PX_VE_ALG := e_nist_p256;
modulepar Int16 PX_GENERATED_CERTIFICATE_DURATION := 120;
modulepar SubjectAssurance PX_GENERATED_CERTIFICATE_SUBJECT_ASSURENCE_LEVEL := '00'O;
modulepar CountryOnly PX_GENERATED_CERTIFICATE_REGION_COUNTRY_1 := 250;
modulepar CountryOnly PX_GENERATED_CERTIFICATE_REGION_COUNTRY_2 := 380;
modulepar octetstring PX_INNER_EC_CERTFICATE_BITMAP_SSP_SCR := '01C0'O;
modulepar octetstring PX_INNER_EC_CERTFICATE_INCORRECT_BITMAP_SSP_SCR := '01FF'O;
......
......@@ -73,7 +73,7 @@ module LibItsRtcmem_Functions {
}
[] utPort.receive ( UtRtcmemResults: { utRtcmemTriggerResult := false }) {
tc_wait.stop;
f_selfOrClientSyncAndVerdict("SREM Trigger failed", e_error);
f_selfOrClientSyncAndVerdict("RTCMEM Trigger failed", e_error);
}
[] tc_wait.timeout {
log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***");
......@@ -104,7 +104,7 @@ module LibItsRtcmem_Functions {
}
[] utPort.receive ( UtRtcmemResults: { utRtcmemUpdateResult := false }) {
tc_wait.stop;
f_selfOrClientSyncAndVerdict("SREM Update failed", e_error);
f_selfOrClientSyncAndVerdict("RTCMEM Update failed", e_error);
}
[] tc_wait.timeout {
log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***");
......@@ -130,9 +130,13 @@ module LibItsRtcmem_Functions {
utPort.send(p_event);
tc_wait.start;
alt {
[] utPort.receive(UtRtcmemResults: { utRtcmemTerminationResult := ?}) {
[] utPort.receive(UtRtcmemResults: { utRtcmemTerminationResult := true}) {
tc_wait.stop;
}
[] utPort.receive(UtRtcmemResults: { utRtcmemTerminationResult := false}) {
tc_wait.stop;
f_selfOrClientSyncAndVerdict("RTCMEM Termination failed", e_error);
}
[] tc_wait.timeout {
log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***");
f_selfOrClientSyncAndVerdict("error", e_timeout);
......@@ -225,7 +229,7 @@ module LibItsRtcmem_Functions {
*/
altstep a_default() runs on ItsRtcmem {
[vc_rtcmemDefaultActive] rtcmemPort.receive(mw_rtcmemInd(mw_rtcmemPdu(mw_defaultRtcmem))) {
log("*** " & testcasename() & ": INFO: SREMM received in default ***");
log("*** " & testcasename() & ": INFO: RTCMEM received in default ***");
vc_rtcmemReceived := true;
repeat;
}
......@@ -364,7 +368,7 @@ module LibItsRtcmem_Functions {
group receiveFunctions {
/**
* @desc Awaits a SREM and returns it
* @desc Awaits a RTCMEM and returns it
* @param p_rcvMsg The expected message to be received.
* @param p_rcvdMsg The received message - OUT.
*/
......
......@@ -40,6 +40,7 @@ module LibItsRtcmem_Templates {
template (present) RTCMEM p_rtcmemMsg
) := {
msgIn := p_rtcmemMsg,
recvTime := ?,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
......
......@@ -92,6 +92,7 @@ module LibItsRtcmem_TestSystem {
type record RtcmemInd {
RTCMEM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment