/* * @author STF 370 * @version $Id: LibIot_TypesAndValues.ttcn 16 2009-06-16 15:06:42Z pintar $ * @desc This module provides the (message) types and constants used by the test component * for Iot tests. */ module LibIot_TypesAndValues { import from LibCommon_BasicTypesAndValues {type UInt32, UInt16;} import from LibCommon_VerdictControl {type FncRetCode;} group commonTypes { type enumerated IOTExecMode { e_realtime, e_offline } type record Status { FncRetCode code, charstring reason optional } } group interfaceInformationrelatedTypes { /** * * @desc IP address type e.g. "127.0.0.1" */ type charstring IpAddress; /** * * @desc Type for port number, e.g. "5060" */ type UInt16 PortNumber; /** * * @desc List of port numbers */ type record of PortNumber PortNumberList; type record InterfaceAvailable { charstring interfaceName, boolean available } type set of InterfaceAvailable InterfaceAvailableList; /** * * @desc Required information for IP interfaces * @member domainName the domain name * @member IpAddress the ip address * @member portNumbers the list of port numbers where message are received */ type record IpInterfaceInfo { charstring domainName optional, IpAddress IpAddress, PortNumberList portNumbers } /** * * @desc List of IP interfacees */ type record of IpInterfaceInfo IpInterfaceInfoList; /** * * @desc Collection of different interface types, e.g for IP communications * This type can be extended with new alternative for other interface types */ type union InterfaceInfo { IpInterfaceInfoList IpInterfaceInfo } /** * * @desc Type for representing EUT interface information for monitored logical interfaces * @member interfaceName Name of logical interface * @member interfaceInfo Interface information specific to this logical interface */ type record MonitorInterfaceInfo { charstring interfaceName, InterfaceInfo interfaceInfo } /** * * @desc List of monitored interfaces */ type record of MonitorInterfaceInfo MonitorInterfaceInfoList; /** * * @desc Product specific EUT interface information * @member name the name of the vendor * @member monitorInterfaces monitor interface configuration */ type record Product { charstring productName, MonitorInterfaceInfoList monitorInterfaces } /** * * @desc List of product specificr EUT interface information */ type record of Product ProductList; } group adapterConfigurationTypes { type union CaptureMode { LiveCapture liveCpature, OfflineCapture offlineCapture } // type record of charstring PhysicalInterfaceList; type record LiveCapture { PhysicalInterfaceList physicalInterfaces, // TODO document example syntax RecordMode recordMode } type enumerated RecordMode { e_norecord, e_record } type record of charstring FileList; type record MergeFileList { FileList mergeFileList, charstring mergeFilePath, charstring mergeToolPath } type record CaptureSource { charstring sessionsPath, // e.g., the path where session's PCAP files are located like /tmp/19 MergeFileList mergeFileList } type record TimeOffset { UInt32 seconds, UInt32 microseconds } type record OfflineCapture { TimeOffset offset, CaptureSource captureSource } /** * * @desc Required information for EUTs IP interfaces * @member IpAddress the ip address * @member portNumber the list of port number where message are received */ type record EutInterfaceInfo { charstring eut, IpAddress ipAddress, PortNumber portNumber } /** * * @desc List of IP interfaces for EUTs */ type record of EutInterfaceInfo EutInterfaceInfoList; type record GeneralConfigurationReq { charstring captureProcessIpAddress, PortNumber captureProcessPort, CaptureMode captureMode, EutInterfaceInfoList eutInfoList optional } type record GeneralConfigurationRsp { Status status } //type record (2..infinity) of InterfaceInfo InterfaceInfoList; type record of InterfaceInfo InterfaceInfoList; type enumerated ProtocolFilter { e_sip, e_dns } type record SetFilterReq { ProtocolFilter protocol, InterfaceInfoList interfaceInfos } type record SetFilterRsp { Status status } type record StartTrafficCaptureReq { } type record StartTrafficCaptureRsp { Status status } type record StopTrafficCaptureReq { } type record StopTrafficCaptureRsp { Status status } } group oracleRelatedTypes { // used for PIXIT definition type enumerated IotVerdictType { e_e2e, e_conformance } // used for verdict handling type record VerdictType { verdicttype verdict, charstring reason optional } type union IotVerdict { VerdictType e2e, VerdictType conformance } } /** * @desc Default record */ type record of default DefaultList; type record ComponentId { charstring name, integer index // explain more } type set of ComponentId ComponentIdList; }