titan support: Rebuild C++ source from ttcn using ttcn3_compiler
This commit is contained in:
parent
db8c4ca598
commit
71f0f1d94d
1
Makefile
1
Makefile
|
@ -25,3 +25,4 @@ titan/titan.a:
|
|||
|
||||
clean:
|
||||
rm -f *.o libudtrace.so
|
||||
$(MAKE) -C titan clean
|
||||
|
|
14431
titan/General_Types.cc
14431
titan/General_Types.cc
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,329 @@
|
|||
/******************************************************************************
|
||||
* Copyright (c) 2000-2017 Ericsson Telecom AB
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Balasko, Jeno
|
||||
* Baranyi, Botond
|
||||
*
|
||||
******************************************************************************/
|
||||
//
|
||||
// File: General_Types.ttcn
|
||||
// Rev: <RnXnn>
|
||||
// Prodnr: CNL 113 368
|
||||
// Updated: 2012-11-06
|
||||
// Contact: http://ttcn.ericsson.se
|
||||
// Reference:
|
||||
|
||||
|
||||
module General_Types
|
||||
{
|
||||
|
||||
group SimpleNativeTypes {
|
||||
|
||||
//****************************************************
|
||||
// Bitstrings
|
||||
//****************************************************
|
||||
|
||||
//bitstring with fixed length
|
||||
type bitstring BIT1n length(1) with { variant "" };
|
||||
type bitstring BIT2n length(2) with { variant "" };
|
||||
type bitstring BIT3n length(3) with { variant "" };
|
||||
type bitstring BIT4n length(4) with { variant "" };
|
||||
type bitstring BIT5n length(5) with { variant "" };
|
||||
type bitstring BIT6n length(6) with { variant "" };
|
||||
type bitstring BIT7n length(7) with { variant "" };
|
||||
type bitstring BIT8n length(8) with { variant "" };
|
||||
type bitstring BIT9n length(9) with { variant "" };
|
||||
type bitstring BIT12n length(12) with { variant "" };
|
||||
type bitstring BIT14n length(14) with { variant "" };
|
||||
type bitstring BIT15n length(15) with { variant "" };
|
||||
type bitstring BIT16n length(16) with { variant "" };
|
||||
type bitstring BIT56n length(56) with { variant "" };
|
||||
|
||||
//bitstring with length interval
|
||||
type bitstring BIT14_24n length(14..24) with { variant "" };
|
||||
|
||||
//bitstring to be padded with fixed length
|
||||
type bitstring BIT1np length(1) with { variant "" };
|
||||
type bitstring BIT2np length(2) with { variant "" };
|
||||
type bitstring BIT3np length(3) with { variant "" };
|
||||
type bitstring BIT4np length(4) with { variant "" };
|
||||
type bitstring BIT5np length(5) with { variant "" };
|
||||
type bitstring BIT6np length(6) with { variant "" };
|
||||
type bitstring BIT7np length(7) with { variant "" };
|
||||
type bitstring BIT15np length(15) with { variant "" };
|
||||
|
||||
//bitstring with fixed length
|
||||
type bitstring BIT1 length(1) with { variant "FIELDLENGTH(1)" };
|
||||
type bitstring BIT2 length(2) with { variant "FIELDLENGTH(2)" };
|
||||
type bitstring BIT3 length(3) with { variant "FIELDLENGTH(3)" };
|
||||
type bitstring BIT4 length(4) with { variant "FIELDLENGTH(4)" };
|
||||
type bitstring BIT5 length(5) with { variant "FIELDLENGTH(5)" };
|
||||
type bitstring BIT6 length(6) with { variant "FIELDLENGTH(6)" };
|
||||
type bitstring BIT7 length(7) with { variant "FIELDLENGTH(7)" };
|
||||
type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" };
|
||||
type bitstring BIT9 length(9) with { variant "FIELDLENGTH(9)" };
|
||||
type bitstring BIT10 length(10) with { variant "FIELDLENGTH(10)" };
|
||||
type bitstring BIT11 length(11) with { variant "FIELDLENGTH(11)" };
|
||||
type bitstring BIT12 length(12) with { variant "FIELDLENGTH(12)" };
|
||||
type bitstring BIT13 length(13) with { variant "FIELDLENGTH(13)" };
|
||||
type bitstring BIT14 length(14) with { variant "FIELDLENGTH(14)" };
|
||||
type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" };
|
||||
type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" };
|
||||
type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" };
|
||||
type bitstring BIT28 length(28) with { variant "FIELDLENGTH(28)" };
|
||||
type bitstring BIT29 length(29) with { variant "FIELDLENGTH(29)" };
|
||||
type bitstring BIT30 length(30) with { variant "FIELDLENGTH(30)" };
|
||||
type bitstring BIT31 length(31) with { variant "FIELDLENGTH(31)" };
|
||||
type bitstring BIT32 length(32) with { variant "FIELDLENGTH(32)" };
|
||||
type bitstring BIT56 length(56) with { variant "FIELDLENGTH(56)" };
|
||||
|
||||
//****************************************************
|
||||
// Octetstrings
|
||||
//****************************************************
|
||||
|
||||
//octetstring with fixed length
|
||||
type octetstring OCT0n length(0) with { variant "" };
|
||||
type octetstring OCT1n length(1) with { variant "" };
|
||||
type octetstring OCT2n length(2) with { variant "" };
|
||||
type octetstring OCT3n length(3) with { variant "" };
|
||||
type octetstring OCT4n length(4) with { variant "" };
|
||||
type octetstring OCT5n length(5) with { variant "" };
|
||||
type octetstring OCT6n length(6) with { variant "" };
|
||||
type octetstring OCT7n length(7) with { variant "" };
|
||||
type octetstring OCT8n length(8) with { variant "" };
|
||||
type octetstring OCT9n length(9) with { variant "" };
|
||||
type octetstring OCT10n length(10) with { variant "" };
|
||||
type octetstring OCT11n length(11) with { variant "" };
|
||||
type octetstring OCT12n length(12) with { variant "" };
|
||||
type octetstring OCT13n length(13) with { variant "" };
|
||||
type octetstring OCT14n length(14) with { variant "" };
|
||||
type octetstring OCT15n length(15) with { variant "" };
|
||||
type octetstring OCT16n length(16) with { variant "" };
|
||||
type octetstring OCT17n length(17) with { variant "" };
|
||||
type octetstring OCT18n length(18) with { variant "" };
|
||||
type octetstring OCT19n length(19) with { variant "" };
|
||||
type octetstring OCT20n length(20) with { variant "" };
|
||||
type octetstring OCT28n length(28) with { variant "" };
|
||||
type octetstring OCT32n length(32) with { variant "" };
|
||||
type octetstring OCT34n length(34) with { variant "" };
|
||||
type octetstring OCT46n length(46) with { variant "" };
|
||||
type octetstring OCT50n length(50) with { variant "" };
|
||||
type octetstring OCT69n length(69) with { variant "" };
|
||||
type octetstring OCT100n length(100) with { variant "" };
|
||||
type octetstring OCT128n length(128) with { variant "" };
|
||||
type octetstring OCT500n length(500) with { variant "" };
|
||||
type octetstring OCTNn with { variant "" };
|
||||
|
||||
//octetstring with length interval
|
||||
type octetstring OCT1_3n length(1..3) with { variant "" };
|
||||
type octetstring OCT1_4n length(1..4) with { variant "" };
|
||||
type octetstring OCT1_5n length(1..5) with { variant "" };
|
||||
type octetstring OCT1_6n length(1..6) with { variant "" };
|
||||
type octetstring OCT1_7n length(1..7) with { variant "" };
|
||||
type octetstring OCT1_8n length(1..8) with { variant "" };
|
||||
type octetstring OCT1_12n length(1..12) with { variant "" };
|
||||
type octetstring OCT1_15n length(1..15) with { variant "" };
|
||||
type octetstring OCT1_16n length(1..16) with { variant "" };
|
||||
type octetstring OCT1_18n length(1..18) with { variant "" };
|
||||
type octetstring OCT1_20n length(1..20) with { variant "" };
|
||||
type octetstring OCT1_24n length(1..24) with { variant "" };
|
||||
type octetstring OCT1_32n length(1..32) with { variant "" };
|
||||
type octetstring OCT1_34n length(1..34) with { variant "" };
|
||||
type octetstring OCT1_46n length(1..46) with { variant "" };
|
||||
type octetstring OCT1_50n length(1..50) with { variant "" };
|
||||
type octetstring OCT1_112n length(1..112) with { variant "" };
|
||||
type octetstring OCT1_127n length(1..127) with { variant "" };
|
||||
type octetstring OCT1_128n length(1..128) with { variant "" };
|
||||
type octetstring OCT1_172n length(1..172) with { variant "" };
|
||||
type octetstring OCT3_5n length(3..5) with { variant "" };
|
||||
type octetstring OCT3_7n length(3..7) with { variant "" };
|
||||
type octetstring OCT3_8n length(3..8) with { variant "" };
|
||||
type octetstring OCT3_14n length(3..14) with { variant "" };
|
||||
type octetstring OCT3_17n length(3..17) with { variant "" };
|
||||
type octetstring OCT4_8n length(4..8) with { variant "" };
|
||||
|
||||
|
||||
//****************************************************
|
||||
// Charstrings
|
||||
//****************************************************
|
||||
|
||||
//charstring with fixed length
|
||||
type charstring CHAR4 length (4);
|
||||
|
||||
//****************************************************
|
||||
// Hexstrings
|
||||
//****************************************************
|
||||
|
||||
//hexstring with fixed length
|
||||
type hexstring HEX4n length(4) with { variant "" };
|
||||
type hexstring HEX6n length(6) with { variant "" };
|
||||
type hexstring HEX8n length(8) with { variant "" };
|
||||
type hexstring HEX15n length(15) with { variant "" };
|
||||
type hexstring HEX16n length(16) with { variant "" };
|
||||
type hexstring HEX24n length(24) with { variant "" };
|
||||
|
||||
//hexstring with length interval
|
||||
type hexstring HEX0_3n length(0..3) with { variant "" };
|
||||
type hexstring HEX0_18n length(0..18) with { variant "" };
|
||||
type hexstring HEX1_20n length(1..20) with { variant "" };
|
||||
type hexstring HEX1_34n length(1..34) with { variant "" };
|
||||
|
||||
//****************************************************
|
||||
// Integers
|
||||
//****************************************************
|
||||
|
||||
//integer with fixed bit number
|
||||
type integer INT3nb (0..7) with { variant "" };
|
||||
type integer INT4nb (0..15) with { variant "" };
|
||||
type integer INT5nb (0..31) with { variant "" };
|
||||
type integer INT8nb (0..255) with { variant "" };
|
||||
|
||||
//integer with fixed bit number and with padding
|
||||
type integer INT2nbp (0..3) with { variant "" };
|
||||
type integer INT1nbp (0..1) with { variant "" };
|
||||
type integer INT3nbp (0..7) with { variant "" };
|
||||
type integer INT5nbp (0..31) with { variant "" };
|
||||
type integer INT9nbp (0..511) with { variant "" };
|
||||
type integer INT13nbp (0..8191) with { variant "" };
|
||||
type integer INT15nbp (0..32767) with { variant "" };
|
||||
|
||||
} // end group NativeTypes
|
||||
|
||||
//****************************************************
|
||||
//****************************************************
|
||||
// RAW Encoded Types
|
||||
//****************************************************
|
||||
//****************************************************
|
||||
|
||||
group SimpleRAWEncodedTypes {
|
||||
|
||||
//****************************************************
|
||||
// Bitstrings
|
||||
//****************************************************
|
||||
|
||||
//bitstring with fixed length
|
||||
type bitstring BIT6_BO_LAST length (6) with {variant "BYTEORDER(last)"};
|
||||
type bitstring BIT16_BO_LAST length (16) with {variant "BYTEORDER(last)"};
|
||||
type bitstring BIT32_BO_LAST length (32) with {variant "BYTEORDER(last)"};
|
||||
|
||||
//****************************************************
|
||||
// Octetstrings
|
||||
//****************************************************
|
||||
//octetstring with fixed length
|
||||
type octetstring Dummy length(0) with { variant "FIELDLENGTH(0)" };
|
||||
type octetstring OCT0 length(0) with { variant "FIELDLENGTH(0)" };
|
||||
type octetstring OCT1 length(1) with { variant "FIELDLENGTH(1)" };
|
||||
type octetstring OCT2 length(2) with { variant "FIELDLENGTH(2)" };
|
||||
type octetstring OCT3 length(3) with { variant "FIELDLENGTH(3)" };
|
||||
type octetstring OCT4 length(4) with { variant "FIELDLENGTH(4)" };
|
||||
type octetstring OCT5 length(5) with { variant "FIELDLENGTH(5)" };
|
||||
type octetstring OCT6 length(6) with { variant "FIELDLENGTH(6)" };
|
||||
type octetstring OCT7 length(7) with { variant "FIELDLENGTH(7)" };
|
||||
type octetstring OCT8 length(8) with { variant "FIELDLENGTH(8)" };
|
||||
type octetstring OCT9 length(9) with { variant "FIELDLENGTH(9)" };
|
||||
type octetstring OCT10 length(10) with { variant "FIELDLENGTH(10)" };
|
||||
type octetstring OCT11 length(11) with { variant "FIELDLENGTH(11)" };
|
||||
type octetstring OCT12 length(12) with { variant "FIELDLENGTH(12)" };
|
||||
type octetstring OCT13 length(13) with { variant "FIELDLENGTH(13)" };
|
||||
type octetstring OCT14 length(14) with { variant "FIELDLENGTH(14)" };
|
||||
type octetstring OCT15 length(15) with { variant "FIELDLENGTH(15)" };
|
||||
type octetstring OCT16 length(16) with { variant "FIELDLENGTH(16)" };
|
||||
type octetstring OCT17 length(17) with { variant "FIELDLENGTH(17)" };
|
||||
type octetstring OCT18 length(18) with { variant "FIELDLENGTH(18)" };
|
||||
type octetstring OCT19 length(19) with { variant "FIELDLENGTH(19)" };
|
||||
type octetstring OCT20 length(20) with { variant "FIELDLENGTH(20)" };
|
||||
type octetstring OCT22 length(22) with { variant "FIELDLENGTH(22)" };
|
||||
type octetstring OCT32 length(32) with { variant "FIELDLENGTH(32)" };
|
||||
type octetstring OCT34 length(34) with { variant "FIELDLENGTH(34)" };
|
||||
type octetstring OCT46 length(46) with { variant "FIELDLENGTH(46)" };
|
||||
|
||||
//octetstring with length interval
|
||||
type octetstring OCT1_260 length(1..260) with { variant "" };
|
||||
type octetstring OCT1_8 length(1..8) with { variant "" };
|
||||
type octetstring OCT1_12 length(1..12) with { variant "" };
|
||||
type octetstring OCT1_32 length(1..32) with { variant "" };
|
||||
type octetstring OCT1_50 length(1..50) with { variant "" };
|
||||
type octetstring OCT3_8 length(3..8) with { variant "" };
|
||||
|
||||
type octetstring OCTN with { variant "" };
|
||||
|
||||
//****************************************************
|
||||
// Hexstrings
|
||||
//****************************************************
|
||||
|
||||
//hexstring with fixed length
|
||||
type hexstring HEX1 length(1) with {variant "FIELDLENGTH(1)"};
|
||||
|
||||
//hexstring with length interval
|
||||
type hexstring HEX0_16 length(0..16) with { variant "" };
|
||||
type hexstring HEX5_16 length(5..16) with { variant "" };
|
||||
type hexstring HEX1_32 length(1..32) with { variant "" };
|
||||
|
||||
|
||||
//****************************************************
|
||||
// Integers
|
||||
//****************************************************
|
||||
|
||||
//integer with fixed octet number
|
||||
type integer INT1 (0..255) with { variant "FIELDLENGTH(8)" };
|
||||
type integer LIN1 (0..255) with { variant "FIELDLENGTH(8)" };
|
||||
type integer LIN2 (0..65535) with { variant "FIELDLENGTH(16)" };
|
||||
type integer LIN2_BO_LAST (0..65535) with { variant "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer LIN3_BO_LAST (0..16777215) with { variant "FIELDLENGTH(24), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer LIN4_BO_LAST (0..4294967295) with { variant "FIELDLENGTH(32), COMP(nosign), BYTEORDER(last)" };
|
||||
|
||||
//integer with fixed bit number
|
||||
type integer INT1b (0..1) with { variant "FIELDLENGTH(1)" };
|
||||
type integer INT2b (0..3) with { variant "FIELDLENGTH(2)" };
|
||||
type integer INT3b (0..7) with { variant "FIELDLENGTH(3)" };
|
||||
type integer INT4b (0..15) with { variant "FIELDLENGTH(4)" };
|
||||
type integer INT5b (0..31) with { variant "FIELDLENGTH(5)" };
|
||||
type integer INT6b (0..63) with { variant "FIELDLENGTH(6)" };
|
||||
type integer INT7b (0..127) with { variant "FIELDLENGTH(7)" };
|
||||
type integer INT11b_BO_LAST ( 0 .. 2047 ) with { variant "FIELDLENGTH(11), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT12b_BO_LAST ( 0 .. 4095 ) with { variant "FIELDLENGTH(12), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT13b_BO_LAST ( 0 .. 8191 ) with { variant "FIELDLENGTH(13), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT14b_BO_LAST ( 0 .. 16383 ) with { variant "FIELDLENGTH(14), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT18b_BO_LAST ( 0 .. 262143 ) with { variant "FIELDLENGTH(18), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT20b_BO_LAST ( 0 .. 1048575 ) with { variant "FIELDLENGTH(20), COMP(nosign), BYTEORDER(last)" };
|
||||
type integer INT31b_BO_LAST ( 0 .. 2147483647 ) with { variant "FIELDLENGTH(31), COMP(nosign), BYTEORDER(last)" };
|
||||
|
||||
//****************************************************
|
||||
// Structures
|
||||
//****************************************************
|
||||
|
||||
//integer record
|
||||
type record of integer Integers with { variant "" };
|
||||
type record of Integers Integer_array with { variant "" };
|
||||
|
||||
} // end group SimpleRAWEncodedTypes
|
||||
|
||||
group ComponentTypes {
|
||||
type component Dummy_comptype {}
|
||||
type component Dummy_CT {}
|
||||
} // end group ComponentTypes
|
||||
|
||||
group CompositeTypes {
|
||||
type enumerated Protocols
|
||||
{ mtp3, sccp, isup, bicc, qaal2, gcp, bssap, bssmap, ranap, dtap }
|
||||
|
||||
type record of OCT1 OCT1List with { variant "" };
|
||||
type record of OCT2 OCT2List with { variant "" };
|
||||
type record of OCT3 OCT3List with { variant "" };
|
||||
type record of OCT4 OCT4List with { variant "" };
|
||||
type record of OCT5 OCT5List with { variant "" };
|
||||
type record of OCT6 OCT6List with { variant "" };
|
||||
type record of OCT7 OCT7List with { variant "" };
|
||||
|
||||
type record of Dummy_comptype ListOfDummy_comptype;
|
||||
type record of Dummy_CT ListOfDummy_CT;
|
||||
type record of Protocols ProtocolList with { variant "" };
|
||||
} // end group CompositeTypes
|
||||
|
||||
} with { encode "RAW" } /* End of module General_Types */
|
||||
|
34155
titan/MNCC_Types.cc
34155
titan/MNCC_Types.cc
File diff suppressed because it is too large
Load Diff
4010
titan/MNCC_Types.hh
4010
titan/MNCC_Types.hh
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,8 @@
|
|||
TYPE_MODULES:=General Osmocom MNCC PCUIF
|
||||
|
||||
TYPE_CC=$(TYPE_MODULES:%=%_Types.cc)
|
||||
TYPE_HH=$(TYPE_MODULES:%=%_Types.hh)
|
||||
GENERATED=$(TYPE_CC) $(TYPE_HH)
|
||||
|
||||
OBJS=General_Types.o Osmocom_Types.o hello.o
|
||||
OBJS+=MNCC_Types.o MNCC_EncDec.o
|
||||
|
@ -7,7 +12,10 @@ CXXFLAGS=-DLINUX -DMAKEDEPEND_RUN -I/usr/include/titan -fPIC
|
|||
LDFLAGS=-L/usr/lib/titan -fPIC -lttcn3-dynamic
|
||||
LDFLAGS_STATIC=-L/usr/lib/titan -lttcn3 -lxml2 -lssl -lcrypto
|
||||
|
||||
all: titan.a
|
||||
all: compile titan.a
|
||||
|
||||
$(GENERATED):
|
||||
ttcn3_compiler -D *.ttcn
|
||||
|
||||
titan.a: $(OBJS)
|
||||
$(AR) r $@ $^
|
||||
|
@ -15,5 +23,6 @@ titan.a: $(OBJS)
|
|||
%.o: %.cc
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $^
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@rm titan.a $(OBJS)
|
||||
@rm -f titan.a $(OBJS) $(GENERATED)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,375 +0,0 @@
|
|||
// This C++ header file was generated by the TTCN-3 compiler
|
||||
// of the TTCN-3 Test Executor version CRL 113 200/6 R5A
|
||||
// The generation of user and time information were disabled by the -D flag.
|
||||
|
||||
// Copyright (c) 2000-2018 Ericsson Telecom AB
|
||||
|
||||
// Do not edit this file unless you know what you are doing.
|
||||
|
||||
#ifndef Osmocom__Types_HH
|
||||
#define Osmocom__Types_HH
|
||||
|
||||
#ifdef TITAN_RUNTIME_2
|
||||
#error Generated code does not match with used runtime.\
|
||||
Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
|
||||
#endif
|
||||
|
||||
/* Header file includes */
|
||||
|
||||
#include <TTCN3.hh>
|
||||
#include "General_Types.hh"
|
||||
|
||||
#if TTCN3_VERSION != 60500
|
||||
#error Version mismatch detected.\
|
||||
Please check the version of the TTCN-3 compiler and the base library.\
|
||||
Run make clean and rebuild the project if the version of the compiler changed recently.
|
||||
#endif
|
||||
|
||||
#ifndef LINUX
|
||||
#error This file should be compiled on LINUX
|
||||
#endif
|
||||
|
||||
#undef Osmocom__Types_HH
|
||||
#endif
|
||||
|
||||
namespace Osmocom__Types {
|
||||
|
||||
/* Forward declarations of classes */
|
||||
|
||||
class Arfcn;
|
||||
class Arfcn_template;
|
||||
typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER IntegerRecord;
|
||||
typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template IntegerRecord_template;
|
||||
|
||||
} /* end of namespace */
|
||||
|
||||
#ifndef Osmocom__Types_HH
|
||||
#define Osmocom__Types_HH
|
||||
|
||||
namespace Osmocom__Types {
|
||||
|
||||
/* Type definitions */
|
||||
|
||||
typedef INTEGER uint8__t;
|
||||
typedef INTEGER_template uint8__t_template;
|
||||
typedef INTEGER uint16__t;
|
||||
typedef INTEGER_template uint16__t_template;
|
||||
typedef INTEGER uint24__t;
|
||||
typedef INTEGER_template uint24__t_template;
|
||||
typedef INTEGER uint32__t;
|
||||
typedef INTEGER_template uint32__t_template;
|
||||
typedef INTEGER int8__t;
|
||||
typedef INTEGER_template int8__t_template;
|
||||
typedef INTEGER int16__t;
|
||||
typedef INTEGER_template int16__t_template;
|
||||
typedef INTEGER uint1__t;
|
||||
typedef INTEGER_template uint1__t_template;
|
||||
typedef INTEGER uint2__t;
|
||||
typedef INTEGER_template uint2__t_template;
|
||||
typedef INTEGER uint3__t;
|
||||
typedef INTEGER_template uint3__t_template;
|
||||
typedef INTEGER uint4__t;
|
||||
typedef INTEGER_template uint4__t_template;
|
||||
typedef INTEGER uint5__t;
|
||||
typedef INTEGER_template uint5__t_template;
|
||||
typedef INTEGER uint6__t;
|
||||
typedef INTEGER_template uint6__t_template;
|
||||
typedef INTEGER uint7__t;
|
||||
typedef INTEGER_template uint7__t_template;
|
||||
typedef INTEGER uint9__t;
|
||||
typedef INTEGER_template uint9__t_template;
|
||||
typedef INTEGER uint10__t;
|
||||
typedef INTEGER_template uint10__t_template;
|
||||
typedef INTEGER uint11__t;
|
||||
typedef INTEGER_template uint11__t_template;
|
||||
typedef INTEGER uint12__t;
|
||||
typedef INTEGER_template uint12__t_template;
|
||||
typedef INTEGER uint13__t;
|
||||
typedef INTEGER_template uint13__t_template;
|
||||
typedef INTEGER uint14__t;
|
||||
typedef INTEGER_template uint14__t_template;
|
||||
typedef INTEGER uint15__t;
|
||||
typedef INTEGER_template uint15__t_template;
|
||||
|
||||
/* Class definitions */
|
||||
|
||||
class Arfcn : public Base_Type {
|
||||
BOOLEAN field_pcs;
|
||||
INTEGER field_arfcn;
|
||||
public:
|
||||
Arfcn();
|
||||
Arfcn(const BOOLEAN& par_pcs,
|
||||
const INTEGER& par_arfcn);
|
||||
Arfcn(const Arfcn& other_value);
|
||||
inline boolean is_component() { return FALSE; }
|
||||
void clean_up();
|
||||
const TTCN_Typedescriptor_t* get_descriptor() const;
|
||||
Arfcn& operator=(const Arfcn& other_value);
|
||||
boolean operator==(const Arfcn& other_value) const;
|
||||
inline boolean operator!=(const Arfcn& other_value) const
|
||||
{ return !(*this == other_value); }
|
||||
|
||||
boolean is_bound() const;
|
||||
|
||||
inline boolean is_present() const { return is_bound(); }
|
||||
boolean is_value() const;
|
||||
|
||||
inline BOOLEAN& pcs()
|
||||
{return field_pcs;}
|
||||
inline const BOOLEAN& pcs() const
|
||||
{return field_pcs;}
|
||||
inline INTEGER& arfcn()
|
||||
{return field_arfcn;}
|
||||
inline const INTEGER& arfcn() const
|
||||
{return field_arfcn;}
|
||||
inline int size_of() const
|
||||
{return 2;}
|
||||
void log() const;
|
||||
void set_param(Module_Param& param);
|
||||
void set_implicit_omit();
|
||||
void encode_text(Text_Buf& text_buf) const;
|
||||
void decode_text(Text_Buf& text_buf);
|
||||
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...) const;
|
||||
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, TTCN_EncDec::coding_t, ...);
|
||||
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
|
||||
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
|
||||
};
|
||||
|
||||
class Arfcn_template : public Base_Template {
|
||||
struct single_value_struct;
|
||||
union {
|
||||
single_value_struct *single_value;
|
||||
struct {
|
||||
unsigned int n_values;
|
||||
Arfcn_template *list_value;
|
||||
} value_list;
|
||||
};
|
||||
|
||||
void set_specific();
|
||||
void copy_value(const Arfcn& other_value);
|
||||
void copy_template(const Arfcn_template& other_value);
|
||||
|
||||
public:
|
||||
Arfcn_template();
|
||||
Arfcn_template(template_sel other_value);
|
||||
Arfcn_template(const Arfcn& other_value);
|
||||
Arfcn_template(const OPTIONAL<Arfcn>& other_value);
|
||||
Arfcn_template(const Arfcn_template& other_value);
|
||||
~Arfcn_template();
|
||||
Arfcn_template& operator=(template_sel other_value);
|
||||
Arfcn_template& operator=(const Arfcn& other_value);
|
||||
Arfcn_template& operator=(const OPTIONAL<Arfcn>& other_value);
|
||||
Arfcn_template& operator=(const Arfcn_template& other_value);
|
||||
boolean match(const Arfcn& other_value, boolean legacy = FALSE) const;
|
||||
boolean is_bound() const;
|
||||
boolean is_value() const;
|
||||
void clean_up();
|
||||
Arfcn valueof() const;
|
||||
void set_type(template_sel template_type, unsigned int list_length);
|
||||
Arfcn_template& list_item(unsigned int list_index) const;
|
||||
BOOLEAN_template& pcs();
|
||||
const BOOLEAN_template& pcs() const;
|
||||
INTEGER_template& arfcn();
|
||||
const INTEGER_template& arfcn() const;
|
||||
int size_of() const;
|
||||
void log() const;
|
||||
void log_match(const Arfcn& match_value, boolean legacy = FALSE) const;
|
||||
void encode_text(Text_Buf& text_buf) const;
|
||||
void decode_text(Text_Buf& text_buf);
|
||||
void set_param(Module_Param& param);
|
||||
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
|
||||
boolean is_present(boolean legacy = FALSE) const;
|
||||
boolean match_omit(boolean legacy = FALSE) const;
|
||||
};
|
||||
|
||||
|
||||
/* Function prototypes */
|
||||
|
||||
extern void uint8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint24__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint24__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint32__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint32__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void int8__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER int8__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void int16__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER int16__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint1__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint1__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint2__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint2__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint3__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint3__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint4__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint4__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint5__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint5__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint6__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint6__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint7__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint7__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint9__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint9__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint10__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint10__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint11__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint11__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint12__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint12__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint13__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint13__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint14__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint14__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void uint15__t_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER uint15__t_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void Arfcn_pcs_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER Arfcn_pcs_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void Arfcn_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER Arfcn_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void Arfcn_encoder(const Arfcn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER Arfcn_decoder(OCTETSTRING& input_stream, Arfcn& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER f__rnd__int(const INTEGER& max);
|
||||
extern HEXSTRING f__rnd__hexstring(const INTEGER& len, const INTEGER& max);
|
||||
extern OCTETSTRING f__rnd__octstring(const INTEGER& len);
|
||||
extern HEXSTRING f__rnd__imsi(const HEXSTRING& prefix);
|
||||
extern OCTETSTRING f__rnd__msisdn(const OCTETSTRING& prefix, const INTEGER& len);
|
||||
extern void f__sleep(const FLOAT& seconds);
|
||||
extern BITSTRING bool2bit(const BOOLEAN& inp);
|
||||
extern BITSTRING_template bool2bit__tmpl(const BOOLEAN_template& inp);
|
||||
extern void IntegerRecord_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER IntegerRecord_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern void IntegerRecord_encoder(const IntegerRecord& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern INTEGER IntegerRecord_decoder(OCTETSTRING& input_stream, IntegerRecord& output_value, const UNIVERSAL_CHARSTRING& coding_name);
|
||||
extern BOOLEAN int2bool(const INTEGER& int_);
|
||||
extern BOOLEAN f__array__contains(const IntegerRecord& arr, const INTEGER& key);
|
||||
extern void f__timer__safe__restart(TIMER& T);
|
||||
extern INTEGER f__div__round__up(const INTEGER& dividend, const INTEGER& divisor);
|
||||
|
||||
/* Global variable declarations */
|
||||
|
||||
extern const TTCN_RAWdescriptor_t uint8__t_raw_;
|
||||
extern const XERdescriptor_t uint8__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint8__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint8__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint8__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint16__t_raw_;
|
||||
extern const XERdescriptor_t uint16__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint16__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint16__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint16__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint24__t_raw_;
|
||||
extern const XERdescriptor_t uint24__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint24__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint24__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint32__t_raw_;
|
||||
extern const XERdescriptor_t uint32__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint32__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint32__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint32__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t int8__t_raw_;
|
||||
extern const XERdescriptor_t int8__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t int8__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t int8__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING int8__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t int16__t_raw_;
|
||||
extern const XERdescriptor_t int16__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t int16__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t int16__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING int16__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint1__t_raw_;
|
||||
extern const XERdescriptor_t uint1__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint1__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint1__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint1__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint2__t_raw_;
|
||||
extern const XERdescriptor_t uint2__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint2__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint2__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint2__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint3__t_raw_;
|
||||
extern const XERdescriptor_t uint3__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint3__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint3__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint3__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint4__t_raw_;
|
||||
extern const XERdescriptor_t uint4__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint4__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint4__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint4__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint5__t_raw_;
|
||||
extern const XERdescriptor_t uint5__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint5__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint5__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint5__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint6__t_raw_;
|
||||
extern const XERdescriptor_t uint6__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint6__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint6__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint6__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint7__t_raw_;
|
||||
extern const XERdescriptor_t uint7__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint7__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint7__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint9__t_raw_;
|
||||
extern const XERdescriptor_t uint9__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint9__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint9__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint9__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint10__t_raw_;
|
||||
extern const XERdescriptor_t uint10__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint10__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint10__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint10__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint11__t_raw_;
|
||||
extern const XERdescriptor_t uint11__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint11__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint11__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint12__t_raw_;
|
||||
extern const XERdescriptor_t uint12__t_xer_;
|
||||
extern const TTCN_OERdescriptor_t uint12__t_oer_;
|
||||
extern const TTCN_Typedescriptor_t uint12__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint12__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint13__t_raw_;
|
||||
extern const XERdescriptor_t uint13__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint13__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint13__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint14__t_raw_;
|
||||
extern const XERdescriptor_t uint14__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint14__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint14__t_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t uint15__t_raw_;
|
||||
extern const XERdescriptor_t uint15__t_xer_;
|
||||
extern const TTCN_Typedescriptor_t uint15__t_descr_;
|
||||
extern UNIVERSAL_CHARSTRING uint15__t_default_coding;
|
||||
extern const INTEGER& c__UINT16__MAX;
|
||||
extern const INTEGER& c__UINT32__MAX;
|
||||
extern const TTCN_RAWdescriptor_t Arfcn_pcs_raw_;
|
||||
extern const XERdescriptor_t Arfcn_pcs_xer_;
|
||||
extern const TTCN_OERdescriptor_t Arfcn_pcs_oer_;
|
||||
extern const TTCN_Typedescriptor_t Arfcn_pcs_descr_;
|
||||
extern UNIVERSAL_CHARSTRING Arfcn_pcs_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t Arfcn_arfcn_raw_;
|
||||
extern const XERdescriptor_t Arfcn_arfcn_xer_;
|
||||
extern const TTCN_OERdescriptor_t Arfcn_arfcn_oer_;
|
||||
extern const TTCN_Typedescriptor_t Arfcn_arfcn_descr_;
|
||||
extern UNIVERSAL_CHARSTRING Arfcn_arfcn_default_coding;
|
||||
extern const TTCN_RAWdescriptor_t Arfcn_raw_;
|
||||
extern const TTCN_Typedescriptor_t Arfcn_descr_;
|
||||
extern UNIVERSAL_CHARSTRING Arfcn_default_coding;
|
||||
extern const INTEGER& f__rnd__hexstring_max_defval;
|
||||
extern const INTEGER& f__rnd__msisdn_len_defval;
|
||||
extern const TTCN_RAWdescriptor_t IntegerRecord_raw_;
|
||||
extern const TTCN_Typedescriptor_t IntegerRecord_descr_;
|
||||
extern const TTCN_RAWdescriptor_t IntegerRecord_0_raw_;
|
||||
extern const XERdescriptor_t IntegerRecord_0_xer_;
|
||||
extern const TTCN_Typedescriptor_t IntegerRecord_0_descr_;
|
||||
extern UNIVERSAL_CHARSTRING IntegerRecord_0_default_coding;
|
||||
extern UNIVERSAL_CHARSTRING IntegerRecord_default_coding;
|
||||
extern TTCN_Module module_object;
|
||||
|
||||
} /* end of namespace */
|
||||
|
||||
#endif
|
|
@ -0,0 +1,156 @@
|
|||
module Osmocom_Types {
|
||||
|
||||
import from General_Types all;
|
||||
|
||||
type integer uint8_t (0..255) with { variant "unsigned 8 bit" };
|
||||
type integer uint16_t (0..65535) with { variant "unsigned 16 bit" };
|
||||
type integer uint24_t (0..16777215) with { variant "unsigned 24 bit" };
|
||||
type integer uint32_t (0..4294967295) with { variant "unsigned 32 bit" };
|
||||
|
||||
type integer int8_t (-128..127) with { variant "8 bit" };
|
||||
type integer int16_t (-32768..32767) with { variant "16 bit" };
|
||||
|
||||
type integer uint1_t (0..1) with { variant "unsigned 1 bit" };
|
||||
type integer uint2_t (0..3) with { variant "unsigned 2 bit" };
|
||||
type integer uint3_t (0..7) with { variant "unsigned 3 bit" };
|
||||
type integer uint4_t (0..15) with { variant "unsigned 4 bit" };
|
||||
type integer uint5_t (0..31) with { variant "unsigned 5 bit" };
|
||||
type integer uint6_t (0..63) with { variant "unsigned 6 bit" };
|
||||
type integer uint7_t (0..127) with { variant "unsigned 7 bit" };
|
||||
type integer uint9_t (0..511) with { variant "unsigned 9 bit" };
|
||||
type integer uint10_t (0..1023) with { variant "unsigned 10 bit" };
|
||||
type integer uint11_t (0..2047) with { variant "unsigned 11 bit" };
|
||||
type integer uint12_t (0..4095) with { variant "unsigned 12 bit" };
|
||||
type integer uint13_t (0..8191) with { variant "unsigned 13 bit" };
|
||||
type integer uint14_t (0..16383) with { variant "unsigned 14 bit" };
|
||||
type integer uint15_t (0..32767) with { variant "unsigned 15 bit" };
|
||||
|
||||
|
||||
const uint16_t c_UINT16_MAX := 65535;
|
||||
const uint32_t c_UINT32_MAX := 4294967295;
|
||||
|
||||
type record Arfcn {
|
||||
boolean pcs,
|
||||
uint15_t arfcn
|
||||
} with { variant "" };
|
||||
|
||||
/* return random integer between 0 and max */
|
||||
function f_rnd_int(integer max) return integer {
|
||||
return float2int(rnd()*int2float(max));
|
||||
}
|
||||
|
||||
/* return hexstring composed of random digits */
|
||||
function f_rnd_hexstring(in integer len, in integer max := 15) return hexstring {
|
||||
var integer i;
|
||||
var hexstring ret := ''H;
|
||||
for (i := 0; i < len; i := i + 1) {
|
||||
ret := ret & int2hex(f_rnd_int(max), 1);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* return octetstring composed of random bytes */
|
||||
function f_rnd_octstring(in integer len) return octetstring {
|
||||
var integer i;
|
||||
var octetstring ret := ''O;
|
||||
for (i := 0; i < len; i := i + 1) {
|
||||
ret := ret & int2oct(f_rnd_int(255), 1);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function f_rnd_imsi(in hexstring prefix) return hexstring {
|
||||
return prefix & f_rnd_hexstring(15 - lengthof(prefix), 9);
|
||||
}
|
||||
|
||||
function f_rnd_msisdn(in octetstring prefix, integer len := 6) return octetstring {
|
||||
return prefix & f_rnd_octstring(len - lengthof(prefix));
|
||||
}
|
||||
|
||||
function f_sleep(float seconds) {
|
||||
timer T := seconds;
|
||||
T.start;
|
||||
T.timeout;
|
||||
}
|
||||
|
||||
function bool2bit(boolean inp) return BIT1 {
|
||||
if (inp) {
|
||||
return '1'B;
|
||||
} else {
|
||||
return '0'B;
|
||||
}
|
||||
}
|
||||
|
||||
function bool2bit_tmpl(template boolean inp) return template BIT1 {
|
||||
if (istemplatekind(inp, "omit")) {
|
||||
return omit;
|
||||
} else if (istemplatekind(inp, "*")) {
|
||||
return *;
|
||||
} else if (istemplatekind(inp, "?")) {
|
||||
return ?;
|
||||
} else {
|
||||
if (valueof(inp)) {
|
||||
return '1'B;
|
||||
} else {
|
||||
return '0'B;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type record of integer IntegerRecord;
|
||||
|
||||
function int2bool(integer int) return boolean {
|
||||
if (int != 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function f_array_contains(IntegerRecord arr, integer key) return boolean {
|
||||
for (var integer i:= 0; i< sizeof(arr); i := i + 1) {
|
||||
if (arr[i] == key) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* re-start given timer in a warning-safe way: Stop (only if running) + start */
|
||||
function f_timer_safe_restart(timer T) {
|
||||
if (T.running) {
|
||||
T.stop;
|
||||
}
|
||||
T.start;
|
||||
}
|
||||
|
||||
/* divide two integers and return rounded-up result */
|
||||
function f_div_round_up(integer dividend, integer divisor) return integer {
|
||||
var integer x := dividend / divisor;
|
||||
if (dividend rem divisor != 0) {
|
||||
x := x+1;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
function imsi_hex2oct(hexstring imsi) return octetstring {
|
||||
var hexstring tmp := ''H;
|
||||
var octetstring ret;
|
||||
var integer i;
|
||||
|
||||
/* swap nibbles and pad with F if insufficient input nibbles */
|
||||
for (i := 0; i < lengthof(imsi); i := i+1) {
|
||||
if (i+1 < lengthof(imsi)) {
|
||||
tmp := tmp & imsi[i+1];
|
||||
} else {
|
||||
tmp := tmp & 'F'H;
|
||||
}
|
||||
tmp := tmp & imsi[i];
|
||||
i := i+1;
|
||||
}
|
||||
ret := hex2oct(tmp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
} with { encode "RAW"; variant "FIELDORDER(msb)" }
|
32386
titan/PCUIF_Types.cc
32386
titan/PCUIF_Types.cc
File diff suppressed because it is too large
Load Diff
3638
titan/PCUIF_Types.hh
3638
titan/PCUIF_Types.hh
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,805 @@
|
|||
module PCUIF_Types {
|
||||
|
||||
import from General_Types all;
|
||||
import from Osmocom_Types all;
|
||||
|
||||
/* Osmocom PCU Interface Types, as per osmo-pcu/include/osmocom/pcu/pcuif_proto.h */
|
||||
|
||||
const charstring PCU_SOCK_DEFAULT := "/tmp/pcu_bts";
|
||||
const uint32_t PCU_IF_VERSION := 9;
|
||||
|
||||
type enumerated PCUIF_MsgType {
|
||||
PCU_IF_MSG_DATA_REQ ('00'O),
|
||||
PCU_IF_MSG_DATA_CNF ('01'O),
|
||||
PCU_IF_MSG_DATA_IND ('02'O),
|
||||
PCU_IF_MSG_SUSP_REQ ('03'O),
|
||||
PCU_IF_MSG_RTS_REQ ('10'O),
|
||||
PCU_IF_MSG_DATA_CNF_DT ('11'O),
|
||||
PCU_IF_MSG_RACH_IND ('22'O),
|
||||
PCU_IF_MSG_INFO_IND ('32'O),
|
||||
PCU_IF_MSG_ACT_REQ ('40'O),
|
||||
PCU_IF_MSG_TIME_IND ('52'O),
|
||||
PCU_IF_MSG_PAG_REQ ('60'O),
|
||||
PCU_IF_MSG_TXT_IND ('70'O)
|
||||
} with { variant "FIELDLENGTH(8)" };
|
||||
|
||||
type enumerated PCUIF_Sapi {
|
||||
PCU_IF_SAPI_UNKNOWN ('00'O),
|
||||
PCU_IF_SAPI_RACH ('01'O),
|
||||
PCU_IF_SAPI_AGCH ('02'O),
|
||||
PCU_IF_SAPI_PCH ('03'O),
|
||||
PCU_IF_SAPI_BCCH ('04'O),
|
||||
PCU_IF_SAPI_PDTCH ('05'O),
|
||||
PCU_IF_SAPI_PRACH ('06'O),
|
||||
PCU_IF_SAPI_PTCCH ('07'O),
|
||||
PCU_IF_SAPI_AGCH_DT ('08'O)
|
||||
} with { variant "FIELDLENGTH(8)" };
|
||||
|
||||
type record PCUIF_Flags {
|
||||
boolean bts_active,
|
||||
boolean sysmo_direct_dsp,
|
||||
BIT14 spare,
|
||||
boolean cs1,
|
||||
boolean cs2,
|
||||
boolean cs3,
|
||||
boolean cs4,
|
||||
boolean mcs1,
|
||||
boolean mcs2,
|
||||
boolean mcs3,
|
||||
boolean mcs4,
|
||||
boolean mcs5,
|
||||
boolean mcs6,
|
||||
boolean mcs7,
|
||||
boolean mcs8,
|
||||
boolean mcs9,
|
||||
BIT3 spare2
|
||||
} with { variant "" };
|
||||
|
||||
type enumerated PCUIF_TextType {
|
||||
PCU_VERSION (0),
|
||||
PCU_OML_ALERT (1)
|
||||
} with { variant "FIELDLENGTH(8)" };
|
||||
|
||||
type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(128)" };
|
||||
|
||||
type record PCUIF_txt_ind {
|
||||
PCUIF_TextType txt_type,
|
||||
PCUIF_Text text
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_data {
|
||||
PCUIF_Sapi sapi,
|
||||
uint8_t len,
|
||||
octetstring data length(162),
|
||||
uint32_t fn,
|
||||
uint16_t arfcn,
|
||||
uint8_t trx_nr,
|
||||
uint8_t ts_nr,
|
||||
uint8_t block_nr,
|
||||
int8_t rssi,
|
||||
uint16_t ber10k,
|
||||
int16_t ta_offs_qbits,
|
||||
int16_t lqual_cb
|
||||
} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" };
|
||||
|
||||
type record PCUIF_data_cnf_dt {
|
||||
PCUIF_Sapi sapi,
|
||||
OCT4 tlli,
|
||||
uint32_t fn,
|
||||
uint16_t arfcn,
|
||||
uint8_t trx_nr,
|
||||
uint8_t ts_nr,
|
||||
uint8_t block_nr,
|
||||
int8_t rssi,
|
||||
uint16_t ber10k,
|
||||
int16_t ta_offs_qbits,
|
||||
int16_t lqual_cb
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_rts_req {
|
||||
PCUIF_Sapi sapi,
|
||||
OCT3 spare,
|
||||
uint32_t fn,
|
||||
uint16_t arfcn,
|
||||
uint8_t trx_nr,
|
||||
uint8_t ts_nr,
|
||||
uint8_t block_nr
|
||||
} with { variant "" };
|
||||
|
||||
type enumerated PCUIF_BurstType {
|
||||
BURST_TYPE_NONE (0),
|
||||
BURST_TYPE_0 (1),
|
||||
BURST_TYPE_1 (2),
|
||||
BURST_TYPE_2 (3)
|
||||
} with { variant "FIELDLENGTH(8)" };
|
||||
|
||||
type record PCUIF_rach_ind {
|
||||
PCUIF_Sapi sapi,
|
||||
uint16_t ra,
|
||||
int16_t qta,
|
||||
uint32_t fn,
|
||||
uint16_t arfcn,
|
||||
uint8_t is_11bit,
|
||||
PCUIF_BurstType burst_type
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_InfoTrx {
|
||||
uint16_t arfcn,
|
||||
BIT8 pdch_mask,
|
||||
OCT1 spare,
|
||||
OCT8 tsc,
|
||||
uint32_t hLayer1
|
||||
} with { variant (pdch_mask) "BITORDER(msb)" };
|
||||
type record length(8) of PCUIF_InfoTrx PCUIF_InfoTrxs;
|
||||
|
||||
type record PCUIF_info_ind {
|
||||
uint32_t version,
|
||||
PCUIF_Flags flags,
|
||||
PCUIF_InfoTrxs trx,
|
||||
uint8_t bsic,
|
||||
|
||||
uint16_t mcc,
|
||||
uint16_t mnc,
|
||||
uint8_t mnc_3_digits,
|
||||
uint16_t lac,
|
||||
uint16_t rac,
|
||||
|
||||
uint16_t nsei,
|
||||
record length(7) of uint8_t nse_timer,
|
||||
record length(11) of uint8_t cell_timer,
|
||||
|
||||
uint16_t cell_id,
|
||||
uint16_t repeat_time,
|
||||
uint8_t repeat_count,
|
||||
uint16_t bvci,
|
||||
uint8_t t3142,
|
||||
uint8_t t3169,
|
||||
uint8_t t3191,
|
||||
uint8_t t3193_10ms,
|
||||
uint8_t t3195,
|
||||
uint8_t t3101,
|
||||
uint8_t t3103,
|
||||
uint8_t t3105,
|
||||
uint8_t cv_countdown,
|
||||
uint16_t dl_tbf_ext,
|
||||
uint16_t ul_tbf_ext,
|
||||
uint8_t initial_cs,
|
||||
uint8_t initial_mcs,
|
||||
|
||||
record length(2) of uint16_t nsvci,
|
||||
record length(2) of uint16_t local_pprt,
|
||||
record length(2) of uint16_t remote_port,
|
||||
record length(2) of OCT4 remote_ip
|
||||
} with { variant "" }
|
||||
|
||||
type record PCUIF_act_req {
|
||||
uint8_t is_activate,
|
||||
uint8_t trx_nr,
|
||||
uint8_t ts_nr,
|
||||
OCT1 spare
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_time_ind {
|
||||
uint32_t fn
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_pag_req {
|
||||
PCUIF_Sapi sapi,
|
||||
uint8_t chan_needed,
|
||||
OCT9 identity_lv
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_susp_req {
|
||||
OCT4 tlli,
|
||||
OCT6 ra_id,
|
||||
uint8_t cause
|
||||
} with { variant "" };
|
||||
|
||||
|
||||
type union PCUIF_MsgUnion {
|
||||
PCUIF_data data_req,
|
||||
PCUIF_data data_cnf,
|
||||
PCUIF_data_cnf_dt data_cnf_dt,
|
||||
PCUIF_data data_ind,
|
||||
PCUIF_susp_req susp_req,
|
||||
PCUIF_rts_req rts_req,
|
||||
PCUIF_rach_ind rach_ind,
|
||||
PCUIF_txt_ind txt_ind,
|
||||
PCUIF_info_ind info_ind,
|
||||
PCUIF_act_req act_req,
|
||||
PCUIF_time_ind time_ind,
|
||||
PCUIF_pag_req pag_req
|
||||
} with { variant "" };
|
||||
|
||||
type record PCUIF_Message {
|
||||
PCUIF_MsgType msg_type,
|
||||
uint8_t bts_nr,
|
||||
OCT2 spare,
|
||||
PCUIF_MsgUnion u
|
||||
} with { variant (u) "CROSSTAG(
|
||||
data_req, msg_type = PCU_IF_MSG_DATA_REQ;
|
||||
data_cnf, msg_type = PCU_IF_MSG_DATA_CNF;
|
||||
data_cnf_dt, msg_type = PCU_IF_MSG_DATA_CNF_DT;
|
||||
data_ind, msg_type = PCU_IF_MSG_DATA_IND;
|
||||
susp_req, msg_type = PCU_IF_MSG_SUSP_REQ;
|
||||
rts_req, msg_type = PCU_IF_MSG_RTS_REQ;
|
||||
rach_ind, msg_type = PCU_IF_MSG_RACH_IND;
|
||||
txt_ind, msg_type = PCU_IF_MSG_TXT_IND;
|
||||
info_ind, msg_type = PCU_IF_MSG_INFO_IND;
|
||||
act_req, msg_type = PCU_IF_MSG_ACT_REQ;
|
||||
time_ind, msg_type = PCU_IF_MSG_TIME_IND;
|
||||
pag_req, msg_type = PCU_IF_MSG_PAG_REQ)"
|
||||
variant "PADDING(1696)" /* 212 * 8 */
|
||||
};
|
||||
|
||||
external function enc_PCUIF_Message(in PCUIF_Message pdu) return octetstring
|
||||
with { extension "prototype(convert) encode(RAW)" };
|
||||
external function dec_PCUIF_Message(in octetstring stream) return PCUIF_Message
|
||||
with { extension "prototype(convert) decode(RAW)" };
|
||||
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_RTS_REQ(template (value) uint8_t bts_nr,
|
||||
template (value) uint8_t trx_nr,
|
||||
template (value) uint8_t ts_nr,
|
||||
template (value) PCUIF_Sapi sapi,
|
||||
template (value) uint32_t fn,
|
||||
template (value) uint16_t arfcn,
|
||||
template (value) uint8_t block_nr
|
||||
) := {
|
||||
msg_type := PCU_IF_MSG_RTS_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
rts_req := {
|
||||
sapi := sapi,
|
||||
spare := '000000'O,
|
||||
fn := fn,
|
||||
arfcn := arfcn,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_RTS_REQ(template uint8_t bts_nr := ?,
|
||||
template uint8_t trx_nr := ?,
|
||||
template uint8_t ts_nr := ?,
|
||||
template PCUIF_Sapi sapi := ?,
|
||||
template uint32_t fn := ?,
|
||||
template uint8_t block_nr := ?
|
||||
) := {
|
||||
msg_type := PCU_IF_MSG_RTS_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
rts_req := {
|
||||
sapi := sapi,
|
||||
spare := ?,
|
||||
fn := fn,
|
||||
arfcn := ?,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_TXT_IND(uint8_t bts_nr, PCUIF_TextType tt, charstring text) := {
|
||||
msg_type := PCU_IF_MSG_TXT_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
txt_ind := {
|
||||
txt_type := tt,
|
||||
text := text
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_TXT_IND(template uint8_t bts_nr, template PCUIF_TextType tt,
|
||||
template charstring text := ?) := {
|
||||
msg_type := PCU_IF_MSG_TXT_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
txt_ind := {
|
||||
txt_type := tt,
|
||||
text := text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_ACT_REQ(uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr) := {
|
||||
msg_type := PCU_IF_MSG_ACT_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
act_req := {
|
||||
is_activate := 1,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
spare := '00'O
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_ACT_REQ(template uint8_t bts_nr, template uint8_t trx_nr,
|
||||
template uint8_t ts_nr) := {
|
||||
msg_type := PCU_IF_MSG_ACT_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
act_req := {
|
||||
is_activate := 1,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
spare := '00'O
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_DEACT_REQ(uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr) := {
|
||||
msg_type := PCU_IF_MSG_ACT_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
act_req := {
|
||||
is_activate := 0,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
spare := '00'O
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_DEACT_REQ(template uint8_t bts_nr, template uint8_t trx_nr,
|
||||
template uint8_t ts_nr) := {
|
||||
msg_type := PCU_IF_MSG_ACT_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
act_req := {
|
||||
is_activate := 0,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
spare := '00'O
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_DATA_IND(template (value) uint8_t bts_nr,
|
||||
template (value) uint8_t trx_nr,
|
||||
template (value) uint8_t ts_nr,
|
||||
template (value) uint8_t block_nr,
|
||||
template (value) PCUIF_Sapi sapi,
|
||||
template (value) octetstring data,
|
||||
template (value) uint32_t fn,
|
||||
template (value) uint16_t arfcn,
|
||||
template (value) int8_t rssi := -80,
|
||||
template (value) uint16_t ber10k := 0,
|
||||
template (value) int16_t ta_offs_qbits := 0,
|
||||
template (value) uint16_t lqual_cb := 10) := {
|
||||
msg_type := PCU_IF_MSG_DATA_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
data_ind := {
|
||||
sapi := sapi,
|
||||
len := lengthof(valueof(data)),
|
||||
data := data,
|
||||
fn := fn,
|
||||
arfcn := arfcn,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr,
|
||||
rssi := rssi,
|
||||
ber10k := ber10k,
|
||||
ta_offs_qbits := ta_offs_qbits,
|
||||
lqual_cb := lqual_cb
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_DATA_IND(template uint8_t bts_nr := ?,
|
||||
template uint8_t trx_nr := ?,
|
||||
template uint8_t ts_nr := ?,
|
||||
template uint8_t block_nr := ?,
|
||||
template PCUIF_Sapi sapi := ?,
|
||||
template octetstring data := ?) := {
|
||||
msg_type := PCU_IF_MSG_DATA_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
data_ind := {
|
||||
sapi := sapi,
|
||||
len := ?,
|
||||
data := data,
|
||||
fn := ?,
|
||||
arfcn := ?,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr,
|
||||
rssi := ?,
|
||||
ber10k := ?,
|
||||
ta_offs_qbits := ?,
|
||||
lqual_cb := ?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_DATA_REQ(uint8_t bts_nr, uint8_t trx_nr,
|
||||
uint8_t ts_nr, uint8_t block_nr,
|
||||
uint32_t fn, PCUIF_Sapi sapi,
|
||||
octetstring data) := {
|
||||
msg_type := PCU_IF_MSG_DATA_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
data_req := {
|
||||
sapi := sapi,
|
||||
len := lengthof(data),
|
||||
data := data,
|
||||
fn := fn,
|
||||
arfcn := 0, /* unused in BTS */
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr,
|
||||
/* measurement parameters below unused on Tx */
|
||||
rssi := 0,
|
||||
ber10k := 0,
|
||||
ta_offs_qbits := 0,
|
||||
lqual_cb := 0
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_DATA_REQ(template uint8_t bts_nr,
|
||||
template uint8_t trx_nr,
|
||||
template uint8_t ts_nr,
|
||||
template uint8_t block_nr := ?,
|
||||
template uint32_t fn := ?,
|
||||
template PCUIF_Sapi sapi := ?,
|
||||
template octetstring data := ?) := {
|
||||
msg_type := PCU_IF_MSG_DATA_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
data_req := {
|
||||
sapi := sapi,
|
||||
len := ?,
|
||||
data := data,
|
||||
fn := fn,
|
||||
arfcn := ?, /* unused in BTS */
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr,
|
||||
/* measurement parameters below unused on Tx */
|
||||
rssi := 0,
|
||||
ber10k := 0,
|
||||
ta_offs_qbits := 0,
|
||||
lqual_cb := 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_DATA_CNF(template (value) uint8_t bts_nr,
|
||||
template (value) uint8_t trx_nr,
|
||||
template (value) uint8_t ts_nr,
|
||||
template (value) uint8_t block_nr,
|
||||
template (value) uint32_t fn,
|
||||
template (value) uint16_t arfcn,
|
||||
template (value) PCUIF_Sapi sapi,
|
||||
template (value) octetstring data) := {
|
||||
msg_type := PCU_IF_MSG_DATA_CNF,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
data_cnf := {
|
||||
sapi := sapi,
|
||||
len := 0, /* overwritten */
|
||||
data := data,
|
||||
fn := fn,
|
||||
arfcn := arfcn,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := block_nr,
|
||||
rssi := 0,
|
||||
ber10k := 0,
|
||||
ta_offs_qbits := 0,
|
||||
lqual_cb := 0
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_DATA_CNF(template uint8_t bts_nr := ?,
|
||||
template uint8_t trx_nr := ?,
|
||||
template uint8_t ts_nr := ?,
|
||||
template PCUIF_Sapi sapi := ?,
|
||||
template octetstring data := ?) := {
|
||||
msg_type := PCU_IF_MSG_DATA_CNF,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
data_cnf := {
|
||||
sapi := sapi,
|
||||
len := ?,
|
||||
data := data,
|
||||
fn := ?,
|
||||
arfcn := ?,
|
||||
trx_nr := trx_nr,
|
||||
ts_nr := ts_nr,
|
||||
block_nr := ?,
|
||||
rssi := ?,
|
||||
ber10k := ?,
|
||||
ta_offs_qbits := ?,
|
||||
lqual_cb := ?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_RACH_IND(template (value) uint8_t bts_nr,
|
||||
template (value) uint16_t ra,
|
||||
template (value) uint8_t is_11bit,
|
||||
template (value) PCUIF_BurstType burst_type,
|
||||
template (value) uint32_t fn,
|
||||
template (value) uint16_t arfcn,
|
||||
template (value) int16_t qta := 0
|
||||
) := {
|
||||
msg_type := PCU_IF_MSG_RACH_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
rach_ind := {
|
||||
sapi := PCU_IF_SAPI_RACH,
|
||||
ra := ra,
|
||||
qta := qta,
|
||||
fn := fn,
|
||||
arfcn := arfcn,
|
||||
is_11bit := is_11bit,
|
||||
burst_type := burst_type
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_RACH_IND(template uint8_t bts_nr := ?,
|
||||
template uint16_t ra := ?,
|
||||
template uint8_t is_11bit := ?,
|
||||
template PCUIF_BurstType burst_type := ?,
|
||||
template uint32_t fn := ?) := {
|
||||
msg_type := PCU_IF_MSG_RACH_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
rach_ind := {
|
||||
sapi := PCU_IF_SAPI_RACH,
|
||||
ra := ra,
|
||||
qta := ?,
|
||||
fn := fn,
|
||||
arfcn := ?,
|
||||
is_11bit := is_11bit,
|
||||
burst_type := burst_type
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_PAG_REQ(template (value) uint8_t bts_nr,
|
||||
template (value) OCT9 id_lv,
|
||||
template (value) uint8_t chan_needed,
|
||||
template (value) PCUIF_Sapi sapi) := {
|
||||
msg_type := PCU_IF_MSG_PAG_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
pag_req := {
|
||||
sapi := sapi,
|
||||
chan_needed := chan_needed,
|
||||
identity_lv := id_lv
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_PAG_REQ(template uint8_t bts_nr := ?,
|
||||
template OCT9 id_lv := ?,
|
||||
template uint8_t chan_needed := ?,
|
||||
template PCUIF_Sapi sapi := ?) := {
|
||||
msg_type := PCU_IF_MSG_PAG_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
pag_req := {
|
||||
sapi := ?,
|
||||
chan_needed := chan_needed,
|
||||
identity_lv := id_lv
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const PCUIF_Flags c_PCUIF_Flags_default := {
|
||||
bts_active := true,
|
||||
sysmo_direct_dsp := false,
|
||||
spare := '00000000000000'B,
|
||||
cs1 := true,
|
||||
cs2 := true,
|
||||
cs3 := true,
|
||||
cs4 := true,
|
||||
mcs1 := true,
|
||||
mcs2 := true,
|
||||
mcs3 := true,
|
||||
mcs4 := true,
|
||||
mcs5 := true,
|
||||
mcs6 := true,
|
||||
mcs7 := true,
|
||||
mcs8 := true,
|
||||
mcs9 := true,
|
||||
spare2 := '000'B
|
||||
};
|
||||
|
||||
template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrx(template (value) uint16_t arfcn := 871,
|
||||
template (value) BIT8 pdch_mask := '00000001'B,
|
||||
OCT1 tsc := '07'O) := {
|
||||
arfcn := arfcn,
|
||||
pdch_mask := pdch_mask,
|
||||
spare := '00'O,
|
||||
tsc := tsc & tsc & tsc & tsc & tsc & tsc & tsc & tsc,
|
||||
hLayer1 := 0
|
||||
}
|
||||
|
||||
template (value) PCUIF_InfoTrx ts_PCUIF_InfoTrxNULL := ts_PCUIF_InfoTrx(0, '00000000'B, '00'O);
|
||||
|
||||
template (value) PCUIF_InfoTrxs ts_PCUIF_InfoTrxs_def := {
|
||||
ts_PCUIF_InfoTrx, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL,
|
||||
ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL, ts_PCUIF_InfoTrxNULL };
|
||||
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr,
|
||||
template (value) uint16_t nsei,
|
||||
template (value) uint16_t nsvci,
|
||||
template (value) uint16_t bvci,
|
||||
template (value) uint16_t local_port,
|
||||
template (value) uint16_t remote_port,
|
||||
template (value) OCT4 remote_ip,
|
||||
template (value) PCUIF_Flags flags := c_PCUIF_Flags_default,
|
||||
template (value) uint16_t mcc := 262,
|
||||
template (value) uint16_t mnc := 42,
|
||||
template (value) uint16_t lac := 13135,
|
||||
template (value) uint8_t rac := 0,
|
||||
template (value) uint16_t cell_id := 20960,
|
||||
template (value) uint8_t bsic := 7,
|
||||
template (value) PCUIF_InfoTrxs trx := ts_PCUIF_InfoTrxs_def,
|
||||
template (value) uint32_t version := PCU_IF_VERSION) := {
|
||||
msg_type := PCU_IF_MSG_INFO_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
info_ind := {
|
||||
version := version,
|
||||
flags := flags,
|
||||
trx := trx,
|
||||
bsic := bsic,
|
||||
mcc := mcc,
|
||||
mnc := mnc,
|
||||
mnc_3_digits := 0,
|
||||
lac := lac,
|
||||
rac := rac,
|
||||
nsei := nsei,
|
||||
nse_timer := { 3, 3, 3, 3, 30, 3, 10 },
|
||||
cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 },
|
||||
cell_id := cell_id,
|
||||
repeat_time := 5 * 50,
|
||||
repeat_count := 3,
|
||||
bvci := bvci,
|
||||
t3142 := 20,
|
||||
t3169 := 5,
|
||||
t3191 := 5,
|
||||
t3193_10ms := 160,
|
||||
t3195 := 5,
|
||||
t3101 := 10,
|
||||
t3103 := 4,
|
||||
t3105 := 8,
|
||||
cv_countdown := 15,
|
||||
dl_tbf_ext := 250 * 10, /* ms */
|
||||
ul_tbf_ext := 250 * 10, /* ms */
|
||||
initial_cs := 2,
|
||||
initial_mcs := 6,
|
||||
nsvci := { nsvci, 0 },
|
||||
local_pprt := { local_port, 0 },
|
||||
remote_port := { remote_port, 0 },
|
||||
remote_ip := { remote_ip , '00000000'O }
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_INFO_IND(template uint8_t bts_nr := ?,
|
||||
template PCUIF_Flags flags := ?,
|
||||
template uint32_t version := PCU_IF_VERSION) := {
|
||||
msg_type := PCU_IF_MSG_INFO_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
info_ind := {
|
||||
version := version,
|
||||
flags := flags,
|
||||
trx := ?,
|
||||
bsic := ?,
|
||||
mcc := ?,
|
||||
mnc :=?,
|
||||
mnc_3_digits := ?,
|
||||
lac := ?,
|
||||
rac := ?,
|
||||
nsei := ?,
|
||||
nse_timer := ?,
|
||||
cell_timer := ?,
|
||||
cell_id := ?,
|
||||
repeat_time := ?,
|
||||
repeat_count := ?,
|
||||
bvci := ?,
|
||||
t3142 := ?,
|
||||
t3169 := ?,
|
||||
t3191 := ?,
|
||||
t3193_10ms := ?,
|
||||
t3195 := ?,
|
||||
t3101 := ?,
|
||||
t3103 := ?,
|
||||
t3105 := ?,
|
||||
cv_countdown := ?,
|
||||
dl_tbf_ext := ?,
|
||||
ul_tbf_ext := ?,
|
||||
initial_cs := ?,
|
||||
initial_mcs := ?,
|
||||
nsvci := ?,
|
||||
local_pprt := ?,
|
||||
remote_port := ?,
|
||||
remote_ip := ?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_TIME_IND(template (value) uint8_t bts_nr,
|
||||
template (value) uint32_t fn) := {
|
||||
msg_type := PCU_IF_MSG_TIME_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
time_ind := {
|
||||
fn := fn
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_TIME_IND(template uint8_t bts_nr,
|
||||
template uint32_t fn) := {
|
||||
msg_type := PCU_IF_MSG_TIME_IND,
|
||||
bts_nr := bts_nr,
|
||||
spare := ?,
|
||||
u := {
|
||||
time_ind := {
|
||||
fn := fn
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template (value) PCUIF_Message ts_PCUIF_SUSP_REQ(template (value) uint8_t bts_nr,
|
||||
template (value) OCT4 tlli,
|
||||
template (value) OCT6 ra_id,
|
||||
template (value) uint8_t cause) := {
|
||||
msg_type := PCU_IF_MSG_SUSP_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
susp_req := {
|
||||
tlli := tlli,
|
||||
ra_id := ra_id,
|
||||
cause := cause
|
||||
}
|
||||
}
|
||||
}
|
||||
template PCUIF_Message tr_PCUIF_SUSP_REQ(template uint8_t bts_nr,
|
||||
template OCT4 tlli,
|
||||
template OCT6 ra_id,
|
||||
template uint8_t cause) := {
|
||||
msg_type := PCU_IF_MSG_SUSP_REQ,
|
||||
bts_nr := bts_nr,
|
||||
spare := '0000'O,
|
||||
u := {
|
||||
susp_req := {
|
||||
tlli := tlli,
|
||||
ra_id := ra_id,
|
||||
cause := cause
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} with { encode "RAW" variant "BYTEORDER(first)" };
|
Loading…
Reference in New Issue