// This C++ header file was generated by the TTCN-3 compiler
// of the TTCN-3 Test Executor version 11.1.0
// The generation of user and time information were disabled by the -D flag.

// Copyright (c) 2000-2025 Ericsson Telecom AB

// Do not edit this file unless you know what you are doing.

#ifndef GSM__RR__Types_HH
#define GSM__RR__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 "GSM_RestOctets.hh"
#include "MobileL3_RRM_Types.hh"

#if TTCN3_VERSION != 110100
#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 GSM__RR__Types_HH
#endif

namespace GSM__RR__Types {

/* Forward declarations of classes */

class RrMessageType;
class RrMessageType_template;
class RrShortDisc;
class RrShortDisc_template;
class RR__Cause;
class RR__Cause_template;
class L2PseudoLength;
class L2PseudoLength_template;
class RrHeader;
class RrHeader_template;
class RrL3Header;
class RrL3Header_template;
class SacchL1Header;
class SacchL1Header_template;
class MaioHsn;
class MaioHsn_template;
class MobileIdentityType;
class MobileIdentityType_template;
class MsClassmark1;
class MsClassmark1_template;
class MsClassmark2;
class MsClassmark2_template;
class MsClassmark2LV;
class MsClassmark2LV_template;
class ChannelDescription;
class ChannelDescription_template;
class ChannelDescriptionTV;
class ChannelDescriptionTV_template;
class MobileAllocationLV;
class MobileAllocationLV_template;
class MobileAllocationTLV;
class MobileAllocationTLV_template;
class PktChDesc0Ind;
class PktChDesc0Ind_template;
class PktChDesc0;
class PktChDesc0_template;
class PktChDesc1;
class PktChDesc1_template;
class PacketChannelDescription;
class PacketChannelDescription_template;
class DedicatedModeOrTbf;
class DedicatedModeOrTbf_template;
class PageMode;
class PageMode_template;
class RequestReference;
class RequestReference_template;
class FeatureIndicator;
class FeatureIndicator_template;
class DrxParameter;
class DrxParameter_template;
class MeasurementResults;
class MeasurementResults_template;
class NcellReports;
class NcellReports_template;
class NcellReport;
class NcellReport_template;
class AssignmentCommand;
class AssignmentCommand_template;
class CellDescriptionV;
class CellDescriptionV_template;
class HandoverCommand;
class HandoverCommand_template;
class ImmediateAssignment;
class ImmediateAssignment_template;
class ReqRefWaitInd;
class ReqRefWaitInd_template;
class ReqRefWaitInd4;
class ReqRefWaitInd4_template;
class ImmediateAssignmentReject;
class ImmediateAssignmentReject_template;
class MeasurementReport;
class MeasurementReport_template;
class PagingRequestType1;
class PagingRequestType1_template;
class PagingRequestType2;
class PagingRequestType2_template;
typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER GsmTmsi4;
typedef PreGenRecordOf::PREGEN__RECORD__OF__INTEGER_template GsmTmsi4_template;
class PagingRequestType3;
class PagingRequestType3_template;
class CipheringKeySeqNrTV;
class CipheringKeySeqNrTV_template;
class TalkerIndication;
class TalkerIndication_template;
class PriorityUplinkRequest;
class PriorityUplinkRequest_template;
class DataIndication;
class DataIndication_template;
class DataIndication2;
class DataIndication2_template;
class UplinkBusy;
class UplinkBusy_template;
class TalkerPrioEmergIndTLV;
class TalkerPrioEmergIndTLV_template;
class TokenTV;
class TokenTV_template;
class TalkerIdentityTLV;
class TalkerIdentityTLV_template;
class UplinkAccessIndTV;
class UplinkAccessIndTV_template;
class UplinkRelease;
class UplinkRelease_template;
class VgcsUplinkGrant;
class VgcsUplinkGrant_template;
class RrUnion;
class RrUnion_template;
class GsmRrMessage;
class GsmRrMessage_template;
class PagingResponse;
class PagingResponse_template;
class RrL3Union;
class RrL3Union_template;
class GsmRrL3Message;
class GsmRrL3Message_template;
class CellSelIndValueEnum;
class CellSelIndValueEnum_template;
class CellSelIndValue__GSM__Descrs;
class CellSelIndValue__GSM__Descrs_template;
class CellSelIndValue__GSM__Descr;
class CellSelIndValue__GSM__Descr_template;
class CellSelIndValue__UTRAN__Descrs;
class CellSelIndValue__UTRAN__Descrs_template;
class CellSelIndValue__UTRAN__Descr;
class CellSelIndValue__UTRAN__Descr_template;
class UTRAN__CellInfo;
class UTRAN__CellInfo_template;
class CellSelIndValue__EUTRAN__Descrs;
class CellSelIndValue__EUTRAN__Descrs_template;
class CellSelIndValue__EUTRAN__Descr;
class CellSelIndValue__EUTRAN__Descr_template;
class CellSelIndValue;
class CellSelIndValue_template;

} /* end of namespace */

#ifndef GSM__RR__Types_HH
#define GSM__RR__Types_HH

namespace GSM__RR__Types {

/* Type definitions */

typedef OCTETSTRING RestOctets;
typedef OCTETSTRING_template RestOctets_template;
typedef INTEGER CipheringKeySeqNr;
typedef INTEGER_template CipheringKeySeqNr_template;
typedef INTEGER TimingAdvance;
typedef INTEGER_template TimingAdvance_template;
typedef INTEGER WaitIndication;
typedef INTEGER_template WaitIndication_template;

/* Class definitions */

class RrMessageType : public Base_Type { // enum
friend class RrMessageType_template;
public:
enum enum_type { ADDITIONAL__ASSIGNMENT = 59, IMMEDIATE__ASSIGNMENT = 63, IMMEDIATE__ASSIGNMENT__EXTENDED = 57, IMMEDIATE__ASSIGNMENT__REJECT = 58, IMMEDIATE__PACKET__ASSIGNMENT = 105, CIPHERING__MODE__COMMAND = 53, CIPHERING__MODE__COMPLETE = 50, CONFIGURATION__CHANGE__COMMAND = 48, CONFIGURATION__CHANGE__ACK = 49, CONFIGURATION__CHANGE__REJECT = 51, ASSIGNMENT__COMMAND = 46, ASSIGNMENT__COMPLETE = 41, ASSIGNMENT__FAILURE = 47, HANDOVER__COMMAND = 43, HANDOVER__COMPLETE = 44, HANDOVER__FAILURE = 40, PHYSICAL__INFORMATION = 45, CHANNEL__RELEASE = 13, PARTIAL__RELEASE = 10, PARTIAL__RELEASE__COMPLETE = 15, PAGING__REQUEST__TYPE__1 = 33, PAGING__REQUEST__TYPE__2 = 34, PAGING__REQUEST__TYPE__3 = 36, PAGING__RESPONSE = 39, NOTIFICATION__NCH = 32, NOTIFICATION__RESPOSNE = 38, SYSTEM__INFORMATION__TYPE__8 = 24, SYSTEM__INFORMATION__TYPE__1 = 25, SYSTEM__INFORMATION__TYPE__2 = 26, SYSTEM__INFORMATION__TYPE__3 = 27, SYSTEM__INFORMATION__TYPE__4 = 28, SYSTEM__INFORMATION__TYPE__5 = 29, SYSTEM__INFORMATION__TYPE__6 = 30, SYSTEM__INFORMATION__TYPE__7 = 31, SYSTEM__INFORMATION__TYPE__2bis = 2, SYSTEM__INFORMATION__TYPE__2ter = 3, SYSTEM__INFORMATION__TYPE__2quater = 7, SYSTEM__INFORMATION__TYPE__5bis = 5, SYSTEM__INFORMATION__TYPE__5ter = 6, SYSTEM__INFORMATION__TYPE__9 = 4, SYSTEM__INFORMATION__TYPE__13 = 0, SYSTEM__INFORMATION__TYPE__16 = 61, SYSTEM__INFORMATION__TYPE__17 = 62, CHANNEL__MODE__MODIFY = 16, RR__STATUS = 18, CHANNEL__MODE__MODIFY__ACKNOWLEDGE = 23, FREQUENCY__REDEFINITION = 20, MEASUREMENT__REPORT = 21, CLASSMARK__CHANGE = 22, CLASSMARK__ENQUIRY = 19, EXTENDED__MEASUREMENT__REPORT = 54, EXTENDED__MEASUREMENT__ORDER = 55, GPRS__SUSPENSION__REQUEST = 52, VGCS__UPLINK__GRANT = 9, UPLINK__RELEASE = 14, UPLINK__BUSY = 42, TALKER__INDICATION = 17, PRIORITY__UPLINK__REQUEST = 102, DATA__INDICATION = 103, DATA__INDICATION2 = 104, APPLICATION__INFORMATION = 56, SYSTEM__INFORMATION__TYPE__14 = 1, SYSTEM__INFORMATION__TYPE__15 = 67, SYSTEM__INFORMATION__TYPE__18 = 64, SYSTEM__INFORMATION__TYPE__19 = 65, SYSTEM__INFORMATION__TYPE__20 = 66, SYSTEM__INFORMATION__TYPE__13alt = 68, SYSTEM__INFORMATION__TYPE__2n = 69, SYSTEM__INFORMATION__TYPE__21 = 70, SYSTEM__INFORMATION__TYPE__22 = 71, SYSTEM__INFORMATION__TYPE__23 = 79, DTM__ASSIGNMENT__FAILURE = 72, DTM__REJECT = 73, DTM__REQUEST = 74, PACKET__ASSIGNMENT = 75, DTM__ASSIGNMENT__COMMAND = 76, DTM__INFORMATION = 77, PACKET__INFORMATION = 78, UTRAN__CLASSMARK__CHANGE = 96, CDMA2000__CLASSMARK__CHANGE = 98, INTERSYS__TO__UTRAN__HO__CMD = 99, INTERSYS__TO__CDMA2000__HO__CMD = 100, GERAN__IU__MODE__CLASSMARK__CHG = 101, UNKNOWN_VALUE = 8, UNBOUND_VALUE = 11 };
private:
enum_type enum_value;

public:
RrMessageType();
RrMessageType(int other_value);
RrMessageType(enum_type other_value);
RrMessageType(const RrMessageType& other_value);

RrMessageType& operator=(int other_value);
RrMessageType& operator=(enum_type other_value);
RrMessageType& operator=(const RrMessageType& other_value);

boolean operator==(int other_value) const;
boolean operator==(enum_type other_value) const;
boolean operator==(const RrMessageType& other_value) const;
inline boolean operator!=(int other_value) const { return !(*this == other_value); }
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RrMessageType& other_value) const { return !(*this == other_value); }
boolean operator<(int other_value) const;
boolean operator<(enum_type other_value) const;
boolean operator<(const RrMessageType& other_value) const;
boolean operator>(int other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const RrMessageType& other_value) const;
inline boolean operator<=(int other_value) const { return !(*this > other_value); }
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const RrMessageType& other_value) const { return !(*this > other_value); }
inline boolean operator>=(int other_value) const { return !(*this < other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const RrMessageType& other_value) const { return !(*this < other_value); }

static const char *enum_to_str(enum_type enum_par);
static enum_type str_to_enum(const char *str_par, const int* int_par = NULL, const int* int_par2 = NULL);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const RrMessageType& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrMessageType_template : public Base_Template {
union {
RrMessageType::enum_type single_value;
struct {
unsigned int n_values;
RrMessageType_template *list_value;
} value_list;
struct {
RrMessageType_template* precondition;
RrMessageType_template* implied_template;
} implication_;
dynmatch_struct<RrMessageType>* dyn_match;
};

void copy_template(const RrMessageType_template& other_value);

public:
RrMessageType_template();
RrMessageType_template(template_sel other_value);
RrMessageType_template(int other_value);
RrMessageType_template(RrMessageType::enum_type other_value);
RrMessageType_template(const RrMessageType& other_value);
RrMessageType_template(const OPTIONAL<RrMessageType>& other_value);
RrMessageType_template(RrMessageType_template* p_precondition, RrMessageType_template* p_implied_template);
RrMessageType_template(Dynamic_Match_Interface<RrMessageType>* p_dyn_match);
RrMessageType_template(const RrMessageType_template& other_value);
~RrMessageType_template();

boolean is_bound() const;
boolean is_value() const;
void clean_up();
RrMessageType_template& operator=(template_sel other_value);
RrMessageType_template& operator=(int other_value);
RrMessageType_template& operator=(RrMessageType::enum_type other_value);
RrMessageType_template& operator=(const RrMessageType& other_value);
RrMessageType_template& operator=(const OPTIONAL<RrMessageType>& other_value);
RrMessageType_template& operator=(const RrMessageType_template& other_value);

boolean match(RrMessageType::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const RrMessageType& other_value, boolean legacy = FALSE) const;
RrMessageType::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
RrMessageType_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RrMessageType& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RrShortDisc : public Base_Type { // enum
friend class RrShortDisc_template;
public:
enum enum_type { SYSTEM__INFORMATION__TYPE__10 = 0, NOTIFICATION__FACCH = 1, UPLINK__FREE = 2, ENHAN__MEAS__REP__UL = 4, MEAS__INFO__DL = 5, VBS__VGCS__RECON = 6, VBS__VGCS__RECON2 = 7, VGCS__ADD__INFO = 8, VGCS__SMS__INFO = 9, SYSTEM__INFORMATION__TYPE__10bis = 10, SYSTEM__INFORMATION__TYPE__10ter = 11, VGCS__NEIGH__CELL__INFO = 12, NOTIFY__APP__DATA = 13, UNKNOWN_VALUE = 3, UNBOUND_VALUE = 14 };
private:
enum_type enum_value;

public:
RrShortDisc();
RrShortDisc(int other_value);
RrShortDisc(enum_type other_value);
RrShortDisc(const RrShortDisc& other_value);

RrShortDisc& operator=(int other_value);
RrShortDisc& operator=(enum_type other_value);
RrShortDisc& operator=(const RrShortDisc& other_value);

boolean operator==(int other_value) const;
boolean operator==(enum_type other_value) const;
boolean operator==(const RrShortDisc& other_value) const;
inline boolean operator!=(int other_value) const { return !(*this == other_value); }
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RrShortDisc& other_value) const { return !(*this == other_value); }
boolean operator<(int other_value) const;
boolean operator<(enum_type other_value) const;
boolean operator<(const RrShortDisc& other_value) const;
boolean operator>(int other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const RrShortDisc& other_value) const;
inline boolean operator<=(int other_value) const { return !(*this > other_value); }
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const RrShortDisc& other_value) const { return !(*this > other_value); }
inline boolean operator>=(int other_value) const { return !(*this < other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const RrShortDisc& other_value) const { return !(*this < other_value); }

static const char *enum_to_str(enum_type enum_par);
static enum_type str_to_enum(const char *str_par, const int* int_par = NULL, const int* int_par2 = NULL);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const RrShortDisc& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrShortDisc_template : public Base_Template {
union {
RrShortDisc::enum_type single_value;
struct {
unsigned int n_values;
RrShortDisc_template *list_value;
} value_list;
struct {
RrShortDisc_template* precondition;
RrShortDisc_template* implied_template;
} implication_;
dynmatch_struct<RrShortDisc>* dyn_match;
};

void copy_template(const RrShortDisc_template& other_value);

public:
RrShortDisc_template();
RrShortDisc_template(template_sel other_value);
RrShortDisc_template(int other_value);
RrShortDisc_template(RrShortDisc::enum_type other_value);
RrShortDisc_template(const RrShortDisc& other_value);
RrShortDisc_template(const OPTIONAL<RrShortDisc>& other_value);
RrShortDisc_template(RrShortDisc_template* p_precondition, RrShortDisc_template* p_implied_template);
RrShortDisc_template(Dynamic_Match_Interface<RrShortDisc>* p_dyn_match);
RrShortDisc_template(const RrShortDisc_template& other_value);
~RrShortDisc_template();

boolean is_bound() const;
boolean is_value() const;
void clean_up();
RrShortDisc_template& operator=(template_sel other_value);
RrShortDisc_template& operator=(int other_value);
RrShortDisc_template& operator=(RrShortDisc::enum_type other_value);
RrShortDisc_template& operator=(const RrShortDisc& other_value);
RrShortDisc_template& operator=(const OPTIONAL<RrShortDisc>& other_value);
RrShortDisc_template& operator=(const RrShortDisc_template& other_value);

boolean match(RrShortDisc::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const RrShortDisc& other_value, boolean legacy = FALSE) const;
RrShortDisc::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
RrShortDisc_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RrShortDisc& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RR__Cause : public Base_Type { // enum
friend class RR__Cause_template;
public:
enum enum_type { GSM48__RR__CAUSE__NORMAL = 0, GSM48__RR__CAUSE__ABNORMAL__UNSPEC = 1, GSM48__RR__CAUSE__ABNORMAL__UNACCT = 2, GSM48__RR__CAUSE__ABNORMAL__TIMER = 3, GSM48__RR__CAUSE__ABNORMAL__NOACT = 4, GSM48__RR__CAUSE__PREMPTIVE__REL = 5, GSM48__RR__CAUSE__HNDOVER__IMP = 8, GSM48__RR__CAUSE__CHAN__MODE__UNACCT = 9, GSM48__RR__CAUSE__FREQ__NOT__IMPL = 10, GSM48__RR__CAUSE__CALL__CLEARED = 65, GSM48__RR__CAUSE__SEMANT__INCORR = 95, GSM48__RR__CAUSE__INVALID__MAND__INF = 96, GSM48__RR__CAUSE__MSG__TYPE__N = 97, GSM48__RR__CAUSE__MSG__TYPE__N__COMPAT = 98, GSM48__RR__CAUSE__COND__IE__ERROR = 100, GSM48__RR__CAUSE__NO__CELL__ALLOC__A = 101, GSM48__RR__CAUSE__PROT__ERROR__UNSPC = 111, UNKNOWN_VALUE = 6, UNBOUND_VALUE = 7 };
private:
enum_type enum_value;

public:
RR__Cause();
RR__Cause(int other_value);
RR__Cause(enum_type other_value);
RR__Cause(const RR__Cause& other_value);

RR__Cause& operator=(int other_value);
RR__Cause& operator=(enum_type other_value);
RR__Cause& operator=(const RR__Cause& other_value);

boolean operator==(int other_value) const;
boolean operator==(enum_type other_value) const;
boolean operator==(const RR__Cause& other_value) const;
inline boolean operator!=(int other_value) const { return !(*this == other_value); }
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RR__Cause& other_value) const { return !(*this == other_value); }
boolean operator<(int other_value) const;
boolean operator<(enum_type other_value) const;
boolean operator<(const RR__Cause& other_value) const;
boolean operator>(int other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const RR__Cause& other_value) const;
inline boolean operator<=(int other_value) const { return !(*this > other_value); }
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const RR__Cause& other_value) const { return !(*this > other_value); }
inline boolean operator>=(int other_value) const { return !(*this < other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const RR__Cause& other_value) const { return !(*this < other_value); }

static const char *enum_to_str(enum_type enum_par);
static enum_type str_to_enum(const char *str_par, const int* int_par = NULL, const int* int_par2 = NULL);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const RR__Cause& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RR__Cause_template : public Base_Template {
union {
RR__Cause::enum_type single_value;
struct {
unsigned int n_values;
RR__Cause_template *list_value;
} value_list;
struct {
RR__Cause_template* precondition;
RR__Cause_template* implied_template;
} implication_;
dynmatch_struct<RR__Cause>* dyn_match;
};

void copy_template(const RR__Cause_template& other_value);

public:
RR__Cause_template();
RR__Cause_template(template_sel other_value);
RR__Cause_template(int other_value);
RR__Cause_template(RR__Cause::enum_type other_value);
RR__Cause_template(const RR__Cause& other_value);
RR__Cause_template(const OPTIONAL<RR__Cause>& other_value);
RR__Cause_template(RR__Cause_template* p_precondition, RR__Cause_template* p_implied_template);
RR__Cause_template(Dynamic_Match_Interface<RR__Cause>* p_dyn_match);
RR__Cause_template(const RR__Cause_template& other_value);
~RR__Cause_template();

boolean is_bound() const;
boolean is_value() const;
void clean_up();
RR__Cause_template& operator=(template_sel other_value);
RR__Cause_template& operator=(int other_value);
RR__Cause_template& operator=(RR__Cause::enum_type other_value);
RR__Cause_template& operator=(const RR__Cause& other_value);
RR__Cause_template& operator=(const OPTIONAL<RR__Cause>& other_value);
RR__Cause_template& operator=(const RR__Cause_template& other_value);

boolean match(RR__Cause::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const RR__Cause& other_value, boolean legacy = FALSE) const;
RR__Cause::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
RR__Cause_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RR__Cause& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class L2PseudoLength : public Base_Type {
  INTEGER field_l2__plen;
  BITSTRING field_zero__one;
public:
  L2PseudoLength();
  L2PseudoLength(const INTEGER& par_l2__plen,
    const BITSTRING& par_zero__one);
  L2PseudoLength(const L2PseudoLength& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  L2PseudoLength& operator=(const L2PseudoLength& other_value);
  boolean operator==(const L2PseudoLength& other_value) const;
  inline boolean operator!=(const L2PseudoLength& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& l2__plen()
    {return field_l2__plen;}
  inline const INTEGER& l2__plen() const
    {return field_l2__plen;}
  inline BITSTRING& zero__one()
    {return field_zero__one;}
  inline const BITSTRING& zero__one() const
    {return field_zero__one;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 L2PseudoLength_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
L2PseudoLength_template *list_value;
} value_list;
struct {
L2PseudoLength_template* precondition;
L2PseudoLength_template* implied_template;
} implication_;
dynmatch_struct<L2PseudoLength>* dyn_match;
};

void set_specific();
void copy_value(const L2PseudoLength& other_value);
void copy_template(const L2PseudoLength_template& other_value);

public:
L2PseudoLength_template();
L2PseudoLength_template(template_sel other_value);
L2PseudoLength_template(const L2PseudoLength& other_value);
L2PseudoLength_template(const OPTIONAL<L2PseudoLength>& other_value);
L2PseudoLength_template(L2PseudoLength_template* p_precondition, L2PseudoLength_template* p_implied_template);
L2PseudoLength_template(Dynamic_Match_Interface<L2PseudoLength>* p_dyn_match);
L2PseudoLength_template(const L2PseudoLength_template& other_value);
~L2PseudoLength_template();
L2PseudoLength_template& operator=(template_sel other_value);
L2PseudoLength_template& operator=(const L2PseudoLength& other_value);
L2PseudoLength_template& operator=(const OPTIONAL<L2PseudoLength>& other_value);
L2PseudoLength_template& operator=(const L2PseudoLength_template& other_value);
boolean match(const L2PseudoLength& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
L2PseudoLength valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
L2PseudoLength_template& list_item(unsigned int list_index) const;
INTEGER_template& l2__plen();
const INTEGER_template& l2__plen() const;
BITSTRING_template& zero__one();
const BITSTRING_template& zero__one() const;
int size_of() const;
void log() const;
void log_match(const L2PseudoLength& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class RrHeader : public Base_Type {
  L2PseudoLength field_l2__plen;
  INTEGER field_skip__indicator;
  INTEGER field_rr__protocol__discriminator;
  RrMessageType field_message__type;
public:
  RrHeader();
  RrHeader(const L2PseudoLength& par_l2__plen,
    const INTEGER& par_skip__indicator,
    const INTEGER& par_rr__protocol__discriminator,
    const RrMessageType& par_message__type);
  RrHeader(const RrHeader& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RrHeader& operator=(const RrHeader& other_value);
  boolean operator==(const RrHeader& other_value) const;
  inline boolean operator!=(const RrHeader& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline L2PseudoLength& l2__plen()
    {return field_l2__plen;}
  inline const L2PseudoLength& l2__plen() const
    {return field_l2__plen;}
  inline INTEGER& skip__indicator()
    {return field_skip__indicator;}
  inline const INTEGER& skip__indicator() const
    {return field_skip__indicator;}
  inline INTEGER& rr__protocol__discriminator()
    {return field_rr__protocol__discriminator;}
  inline const INTEGER& rr__protocol__discriminator() const
    {return field_rr__protocol__discriminator;}
  inline RrMessageType& message__type()
    {return field_message__type;}
  inline const RrMessageType& message__type() const
    {return field_message__type;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrHeader_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RrHeader_template *list_value;
} value_list;
struct {
RrHeader_template* precondition;
RrHeader_template* implied_template;
} implication_;
dynmatch_struct<RrHeader>* dyn_match;
};

void set_specific();
void copy_value(const RrHeader& other_value);
void copy_template(const RrHeader_template& other_value);

public:
RrHeader_template();
RrHeader_template(template_sel other_value);
RrHeader_template(const RrHeader& other_value);
RrHeader_template(const OPTIONAL<RrHeader>& other_value);
RrHeader_template(RrHeader_template* p_precondition, RrHeader_template* p_implied_template);
RrHeader_template(Dynamic_Match_Interface<RrHeader>* p_dyn_match);
RrHeader_template(const RrHeader_template& other_value);
~RrHeader_template();
RrHeader_template& operator=(template_sel other_value);
RrHeader_template& operator=(const RrHeader& other_value);
RrHeader_template& operator=(const OPTIONAL<RrHeader>& other_value);
RrHeader_template& operator=(const RrHeader_template& other_value);
boolean match(const RrHeader& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RrHeader valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RrHeader_template& list_item(unsigned int list_index) const;
L2PseudoLength_template& l2__plen();
const L2PseudoLength_template& l2__plen() const;
INTEGER_template& skip__indicator();
const INTEGER_template& skip__indicator() const;
INTEGER_template& rr__protocol__discriminator();
const INTEGER_template& rr__protocol__discriminator() const;
RrMessageType_template& message__type();
const RrMessageType_template& message__type() const;
int size_of() const;
void log() const;
void log_match(const RrHeader& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class RrL3Header : public Base_Type {
  INTEGER field_skip__indicator;
  INTEGER field_rr__protocol__discriminator;
  RrMessageType field_message__type;
public:
  RrL3Header();
  RrL3Header(const INTEGER& par_skip__indicator,
    const INTEGER& par_rr__protocol__discriminator,
    const RrMessageType& par_message__type);
  RrL3Header(const RrL3Header& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RrL3Header& operator=(const RrL3Header& other_value);
  boolean operator==(const RrL3Header& other_value) const;
  inline boolean operator!=(const RrL3Header& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& skip__indicator()
    {return field_skip__indicator;}
  inline const INTEGER& skip__indicator() const
    {return field_skip__indicator;}
  inline INTEGER& rr__protocol__discriminator()
    {return field_rr__protocol__discriminator;}
  inline const INTEGER& rr__protocol__discriminator() const
    {return field_rr__protocol__discriminator;}
  inline RrMessageType& message__type()
    {return field_message__type;}
  inline const RrMessageType& message__type() const
    {return field_message__type;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrL3Header_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RrL3Header_template *list_value;
} value_list;
struct {
RrL3Header_template* precondition;
RrL3Header_template* implied_template;
} implication_;
dynmatch_struct<RrL3Header>* dyn_match;
};

void set_specific();
void copy_value(const RrL3Header& other_value);
void copy_template(const RrL3Header_template& other_value);

public:
RrL3Header_template();
RrL3Header_template(template_sel other_value);
RrL3Header_template(const RrL3Header& other_value);
RrL3Header_template(const OPTIONAL<RrL3Header>& other_value);
RrL3Header_template(RrL3Header_template* p_precondition, RrL3Header_template* p_implied_template);
RrL3Header_template(Dynamic_Match_Interface<RrL3Header>* p_dyn_match);
RrL3Header_template(const RrL3Header_template& other_value);
~RrL3Header_template();
RrL3Header_template& operator=(template_sel other_value);
RrL3Header_template& operator=(const RrL3Header& other_value);
RrL3Header_template& operator=(const OPTIONAL<RrL3Header>& other_value);
RrL3Header_template& operator=(const RrL3Header_template& other_value);
boolean match(const RrL3Header& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RrL3Header valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RrL3Header_template& list_item(unsigned int list_index) const;
INTEGER_template& skip__indicator();
const INTEGER_template& skip__indicator() const;
INTEGER_template& rr__protocol__discriminator();
const INTEGER_template& rr__protocol__discriminator() const;
RrMessageType_template& message__type();
const RrMessageType_template& message__type() const;
int size_of() const;
void log() const;
void log_match(const RrL3Header& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class SacchL1Header : public Base_Type {
  INTEGER field_reserved;
  BOOLEAN field_fpc;
  INTEGER field_ms__power__lvl;
  INTEGER field_actual__ta;
public:
  SacchL1Header();
  SacchL1Header(const INTEGER& par_reserved,
    const BOOLEAN& par_fpc,
    const INTEGER& par_ms__power__lvl,
    const INTEGER& par_actual__ta);
  SacchL1Header(const SacchL1Header& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  SacchL1Header& operator=(const SacchL1Header& other_value);
  boolean operator==(const SacchL1Header& other_value) const;
  inline boolean operator!=(const SacchL1Header& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& reserved()
    {return field_reserved;}
  inline const INTEGER& reserved() const
    {return field_reserved;}
  inline BOOLEAN& fpc()
    {return field_fpc;}
  inline const BOOLEAN& fpc() const
    {return field_fpc;}
  inline INTEGER& ms__power__lvl()
    {return field_ms__power__lvl;}
  inline const INTEGER& ms__power__lvl() const
    {return field_ms__power__lvl;}
  inline INTEGER& actual__ta()
    {return field_actual__ta;}
  inline const INTEGER& actual__ta() const
    {return field_actual__ta;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 SacchL1Header_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
SacchL1Header_template *list_value;
} value_list;
struct {
SacchL1Header_template* precondition;
SacchL1Header_template* implied_template;
} implication_;
dynmatch_struct<SacchL1Header>* dyn_match;
};

void set_specific();
void copy_value(const SacchL1Header& other_value);
void copy_template(const SacchL1Header_template& other_value);

public:
SacchL1Header_template();
SacchL1Header_template(template_sel other_value);
SacchL1Header_template(const SacchL1Header& other_value);
SacchL1Header_template(const OPTIONAL<SacchL1Header>& other_value);
SacchL1Header_template(SacchL1Header_template* p_precondition, SacchL1Header_template* p_implied_template);
SacchL1Header_template(Dynamic_Match_Interface<SacchL1Header>* p_dyn_match);
SacchL1Header_template(const SacchL1Header_template& other_value);
~SacchL1Header_template();
SacchL1Header_template& operator=(template_sel other_value);
SacchL1Header_template& operator=(const SacchL1Header& other_value);
SacchL1Header_template& operator=(const OPTIONAL<SacchL1Header>& other_value);
SacchL1Header_template& operator=(const SacchL1Header_template& other_value);
boolean match(const SacchL1Header& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
SacchL1Header valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
SacchL1Header_template& list_item(unsigned int list_index) const;
INTEGER_template& reserved();
const INTEGER_template& reserved() const;
BOOLEAN_template& fpc();
const BOOLEAN_template& fpc() const;
INTEGER_template& ms__power__lvl();
const INTEGER_template& ms__power__lvl() const;
INTEGER_template& actual__ta();
const INTEGER_template& actual__ta() const;
int size_of() const;
void log() const;
void log_match(const SacchL1Header& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MaioHsn : public Base_Type {
  INTEGER field_maio;
  INTEGER field_hsn;
public:
  MaioHsn();
  MaioHsn(const INTEGER& par_maio,
    const INTEGER& par_hsn);
  MaioHsn(const MaioHsn& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MaioHsn& operator=(const MaioHsn& other_value);
  boolean operator==(const MaioHsn& other_value) const;
  inline boolean operator!=(const MaioHsn& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& maio()
    {return field_maio;}
  inline const INTEGER& maio() const
    {return field_maio;}
  inline INTEGER& hsn()
    {return field_hsn;}
  inline const INTEGER& hsn() const
    {return field_hsn;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MaioHsn_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MaioHsn_template *list_value;
} value_list;
struct {
MaioHsn_template* precondition;
MaioHsn_template* implied_template;
} implication_;
dynmatch_struct<MaioHsn>* dyn_match;
};

void set_specific();
void copy_value(const MaioHsn& other_value);
void copy_template(const MaioHsn_template& other_value);

public:
MaioHsn_template();
MaioHsn_template(template_sel other_value);
MaioHsn_template(const MaioHsn& other_value);
MaioHsn_template(const OPTIONAL<MaioHsn>& other_value);
MaioHsn_template(MaioHsn_template* p_precondition, MaioHsn_template* p_implied_template);
MaioHsn_template(Dynamic_Match_Interface<MaioHsn>* p_dyn_match);
MaioHsn_template(const MaioHsn_template& other_value);
~MaioHsn_template();
MaioHsn_template& operator=(template_sel other_value);
MaioHsn_template& operator=(const MaioHsn& other_value);
MaioHsn_template& operator=(const OPTIONAL<MaioHsn>& other_value);
MaioHsn_template& operator=(const MaioHsn_template& other_value);
boolean match(const MaioHsn& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MaioHsn valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MaioHsn_template& list_item(unsigned int list_index) const;
INTEGER_template& maio();
const INTEGER_template& maio() const;
INTEGER_template& hsn();
const INTEGER_template& hsn() const;
int size_of() const;
void log() const;
void log_match(const MaioHsn& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MobileIdentityType : public Base_Type { // enum
friend class MobileIdentityType_template;
public:
enum enum_type { MI__TYPE__NONE = 0, MI__TYPE__IMSI = 1, MI__TYPE__IMEI = 2, MI__TYPE__IMEISV = 3, MI__TYPE__TMSI = 4, MI__TYPE__TMGI = 5, UNKNOWN_VALUE = 6, UNBOUND_VALUE = 7 };
private:
enum_type enum_value;

public:
MobileIdentityType();
MobileIdentityType(int other_value);
MobileIdentityType(enum_type other_value);
MobileIdentityType(const MobileIdentityType& other_value);

MobileIdentityType& operator=(int other_value);
MobileIdentityType& operator=(enum_type other_value);
MobileIdentityType& operator=(const MobileIdentityType& other_value);

boolean operator==(int other_value) const;
boolean operator==(enum_type other_value) const;
boolean operator==(const MobileIdentityType& other_value) const;
inline boolean operator!=(int other_value) const { return !(*this == other_value); }
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const MobileIdentityType& other_value) const { return !(*this == other_value); }
boolean operator<(int other_value) const;
boolean operator<(enum_type other_value) const;
boolean operator<(const MobileIdentityType& other_value) const;
boolean operator>(int other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const MobileIdentityType& other_value) const;
inline boolean operator<=(int other_value) const { return !(*this > other_value); }
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const MobileIdentityType& other_value) const { return !(*this > other_value); }
inline boolean operator>=(int other_value) const { return !(*this < other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const MobileIdentityType& other_value) const { return !(*this < other_value); }

static const char *enum_to_str(enum_type enum_par);
static enum_type str_to_enum(const char *str_par, const int* int_par = NULL, const int* int_par2 = NULL);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const MobileIdentityType& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MobileIdentityType_template : public Base_Template {
union {
MobileIdentityType::enum_type single_value;
struct {
unsigned int n_values;
MobileIdentityType_template *list_value;
} value_list;
struct {
MobileIdentityType_template* precondition;
MobileIdentityType_template* implied_template;
} implication_;
dynmatch_struct<MobileIdentityType>* dyn_match;
};

void copy_template(const MobileIdentityType_template& other_value);

public:
MobileIdentityType_template();
MobileIdentityType_template(template_sel other_value);
MobileIdentityType_template(int other_value);
MobileIdentityType_template(MobileIdentityType::enum_type other_value);
MobileIdentityType_template(const MobileIdentityType& other_value);
MobileIdentityType_template(const OPTIONAL<MobileIdentityType>& other_value);
MobileIdentityType_template(MobileIdentityType_template* p_precondition, MobileIdentityType_template* p_implied_template);
MobileIdentityType_template(Dynamic_Match_Interface<MobileIdentityType>* p_dyn_match);
MobileIdentityType_template(const MobileIdentityType_template& other_value);
~MobileIdentityType_template();

boolean is_bound() const;
boolean is_value() const;
void clean_up();
MobileIdentityType_template& operator=(template_sel other_value);
MobileIdentityType_template& operator=(int other_value);
MobileIdentityType_template& operator=(MobileIdentityType::enum_type other_value);
MobileIdentityType_template& operator=(const MobileIdentityType& other_value);
MobileIdentityType_template& operator=(const OPTIONAL<MobileIdentityType>& other_value);
MobileIdentityType_template& operator=(const MobileIdentityType_template& other_value);

boolean match(MobileIdentityType::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const MobileIdentityType& other_value, boolean legacy = FALSE) const;
MobileIdentityType::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
MobileIdentityType_template& list_item(unsigned int list_index);
void log() const;
void log_match(const MobileIdentityType& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class MsClassmark1 : public Base_Type {
  BITSTRING field_spare;
  INTEGER field_rev__level;
  BOOLEAN field_es__ind;
  BOOLEAN field_a51;
  INTEGER field_rf__pwr__cap;
public:
  MsClassmark1();
  MsClassmark1(const BITSTRING& par_spare,
    const INTEGER& par_rev__level,
    const BOOLEAN& par_es__ind,
    const BOOLEAN& par_a51,
    const INTEGER& par_rf__pwr__cap);
  MsClassmark1(const MsClassmark1& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MsClassmark1& operator=(const MsClassmark1& other_value);
  boolean operator==(const MsClassmark1& other_value) const;
  inline boolean operator!=(const MsClassmark1& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline INTEGER& rev__level()
    {return field_rev__level;}
  inline const INTEGER& rev__level() const
    {return field_rev__level;}
  inline BOOLEAN& es__ind()
    {return field_es__ind;}
  inline const BOOLEAN& es__ind() const
    {return field_es__ind;}
  inline BOOLEAN& a51()
    {return field_a51;}
  inline const BOOLEAN& a51() const
    {return field_a51;}
  inline INTEGER& rf__pwr__cap()
    {return field_rf__pwr__cap;}
  inline const INTEGER& rf__pwr__cap() const
    {return field_rf__pwr__cap;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MsClassmark1_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MsClassmark1_template *list_value;
} value_list;
struct {
MsClassmark1_template* precondition;
MsClassmark1_template* implied_template;
} implication_;
dynmatch_struct<MsClassmark1>* dyn_match;
};

void set_specific();
void copy_value(const MsClassmark1& other_value);
void copy_template(const MsClassmark1_template& other_value);

public:
MsClassmark1_template();
MsClassmark1_template(template_sel other_value);
MsClassmark1_template(const MsClassmark1& other_value);
MsClassmark1_template(const OPTIONAL<MsClassmark1>& other_value);
MsClassmark1_template(MsClassmark1_template* p_precondition, MsClassmark1_template* p_implied_template);
MsClassmark1_template(Dynamic_Match_Interface<MsClassmark1>* p_dyn_match);
MsClassmark1_template(const MsClassmark1_template& other_value);
~MsClassmark1_template();
MsClassmark1_template& operator=(template_sel other_value);
MsClassmark1_template& operator=(const MsClassmark1& other_value);
MsClassmark1_template& operator=(const OPTIONAL<MsClassmark1>& other_value);
MsClassmark1_template& operator=(const MsClassmark1_template& other_value);
boolean match(const MsClassmark1& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MsClassmark1 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MsClassmark1_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
INTEGER_template& rev__level();
const INTEGER_template& rev__level() const;
BOOLEAN_template& es__ind();
const BOOLEAN_template& es__ind() const;
BOOLEAN_template& a51();
const BOOLEAN_template& a51() const;
INTEGER_template& rf__pwr__cap();
const INTEGER_template& rf__pwr__cap() const;
int size_of() const;
void log() const;
void log_match(const MsClassmark1& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MsClassmark2 : public Base_Type {
  BITSTRING field_spare;
  INTEGER field_rev__level;
  BOOLEAN field_es__ind;
  BOOLEAN field_a51;
  INTEGER field_rf__pwr__cap;
  BITSTRING field_spare1;
  BOOLEAN field_ps__cap;
  INTEGER field_ss__screen__ind;
  BOOLEAN field_sm__cap;
  BOOLEAN field_vbs;
  BOOLEAN field_vgcs;
  BOOLEAN field_fc;
  BOOLEAN field_cm3;
  BITSTRING field_spare2;
  BOOLEAN field_lcsva__cap;
  BOOLEAN field_ucs2;
  BOOLEAN field_solsa;
  BOOLEAN field_cmsp;
  BOOLEAN field_a53;
  BOOLEAN field_a52;
public:
  MsClassmark2();
  MsClassmark2(const BITSTRING& par_spare,
    const INTEGER& par_rev__level,
    const BOOLEAN& par_es__ind,
    const BOOLEAN& par_a51,
    const INTEGER& par_rf__pwr__cap,
    const BITSTRING& par_spare1,
    const BOOLEAN& par_ps__cap,
    const INTEGER& par_ss__screen__ind,
    const BOOLEAN& par_sm__cap,
    const BOOLEAN& par_vbs,
    const BOOLEAN& par_vgcs,
    const BOOLEAN& par_fc,
    const BOOLEAN& par_cm3,
    const BITSTRING& par_spare2,
    const BOOLEAN& par_lcsva__cap,
    const BOOLEAN& par_ucs2,
    const BOOLEAN& par_solsa,
    const BOOLEAN& par_cmsp,
    const BOOLEAN& par_a53,
    const BOOLEAN& par_a52);
  MsClassmark2(const MsClassmark2& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MsClassmark2& operator=(const MsClassmark2& other_value);
  boolean operator==(const MsClassmark2& other_value) const;
  inline boolean operator!=(const MsClassmark2& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline INTEGER& rev__level()
    {return field_rev__level;}
  inline const INTEGER& rev__level() const
    {return field_rev__level;}
  inline BOOLEAN& es__ind()
    {return field_es__ind;}
  inline const BOOLEAN& es__ind() const
    {return field_es__ind;}
  inline BOOLEAN& a51()
    {return field_a51;}
  inline const BOOLEAN& a51() const
    {return field_a51;}
  inline INTEGER& rf__pwr__cap()
    {return field_rf__pwr__cap;}
  inline const INTEGER& rf__pwr__cap() const
    {return field_rf__pwr__cap;}
  inline BITSTRING& spare1()
    {return field_spare1;}
  inline const BITSTRING& spare1() const
    {return field_spare1;}
  inline BOOLEAN& ps__cap()
    {return field_ps__cap;}
  inline const BOOLEAN& ps__cap() const
    {return field_ps__cap;}
  inline INTEGER& ss__screen__ind()
    {return field_ss__screen__ind;}
  inline const INTEGER& ss__screen__ind() const
    {return field_ss__screen__ind;}
  inline BOOLEAN& sm__cap()
    {return field_sm__cap;}
  inline const BOOLEAN& sm__cap() const
    {return field_sm__cap;}
  inline BOOLEAN& vbs()
    {return field_vbs;}
  inline const BOOLEAN& vbs() const
    {return field_vbs;}
  inline BOOLEAN& vgcs()
    {return field_vgcs;}
  inline const BOOLEAN& vgcs() const
    {return field_vgcs;}
  inline BOOLEAN& fc()
    {return field_fc;}
  inline const BOOLEAN& fc() const
    {return field_fc;}
  inline BOOLEAN& cm3()
    {return field_cm3;}
  inline const BOOLEAN& cm3() const
    {return field_cm3;}
  inline BITSTRING& spare2()
    {return field_spare2;}
  inline const BITSTRING& spare2() const
    {return field_spare2;}
  inline BOOLEAN& lcsva__cap()
    {return field_lcsva__cap;}
  inline const BOOLEAN& lcsva__cap() const
    {return field_lcsva__cap;}
  inline BOOLEAN& ucs2()
    {return field_ucs2;}
  inline const BOOLEAN& ucs2() const
    {return field_ucs2;}
  inline BOOLEAN& solsa()
    {return field_solsa;}
  inline const BOOLEAN& solsa() const
    {return field_solsa;}
  inline BOOLEAN& cmsp()
    {return field_cmsp;}
  inline const BOOLEAN& cmsp() const
    {return field_cmsp;}
  inline BOOLEAN& a53()
    {return field_a53;}
  inline const BOOLEAN& a53() const
    {return field_a53;}
  inline BOOLEAN& a52()
    {return field_a52;}
  inline const BOOLEAN& a52() const
    {return field_a52;}
  inline int size_of() const
    {return 20;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MsClassmark2_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MsClassmark2_template *list_value;
} value_list;
struct {
MsClassmark2_template* precondition;
MsClassmark2_template* implied_template;
} implication_;
dynmatch_struct<MsClassmark2>* dyn_match;
};

void set_specific();
void copy_value(const MsClassmark2& other_value);
void copy_template(const MsClassmark2_template& other_value);

public:
MsClassmark2_template();
MsClassmark2_template(template_sel other_value);
MsClassmark2_template(const MsClassmark2& other_value);
MsClassmark2_template(const OPTIONAL<MsClassmark2>& other_value);
MsClassmark2_template(MsClassmark2_template* p_precondition, MsClassmark2_template* p_implied_template);
MsClassmark2_template(Dynamic_Match_Interface<MsClassmark2>* p_dyn_match);
MsClassmark2_template(const MsClassmark2_template& other_value);
~MsClassmark2_template();
MsClassmark2_template& operator=(template_sel other_value);
MsClassmark2_template& operator=(const MsClassmark2& other_value);
MsClassmark2_template& operator=(const OPTIONAL<MsClassmark2>& other_value);
MsClassmark2_template& operator=(const MsClassmark2_template& other_value);
boolean match(const MsClassmark2& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MsClassmark2 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MsClassmark2_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
INTEGER_template& rev__level();
const INTEGER_template& rev__level() const;
BOOLEAN_template& es__ind();
const BOOLEAN_template& es__ind() const;
BOOLEAN_template& a51();
const BOOLEAN_template& a51() const;
INTEGER_template& rf__pwr__cap();
const INTEGER_template& rf__pwr__cap() const;
BITSTRING_template& spare1();
const BITSTRING_template& spare1() const;
BOOLEAN_template& ps__cap();
const BOOLEAN_template& ps__cap() const;
INTEGER_template& ss__screen__ind();
const INTEGER_template& ss__screen__ind() const;
BOOLEAN_template& sm__cap();
const BOOLEAN_template& sm__cap() const;
BOOLEAN_template& vbs();
const BOOLEAN_template& vbs() const;
BOOLEAN_template& vgcs();
const BOOLEAN_template& vgcs() const;
BOOLEAN_template& fc();
const BOOLEAN_template& fc() const;
BOOLEAN_template& cm3();
const BOOLEAN_template& cm3() const;
BITSTRING_template& spare2();
const BITSTRING_template& spare2() const;
BOOLEAN_template& lcsva__cap();
const BOOLEAN_template& lcsva__cap() const;
BOOLEAN_template& ucs2();
const BOOLEAN_template& ucs2() const;
BOOLEAN_template& solsa();
const BOOLEAN_template& solsa() const;
BOOLEAN_template& cmsp();
const BOOLEAN_template& cmsp() const;
BOOLEAN_template& a53();
const BOOLEAN_template& a53() const;
BOOLEAN_template& a52();
const BOOLEAN_template& a52() const;
int size_of() const;
void log() const;
void log_match(const MsClassmark2& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MsClassmark2LV : public Base_Type {
  INTEGER field_len;
  MsClassmark2 field_cm2;
public:
  MsClassmark2LV();
  MsClassmark2LV(const INTEGER& par_len,
    const MsClassmark2& par_cm2);
  MsClassmark2LV(const MsClassmark2LV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MsClassmark2LV& operator=(const MsClassmark2LV& other_value);
  boolean operator==(const MsClassmark2LV& other_value) const;
  inline boolean operator!=(const MsClassmark2LV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline MsClassmark2& cm2()
    {return field_cm2;}
  inline const MsClassmark2& cm2() const
    {return field_cm2;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MsClassmark2LV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MsClassmark2LV_template *list_value;
} value_list;
struct {
MsClassmark2LV_template* precondition;
MsClassmark2LV_template* implied_template;
} implication_;
dynmatch_struct<MsClassmark2LV>* dyn_match;
};

void set_specific();
void copy_value(const MsClassmark2LV& other_value);
void copy_template(const MsClassmark2LV_template& other_value);

public:
MsClassmark2LV_template();
MsClassmark2LV_template(template_sel other_value);
MsClassmark2LV_template(const MsClassmark2LV& other_value);
MsClassmark2LV_template(const OPTIONAL<MsClassmark2LV>& other_value);
MsClassmark2LV_template(MsClassmark2LV_template* p_precondition, MsClassmark2LV_template* p_implied_template);
MsClassmark2LV_template(Dynamic_Match_Interface<MsClassmark2LV>* p_dyn_match);
MsClassmark2LV_template(const MsClassmark2LV_template& other_value);
~MsClassmark2LV_template();
MsClassmark2LV_template& operator=(template_sel other_value);
MsClassmark2LV_template& operator=(const MsClassmark2LV& other_value);
MsClassmark2LV_template& operator=(const OPTIONAL<MsClassmark2LV>& other_value);
MsClassmark2LV_template& operator=(const MsClassmark2LV_template& other_value);
boolean match(const MsClassmark2LV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MsClassmark2LV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MsClassmark2LV_template& list_item(unsigned int list_index) const;
INTEGER_template& len();
const INTEGER_template& len() const;
MsClassmark2_template& cm2();
const MsClassmark2_template& cm2() const;
int size_of() const;
void log() const;
void log_match(const MsClassmark2LV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class ChannelDescription : public Base_Type {
  GSM__Types::RslChannelNr field_chan__nr;
  INTEGER field_tsc;
  BOOLEAN field_h;
  OPTIONAL< INTEGER > field_arfcn;
  OPTIONAL< MaioHsn > field_maio__hsn;
public:
  ChannelDescription();
  ChannelDescription(const GSM__Types::RslChannelNr& par_chan__nr,
    const INTEGER& par_tsc,
    const BOOLEAN& par_h,
    const OPTIONAL< INTEGER >& par_arfcn,
    const OPTIONAL< MaioHsn >& par_maio__hsn);
  ChannelDescription(const ChannelDescription& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ChannelDescription& operator=(const ChannelDescription& other_value);
  boolean operator==(const ChannelDescription& other_value) const;
  inline boolean operator!=(const ChannelDescription& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline GSM__Types::RslChannelNr& chan__nr()
    {return field_chan__nr;}
  inline const GSM__Types::RslChannelNr& chan__nr() const
    {return field_chan__nr;}
  inline INTEGER& tsc()
    {return field_tsc;}
  inline const INTEGER& tsc() const
    {return field_tsc;}
  inline BOOLEAN& h()
    {return field_h;}
  inline const BOOLEAN& h() const
    {return field_h;}
  inline OPTIONAL< INTEGER >& arfcn()
    {return field_arfcn;}
  inline const OPTIONAL< INTEGER >& arfcn() const
    {return field_arfcn;}
  inline OPTIONAL< MaioHsn >& maio__hsn()
    {return field_maio__hsn;}
  inline const OPTIONAL< MaioHsn >& maio__hsn() const
    {return field_maio__hsn;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ChannelDescription_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ChannelDescription_template *list_value;
} value_list;
struct {
ChannelDescription_template* precondition;
ChannelDescription_template* implied_template;
} implication_;
dynmatch_struct<ChannelDescription>* dyn_match;
};

void set_specific();
void copy_value(const ChannelDescription& other_value);
void copy_template(const ChannelDescription_template& other_value);

public:
ChannelDescription_template();
ChannelDescription_template(template_sel other_value);
ChannelDescription_template(const ChannelDescription& other_value);
ChannelDescription_template(const OPTIONAL<ChannelDescription>& other_value);
ChannelDescription_template(ChannelDescription_template* p_precondition, ChannelDescription_template* p_implied_template);
ChannelDescription_template(Dynamic_Match_Interface<ChannelDescription>* p_dyn_match);
ChannelDescription_template(const ChannelDescription_template& other_value);
~ChannelDescription_template();
ChannelDescription_template& operator=(template_sel other_value);
ChannelDescription_template& operator=(const ChannelDescription& other_value);
ChannelDescription_template& operator=(const OPTIONAL<ChannelDescription>& other_value);
ChannelDescription_template& operator=(const ChannelDescription_template& other_value);
boolean match(const ChannelDescription& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ChannelDescription valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ChannelDescription_template& list_item(unsigned int list_index) const;
GSM__Types::RslChannelNr_template& chan__nr();
const GSM__Types::RslChannelNr_template& chan__nr() const;
INTEGER_template& tsc();
const INTEGER_template& tsc() const;
BOOLEAN_template& h();
const BOOLEAN_template& h() const;
INTEGER_template& arfcn();
const INTEGER_template& arfcn() const;
MaioHsn_template& maio__hsn();
const MaioHsn_template& maio__hsn() const;
int size_of() const;
void log() const;
void log_match(const ChannelDescription& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class ChannelDescriptionTV : public Base_Type {
  OCTETSTRING field_iei;
  ChannelDescription field_v;
public:
  ChannelDescriptionTV();
  ChannelDescriptionTV(const OCTETSTRING& par_iei,
    const ChannelDescription& par_v);
  ChannelDescriptionTV(const ChannelDescriptionTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ChannelDescriptionTV& operator=(const ChannelDescriptionTV& other_value);
  boolean operator==(const ChannelDescriptionTV& other_value) const;
  inline boolean operator!=(const ChannelDescriptionTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& iei()
    {return field_iei;}
  inline const OCTETSTRING& iei() const
    {return field_iei;}
  inline ChannelDescription& v()
    {return field_v;}
  inline const ChannelDescription& v() const
    {return field_v;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ChannelDescriptionTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ChannelDescriptionTV_template *list_value;
} value_list;
struct {
ChannelDescriptionTV_template* precondition;
ChannelDescriptionTV_template* implied_template;
} implication_;
dynmatch_struct<ChannelDescriptionTV>* dyn_match;
};

void set_specific();
void copy_value(const ChannelDescriptionTV& other_value);
void copy_template(const ChannelDescriptionTV_template& other_value);

public:
ChannelDescriptionTV_template();
ChannelDescriptionTV_template(template_sel other_value);
ChannelDescriptionTV_template(const ChannelDescriptionTV& other_value);
ChannelDescriptionTV_template(const OPTIONAL<ChannelDescriptionTV>& other_value);
ChannelDescriptionTV_template(ChannelDescriptionTV_template* p_precondition, ChannelDescriptionTV_template* p_implied_template);
ChannelDescriptionTV_template(Dynamic_Match_Interface<ChannelDescriptionTV>* p_dyn_match);
ChannelDescriptionTV_template(const ChannelDescriptionTV_template& other_value);
~ChannelDescriptionTV_template();
ChannelDescriptionTV_template& operator=(template_sel other_value);
ChannelDescriptionTV_template& operator=(const ChannelDescriptionTV& other_value);
ChannelDescriptionTV_template& operator=(const OPTIONAL<ChannelDescriptionTV>& other_value);
ChannelDescriptionTV_template& operator=(const ChannelDescriptionTV_template& other_value);
boolean match(const ChannelDescriptionTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ChannelDescriptionTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ChannelDescriptionTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& iei();
const OCTETSTRING_template& iei() const;
ChannelDescription_template& v();
const ChannelDescription_template& v() const;
int size_of() const;
void log() const;
void log_match(const ChannelDescriptionTV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MobileAllocationLV : public Base_Type {
  INTEGER field_len;
  BITSTRING field_ma;
public:
  MobileAllocationLV();
  MobileAllocationLV(const INTEGER& par_len,
    const BITSTRING& par_ma);
  MobileAllocationLV(const MobileAllocationLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MobileAllocationLV& operator=(const MobileAllocationLV& other_value);
  boolean operator==(const MobileAllocationLV& other_value) const;
  inline boolean operator!=(const MobileAllocationLV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline BITSTRING& ma()
    {return field_ma;}
  inline const BITSTRING& ma() const
    {return field_ma;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MobileAllocationLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MobileAllocationLV_template *list_value;
} value_list;
struct {
MobileAllocationLV_template* precondition;
MobileAllocationLV_template* implied_template;
} implication_;
dynmatch_struct<MobileAllocationLV>* dyn_match;
};

void set_specific();
void copy_value(const MobileAllocationLV& other_value);
void copy_template(const MobileAllocationLV_template& other_value);

public:
MobileAllocationLV_template();
MobileAllocationLV_template(template_sel other_value);
MobileAllocationLV_template(const MobileAllocationLV& other_value);
MobileAllocationLV_template(const OPTIONAL<MobileAllocationLV>& other_value);
MobileAllocationLV_template(MobileAllocationLV_template* p_precondition, MobileAllocationLV_template* p_implied_template);
MobileAllocationLV_template(Dynamic_Match_Interface<MobileAllocationLV>* p_dyn_match);
MobileAllocationLV_template(const MobileAllocationLV_template& other_value);
~MobileAllocationLV_template();
MobileAllocationLV_template& operator=(template_sel other_value);
MobileAllocationLV_template& operator=(const MobileAllocationLV& other_value);
MobileAllocationLV_template& operator=(const OPTIONAL<MobileAllocationLV>& other_value);
MobileAllocationLV_template& operator=(const MobileAllocationLV_template& other_value);
boolean match(const MobileAllocationLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MobileAllocationLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MobileAllocationLV_template& list_item(unsigned int list_index) const;
INTEGER_template& len();
const INTEGER_template& len() const;
BITSTRING_template& ma();
const BITSTRING_template& ma() const;
int size_of() const;
void log() const;
void log_match(const MobileAllocationLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MobileAllocationTLV : public Base_Type {
  OCTETSTRING field_iei;
  MobileAllocationLV field_v;
public:
  MobileAllocationTLV();
  MobileAllocationTLV(const OCTETSTRING& par_iei,
    const MobileAllocationLV& par_v);
  MobileAllocationTLV(const MobileAllocationTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MobileAllocationTLV& operator=(const MobileAllocationTLV& other_value);
  boolean operator==(const MobileAllocationTLV& other_value) const;
  inline boolean operator!=(const MobileAllocationTLV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& iei()
    {return field_iei;}
  inline const OCTETSTRING& iei() const
    {return field_iei;}
  inline MobileAllocationLV& v()
    {return field_v;}
  inline const MobileAllocationLV& v() const
    {return field_v;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MobileAllocationTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MobileAllocationTLV_template *list_value;
} value_list;
struct {
MobileAllocationTLV_template* precondition;
MobileAllocationTLV_template* implied_template;
} implication_;
dynmatch_struct<MobileAllocationTLV>* dyn_match;
};

void set_specific();
void copy_value(const MobileAllocationTLV& other_value);
void copy_template(const MobileAllocationTLV_template& other_value);

public:
MobileAllocationTLV_template();
MobileAllocationTLV_template(template_sel other_value);
MobileAllocationTLV_template(const MobileAllocationTLV& other_value);
MobileAllocationTLV_template(const OPTIONAL<MobileAllocationTLV>& other_value);
MobileAllocationTLV_template(MobileAllocationTLV_template* p_precondition, MobileAllocationTLV_template* p_implied_template);
MobileAllocationTLV_template(Dynamic_Match_Interface<MobileAllocationTLV>* p_dyn_match);
MobileAllocationTLV_template(const MobileAllocationTLV_template& other_value);
~MobileAllocationTLV_template();
MobileAllocationTLV_template& operator=(template_sel other_value);
MobileAllocationTLV_template& operator=(const MobileAllocationTLV& other_value);
MobileAllocationTLV_template& operator=(const OPTIONAL<MobileAllocationTLV>& other_value);
MobileAllocationTLV_template& operator=(const MobileAllocationTLV_template& other_value);
boolean match(const MobileAllocationTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MobileAllocationTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MobileAllocationTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& iei();
const OCTETSTRING_template& iei() const;
MobileAllocationLV_template& v();
const MobileAllocationLV_template& v() const;
int size_of() const;
void log() const;
void log_match(const MobileAllocationTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PktChDesc0Ind : public Base_Type {
  INTEGER field_maio;
  BITSTRING field_ma__number__ind;
  BITSTRING field_change__mark1__valid;
  BITSTRING field_change__mark1;
public:
  PktChDesc0Ind();
  PktChDesc0Ind(const INTEGER& par_maio,
    const BITSTRING& par_ma__number__ind,
    const BITSTRING& par_change__mark1__valid,
    const BITSTRING& par_change__mark1);
  PktChDesc0Ind(const PktChDesc0Ind& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PktChDesc0Ind& operator=(const PktChDesc0Ind& other_value);
  boolean operator==(const PktChDesc0Ind& other_value) const;
  inline boolean operator!=(const PktChDesc0Ind& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& maio()
    {return field_maio;}
  inline const INTEGER& maio() const
    {return field_maio;}
  inline BITSTRING& ma__number__ind()
    {return field_ma__number__ind;}
  inline const BITSTRING& ma__number__ind() const
    {return field_ma__number__ind;}
  inline BITSTRING& change__mark1__valid()
    {return field_change__mark1__valid;}
  inline const BITSTRING& change__mark1__valid() const
    {return field_change__mark1__valid;}
  inline BITSTRING& change__mark1()
    {return field_change__mark1;}
  inline const BITSTRING& change__mark1() const
    {return field_change__mark1;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PktChDesc0Ind_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PktChDesc0Ind_template *list_value;
} value_list;
struct {
PktChDesc0Ind_template* precondition;
PktChDesc0Ind_template* implied_template;
} implication_;
dynmatch_struct<PktChDesc0Ind>* dyn_match;
};

void set_specific();
void copy_value(const PktChDesc0Ind& other_value);
void copy_template(const PktChDesc0Ind_template& other_value);

public:
PktChDesc0Ind_template();
PktChDesc0Ind_template(template_sel other_value);
PktChDesc0Ind_template(const PktChDesc0Ind& other_value);
PktChDesc0Ind_template(const OPTIONAL<PktChDesc0Ind>& other_value);
PktChDesc0Ind_template(PktChDesc0Ind_template* p_precondition, PktChDesc0Ind_template* p_implied_template);
PktChDesc0Ind_template(Dynamic_Match_Interface<PktChDesc0Ind>* p_dyn_match);
PktChDesc0Ind_template(const PktChDesc0Ind_template& other_value);
~PktChDesc0Ind_template();
PktChDesc0Ind_template& operator=(template_sel other_value);
PktChDesc0Ind_template& operator=(const PktChDesc0Ind& other_value);
PktChDesc0Ind_template& operator=(const OPTIONAL<PktChDesc0Ind>& other_value);
PktChDesc0Ind_template& operator=(const PktChDesc0Ind_template& other_value);
boolean match(const PktChDesc0Ind& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PktChDesc0Ind valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PktChDesc0Ind_template& list_item(unsigned int list_index) const;
INTEGER_template& maio();
const INTEGER_template& maio() const;
BITSTRING_template& ma__number__ind();
const BITSTRING_template& ma__number__ind() const;
BITSTRING_template& change__mark1__valid();
const BITSTRING_template& change__mark1__valid() const;
BITSTRING_template& change__mark1();
const BITSTRING_template& change__mark1() const;
int size_of() const;
void log() const;
void log_match(const PktChDesc0Ind& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PktChDesc0 : public Base_Type {
  BITSTRING field_hopping;
  BITSTRING field_spare;
  OPTIONAL< INTEGER > field_arfcn;
  OPTIONAL< PktChDesc0Ind > field_indirect;
public:
  PktChDesc0();
  PktChDesc0(const BITSTRING& par_hopping,
    const BITSTRING& par_spare,
    const OPTIONAL< INTEGER >& par_arfcn,
    const OPTIONAL< PktChDesc0Ind >& par_indirect);
  PktChDesc0(const PktChDesc0& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PktChDesc0& operator=(const PktChDesc0& other_value);
  boolean operator==(const PktChDesc0& other_value) const;
  inline boolean operator!=(const PktChDesc0& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& hopping()
    {return field_hopping;}
  inline const BITSTRING& hopping() const
    {return field_hopping;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline OPTIONAL< INTEGER >& arfcn()
    {return field_arfcn;}
  inline const OPTIONAL< INTEGER >& arfcn() const
    {return field_arfcn;}
  inline OPTIONAL< PktChDesc0Ind >& indirect()
    {return field_indirect;}
  inline const OPTIONAL< PktChDesc0Ind >& indirect() const
    {return field_indirect;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PktChDesc0_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PktChDesc0_template *list_value;
} value_list;
struct {
PktChDesc0_template* precondition;
PktChDesc0_template* implied_template;
} implication_;
dynmatch_struct<PktChDesc0>* dyn_match;
};

void set_specific();
void copy_value(const PktChDesc0& other_value);
void copy_template(const PktChDesc0_template& other_value);

public:
PktChDesc0_template();
PktChDesc0_template(template_sel other_value);
PktChDesc0_template(const PktChDesc0& other_value);
PktChDesc0_template(const OPTIONAL<PktChDesc0>& other_value);
PktChDesc0_template(PktChDesc0_template* p_precondition, PktChDesc0_template* p_implied_template);
PktChDesc0_template(Dynamic_Match_Interface<PktChDesc0>* p_dyn_match);
PktChDesc0_template(const PktChDesc0_template& other_value);
~PktChDesc0_template();
PktChDesc0_template& operator=(template_sel other_value);
PktChDesc0_template& operator=(const PktChDesc0& other_value);
PktChDesc0_template& operator=(const OPTIONAL<PktChDesc0>& other_value);
PktChDesc0_template& operator=(const PktChDesc0_template& other_value);
boolean match(const PktChDesc0& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PktChDesc0 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PktChDesc0_template& list_item(unsigned int list_index) const;
BITSTRING_template& hopping();
const BITSTRING_template& hopping() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
INTEGER_template& arfcn();
const INTEGER_template& arfcn() const;
PktChDesc0Ind_template& indirect();
const PktChDesc0Ind_template& indirect() const;
int size_of() const;
void log() const;
void log_match(const PktChDesc0& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PktChDesc1 : public Base_Type {
  INTEGER field_maio;
  INTEGER field_hsn;
public:
  PktChDesc1();
  PktChDesc1(const INTEGER& par_maio,
    const INTEGER& par_hsn);
  PktChDesc1(const PktChDesc1& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PktChDesc1& operator=(const PktChDesc1& other_value);
  boolean operator==(const PktChDesc1& other_value) const;
  inline boolean operator!=(const PktChDesc1& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& maio()
    {return field_maio;}
  inline const INTEGER& maio() const
    {return field_maio;}
  inline INTEGER& hsn()
    {return field_hsn;}
  inline const INTEGER& hsn() const
    {return field_hsn;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PktChDesc1_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PktChDesc1_template *list_value;
} value_list;
struct {
PktChDesc1_template* precondition;
PktChDesc1_template* implied_template;
} implication_;
dynmatch_struct<PktChDesc1>* dyn_match;
};

void set_specific();
void copy_value(const PktChDesc1& other_value);
void copy_template(const PktChDesc1_template& other_value);

public:
PktChDesc1_template();
PktChDesc1_template(template_sel other_value);
PktChDesc1_template(const PktChDesc1& other_value);
PktChDesc1_template(const OPTIONAL<PktChDesc1>& other_value);
PktChDesc1_template(PktChDesc1_template* p_precondition, PktChDesc1_template* p_implied_template);
PktChDesc1_template(Dynamic_Match_Interface<PktChDesc1>* p_dyn_match);
PktChDesc1_template(const PktChDesc1_template& other_value);
~PktChDesc1_template();
PktChDesc1_template& operator=(template_sel other_value);
PktChDesc1_template& operator=(const PktChDesc1& other_value);
PktChDesc1_template& operator=(const OPTIONAL<PktChDesc1>& other_value);
PktChDesc1_template& operator=(const PktChDesc1_template& other_value);
boolean match(const PktChDesc1& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PktChDesc1 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PktChDesc1_template& list_item(unsigned int list_index) const;
INTEGER_template& maio();
const INTEGER_template& maio() const;
INTEGER_template& hsn();
const INTEGER_template& hsn() const;
int size_of() const;
void log() const;
void log_match(const PktChDesc1& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PacketChannelDescription : public Base_Type {
  INTEGER field_channel__Type__spare;
  INTEGER field_tn;
  INTEGER field_tsc;
  BITSTRING field_presence;
  OPTIONAL< PktChDesc0 > field_zero;
  OPTIONAL< PktChDesc1 > field_one;
public:
  PacketChannelDescription();
  PacketChannelDescription(const INTEGER& par_channel__Type__spare,
    const INTEGER& par_tn,
    const INTEGER& par_tsc,
    const BITSTRING& par_presence,
    const OPTIONAL< PktChDesc0 >& par_zero,
    const OPTIONAL< PktChDesc1 >& par_one);
  PacketChannelDescription(const PacketChannelDescription& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PacketChannelDescription& operator=(const PacketChannelDescription& other_value);
  boolean operator==(const PacketChannelDescription& other_value) const;
  inline boolean operator!=(const PacketChannelDescription& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& channel__Type__spare()
    {return field_channel__Type__spare;}
  inline const INTEGER& channel__Type__spare() const
    {return field_channel__Type__spare;}
  inline INTEGER& tn()
    {return field_tn;}
  inline const INTEGER& tn() const
    {return field_tn;}
  inline INTEGER& tsc()
    {return field_tsc;}
  inline const INTEGER& tsc() const
    {return field_tsc;}
  inline BITSTRING& presence()
    {return field_presence;}
  inline const BITSTRING& presence() const
    {return field_presence;}
  inline OPTIONAL< PktChDesc0 >& zero()
    {return field_zero;}
  inline const OPTIONAL< PktChDesc0 >& zero() const
    {return field_zero;}
  inline OPTIONAL< PktChDesc1 >& one()
    {return field_one;}
  inline const OPTIONAL< PktChDesc1 >& one() const
    {return field_one;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PacketChannelDescription_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PacketChannelDescription_template *list_value;
} value_list;
struct {
PacketChannelDescription_template* precondition;
PacketChannelDescription_template* implied_template;
} implication_;
dynmatch_struct<PacketChannelDescription>* dyn_match;
};

void set_specific();
void copy_value(const PacketChannelDescription& other_value);
void copy_template(const PacketChannelDescription_template& other_value);

public:
PacketChannelDescription_template();
PacketChannelDescription_template(template_sel other_value);
PacketChannelDescription_template(const PacketChannelDescription& other_value);
PacketChannelDescription_template(const OPTIONAL<PacketChannelDescription>& other_value);
PacketChannelDescription_template(PacketChannelDescription_template* p_precondition, PacketChannelDescription_template* p_implied_template);
PacketChannelDescription_template(Dynamic_Match_Interface<PacketChannelDescription>* p_dyn_match);
PacketChannelDescription_template(const PacketChannelDescription_template& other_value);
~PacketChannelDescription_template();
PacketChannelDescription_template& operator=(template_sel other_value);
PacketChannelDescription_template& operator=(const PacketChannelDescription& other_value);
PacketChannelDescription_template& operator=(const OPTIONAL<PacketChannelDescription>& other_value);
PacketChannelDescription_template& operator=(const PacketChannelDescription_template& other_value);
boolean match(const PacketChannelDescription& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PacketChannelDescription valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PacketChannelDescription_template& list_item(unsigned int list_index) const;
INTEGER_template& channel__Type__spare();
const INTEGER_template& channel__Type__spare() const;
INTEGER_template& tn();
const INTEGER_template& tn() const;
INTEGER_template& tsc();
const INTEGER_template& tsc() const;
BITSTRING_template& presence();
const BITSTRING_template& presence() const;
PktChDesc0_template& zero();
const PktChDesc0_template& zero() const;
PktChDesc1_template& one();
const PktChDesc1_template& one() const;
int size_of() const;
void log() const;
void log_match(const PacketChannelDescription& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class DedicatedModeOrTbf : public Base_Type {
  BITSTRING field_spare;
  BOOLEAN field_tma;
  BOOLEAN field_downlink;
  BOOLEAN field_tbf;
public:
  DedicatedModeOrTbf();
  DedicatedModeOrTbf(const BITSTRING& par_spare,
    const BOOLEAN& par_tma,
    const BOOLEAN& par_downlink,
    const BOOLEAN& par_tbf);
  DedicatedModeOrTbf(const DedicatedModeOrTbf& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DedicatedModeOrTbf& operator=(const DedicatedModeOrTbf& other_value);
  boolean operator==(const DedicatedModeOrTbf& other_value) const;
  inline boolean operator!=(const DedicatedModeOrTbf& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BOOLEAN& tma()
    {return field_tma;}
  inline const BOOLEAN& tma() const
    {return field_tma;}
  inline BOOLEAN& downlink()
    {return field_downlink;}
  inline const BOOLEAN& downlink() const
    {return field_downlink;}
  inline BOOLEAN& tbf()
    {return field_tbf;}
  inline const BOOLEAN& tbf() const
    {return field_tbf;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 DedicatedModeOrTbf_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DedicatedModeOrTbf_template *list_value;
} value_list;
struct {
DedicatedModeOrTbf_template* precondition;
DedicatedModeOrTbf_template* implied_template;
} implication_;
dynmatch_struct<DedicatedModeOrTbf>* dyn_match;
};

void set_specific();
void copy_value(const DedicatedModeOrTbf& other_value);
void copy_template(const DedicatedModeOrTbf_template& other_value);

public:
DedicatedModeOrTbf_template();
DedicatedModeOrTbf_template(template_sel other_value);
DedicatedModeOrTbf_template(const DedicatedModeOrTbf& other_value);
DedicatedModeOrTbf_template(const OPTIONAL<DedicatedModeOrTbf>& other_value);
DedicatedModeOrTbf_template(DedicatedModeOrTbf_template* p_precondition, DedicatedModeOrTbf_template* p_implied_template);
DedicatedModeOrTbf_template(Dynamic_Match_Interface<DedicatedModeOrTbf>* p_dyn_match);
DedicatedModeOrTbf_template(const DedicatedModeOrTbf_template& other_value);
~DedicatedModeOrTbf_template();
DedicatedModeOrTbf_template& operator=(template_sel other_value);
DedicatedModeOrTbf_template& operator=(const DedicatedModeOrTbf& other_value);
DedicatedModeOrTbf_template& operator=(const OPTIONAL<DedicatedModeOrTbf>& other_value);
DedicatedModeOrTbf_template& operator=(const DedicatedModeOrTbf_template& other_value);
boolean match(const DedicatedModeOrTbf& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DedicatedModeOrTbf valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DedicatedModeOrTbf_template& list_item(unsigned int list_index) const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BOOLEAN_template& tma();
const BOOLEAN_template& tma() const;
BOOLEAN_template& downlink();
const BOOLEAN_template& downlink() const;
BOOLEAN_template& tbf();
const BOOLEAN_template& tbf() const;
int size_of() const;
void log() const;
void log_match(const DedicatedModeOrTbf& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PageMode : public Base_Type { // enum
friend class PageMode_template;
public:
enum enum_type { PAGE__MODE__NORMAL = 0, PAGE__MODE__EXTENDED = 1, PAGE__MODE__REORGANIZATION = 2, PAGE__MODE__SAME__AS__BEFORE = 3, UNKNOWN_VALUE = 4, UNBOUND_VALUE = 5 };
private:
enum_type enum_value;

public:
PageMode();
PageMode(int other_value);
PageMode(enum_type other_value);
PageMode(const PageMode& other_value);

PageMode& operator=(int other_value);
PageMode& operator=(enum_type other_value);
PageMode& operator=(const PageMode& other_value);

boolean operator==(int other_value) const;
boolean operator==(enum_type other_value) const;
boolean operator==(const PageMode& other_value) const;
inline boolean operator!=(int other_value) const { return !(*this == other_value); }
inline boolean operator!=(enum_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const PageMode& other_value) const { return !(*this == other_value); }
boolean operator<(int other_value) const;
boolean operator<(enum_type other_value) const;
boolean operator<(const PageMode& other_value) const;
boolean operator>(int other_value) const;
boolean operator>(enum_type other_value) const;
boolean operator>(const PageMode& other_value) const;
inline boolean operator<=(int other_value) const { return !(*this > other_value); }
inline boolean operator<=(enum_type other_value) const { return !(*this > other_value); }
inline boolean operator<=(const PageMode& other_value) const { return !(*this > other_value); }
inline boolean operator>=(int other_value) const { return !(*this < other_value); }
inline boolean operator>=(enum_type other_value) const { return !(*this < other_value); }
inline boolean operator>=(const PageMode& other_value) const { return !(*this < other_value); }

static const char *enum_to_str(enum_type enum_par);
static enum_type str_to_enum(const char *str_par, const int* int_par = NULL, const int* int_par2 = NULL);
static boolean is_valid_enum(int int_par);

static int enum2int(enum_type enum_par);
static int enum2int(const PageMode& enum_par);
int as_int() const { return enum2int(enum_value); }
void from_int(int p_val) { *this = p_val; }
void int2enum(int int_val);
operator enum_type() const;
inline boolean is_bound() const { return enum_value != UNBOUND_VALUE; }
inline boolean is_value() const { return enum_value != UNBOUND_VALUE; }
inline void clean_up(){ enum_value = UNBOUND_VALUE; }
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PageMode_template : public Base_Template {
union {
PageMode::enum_type single_value;
struct {
unsigned int n_values;
PageMode_template *list_value;
} value_list;
struct {
PageMode_template* precondition;
PageMode_template* implied_template;
} implication_;
dynmatch_struct<PageMode>* dyn_match;
};

void copy_template(const PageMode_template& other_value);

public:
PageMode_template();
PageMode_template(template_sel other_value);
PageMode_template(int other_value);
PageMode_template(PageMode::enum_type other_value);
PageMode_template(const PageMode& other_value);
PageMode_template(const OPTIONAL<PageMode>& other_value);
PageMode_template(PageMode_template* p_precondition, PageMode_template* p_implied_template);
PageMode_template(Dynamic_Match_Interface<PageMode>* p_dyn_match);
PageMode_template(const PageMode_template& other_value);
~PageMode_template();

boolean is_bound() const;
boolean is_value() const;
void clean_up();
PageMode_template& operator=(template_sel other_value);
PageMode_template& operator=(int other_value);
PageMode_template& operator=(PageMode::enum_type other_value);
PageMode_template& operator=(const PageMode& other_value);
PageMode_template& operator=(const OPTIONAL<PageMode>& other_value);
PageMode_template& operator=(const PageMode_template& other_value);

boolean match(PageMode::enum_type other_value, boolean legacy = FALSE) const;
boolean match(const PageMode& other_value, boolean legacy = FALSE) const;
PageMode::enum_type valueof() const;
void set_type(template_sel template_type, unsigned int list_length = 0);
PageMode_template& list_item(unsigned int list_index);
void log() const;
void log_match(const PageMode& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RequestReference : public Base_Type {
  BITSTRING field_ra;
  INTEGER field_t1p;
  INTEGER field_t3;
  INTEGER field_t2;
public:
  RequestReference();
  RequestReference(const BITSTRING& par_ra,
    const INTEGER& par_t1p,
    const INTEGER& par_t3,
    const INTEGER& par_t2);
  RequestReference(const RequestReference& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RequestReference& operator=(const RequestReference& other_value);
  boolean operator==(const RequestReference& other_value) const;
  inline boolean operator!=(const RequestReference& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& ra()
    {return field_ra;}
  inline const BITSTRING& ra() const
    {return field_ra;}
  inline INTEGER& t1p()
    {return field_t1p;}
  inline const INTEGER& t1p() const
    {return field_t1p;}
  inline INTEGER& t3()
    {return field_t3;}
  inline const INTEGER& t3() const
    {return field_t3;}
  inline INTEGER& t2()
    {return field_t2;}
  inline const INTEGER& t2() const
    {return field_t2;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RequestReference_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RequestReference_template *list_value;
} value_list;
struct {
RequestReference_template* precondition;
RequestReference_template* implied_template;
} implication_;
dynmatch_struct<RequestReference>* dyn_match;
};

void set_specific();
void copy_value(const RequestReference& other_value);
void copy_template(const RequestReference_template& other_value);

public:
RequestReference_template();
RequestReference_template(template_sel other_value);
RequestReference_template(const RequestReference& other_value);
RequestReference_template(const OPTIONAL<RequestReference>& other_value);
RequestReference_template(RequestReference_template* p_precondition, RequestReference_template* p_implied_template);
RequestReference_template(Dynamic_Match_Interface<RequestReference>* p_dyn_match);
RequestReference_template(const RequestReference_template& other_value);
~RequestReference_template();
RequestReference_template& operator=(template_sel other_value);
RequestReference_template& operator=(const RequestReference& other_value);
RequestReference_template& operator=(const OPTIONAL<RequestReference>& other_value);
RequestReference_template& operator=(const RequestReference_template& other_value);
boolean match(const RequestReference& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RequestReference valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RequestReference_template& list_item(unsigned int list_index) const;
BITSTRING_template& ra();
const BITSTRING_template& ra() const;
INTEGER_template& t1p();
const INTEGER_template& t1p() const;
INTEGER_template& t3();
const INTEGER_template& t3() const;
INTEGER_template& t2();
const INTEGER_template& t2() const;
int size_of() const;
void log() const;
void log_match(const RequestReference& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class FeatureIndicator : public Base_Type {
  BITSTRING field_peo__bcch__change__mark;
  BOOLEAN field_cs__ir;
  BOOLEAN field_ps__ir;
public:
  FeatureIndicator();
  FeatureIndicator(const BITSTRING& par_peo__bcch__change__mark,
    const BOOLEAN& par_cs__ir,
    const BOOLEAN& par_ps__ir);
  FeatureIndicator(const FeatureIndicator& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  FeatureIndicator& operator=(const FeatureIndicator& other_value);
  boolean operator==(const FeatureIndicator& other_value) const;
  inline boolean operator!=(const FeatureIndicator& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& peo__bcch__change__mark()
    {return field_peo__bcch__change__mark;}
  inline const BITSTRING& peo__bcch__change__mark() const
    {return field_peo__bcch__change__mark;}
  inline BOOLEAN& cs__ir()
    {return field_cs__ir;}
  inline const BOOLEAN& cs__ir() const
    {return field_cs__ir;}
  inline BOOLEAN& ps__ir()
    {return field_ps__ir;}
  inline const BOOLEAN& ps__ir() const
    {return field_ps__ir;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 FeatureIndicator_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
FeatureIndicator_template *list_value;
} value_list;
struct {
FeatureIndicator_template* precondition;
FeatureIndicator_template* implied_template;
} implication_;
dynmatch_struct<FeatureIndicator>* dyn_match;
};

void set_specific();
void copy_value(const FeatureIndicator& other_value);
void copy_template(const FeatureIndicator_template& other_value);

public:
FeatureIndicator_template();
FeatureIndicator_template(template_sel other_value);
FeatureIndicator_template(const FeatureIndicator& other_value);
FeatureIndicator_template(const OPTIONAL<FeatureIndicator>& other_value);
FeatureIndicator_template(FeatureIndicator_template* p_precondition, FeatureIndicator_template* p_implied_template);
FeatureIndicator_template(Dynamic_Match_Interface<FeatureIndicator>* p_dyn_match);
FeatureIndicator_template(const FeatureIndicator_template& other_value);
~FeatureIndicator_template();
FeatureIndicator_template& operator=(template_sel other_value);
FeatureIndicator_template& operator=(const FeatureIndicator& other_value);
FeatureIndicator_template& operator=(const OPTIONAL<FeatureIndicator>& other_value);
FeatureIndicator_template& operator=(const FeatureIndicator_template& other_value);
boolean match(const FeatureIndicator& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
FeatureIndicator valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
FeatureIndicator_template& list_item(unsigned int list_index) const;
BITSTRING_template& peo__bcch__change__mark();
const BITSTRING_template& peo__bcch__change__mark() const;
BOOLEAN_template& cs__ir();
const BOOLEAN_template& cs__ir() const;
BOOLEAN_template& ps__ir();
const BOOLEAN_template& ps__ir() const;
int size_of() const;
void log() const;
void log_match(const FeatureIndicator& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class DrxParameter : public Base_Type {
  INTEGER field_split__pg__cycle__code;
  INTEGER field_drx__cycle__len__coeff;
  BOOLEAN field_split__on__ccch;
  INTEGER field_non__drx__timer;
public:
  DrxParameter();
  DrxParameter(const INTEGER& par_split__pg__cycle__code,
    const INTEGER& par_drx__cycle__len__coeff,
    const BOOLEAN& par_split__on__ccch,
    const INTEGER& par_non__drx__timer);
  DrxParameter(const DrxParameter& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DrxParameter& operator=(const DrxParameter& other_value);
  boolean operator==(const DrxParameter& other_value) const;
  inline boolean operator!=(const DrxParameter& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& split__pg__cycle__code()
    {return field_split__pg__cycle__code;}
  inline const INTEGER& split__pg__cycle__code() const
    {return field_split__pg__cycle__code;}
  inline INTEGER& drx__cycle__len__coeff()
    {return field_drx__cycle__len__coeff;}
  inline const INTEGER& drx__cycle__len__coeff() const
    {return field_drx__cycle__len__coeff;}
  inline BOOLEAN& split__on__ccch()
    {return field_split__on__ccch;}
  inline const BOOLEAN& split__on__ccch() const
    {return field_split__on__ccch;}
  inline INTEGER& non__drx__timer()
    {return field_non__drx__timer;}
  inline const INTEGER& non__drx__timer() const
    {return field_non__drx__timer;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 DrxParameter_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DrxParameter_template *list_value;
} value_list;
struct {
DrxParameter_template* precondition;
DrxParameter_template* implied_template;
} implication_;
dynmatch_struct<DrxParameter>* dyn_match;
};

void set_specific();
void copy_value(const DrxParameter& other_value);
void copy_template(const DrxParameter_template& other_value);

public:
DrxParameter_template();
DrxParameter_template(template_sel other_value);
DrxParameter_template(const DrxParameter& other_value);
DrxParameter_template(const OPTIONAL<DrxParameter>& other_value);
DrxParameter_template(DrxParameter_template* p_precondition, DrxParameter_template* p_implied_template);
DrxParameter_template(Dynamic_Match_Interface<DrxParameter>* p_dyn_match);
DrxParameter_template(const DrxParameter_template& other_value);
~DrxParameter_template();
DrxParameter_template& operator=(template_sel other_value);
DrxParameter_template& operator=(const DrxParameter& other_value);
DrxParameter_template& operator=(const OPTIONAL<DrxParameter>& other_value);
DrxParameter_template& operator=(const DrxParameter_template& other_value);
boolean match(const DrxParameter& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DrxParameter valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DrxParameter_template& list_item(unsigned int list_index) const;
INTEGER_template& split__pg__cycle__code();
const INTEGER_template& split__pg__cycle__code() const;
INTEGER_template& drx__cycle__len__coeff();
const INTEGER_template& drx__cycle__len__coeff() const;
BOOLEAN_template& split__on__ccch();
const BOOLEAN_template& split__on__ccch() const;
INTEGER_template& non__drx__timer();
const INTEGER_template& non__drx__timer() const;
int size_of() const;
void log() const;
void log_match(const DrxParameter& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MeasurementResults : public Base_Type {
  BITSTRING field_ba__used;
  BITSTRING field_dtx__used;
  INTEGER field_rxlev__full__srv__cell;
  BITSTRING field_threeg__ba__used;
  BITSTRING field_meas__valid;
  INTEGER field_rxlev__sub__srv__cell;
  BITSTRING field_si23__ba__used;
  INTEGER field_rxqual__full__srv__cell;
  INTEGER field_rxqual__sub__srv__cell;
  INTEGER field_no__ncell__m;
  OPTIONAL< NcellReports > field_ncell__reports;
public:
  MeasurementResults();
  MeasurementResults(const BITSTRING& par_ba__used,
    const BITSTRING& par_dtx__used,
    const INTEGER& par_rxlev__full__srv__cell,
    const BITSTRING& par_threeg__ba__used,
    const BITSTRING& par_meas__valid,
    const INTEGER& par_rxlev__sub__srv__cell,
    const BITSTRING& par_si23__ba__used,
    const INTEGER& par_rxqual__full__srv__cell,
    const INTEGER& par_rxqual__sub__srv__cell,
    const INTEGER& par_no__ncell__m,
    const OPTIONAL< NcellReports >& par_ncell__reports);
  MeasurementResults(const MeasurementResults& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MeasurementResults& operator=(const MeasurementResults& other_value);
  boolean operator==(const MeasurementResults& other_value) const;
  inline boolean operator!=(const MeasurementResults& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& ba__used()
    {return field_ba__used;}
  inline const BITSTRING& ba__used() const
    {return field_ba__used;}
  inline BITSTRING& dtx__used()
    {return field_dtx__used;}
  inline const BITSTRING& dtx__used() const
    {return field_dtx__used;}
  inline INTEGER& rxlev__full__srv__cell()
    {return field_rxlev__full__srv__cell;}
  inline const INTEGER& rxlev__full__srv__cell() const
    {return field_rxlev__full__srv__cell;}
  inline BITSTRING& threeg__ba__used()
    {return field_threeg__ba__used;}
  inline const BITSTRING& threeg__ba__used() const
    {return field_threeg__ba__used;}
  inline BITSTRING& meas__valid()
    {return field_meas__valid;}
  inline const BITSTRING& meas__valid() const
    {return field_meas__valid;}
  inline INTEGER& rxlev__sub__srv__cell()
    {return field_rxlev__sub__srv__cell;}
  inline const INTEGER& rxlev__sub__srv__cell() const
    {return field_rxlev__sub__srv__cell;}
  inline BITSTRING& si23__ba__used()
    {return field_si23__ba__used;}
  inline const BITSTRING& si23__ba__used() const
    {return field_si23__ba__used;}
  inline INTEGER& rxqual__full__srv__cell()
    {return field_rxqual__full__srv__cell;}
  inline const INTEGER& rxqual__full__srv__cell() const
    {return field_rxqual__full__srv__cell;}
  inline INTEGER& rxqual__sub__srv__cell()
    {return field_rxqual__sub__srv__cell;}
  inline const INTEGER& rxqual__sub__srv__cell() const
    {return field_rxqual__sub__srv__cell;}
  inline INTEGER& no__ncell__m()
    {return field_no__ncell__m;}
  inline const INTEGER& no__ncell__m() const
    {return field_no__ncell__m;}
  inline OPTIONAL< NcellReports >& ncell__reports()
    {return field_ncell__reports;}
  inline const OPTIONAL< NcellReports >& ncell__reports() const
    {return field_ncell__reports;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MeasurementResults_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MeasurementResults_template *list_value;
} value_list;
struct {
MeasurementResults_template* precondition;
MeasurementResults_template* implied_template;
} implication_;
dynmatch_struct<MeasurementResults>* dyn_match;
};

void set_specific();
void copy_value(const MeasurementResults& other_value);
void copy_template(const MeasurementResults_template& other_value);

public:
MeasurementResults_template();
MeasurementResults_template(template_sel other_value);
MeasurementResults_template(const MeasurementResults& other_value);
MeasurementResults_template(const OPTIONAL<MeasurementResults>& other_value);
MeasurementResults_template(MeasurementResults_template* p_precondition, MeasurementResults_template* p_implied_template);
MeasurementResults_template(Dynamic_Match_Interface<MeasurementResults>* p_dyn_match);
MeasurementResults_template(const MeasurementResults_template& other_value);
~MeasurementResults_template();
MeasurementResults_template& operator=(template_sel other_value);
MeasurementResults_template& operator=(const MeasurementResults& other_value);
MeasurementResults_template& operator=(const OPTIONAL<MeasurementResults>& other_value);
MeasurementResults_template& operator=(const MeasurementResults_template& other_value);
boolean match(const MeasurementResults& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MeasurementResults valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MeasurementResults_template& list_item(unsigned int list_index) const;
BITSTRING_template& ba__used();
const BITSTRING_template& ba__used() const;
BITSTRING_template& dtx__used();
const BITSTRING_template& dtx__used() const;
INTEGER_template& rxlev__full__srv__cell();
const INTEGER_template& rxlev__full__srv__cell() const;
BITSTRING_template& threeg__ba__used();
const BITSTRING_template& threeg__ba__used() const;
BITSTRING_template& meas__valid();
const BITSTRING_template& meas__valid() const;
INTEGER_template& rxlev__sub__srv__cell();
const INTEGER_template& rxlev__sub__srv__cell() const;
BITSTRING_template& si23__ba__used();
const BITSTRING_template& si23__ba__used() const;
INTEGER_template& rxqual__full__srv__cell();
const INTEGER_template& rxqual__full__srv__cell() const;
INTEGER_template& rxqual__sub__srv__cell();
const INTEGER_template& rxqual__sub__srv__cell() const;
INTEGER_template& no__ncell__m();
const INTEGER_template& no__ncell__m() const;
NcellReports_template& ncell__reports();
const NcellReports_template& ncell__reports() const;
int size_of() const;
void log() const;
void log_match(const MeasurementResults& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class NcellReports : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
NcellReport **value_elements;
} *val_ptr;

static const NcellReport UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const NcellReports& other_value);

public:
  typedef NcellReport of_type;
NcellReports();
NcellReports(null_type other_value);
NcellReports(const NcellReports& other_value);
~NcellReports();

void clean_up();
NcellReports& operator=(null_type other_value);
NcellReports& operator=(const NcellReports& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const NcellReports& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const NcellReports& other_value) const { return !(*this == other_value); }

NcellReport& operator[](int index_value);
NcellReport& operator[](const INTEGER& index_value);
const NcellReport& operator[](int index_value) const;
const NcellReport& operator[](const INTEGER& index_value) const;

NcellReports operator<<=(int rotate_count) const;
NcellReports operator<<=(const INTEGER& rotate_count) const;
NcellReports operator>>=(int rotate_count) const;
NcellReports operator>>=(const INTEGER& rotate_count) const;

NcellReports operator+(const NcellReports& other_value) const;

NcellReports substr(int index, int returncount) const;

NcellReports replace(int index, int len, const NcellReports& repl) const;

NcellReports replace(int index, int len, const NcellReports_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 NcellReports_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
NcellReport_template **value_elements;
} single_value;
struct {
unsigned int n_values;
NcellReports_template *list_value;
} value_list;
struct {
NcellReports_template* precondition;
NcellReports_template* implied_template;
} implication_;
dynmatch_struct<NcellReports>* dyn_match;
};
void copy_value(const NcellReports& other_value);
void copy_template(const NcellReports_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
NcellReports_template();
NcellReports_template(template_sel other_value);
NcellReports_template(null_type other_value);
NcellReports_template(const NcellReports& other_value);
NcellReports_template(const OPTIONAL<NcellReports>& other_value);
NcellReports_template(NcellReports_template* p_precondition, NcellReports_template* p_implied_template);
NcellReports_template(Dynamic_Match_Interface<NcellReports>* p_dyn_match);
NcellReports_template(const NcellReports_template& other_value);
~NcellReports_template();

void clean_up();
NcellReports_template& operator=(template_sel other_value);
NcellReports_template& operator=(null_type other_value);
NcellReports_template& operator=(const NcellReports& other_value);
NcellReports_template& operator=(const OPTIONAL<NcellReports>& other_value);
NcellReports_template& operator=(const NcellReports_template& other_value);

NcellReport_template& operator[](int index_value);
NcellReport_template& operator[](const INTEGER& index_value);
const NcellReport_template& operator[](int index_value) const;
const NcellReport_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const NcellReports& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
NcellReports valueof() const;
NcellReports substr(int index, int returncount) const;

NcellReports replace(int index, int len, const NcellReports_template& repl) const;

NcellReports replace(int index, int len, const NcellReports& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
NcellReports_template& list_item(unsigned int list_index);
void log() const;
void log_match(const NcellReports& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class NcellReport : public Base_Type {
  INTEGER field_rxlev;
  INTEGER field_bcch__freq;
  INTEGER field_bsic;
public:
  NcellReport();
  NcellReport(const INTEGER& par_rxlev,
    const INTEGER& par_bcch__freq,
    const INTEGER& par_bsic);
  NcellReport(const NcellReport& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  NcellReport& operator=(const NcellReport& other_value);
  boolean operator==(const NcellReport& other_value) const;
  inline boolean operator!=(const NcellReport& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& rxlev()
    {return field_rxlev;}
  inline const INTEGER& rxlev() const
    {return field_rxlev;}
  inline INTEGER& bcch__freq()
    {return field_bcch__freq;}
  inline const INTEGER& bcch__freq() const
    {return field_bcch__freq;}
  inline INTEGER& bsic()
    {return field_bsic;}
  inline const INTEGER& bsic() const
    {return field_bsic;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 NcellReport_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
NcellReport_template *list_value;
} value_list;
struct {
NcellReport_template* precondition;
NcellReport_template* implied_template;
} implication_;
dynmatch_struct<NcellReport>* dyn_match;
};

void set_specific();
void copy_value(const NcellReport& other_value);
void copy_template(const NcellReport_template& other_value);

public:
NcellReport_template();
NcellReport_template(template_sel other_value);
NcellReport_template(const NcellReport& other_value);
NcellReport_template(const OPTIONAL<NcellReport>& other_value);
NcellReport_template(NcellReport_template* p_precondition, NcellReport_template* p_implied_template);
NcellReport_template(Dynamic_Match_Interface<NcellReport>* p_dyn_match);
NcellReport_template(const NcellReport_template& other_value);
~NcellReport_template();
NcellReport_template& operator=(template_sel other_value);
NcellReport_template& operator=(const NcellReport& other_value);
NcellReport_template& operator=(const OPTIONAL<NcellReport>& other_value);
NcellReport_template& operator=(const NcellReport_template& other_value);
boolean match(const NcellReport& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
NcellReport valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
NcellReport_template& list_item(unsigned int list_index) const;
INTEGER_template& rxlev();
const INTEGER_template& rxlev() const;
INTEGER_template& bcch__freq();
const INTEGER_template& bcch__freq() const;
INTEGER_template& bsic();
const INTEGER_template& bsic() const;
int size_of() const;
void log() const;
void log_match(const NcellReport& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class AssignmentCommand : public Base_Type {
  ChannelDescription field_chan__desc;
  MobileL3__RRM__Types::PowerCommand__V field_power__cmd;
  OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV > field_freq__list__at;
  OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV > field_cell__chan__desc;
  OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV > field_chan1__mode;
  OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV > field_chan2__mode;
  OPTIONAL< MobileAllocationTLV > field_mobile__allocation;
public:
  AssignmentCommand();
  AssignmentCommand(const ChannelDescription& par_chan__desc,
    const MobileL3__RRM__Types::PowerCommand__V& par_power__cmd,
    const OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& par_freq__list__at,
    const OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& par_cell__chan__desc,
    const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& par_chan1__mode,
    const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& par_chan2__mode,
    const OPTIONAL< MobileAllocationTLV >& par_mobile__allocation);
  AssignmentCommand(const AssignmentCommand& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  AssignmentCommand& operator=(const AssignmentCommand& other_value);
  boolean operator==(const AssignmentCommand& other_value) const;
  inline boolean operator!=(const AssignmentCommand& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline ChannelDescription& chan__desc()
    {return field_chan__desc;}
  inline const ChannelDescription& chan__desc() const
    {return field_chan__desc;}
  inline MobileL3__RRM__Types::PowerCommand__V& power__cmd()
    {return field_power__cmd;}
  inline const MobileL3__RRM__Types::PowerCommand__V& power__cmd() const
    {return field_power__cmd;}
  inline OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& freq__list__at()
    {return field_freq__list__at;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& freq__list__at() const
    {return field_freq__list__at;}
  inline OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& cell__chan__desc()
    {return field_cell__chan__desc;}
  inline const OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& cell__chan__desc() const
    {return field_cell__chan__desc;}
  inline OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan1__mode()
    {return field_chan1__mode;}
  inline const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan1__mode() const
    {return field_chan1__mode;}
  inline OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan2__mode()
    {return field_chan2__mode;}
  inline const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan2__mode() const
    {return field_chan2__mode;}
  inline OPTIONAL< MobileAllocationTLV >& mobile__allocation()
    {return field_mobile__allocation;}
  inline const OPTIONAL< MobileAllocationTLV >& mobile__allocation() const
    {return field_mobile__allocation;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 AssignmentCommand_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
AssignmentCommand_template *list_value;
} value_list;
struct {
AssignmentCommand_template* precondition;
AssignmentCommand_template* implied_template;
} implication_;
dynmatch_struct<AssignmentCommand>* dyn_match;
};

void set_specific();
void copy_value(const AssignmentCommand& other_value);
void copy_template(const AssignmentCommand_template& other_value);

public:
AssignmentCommand_template();
AssignmentCommand_template(template_sel other_value);
AssignmentCommand_template(const AssignmentCommand& other_value);
AssignmentCommand_template(const OPTIONAL<AssignmentCommand>& other_value);
AssignmentCommand_template(AssignmentCommand_template* p_precondition, AssignmentCommand_template* p_implied_template);
AssignmentCommand_template(Dynamic_Match_Interface<AssignmentCommand>* p_dyn_match);
AssignmentCommand_template(const AssignmentCommand_template& other_value);
~AssignmentCommand_template();
AssignmentCommand_template& operator=(template_sel other_value);
AssignmentCommand_template& operator=(const AssignmentCommand& other_value);
AssignmentCommand_template& operator=(const OPTIONAL<AssignmentCommand>& other_value);
AssignmentCommand_template& operator=(const AssignmentCommand_template& other_value);
boolean match(const AssignmentCommand& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
AssignmentCommand valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
AssignmentCommand_template& list_item(unsigned int list_index) const;
ChannelDescription_template& chan__desc();
const ChannelDescription_template& chan__desc() const;
MobileL3__RRM__Types::PowerCommand__V_template& power__cmd();
const MobileL3__RRM__Types::PowerCommand__V_template& power__cmd() const;
MobileL3__CommonIE__Types::Type4__TLV_template& freq__list__at();
const MobileL3__CommonIE__Types::Type4__TLV_template& freq__list__at() const;
MobileL3__RRM__Types::CellChannelDescription__TV_template& cell__chan__desc();
const MobileL3__RRM__Types::CellChannelDescription__TV_template& cell__chan__desc() const;
MobileL3__RRM__Types::ChannelMode__TV_template& chan1__mode();
const MobileL3__RRM__Types::ChannelMode__TV_template& chan1__mode() const;
MobileL3__RRM__Types::ChannelMode__TV_template& chan2__mode();
const MobileL3__RRM__Types::ChannelMode__TV_template& chan2__mode() const;
MobileAllocationTLV_template& mobile__allocation();
const MobileAllocationTLV_template& mobile__allocation() const;
int size_of() const;
void log() const;
void log_match(const AssignmentCommand& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CellDescriptionV : public Base_Type {
  INTEGER field_bcc;
  INTEGER field_ncc;
  INTEGER field_bcch__arfcn;
public:
  CellDescriptionV();
  CellDescriptionV(const INTEGER& par_bcc,
    const INTEGER& par_ncc,
    const INTEGER& par_bcch__arfcn);
  CellDescriptionV(const CellDescriptionV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellDescriptionV& operator=(const CellDescriptionV& other_value);
  boolean operator==(const CellDescriptionV& other_value) const;
  inline boolean operator!=(const CellDescriptionV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& bcc()
    {return field_bcc;}
  inline const INTEGER& bcc() const
    {return field_bcc;}
  inline INTEGER& ncc()
    {return field_ncc;}
  inline const INTEGER& ncc() const
    {return field_ncc;}
  inline INTEGER& bcch__arfcn()
    {return field_bcch__arfcn;}
  inline const INTEGER& bcch__arfcn() const
    {return field_bcch__arfcn;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellDescriptionV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellDescriptionV_template *list_value;
} value_list;
struct {
CellDescriptionV_template* precondition;
CellDescriptionV_template* implied_template;
} implication_;
dynmatch_struct<CellDescriptionV>* dyn_match;
};

void set_specific();
void copy_value(const CellDescriptionV& other_value);
void copy_template(const CellDescriptionV_template& other_value);

public:
CellDescriptionV_template();
CellDescriptionV_template(template_sel other_value);
CellDescriptionV_template(const CellDescriptionV& other_value);
CellDescriptionV_template(const OPTIONAL<CellDescriptionV>& other_value);
CellDescriptionV_template(CellDescriptionV_template* p_precondition, CellDescriptionV_template* p_implied_template);
CellDescriptionV_template(Dynamic_Match_Interface<CellDescriptionV>* p_dyn_match);
CellDescriptionV_template(const CellDescriptionV_template& other_value);
~CellDescriptionV_template();
CellDescriptionV_template& operator=(template_sel other_value);
CellDescriptionV_template& operator=(const CellDescriptionV& other_value);
CellDescriptionV_template& operator=(const OPTIONAL<CellDescriptionV>& other_value);
CellDescriptionV_template& operator=(const CellDescriptionV_template& other_value);
boolean match(const CellDescriptionV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellDescriptionV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellDescriptionV_template& list_item(unsigned int list_index) const;
INTEGER_template& bcc();
const INTEGER_template& bcc() const;
INTEGER_template& ncc();
const INTEGER_template& ncc() const;
INTEGER_template& bcch__arfcn();
const INTEGER_template& bcch__arfcn() const;
int size_of() const;
void log() const;
void log_match(const CellDescriptionV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class HandoverCommand : public Base_Type {
  CellDescriptionV field_cell__desc;
  ChannelDescription field_chan__desc;
  OCTETSTRING field_ho__ref;
  MobileL3__RRM__Types::PowerCommandAndAccesstype__V field_power__cmd__acc__type;
  OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV > field_freq__list__at;
  OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV > field_cell__chan__desc;
  OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV > field_chan1__mode;
  OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV > field_chan2__mode;
  OPTIONAL< MobileAllocationTLV > field_mobile__allocation;
public:
  HandoverCommand();
  HandoverCommand(const CellDescriptionV& par_cell__desc,
    const ChannelDescription& par_chan__desc,
    const OCTETSTRING& par_ho__ref,
    const MobileL3__RRM__Types::PowerCommandAndAccesstype__V& par_power__cmd__acc__type,
    const OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& par_freq__list__at,
    const OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& par_cell__chan__desc,
    const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& par_chan1__mode,
    const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& par_chan2__mode,
    const OPTIONAL< MobileAllocationTLV >& par_mobile__allocation);
  HandoverCommand(const HandoverCommand& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  HandoverCommand& operator=(const HandoverCommand& other_value);
  boolean operator==(const HandoverCommand& other_value) const;
  inline boolean operator!=(const HandoverCommand& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline CellDescriptionV& cell__desc()
    {return field_cell__desc;}
  inline const CellDescriptionV& cell__desc() const
    {return field_cell__desc;}
  inline ChannelDescription& chan__desc()
    {return field_chan__desc;}
  inline const ChannelDescription& chan__desc() const
    {return field_chan__desc;}
  inline OCTETSTRING& ho__ref()
    {return field_ho__ref;}
  inline const OCTETSTRING& ho__ref() const
    {return field_ho__ref;}
  inline MobileL3__RRM__Types::PowerCommandAndAccesstype__V& power__cmd__acc__type()
    {return field_power__cmd__acc__type;}
  inline const MobileL3__RRM__Types::PowerCommandAndAccesstype__V& power__cmd__acc__type() const
    {return field_power__cmd__acc__type;}
  inline OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& freq__list__at()
    {return field_freq__list__at;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::Type4__TLV >& freq__list__at() const
    {return field_freq__list__at;}
  inline OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& cell__chan__desc()
    {return field_cell__chan__desc;}
  inline const OPTIONAL< MobileL3__RRM__Types::CellChannelDescription__TV >& cell__chan__desc() const
    {return field_cell__chan__desc;}
  inline OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan1__mode()
    {return field_chan1__mode;}
  inline const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan1__mode() const
    {return field_chan1__mode;}
  inline OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan2__mode()
    {return field_chan2__mode;}
  inline const OPTIONAL< MobileL3__RRM__Types::ChannelMode__TV >& chan2__mode() const
    {return field_chan2__mode;}
  inline OPTIONAL< MobileAllocationTLV >& mobile__allocation()
    {return field_mobile__allocation;}
  inline const OPTIONAL< MobileAllocationTLV >& mobile__allocation() const
    {return field_mobile__allocation;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 HandoverCommand_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
HandoverCommand_template *list_value;
} value_list;
struct {
HandoverCommand_template* precondition;
HandoverCommand_template* implied_template;
} implication_;
dynmatch_struct<HandoverCommand>* dyn_match;
};

void set_specific();
void copy_value(const HandoverCommand& other_value);
void copy_template(const HandoverCommand_template& other_value);

public:
HandoverCommand_template();
HandoverCommand_template(template_sel other_value);
HandoverCommand_template(const HandoverCommand& other_value);
HandoverCommand_template(const OPTIONAL<HandoverCommand>& other_value);
HandoverCommand_template(HandoverCommand_template* p_precondition, HandoverCommand_template* p_implied_template);
HandoverCommand_template(Dynamic_Match_Interface<HandoverCommand>* p_dyn_match);
HandoverCommand_template(const HandoverCommand_template& other_value);
~HandoverCommand_template();
HandoverCommand_template& operator=(template_sel other_value);
HandoverCommand_template& operator=(const HandoverCommand& other_value);
HandoverCommand_template& operator=(const OPTIONAL<HandoverCommand>& other_value);
HandoverCommand_template& operator=(const HandoverCommand_template& other_value);
boolean match(const HandoverCommand& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
HandoverCommand valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
HandoverCommand_template& list_item(unsigned int list_index) const;
CellDescriptionV_template& cell__desc();
const CellDescriptionV_template& cell__desc() const;
ChannelDescription_template& chan__desc();
const ChannelDescription_template& chan__desc() const;
OCTETSTRING_template& ho__ref();
const OCTETSTRING_template& ho__ref() const;
MobileL3__RRM__Types::PowerCommandAndAccesstype__V_template& power__cmd__acc__type();
const MobileL3__RRM__Types::PowerCommandAndAccesstype__V_template& power__cmd__acc__type() const;
MobileL3__CommonIE__Types::Type4__TLV_template& freq__list__at();
const MobileL3__CommonIE__Types::Type4__TLV_template& freq__list__at() const;
MobileL3__RRM__Types::CellChannelDescription__TV_template& cell__chan__desc();
const MobileL3__RRM__Types::CellChannelDescription__TV_template& cell__chan__desc() const;
MobileL3__RRM__Types::ChannelMode__TV_template& chan1__mode();
const MobileL3__RRM__Types::ChannelMode__TV_template& chan1__mode() const;
MobileL3__RRM__Types::ChannelMode__TV_template& chan2__mode();
const MobileL3__RRM__Types::ChannelMode__TV_template& chan2__mode() const;
MobileAllocationTLV_template& mobile__allocation();
const MobileAllocationTLV_template& mobile__allocation() const;
int size_of() const;
void log() const;
void log_match(const HandoverCommand& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class ImmediateAssignment : public Base_Type {
  DedicatedModeOrTbf field_ded__or__tbf;
  PageMode field_page__mode;
  OPTIONAL< ChannelDescription > field_chan__desc;
  OPTIONAL< PacketChannelDescription > field_pkt__chan__desc;
  RequestReference field_req__ref;
  INTEGER field_timing__advance;
  MobileAllocationLV field_mobile__allocation;
  GSM__RestOctets::IaRestOctets field_rest__octets;
public:
  ImmediateAssignment();
  ImmediateAssignment(const DedicatedModeOrTbf& par_ded__or__tbf,
    const PageMode& par_page__mode,
    const OPTIONAL< ChannelDescription >& par_chan__desc,
    const OPTIONAL< PacketChannelDescription >& par_pkt__chan__desc,
    const RequestReference& par_req__ref,
    const INTEGER& par_timing__advance,
    const MobileAllocationLV& par_mobile__allocation,
    const GSM__RestOctets::IaRestOctets& par_rest__octets);
  ImmediateAssignment(const ImmediateAssignment& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ImmediateAssignment& operator=(const ImmediateAssignment& other_value);
  boolean operator==(const ImmediateAssignment& other_value) const;
  inline boolean operator!=(const ImmediateAssignment& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline DedicatedModeOrTbf& ded__or__tbf()
    {return field_ded__or__tbf;}
  inline const DedicatedModeOrTbf& ded__or__tbf() const
    {return field_ded__or__tbf;}
  inline PageMode& page__mode()
    {return field_page__mode;}
  inline const PageMode& page__mode() const
    {return field_page__mode;}
  inline OPTIONAL< ChannelDescription >& chan__desc()
    {return field_chan__desc;}
  inline const OPTIONAL< ChannelDescription >& chan__desc() const
    {return field_chan__desc;}
  inline OPTIONAL< PacketChannelDescription >& pkt__chan__desc()
    {return field_pkt__chan__desc;}
  inline const OPTIONAL< PacketChannelDescription >& pkt__chan__desc() const
    {return field_pkt__chan__desc;}
  inline RequestReference& req__ref()
    {return field_req__ref;}
  inline const RequestReference& req__ref() const
    {return field_req__ref;}
  inline INTEGER& timing__advance()
    {return field_timing__advance;}
  inline const INTEGER& timing__advance() const
    {return field_timing__advance;}
  inline MobileAllocationLV& mobile__allocation()
    {return field_mobile__allocation;}
  inline const MobileAllocationLV& mobile__allocation() const
    {return field_mobile__allocation;}
  inline GSM__RestOctets::IaRestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::IaRestOctets& rest__octets() const
    {return field_rest__octets;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ImmediateAssignment_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ImmediateAssignment_template *list_value;
} value_list;
struct {
ImmediateAssignment_template* precondition;
ImmediateAssignment_template* implied_template;
} implication_;
dynmatch_struct<ImmediateAssignment>* dyn_match;
};

void set_specific();
void copy_value(const ImmediateAssignment& other_value);
void copy_template(const ImmediateAssignment_template& other_value);

public:
ImmediateAssignment_template();
ImmediateAssignment_template(template_sel other_value);
ImmediateAssignment_template(const ImmediateAssignment& other_value);
ImmediateAssignment_template(const OPTIONAL<ImmediateAssignment>& other_value);
ImmediateAssignment_template(ImmediateAssignment_template* p_precondition, ImmediateAssignment_template* p_implied_template);
ImmediateAssignment_template(Dynamic_Match_Interface<ImmediateAssignment>* p_dyn_match);
ImmediateAssignment_template(const ImmediateAssignment_template& other_value);
~ImmediateAssignment_template();
ImmediateAssignment_template& operator=(template_sel other_value);
ImmediateAssignment_template& operator=(const ImmediateAssignment& other_value);
ImmediateAssignment_template& operator=(const OPTIONAL<ImmediateAssignment>& other_value);
ImmediateAssignment_template& operator=(const ImmediateAssignment_template& other_value);
boolean match(const ImmediateAssignment& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ImmediateAssignment valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ImmediateAssignment_template& list_item(unsigned int list_index) const;
DedicatedModeOrTbf_template& ded__or__tbf();
const DedicatedModeOrTbf_template& ded__or__tbf() const;
PageMode_template& page__mode();
const PageMode_template& page__mode() const;
ChannelDescription_template& chan__desc();
const ChannelDescription_template& chan__desc() const;
PacketChannelDescription_template& pkt__chan__desc();
const PacketChannelDescription_template& pkt__chan__desc() const;
RequestReference_template& req__ref();
const RequestReference_template& req__ref() const;
INTEGER_template& timing__advance();
const INTEGER_template& timing__advance() const;
MobileAllocationLV_template& mobile__allocation();
const MobileAllocationLV_template& mobile__allocation() const;
GSM__RestOctets::IaRestOctets_template& rest__octets();
const GSM__RestOctets::IaRestOctets_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const ImmediateAssignment& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class ReqRefWaitInd : public Base_Type {
  RequestReference field_req__ref;
  INTEGER field_wait__ind;
public:
  ReqRefWaitInd();
  ReqRefWaitInd(const RequestReference& par_req__ref,
    const INTEGER& par_wait__ind);
  ReqRefWaitInd(const ReqRefWaitInd& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ReqRefWaitInd& operator=(const ReqRefWaitInd& other_value);
  boolean operator==(const ReqRefWaitInd& other_value) const;
  inline boolean operator!=(const ReqRefWaitInd& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RequestReference& req__ref()
    {return field_req__ref;}
  inline const RequestReference& req__ref() const
    {return field_req__ref;}
  inline INTEGER& wait__ind()
    {return field_wait__ind;}
  inline const INTEGER& wait__ind() const
    {return field_wait__ind;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ReqRefWaitInd_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ReqRefWaitInd_template *list_value;
} value_list;
struct {
ReqRefWaitInd_template* precondition;
ReqRefWaitInd_template* implied_template;
} implication_;
dynmatch_struct<ReqRefWaitInd>* dyn_match;
};

void set_specific();
void copy_value(const ReqRefWaitInd& other_value);
void copy_template(const ReqRefWaitInd_template& other_value);

public:
ReqRefWaitInd_template();
ReqRefWaitInd_template(template_sel other_value);
ReqRefWaitInd_template(const ReqRefWaitInd& other_value);
ReqRefWaitInd_template(const OPTIONAL<ReqRefWaitInd>& other_value);
ReqRefWaitInd_template(ReqRefWaitInd_template* p_precondition, ReqRefWaitInd_template* p_implied_template);
ReqRefWaitInd_template(Dynamic_Match_Interface<ReqRefWaitInd>* p_dyn_match);
ReqRefWaitInd_template(const ReqRefWaitInd_template& other_value);
~ReqRefWaitInd_template();
ReqRefWaitInd_template& operator=(template_sel other_value);
ReqRefWaitInd_template& operator=(const ReqRefWaitInd& other_value);
ReqRefWaitInd_template& operator=(const OPTIONAL<ReqRefWaitInd>& other_value);
ReqRefWaitInd_template& operator=(const ReqRefWaitInd_template& other_value);
boolean match(const ReqRefWaitInd& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ReqRefWaitInd valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ReqRefWaitInd_template& list_item(unsigned int list_index) const;
RequestReference_template& req__ref();
const RequestReference_template& req__ref() const;
INTEGER_template& wait__ind();
const INTEGER_template& wait__ind() const;
int size_of() const;
void log() const;
void log_match(const ReqRefWaitInd& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class ReqRefWaitInd4 : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
ReqRefWaitInd **value_elements;
} *val_ptr;

static const ReqRefWaitInd UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const ReqRefWaitInd4& other_value);

public:
  typedef ReqRefWaitInd of_type;
ReqRefWaitInd4();
ReqRefWaitInd4(null_type other_value);
ReqRefWaitInd4(const ReqRefWaitInd4& other_value);
~ReqRefWaitInd4();

void clean_up();
ReqRefWaitInd4& operator=(null_type other_value);
ReqRefWaitInd4& operator=(const ReqRefWaitInd4& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const ReqRefWaitInd4& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const ReqRefWaitInd4& other_value) const { return !(*this == other_value); }

ReqRefWaitInd& operator[](int index_value);
ReqRefWaitInd& operator[](const INTEGER& index_value);
const ReqRefWaitInd& operator[](int index_value) const;
const ReqRefWaitInd& operator[](const INTEGER& index_value) const;

ReqRefWaitInd4 operator<<=(int rotate_count) const;
ReqRefWaitInd4 operator<<=(const INTEGER& rotate_count) const;
ReqRefWaitInd4 operator>>=(int rotate_count) const;
ReqRefWaitInd4 operator>>=(const INTEGER& rotate_count) const;

ReqRefWaitInd4 operator+(const ReqRefWaitInd4& other_value) const;

ReqRefWaitInd4 substr(int index, int returncount) const;

ReqRefWaitInd4 replace(int index, int len, const ReqRefWaitInd4& repl) const;

ReqRefWaitInd4 replace(int index, int len, const ReqRefWaitInd4_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ReqRefWaitInd4_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
ReqRefWaitInd_template **value_elements;
} single_value;
struct {
unsigned int n_values;
ReqRefWaitInd4_template *list_value;
} value_list;
struct {
ReqRefWaitInd4_template* precondition;
ReqRefWaitInd4_template* implied_template;
} implication_;
dynmatch_struct<ReqRefWaitInd4>* dyn_match;
};
void copy_value(const ReqRefWaitInd4& other_value);
void copy_template(const ReqRefWaitInd4_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
ReqRefWaitInd4_template();
ReqRefWaitInd4_template(template_sel other_value);
ReqRefWaitInd4_template(null_type other_value);
ReqRefWaitInd4_template(const ReqRefWaitInd4& other_value);
ReqRefWaitInd4_template(const OPTIONAL<ReqRefWaitInd4>& other_value);
ReqRefWaitInd4_template(ReqRefWaitInd4_template* p_precondition, ReqRefWaitInd4_template* p_implied_template);
ReqRefWaitInd4_template(Dynamic_Match_Interface<ReqRefWaitInd4>* p_dyn_match);
ReqRefWaitInd4_template(const ReqRefWaitInd4_template& other_value);
~ReqRefWaitInd4_template();

void clean_up();
ReqRefWaitInd4_template& operator=(template_sel other_value);
ReqRefWaitInd4_template& operator=(null_type other_value);
ReqRefWaitInd4_template& operator=(const ReqRefWaitInd4& other_value);
ReqRefWaitInd4_template& operator=(const OPTIONAL<ReqRefWaitInd4>& other_value);
ReqRefWaitInd4_template& operator=(const ReqRefWaitInd4_template& other_value);

ReqRefWaitInd_template& operator[](int index_value);
ReqRefWaitInd_template& operator[](const INTEGER& index_value);
const ReqRefWaitInd_template& operator[](int index_value) const;
const ReqRefWaitInd_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const ReqRefWaitInd4& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
ReqRefWaitInd4 valueof() const;
ReqRefWaitInd4 substr(int index, int returncount) const;

ReqRefWaitInd4 replace(int index, int len, const ReqRefWaitInd4_template& repl) const;

ReqRefWaitInd4 replace(int index, int len, const ReqRefWaitInd4& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
ReqRefWaitInd4_template& list_item(unsigned int list_index);
void log() const;
void log_match(const ReqRefWaitInd4& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class ImmediateAssignmentReject : public Base_Type {
  FeatureIndicator field_feature__ind;
  PageMode field_page__mode;
  ReqRefWaitInd4 field_payload;
  GSM__RestOctets::IARRestOctets field_rest__octets;
public:
  ImmediateAssignmentReject();
  ImmediateAssignmentReject(const FeatureIndicator& par_feature__ind,
    const PageMode& par_page__mode,
    const ReqRefWaitInd4& par_payload,
    const GSM__RestOctets::IARRestOctets& par_rest__octets);
  ImmediateAssignmentReject(const ImmediateAssignmentReject& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ImmediateAssignmentReject& operator=(const ImmediateAssignmentReject& other_value);
  boolean operator==(const ImmediateAssignmentReject& other_value) const;
  inline boolean operator!=(const ImmediateAssignmentReject& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline FeatureIndicator& feature__ind()
    {return field_feature__ind;}
  inline const FeatureIndicator& feature__ind() const
    {return field_feature__ind;}
  inline PageMode& page__mode()
    {return field_page__mode;}
  inline const PageMode& page__mode() const
    {return field_page__mode;}
  inline ReqRefWaitInd4& payload()
    {return field_payload;}
  inline const ReqRefWaitInd4& payload() const
    {return field_payload;}
  inline GSM__RestOctets::IARRestOctets& rest__octets()
    {return field_rest__octets;}
  inline const GSM__RestOctets::IARRestOctets& rest__octets() const
    {return field_rest__octets;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 ImmediateAssignmentReject_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ImmediateAssignmentReject_template *list_value;
} value_list;
struct {
ImmediateAssignmentReject_template* precondition;
ImmediateAssignmentReject_template* implied_template;
} implication_;
dynmatch_struct<ImmediateAssignmentReject>* dyn_match;
};

void set_specific();
void copy_value(const ImmediateAssignmentReject& other_value);
void copy_template(const ImmediateAssignmentReject_template& other_value);

public:
ImmediateAssignmentReject_template();
ImmediateAssignmentReject_template(template_sel other_value);
ImmediateAssignmentReject_template(const ImmediateAssignmentReject& other_value);
ImmediateAssignmentReject_template(const OPTIONAL<ImmediateAssignmentReject>& other_value);
ImmediateAssignmentReject_template(ImmediateAssignmentReject_template* p_precondition, ImmediateAssignmentReject_template* p_implied_template);
ImmediateAssignmentReject_template(Dynamic_Match_Interface<ImmediateAssignmentReject>* p_dyn_match);
ImmediateAssignmentReject_template(const ImmediateAssignmentReject_template& other_value);
~ImmediateAssignmentReject_template();
ImmediateAssignmentReject_template& operator=(template_sel other_value);
ImmediateAssignmentReject_template& operator=(const ImmediateAssignmentReject& other_value);
ImmediateAssignmentReject_template& operator=(const OPTIONAL<ImmediateAssignmentReject>& other_value);
ImmediateAssignmentReject_template& operator=(const ImmediateAssignmentReject_template& other_value);
boolean match(const ImmediateAssignmentReject& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ImmediateAssignmentReject valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ImmediateAssignmentReject_template& list_item(unsigned int list_index) const;
FeatureIndicator_template& feature__ind();
const FeatureIndicator_template& feature__ind() const;
PageMode_template& page__mode();
const PageMode_template& page__mode() const;
ReqRefWaitInd4_template& payload();
const ReqRefWaitInd4_template& payload() const;
GSM__RestOctets::IARRestOctets_template& rest__octets();
const GSM__RestOctets::IARRestOctets_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const ImmediateAssignmentReject& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class MeasurementReport : public Base_Type {
  MeasurementResults field_meas__res;
public:
  MeasurementReport();
  MeasurementReport(const MeasurementResults& par_meas__res);
  MeasurementReport(const MeasurementReport& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  MeasurementReport& operator=(const MeasurementReport& other_value);
  boolean operator==(const MeasurementReport& other_value) const;
  inline boolean operator!=(const MeasurementReport& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline MeasurementResults& meas__res()
    {return field_meas__res;}
  inline const MeasurementResults& meas__res() const
    {return field_meas__res;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 MeasurementReport_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
MeasurementReport_template *list_value;
} value_list;
struct {
MeasurementReport_template* precondition;
MeasurementReport_template* implied_template;
} implication_;
dynmatch_struct<MeasurementReport>* dyn_match;
};

void set_specific();
void copy_value(const MeasurementReport& other_value);
void copy_template(const MeasurementReport_template& other_value);

public:
MeasurementReport_template();
MeasurementReport_template(template_sel other_value);
MeasurementReport_template(const MeasurementReport& other_value);
MeasurementReport_template(const OPTIONAL<MeasurementReport>& other_value);
MeasurementReport_template(MeasurementReport_template* p_precondition, MeasurementReport_template* p_implied_template);
MeasurementReport_template(Dynamic_Match_Interface<MeasurementReport>* p_dyn_match);
MeasurementReport_template(const MeasurementReport_template& other_value);
~MeasurementReport_template();
MeasurementReport_template& operator=(template_sel other_value);
MeasurementReport_template& operator=(const MeasurementReport& other_value);
MeasurementReport_template& operator=(const OPTIONAL<MeasurementReport>& other_value);
MeasurementReport_template& operator=(const MeasurementReport_template& other_value);
boolean match(const MeasurementReport& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
MeasurementReport valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
MeasurementReport_template& list_item(unsigned int list_index) const;
MeasurementResults_template& meas__res();
const MeasurementResults_template& meas__res() const;
int size_of() const;
void log() const;
void log_match(const MeasurementReport& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PagingRequestType1 : public Base_Type {
  GSM__Types::ChannelNeeded12 field_chan__needed;
  PageMode field_page__mode;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mi1;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_mi2;
  OCTETSTRING field_rest__octets;
public:
  PagingRequestType1();
  PagingRequestType1(const GSM__Types::ChannelNeeded12& par_chan__needed,
    const PageMode& par_page__mode,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mi1,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_mi2,
    const OCTETSTRING& par_rest__octets);
  PagingRequestType1(const PagingRequestType1& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PagingRequestType1& operator=(const PagingRequestType1& other_value);
  boolean operator==(const PagingRequestType1& other_value) const;
  inline boolean operator!=(const PagingRequestType1& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline GSM__Types::ChannelNeeded12& chan__needed()
    {return field_chan__needed;}
  inline const GSM__Types::ChannelNeeded12& chan__needed() const
    {return field_chan__needed;}
  inline PageMode& page__mode()
    {return field_page__mode;}
  inline const PageMode& page__mode() const
    {return field_page__mode;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mi1()
    {return field_mi1;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mi1() const
    {return field_mi1;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mi2()
    {return field_mi2;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mi2() const
    {return field_mi2;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PagingRequestType1_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PagingRequestType1_template *list_value;
} value_list;
struct {
PagingRequestType1_template* precondition;
PagingRequestType1_template* implied_template;
} implication_;
dynmatch_struct<PagingRequestType1>* dyn_match;
};

void set_specific();
void copy_value(const PagingRequestType1& other_value);
void copy_template(const PagingRequestType1_template& other_value);

public:
PagingRequestType1_template();
PagingRequestType1_template(template_sel other_value);
PagingRequestType1_template(const PagingRequestType1& other_value);
PagingRequestType1_template(const OPTIONAL<PagingRequestType1>& other_value);
PagingRequestType1_template(PagingRequestType1_template* p_precondition, PagingRequestType1_template* p_implied_template);
PagingRequestType1_template(Dynamic_Match_Interface<PagingRequestType1>* p_dyn_match);
PagingRequestType1_template(const PagingRequestType1_template& other_value);
~PagingRequestType1_template();
PagingRequestType1_template& operator=(template_sel other_value);
PagingRequestType1_template& operator=(const PagingRequestType1& other_value);
PagingRequestType1_template& operator=(const OPTIONAL<PagingRequestType1>& other_value);
PagingRequestType1_template& operator=(const PagingRequestType1_template& other_value);
boolean match(const PagingRequestType1& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PagingRequestType1 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PagingRequestType1_template& list_item(unsigned int list_index) const;
GSM__Types::ChannelNeeded12_template& chan__needed();
const GSM__Types::ChannelNeeded12_template& chan__needed() const;
PageMode_template& page__mode();
const PageMode_template& page__mode() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mi1();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mi1() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& mi2();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& mi2() const;
OCTETSTRING_template& rest__octets();
const OCTETSTRING_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const PagingRequestType1& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PagingRequestType2 : public Base_Type {
  GSM__Types::ChannelNeeded12 field_chan__needed;
  PageMode field_page__mode;
  INTEGER field_mi1;
  INTEGER field_mi2;
  OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV > field_mi3;
  OCTETSTRING field_rest__octets;
public:
  PagingRequestType2();
  PagingRequestType2(const GSM__Types::ChannelNeeded12& par_chan__needed,
    const PageMode& par_page__mode,
    const INTEGER& par_mi1,
    const INTEGER& par_mi2,
    const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& par_mi3,
    const OCTETSTRING& par_rest__octets);
  PagingRequestType2(const PagingRequestType2& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PagingRequestType2& operator=(const PagingRequestType2& other_value);
  boolean operator==(const PagingRequestType2& other_value) const;
  inline boolean operator!=(const PagingRequestType2& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline GSM__Types::ChannelNeeded12& chan__needed()
    {return field_chan__needed;}
  inline const GSM__Types::ChannelNeeded12& chan__needed() const
    {return field_chan__needed;}
  inline PageMode& page__mode()
    {return field_page__mode;}
  inline const PageMode& page__mode() const
    {return field_page__mode;}
  inline INTEGER& mi1()
    {return field_mi1;}
  inline const INTEGER& mi1() const
    {return field_mi1;}
  inline INTEGER& mi2()
    {return field_mi2;}
  inline const INTEGER& mi2() const
    {return field_mi2;}
  inline OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mi3()
    {return field_mi3;}
  inline const OPTIONAL< MobileL3__CommonIE__Types::MobileIdentityTLV >& mi3() const
    {return field_mi3;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PagingRequestType2_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PagingRequestType2_template *list_value;
} value_list;
struct {
PagingRequestType2_template* precondition;
PagingRequestType2_template* implied_template;
} implication_;
dynmatch_struct<PagingRequestType2>* dyn_match;
};

void set_specific();
void copy_value(const PagingRequestType2& other_value);
void copy_template(const PagingRequestType2_template& other_value);

public:
PagingRequestType2_template();
PagingRequestType2_template(template_sel other_value);
PagingRequestType2_template(const PagingRequestType2& other_value);
PagingRequestType2_template(const OPTIONAL<PagingRequestType2>& other_value);
PagingRequestType2_template(PagingRequestType2_template* p_precondition, PagingRequestType2_template* p_implied_template);
PagingRequestType2_template(Dynamic_Match_Interface<PagingRequestType2>* p_dyn_match);
PagingRequestType2_template(const PagingRequestType2_template& other_value);
~PagingRequestType2_template();
PagingRequestType2_template& operator=(template_sel other_value);
PagingRequestType2_template& operator=(const PagingRequestType2& other_value);
PagingRequestType2_template& operator=(const OPTIONAL<PagingRequestType2>& other_value);
PagingRequestType2_template& operator=(const PagingRequestType2_template& other_value);
boolean match(const PagingRequestType2& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PagingRequestType2 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PagingRequestType2_template& list_item(unsigned int list_index) const;
GSM__Types::ChannelNeeded12_template& chan__needed();
const GSM__Types::ChannelNeeded12_template& chan__needed() const;
PageMode_template& page__mode();
const PageMode_template& page__mode() const;
INTEGER_template& mi1();
const INTEGER_template& mi1() const;
INTEGER_template& mi2();
const INTEGER_template& mi2() const;
MobileL3__CommonIE__Types::MobileIdentityTLV_template& mi3();
const MobileL3__CommonIE__Types::MobileIdentityTLV_template& mi3() const;
OCTETSTRING_template& rest__octets();
const OCTETSTRING_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const PagingRequestType2& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PagingRequestType3 : public Base_Type {
  GSM__Types::ChannelNeeded12 field_chan__needed;
  PageMode field_page__mode;
  GsmTmsi4 field_mi;
  OCTETSTRING field_rest__octets;
public:
  PagingRequestType3();
  PagingRequestType3(const GSM__Types::ChannelNeeded12& par_chan__needed,
    const PageMode& par_page__mode,
    const GsmTmsi4& par_mi,
    const OCTETSTRING& par_rest__octets);
  PagingRequestType3(const PagingRequestType3& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PagingRequestType3& operator=(const PagingRequestType3& other_value);
  boolean operator==(const PagingRequestType3& other_value) const;
  inline boolean operator!=(const PagingRequestType3& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline GSM__Types::ChannelNeeded12& chan__needed()
    {return field_chan__needed;}
  inline const GSM__Types::ChannelNeeded12& chan__needed() const
    {return field_chan__needed;}
  inline PageMode& page__mode()
    {return field_page__mode;}
  inline const PageMode& page__mode() const
    {return field_page__mode;}
  inline GsmTmsi4& mi()
    {return field_mi;}
  inline const GsmTmsi4& mi() const
    {return field_mi;}
  inline OCTETSTRING& rest__octets()
    {return field_rest__octets;}
  inline const OCTETSTRING& rest__octets() const
    {return field_rest__octets;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PagingRequestType3_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PagingRequestType3_template *list_value;
} value_list;
struct {
PagingRequestType3_template* precondition;
PagingRequestType3_template* implied_template;
} implication_;
dynmatch_struct<PagingRequestType3>* dyn_match;
};

void set_specific();
void copy_value(const PagingRequestType3& other_value);
void copy_template(const PagingRequestType3_template& other_value);

public:
PagingRequestType3_template();
PagingRequestType3_template(template_sel other_value);
PagingRequestType3_template(const PagingRequestType3& other_value);
PagingRequestType3_template(const OPTIONAL<PagingRequestType3>& other_value);
PagingRequestType3_template(PagingRequestType3_template* p_precondition, PagingRequestType3_template* p_implied_template);
PagingRequestType3_template(Dynamic_Match_Interface<PagingRequestType3>* p_dyn_match);
PagingRequestType3_template(const PagingRequestType3_template& other_value);
~PagingRequestType3_template();
PagingRequestType3_template& operator=(template_sel other_value);
PagingRequestType3_template& operator=(const PagingRequestType3& other_value);
PagingRequestType3_template& operator=(const OPTIONAL<PagingRequestType3>& other_value);
PagingRequestType3_template& operator=(const PagingRequestType3_template& other_value);
boolean match(const PagingRequestType3& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PagingRequestType3 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PagingRequestType3_template& list_item(unsigned int list_index) const;
GSM__Types::ChannelNeeded12_template& chan__needed();
const GSM__Types::ChannelNeeded12_template& chan__needed() const;
PageMode_template& page__mode();
const PageMode_template& page__mode() const;
GsmTmsi4_template& mi();
const GsmTmsi4_template& mi() const;
OCTETSTRING_template& rest__octets();
const OCTETSTRING_template& rest__octets() const;
int size_of() const;
void log() const;
void log_match(const PagingRequestType3& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CipheringKeySeqNrTV : public Base_Type {
  HEXSTRING field_tag;
  INTEGER field_cksn;
public:
  CipheringKeySeqNrTV();
  CipheringKeySeqNrTV(const HEXSTRING& par_tag,
    const INTEGER& par_cksn);
  CipheringKeySeqNrTV(const CipheringKeySeqNrTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CipheringKeySeqNrTV& operator=(const CipheringKeySeqNrTV& other_value);
  boolean operator==(const CipheringKeySeqNrTV& other_value) const;
  inline boolean operator!=(const CipheringKeySeqNrTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline HEXSTRING& tag()
    {return field_tag;}
  inline const HEXSTRING& tag() const
    {return field_tag;}
  inline INTEGER& cksn()
    {return field_cksn;}
  inline const INTEGER& cksn() const
    {return field_cksn;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CipheringKeySeqNrTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CipheringKeySeqNrTV_template *list_value;
} value_list;
struct {
CipheringKeySeqNrTV_template* precondition;
CipheringKeySeqNrTV_template* implied_template;
} implication_;
dynmatch_struct<CipheringKeySeqNrTV>* dyn_match;
};

void set_specific();
void copy_value(const CipheringKeySeqNrTV& other_value);
void copy_template(const CipheringKeySeqNrTV_template& other_value);

public:
CipheringKeySeqNrTV_template();
CipheringKeySeqNrTV_template(template_sel other_value);
CipheringKeySeqNrTV_template(const CipheringKeySeqNrTV& other_value);
CipheringKeySeqNrTV_template(const OPTIONAL<CipheringKeySeqNrTV>& other_value);
CipheringKeySeqNrTV_template(CipheringKeySeqNrTV_template* p_precondition, CipheringKeySeqNrTV_template* p_implied_template);
CipheringKeySeqNrTV_template(Dynamic_Match_Interface<CipheringKeySeqNrTV>* p_dyn_match);
CipheringKeySeqNrTV_template(const CipheringKeySeqNrTV_template& other_value);
~CipheringKeySeqNrTV_template();
CipheringKeySeqNrTV_template& operator=(template_sel other_value);
CipheringKeySeqNrTV_template& operator=(const CipheringKeySeqNrTV& other_value);
CipheringKeySeqNrTV_template& operator=(const OPTIONAL<CipheringKeySeqNrTV>& other_value);
CipheringKeySeqNrTV_template& operator=(const CipheringKeySeqNrTV_template& other_value);
boolean match(const CipheringKeySeqNrTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CipheringKeySeqNrTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CipheringKeySeqNrTV_template& list_item(unsigned int list_index) const;
HEXSTRING_template& tag();
const HEXSTRING_template& tag() const;
INTEGER_template& cksn();
const INTEGER_template& cksn() const;
int size_of() const;
void log() const;
void log_match(const CipheringKeySeqNrTV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class TalkerIndication : public Base_Type {
  MsClassmark2LV field_cm2;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mi;
  OPTIONAL< CipheringKeySeqNrTV > field_cksn;
public:
  TalkerIndication();
  TalkerIndication(const MsClassmark2LV& par_cm2,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mi,
    const OPTIONAL< CipheringKeySeqNrTV >& par_cksn);
  TalkerIndication(const TalkerIndication& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TalkerIndication& operator=(const TalkerIndication& other_value);
  boolean operator==(const TalkerIndication& other_value) const;
  inline boolean operator!=(const TalkerIndication& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline MsClassmark2LV& cm2()
    {return field_cm2;}
  inline const MsClassmark2LV& cm2() const
    {return field_cm2;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mi()
    {return field_mi;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mi() const
    {return field_mi;}
  inline OPTIONAL< CipheringKeySeqNrTV >& cksn()
    {return field_cksn;}
  inline const OPTIONAL< CipheringKeySeqNrTV >& cksn() const
    {return field_cksn;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 TalkerIndication_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TalkerIndication_template *list_value;
} value_list;
struct {
TalkerIndication_template* precondition;
TalkerIndication_template* implied_template;
} implication_;
dynmatch_struct<TalkerIndication>* dyn_match;
};

void set_specific();
void copy_value(const TalkerIndication& other_value);
void copy_template(const TalkerIndication_template& other_value);

public:
TalkerIndication_template();
TalkerIndication_template(template_sel other_value);
TalkerIndication_template(const TalkerIndication& other_value);
TalkerIndication_template(const OPTIONAL<TalkerIndication>& other_value);
TalkerIndication_template(TalkerIndication_template* p_precondition, TalkerIndication_template* p_implied_template);
TalkerIndication_template(Dynamic_Match_Interface<TalkerIndication>* p_dyn_match);
TalkerIndication_template(const TalkerIndication_template& other_value);
~TalkerIndication_template();
TalkerIndication_template& operator=(template_sel other_value);
TalkerIndication_template& operator=(const TalkerIndication& other_value);
TalkerIndication_template& operator=(const OPTIONAL<TalkerIndication>& other_value);
TalkerIndication_template& operator=(const TalkerIndication_template& other_value);
boolean match(const TalkerIndication& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TalkerIndication valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TalkerIndication_template& list_item(unsigned int list_index) const;
MsClassmark2LV_template& cm2();
const MsClassmark2LV_template& cm2() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mi();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mi() const;
CipheringKeySeqNrTV_template& cksn();
const CipheringKeySeqNrTV_template& cksn() const;
int size_of() const;
void log() const;
void log_match(const TalkerIndication& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PriorityUplinkRequest : public Base_Type {
  OCTETSTRING field_est__cause;
  OCTETSTRING field_token;
  OCTETSTRING field_reduced__gcr;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mi;
public:
  PriorityUplinkRequest();
  PriorityUplinkRequest(const OCTETSTRING& par_est__cause,
    const OCTETSTRING& par_token,
    const OCTETSTRING& par_reduced__gcr,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mi);
  PriorityUplinkRequest(const PriorityUplinkRequest& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PriorityUplinkRequest& operator=(const PriorityUplinkRequest& other_value);
  boolean operator==(const PriorityUplinkRequest& other_value) const;
  inline boolean operator!=(const PriorityUplinkRequest& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& est__cause()
    {return field_est__cause;}
  inline const OCTETSTRING& est__cause() const
    {return field_est__cause;}
  inline OCTETSTRING& token()
    {return field_token;}
  inline const OCTETSTRING& token() const
    {return field_token;}
  inline OCTETSTRING& reduced__gcr()
    {return field_reduced__gcr;}
  inline const OCTETSTRING& reduced__gcr() const
    {return field_reduced__gcr;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mi()
    {return field_mi;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mi() const
    {return field_mi;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PriorityUplinkRequest_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PriorityUplinkRequest_template *list_value;
} value_list;
struct {
PriorityUplinkRequest_template* precondition;
PriorityUplinkRequest_template* implied_template;
} implication_;
dynmatch_struct<PriorityUplinkRequest>* dyn_match;
};

void set_specific();
void copy_value(const PriorityUplinkRequest& other_value);
void copy_template(const PriorityUplinkRequest_template& other_value);

public:
PriorityUplinkRequest_template();
PriorityUplinkRequest_template(template_sel other_value);
PriorityUplinkRequest_template(const PriorityUplinkRequest& other_value);
PriorityUplinkRequest_template(const OPTIONAL<PriorityUplinkRequest>& other_value);
PriorityUplinkRequest_template(PriorityUplinkRequest_template* p_precondition, PriorityUplinkRequest_template* p_implied_template);
PriorityUplinkRequest_template(Dynamic_Match_Interface<PriorityUplinkRequest>* p_dyn_match);
PriorityUplinkRequest_template(const PriorityUplinkRequest_template& other_value);
~PriorityUplinkRequest_template();
PriorityUplinkRequest_template& operator=(template_sel other_value);
PriorityUplinkRequest_template& operator=(const PriorityUplinkRequest& other_value);
PriorityUplinkRequest_template& operator=(const OPTIONAL<PriorityUplinkRequest>& other_value);
PriorityUplinkRequest_template& operator=(const PriorityUplinkRequest_template& other_value);
boolean match(const PriorityUplinkRequest& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PriorityUplinkRequest valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PriorityUplinkRequest_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& est__cause();
const OCTETSTRING_template& est__cause() const;
OCTETSTRING_template& token();
const OCTETSTRING_template& token() const;
OCTETSTRING_template& reduced__gcr();
const OCTETSTRING_template& reduced__gcr() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mi();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mi() const;
int size_of() const;
void log() const;
void log_match(const PriorityUplinkRequest& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class DataIndication : public Base_Type {
  INTEGER field_tmsi;
  OCTETSTRING field_app__data;
  OCTETSTRING field_data__id;
public:
  DataIndication();
  DataIndication(const INTEGER& par_tmsi,
    const OCTETSTRING& par_app__data,
    const OCTETSTRING& par_data__id);
  DataIndication(const DataIndication& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DataIndication& operator=(const DataIndication& other_value);
  boolean operator==(const DataIndication& other_value) const;
  inline boolean operator!=(const DataIndication& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& tmsi()
    {return field_tmsi;}
  inline const INTEGER& tmsi() const
    {return field_tmsi;}
  inline OCTETSTRING& app__data()
    {return field_app__data;}
  inline const OCTETSTRING& app__data() const
    {return field_app__data;}
  inline OCTETSTRING& data__id()
    {return field_data__id;}
  inline const OCTETSTRING& data__id() const
    {return field_data__id;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 DataIndication_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DataIndication_template *list_value;
} value_list;
struct {
DataIndication_template* precondition;
DataIndication_template* implied_template;
} implication_;
dynmatch_struct<DataIndication>* dyn_match;
};

void set_specific();
void copy_value(const DataIndication& other_value);
void copy_template(const DataIndication_template& other_value);

public:
DataIndication_template();
DataIndication_template(template_sel other_value);
DataIndication_template(const DataIndication& other_value);
DataIndication_template(const OPTIONAL<DataIndication>& other_value);
DataIndication_template(DataIndication_template* p_precondition, DataIndication_template* p_implied_template);
DataIndication_template(Dynamic_Match_Interface<DataIndication>* p_dyn_match);
DataIndication_template(const DataIndication_template& other_value);
~DataIndication_template();
DataIndication_template& operator=(template_sel other_value);
DataIndication_template& operator=(const DataIndication& other_value);
DataIndication_template& operator=(const OPTIONAL<DataIndication>& other_value);
DataIndication_template& operator=(const DataIndication_template& other_value);
boolean match(const DataIndication& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DataIndication valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DataIndication_template& list_item(unsigned int list_index) const;
INTEGER_template& tmsi();
const INTEGER_template& tmsi() const;
OCTETSTRING_template& app__data();
const OCTETSTRING_template& app__data() const;
OCTETSTRING_template& data__id();
const OCTETSTRING_template& data__id() const;
int size_of() const;
void log() const;
void log_match(const DataIndication& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class DataIndication2 : public Base_Type {
  INTEGER field_tmsi;
  OCTETSTRING field_reduced__gcr;
  OCTETSTRING field_app__data;
  OCTETSTRING field_data__id;
public:
  DataIndication2();
  DataIndication2(const INTEGER& par_tmsi,
    const OCTETSTRING& par_reduced__gcr,
    const OCTETSTRING& par_app__data,
    const OCTETSTRING& par_data__id);
  DataIndication2(const DataIndication2& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  DataIndication2& operator=(const DataIndication2& other_value);
  boolean operator==(const DataIndication2& other_value) const;
  inline boolean operator!=(const DataIndication2& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& tmsi()
    {return field_tmsi;}
  inline const INTEGER& tmsi() const
    {return field_tmsi;}
  inline OCTETSTRING& reduced__gcr()
    {return field_reduced__gcr;}
  inline const OCTETSTRING& reduced__gcr() const
    {return field_reduced__gcr;}
  inline OCTETSTRING& app__data()
    {return field_app__data;}
  inline const OCTETSTRING& app__data() const
    {return field_app__data;}
  inline OCTETSTRING& data__id()
    {return field_data__id;}
  inline const OCTETSTRING& data__id() const
    {return field_data__id;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 DataIndication2_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
DataIndication2_template *list_value;
} value_list;
struct {
DataIndication2_template* precondition;
DataIndication2_template* implied_template;
} implication_;
dynmatch_struct<DataIndication2>* dyn_match;
};

void set_specific();
void copy_value(const DataIndication2& other_value);
void copy_template(const DataIndication2_template& other_value);

public:
DataIndication2_template();
DataIndication2_template(template_sel other_value);
DataIndication2_template(const DataIndication2& other_value);
DataIndication2_template(const OPTIONAL<DataIndication2>& other_value);
DataIndication2_template(DataIndication2_template* p_precondition, DataIndication2_template* p_implied_template);
DataIndication2_template(Dynamic_Match_Interface<DataIndication2>* p_dyn_match);
DataIndication2_template(const DataIndication2_template& other_value);
~DataIndication2_template();
DataIndication2_template& operator=(template_sel other_value);
DataIndication2_template& operator=(const DataIndication2& other_value);
DataIndication2_template& operator=(const OPTIONAL<DataIndication2>& other_value);
DataIndication2_template& operator=(const DataIndication2_template& other_value);
boolean match(const DataIndication2& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
DataIndication2 valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
DataIndication2_template& list_item(unsigned int list_index) const;
INTEGER_template& tmsi();
const INTEGER_template& tmsi() const;
OCTETSTRING_template& reduced__gcr();
const OCTETSTRING_template& reduced__gcr() const;
OCTETSTRING_template& app__data();
const OCTETSTRING_template& app__data() const;
OCTETSTRING_template& data__id();
const OCTETSTRING_template& data__id() const;
int size_of() const;
void log() const;
void log_match(const DataIndication2& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class UplinkBusy : public Base_Type {
  OPTIONAL< TalkerPrioEmergIndTLV > field_prio;
  OPTIONAL< TokenTV > field_token;
  OPTIONAL< TalkerIdentityTLV > field_talker__id;
  OPTIONAL< UplinkAccessIndTV > field_ul__access__ind;
public:
  UplinkBusy();
  UplinkBusy(const OPTIONAL< TalkerPrioEmergIndTLV >& par_prio,
    const OPTIONAL< TokenTV >& par_token,
    const OPTIONAL< TalkerIdentityTLV >& par_talker__id,
    const OPTIONAL< UplinkAccessIndTV >& par_ul__access__ind);
  UplinkBusy(const UplinkBusy& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UplinkBusy& operator=(const UplinkBusy& other_value);
  boolean operator==(const UplinkBusy& other_value) const;
  inline boolean operator!=(const UplinkBusy& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OPTIONAL< TalkerPrioEmergIndTLV >& prio()
    {return field_prio;}
  inline const OPTIONAL< TalkerPrioEmergIndTLV >& prio() const
    {return field_prio;}
  inline OPTIONAL< TokenTV >& token()
    {return field_token;}
  inline const OPTIONAL< TokenTV >& token() const
    {return field_token;}
  inline OPTIONAL< TalkerIdentityTLV >& talker__id()
    {return field_talker__id;}
  inline const OPTIONAL< TalkerIdentityTLV >& talker__id() const
    {return field_talker__id;}
  inline OPTIONAL< UplinkAccessIndTV >& ul__access__ind()
    {return field_ul__access__ind;}
  inline const OPTIONAL< UplinkAccessIndTV >& ul__access__ind() const
    {return field_ul__access__ind;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 UplinkBusy_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UplinkBusy_template *list_value;
} value_list;
struct {
UplinkBusy_template* precondition;
UplinkBusy_template* implied_template;
} implication_;
dynmatch_struct<UplinkBusy>* dyn_match;
};

void set_specific();
void copy_value(const UplinkBusy& other_value);
void copy_template(const UplinkBusy_template& other_value);

public:
UplinkBusy_template();
UplinkBusy_template(template_sel other_value);
UplinkBusy_template(const UplinkBusy& other_value);
UplinkBusy_template(const OPTIONAL<UplinkBusy>& other_value);
UplinkBusy_template(UplinkBusy_template* p_precondition, UplinkBusy_template* p_implied_template);
UplinkBusy_template(Dynamic_Match_Interface<UplinkBusy>* p_dyn_match);
UplinkBusy_template(const UplinkBusy_template& other_value);
~UplinkBusy_template();
UplinkBusy_template& operator=(template_sel other_value);
UplinkBusy_template& operator=(const UplinkBusy& other_value);
UplinkBusy_template& operator=(const OPTIONAL<UplinkBusy>& other_value);
UplinkBusy_template& operator=(const UplinkBusy_template& other_value);
boolean match(const UplinkBusy& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UplinkBusy valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UplinkBusy_template& list_item(unsigned int list_index) const;
TalkerPrioEmergIndTLV_template& prio();
const TalkerPrioEmergIndTLV_template& prio() const;
TokenTV_template& token();
const TokenTV_template& token() const;
TalkerIdentityTLV_template& talker__id();
const TalkerIdentityTLV_template& talker__id() const;
UplinkAccessIndTV_template& ul__access__ind();
const UplinkAccessIndTV_template& ul__access__ind() const;
int size_of() const;
void log() const;
void log_match(const UplinkBusy& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class TalkerPrioEmergIndTLV : public Base_Type {
  OCTETSTRING field_iei;
  INTEGER field_len;
  BOOLEAN field_es;
  BITSTRING field_spare;
  BOOLEAN field_uai__rach;
  INTEGER field_priority;
public:
  TalkerPrioEmergIndTLV();
  TalkerPrioEmergIndTLV(const OCTETSTRING& par_iei,
    const INTEGER& par_len,
    const BOOLEAN& par_es,
    const BITSTRING& par_spare,
    const BOOLEAN& par_uai__rach,
    const INTEGER& par_priority);
  TalkerPrioEmergIndTLV(const TalkerPrioEmergIndTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TalkerPrioEmergIndTLV& operator=(const TalkerPrioEmergIndTLV& other_value);
  boolean operator==(const TalkerPrioEmergIndTLV& other_value) const;
  inline boolean operator!=(const TalkerPrioEmergIndTLV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& iei()
    {return field_iei;}
  inline const OCTETSTRING& iei() const
    {return field_iei;}
  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline BOOLEAN& es()
    {return field_es;}
  inline const BOOLEAN& es() const
    {return field_es;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BOOLEAN& uai__rach()
    {return field_uai__rach;}
  inline const BOOLEAN& uai__rach() const
    {return field_uai__rach;}
  inline INTEGER& priority()
    {return field_priority;}
  inline const INTEGER& priority() const
    {return field_priority;}
  inline int size_of() const
    {return 6;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 TalkerPrioEmergIndTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TalkerPrioEmergIndTLV_template *list_value;
} value_list;
struct {
TalkerPrioEmergIndTLV_template* precondition;
TalkerPrioEmergIndTLV_template* implied_template;
} implication_;
dynmatch_struct<TalkerPrioEmergIndTLV>* dyn_match;
};

void set_specific();
void copy_value(const TalkerPrioEmergIndTLV& other_value);
void copy_template(const TalkerPrioEmergIndTLV_template& other_value);

public:
TalkerPrioEmergIndTLV_template();
TalkerPrioEmergIndTLV_template(template_sel other_value);
TalkerPrioEmergIndTLV_template(const TalkerPrioEmergIndTLV& other_value);
TalkerPrioEmergIndTLV_template(const OPTIONAL<TalkerPrioEmergIndTLV>& other_value);
TalkerPrioEmergIndTLV_template(TalkerPrioEmergIndTLV_template* p_precondition, TalkerPrioEmergIndTLV_template* p_implied_template);
TalkerPrioEmergIndTLV_template(Dynamic_Match_Interface<TalkerPrioEmergIndTLV>* p_dyn_match);
TalkerPrioEmergIndTLV_template(const TalkerPrioEmergIndTLV_template& other_value);
~TalkerPrioEmergIndTLV_template();
TalkerPrioEmergIndTLV_template& operator=(template_sel other_value);
TalkerPrioEmergIndTLV_template& operator=(const TalkerPrioEmergIndTLV& other_value);
TalkerPrioEmergIndTLV_template& operator=(const OPTIONAL<TalkerPrioEmergIndTLV>& other_value);
TalkerPrioEmergIndTLV_template& operator=(const TalkerPrioEmergIndTLV_template& other_value);
boolean match(const TalkerPrioEmergIndTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TalkerPrioEmergIndTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TalkerPrioEmergIndTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& iei();
const OCTETSTRING_template& iei() const;
INTEGER_template& len();
const INTEGER_template& len() const;
BOOLEAN_template& es();
const BOOLEAN_template& es() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BOOLEAN_template& uai__rach();
const BOOLEAN_template& uai__rach() const;
INTEGER_template& priority();
const INTEGER_template& priority() const;
int size_of() const;
void log() const;
void log_match(const TalkerPrioEmergIndTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class TokenTV : public Base_Type {
  OCTETSTRING field_iei;
  OCTETSTRING field_token;
public:
  TokenTV();
  TokenTV(const OCTETSTRING& par_iei,
    const OCTETSTRING& par_token);
  TokenTV(const TokenTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TokenTV& operator=(const TokenTV& other_value);
  boolean operator==(const TokenTV& other_value) const;
  inline boolean operator!=(const TokenTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& iei()
    {return field_iei;}
  inline const OCTETSTRING& iei() const
    {return field_iei;}
  inline OCTETSTRING& token()
    {return field_token;}
  inline const OCTETSTRING& token() const
    {return field_token;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 TokenTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TokenTV_template *list_value;
} value_list;
struct {
TokenTV_template* precondition;
TokenTV_template* implied_template;
} implication_;
dynmatch_struct<TokenTV>* dyn_match;
};

void set_specific();
void copy_value(const TokenTV& other_value);
void copy_template(const TokenTV_template& other_value);

public:
TokenTV_template();
TokenTV_template(template_sel other_value);
TokenTV_template(const TokenTV& other_value);
TokenTV_template(const OPTIONAL<TokenTV>& other_value);
TokenTV_template(TokenTV_template* p_precondition, TokenTV_template* p_implied_template);
TokenTV_template(Dynamic_Match_Interface<TokenTV>* p_dyn_match);
TokenTV_template(const TokenTV_template& other_value);
~TokenTV_template();
TokenTV_template& operator=(template_sel other_value);
TokenTV_template& operator=(const TokenTV& other_value);
TokenTV_template& operator=(const OPTIONAL<TokenTV>& other_value);
TokenTV_template& operator=(const TokenTV_template& other_value);
boolean match(const TokenTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TokenTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TokenTV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& iei();
const OCTETSTRING_template& iei() const;
OCTETSTRING_template& token();
const OCTETSTRING_template& token() const;
int size_of() const;
void log() const;
void log_match(const TokenTV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class TalkerIdentityTLV : public Base_Type {
  OCTETSTRING field_iei;
  INTEGER field_len;
  OCTETSTRING field_talker__id;
public:
  TalkerIdentityTLV();
  TalkerIdentityTLV(const OCTETSTRING& par_iei,
    const INTEGER& par_len,
    const OCTETSTRING& par_talker__id);
  TalkerIdentityTLV(const TalkerIdentityTLV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  TalkerIdentityTLV& operator=(const TalkerIdentityTLV& other_value);
  boolean operator==(const TalkerIdentityTLV& other_value) const;
  inline boolean operator!=(const TalkerIdentityTLV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OCTETSTRING& iei()
    {return field_iei;}
  inline const OCTETSTRING& iei() const
    {return field_iei;}
  inline INTEGER& len()
    {return field_len;}
  inline const INTEGER& len() const
    {return field_len;}
  inline OCTETSTRING& talker__id()
    {return field_talker__id;}
  inline const OCTETSTRING& talker__id() const
    {return field_talker__id;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 TalkerIdentityTLV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
TalkerIdentityTLV_template *list_value;
} value_list;
struct {
TalkerIdentityTLV_template* precondition;
TalkerIdentityTLV_template* implied_template;
} implication_;
dynmatch_struct<TalkerIdentityTLV>* dyn_match;
};

void set_specific();
void copy_value(const TalkerIdentityTLV& other_value);
void copy_template(const TalkerIdentityTLV_template& other_value);

public:
TalkerIdentityTLV_template();
TalkerIdentityTLV_template(template_sel other_value);
TalkerIdentityTLV_template(const TalkerIdentityTLV& other_value);
TalkerIdentityTLV_template(const OPTIONAL<TalkerIdentityTLV>& other_value);
TalkerIdentityTLV_template(TalkerIdentityTLV_template* p_precondition, TalkerIdentityTLV_template* p_implied_template);
TalkerIdentityTLV_template(Dynamic_Match_Interface<TalkerIdentityTLV>* p_dyn_match);
TalkerIdentityTLV_template(const TalkerIdentityTLV_template& other_value);
~TalkerIdentityTLV_template();
TalkerIdentityTLV_template& operator=(template_sel other_value);
TalkerIdentityTLV_template& operator=(const TalkerIdentityTLV& other_value);
TalkerIdentityTLV_template& operator=(const OPTIONAL<TalkerIdentityTLV>& other_value);
TalkerIdentityTLV_template& operator=(const TalkerIdentityTLV_template& other_value);
boolean match(const TalkerIdentityTLV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
TalkerIdentityTLV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
TalkerIdentityTLV_template& list_item(unsigned int list_index) const;
OCTETSTRING_template& iei();
const OCTETSTRING_template& iei() const;
INTEGER_template& len();
const INTEGER_template& len() const;
OCTETSTRING_template& talker__id();
const OCTETSTRING_template& talker__id() const;
int size_of() const;
void log() const;
void log_match(const TalkerIdentityTLV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class UplinkAccessIndTV : public Base_Type {
  HEXSTRING field_iei;
  BITSTRING field_spare;
  BOOLEAN field_uai__rach;
public:
  UplinkAccessIndTV();
  UplinkAccessIndTV(const HEXSTRING& par_iei,
    const BITSTRING& par_spare,
    const BOOLEAN& par_uai__rach);
  UplinkAccessIndTV(const UplinkAccessIndTV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UplinkAccessIndTV& operator=(const UplinkAccessIndTV& other_value);
  boolean operator==(const UplinkAccessIndTV& other_value) const;
  inline boolean operator!=(const UplinkAccessIndTV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline HEXSTRING& iei()
    {return field_iei;}
  inline const HEXSTRING& iei() const
    {return field_iei;}
  inline BITSTRING& spare()
    {return field_spare;}
  inline const BITSTRING& spare() const
    {return field_spare;}
  inline BOOLEAN& uai__rach()
    {return field_uai__rach;}
  inline const BOOLEAN& uai__rach() const
    {return field_uai__rach;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 UplinkAccessIndTV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UplinkAccessIndTV_template *list_value;
} value_list;
struct {
UplinkAccessIndTV_template* precondition;
UplinkAccessIndTV_template* implied_template;
} implication_;
dynmatch_struct<UplinkAccessIndTV>* dyn_match;
};

void set_specific();
void copy_value(const UplinkAccessIndTV& other_value);
void copy_template(const UplinkAccessIndTV_template& other_value);

public:
UplinkAccessIndTV_template();
UplinkAccessIndTV_template(template_sel other_value);
UplinkAccessIndTV_template(const UplinkAccessIndTV& other_value);
UplinkAccessIndTV_template(const OPTIONAL<UplinkAccessIndTV>& other_value);
UplinkAccessIndTV_template(UplinkAccessIndTV_template* p_precondition, UplinkAccessIndTV_template* p_implied_template);
UplinkAccessIndTV_template(Dynamic_Match_Interface<UplinkAccessIndTV>* p_dyn_match);
UplinkAccessIndTV_template(const UplinkAccessIndTV_template& other_value);
~UplinkAccessIndTV_template();
UplinkAccessIndTV_template& operator=(template_sel other_value);
UplinkAccessIndTV_template& operator=(const UplinkAccessIndTV& other_value);
UplinkAccessIndTV_template& operator=(const OPTIONAL<UplinkAccessIndTV>& other_value);
UplinkAccessIndTV_template& operator=(const UplinkAccessIndTV_template& other_value);
boolean match(const UplinkAccessIndTV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UplinkAccessIndTV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UplinkAccessIndTV_template& list_item(unsigned int list_index) const;
HEXSTRING_template& iei();
const HEXSTRING_template& iei() const;
BITSTRING_template& spare();
const BITSTRING_template& spare() const;
BOOLEAN_template& uai__rach();
const BOOLEAN_template& uai__rach() const;
int size_of() const;
void log() const;
void log_match(const UplinkAccessIndTV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class UplinkRelease : public Base_Type {
  RR__Cause field_cause;
public:
  UplinkRelease();
  UplinkRelease(const RR__Cause& par_cause);
  UplinkRelease(const UplinkRelease& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UplinkRelease& operator=(const UplinkRelease& other_value);
  boolean operator==(const UplinkRelease& other_value) const;
  inline boolean operator!=(const UplinkRelease& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RR__Cause& cause()
    {return field_cause;}
  inline const RR__Cause& cause() const
    {return field_cause;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 UplinkRelease_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UplinkRelease_template *list_value;
} value_list;
struct {
UplinkRelease_template* precondition;
UplinkRelease_template* implied_template;
} implication_;
dynmatch_struct<UplinkRelease>* dyn_match;
};

void set_specific();
void copy_value(const UplinkRelease& other_value);
void copy_template(const UplinkRelease_template& other_value);

public:
UplinkRelease_template();
UplinkRelease_template(template_sel other_value);
UplinkRelease_template(const UplinkRelease& other_value);
UplinkRelease_template(const OPTIONAL<UplinkRelease>& other_value);
UplinkRelease_template(UplinkRelease_template* p_precondition, UplinkRelease_template* p_implied_template);
UplinkRelease_template(Dynamic_Match_Interface<UplinkRelease>* p_dyn_match);
UplinkRelease_template(const UplinkRelease_template& other_value);
~UplinkRelease_template();
UplinkRelease_template& operator=(template_sel other_value);
UplinkRelease_template& operator=(const UplinkRelease& other_value);
UplinkRelease_template& operator=(const OPTIONAL<UplinkRelease>& other_value);
UplinkRelease_template& operator=(const UplinkRelease_template& other_value);
boolean match(const UplinkRelease& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UplinkRelease valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UplinkRelease_template& list_item(unsigned int list_index) const;
RR__Cause_template& cause();
const RR__Cause_template& cause() const;
int size_of() const;
void log() const;
void log_match(const UplinkRelease& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class VgcsUplinkGrant : public Base_Type {
  RequestReference field_req__ref;
  INTEGER field_ta;
public:
  VgcsUplinkGrant();
  VgcsUplinkGrant(const RequestReference& par_req__ref,
    const INTEGER& par_ta);
  VgcsUplinkGrant(const VgcsUplinkGrant& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  VgcsUplinkGrant& operator=(const VgcsUplinkGrant& other_value);
  boolean operator==(const VgcsUplinkGrant& other_value) const;
  inline boolean operator!=(const VgcsUplinkGrant& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RequestReference& req__ref()
    {return field_req__ref;}
  inline const RequestReference& req__ref() const
    {return field_req__ref;}
  inline INTEGER& ta()
    {return field_ta;}
  inline const INTEGER& ta() const
    {return field_ta;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 VgcsUplinkGrant_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
VgcsUplinkGrant_template *list_value;
} value_list;
struct {
VgcsUplinkGrant_template* precondition;
VgcsUplinkGrant_template* implied_template;
} implication_;
dynmatch_struct<VgcsUplinkGrant>* dyn_match;
};

void set_specific();
void copy_value(const VgcsUplinkGrant& other_value);
void copy_template(const VgcsUplinkGrant_template& other_value);

public:
VgcsUplinkGrant_template();
VgcsUplinkGrant_template(template_sel other_value);
VgcsUplinkGrant_template(const VgcsUplinkGrant& other_value);
VgcsUplinkGrant_template(const OPTIONAL<VgcsUplinkGrant>& other_value);
VgcsUplinkGrant_template(VgcsUplinkGrant_template* p_precondition, VgcsUplinkGrant_template* p_implied_template);
VgcsUplinkGrant_template(Dynamic_Match_Interface<VgcsUplinkGrant>* p_dyn_match);
VgcsUplinkGrant_template(const VgcsUplinkGrant_template& other_value);
~VgcsUplinkGrant_template();
VgcsUplinkGrant_template& operator=(template_sel other_value);
VgcsUplinkGrant_template& operator=(const VgcsUplinkGrant& other_value);
VgcsUplinkGrant_template& operator=(const OPTIONAL<VgcsUplinkGrant>& other_value);
VgcsUplinkGrant_template& operator=(const VgcsUplinkGrant_template& other_value);
boolean match(const VgcsUplinkGrant& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
VgcsUplinkGrant valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
VgcsUplinkGrant_template& list_item(unsigned int list_index) const;
RequestReference_template& req__ref();
const RequestReference_template& req__ref() const;
INTEGER_template& ta();
const INTEGER_template& ta() const;
int size_of() const;
void log() const;
void log_match(const VgcsUplinkGrant& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class RrUnion : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_imm__ass = 1, ALT_imm__ass__rej = 2, ALT_pag__req__1 = 3, ALT_pag__req__2 = 4, ALT_pag__req__3 = 5, ALT_other = 6 };
private:
union_selection_type union_selection;
union {
ImmediateAssignment *field_imm__ass;
ImmediateAssignmentReject *field_imm__ass__rej;
PagingRequestType1 *field_pag__req__1;
PagingRequestType2 *field_pag__req__2;
PagingRequestType3 *field_pag__req__3;
OCTETSTRING *field_other;
};
void copy_value(const RrUnion& other_value);

public:
RrUnion();
RrUnion(const RrUnion& other_value);
~RrUnion();
RrUnion& operator=(const RrUnion& other_value);
boolean operator==(const RrUnion& other_value) const;
inline boolean operator!=(const RrUnion& other_value) const { return !(*this == other_value); }
ImmediateAssignment& imm__ass();
const ImmediateAssignment& imm__ass() const;
ImmediateAssignmentReject& imm__ass__rej();
const ImmediateAssignmentReject& imm__ass__rej() const;
PagingRequestType1& pag__req__1();
const PagingRequestType1& pag__req__1() const;
PagingRequestType2& pag__req__2();
const PagingRequestType2& pag__req__2() const;
PagingRequestType3& pag__req__3();
const PagingRequestType3& pag__req__3() const;
OCTETSTRING& other();
const OCTETSTRING& other() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
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&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrUnion_template : public Base_Template {
union {
struct {
RrUnion::union_selection_type union_selection;
union {
ImmediateAssignment_template *field_imm__ass;
ImmediateAssignmentReject_template *field_imm__ass__rej;
PagingRequestType1_template *field_pag__req__1;
PagingRequestType2_template *field_pag__req__2;
PagingRequestType3_template *field_pag__req__3;
OCTETSTRING_template *field_other;
};
} single_value;
struct {
unsigned int n_values;
RrUnion_template *list_value;
} value_list;
struct {
RrUnion_template* precondition;
RrUnion_template* implied_template;
} implication_;
dynmatch_struct<RrUnion>* dyn_match;
};
void copy_value(const RrUnion& other_value);

void copy_template(const RrUnion_template& other_value);

public:
RrUnion_template();
RrUnion_template(template_sel other_value);
RrUnion_template(const RrUnion& other_value);
RrUnion_template(const OPTIONAL<RrUnion>& other_value);
RrUnion_template(RrUnion_template* p_precondition, RrUnion_template* p_implied_template);
RrUnion_template(Dynamic_Match_Interface<RrUnion>* p_dyn_match);
RrUnion_template(const RrUnion_template& other_value);
~RrUnion_template();
void clean_up();
RrUnion_template& operator=(template_sel other_value);
RrUnion_template& operator=(const RrUnion& other_value);
RrUnion_template& operator=(const OPTIONAL<RrUnion>& other_value);
RrUnion_template& operator=(const RrUnion_template& other_value);
boolean match(const RrUnion& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RrUnion valueof() const;
RrUnion_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
ImmediateAssignment_template& imm__ass();
const ImmediateAssignment_template& imm__ass() const;
ImmediateAssignmentReject_template& imm__ass__rej();
const ImmediateAssignmentReject_template& imm__ass__rej() const;
PagingRequestType1_template& pag__req__1();
const PagingRequestType1_template& pag__req__1() const;
PagingRequestType2_template& pag__req__2();
const PagingRequestType2_template& pag__req__2() const;
PagingRequestType3_template& pag__req__3();
const PagingRequestType3_template& pag__req__3() const;
OCTETSTRING_template& other();
const OCTETSTRING_template& other() const;
boolean ischosen(RrUnion::union_selection_type checked_selection) const;
void log() const;
void log_match(const RrUnion& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class GsmRrMessage : public Base_Type {
  RrHeader field_header;
  RrUnion field_payload;
public:
  GsmRrMessage();
  GsmRrMessage(const RrHeader& par_header,
    const RrUnion& par_payload);
  GsmRrMessage(const GsmRrMessage& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GsmRrMessage& operator=(const GsmRrMessage& other_value);
  boolean operator==(const GsmRrMessage& other_value) const;
  inline boolean operator!=(const GsmRrMessage& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RrHeader& header()
    {return field_header;}
  inline const RrHeader& header() const
    {return field_header;}
  inline RrUnion& payload()
    {return field_payload;}
  inline const RrUnion& payload() const
    {return field_payload;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 GsmRrMessage_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GsmRrMessage_template *list_value;
} value_list;
struct {
GsmRrMessage_template* precondition;
GsmRrMessage_template* implied_template;
} implication_;
dynmatch_struct<GsmRrMessage>* dyn_match;
};

void set_specific();
void copy_value(const GsmRrMessage& other_value);
void copy_template(const GsmRrMessage_template& other_value);

public:
GsmRrMessage_template();
GsmRrMessage_template(template_sel other_value);
GsmRrMessage_template(const GsmRrMessage& other_value);
GsmRrMessage_template(const OPTIONAL<GsmRrMessage>& other_value);
GsmRrMessage_template(GsmRrMessage_template* p_precondition, GsmRrMessage_template* p_implied_template);
GsmRrMessage_template(Dynamic_Match_Interface<GsmRrMessage>* p_dyn_match);
GsmRrMessage_template(const GsmRrMessage_template& other_value);
~GsmRrMessage_template();
GsmRrMessage_template& operator=(template_sel other_value);
GsmRrMessage_template& operator=(const GsmRrMessage& other_value);
GsmRrMessage_template& operator=(const OPTIONAL<GsmRrMessage>& other_value);
GsmRrMessage_template& operator=(const GsmRrMessage_template& other_value);
boolean match(const GsmRrMessage& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GsmRrMessage valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GsmRrMessage_template& list_item(unsigned int list_index) const;
RrHeader_template& header();
const RrHeader_template& header() const;
RrUnion_template& payload();
const RrUnion_template& payload() const;
int size_of() const;
void log() const;
void log_match(const GsmRrMessage& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class PagingResponse : public Base_Type {
  INTEGER field_spare__half__octet;
  INTEGER field_cksn;
  MsClassmark2LV field_cm2;
  MobileL3__CommonIE__Types::MobileIdentityLV field_mi;
  OPTIONAL< INTEGER > field_addl__upd__par;
public:
  PagingResponse();
  PagingResponse(const INTEGER& par_spare__half__octet,
    const INTEGER& par_cksn,
    const MsClassmark2LV& par_cm2,
    const MobileL3__CommonIE__Types::MobileIdentityLV& par_mi,
    const OPTIONAL< INTEGER >& par_addl__upd__par);
  PagingResponse(const PagingResponse& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PagingResponse& operator=(const PagingResponse& other_value);
  boolean operator==(const PagingResponse& other_value) const;
  inline boolean operator!=(const PagingResponse& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& spare__half__octet()
    {return field_spare__half__octet;}
  inline const INTEGER& spare__half__octet() const
    {return field_spare__half__octet;}
  inline INTEGER& cksn()
    {return field_cksn;}
  inline const INTEGER& cksn() const
    {return field_cksn;}
  inline MsClassmark2LV& cm2()
    {return field_cm2;}
  inline const MsClassmark2LV& cm2() const
    {return field_cm2;}
  inline MobileL3__CommonIE__Types::MobileIdentityLV& mi()
    {return field_mi;}
  inline const MobileL3__CommonIE__Types::MobileIdentityLV& mi() const
    {return field_mi;}
  inline OPTIONAL< INTEGER >& addl__upd__par()
    {return field_addl__upd__par;}
  inline const OPTIONAL< INTEGER >& addl__upd__par() const
    {return field_addl__upd__par;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 PagingResponse_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PagingResponse_template *list_value;
} value_list;
struct {
PagingResponse_template* precondition;
PagingResponse_template* implied_template;
} implication_;
dynmatch_struct<PagingResponse>* dyn_match;
};

void set_specific();
void copy_value(const PagingResponse& other_value);
void copy_template(const PagingResponse_template& other_value);

public:
PagingResponse_template();
PagingResponse_template(template_sel other_value);
PagingResponse_template(const PagingResponse& other_value);
PagingResponse_template(const OPTIONAL<PagingResponse>& other_value);
PagingResponse_template(PagingResponse_template* p_precondition, PagingResponse_template* p_implied_template);
PagingResponse_template(Dynamic_Match_Interface<PagingResponse>* p_dyn_match);
PagingResponse_template(const PagingResponse_template& other_value);
~PagingResponse_template();
PagingResponse_template& operator=(template_sel other_value);
PagingResponse_template& operator=(const PagingResponse& other_value);
PagingResponse_template& operator=(const OPTIONAL<PagingResponse>& other_value);
PagingResponse_template& operator=(const PagingResponse_template& other_value);
boolean match(const PagingResponse& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PagingResponse valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PagingResponse_template& list_item(unsigned int list_index) const;
INTEGER_template& spare__half__octet();
const INTEGER_template& spare__half__octet() const;
INTEGER_template& cksn();
const INTEGER_template& cksn() const;
MsClassmark2LV_template& cm2();
const MsClassmark2LV_template& cm2() const;
MobileL3__CommonIE__Types::MobileIdentityLV_template& mi();
const MobileL3__CommonIE__Types::MobileIdentityLV_template& mi() const;
INTEGER_template& addl__upd__par();
const INTEGER_template& addl__upd__par() const;
int size_of() const;
void log() const;
void log_match(const PagingResponse& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class RrL3Union : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_paging__response = 1, ALT_meas__rep = 2, ALT_ass__cmd = 3, ALT_ho__cmd = 4, ALT_talker__ind = 5, ALT_priority__ul__req = 6, ALT_uplink__busy = 7, ALT_uplink__release = 8, ALT_vgcs__ul__grant = 9, ALT_data__ind = 10, ALT_data__ind2 = 11, ALT_other = 12 };
private:
union_selection_type union_selection;
union {
PagingResponse *field_paging__response;
MeasurementReport *field_meas__rep;
AssignmentCommand *field_ass__cmd;
HandoverCommand *field_ho__cmd;
TalkerIndication *field_talker__ind;
PriorityUplinkRequest *field_priority__ul__req;
UplinkBusy *field_uplink__busy;
UplinkRelease *field_uplink__release;
VgcsUplinkGrant *field_vgcs__ul__grant;
DataIndication *field_data__ind;
DataIndication2 *field_data__ind2;
OCTETSTRING *field_other;
};
void copy_value(const RrL3Union& other_value);

public:
RrL3Union();
RrL3Union(const RrL3Union& other_value);
~RrL3Union();
RrL3Union& operator=(const RrL3Union& other_value);
boolean operator==(const RrL3Union& other_value) const;
inline boolean operator!=(const RrL3Union& other_value) const { return !(*this == other_value); }
PagingResponse& paging__response();
const PagingResponse& paging__response() const;
MeasurementReport& meas__rep();
const MeasurementReport& meas__rep() const;
AssignmentCommand& ass__cmd();
const AssignmentCommand& ass__cmd() const;
HandoverCommand& ho__cmd();
const HandoverCommand& ho__cmd() const;
TalkerIndication& talker__ind();
const TalkerIndication& talker__ind() const;
PriorityUplinkRequest& priority__ul__req();
const PriorityUplinkRequest& priority__ul__req() const;
UplinkBusy& uplink__busy();
const UplinkBusy& uplink__busy() const;
UplinkRelease& uplink__release();
const UplinkRelease& uplink__release() const;
VgcsUplinkGrant& vgcs__ul__grant();
const VgcsUplinkGrant& vgcs__ul__grant() const;
DataIndication& data__ind();
const DataIndication& data__ind() const;
DataIndication2& data__ind2();
const DataIndication2& data__ind2() const;
OCTETSTRING& other();
const OCTETSTRING& other() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
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&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 RrL3Union_template : public Base_Template {
union {
struct {
RrL3Union::union_selection_type union_selection;
union {
PagingResponse_template *field_paging__response;
MeasurementReport_template *field_meas__rep;
AssignmentCommand_template *field_ass__cmd;
HandoverCommand_template *field_ho__cmd;
TalkerIndication_template *field_talker__ind;
PriorityUplinkRequest_template *field_priority__ul__req;
UplinkBusy_template *field_uplink__busy;
UplinkRelease_template *field_uplink__release;
VgcsUplinkGrant_template *field_vgcs__ul__grant;
DataIndication_template *field_data__ind;
DataIndication2_template *field_data__ind2;
OCTETSTRING_template *field_other;
};
} single_value;
struct {
unsigned int n_values;
RrL3Union_template *list_value;
} value_list;
struct {
RrL3Union_template* precondition;
RrL3Union_template* implied_template;
} implication_;
dynmatch_struct<RrL3Union>* dyn_match;
};
void copy_value(const RrL3Union& other_value);

void copy_template(const RrL3Union_template& other_value);

public:
RrL3Union_template();
RrL3Union_template(template_sel other_value);
RrL3Union_template(const RrL3Union& other_value);
RrL3Union_template(const OPTIONAL<RrL3Union>& other_value);
RrL3Union_template(RrL3Union_template* p_precondition, RrL3Union_template* p_implied_template);
RrL3Union_template(Dynamic_Match_Interface<RrL3Union>* p_dyn_match);
RrL3Union_template(const RrL3Union_template& other_value);
~RrL3Union_template();
void clean_up();
RrL3Union_template& operator=(template_sel other_value);
RrL3Union_template& operator=(const RrL3Union& other_value);
RrL3Union_template& operator=(const OPTIONAL<RrL3Union>& other_value);
RrL3Union_template& operator=(const RrL3Union_template& other_value);
boolean match(const RrL3Union& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RrL3Union valueof() const;
RrL3Union_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PagingResponse_template& paging__response();
const PagingResponse_template& paging__response() const;
MeasurementReport_template& meas__rep();
const MeasurementReport_template& meas__rep() const;
AssignmentCommand_template& ass__cmd();
const AssignmentCommand_template& ass__cmd() const;
HandoverCommand_template& ho__cmd();
const HandoverCommand_template& ho__cmd() const;
TalkerIndication_template& talker__ind();
const TalkerIndication_template& talker__ind() const;
PriorityUplinkRequest_template& priority__ul__req();
const PriorityUplinkRequest_template& priority__ul__req() const;
UplinkBusy_template& uplink__busy();
const UplinkBusy_template& uplink__busy() const;
UplinkRelease_template& uplink__release();
const UplinkRelease_template& uplink__release() const;
VgcsUplinkGrant_template& vgcs__ul__grant();
const VgcsUplinkGrant_template& vgcs__ul__grant() const;
DataIndication_template& data__ind();
const DataIndication_template& data__ind() const;
DataIndication2_template& data__ind2();
const DataIndication2_template& data__ind2() const;
OCTETSTRING_template& other();
const OCTETSTRING_template& other() const;
boolean ischosen(RrL3Union::union_selection_type checked_selection) const;
void log() const;
void log_match(const RrL3Union& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class GsmRrL3Message : public Base_Type {
  RrL3Header field_header;
  RrL3Union field_payload;
public:
  GsmRrL3Message();
  GsmRrL3Message(const RrL3Header& par_header,
    const RrL3Union& par_payload);
  GsmRrL3Message(const GsmRrL3Message& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  GsmRrL3Message& operator=(const GsmRrL3Message& other_value);
  boolean operator==(const GsmRrL3Message& other_value) const;
  inline boolean operator!=(const GsmRrL3Message& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RrL3Header& header()
    {return field_header;}
  inline const RrL3Header& header() const
    {return field_header;}
  inline RrL3Union& payload()
    {return field_payload;}
  inline const RrL3Union& payload() const
    {return field_payload;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 GsmRrL3Message_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
GsmRrL3Message_template *list_value;
} value_list;
struct {
GsmRrL3Message_template* precondition;
GsmRrL3Message_template* implied_template;
} implication_;
dynmatch_struct<GsmRrL3Message>* dyn_match;
};

void set_specific();
void copy_value(const GsmRrL3Message& other_value);
void copy_template(const GsmRrL3Message_template& other_value);

public:
GsmRrL3Message_template();
GsmRrL3Message_template(template_sel other_value);
GsmRrL3Message_template(const GsmRrL3Message& other_value);
GsmRrL3Message_template(const OPTIONAL<GsmRrL3Message>& other_value);
GsmRrL3Message_template(GsmRrL3Message_template* p_precondition, GsmRrL3Message_template* p_implied_template);
GsmRrL3Message_template(Dynamic_Match_Interface<GsmRrL3Message>* p_dyn_match);
GsmRrL3Message_template(const GsmRrL3Message_template& other_value);
~GsmRrL3Message_template();
GsmRrL3Message_template& operator=(template_sel other_value);
GsmRrL3Message_template& operator=(const GsmRrL3Message& other_value);
GsmRrL3Message_template& operator=(const OPTIONAL<GsmRrL3Message>& other_value);
GsmRrL3Message_template& operator=(const GsmRrL3Message_template& other_value);
boolean match(const GsmRrL3Message& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
GsmRrL3Message valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
GsmRrL3Message_template& list_item(unsigned int list_index) const;
RrL3Header_template& header();
const RrL3Header_template& header() const;
RrL3Union_template& payload();
const RrL3Union_template& payload() const;
int size_of() const;
void log() const;
void log_match(const GsmRrL3Message& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CellSelIndValueEnum : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_gsm = 1, ALT_utran__fdd = 2, ALT_utran__tdd = 3, ALT_eutran = 4 };
private:
union_selection_type union_selection;
union {
CellSelIndValue__GSM__Descrs *field_gsm;
CellSelIndValue__UTRAN__Descrs *field_utran__fdd;
CellSelIndValue__UTRAN__Descrs *field_utran__tdd;
CellSelIndValue__EUTRAN__Descrs *field_eutran;
};
void copy_value(const CellSelIndValueEnum& other_value);

public:
CellSelIndValueEnum();
CellSelIndValueEnum(const CellSelIndValueEnum& other_value);
~CellSelIndValueEnum();
CellSelIndValueEnum& operator=(const CellSelIndValueEnum& other_value);
boolean operator==(const CellSelIndValueEnum& other_value) const;
inline boolean operator!=(const CellSelIndValueEnum& other_value) const { return !(*this == other_value); }
CellSelIndValue__GSM__Descrs& gsm();
const CellSelIndValue__GSM__Descrs& gsm() const;
CellSelIndValue__UTRAN__Descrs& utran__fdd();
const CellSelIndValue__UTRAN__Descrs& utran__fdd() const;
CellSelIndValue__UTRAN__Descrs& utran__tdd();
const CellSelIndValue__UTRAN__Descrs& utran__tdd() const;
CellSelIndValue__EUTRAN__Descrs& eutran();
const CellSelIndValue__EUTRAN__Descrs& eutran() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
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&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValueEnum_template : public Base_Template {
union {
struct {
CellSelIndValueEnum::union_selection_type union_selection;
union {
CellSelIndValue__GSM__Descrs_template *field_gsm;
CellSelIndValue__UTRAN__Descrs_template *field_utran__fdd;
CellSelIndValue__UTRAN__Descrs_template *field_utran__tdd;
CellSelIndValue__EUTRAN__Descrs_template *field_eutran;
};
} single_value;
struct {
unsigned int n_values;
CellSelIndValueEnum_template *list_value;
} value_list;
struct {
CellSelIndValueEnum_template* precondition;
CellSelIndValueEnum_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValueEnum>* dyn_match;
};
void copy_value(const CellSelIndValueEnum& other_value);

void copy_template(const CellSelIndValueEnum_template& other_value);

public:
CellSelIndValueEnum_template();
CellSelIndValueEnum_template(template_sel other_value);
CellSelIndValueEnum_template(const CellSelIndValueEnum& other_value);
CellSelIndValueEnum_template(const OPTIONAL<CellSelIndValueEnum>& other_value);
CellSelIndValueEnum_template(CellSelIndValueEnum_template* p_precondition, CellSelIndValueEnum_template* p_implied_template);
CellSelIndValueEnum_template(Dynamic_Match_Interface<CellSelIndValueEnum>* p_dyn_match);
CellSelIndValueEnum_template(const CellSelIndValueEnum_template& other_value);
~CellSelIndValueEnum_template();
void clean_up();
CellSelIndValueEnum_template& operator=(template_sel other_value);
CellSelIndValueEnum_template& operator=(const CellSelIndValueEnum& other_value);
CellSelIndValueEnum_template& operator=(const OPTIONAL<CellSelIndValueEnum>& other_value);
CellSelIndValueEnum_template& operator=(const CellSelIndValueEnum_template& other_value);
boolean match(const CellSelIndValueEnum& other_value, boolean legacy = FALSE) const;
boolean is_value() const;CellSelIndValueEnum valueof() const;
CellSelIndValueEnum_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__GSM__Descrs_template& gsm();
const CellSelIndValue__GSM__Descrs_template& gsm() const;
CellSelIndValue__UTRAN__Descrs_template& utran__fdd();
const CellSelIndValue__UTRAN__Descrs_template& utran__fdd() const;
CellSelIndValue__UTRAN__Descrs_template& utran__tdd();
const CellSelIndValue__UTRAN__Descrs_template& utran__tdd() const;
CellSelIndValue__EUTRAN__Descrs_template& eutran();
const CellSelIndValue__EUTRAN__Descrs_template& eutran() const;
boolean ischosen(CellSelIndValueEnum::union_selection_type checked_selection) const;
void log() const;
void log_match(const CellSelIndValueEnum& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class CellSelIndValue__GSM__Descrs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
CellSelIndValue__GSM__Descr **value_elements;
} *val_ptr;

static const CellSelIndValue__GSM__Descr UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const CellSelIndValue__GSM__Descrs& other_value);

public:
  typedef CellSelIndValue__GSM__Descr of_type;
CellSelIndValue__GSM__Descrs();
CellSelIndValue__GSM__Descrs(null_type other_value);
CellSelIndValue__GSM__Descrs(const CellSelIndValue__GSM__Descrs& other_value);
~CellSelIndValue__GSM__Descrs();

void clean_up();
CellSelIndValue__GSM__Descrs& operator=(null_type other_value);
CellSelIndValue__GSM__Descrs& operator=(const CellSelIndValue__GSM__Descrs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const CellSelIndValue__GSM__Descrs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const CellSelIndValue__GSM__Descrs& other_value) const { return !(*this == other_value); }

CellSelIndValue__GSM__Descr& operator[](int index_value);
CellSelIndValue__GSM__Descr& operator[](const INTEGER& index_value);
const CellSelIndValue__GSM__Descr& operator[](int index_value) const;
const CellSelIndValue__GSM__Descr& operator[](const INTEGER& index_value) const;

CellSelIndValue__GSM__Descrs operator<<=(int rotate_count) const;
CellSelIndValue__GSM__Descrs operator<<=(const INTEGER& rotate_count) const;
CellSelIndValue__GSM__Descrs operator>>=(int rotate_count) const;
CellSelIndValue__GSM__Descrs operator>>=(const INTEGER& rotate_count) const;

CellSelIndValue__GSM__Descrs operator+(const CellSelIndValue__GSM__Descrs& other_value) const;

CellSelIndValue__GSM__Descrs substr(int index, int returncount) const;

CellSelIndValue__GSM__Descrs replace(int index, int len, const CellSelIndValue__GSM__Descrs& repl) const;

CellSelIndValue__GSM__Descrs replace(int index, int len, const CellSelIndValue__GSM__Descrs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__GSM__Descrs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
CellSelIndValue__GSM__Descr_template **value_elements;
} single_value;
struct {
unsigned int n_values;
CellSelIndValue__GSM__Descrs_template *list_value;
} value_list;
struct {
CellSelIndValue__GSM__Descrs_template* precondition;
CellSelIndValue__GSM__Descrs_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__GSM__Descrs>* dyn_match;
};
void copy_value(const CellSelIndValue__GSM__Descrs& other_value);
void copy_template(const CellSelIndValue__GSM__Descrs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
CellSelIndValue__GSM__Descrs_template();
CellSelIndValue__GSM__Descrs_template(template_sel other_value);
CellSelIndValue__GSM__Descrs_template(null_type other_value);
CellSelIndValue__GSM__Descrs_template(const CellSelIndValue__GSM__Descrs& other_value);
CellSelIndValue__GSM__Descrs_template(const OPTIONAL<CellSelIndValue__GSM__Descrs>& other_value);
CellSelIndValue__GSM__Descrs_template(CellSelIndValue__GSM__Descrs_template* p_precondition, CellSelIndValue__GSM__Descrs_template* p_implied_template);
CellSelIndValue__GSM__Descrs_template(Dynamic_Match_Interface<CellSelIndValue__GSM__Descrs>* p_dyn_match);
CellSelIndValue__GSM__Descrs_template(const CellSelIndValue__GSM__Descrs_template& other_value);
~CellSelIndValue__GSM__Descrs_template();

void clean_up();
CellSelIndValue__GSM__Descrs_template& operator=(template_sel other_value);
CellSelIndValue__GSM__Descrs_template& operator=(null_type other_value);
CellSelIndValue__GSM__Descrs_template& operator=(const CellSelIndValue__GSM__Descrs& other_value);
CellSelIndValue__GSM__Descrs_template& operator=(const OPTIONAL<CellSelIndValue__GSM__Descrs>& other_value);
CellSelIndValue__GSM__Descrs_template& operator=(const CellSelIndValue__GSM__Descrs_template& other_value);

CellSelIndValue__GSM__Descr_template& operator[](int index_value);
CellSelIndValue__GSM__Descr_template& operator[](const INTEGER& index_value);
const CellSelIndValue__GSM__Descr_template& operator[](int index_value) const;
const CellSelIndValue__GSM__Descr_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const CellSelIndValue__GSM__Descrs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
CellSelIndValue__GSM__Descrs valueof() const;
CellSelIndValue__GSM__Descrs substr(int index, int returncount) const;

CellSelIndValue__GSM__Descrs replace(int index, int len, const CellSelIndValue__GSM__Descrs_template& repl) const;

CellSelIndValue__GSM__Descrs replace(int index, int len, const CellSelIndValue__GSM__Descrs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__GSM__Descrs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CellSelIndValue__GSM__Descrs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class CellSelIndValue__GSM__Descr : public Base_Type {
  BITSTRING field_item__ind;
  BITSTRING field_band__indicator;
  INTEGER field_arfcn;
  INTEGER field_bsic;
public:
  CellSelIndValue__GSM__Descr();
  CellSelIndValue__GSM__Descr(const BITSTRING& par_item__ind,
    const BITSTRING& par_band__indicator,
    const INTEGER& par_arfcn,
    const INTEGER& par_bsic);
  CellSelIndValue__GSM__Descr(const CellSelIndValue__GSM__Descr& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellSelIndValue__GSM__Descr& operator=(const CellSelIndValue__GSM__Descr& other_value);
  boolean operator==(const CellSelIndValue__GSM__Descr& other_value) const;
  inline boolean operator!=(const CellSelIndValue__GSM__Descr& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& item__ind()
    {return field_item__ind;}
  inline const BITSTRING& item__ind() const
    {return field_item__ind;}
  inline BITSTRING& band__indicator()
    {return field_band__indicator;}
  inline const BITSTRING& band__indicator() const
    {return field_band__indicator;}
  inline INTEGER& arfcn()
    {return field_arfcn;}
  inline const INTEGER& arfcn() const
    {return field_arfcn;}
  inline INTEGER& bsic()
    {return field_bsic;}
  inline const INTEGER& bsic() const
    {return field_bsic;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__GSM__Descr_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellSelIndValue__GSM__Descr_template *list_value;
} value_list;
struct {
CellSelIndValue__GSM__Descr_template* precondition;
CellSelIndValue__GSM__Descr_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__GSM__Descr>* dyn_match;
};

void set_specific();
void copy_value(const CellSelIndValue__GSM__Descr& other_value);
void copy_template(const CellSelIndValue__GSM__Descr_template& other_value);

public:
CellSelIndValue__GSM__Descr_template();
CellSelIndValue__GSM__Descr_template(template_sel other_value);
CellSelIndValue__GSM__Descr_template(const CellSelIndValue__GSM__Descr& other_value);
CellSelIndValue__GSM__Descr_template(const OPTIONAL<CellSelIndValue__GSM__Descr>& other_value);
CellSelIndValue__GSM__Descr_template(CellSelIndValue__GSM__Descr_template* p_precondition, CellSelIndValue__GSM__Descr_template* p_implied_template);
CellSelIndValue__GSM__Descr_template(Dynamic_Match_Interface<CellSelIndValue__GSM__Descr>* p_dyn_match);
CellSelIndValue__GSM__Descr_template(const CellSelIndValue__GSM__Descr_template& other_value);
~CellSelIndValue__GSM__Descr_template();
CellSelIndValue__GSM__Descr_template& operator=(template_sel other_value);
CellSelIndValue__GSM__Descr_template& operator=(const CellSelIndValue__GSM__Descr& other_value);
CellSelIndValue__GSM__Descr_template& operator=(const OPTIONAL<CellSelIndValue__GSM__Descr>& other_value);
CellSelIndValue__GSM__Descr_template& operator=(const CellSelIndValue__GSM__Descr_template& other_value);
boolean match(const CellSelIndValue__GSM__Descr& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellSelIndValue__GSM__Descr valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__GSM__Descr_template& list_item(unsigned int list_index) const;
BITSTRING_template& item__ind();
const BITSTRING_template& item__ind() const;
BITSTRING_template& band__indicator();
const BITSTRING_template& band__indicator() const;
INTEGER_template& arfcn();
const INTEGER_template& arfcn() const;
INTEGER_template& bsic();
const INTEGER_template& bsic() const;
int size_of() const;
void log() const;
void log_match(const CellSelIndValue__GSM__Descr& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CellSelIndValue__UTRAN__Descrs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
CellSelIndValue__UTRAN__Descr **value_elements;
} *val_ptr;

static const CellSelIndValue__UTRAN__Descr UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const CellSelIndValue__UTRAN__Descrs& other_value);

public:
  typedef CellSelIndValue__UTRAN__Descr of_type;
CellSelIndValue__UTRAN__Descrs();
CellSelIndValue__UTRAN__Descrs(null_type other_value);
CellSelIndValue__UTRAN__Descrs(const CellSelIndValue__UTRAN__Descrs& other_value);
~CellSelIndValue__UTRAN__Descrs();

void clean_up();
CellSelIndValue__UTRAN__Descrs& operator=(null_type other_value);
CellSelIndValue__UTRAN__Descrs& operator=(const CellSelIndValue__UTRAN__Descrs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const CellSelIndValue__UTRAN__Descrs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const CellSelIndValue__UTRAN__Descrs& other_value) const { return !(*this == other_value); }

CellSelIndValue__UTRAN__Descr& operator[](int index_value);
CellSelIndValue__UTRAN__Descr& operator[](const INTEGER& index_value);
const CellSelIndValue__UTRAN__Descr& operator[](int index_value) const;
const CellSelIndValue__UTRAN__Descr& operator[](const INTEGER& index_value) const;

CellSelIndValue__UTRAN__Descrs operator<<=(int rotate_count) const;
CellSelIndValue__UTRAN__Descrs operator<<=(const INTEGER& rotate_count) const;
CellSelIndValue__UTRAN__Descrs operator>>=(int rotate_count) const;
CellSelIndValue__UTRAN__Descrs operator>>=(const INTEGER& rotate_count) const;

CellSelIndValue__UTRAN__Descrs operator+(const CellSelIndValue__UTRAN__Descrs& other_value) const;

CellSelIndValue__UTRAN__Descrs substr(int index, int returncount) const;

CellSelIndValue__UTRAN__Descrs replace(int index, int len, const CellSelIndValue__UTRAN__Descrs& repl) const;

CellSelIndValue__UTRAN__Descrs replace(int index, int len, const CellSelIndValue__UTRAN__Descrs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__UTRAN__Descrs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
CellSelIndValue__UTRAN__Descr_template **value_elements;
} single_value;
struct {
unsigned int n_values;
CellSelIndValue__UTRAN__Descrs_template *list_value;
} value_list;
struct {
CellSelIndValue__UTRAN__Descrs_template* precondition;
CellSelIndValue__UTRAN__Descrs_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__UTRAN__Descrs>* dyn_match;
};
void copy_value(const CellSelIndValue__UTRAN__Descrs& other_value);
void copy_template(const CellSelIndValue__UTRAN__Descrs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
CellSelIndValue__UTRAN__Descrs_template();
CellSelIndValue__UTRAN__Descrs_template(template_sel other_value);
CellSelIndValue__UTRAN__Descrs_template(null_type other_value);
CellSelIndValue__UTRAN__Descrs_template(const CellSelIndValue__UTRAN__Descrs& other_value);
CellSelIndValue__UTRAN__Descrs_template(const OPTIONAL<CellSelIndValue__UTRAN__Descrs>& other_value);
CellSelIndValue__UTRAN__Descrs_template(CellSelIndValue__UTRAN__Descrs_template* p_precondition, CellSelIndValue__UTRAN__Descrs_template* p_implied_template);
CellSelIndValue__UTRAN__Descrs_template(Dynamic_Match_Interface<CellSelIndValue__UTRAN__Descrs>* p_dyn_match);
CellSelIndValue__UTRAN__Descrs_template(const CellSelIndValue__UTRAN__Descrs_template& other_value);
~CellSelIndValue__UTRAN__Descrs_template();

void clean_up();
CellSelIndValue__UTRAN__Descrs_template& operator=(template_sel other_value);
CellSelIndValue__UTRAN__Descrs_template& operator=(null_type other_value);
CellSelIndValue__UTRAN__Descrs_template& operator=(const CellSelIndValue__UTRAN__Descrs& other_value);
CellSelIndValue__UTRAN__Descrs_template& operator=(const OPTIONAL<CellSelIndValue__UTRAN__Descrs>& other_value);
CellSelIndValue__UTRAN__Descrs_template& operator=(const CellSelIndValue__UTRAN__Descrs_template& other_value);

CellSelIndValue__UTRAN__Descr_template& operator[](int index_value);
CellSelIndValue__UTRAN__Descr_template& operator[](const INTEGER& index_value);
const CellSelIndValue__UTRAN__Descr_template& operator[](int index_value) const;
const CellSelIndValue__UTRAN__Descr_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const CellSelIndValue__UTRAN__Descrs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
CellSelIndValue__UTRAN__Descrs valueof() const;
CellSelIndValue__UTRAN__Descrs substr(int index, int returncount) const;

CellSelIndValue__UTRAN__Descrs replace(int index, int len, const CellSelIndValue__UTRAN__Descrs_template& repl) const;

CellSelIndValue__UTRAN__Descrs replace(int index, int len, const CellSelIndValue__UTRAN__Descrs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__UTRAN__Descrs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CellSelIndValue__UTRAN__Descrs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class CellSelIndValue__UTRAN__Descr : public Base_Type {
  BITSTRING field_item__ind;
  BITSTRING field_bandwidth__presence;
  OPTIONAL< INTEGER > field_bandwidth;
  INTEGER field_arfcn;
  BITSTRING field_cell__info__presence;
  OPTIONAL< UTRAN__CellInfo > field_cell__info;
public:
  CellSelIndValue__UTRAN__Descr();
  CellSelIndValue__UTRAN__Descr(const BITSTRING& par_item__ind,
    const BITSTRING& par_bandwidth__presence,
    const OPTIONAL< INTEGER >& par_bandwidth,
    const INTEGER& par_arfcn,
    const BITSTRING& par_cell__info__presence,
    const OPTIONAL< UTRAN__CellInfo >& par_cell__info);
  CellSelIndValue__UTRAN__Descr(const CellSelIndValue__UTRAN__Descr& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellSelIndValue__UTRAN__Descr& operator=(const CellSelIndValue__UTRAN__Descr& other_value);
  boolean operator==(const CellSelIndValue__UTRAN__Descr& other_value) const;
  inline boolean operator!=(const CellSelIndValue__UTRAN__Descr& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& item__ind()
    {return field_item__ind;}
  inline const BITSTRING& item__ind() const
    {return field_item__ind;}
  inline BITSTRING& bandwidth__presence()
    {return field_bandwidth__presence;}
  inline const BITSTRING& bandwidth__presence() const
    {return field_bandwidth__presence;}
  inline OPTIONAL< INTEGER >& bandwidth()
    {return field_bandwidth;}
  inline const OPTIONAL< INTEGER >& bandwidth() const
    {return field_bandwidth;}
  inline INTEGER& arfcn()
    {return field_arfcn;}
  inline const INTEGER& arfcn() const
    {return field_arfcn;}
  inline BITSTRING& cell__info__presence()
    {return field_cell__info__presence;}
  inline const BITSTRING& cell__info__presence() const
    {return field_cell__info__presence;}
  inline OPTIONAL< UTRAN__CellInfo >& cell__info()
    {return field_cell__info;}
  inline const OPTIONAL< UTRAN__CellInfo >& cell__info() const
    {return field_cell__info;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__UTRAN__Descr_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellSelIndValue__UTRAN__Descr_template *list_value;
} value_list;
struct {
CellSelIndValue__UTRAN__Descr_template* precondition;
CellSelIndValue__UTRAN__Descr_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__UTRAN__Descr>* dyn_match;
};

void set_specific();
void copy_value(const CellSelIndValue__UTRAN__Descr& other_value);
void copy_template(const CellSelIndValue__UTRAN__Descr_template& other_value);

public:
CellSelIndValue__UTRAN__Descr_template();
CellSelIndValue__UTRAN__Descr_template(template_sel other_value);
CellSelIndValue__UTRAN__Descr_template(const CellSelIndValue__UTRAN__Descr& other_value);
CellSelIndValue__UTRAN__Descr_template(const OPTIONAL<CellSelIndValue__UTRAN__Descr>& other_value);
CellSelIndValue__UTRAN__Descr_template(CellSelIndValue__UTRAN__Descr_template* p_precondition, CellSelIndValue__UTRAN__Descr_template* p_implied_template);
CellSelIndValue__UTRAN__Descr_template(Dynamic_Match_Interface<CellSelIndValue__UTRAN__Descr>* p_dyn_match);
CellSelIndValue__UTRAN__Descr_template(const CellSelIndValue__UTRAN__Descr_template& other_value);
~CellSelIndValue__UTRAN__Descr_template();
CellSelIndValue__UTRAN__Descr_template& operator=(template_sel other_value);
CellSelIndValue__UTRAN__Descr_template& operator=(const CellSelIndValue__UTRAN__Descr& other_value);
CellSelIndValue__UTRAN__Descr_template& operator=(const OPTIONAL<CellSelIndValue__UTRAN__Descr>& other_value);
CellSelIndValue__UTRAN__Descr_template& operator=(const CellSelIndValue__UTRAN__Descr_template& other_value);
boolean match(const CellSelIndValue__UTRAN__Descr& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellSelIndValue__UTRAN__Descr valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__UTRAN__Descr_template& list_item(unsigned int list_index) const;
BITSTRING_template& item__ind();
const BITSTRING_template& item__ind() const;
BITSTRING_template& bandwidth__presence();
const BITSTRING_template& bandwidth__presence() const;
INTEGER_template& bandwidth();
const INTEGER_template& bandwidth() const;
INTEGER_template& arfcn();
const INTEGER_template& arfcn() const;
BITSTRING_template& cell__info__presence();
const BITSTRING_template& cell__info__presence() const;
UTRAN__CellInfo_template& cell__info();
const UTRAN__CellInfo_template& cell__info() const;
int size_of() const;
void log() const;
void log_match(const CellSelIndValue__UTRAN__Descr& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class UTRAN__CellInfo : public Base_Type {
  BITSTRING field_indic0;
  INTEGER field_nr__of__cells;
  OCTETSTRING field_cell__information__field;
public:
  UTRAN__CellInfo();
  UTRAN__CellInfo(const BITSTRING& par_indic0,
    const INTEGER& par_nr__of__cells,
    const OCTETSTRING& par_cell__information__field);
  UTRAN__CellInfo(const UTRAN__CellInfo& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  UTRAN__CellInfo& operator=(const UTRAN__CellInfo& other_value);
  boolean operator==(const UTRAN__CellInfo& other_value) const;
  inline boolean operator!=(const UTRAN__CellInfo& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& indic0()
    {return field_indic0;}
  inline const BITSTRING& indic0() const
    {return field_indic0;}
  inline INTEGER& nr__of__cells()
    {return field_nr__of__cells;}
  inline const INTEGER& nr__of__cells() const
    {return field_nr__of__cells;}
  inline OCTETSTRING& cell__information__field()
    {return field_cell__information__field;}
  inline const OCTETSTRING& cell__information__field() const
    {return field_cell__information__field;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 UTRAN__CellInfo_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
UTRAN__CellInfo_template *list_value;
} value_list;
struct {
UTRAN__CellInfo_template* precondition;
UTRAN__CellInfo_template* implied_template;
} implication_;
dynmatch_struct<UTRAN__CellInfo>* dyn_match;
};

void set_specific();
void copy_value(const UTRAN__CellInfo& other_value);
void copy_template(const UTRAN__CellInfo_template& other_value);

public:
UTRAN__CellInfo_template();
UTRAN__CellInfo_template(template_sel other_value);
UTRAN__CellInfo_template(const UTRAN__CellInfo& other_value);
UTRAN__CellInfo_template(const OPTIONAL<UTRAN__CellInfo>& other_value);
UTRAN__CellInfo_template(UTRAN__CellInfo_template* p_precondition, UTRAN__CellInfo_template* p_implied_template);
UTRAN__CellInfo_template(Dynamic_Match_Interface<UTRAN__CellInfo>* p_dyn_match);
UTRAN__CellInfo_template(const UTRAN__CellInfo_template& other_value);
~UTRAN__CellInfo_template();
UTRAN__CellInfo_template& operator=(template_sel other_value);
UTRAN__CellInfo_template& operator=(const UTRAN__CellInfo& other_value);
UTRAN__CellInfo_template& operator=(const OPTIONAL<UTRAN__CellInfo>& other_value);
UTRAN__CellInfo_template& operator=(const UTRAN__CellInfo_template& other_value);
boolean match(const UTRAN__CellInfo& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
UTRAN__CellInfo valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
UTRAN__CellInfo_template& list_item(unsigned int list_index) const;
BITSTRING_template& indic0();
const BITSTRING_template& indic0() const;
INTEGER_template& nr__of__cells();
const INTEGER_template& nr__of__cells() const;
OCTETSTRING_template& cell__information__field();
const OCTETSTRING_template& cell__information__field() const;
int size_of() const;
void log() const;
void log_match(const UTRAN__CellInfo& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CellSelIndValue__EUTRAN__Descrs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
CellSelIndValue__EUTRAN__Descr **value_elements;
} *val_ptr;

static const CellSelIndValue__EUTRAN__Descr UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const CellSelIndValue__EUTRAN__Descrs& other_value);

public:
  typedef CellSelIndValue__EUTRAN__Descr of_type;
CellSelIndValue__EUTRAN__Descrs();
CellSelIndValue__EUTRAN__Descrs(null_type other_value);
CellSelIndValue__EUTRAN__Descrs(const CellSelIndValue__EUTRAN__Descrs& other_value);
~CellSelIndValue__EUTRAN__Descrs();

void clean_up();
CellSelIndValue__EUTRAN__Descrs& operator=(null_type other_value);
CellSelIndValue__EUTRAN__Descrs& operator=(const CellSelIndValue__EUTRAN__Descrs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const CellSelIndValue__EUTRAN__Descrs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const CellSelIndValue__EUTRAN__Descrs& other_value) const { return !(*this == other_value); }

CellSelIndValue__EUTRAN__Descr& operator[](int index_value);
CellSelIndValue__EUTRAN__Descr& operator[](const INTEGER& index_value);
const CellSelIndValue__EUTRAN__Descr& operator[](int index_value) const;
const CellSelIndValue__EUTRAN__Descr& operator[](const INTEGER& index_value) const;

CellSelIndValue__EUTRAN__Descrs operator<<=(int rotate_count) const;
CellSelIndValue__EUTRAN__Descrs operator<<=(const INTEGER& rotate_count) const;
CellSelIndValue__EUTRAN__Descrs operator>>=(int rotate_count) const;
CellSelIndValue__EUTRAN__Descrs operator>>=(const INTEGER& rotate_count) const;

CellSelIndValue__EUTRAN__Descrs operator+(const CellSelIndValue__EUTRAN__Descrs& other_value) const;

CellSelIndValue__EUTRAN__Descrs substr(int index, int returncount) const;

CellSelIndValue__EUTRAN__Descrs replace(int index, int len, const CellSelIndValue__EUTRAN__Descrs& repl) const;

CellSelIndValue__EUTRAN__Descrs replace(int index, int len, const CellSelIndValue__EUTRAN__Descrs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__EUTRAN__Descrs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
CellSelIndValue__EUTRAN__Descr_template **value_elements;
} single_value;
struct {
unsigned int n_values;
CellSelIndValue__EUTRAN__Descrs_template *list_value;
} value_list;
struct {
CellSelIndValue__EUTRAN__Descrs_template* precondition;
CellSelIndValue__EUTRAN__Descrs_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__EUTRAN__Descrs>* dyn_match;
};
void copy_value(const CellSelIndValue__EUTRAN__Descrs& other_value);
void copy_template(const CellSelIndValue__EUTRAN__Descrs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
CellSelIndValue__EUTRAN__Descrs_template();
CellSelIndValue__EUTRAN__Descrs_template(template_sel other_value);
CellSelIndValue__EUTRAN__Descrs_template(null_type other_value);
CellSelIndValue__EUTRAN__Descrs_template(const CellSelIndValue__EUTRAN__Descrs& other_value);
CellSelIndValue__EUTRAN__Descrs_template(const OPTIONAL<CellSelIndValue__EUTRAN__Descrs>& other_value);
CellSelIndValue__EUTRAN__Descrs_template(CellSelIndValue__EUTRAN__Descrs_template* p_precondition, CellSelIndValue__EUTRAN__Descrs_template* p_implied_template);
CellSelIndValue__EUTRAN__Descrs_template(Dynamic_Match_Interface<CellSelIndValue__EUTRAN__Descrs>* p_dyn_match);
CellSelIndValue__EUTRAN__Descrs_template(const CellSelIndValue__EUTRAN__Descrs_template& other_value);
~CellSelIndValue__EUTRAN__Descrs_template();

void clean_up();
CellSelIndValue__EUTRAN__Descrs_template& operator=(template_sel other_value);
CellSelIndValue__EUTRAN__Descrs_template& operator=(null_type other_value);
CellSelIndValue__EUTRAN__Descrs_template& operator=(const CellSelIndValue__EUTRAN__Descrs& other_value);
CellSelIndValue__EUTRAN__Descrs_template& operator=(const OPTIONAL<CellSelIndValue__EUTRAN__Descrs>& other_value);
CellSelIndValue__EUTRAN__Descrs_template& operator=(const CellSelIndValue__EUTRAN__Descrs_template& other_value);

CellSelIndValue__EUTRAN__Descr_template& operator[](int index_value);
CellSelIndValue__EUTRAN__Descr_template& operator[](const INTEGER& index_value);
const CellSelIndValue__EUTRAN__Descr_template& operator[](int index_value) const;
const CellSelIndValue__EUTRAN__Descr_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const CellSelIndValue__EUTRAN__Descrs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
CellSelIndValue__EUTRAN__Descrs valueof() const;
CellSelIndValue__EUTRAN__Descrs substr(int index, int returncount) const;

CellSelIndValue__EUTRAN__Descrs replace(int index, int len, const CellSelIndValue__EUTRAN__Descrs_template& repl) const;

CellSelIndValue__EUTRAN__Descrs replace(int index, int len, const CellSelIndValue__EUTRAN__Descrs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__EUTRAN__Descrs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const CellSelIndValue__EUTRAN__Descrs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class CellSelIndValue__EUTRAN__Descr : public Base_Type {
  BITSTRING field_item__ind;
  INTEGER field_earfcn;
  BITSTRING field_meas__bw__presence;
  OPTIONAL< INTEGER > field_meas__bw;
  BITSTRING field_not__allowed__cells__presence;
  OPTIONAL< OCTETSTRING > field_not__allowed__cells;
  BITSTRING field_target__pcid__presence;
  OPTIONAL< INTEGER > field_target__pcid;
public:
  CellSelIndValue__EUTRAN__Descr();
  CellSelIndValue__EUTRAN__Descr(const BITSTRING& par_item__ind,
    const INTEGER& par_earfcn,
    const BITSTRING& par_meas__bw__presence,
    const OPTIONAL< INTEGER >& par_meas__bw,
    const BITSTRING& par_not__allowed__cells__presence,
    const OPTIONAL< OCTETSTRING >& par_not__allowed__cells,
    const BITSTRING& par_target__pcid__presence,
    const OPTIONAL< INTEGER >& par_target__pcid);
  CellSelIndValue__EUTRAN__Descr(const CellSelIndValue__EUTRAN__Descr& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellSelIndValue__EUTRAN__Descr& operator=(const CellSelIndValue__EUTRAN__Descr& other_value);
  boolean operator==(const CellSelIndValue__EUTRAN__Descr& other_value) const;
  inline boolean operator!=(const CellSelIndValue__EUTRAN__Descr& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& item__ind()
    {return field_item__ind;}
  inline const BITSTRING& item__ind() const
    {return field_item__ind;}
  inline INTEGER& earfcn()
    {return field_earfcn;}
  inline const INTEGER& earfcn() const
    {return field_earfcn;}
  inline BITSTRING& meas__bw__presence()
    {return field_meas__bw__presence;}
  inline const BITSTRING& meas__bw__presence() const
    {return field_meas__bw__presence;}
  inline OPTIONAL< INTEGER >& meas__bw()
    {return field_meas__bw;}
  inline const OPTIONAL< INTEGER >& meas__bw() const
    {return field_meas__bw;}
  inline BITSTRING& not__allowed__cells__presence()
    {return field_not__allowed__cells__presence;}
  inline const BITSTRING& not__allowed__cells__presence() const
    {return field_not__allowed__cells__presence;}
  inline OPTIONAL< OCTETSTRING >& not__allowed__cells()
    {return field_not__allowed__cells;}
  inline const OPTIONAL< OCTETSTRING >& not__allowed__cells() const
    {return field_not__allowed__cells;}
  inline BITSTRING& target__pcid__presence()
    {return field_target__pcid__presence;}
  inline const BITSTRING& target__pcid__presence() const
    {return field_target__pcid__presence;}
  inline OPTIONAL< INTEGER >& target__pcid()
    {return field_target__pcid;}
  inline const OPTIONAL< INTEGER >& target__pcid() const
    {return field_target__pcid;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue__EUTRAN__Descr_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellSelIndValue__EUTRAN__Descr_template *list_value;
} value_list;
struct {
CellSelIndValue__EUTRAN__Descr_template* precondition;
CellSelIndValue__EUTRAN__Descr_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue__EUTRAN__Descr>* dyn_match;
};

void set_specific();
void copy_value(const CellSelIndValue__EUTRAN__Descr& other_value);
void copy_template(const CellSelIndValue__EUTRAN__Descr_template& other_value);

public:
CellSelIndValue__EUTRAN__Descr_template();
CellSelIndValue__EUTRAN__Descr_template(template_sel other_value);
CellSelIndValue__EUTRAN__Descr_template(const CellSelIndValue__EUTRAN__Descr& other_value);
CellSelIndValue__EUTRAN__Descr_template(const OPTIONAL<CellSelIndValue__EUTRAN__Descr>& other_value);
CellSelIndValue__EUTRAN__Descr_template(CellSelIndValue__EUTRAN__Descr_template* p_precondition, CellSelIndValue__EUTRAN__Descr_template* p_implied_template);
CellSelIndValue__EUTRAN__Descr_template(Dynamic_Match_Interface<CellSelIndValue__EUTRAN__Descr>* p_dyn_match);
CellSelIndValue__EUTRAN__Descr_template(const CellSelIndValue__EUTRAN__Descr_template& other_value);
~CellSelIndValue__EUTRAN__Descr_template();
CellSelIndValue__EUTRAN__Descr_template& operator=(template_sel other_value);
CellSelIndValue__EUTRAN__Descr_template& operator=(const CellSelIndValue__EUTRAN__Descr& other_value);
CellSelIndValue__EUTRAN__Descr_template& operator=(const OPTIONAL<CellSelIndValue__EUTRAN__Descr>& other_value);
CellSelIndValue__EUTRAN__Descr_template& operator=(const CellSelIndValue__EUTRAN__Descr_template& other_value);
boolean match(const CellSelIndValue__EUTRAN__Descr& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellSelIndValue__EUTRAN__Descr valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue__EUTRAN__Descr_template& list_item(unsigned int list_index) const;
BITSTRING_template& item__ind();
const BITSTRING_template& item__ind() const;
INTEGER_template& earfcn();
const INTEGER_template& earfcn() const;
BITSTRING_template& meas__bw__presence();
const BITSTRING_template& meas__bw__presence() const;
INTEGER_template& meas__bw();
const INTEGER_template& meas__bw() const;
BITSTRING_template& not__allowed__cells__presence();
const BITSTRING_template& not__allowed__cells__presence() const;
OCTETSTRING_template& not__allowed__cells();
const OCTETSTRING_template& not__allowed__cells() const;
BITSTRING_template& target__pcid__presence();
const BITSTRING_template& target__pcid__presence() const;
INTEGER_template& target__pcid();
const INTEGER_template& target__pcid() const;
int size_of() const;
void log() const;
void log_match(const CellSelIndValue__EUTRAN__Descr& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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;
};

class CellSelIndValue : public Base_Type {
  BITSTRING field_discr;
  CellSelIndValueEnum field_value__list;
  BITSTRING field_value__list__term;
public:
  CellSelIndValue();
  CellSelIndValue(const BITSTRING& par_discr,
    const CellSelIndValueEnum& par_value__list,
    const BITSTRING& par_value__list__term);
  CellSelIndValue(const CellSelIndValue& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  CellSelIndValue& operator=(const CellSelIndValue& other_value);
  boolean operator==(const CellSelIndValue& other_value) const;
  inline boolean operator!=(const CellSelIndValue& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& discr()
    {return field_discr;}
  inline const BITSTRING& discr() const
    {return field_discr;}
  inline CellSelIndValueEnum& value__list()
    {return field_value__list;}
  inline const CellSelIndValueEnum& value__list() const
    {return field_value__list;}
  inline BITSTRING& value__list__term()
    {return field_value__list__term;}
  inline const BITSTRING& value__list__term() const
    {return field_value__list__term;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
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 CellSelIndValue_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
CellSelIndValue_template *list_value;
} value_list;
struct {
CellSelIndValue_template* precondition;
CellSelIndValue_template* implied_template;
} implication_;
dynmatch_struct<CellSelIndValue>* dyn_match;
};

void set_specific();
void copy_value(const CellSelIndValue& other_value);
void copy_template(const CellSelIndValue_template& other_value);

public:
CellSelIndValue_template();
CellSelIndValue_template(template_sel other_value);
CellSelIndValue_template(const CellSelIndValue& other_value);
CellSelIndValue_template(const OPTIONAL<CellSelIndValue>& other_value);
CellSelIndValue_template(CellSelIndValue_template* p_precondition, CellSelIndValue_template* p_implied_template);
CellSelIndValue_template(Dynamic_Match_Interface<CellSelIndValue>* p_dyn_match);
CellSelIndValue_template(const CellSelIndValue_template& other_value);
~CellSelIndValue_template();
CellSelIndValue_template& operator=(template_sel other_value);
CellSelIndValue_template& operator=(const CellSelIndValue& other_value);
CellSelIndValue_template& operator=(const OPTIONAL<CellSelIndValue>& other_value);
CellSelIndValue_template& operator=(const CellSelIndValue_template& other_value);
boolean match(const CellSelIndValue& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
CellSelIndValue valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
CellSelIndValue_template& list_item(unsigned int list_index) const;
BITSTRING_template& discr();
const BITSTRING_template& discr() const;
CellSelIndValueEnum_template& value__list();
const CellSelIndValueEnum_template& value__list() const;
BITSTRING_template& value__list__term();
const BITSTRING_template& value__list__term() const;
int size_of() const;
void log() const;
void log_match(const CellSelIndValue& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
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 RrMessageType_encoder(const RrMessageType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrMessageType_decoder(OCTETSTRING& input_stream, RrMessageType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrShortDisc_encoder(const RrShortDisc& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrShortDisc_decoder(OCTETSTRING& input_stream, RrShortDisc& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RR__Cause_encoder(const RR__Cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RR__Cause_decoder(OCTETSTRING& input_stream, RR__Cause& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RestOctets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RestOctets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L2PseudoLength_l2__plen_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L2PseudoLength_l2__plen_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L2PseudoLength_zero__one_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L2PseudoLength_zero__one_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void L2PseudoLength_encoder(const L2PseudoLength& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER L2PseudoLength_decoder(OCTETSTRING& input_stream, L2PseudoLength& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern L2PseudoLength_template tr__L2Pseudolength(const INTEGER_template& len);
extern L2PseudoLength_template ts__L2Pseudolength(const INTEGER& len);
extern void RrHeader_l2__plen_encoder(const L2PseudoLength& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrHeader_l2__plen_decoder(OCTETSTRING& input_stream, L2PseudoLength& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrHeader_skip__indicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrHeader_skip__indicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrHeader_rr__protocol__discriminator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrHeader_rr__protocol__discriminator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrHeader_message__type_encoder(const RrMessageType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrHeader_message__type_decoder(OCTETSTRING& input_stream, RrMessageType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrHeader_encoder(const RrHeader& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrHeader_decoder(OCTETSTRING& input_stream, RrHeader& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern RrHeader_template t__RrHeader(const RrMessageType& msg__type, const INTEGER_template& len);
extern RrHeader_template ts__RrHeader(const RrMessageType& msg__type, const INTEGER& len);
extern void RrL3Header_skip__indicator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Header_skip__indicator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Header_rr__protocol__discriminator_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Header_rr__protocol__discriminator_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Header_message__type_encoder(const RrMessageType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Header_message__type_decoder(OCTETSTRING& input_stream, RrMessageType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Header_encoder(const RrL3Header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Header_decoder(OCTETSTRING& input_stream, RrL3Header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern RrL3Header_template t__RrL3Header(const RrMessageType& msg__type);
extern void SacchL1Header_reserved_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SacchL1Header_reserved_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SacchL1Header_fpc_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SacchL1Header_fpc_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SacchL1Header_ms__power__lvl_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SacchL1Header_ms__power__lvl_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SacchL1Header_actual__ta_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SacchL1Header_actual__ta_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void SacchL1Header_encoder(const SacchL1Header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER SacchL1Header_decoder(OCTETSTRING& input_stream, SacchL1Header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern OCTETSTRING enc__SacchL1Header(const SacchL1Header& hdr);
extern SacchL1Header dec__SacchL1Header(const OCTETSTRING& stream);
extern SacchL1Header_template ts__SacchL1Header(const INTEGER& ms__power__lvl, const INTEGER& actual__ta, const BOOLEAN& fpc);
extern void MaioHsn_maio_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MaioHsn_maio_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MaioHsn_hsn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MaioHsn_hsn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MaioHsn_encoder(const MaioHsn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MaioHsn_decoder(OCTETSTRING& input_stream, MaioHsn& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern MaioHsn_template ts__HsnMaio(const INTEGER_template& hsn, const INTEGER_template& maio);
extern MaioHsn_template tr__HsnMaio(const INTEGER_template& hsn, const INTEGER_template& maio);
extern void CipheringKeySeqNr_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringKeySeqNr_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileIdentityType_encoder(const MobileIdentityType& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileIdentityType_decoder(OCTETSTRING& input_stream, MobileIdentityType& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_rev__level_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_rev__level_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_es__ind_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_es__ind_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_a51_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_a51_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_rf__pwr__cap_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_rf__pwr__cap_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark1_encoder(const MsClassmark1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark1_decoder(OCTETSTRING& input_stream, MsClassmark1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_rev__level_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_rev__level_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_es__ind_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_es__ind_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_a51_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_a51_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_rf__pwr__cap_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_rf__pwr__cap_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_spare1_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_spare1_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_ps__cap_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_ps__cap_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_ss__screen__ind_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_ss__screen__ind_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_sm__cap_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_sm__cap_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_vbs_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_vbs_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_vgcs_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_vgcs_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_fc_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_fc_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_cm3_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_cm3_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_spare2_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_spare2_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_lcsva__cap_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_lcsva__cap_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_ucs2_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_ucs2_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_solsa_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_solsa_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_cmsp_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_cmsp_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_a53_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_a53_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_a52_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_a52_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2_encoder(const MsClassmark2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2_decoder(OCTETSTRING& input_stream, MsClassmark2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2LV_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2LV_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2LV_cm2_encoder(const MsClassmark2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2LV_cm2_decoder(OCTETSTRING& input_stream, MsClassmark2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MsClassmark2LV_encoder(const MsClassmark2LV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MsClassmark2LV_decoder(OCTETSTRING& input_stream, MsClassmark2LV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_chan__nr_encoder(const GSM__Types::RslChannelNr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_chan__nr_decoder(OCTETSTRING& input_stream, GSM__Types::RslChannelNr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_tsc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_tsc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_h_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_h_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_maio__hsn_encoder(const MaioHsn& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_maio__hsn_decoder(OCTETSTRING& input_stream, MaioHsn& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescription_encoder(const ChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescription_decoder(OCTETSTRING& input_stream, ChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescriptionTV_iei_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescriptionTV_iei_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescriptionTV_v_encoder(const ChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescriptionTV_v_decoder(OCTETSTRING& input_stream, ChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ChannelDescriptionTV_encoder(const ChannelDescriptionTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ChannelDescriptionTV_decoder(OCTETSTRING& input_stream, ChannelDescriptionTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationLV_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationLV_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationLV_ma_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationLV_ma_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationLV_encoder(const MobileAllocationLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationLV_decoder(OCTETSTRING& input_stream, MobileAllocationLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationTLV_iei_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationTLV_iei_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationTLV_v_encoder(const MobileAllocationLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationTLV_v_decoder(OCTETSTRING& input_stream, MobileAllocationLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MobileAllocationTLV_encoder(const MobileAllocationTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MobileAllocationTLV_decoder(OCTETSTRING& input_stream, MobileAllocationTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0Ind_maio_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0Ind_maio_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0Ind_ma__number__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0Ind_ma__number__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0Ind_change__mark1__valid_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0Ind_change__mark1__valid_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0Ind_change__mark1_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0Ind_change__mark1_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0Ind_encoder(const PktChDesc0Ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0Ind_decoder(OCTETSTRING& input_stream, PktChDesc0Ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0_hopping_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0_hopping_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0_indirect_encoder(const PktChDesc0Ind& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0_indirect_decoder(OCTETSTRING& input_stream, PktChDesc0Ind& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc0_encoder(const PktChDesc0& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc0_decoder(OCTETSTRING& input_stream, PktChDesc0& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc1_maio_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc1_maio_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc1_hsn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc1_hsn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PktChDesc1_encoder(const PktChDesc1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PktChDesc1_decoder(OCTETSTRING& input_stream, PktChDesc1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_channel__Type__spare_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_channel__Type__spare_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_tn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_tn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_tsc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_tsc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_zero_encoder(const PktChDesc0& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_zero_decoder(OCTETSTRING& input_stream, PktChDesc0& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_one_encoder(const PktChDesc1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_one_decoder(OCTETSTRING& input_stream, PktChDesc1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PacketChannelDescription_encoder(const PacketChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PacketChannelDescription_decoder(OCTETSTRING& input_stream, PacketChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DedicatedModeOrTbf_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DedicatedModeOrTbf_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DedicatedModeOrTbf_tma_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DedicatedModeOrTbf_tma_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DedicatedModeOrTbf_downlink_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DedicatedModeOrTbf_downlink_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DedicatedModeOrTbf_tbf_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DedicatedModeOrTbf_tbf_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DedicatedModeOrTbf_encoder(const DedicatedModeOrTbf& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DedicatedModeOrTbf_decoder(OCTETSTRING& input_stream, DedicatedModeOrTbf& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PageMode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PageMode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestReference_ra_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestReference_ra_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestReference_t1p_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestReference_t1p_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestReference_t3_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestReference_t3_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestReference_t2_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestReference_t2_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RequestReference_encoder(const RequestReference& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RequestReference_decoder(OCTETSTRING& input_stream, RequestReference& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern RequestReference_template t__RequestReference(const BITSTRING_template& ra, const INTEGER_template& t1p, const INTEGER_template& t3, const INTEGER_template& t2);
extern RequestReference f__compute__ReqRef(const INTEGER& ra, const INTEGER& fn);
extern RequestReference_template tr__compute__ReqRef(const INTEGER_template& ra, const INTEGER_template& fn);
extern void TimingAdvance_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TimingAdvance_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void WaitIndication_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER WaitIndication_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void FeatureIndicator_peo__bcch__change__mark_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER FeatureIndicator_peo__bcch__change__mark_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void FeatureIndicator_cs__ir_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER FeatureIndicator_cs__ir_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void FeatureIndicator_ps__ir_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER FeatureIndicator_ps__ir_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void FeatureIndicator_encoder(const FeatureIndicator& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER FeatureIndicator_decoder(OCTETSTRING& input_stream, FeatureIndicator& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DrxParameter_split__pg__cycle__code_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DrxParameter_split__pg__cycle__code_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DrxParameter_drx__cycle__len__coeff_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DrxParameter_drx__cycle__len__coeff_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DrxParameter_split__on__ccch_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DrxParameter_split__on__ccch_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DrxParameter_non__drx__timer_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DrxParameter_non__drx__timer_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DrxParameter_encoder(const DrxParameter& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DrxParameter_decoder(OCTETSTRING& input_stream, DrxParameter& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_ba__used_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_ba__used_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_dtx__used_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_dtx__used_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_rxlev__full__srv__cell_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_rxlev__full__srv__cell_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_threeg__ba__used_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_threeg__ba__used_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_meas__valid_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_meas__valid_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_rxlev__sub__srv__cell_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_rxlev__sub__srv__cell_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_si23__ba__used_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_si23__ba__used_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_rxqual__full__srv__cell_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_rxqual__full__srv__cell_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_rxqual__sub__srv__cell_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_rxqual__sub__srv__cell_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_no__ncell__m_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_no__ncell__m_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const NcellReports& other_value);
inline boolean operator!=(null_type null_value, const NcellReports& other_value) { return !(null_value == other_value); }
extern void NcellReport_rxlev_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReport_rxlev_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NcellReport_bcch__freq_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReport_bcch__freq_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NcellReport_bsic_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReport_bsic_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NcellReport_encoder(const NcellReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReport_decoder(OCTETSTRING& input_stream, NcellReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NcellReports_0_encoder(const NcellReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReports_0_decoder(OCTETSTRING& input_stream, NcellReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void NcellReports_encoder(const NcellReports& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER NcellReports_decoder(OCTETSTRING& input_stream, NcellReports& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_ncell__reports_encoder(const NcellReports& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_ncell__reports_decoder(OCTETSTRING& input_stream, NcellReports& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementResults_encoder(const MeasurementResults& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementResults_decoder(OCTETSTRING& input_stream, MeasurementResults& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_chan__desc_encoder(const ChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_chan__desc_decoder(OCTETSTRING& input_stream, ChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_power__cmd_encoder(const MobileL3__RRM__Types::PowerCommand__V& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_power__cmd_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::PowerCommand__V& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_freq__list__at_encoder(const MobileL3__CommonIE__Types::Type4__TLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_freq__list__at_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::Type4__TLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_cell__chan__desc_encoder(const MobileL3__RRM__Types::CellChannelDescription__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_cell__chan__desc_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::CellChannelDescription__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_chan1__mode_encoder(const MobileL3__RRM__Types::ChannelMode__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_chan1__mode_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::ChannelMode__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_chan2__mode_encoder(const MobileL3__RRM__Types::ChannelMode__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_chan2__mode_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::ChannelMode__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_mobile__allocation_encoder(const MobileAllocationTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_mobile__allocation_decoder(OCTETSTRING& input_stream, MobileAllocationTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void AssignmentCommand_encoder(const AssignmentCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER AssignmentCommand_decoder(OCTETSTRING& input_stream, AssignmentCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellDescriptionV_bcc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellDescriptionV_bcc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellDescriptionV_ncc_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellDescriptionV_ncc_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellDescriptionV_bcch__arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellDescriptionV_bcch__arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellDescriptionV_encoder(const CellDescriptionV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellDescriptionV_decoder(OCTETSTRING& input_stream, CellDescriptionV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_cell__desc_encoder(const CellDescriptionV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_cell__desc_decoder(OCTETSTRING& input_stream, CellDescriptionV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_chan__desc_encoder(const ChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_chan__desc_decoder(OCTETSTRING& input_stream, ChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_ho__ref_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_ho__ref_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_power__cmd__acc__type_encoder(const MobileL3__RRM__Types::PowerCommandAndAccesstype__V& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_power__cmd__acc__type_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::PowerCommandAndAccesstype__V& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_freq__list__at_encoder(const MobileL3__CommonIE__Types::Type4__TLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_freq__list__at_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::Type4__TLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_cell__chan__desc_encoder(const MobileL3__RRM__Types::CellChannelDescription__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_cell__chan__desc_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::CellChannelDescription__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_chan1__mode_encoder(const MobileL3__RRM__Types::ChannelMode__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_chan1__mode_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::ChannelMode__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_chan2__mode_encoder(const MobileL3__RRM__Types::ChannelMode__TV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_chan2__mode_decoder(OCTETSTRING& input_stream, MobileL3__RRM__Types::ChannelMode__TV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_mobile__allocation_encoder(const MobileAllocationTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_mobile__allocation_decoder(OCTETSTRING& input_stream, MobileAllocationTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void HandoverCommand_encoder(const HandoverCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER HandoverCommand_decoder(OCTETSTRING& input_stream, HandoverCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_ded__or__tbf_encoder(const DedicatedModeOrTbf& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_ded__or__tbf_decoder(OCTETSTRING& input_stream, DedicatedModeOrTbf& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_page__mode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_page__mode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_req__ref_encoder(const RequestReference& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_req__ref_decoder(OCTETSTRING& input_stream, RequestReference& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_timing__advance_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_timing__advance_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_mobile__allocation_encoder(const MobileAllocationLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_mobile__allocation_decoder(OCTETSTRING& input_stream, MobileAllocationLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_rest__octets_encoder(const GSM__RestOctets::IaRestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::IaRestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_chan__desc_encoder(const ChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_chan__desc_decoder(OCTETSTRING& input_stream, ChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_pkt__chan__desc_encoder(const PacketChannelDescription& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_pkt__chan__desc_decoder(OCTETSTRING& input_stream, PacketChannelDescription& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignment_encoder(const ImmediateAssignment& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignment_decoder(OCTETSTRING& input_stream, ImmediateAssignment& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReqRefWaitInd_req__ref_encoder(const RequestReference& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReqRefWaitInd_req__ref_decoder(OCTETSTRING& input_stream, RequestReference& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReqRefWaitInd_wait__ind_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReqRefWaitInd_wait__ind_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReqRefWaitInd_encoder(const ReqRefWaitInd& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReqRefWaitInd_decoder(OCTETSTRING& input_stream, ReqRefWaitInd& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const ReqRefWaitInd4& other_value);
inline boolean operator!=(null_type null_value, const ReqRefWaitInd4& other_value) { return !(null_value == other_value); }
extern void ReqRefWaitInd4_0_encoder(const ReqRefWaitInd& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReqRefWaitInd4_0_decoder(OCTETSTRING& input_stream, ReqRefWaitInd& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ReqRefWaitInd4_encoder(const ReqRefWaitInd4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ReqRefWaitInd4_decoder(OCTETSTRING& input_stream, ReqRefWaitInd4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignmentReject_feature__ind_encoder(const FeatureIndicator& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignmentReject_feature__ind_decoder(OCTETSTRING& input_stream, FeatureIndicator& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignmentReject_page__mode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignmentReject_page__mode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignmentReject_payload_encoder(const ReqRefWaitInd4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignmentReject_payload_decoder(OCTETSTRING& input_stream, ReqRefWaitInd4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignmentReject_rest__octets_encoder(const GSM__RestOctets::IARRestOctets& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignmentReject_rest__octets_decoder(OCTETSTRING& input_stream, GSM__RestOctets::IARRestOctets& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ImmediateAssignmentReject_encoder(const ImmediateAssignmentReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ImmediateAssignmentReject_decoder(OCTETSTRING& input_stream, ImmediateAssignmentReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementReport_meas__res_encoder(const MeasurementResults& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementReport_meas__res_decoder(OCTETSTRING& input_stream, MeasurementResults& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void MeasurementReport_encoder(const MeasurementReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER MeasurementReport_decoder(OCTETSTRING& input_stream, MeasurementReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_chan__needed_encoder(const GSM__Types::ChannelNeeded12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_chan__needed_decoder(OCTETSTRING& input_stream, GSM__Types::ChannelNeeded12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_page__mode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_page__mode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_mi1_encoder(const MobileL3__CommonIE__Types::MobileIdentityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_mi1_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_mi2_encoder(const MobileL3__CommonIE__Types::MobileIdentityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_mi2_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType1_encoder(const PagingRequestType1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType1_decoder(OCTETSTRING& input_stream, PagingRequestType1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_chan__needed_encoder(const GSM__Types::ChannelNeeded12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_chan__needed_decoder(OCTETSTRING& input_stream, GSM__Types::ChannelNeeded12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_page__mode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_page__mode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_mi1_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_mi1_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_mi2_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_mi2_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_mi3_encoder(const MobileL3__CommonIE__Types::MobileIdentityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_mi3_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType2_encoder(const PagingRequestType2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType2_decoder(OCTETSTRING& input_stream, PagingRequestType2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmTmsi4_0_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmTmsi4_0_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmTmsi4_encoder(const GsmTmsi4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmTmsi4_decoder(OCTETSTRING& input_stream, GsmTmsi4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType3_chan__needed_encoder(const GSM__Types::ChannelNeeded12& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType3_chan__needed_decoder(OCTETSTRING& input_stream, GSM__Types::ChannelNeeded12& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType3_page__mode_encoder(const PageMode& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType3_page__mode_decoder(OCTETSTRING& input_stream, PageMode& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType3_mi_encoder(const GsmTmsi4& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType3_mi_decoder(OCTETSTRING& input_stream, GsmTmsi4& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType3_rest__octets_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType3_rest__octets_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingRequestType3_encoder(const PagingRequestType3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingRequestType3_decoder(OCTETSTRING& input_stream, PagingRequestType3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CipheringKeySeqNrTV_tag_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringKeySeqNrTV_tag_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CipheringKeySeqNrTV_cksn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringKeySeqNrTV_cksn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CipheringKeySeqNrTV_encoder(const CipheringKeySeqNrTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CipheringKeySeqNrTV_decoder(OCTETSTRING& input_stream, CipheringKeySeqNrTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIndication_cm2_encoder(const MsClassmark2LV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIndication_cm2_decoder(OCTETSTRING& input_stream, MsClassmark2LV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIndication_mi_encoder(const MobileL3__CommonIE__Types::MobileIdentityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIndication_mi_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIndication_cksn_encoder(const CipheringKeySeqNrTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIndication_cksn_decoder(OCTETSTRING& input_stream, CipheringKeySeqNrTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIndication_encoder(const TalkerIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIndication_decoder(OCTETSTRING& input_stream, TalkerIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PriorityUplinkRequest_est__cause_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PriorityUplinkRequest_est__cause_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PriorityUplinkRequest_token_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PriorityUplinkRequest_token_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PriorityUplinkRequest_reduced__gcr_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PriorityUplinkRequest_reduced__gcr_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PriorityUplinkRequest_mi_encoder(const MobileL3__CommonIE__Types::MobileIdentityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PriorityUplinkRequest_mi_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PriorityUplinkRequest_encoder(const PriorityUplinkRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PriorityUplinkRequest_decoder(OCTETSTRING& input_stream, PriorityUplinkRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication_tmsi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication_tmsi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication_app__data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication_app__data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication_data__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication_data__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication_encoder(const DataIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication_decoder(OCTETSTRING& input_stream, DataIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication2_tmsi_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication2_tmsi_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication2_reduced__gcr_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication2_reduced__gcr_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication2_app__data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication2_app__data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication2_data__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication2_data__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void DataIndication2_encoder(const DataIndication2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER DataIndication2_decoder(OCTETSTRING& input_stream, DataIndication2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_iei_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_iei_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_es_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_es_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_uai__rach_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_uai__rach_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_priority_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_priority_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerPrioEmergIndTLV_encoder(const TalkerPrioEmergIndTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerPrioEmergIndTLV_decoder(OCTETSTRING& input_stream, TalkerPrioEmergIndTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkBusy_prio_encoder(const TalkerPrioEmergIndTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkBusy_prio_decoder(OCTETSTRING& input_stream, TalkerPrioEmergIndTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TokenTV_iei_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TokenTV_iei_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TokenTV_token_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TokenTV_token_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TokenTV_encoder(const TokenTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TokenTV_decoder(OCTETSTRING& input_stream, TokenTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkBusy_token_encoder(const TokenTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkBusy_token_decoder(OCTETSTRING& input_stream, TokenTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIdentityTLV_iei_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIdentityTLV_iei_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIdentityTLV_len_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIdentityTLV_len_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIdentityTLV_talker__id_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIdentityTLV_talker__id_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void TalkerIdentityTLV_encoder(const TalkerIdentityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER TalkerIdentityTLV_decoder(OCTETSTRING& input_stream, TalkerIdentityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkBusy_talker__id_encoder(const TalkerIdentityTLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkBusy_talker__id_decoder(OCTETSTRING& input_stream, TalkerIdentityTLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkAccessIndTV_iei_encoder(const HEXSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkAccessIndTV_iei_decoder(OCTETSTRING& input_stream, HEXSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkAccessIndTV_spare_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkAccessIndTV_spare_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkAccessIndTV_uai__rach_encoder(const BOOLEAN& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkAccessIndTV_uai__rach_decoder(OCTETSTRING& input_stream, BOOLEAN& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkAccessIndTV_encoder(const UplinkAccessIndTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkAccessIndTV_decoder(OCTETSTRING& input_stream, UplinkAccessIndTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkBusy_ul__access__ind_encoder(const UplinkAccessIndTV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkBusy_ul__access__ind_decoder(OCTETSTRING& input_stream, UplinkAccessIndTV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkBusy_encoder(const UplinkBusy& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkBusy_decoder(OCTETSTRING& input_stream, UplinkBusy& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkRelease_cause_encoder(const RR__Cause& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkRelease_cause_decoder(OCTETSTRING& input_stream, RR__Cause& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UplinkRelease_encoder(const UplinkRelease& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UplinkRelease_decoder(OCTETSTRING& input_stream, UplinkRelease& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VgcsUplinkGrant_req__ref_encoder(const RequestReference& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VgcsUplinkGrant_req__ref_decoder(OCTETSTRING& input_stream, RequestReference& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VgcsUplinkGrant_ta_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VgcsUplinkGrant_ta_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void VgcsUplinkGrant_encoder(const VgcsUplinkGrant& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER VgcsUplinkGrant_decoder(OCTETSTRING& input_stream, VgcsUplinkGrant& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_imm__ass_encoder(const ImmediateAssignment& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_imm__ass_decoder(OCTETSTRING& input_stream, ImmediateAssignment& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_imm__ass__rej_encoder(const ImmediateAssignmentReject& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_imm__ass__rej_decoder(OCTETSTRING& input_stream, ImmediateAssignmentReject& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_pag__req__1_encoder(const PagingRequestType1& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_pag__req__1_decoder(OCTETSTRING& input_stream, PagingRequestType1& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_pag__req__2_encoder(const PagingRequestType2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_pag__req__2_decoder(OCTETSTRING& input_stream, PagingRequestType2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_pag__req__3_encoder(const PagingRequestType3& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_pag__req__3_decoder(OCTETSTRING& input_stream, PagingRequestType3& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_other_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_other_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrUnion_encoder(const RrUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrUnion_decoder(OCTETSTRING& input_stream, RrUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrMessage_header_encoder(const RrHeader& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrMessage_header_decoder(OCTETSTRING& input_stream, RrHeader& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrMessage_payload_encoder(const RrUnion& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrMessage_payload_decoder(OCTETSTRING& input_stream, RrUnion& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrMessage_encoder(const GsmRrMessage& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrMessage_decoder(OCTETSTRING& input_stream, GsmRrMessage& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern OCTETSTRING enc__GsmRrMessage(const GsmRrMessage& msg);
extern GsmRrMessage dec__GsmRrMessage(const OCTETSTRING& stream);
extern void PagingResponse_spare__half__octet_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_spare__half__octet_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingResponse_cksn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_cksn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingResponse_cm2_encoder(const MsClassmark2LV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_cm2_decoder(OCTETSTRING& input_stream, MsClassmark2LV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingResponse_mi_encoder(const MobileL3__CommonIE__Types::MobileIdentityLV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_mi_decoder(OCTETSTRING& input_stream, MobileL3__CommonIE__Types::MobileIdentityLV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingResponse_addl__upd__par_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_addl__upd__par_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PagingResponse_encoder(const PagingResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PagingResponse_decoder(OCTETSTRING& input_stream, PagingResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_paging__response_encoder(const PagingResponse& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_paging__response_decoder(OCTETSTRING& input_stream, PagingResponse& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_meas__rep_encoder(const MeasurementReport& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_meas__rep_decoder(OCTETSTRING& input_stream, MeasurementReport& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_ass__cmd_encoder(const AssignmentCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_ass__cmd_decoder(OCTETSTRING& input_stream, AssignmentCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_ho__cmd_encoder(const HandoverCommand& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_ho__cmd_decoder(OCTETSTRING& input_stream, HandoverCommand& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_talker__ind_encoder(const TalkerIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_talker__ind_decoder(OCTETSTRING& input_stream, TalkerIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_priority__ul__req_encoder(const PriorityUplinkRequest& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_priority__ul__req_decoder(OCTETSTRING& input_stream, PriorityUplinkRequest& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_uplink__busy_encoder(const UplinkBusy& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_uplink__busy_decoder(OCTETSTRING& input_stream, UplinkBusy& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_uplink__release_encoder(const UplinkRelease& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_uplink__release_decoder(OCTETSTRING& input_stream, UplinkRelease& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_vgcs__ul__grant_encoder(const VgcsUplinkGrant& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_vgcs__ul__grant_decoder(OCTETSTRING& input_stream, VgcsUplinkGrant& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_data__ind_encoder(const DataIndication& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_data__ind_decoder(OCTETSTRING& input_stream, DataIndication& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_data__ind2_encoder(const DataIndication2& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_data__ind2_decoder(OCTETSTRING& input_stream, DataIndication2& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_other_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_other_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RrL3Union_encoder(const RrL3Union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RrL3Union_decoder(OCTETSTRING& input_stream, RrL3Union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrL3Message_header_encoder(const RrL3Header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrL3Message_header_decoder(OCTETSTRING& input_stream, RrL3Header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrL3Message_payload_encoder(const RrL3Union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrL3Message_payload_decoder(OCTETSTRING& input_stream, RrL3Union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void GsmRrL3Message_encoder(const GsmRrL3Message& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER GsmRrL3Message_decoder(OCTETSTRING& input_stream, GsmRrL3Message& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern OCTETSTRING enc__GsmRrL3Message(const GsmRrL3Message& msg);
extern GsmRrL3Message dec__GsmRrL3Message(const OCTETSTRING& stream);
extern GsmRrMessage_template ts__IMM__ASS(const INTEGER& ra, const INTEGER& fn, const INTEGER& ta, const ChannelDescription& ch__desc, const MobileAllocationLV& ma);
extern GsmRrMessage_template tr__IMM__ASS(const INTEGER_template& ra, const INTEGER_template& fn, const INTEGER_template& ta, const ChannelDescription_template& ch__desc, const MobileAllocationLV_template& ma, const PageMode_template& page__mode);
extern GsmRrMessage_template tr__IMM__TBF__ASS(const BOOLEAN_template& dl, const INTEGER_template& ra, const INTEGER_template& fn, const INTEGER_template& ta, const PacketChannelDescription_template& ch__desc, const MobileAllocationLV_template& ma, const GSM__RestOctets::IaRestOctets_template& rest);
extern GsmRrMessage_template tr__PAG__REQ1(const MobileL3__CommonIE__Types::MobileIdentityLV_template& mi1, const MobileL3__CommonIE__Types::MobileIdentityTLV_template& mi2);
extern MeasurementResults_template ts__MeasurementResults(const INTEGER_template& rxl__f, const INTEGER_template& rxl__s, const INTEGER_template& rxq__f, const INTEGER_template& rxq__s, const BOOLEAN& dtx__used, const BOOLEAN& valid, const NcellReports_template& reps);
extern GsmRrL3Message_template ts__MEAS__REP(const BOOLEAN& valid, const INTEGER_template& rxl__f, const INTEGER_template& rxl__s, const INTEGER_template& rxq__f, const INTEGER_template& rxq__s, const NcellReports_template& reps);
extern GsmRrMessage_template tr__IMM__ASS__REJ(const FeatureIndicator_template& feature__ind, const ReqRefWaitInd4_template& rr__wi__list, const GSM__RestOctets::IARRestOctets_template& rest__octets);
extern ReqRefWaitInd_template tr__ReqRefWaitInd(const RequestReference_template& ref, const INTEGER_template& wi);
extern ChannelDescription_template ts__ChanDescH0(const GSM__Types::RslChannelNr_template& chan__nr, const INTEGER_template& arfcn, const INTEGER_template& tsc);
extern ChannelDescription_template tr__ChanDescH0(const GSM__Types::RslChannelNr_template& chan__nr, const INTEGER_template& arfcn, const INTEGER_template& tsc);
extern ChannelDescription_template ts__ChanDescH1(const GSM__Types::RslChannelNr_template& chan__nr, const MaioHsn_template& maio__hsn, const INTEGER_template& tsc);
extern ChannelDescription_template tr__ChanDescH1(const GSM__Types::RslChannelNr_template& chan__nr, const MaioHsn_template& maio__hsn, const INTEGER_template& tsc);
extern void CellSelIndValue_discr_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue_discr_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const CellSelIndValue__GSM__Descrs& other_value);
inline boolean operator!=(null_type null_value, const CellSelIndValue__GSM__Descrs& other_value) { return !(null_value == other_value); }
extern void CellSelIndValue__GSM__Descr_item__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descr_item__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descr_band__indicator_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descr_band__indicator_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descr_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descr_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descr_bsic_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descr_bsic_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descr_encoder(const CellSelIndValue__GSM__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descr_decoder(OCTETSTRING& input_stream, CellSelIndValue__GSM__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descrs_0_encoder(const CellSelIndValue__GSM__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descrs_0_decoder(OCTETSTRING& input_stream, CellSelIndValue__GSM__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__GSM__Descrs_encoder(const CellSelIndValue__GSM__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__GSM__Descrs_decoder(OCTETSTRING& input_stream, CellSelIndValue__GSM__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValueEnum_gsm_encoder(const CellSelIndValue__GSM__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValueEnum_gsm_decoder(OCTETSTRING& input_stream, CellSelIndValue__GSM__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const CellSelIndValue__UTRAN__Descrs& other_value);
inline boolean operator!=(null_type null_value, const CellSelIndValue__UTRAN__Descrs& other_value) { return !(null_value == other_value); }
extern void CellSelIndValue__UTRAN__Descr_item__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_item__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_bandwidth__presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_bandwidth__presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_arfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_arfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_cell__info__presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_cell__info__presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_bandwidth_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_bandwidth_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UTRAN__CellInfo_indic0_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UTRAN__CellInfo_indic0_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UTRAN__CellInfo_nr__of__cells_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UTRAN__CellInfo_nr__of__cells_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UTRAN__CellInfo_cell__information__field_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UTRAN__CellInfo_cell__information__field_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void UTRAN__CellInfo_encoder(const UTRAN__CellInfo& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER UTRAN__CellInfo_decoder(OCTETSTRING& input_stream, UTRAN__CellInfo& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_cell__info_encoder(const UTRAN__CellInfo& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_cell__info_decoder(OCTETSTRING& input_stream, UTRAN__CellInfo& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descr_encoder(const CellSelIndValue__UTRAN__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descr_decoder(OCTETSTRING& input_stream, CellSelIndValue__UTRAN__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descrs_0_encoder(const CellSelIndValue__UTRAN__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descrs_0_decoder(OCTETSTRING& input_stream, CellSelIndValue__UTRAN__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__UTRAN__Descrs_encoder(const CellSelIndValue__UTRAN__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__UTRAN__Descrs_decoder(OCTETSTRING& input_stream, CellSelIndValue__UTRAN__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValueEnum_utran__fdd_encoder(const CellSelIndValue__UTRAN__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValueEnum_utran__fdd_decoder(OCTETSTRING& input_stream, CellSelIndValue__UTRAN__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValueEnum_utran__tdd_encoder(const CellSelIndValue__UTRAN__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValueEnum_utran__tdd_decoder(OCTETSTRING& input_stream, CellSelIndValue__UTRAN__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const CellSelIndValue__EUTRAN__Descrs& other_value);
inline boolean operator!=(null_type null_value, const CellSelIndValue__EUTRAN__Descrs& other_value) { return !(null_value == other_value); }
extern void CellSelIndValue__EUTRAN__Descr_item__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_item__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_earfcn_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_earfcn_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_meas__bw__presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_meas__bw__presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_target__pcid__presence_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_target__pcid__presence_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_meas__bw_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_meas__bw_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_not__allowed__cells_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_not__allowed__cells_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_target__pcid_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_target__pcid_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descr_encoder(const CellSelIndValue__EUTRAN__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descr_decoder(OCTETSTRING& input_stream, CellSelIndValue__EUTRAN__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descrs_0_encoder(const CellSelIndValue__EUTRAN__Descr& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descrs_0_decoder(OCTETSTRING& input_stream, CellSelIndValue__EUTRAN__Descr& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue__EUTRAN__Descrs_encoder(const CellSelIndValue__EUTRAN__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue__EUTRAN__Descrs_decoder(OCTETSTRING& input_stream, CellSelIndValue__EUTRAN__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValueEnum_eutran_encoder(const CellSelIndValue__EUTRAN__Descrs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValueEnum_eutran_decoder(OCTETSTRING& input_stream, CellSelIndValue__EUTRAN__Descrs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValueEnum_encoder(const CellSelIndValueEnum& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValueEnum_decoder(OCTETSTRING& input_stream, CellSelIndValueEnum& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue_value__list_encoder(const CellSelIndValueEnum& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue_value__list_decoder(OCTETSTRING& input_stream, CellSelIndValueEnum& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue_value__list__term_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue_value__list__term_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void CellSelIndValue_encoder(const CellSelIndValue& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER CellSelIndValue_decoder(OCTETSTRING& input_stream, CellSelIndValue& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern CellSelIndValue_template tr__CellSelIndValue__EUTRAN(const CellSelIndValue__EUTRAN__Descrs_template& cells);
extern CellSelIndValue__EUTRAN__Descr_template tr__CellSelIndValue__EUTRAN__Descr(const INTEGER_template& earfcn, const BITSTRING_template& meas__bw__presence, const INTEGER_template& meas__bw);
extern OCTETSTRING enc__CellSelIndValue(const CellSelIndValue& ro);
extern CellSelIndValue dec__CellSelIndValue(const OCTETSTRING& stream);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const TTCN_RAWdescriptor_t RrMessageType_raw_;
extern const TTCN_Typedescriptor_t RrMessageType_descr_;
extern UNIVERSAL_CHARSTRING RrMessageType_default_coding;
extern const TTCN_RAWdescriptor_t RrShortDisc_raw_;
extern const TTCN_Typedescriptor_t RrShortDisc_descr_;
extern UNIVERSAL_CHARSTRING RrShortDisc_default_coding;
extern const TTCN_RAWdescriptor_t RR__Cause_raw_;
extern const TTCN_Typedescriptor_t RR__Cause_descr_;
extern UNIVERSAL_CHARSTRING RR__Cause_default_coding;
extern const TTCN_RAWdescriptor_t RestOctets_raw_;
extern const XERdescriptor_t RestOctets_xer_;
extern const TTCN_OERdescriptor_t RestOctets_oer_;
extern const TTCN_Typedescriptor_t RestOctets_descr_;
extern UNIVERSAL_CHARSTRING RestOctets_default_coding;
extern const TTCN_RAWdescriptor_t L2PseudoLength_l2__plen_raw_;
extern const XERdescriptor_t L2PseudoLength_l2__plen_xer_;
extern const TTCN_OERdescriptor_t L2PseudoLength_l2__plen_oer_;
extern const TTCN_Typedescriptor_t L2PseudoLength_l2__plen_descr_;
extern UNIVERSAL_CHARSTRING L2PseudoLength_l2__plen_default_coding;
extern const TTCN_RAWdescriptor_t L2PseudoLength_zero__one_raw_;
extern const XERdescriptor_t L2PseudoLength_zero__one_xer_;
extern const TTCN_OERdescriptor_t L2PseudoLength_zero__one_oer_;
extern const TTCN_Typedescriptor_t L2PseudoLength_zero__one_descr_;
extern UNIVERSAL_CHARSTRING L2PseudoLength_zero__one_default_coding;
extern const TTCN_RAWdescriptor_t L2PseudoLength_raw_;
extern const TTCN_Typedescriptor_t L2PseudoLength_descr_;
extern UNIVERSAL_CHARSTRING L2PseudoLength_default_coding;
extern const TTCN_RAWdescriptor_t RrHeader_l2__plen_raw_;
extern const TTCN_Typedescriptor_t RrHeader_l2__plen_descr_;
extern UNIVERSAL_CHARSTRING RrHeader_l2__plen_default_coding;
extern const TTCN_RAWdescriptor_t RrHeader_skip__indicator_raw_;
extern const XERdescriptor_t RrHeader_skip__indicator_xer_;
extern const TTCN_OERdescriptor_t RrHeader_skip__indicator_oer_;
extern const TTCN_Typedescriptor_t RrHeader_skip__indicator_descr_;
extern UNIVERSAL_CHARSTRING RrHeader_skip__indicator_default_coding;
extern const TTCN_RAWdescriptor_t RrHeader_rr__protocol__discriminator_raw_;
extern const XERdescriptor_t RrHeader_rr__protocol__discriminator_xer_;
extern const TTCN_OERdescriptor_t RrHeader_rr__protocol__discriminator_oer_;
extern const TTCN_Typedescriptor_t RrHeader_rr__protocol__discriminator_descr_;
extern UNIVERSAL_CHARSTRING RrHeader_rr__protocol__discriminator_default_coding;
extern const TTCN_RAWdescriptor_t RrHeader_message__type_raw_;
extern const TTCN_Typedescriptor_t RrHeader_message__type_descr_;
extern UNIVERSAL_CHARSTRING RrHeader_message__type_default_coding;
extern const TTCN_RAWdescriptor_t RrHeader_raw_;
extern const TTCN_Typedescriptor_t RrHeader_descr_;
extern UNIVERSAL_CHARSTRING RrHeader_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Header_skip__indicator_raw_;
extern const XERdescriptor_t RrL3Header_skip__indicator_xer_;
extern const TTCN_OERdescriptor_t RrL3Header_skip__indicator_oer_;
extern const TTCN_Typedescriptor_t RrL3Header_skip__indicator_descr_;
extern UNIVERSAL_CHARSTRING RrL3Header_skip__indicator_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Header_rr__protocol__discriminator_raw_;
extern const XERdescriptor_t RrL3Header_rr__protocol__discriminator_xer_;
extern const TTCN_OERdescriptor_t RrL3Header_rr__protocol__discriminator_oer_;
extern const TTCN_Typedescriptor_t RrL3Header_rr__protocol__discriminator_descr_;
extern UNIVERSAL_CHARSTRING RrL3Header_rr__protocol__discriminator_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Header_message__type_raw_;
extern const TTCN_Typedescriptor_t RrL3Header_message__type_descr_;
extern UNIVERSAL_CHARSTRING RrL3Header_message__type_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Header_raw_;
extern const TTCN_Typedescriptor_t RrL3Header_descr_;
extern UNIVERSAL_CHARSTRING RrL3Header_default_coding;
extern const TTCN_RAWdescriptor_t SacchL1Header_reserved_raw_;
extern const XERdescriptor_t SacchL1Header_reserved_xer_;
extern const TTCN_OERdescriptor_t SacchL1Header_reserved_oer_;
extern const TTCN_Typedescriptor_t SacchL1Header_reserved_descr_;
extern UNIVERSAL_CHARSTRING SacchL1Header_reserved_default_coding;
extern const TTCN_RAWdescriptor_t SacchL1Header_fpc_raw_;
extern const XERdescriptor_t SacchL1Header_fpc_xer_;
extern const TTCN_OERdescriptor_t SacchL1Header_fpc_oer_;
extern const TTCN_Typedescriptor_t SacchL1Header_fpc_descr_;
extern UNIVERSAL_CHARSTRING SacchL1Header_fpc_default_coding;
extern const TTCN_RAWdescriptor_t SacchL1Header_ms__power__lvl_raw_;
extern const XERdescriptor_t SacchL1Header_ms__power__lvl_xer_;
extern const TTCN_OERdescriptor_t SacchL1Header_ms__power__lvl_oer_;
extern const TTCN_Typedescriptor_t SacchL1Header_ms__power__lvl_descr_;
extern UNIVERSAL_CHARSTRING SacchL1Header_ms__power__lvl_default_coding;
extern const TTCN_RAWdescriptor_t SacchL1Header_actual__ta_raw_;
extern const XERdescriptor_t SacchL1Header_actual__ta_xer_;
extern const TTCN_OERdescriptor_t SacchL1Header_actual__ta_oer_;
extern const TTCN_Typedescriptor_t SacchL1Header_actual__ta_descr_;
extern UNIVERSAL_CHARSTRING SacchL1Header_actual__ta_default_coding;
extern const TTCN_RAWdescriptor_t SacchL1Header_raw_;
extern const TTCN_Typedescriptor_t SacchL1Header_descr_;
extern UNIVERSAL_CHARSTRING SacchL1Header_default_coding;
extern const BOOLEAN& ts__SacchL1Header_fpc_defval;
extern BOOLEAN const_ts__SacchL1Header_fpc_defval;
extern const TTCN_RAWdescriptor_t MaioHsn_maio_raw_;
extern const XERdescriptor_t MaioHsn_maio_xer_;
extern const TTCN_OERdescriptor_t MaioHsn_maio_oer_;
extern const TTCN_Typedescriptor_t MaioHsn_maio_descr_;
extern UNIVERSAL_CHARSTRING MaioHsn_maio_default_coding;
extern const TTCN_RAWdescriptor_t MaioHsn_hsn_raw_;
extern const XERdescriptor_t MaioHsn_hsn_xer_;
extern const TTCN_OERdescriptor_t MaioHsn_hsn_oer_;
extern const TTCN_Typedescriptor_t MaioHsn_hsn_descr_;
extern UNIVERSAL_CHARSTRING MaioHsn_hsn_default_coding;
extern const TTCN_RAWdescriptor_t MaioHsn_raw_;
extern const TTCN_Typedescriptor_t MaioHsn_descr_;
extern UNIVERSAL_CHARSTRING MaioHsn_default_coding;
extern const TTCN_RAWdescriptor_t CipheringKeySeqNr_raw_;
extern const XERdescriptor_t CipheringKeySeqNr_xer_;
extern const TTCN_OERdescriptor_t CipheringKeySeqNr_oer_;
extern const TTCN_Typedescriptor_t CipheringKeySeqNr_descr_;
extern UNIVERSAL_CHARSTRING CipheringKeySeqNr_default_coding;
extern const TTCN_RAWdescriptor_t MobileIdentityType_raw_;
extern const TTCN_Typedescriptor_t MobileIdentityType_descr_;
extern UNIVERSAL_CHARSTRING MobileIdentityType_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_spare_raw_;
extern const XERdescriptor_t MsClassmark1_spare_xer_;
extern const TTCN_OERdescriptor_t MsClassmark1_spare_oer_;
extern const TTCN_Typedescriptor_t MsClassmark1_spare_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_spare_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_rev__level_raw_;
extern const XERdescriptor_t MsClassmark1_rev__level_xer_;
extern const TTCN_OERdescriptor_t MsClassmark1_rev__level_oer_;
extern const TTCN_Typedescriptor_t MsClassmark1_rev__level_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_rev__level_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_es__ind_raw_;
extern const XERdescriptor_t MsClassmark1_es__ind_xer_;
extern const TTCN_OERdescriptor_t MsClassmark1_es__ind_oer_;
extern const TTCN_Typedescriptor_t MsClassmark1_es__ind_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_es__ind_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_a51_raw_;
extern const XERdescriptor_t MsClassmark1_a51_xer_;
extern const TTCN_OERdescriptor_t MsClassmark1_a51_oer_;
extern const TTCN_Typedescriptor_t MsClassmark1_a51_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_a51_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_rf__pwr__cap_raw_;
extern const XERdescriptor_t MsClassmark1_rf__pwr__cap_xer_;
extern const TTCN_OERdescriptor_t MsClassmark1_rf__pwr__cap_oer_;
extern const TTCN_Typedescriptor_t MsClassmark1_rf__pwr__cap_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_rf__pwr__cap_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark1_raw_;
extern const TTCN_Typedescriptor_t MsClassmark1_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark1_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_spare_raw_;
extern const XERdescriptor_t MsClassmark2_spare_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_spare_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_spare_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_spare_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_rev__level_raw_;
extern const XERdescriptor_t MsClassmark2_rev__level_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_rev__level_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_rev__level_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_rev__level_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_es__ind_raw_;
extern const XERdescriptor_t MsClassmark2_es__ind_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_es__ind_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_es__ind_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_es__ind_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_a51_raw_;
extern const XERdescriptor_t MsClassmark2_a51_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_a51_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_a51_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_a51_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_rf__pwr__cap_raw_;
extern const XERdescriptor_t MsClassmark2_rf__pwr__cap_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_rf__pwr__cap_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_rf__pwr__cap_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_rf__pwr__cap_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_spare1_raw_;
extern const XERdescriptor_t MsClassmark2_spare1_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_spare1_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_spare1_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_spare1_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_ps__cap_raw_;
extern const XERdescriptor_t MsClassmark2_ps__cap_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_ps__cap_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_ps__cap_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_ps__cap_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_ss__screen__ind_raw_;
extern const XERdescriptor_t MsClassmark2_ss__screen__ind_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_ss__screen__ind_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_ss__screen__ind_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_ss__screen__ind_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_sm__cap_raw_;
extern const XERdescriptor_t MsClassmark2_sm__cap_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_sm__cap_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_sm__cap_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_sm__cap_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_vbs_raw_;
extern const XERdescriptor_t MsClassmark2_vbs_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_vbs_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_vbs_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_vbs_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_vgcs_raw_;
extern const XERdescriptor_t MsClassmark2_vgcs_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_vgcs_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_vgcs_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_vgcs_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_fc_raw_;
extern const XERdescriptor_t MsClassmark2_fc_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_fc_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_fc_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_fc_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_cm3_raw_;
extern const XERdescriptor_t MsClassmark2_cm3_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_cm3_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_cm3_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_cm3_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_spare2_raw_;
extern const XERdescriptor_t MsClassmark2_spare2_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_spare2_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_spare2_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_spare2_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_lcsva__cap_raw_;
extern const XERdescriptor_t MsClassmark2_lcsva__cap_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_lcsva__cap_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_lcsva__cap_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_lcsva__cap_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_ucs2_raw_;
extern const XERdescriptor_t MsClassmark2_ucs2_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_ucs2_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_ucs2_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_ucs2_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_solsa_raw_;
extern const XERdescriptor_t MsClassmark2_solsa_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_solsa_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_solsa_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_solsa_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_cmsp_raw_;
extern const XERdescriptor_t MsClassmark2_cmsp_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_cmsp_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_cmsp_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_cmsp_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_a53_raw_;
extern const XERdescriptor_t MsClassmark2_a53_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_a53_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_a53_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_a53_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_a52_raw_;
extern const XERdescriptor_t MsClassmark2_a52_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2_a52_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2_a52_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_a52_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2_raw_;
extern const TTCN_Typedescriptor_t MsClassmark2_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2LV_len_raw_;
extern const XERdescriptor_t MsClassmark2LV_len_xer_;
extern const TTCN_OERdescriptor_t MsClassmark2LV_len_oer_;
extern const TTCN_Typedescriptor_t MsClassmark2LV_len_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2LV_len_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2LV_cm2_raw_;
extern const TTCN_Typedescriptor_t MsClassmark2LV_cm2_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2LV_cm2_default_coding;
extern const TTCN_RAWdescriptor_t MsClassmark2LV_raw_;
extern const TTCN_Typedescriptor_t MsClassmark2LV_descr_;
extern UNIVERSAL_CHARSTRING MsClassmark2LV_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescription_chan__nr_raw_;
extern const TTCN_Typedescriptor_t ChannelDescription_chan__nr_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescription_chan__nr_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescription_tsc_raw_;
extern const XERdescriptor_t ChannelDescription_tsc_xer_;
extern const TTCN_OERdescriptor_t ChannelDescription_tsc_oer_;
extern const TTCN_Typedescriptor_t ChannelDescription_tsc_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescription_tsc_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescription_h_raw_;
extern const XERdescriptor_t ChannelDescription_h_xer_;
extern const TTCN_OERdescriptor_t ChannelDescription_h_oer_;
extern const TTCN_Typedescriptor_t ChannelDescription_h_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescription_h_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescription_raw_;
extern const TTCN_Typedescriptor_t ChannelDescription_descr_;
extern const TTCN_RAWdescriptor_t ChannelDescription_arfcn_raw_;
extern const XERdescriptor_t ChannelDescription_arfcn_xer_;
extern const TTCN_Typedescriptor_t ChannelDescription_arfcn_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescription_arfcn_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescription_maio__hsn_raw_;
extern const TTCN_Typedescriptor_t ChannelDescription_maio__hsn_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescription_maio__hsn_default_coding;
extern UNIVERSAL_CHARSTRING ChannelDescription_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescriptionTV_iei_raw_;
extern const XERdescriptor_t ChannelDescriptionTV_iei_xer_;
extern const TTCN_OERdescriptor_t ChannelDescriptionTV_iei_oer_;
extern const TTCN_Typedescriptor_t ChannelDescriptionTV_iei_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescriptionTV_iei_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescriptionTV_v_raw_;
extern const TTCN_Typedescriptor_t ChannelDescriptionTV_v_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescriptionTV_v_default_coding;
extern const TTCN_RAWdescriptor_t ChannelDescriptionTV_raw_;
extern const TTCN_Typedescriptor_t ChannelDescriptionTV_descr_;
extern UNIVERSAL_CHARSTRING ChannelDescriptionTV_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationLV_len_raw_;
extern const XERdescriptor_t MobileAllocationLV_len_xer_;
extern const TTCN_OERdescriptor_t MobileAllocationLV_len_oer_;
extern const TTCN_Typedescriptor_t MobileAllocationLV_len_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationLV_len_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationLV_ma_raw_;
extern const XERdescriptor_t MobileAllocationLV_ma_xer_;
extern const TTCN_Typedescriptor_t MobileAllocationLV_ma_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationLV_ma_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationLV_raw_;
extern const TTCN_Typedescriptor_t MobileAllocationLV_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationLV_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationTLV_iei_raw_;
extern const XERdescriptor_t MobileAllocationTLV_iei_xer_;
extern const TTCN_OERdescriptor_t MobileAllocationTLV_iei_oer_;
extern const TTCN_Typedescriptor_t MobileAllocationTLV_iei_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationTLV_iei_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationTLV_v_raw_;
extern const TTCN_Typedescriptor_t MobileAllocationTLV_v_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationTLV_v_default_coding;
extern const TTCN_RAWdescriptor_t MobileAllocationTLV_raw_;
extern const TTCN_Typedescriptor_t MobileAllocationTLV_descr_;
extern UNIVERSAL_CHARSTRING MobileAllocationTLV_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0Ind_maio_raw_;
extern const XERdescriptor_t PktChDesc0Ind_maio_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0Ind_maio_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0Ind_maio_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0Ind_maio_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0Ind_ma__number__ind_raw_;
extern const XERdescriptor_t PktChDesc0Ind_ma__number__ind_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0Ind_ma__number__ind_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0Ind_ma__number__ind_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0Ind_ma__number__ind_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0Ind_change__mark1__valid_raw_;
extern const XERdescriptor_t PktChDesc0Ind_change__mark1__valid_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0Ind_change__mark1__valid_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0Ind_change__mark1__valid_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0Ind_change__mark1__valid_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0Ind_change__mark1_raw_;
extern const XERdescriptor_t PktChDesc0Ind_change__mark1_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0Ind_change__mark1_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0Ind_change__mark1_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0Ind_change__mark1_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0Ind_raw_;
extern const TTCN_Typedescriptor_t PktChDesc0Ind_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0Ind_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0_hopping_raw_;
extern const XERdescriptor_t PktChDesc0_hopping_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0_hopping_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0_hopping_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0_hopping_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0_spare_raw_;
extern const XERdescriptor_t PktChDesc0_spare_xer_;
extern const TTCN_OERdescriptor_t PktChDesc0_spare_oer_;
extern const TTCN_Typedescriptor_t PktChDesc0_spare_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0_spare_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0_raw_;
extern const TTCN_Typedescriptor_t PktChDesc0_descr_;
extern const TTCN_RAWdescriptor_t PktChDesc0_arfcn_raw_;
extern const XERdescriptor_t PktChDesc0_arfcn_xer_;
extern const TTCN_Typedescriptor_t PktChDesc0_arfcn_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0_arfcn_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc0_indirect_raw_;
extern const TTCN_Typedescriptor_t PktChDesc0_indirect_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc0_indirect_default_coding;
extern UNIVERSAL_CHARSTRING PktChDesc0_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc1_maio_raw_;
extern const XERdescriptor_t PktChDesc1_maio_xer_;
extern const TTCN_OERdescriptor_t PktChDesc1_maio_oer_;
extern const TTCN_Typedescriptor_t PktChDesc1_maio_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc1_maio_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc1_hsn_raw_;
extern const XERdescriptor_t PktChDesc1_hsn_xer_;
extern const TTCN_OERdescriptor_t PktChDesc1_hsn_oer_;
extern const TTCN_Typedescriptor_t PktChDesc1_hsn_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc1_hsn_default_coding;
extern const TTCN_RAWdescriptor_t PktChDesc1_raw_;
extern const TTCN_Typedescriptor_t PktChDesc1_descr_;
extern UNIVERSAL_CHARSTRING PktChDesc1_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_channel__Type__spare_raw_;
extern const XERdescriptor_t PacketChannelDescription_channel__Type__spare_xer_;
extern const TTCN_OERdescriptor_t PacketChannelDescription_channel__Type__spare_oer_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_channel__Type__spare_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_channel__Type__spare_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_tn_raw_;
extern const XERdescriptor_t PacketChannelDescription_tn_xer_;
extern const TTCN_OERdescriptor_t PacketChannelDescription_tn_oer_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_tn_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_tn_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_tsc_raw_;
extern const XERdescriptor_t PacketChannelDescription_tsc_xer_;
extern const TTCN_OERdescriptor_t PacketChannelDescription_tsc_oer_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_tsc_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_tsc_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_presence_raw_;
extern const XERdescriptor_t PacketChannelDescription_presence_xer_;
extern const TTCN_OERdescriptor_t PacketChannelDescription_presence_oer_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_presence_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_presence_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_raw_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_descr_;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_zero_raw_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_zero_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_zero_default_coding;
extern const TTCN_RAWdescriptor_t PacketChannelDescription_one_raw_;
extern const TTCN_Typedescriptor_t PacketChannelDescription_one_descr_;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_one_default_coding;
extern UNIVERSAL_CHARSTRING PacketChannelDescription_default_coding;
extern const TTCN_RAWdescriptor_t DedicatedModeOrTbf_spare_raw_;
extern const XERdescriptor_t DedicatedModeOrTbf_spare_xer_;
extern const TTCN_OERdescriptor_t DedicatedModeOrTbf_spare_oer_;
extern const TTCN_Typedescriptor_t DedicatedModeOrTbf_spare_descr_;
extern UNIVERSAL_CHARSTRING DedicatedModeOrTbf_spare_default_coding;
extern const TTCN_RAWdescriptor_t DedicatedModeOrTbf_tma_raw_;
extern const XERdescriptor_t DedicatedModeOrTbf_tma_xer_;
extern const TTCN_OERdescriptor_t DedicatedModeOrTbf_tma_oer_;
extern const TTCN_Typedescriptor_t DedicatedModeOrTbf_tma_descr_;
extern UNIVERSAL_CHARSTRING DedicatedModeOrTbf_tma_default_coding;
extern const TTCN_RAWdescriptor_t DedicatedModeOrTbf_downlink_raw_;
extern const XERdescriptor_t DedicatedModeOrTbf_downlink_xer_;
extern const TTCN_OERdescriptor_t DedicatedModeOrTbf_downlink_oer_;
extern const TTCN_Typedescriptor_t DedicatedModeOrTbf_downlink_descr_;
extern UNIVERSAL_CHARSTRING DedicatedModeOrTbf_downlink_default_coding;
extern const TTCN_RAWdescriptor_t DedicatedModeOrTbf_tbf_raw_;
extern const XERdescriptor_t DedicatedModeOrTbf_tbf_xer_;
extern const TTCN_OERdescriptor_t DedicatedModeOrTbf_tbf_oer_;
extern const TTCN_Typedescriptor_t DedicatedModeOrTbf_tbf_descr_;
extern UNIVERSAL_CHARSTRING DedicatedModeOrTbf_tbf_default_coding;
extern const TTCN_RAWdescriptor_t DedicatedModeOrTbf_raw_;
extern const TTCN_Typedescriptor_t DedicatedModeOrTbf_descr_;
extern UNIVERSAL_CHARSTRING DedicatedModeOrTbf_default_coding;
extern const TTCN_RAWdescriptor_t PageMode_raw_;
extern const TTCN_Typedescriptor_t PageMode_descr_;
extern UNIVERSAL_CHARSTRING PageMode_default_coding;
extern const TTCN_RAWdescriptor_t RequestReference_ra_raw_;
extern const XERdescriptor_t RequestReference_ra_xer_;
extern const TTCN_Typedescriptor_t RequestReference_ra_descr_;
extern UNIVERSAL_CHARSTRING RequestReference_ra_default_coding;
extern const TTCN_RAWdescriptor_t RequestReference_t1p_raw_;
extern const XERdescriptor_t RequestReference_t1p_xer_;
extern const TTCN_OERdescriptor_t RequestReference_t1p_oer_;
extern const TTCN_Typedescriptor_t RequestReference_t1p_descr_;
extern UNIVERSAL_CHARSTRING RequestReference_t1p_default_coding;
extern const TTCN_RAWdescriptor_t RequestReference_t3_raw_;
extern const XERdescriptor_t RequestReference_t3_xer_;
extern const TTCN_OERdescriptor_t RequestReference_t3_oer_;
extern const TTCN_Typedescriptor_t RequestReference_t3_descr_;
extern UNIVERSAL_CHARSTRING RequestReference_t3_default_coding;
extern const TTCN_RAWdescriptor_t RequestReference_t2_raw_;
extern const XERdescriptor_t RequestReference_t2_xer_;
extern const TTCN_OERdescriptor_t RequestReference_t2_oer_;
extern const TTCN_Typedescriptor_t RequestReference_t2_descr_;
extern UNIVERSAL_CHARSTRING RequestReference_t2_default_coding;
extern const TTCN_RAWdescriptor_t RequestReference_raw_;
extern const TTCN_Typedescriptor_t RequestReference_descr_;
extern UNIVERSAL_CHARSTRING RequestReference_default_coding;
extern const TTCN_RAWdescriptor_t TimingAdvance_raw_;
extern const XERdescriptor_t TimingAdvance_xer_;
extern const TTCN_Typedescriptor_t TimingAdvance_descr_;
extern UNIVERSAL_CHARSTRING TimingAdvance_default_coding;
extern const TTCN_RAWdescriptor_t WaitIndication_raw_;
extern const XERdescriptor_t WaitIndication_xer_;
extern const TTCN_OERdescriptor_t WaitIndication_oer_;
extern const TTCN_Typedescriptor_t WaitIndication_descr_;
extern UNIVERSAL_CHARSTRING WaitIndication_default_coding;
extern const TTCN_RAWdescriptor_t FeatureIndicator_peo__bcch__change__mark_raw_;
extern const XERdescriptor_t FeatureIndicator_peo__bcch__change__mark_xer_;
extern const TTCN_OERdescriptor_t FeatureIndicator_peo__bcch__change__mark_oer_;
extern const TTCN_Typedescriptor_t FeatureIndicator_peo__bcch__change__mark_descr_;
extern UNIVERSAL_CHARSTRING FeatureIndicator_peo__bcch__change__mark_default_coding;
extern const TTCN_RAWdescriptor_t FeatureIndicator_cs__ir_raw_;
extern const XERdescriptor_t FeatureIndicator_cs__ir_xer_;
extern const TTCN_OERdescriptor_t FeatureIndicator_cs__ir_oer_;
extern const TTCN_Typedescriptor_t FeatureIndicator_cs__ir_descr_;
extern UNIVERSAL_CHARSTRING FeatureIndicator_cs__ir_default_coding;
extern const TTCN_RAWdescriptor_t FeatureIndicator_ps__ir_raw_;
extern const XERdescriptor_t FeatureIndicator_ps__ir_xer_;
extern const TTCN_OERdescriptor_t FeatureIndicator_ps__ir_oer_;
extern const TTCN_Typedescriptor_t FeatureIndicator_ps__ir_descr_;
extern UNIVERSAL_CHARSTRING FeatureIndicator_ps__ir_default_coding;
extern const TTCN_RAWdescriptor_t FeatureIndicator_raw_;
extern const TTCN_Typedescriptor_t FeatureIndicator_descr_;
extern UNIVERSAL_CHARSTRING FeatureIndicator_default_coding;
extern const TTCN_RAWdescriptor_t DrxParameter_split__pg__cycle__code_raw_;
extern const XERdescriptor_t DrxParameter_split__pg__cycle__code_xer_;
extern const TTCN_OERdescriptor_t DrxParameter_split__pg__cycle__code_oer_;
extern const TTCN_Typedescriptor_t DrxParameter_split__pg__cycle__code_descr_;
extern UNIVERSAL_CHARSTRING DrxParameter_split__pg__cycle__code_default_coding;
extern const TTCN_RAWdescriptor_t DrxParameter_drx__cycle__len__coeff_raw_;
extern const XERdescriptor_t DrxParameter_drx__cycle__len__coeff_xer_;
extern const TTCN_OERdescriptor_t DrxParameter_drx__cycle__len__coeff_oer_;
extern const TTCN_Typedescriptor_t DrxParameter_drx__cycle__len__coeff_descr_;
extern UNIVERSAL_CHARSTRING DrxParameter_drx__cycle__len__coeff_default_coding;
extern const TTCN_RAWdescriptor_t DrxParameter_split__on__ccch_raw_;
extern const XERdescriptor_t DrxParameter_split__on__ccch_xer_;
extern const TTCN_OERdescriptor_t DrxParameter_split__on__ccch_oer_;
extern const TTCN_Typedescriptor_t DrxParameter_split__on__ccch_descr_;
extern UNIVERSAL_CHARSTRING DrxParameter_split__on__ccch_default_coding;
extern const TTCN_RAWdescriptor_t DrxParameter_non__drx__timer_raw_;
extern const XERdescriptor_t DrxParameter_non__drx__timer_xer_;
extern const TTCN_OERdescriptor_t DrxParameter_non__drx__timer_oer_;
extern const TTCN_Typedescriptor_t DrxParameter_non__drx__timer_descr_;
extern UNIVERSAL_CHARSTRING DrxParameter_non__drx__timer_default_coding;
extern const TTCN_RAWdescriptor_t DrxParameter_raw_;
extern const TTCN_Typedescriptor_t DrxParameter_descr_;
extern UNIVERSAL_CHARSTRING DrxParameter_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_ba__used_raw_;
extern const XERdescriptor_t MeasurementResults_ba__used_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_ba__used_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_ba__used_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_ba__used_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_dtx__used_raw_;
extern const XERdescriptor_t MeasurementResults_dtx__used_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_dtx__used_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_dtx__used_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_dtx__used_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_rxlev__full__srv__cell_raw_;
extern const XERdescriptor_t MeasurementResults_rxlev__full__srv__cell_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_rxlev__full__srv__cell_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_rxlev__full__srv__cell_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_rxlev__full__srv__cell_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_threeg__ba__used_raw_;
extern const XERdescriptor_t MeasurementResults_threeg__ba__used_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_threeg__ba__used_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_threeg__ba__used_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_threeg__ba__used_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_meas__valid_raw_;
extern const XERdescriptor_t MeasurementResults_meas__valid_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_meas__valid_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_meas__valid_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_meas__valid_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_rxlev__sub__srv__cell_raw_;
extern const XERdescriptor_t MeasurementResults_rxlev__sub__srv__cell_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_rxlev__sub__srv__cell_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_rxlev__sub__srv__cell_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_rxlev__sub__srv__cell_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_si23__ba__used_raw_;
extern const XERdescriptor_t MeasurementResults_si23__ba__used_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_si23__ba__used_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_si23__ba__used_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_si23__ba__used_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_rxqual__full__srv__cell_raw_;
extern const XERdescriptor_t MeasurementResults_rxqual__full__srv__cell_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_rxqual__full__srv__cell_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_rxqual__full__srv__cell_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_rxqual__full__srv__cell_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_rxqual__sub__srv__cell_raw_;
extern const XERdescriptor_t MeasurementResults_rxqual__sub__srv__cell_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_rxqual__sub__srv__cell_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_rxqual__sub__srv__cell_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_rxqual__sub__srv__cell_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_no__ncell__m_raw_;
extern const XERdescriptor_t MeasurementResults_no__ncell__m_xer_;
extern const TTCN_OERdescriptor_t MeasurementResults_no__ncell__m_oer_;
extern const TTCN_Typedescriptor_t MeasurementResults_no__ncell__m_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_no__ncell__m_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_raw_;
extern const TTCN_Typedescriptor_t MeasurementResults_descr_;
extern const TTCN_RAWdescriptor_t NcellReports_raw_;
extern const TTCN_Typedescriptor_t NcellReports_descr_;
extern const TTCN_RAWdescriptor_t NcellReport_rxlev_raw_;
extern const XERdescriptor_t NcellReport_rxlev_xer_;
extern const TTCN_OERdescriptor_t NcellReport_rxlev_oer_;
extern const TTCN_Typedescriptor_t NcellReport_rxlev_descr_;
extern UNIVERSAL_CHARSTRING NcellReport_rxlev_default_coding;
extern const TTCN_RAWdescriptor_t NcellReport_bcch__freq_raw_;
extern const XERdescriptor_t NcellReport_bcch__freq_xer_;
extern const TTCN_OERdescriptor_t NcellReport_bcch__freq_oer_;
extern const TTCN_Typedescriptor_t NcellReport_bcch__freq_descr_;
extern UNIVERSAL_CHARSTRING NcellReport_bcch__freq_default_coding;
extern const TTCN_RAWdescriptor_t NcellReport_bsic_raw_;
extern const XERdescriptor_t NcellReport_bsic_xer_;
extern const TTCN_OERdescriptor_t NcellReport_bsic_oer_;
extern const TTCN_Typedescriptor_t NcellReport_bsic_descr_;
extern UNIVERSAL_CHARSTRING NcellReport_bsic_default_coding;
extern const TTCN_RAWdescriptor_t NcellReport_raw_;
extern const TTCN_Typedescriptor_t NcellReport_descr_;
extern UNIVERSAL_CHARSTRING NcellReport_default_coding;
extern const TTCN_RAWdescriptor_t NcellReports_0_raw_;
extern const TTCN_Typedescriptor_t NcellReports_0_descr_;
extern UNIVERSAL_CHARSTRING NcellReports_0_default_coding;
extern UNIVERSAL_CHARSTRING NcellReports_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementResults_ncell__reports_raw_;
extern const TTCN_Typedescriptor_t MeasurementResults_ncell__reports_descr_;
extern UNIVERSAL_CHARSTRING MeasurementResults_ncell__reports_default_coding;
extern UNIVERSAL_CHARSTRING MeasurementResults_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_chan__desc_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_chan__desc_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_power__cmd_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_power__cmd_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_power__cmd_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_descr_;
extern const TTCN_RAWdescriptor_t AssignmentCommand_freq__list__at_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_freq__list__at_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_freq__list__at_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_cell__chan__desc_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_cell__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_cell__chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_chan1__mode_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_chan1__mode_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_chan1__mode_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_chan2__mode_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_chan2__mode_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_chan2__mode_default_coding;
extern const TTCN_RAWdescriptor_t AssignmentCommand_mobile__allocation_raw_;
extern const TTCN_Typedescriptor_t AssignmentCommand_mobile__allocation_descr_;
extern UNIVERSAL_CHARSTRING AssignmentCommand_mobile__allocation_default_coding;
extern UNIVERSAL_CHARSTRING AssignmentCommand_default_coding;
extern const TTCN_RAWdescriptor_t CellDescriptionV_bcc_raw_;
extern const XERdescriptor_t CellDescriptionV_bcc_xer_;
extern const TTCN_OERdescriptor_t CellDescriptionV_bcc_oer_;
extern const TTCN_Typedescriptor_t CellDescriptionV_bcc_descr_;
extern UNIVERSAL_CHARSTRING CellDescriptionV_bcc_default_coding;
extern const TTCN_RAWdescriptor_t CellDescriptionV_ncc_raw_;
extern const XERdescriptor_t CellDescriptionV_ncc_xer_;
extern const TTCN_OERdescriptor_t CellDescriptionV_ncc_oer_;
extern const TTCN_Typedescriptor_t CellDescriptionV_ncc_descr_;
extern UNIVERSAL_CHARSTRING CellDescriptionV_ncc_default_coding;
extern const TTCN_RAWdescriptor_t CellDescriptionV_bcch__arfcn_raw_;
extern const XERdescriptor_t CellDescriptionV_bcch__arfcn_xer_;
extern const TTCN_OERdescriptor_t CellDescriptionV_bcch__arfcn_oer_;
extern const TTCN_Typedescriptor_t CellDescriptionV_bcch__arfcn_descr_;
extern UNIVERSAL_CHARSTRING CellDescriptionV_bcch__arfcn_default_coding;
extern const TTCN_RAWdescriptor_t CellDescriptionV_raw_;
extern const TTCN_Typedescriptor_t CellDescriptionV_descr_;
extern UNIVERSAL_CHARSTRING CellDescriptionV_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_cell__desc_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_cell__desc_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_cell__desc_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_chan__desc_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_chan__desc_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_ho__ref_raw_;
extern const XERdescriptor_t HandoverCommand_ho__ref_xer_;
extern const TTCN_OERdescriptor_t HandoverCommand_ho__ref_oer_;
extern const TTCN_Typedescriptor_t HandoverCommand_ho__ref_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_ho__ref_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_power__cmd__acc__type_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_power__cmd__acc__type_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_power__cmd__acc__type_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_descr_;
extern const TTCN_RAWdescriptor_t HandoverCommand_freq__list__at_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_freq__list__at_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_freq__list__at_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_cell__chan__desc_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_cell__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_cell__chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_chan1__mode_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_chan1__mode_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_chan1__mode_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_chan2__mode_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_chan2__mode_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_chan2__mode_default_coding;
extern const TTCN_RAWdescriptor_t HandoverCommand_mobile__allocation_raw_;
extern const TTCN_Typedescriptor_t HandoverCommand_mobile__allocation_descr_;
extern UNIVERSAL_CHARSTRING HandoverCommand_mobile__allocation_default_coding;
extern UNIVERSAL_CHARSTRING HandoverCommand_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_ded__or__tbf_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_ded__or__tbf_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_ded__or__tbf_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_page__mode_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_page__mode_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_page__mode_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_req__ref_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_req__ref_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_req__ref_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_timing__advance_raw_;
extern const XERdescriptor_t ImmediateAssignment_timing__advance_xer_;
extern const TTCN_OERdescriptor_t ImmediateAssignment_timing__advance_oer_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_timing__advance_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_timing__advance_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_mobile__allocation_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_mobile__allocation_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_mobile__allocation_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_rest__octets_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_descr_;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_chan__desc_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_chan__desc_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_chan__desc_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignment_pkt__chan__desc_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignment_pkt__chan__desc_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_pkt__chan__desc_default_coding;
extern UNIVERSAL_CHARSTRING ImmediateAssignment_default_coding;
extern const TTCN_RAWdescriptor_t ReqRefWaitInd_req__ref_raw_;
extern const TTCN_Typedescriptor_t ReqRefWaitInd_req__ref_descr_;
extern UNIVERSAL_CHARSTRING ReqRefWaitInd_req__ref_default_coding;
extern const TTCN_RAWdescriptor_t ReqRefWaitInd_wait__ind_raw_;
extern const XERdescriptor_t ReqRefWaitInd_wait__ind_xer_;
extern const TTCN_OERdescriptor_t ReqRefWaitInd_wait__ind_oer_;
extern const TTCN_Typedescriptor_t ReqRefWaitInd_wait__ind_descr_;
extern UNIVERSAL_CHARSTRING ReqRefWaitInd_wait__ind_default_coding;
extern const TTCN_RAWdescriptor_t ReqRefWaitInd_raw_;
extern const TTCN_Typedescriptor_t ReqRefWaitInd_descr_;
extern UNIVERSAL_CHARSTRING ReqRefWaitInd_default_coding;
extern const TTCN_RAWdescriptor_t ReqRefWaitInd4_raw_;
extern const TTCN_Typedescriptor_t ReqRefWaitInd4_descr_;
extern const TTCN_RAWdescriptor_t ReqRefWaitInd4_0_raw_;
extern const TTCN_Typedescriptor_t ReqRefWaitInd4_0_descr_;
extern UNIVERSAL_CHARSTRING ReqRefWaitInd4_0_default_coding;
extern UNIVERSAL_CHARSTRING ReqRefWaitInd4_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignmentReject_feature__ind_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignmentReject_feature__ind_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignmentReject_feature__ind_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignmentReject_page__mode_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignmentReject_page__mode_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignmentReject_page__mode_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignmentReject_payload_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignmentReject_payload_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignmentReject_payload_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignmentReject_rest__octets_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignmentReject_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignmentReject_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t ImmediateAssignmentReject_raw_;
extern const TTCN_Typedescriptor_t ImmediateAssignmentReject_descr_;
extern UNIVERSAL_CHARSTRING ImmediateAssignmentReject_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementReport_meas__res_raw_;
extern const TTCN_Typedescriptor_t MeasurementReport_meas__res_descr_;
extern UNIVERSAL_CHARSTRING MeasurementReport_meas__res_default_coding;
extern const TTCN_RAWdescriptor_t MeasurementReport_raw_;
extern const TTCN_Typedescriptor_t MeasurementReport_descr_;
extern UNIVERSAL_CHARSTRING MeasurementReport_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType1_chan__needed_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType1_chan__needed_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType1_chan__needed_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType1_page__mode_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType1_page__mode_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType1_page__mode_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType1_mi1_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType1_mi1_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType1_mi1_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType1_rest__octets_raw_;
extern const XERdescriptor_t PagingRequestType1_rest__octets_xer_;
extern const TTCN_OERdescriptor_t PagingRequestType1_rest__octets_oer_;
extern const TTCN_Typedescriptor_t PagingRequestType1_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType1_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType1_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType1_descr_;
extern const TTCN_RAWdescriptor_t PagingRequestType1_mi2_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType1_mi2_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType1_mi2_default_coding;
extern UNIVERSAL_CHARSTRING PagingRequestType1_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_chan__needed_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType2_chan__needed_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_chan__needed_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_page__mode_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType2_page__mode_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_page__mode_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_mi1_raw_;
extern const XERdescriptor_t PagingRequestType2_mi1_xer_;
extern const TTCN_OERdescriptor_t PagingRequestType2_mi1_oer_;
extern const TTCN_Typedescriptor_t PagingRequestType2_mi1_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_mi1_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_mi2_raw_;
extern const XERdescriptor_t PagingRequestType2_mi2_xer_;
extern const TTCN_OERdescriptor_t PagingRequestType2_mi2_oer_;
extern const TTCN_Typedescriptor_t PagingRequestType2_mi2_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_mi2_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_rest__octets_raw_;
extern const XERdescriptor_t PagingRequestType2_rest__octets_xer_;
extern const TTCN_OERdescriptor_t PagingRequestType2_rest__octets_oer_;
extern const TTCN_Typedescriptor_t PagingRequestType2_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType2_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType2_descr_;
extern const TTCN_RAWdescriptor_t PagingRequestType2_mi3_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType2_mi3_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType2_mi3_default_coding;
extern UNIVERSAL_CHARSTRING PagingRequestType2_default_coding;
extern const TTCN_RAWdescriptor_t GsmTmsi4_raw_;
extern const TTCN_Typedescriptor_t GsmTmsi4_descr_;
extern const TTCN_RAWdescriptor_t GsmTmsi4_0_raw_;
extern const XERdescriptor_t GsmTmsi4_0_xer_;
extern const TTCN_OERdescriptor_t GsmTmsi4_0_oer_;
extern const TTCN_Typedescriptor_t GsmTmsi4_0_descr_;
extern UNIVERSAL_CHARSTRING GsmTmsi4_0_default_coding;
extern UNIVERSAL_CHARSTRING GsmTmsi4_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType3_chan__needed_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType3_chan__needed_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType3_chan__needed_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType3_page__mode_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType3_page__mode_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType3_page__mode_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType3_mi_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType3_mi_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType3_mi_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType3_rest__octets_raw_;
extern const XERdescriptor_t PagingRequestType3_rest__octets_xer_;
extern const TTCN_OERdescriptor_t PagingRequestType3_rest__octets_oer_;
extern const TTCN_Typedescriptor_t PagingRequestType3_rest__octets_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType3_rest__octets_default_coding;
extern const TTCN_RAWdescriptor_t PagingRequestType3_raw_;
extern const TTCN_Typedescriptor_t PagingRequestType3_descr_;
extern UNIVERSAL_CHARSTRING PagingRequestType3_default_coding;
extern const TTCN_RAWdescriptor_t CipheringKeySeqNrTV_tag_raw_;
extern const XERdescriptor_t CipheringKeySeqNrTV_tag_xer_;
extern const TTCN_Typedescriptor_t CipheringKeySeqNrTV_tag_descr_;
extern UNIVERSAL_CHARSTRING CipheringKeySeqNrTV_tag_default_coding;
extern const TTCN_RAWdescriptor_t CipheringKeySeqNrTV_cksn_raw_;
extern const XERdescriptor_t CipheringKeySeqNrTV_cksn_xer_;
extern const TTCN_OERdescriptor_t CipheringKeySeqNrTV_cksn_oer_;
extern const TTCN_Typedescriptor_t CipheringKeySeqNrTV_cksn_descr_;
extern UNIVERSAL_CHARSTRING CipheringKeySeqNrTV_cksn_default_coding;
extern const TTCN_RAWdescriptor_t CipheringKeySeqNrTV_raw_;
extern const TTCN_Typedescriptor_t CipheringKeySeqNrTV_descr_;
extern UNIVERSAL_CHARSTRING CipheringKeySeqNrTV_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIndication_cm2_raw_;
extern const TTCN_Typedescriptor_t TalkerIndication_cm2_descr_;
extern UNIVERSAL_CHARSTRING TalkerIndication_cm2_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIndication_mi_raw_;
extern const TTCN_Typedescriptor_t TalkerIndication_mi_descr_;
extern UNIVERSAL_CHARSTRING TalkerIndication_mi_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIndication_raw_;
extern const TTCN_Typedescriptor_t TalkerIndication_descr_;
extern const TTCN_RAWdescriptor_t TalkerIndication_cksn_raw_;
extern const TTCN_Typedescriptor_t TalkerIndication_cksn_descr_;
extern UNIVERSAL_CHARSTRING TalkerIndication_cksn_default_coding;
extern UNIVERSAL_CHARSTRING TalkerIndication_default_coding;
extern const TTCN_RAWdescriptor_t PriorityUplinkRequest_est__cause_raw_;
extern const XERdescriptor_t PriorityUplinkRequest_est__cause_xer_;
extern const TTCN_OERdescriptor_t PriorityUplinkRequest_est__cause_oer_;
extern const TTCN_Typedescriptor_t PriorityUplinkRequest_est__cause_descr_;
extern UNIVERSAL_CHARSTRING PriorityUplinkRequest_est__cause_default_coding;
extern const TTCN_RAWdescriptor_t PriorityUplinkRequest_token_raw_;
extern const XERdescriptor_t PriorityUplinkRequest_token_xer_;
extern const TTCN_OERdescriptor_t PriorityUplinkRequest_token_oer_;
extern const TTCN_Typedescriptor_t PriorityUplinkRequest_token_descr_;
extern UNIVERSAL_CHARSTRING PriorityUplinkRequest_token_default_coding;
extern const TTCN_RAWdescriptor_t PriorityUplinkRequest_reduced__gcr_raw_;
extern const XERdescriptor_t PriorityUplinkRequest_reduced__gcr_xer_;
extern const TTCN_OERdescriptor_t PriorityUplinkRequest_reduced__gcr_oer_;
extern const TTCN_Typedescriptor_t PriorityUplinkRequest_reduced__gcr_descr_;
extern UNIVERSAL_CHARSTRING PriorityUplinkRequest_reduced__gcr_default_coding;
extern const TTCN_RAWdescriptor_t PriorityUplinkRequest_mi_raw_;
extern const TTCN_Typedescriptor_t PriorityUplinkRequest_mi_descr_;
extern UNIVERSAL_CHARSTRING PriorityUplinkRequest_mi_default_coding;
extern const TTCN_RAWdescriptor_t PriorityUplinkRequest_raw_;
extern const TTCN_Typedescriptor_t PriorityUplinkRequest_descr_;
extern UNIVERSAL_CHARSTRING PriorityUplinkRequest_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication_tmsi_raw_;
extern const XERdescriptor_t DataIndication_tmsi_xer_;
extern const TTCN_OERdescriptor_t DataIndication_tmsi_oer_;
extern const TTCN_Typedescriptor_t DataIndication_tmsi_descr_;
extern UNIVERSAL_CHARSTRING DataIndication_tmsi_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication_app__data_raw_;
extern const XERdescriptor_t DataIndication_app__data_xer_;
extern const TTCN_OERdescriptor_t DataIndication_app__data_oer_;
extern const TTCN_Typedescriptor_t DataIndication_app__data_descr_;
extern UNIVERSAL_CHARSTRING DataIndication_app__data_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication_data__id_raw_;
extern const XERdescriptor_t DataIndication_data__id_xer_;
extern const TTCN_OERdescriptor_t DataIndication_data__id_oer_;
extern const TTCN_Typedescriptor_t DataIndication_data__id_descr_;
extern UNIVERSAL_CHARSTRING DataIndication_data__id_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication_raw_;
extern const TTCN_Typedescriptor_t DataIndication_descr_;
extern UNIVERSAL_CHARSTRING DataIndication_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication2_tmsi_raw_;
extern const XERdescriptor_t DataIndication2_tmsi_xer_;
extern const TTCN_OERdescriptor_t DataIndication2_tmsi_oer_;
extern const TTCN_Typedescriptor_t DataIndication2_tmsi_descr_;
extern UNIVERSAL_CHARSTRING DataIndication2_tmsi_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication2_reduced__gcr_raw_;
extern const XERdescriptor_t DataIndication2_reduced__gcr_xer_;
extern const TTCN_OERdescriptor_t DataIndication2_reduced__gcr_oer_;
extern const TTCN_Typedescriptor_t DataIndication2_reduced__gcr_descr_;
extern UNIVERSAL_CHARSTRING DataIndication2_reduced__gcr_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication2_app__data_raw_;
extern const XERdescriptor_t DataIndication2_app__data_xer_;
extern const TTCN_OERdescriptor_t DataIndication2_app__data_oer_;
extern const TTCN_Typedescriptor_t DataIndication2_app__data_descr_;
extern UNIVERSAL_CHARSTRING DataIndication2_app__data_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication2_data__id_raw_;
extern const XERdescriptor_t DataIndication2_data__id_xer_;
extern const TTCN_OERdescriptor_t DataIndication2_data__id_oer_;
extern const TTCN_Typedescriptor_t DataIndication2_data__id_descr_;
extern UNIVERSAL_CHARSTRING DataIndication2_data__id_default_coding;
extern const TTCN_RAWdescriptor_t DataIndication2_raw_;
extern const TTCN_Typedescriptor_t DataIndication2_descr_;
extern UNIVERSAL_CHARSTRING DataIndication2_default_coding;
extern const TTCN_RAWdescriptor_t UplinkBusy_raw_;
extern const TTCN_Typedescriptor_t UplinkBusy_descr_;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_iei_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_iei_xer_;
extern const TTCN_OERdescriptor_t TalkerPrioEmergIndTLV_iei_oer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_iei_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_iei_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_len_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_len_xer_;
extern const TTCN_OERdescriptor_t TalkerPrioEmergIndTLV_len_oer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_len_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_len_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_es_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_es_xer_;
extern const TTCN_OERdescriptor_t TalkerPrioEmergIndTLV_es_oer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_es_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_es_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_spare_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_spare_xer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_spare_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_spare_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_uai__rach_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_uai__rach_xer_;
extern const TTCN_OERdescriptor_t TalkerPrioEmergIndTLV_uai__rach_oer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_uai__rach_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_uai__rach_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_priority_raw_;
extern const XERdescriptor_t TalkerPrioEmergIndTLV_priority_xer_;
extern const TTCN_OERdescriptor_t TalkerPrioEmergIndTLV_priority_oer_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_priority_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_priority_default_coding;
extern const TTCN_RAWdescriptor_t TalkerPrioEmergIndTLV_raw_;
extern const TTCN_Typedescriptor_t TalkerPrioEmergIndTLV_descr_;
extern UNIVERSAL_CHARSTRING TalkerPrioEmergIndTLV_default_coding;
extern const TTCN_RAWdescriptor_t UplinkBusy_prio_raw_;
extern const TTCN_Typedescriptor_t UplinkBusy_prio_descr_;
extern UNIVERSAL_CHARSTRING UplinkBusy_prio_default_coding;
extern const TTCN_RAWdescriptor_t TokenTV_iei_raw_;
extern const XERdescriptor_t TokenTV_iei_xer_;
extern const TTCN_OERdescriptor_t TokenTV_iei_oer_;
extern const TTCN_Typedescriptor_t TokenTV_iei_descr_;
extern UNIVERSAL_CHARSTRING TokenTV_iei_default_coding;
extern const TTCN_RAWdescriptor_t TokenTV_token_raw_;
extern const XERdescriptor_t TokenTV_token_xer_;
extern const TTCN_OERdescriptor_t TokenTV_token_oer_;
extern const TTCN_Typedescriptor_t TokenTV_token_descr_;
extern UNIVERSAL_CHARSTRING TokenTV_token_default_coding;
extern const TTCN_RAWdescriptor_t TokenTV_raw_;
extern const TTCN_Typedescriptor_t TokenTV_descr_;
extern UNIVERSAL_CHARSTRING TokenTV_default_coding;
extern const TTCN_RAWdescriptor_t UplinkBusy_token_raw_;
extern const TTCN_Typedescriptor_t UplinkBusy_token_descr_;
extern UNIVERSAL_CHARSTRING UplinkBusy_token_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIdentityTLV_iei_raw_;
extern const XERdescriptor_t TalkerIdentityTLV_iei_xer_;
extern const TTCN_OERdescriptor_t TalkerIdentityTLV_iei_oer_;
extern const TTCN_Typedescriptor_t TalkerIdentityTLV_iei_descr_;
extern UNIVERSAL_CHARSTRING TalkerIdentityTLV_iei_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIdentityTLV_len_raw_;
extern const XERdescriptor_t TalkerIdentityTLV_len_xer_;
extern const TTCN_OERdescriptor_t TalkerIdentityTLV_len_oer_;
extern const TTCN_Typedescriptor_t TalkerIdentityTLV_len_descr_;
extern UNIVERSAL_CHARSTRING TalkerIdentityTLV_len_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIdentityTLV_talker__id_raw_;
extern const XERdescriptor_t TalkerIdentityTLV_talker__id_xer_;
extern const TTCN_OERdescriptor_t TalkerIdentityTLV_talker__id_oer_;
extern const TTCN_Typedescriptor_t TalkerIdentityTLV_talker__id_descr_;
extern UNIVERSAL_CHARSTRING TalkerIdentityTLV_talker__id_default_coding;
extern const TTCN_RAWdescriptor_t TalkerIdentityTLV_raw_;
extern const TTCN_Typedescriptor_t TalkerIdentityTLV_descr_;
extern UNIVERSAL_CHARSTRING TalkerIdentityTLV_default_coding;
extern const TTCN_RAWdescriptor_t UplinkBusy_talker__id_raw_;
extern const TTCN_Typedescriptor_t UplinkBusy_talker__id_descr_;
extern UNIVERSAL_CHARSTRING UplinkBusy_talker__id_default_coding;
extern const TTCN_RAWdescriptor_t UplinkAccessIndTV_iei_raw_;
extern const XERdescriptor_t UplinkAccessIndTV_iei_xer_;
extern const TTCN_Typedescriptor_t UplinkAccessIndTV_iei_descr_;
extern UNIVERSAL_CHARSTRING UplinkAccessIndTV_iei_default_coding;
extern const TTCN_RAWdescriptor_t UplinkAccessIndTV_spare_raw_;
extern const XERdescriptor_t UplinkAccessIndTV_spare_xer_;
extern const TTCN_OERdescriptor_t UplinkAccessIndTV_spare_oer_;
extern const TTCN_Typedescriptor_t UplinkAccessIndTV_spare_descr_;
extern UNIVERSAL_CHARSTRING UplinkAccessIndTV_spare_default_coding;
extern const TTCN_RAWdescriptor_t UplinkAccessIndTV_uai__rach_raw_;
extern const XERdescriptor_t UplinkAccessIndTV_uai__rach_xer_;
extern const TTCN_OERdescriptor_t UplinkAccessIndTV_uai__rach_oer_;
extern const TTCN_Typedescriptor_t UplinkAccessIndTV_uai__rach_descr_;
extern UNIVERSAL_CHARSTRING UplinkAccessIndTV_uai__rach_default_coding;
extern const TTCN_RAWdescriptor_t UplinkAccessIndTV_raw_;
extern const TTCN_Typedescriptor_t UplinkAccessIndTV_descr_;
extern UNIVERSAL_CHARSTRING UplinkAccessIndTV_default_coding;
extern const TTCN_RAWdescriptor_t UplinkBusy_ul__access__ind_raw_;
extern const TTCN_Typedescriptor_t UplinkBusy_ul__access__ind_descr_;
extern UNIVERSAL_CHARSTRING UplinkBusy_ul__access__ind_default_coding;
extern UNIVERSAL_CHARSTRING UplinkBusy_default_coding;
extern const TTCN_RAWdescriptor_t UplinkRelease_cause_raw_;
extern const TTCN_Typedescriptor_t UplinkRelease_cause_descr_;
extern UNIVERSAL_CHARSTRING UplinkRelease_cause_default_coding;
extern const TTCN_RAWdescriptor_t UplinkRelease_raw_;
extern const TTCN_Typedescriptor_t UplinkRelease_descr_;
extern UNIVERSAL_CHARSTRING UplinkRelease_default_coding;
extern const TTCN_RAWdescriptor_t VgcsUplinkGrant_req__ref_raw_;
extern const TTCN_Typedescriptor_t VgcsUplinkGrant_req__ref_descr_;
extern UNIVERSAL_CHARSTRING VgcsUplinkGrant_req__ref_default_coding;
extern const TTCN_RAWdescriptor_t VgcsUplinkGrant_ta_raw_;
extern const XERdescriptor_t VgcsUplinkGrant_ta_xer_;
extern const TTCN_OERdescriptor_t VgcsUplinkGrant_ta_oer_;
extern const TTCN_Typedescriptor_t VgcsUplinkGrant_ta_descr_;
extern UNIVERSAL_CHARSTRING VgcsUplinkGrant_ta_default_coding;
extern const TTCN_RAWdescriptor_t VgcsUplinkGrant_raw_;
extern const TTCN_Typedescriptor_t VgcsUplinkGrant_descr_;
extern UNIVERSAL_CHARSTRING VgcsUplinkGrant_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_raw_;
extern const TTCN_Typedescriptor_t RrUnion_descr_;
extern const TTCN_RAWdescriptor_t RrUnion_imm__ass_raw_;
extern const TTCN_Typedescriptor_t RrUnion_imm__ass_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_imm__ass_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_imm__ass__rej_raw_;
extern const TTCN_Typedescriptor_t RrUnion_imm__ass__rej_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_imm__ass__rej_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_pag__req__1_raw_;
extern const TTCN_Typedescriptor_t RrUnion_pag__req__1_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_pag__req__1_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_pag__req__2_raw_;
extern const TTCN_Typedescriptor_t RrUnion_pag__req__2_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_pag__req__2_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_pag__req__3_raw_;
extern const TTCN_Typedescriptor_t RrUnion_pag__req__3_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_pag__req__3_default_coding;
extern const TTCN_RAWdescriptor_t RrUnion_other_raw_;
extern const XERdescriptor_t RrUnion_other_xer_;
extern const TTCN_OERdescriptor_t RrUnion_other_oer_;
extern const TTCN_Typedescriptor_t RrUnion_other_descr_;
extern UNIVERSAL_CHARSTRING RrUnion_other_default_coding;
extern UNIVERSAL_CHARSTRING RrUnion_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrMessage_header_raw_;
extern const TTCN_Typedescriptor_t GsmRrMessage_header_descr_;
extern UNIVERSAL_CHARSTRING GsmRrMessage_header_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrMessage_payload_raw_;
extern const TTCN_Typedescriptor_t GsmRrMessage_payload_descr_;
extern UNIVERSAL_CHARSTRING GsmRrMessage_payload_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrMessage_raw_;
extern const TTCN_Typedescriptor_t GsmRrMessage_descr_;
extern UNIVERSAL_CHARSTRING GsmRrMessage_default_coding;
extern const TTCN_RAWdescriptor_t PagingResponse_spare__half__octet_raw_;
extern const XERdescriptor_t PagingResponse_spare__half__octet_xer_;
extern const TTCN_OERdescriptor_t PagingResponse_spare__half__octet_oer_;
extern const TTCN_Typedescriptor_t PagingResponse_spare__half__octet_descr_;
extern UNIVERSAL_CHARSTRING PagingResponse_spare__half__octet_default_coding;
extern const TTCN_RAWdescriptor_t PagingResponse_cksn_raw_;
extern const XERdescriptor_t PagingResponse_cksn_xer_;
extern const TTCN_OERdescriptor_t PagingResponse_cksn_oer_;
extern const TTCN_Typedescriptor_t PagingResponse_cksn_descr_;
extern UNIVERSAL_CHARSTRING PagingResponse_cksn_default_coding;
extern const TTCN_RAWdescriptor_t PagingResponse_cm2_raw_;
extern const TTCN_Typedescriptor_t PagingResponse_cm2_descr_;
extern UNIVERSAL_CHARSTRING PagingResponse_cm2_default_coding;
extern const TTCN_RAWdescriptor_t PagingResponse_mi_raw_;
extern const TTCN_Typedescriptor_t PagingResponse_mi_descr_;
extern UNIVERSAL_CHARSTRING PagingResponse_mi_default_coding;
extern const TTCN_RAWdescriptor_t PagingResponse_raw_;
extern const TTCN_Typedescriptor_t PagingResponse_descr_;
extern const TTCN_RAWdescriptor_t PagingResponse_addl__upd__par_raw_;
extern const XERdescriptor_t PagingResponse_addl__upd__par_xer_;
extern const TTCN_OERdescriptor_t PagingResponse_addl__upd__par_oer_;
extern const TTCN_Typedescriptor_t PagingResponse_addl__upd__par_descr_;
extern UNIVERSAL_CHARSTRING PagingResponse_addl__upd__par_default_coding;
extern UNIVERSAL_CHARSTRING PagingResponse_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_descr_;
extern const TTCN_RAWdescriptor_t RrL3Union_paging__response_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_paging__response_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_paging__response_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_meas__rep_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_meas__rep_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_meas__rep_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_ass__cmd_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_ass__cmd_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_ass__cmd_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_ho__cmd_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_ho__cmd_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_ho__cmd_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_talker__ind_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_talker__ind_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_talker__ind_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_priority__ul__req_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_priority__ul__req_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_priority__ul__req_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_uplink__busy_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_uplink__busy_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_uplink__busy_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_uplink__release_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_uplink__release_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_uplink__release_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_vgcs__ul__grant_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_vgcs__ul__grant_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_vgcs__ul__grant_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_data__ind_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_data__ind_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_data__ind_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_data__ind2_raw_;
extern const TTCN_Typedescriptor_t RrL3Union_data__ind2_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_data__ind2_default_coding;
extern const TTCN_RAWdescriptor_t RrL3Union_other_raw_;
extern const XERdescriptor_t RrL3Union_other_xer_;
extern const TTCN_OERdescriptor_t RrL3Union_other_oer_;
extern const TTCN_Typedescriptor_t RrL3Union_other_descr_;
extern UNIVERSAL_CHARSTRING RrL3Union_other_default_coding;
extern UNIVERSAL_CHARSTRING RrL3Union_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrL3Message_header_raw_;
extern const TTCN_Typedescriptor_t GsmRrL3Message_header_descr_;
extern UNIVERSAL_CHARSTRING GsmRrL3Message_header_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrL3Message_payload_raw_;
extern const TTCN_Typedescriptor_t GsmRrL3Message_payload_descr_;
extern UNIVERSAL_CHARSTRING GsmRrL3Message_payload_default_coding;
extern const TTCN_RAWdescriptor_t GsmRrL3Message_raw_;
extern const TTCN_Typedescriptor_t GsmRrL3Message_descr_;
extern UNIVERSAL_CHARSTRING GsmRrL3Message_default_coding;
extern const INTEGER_template& tr__IMM__ASS_ra_defval;
extern INTEGER_template template_tr__IMM__ASS_ra_defval;
extern const INTEGER_template& tr__IMM__ASS_fn_defval;
extern INTEGER_template template_tr__IMM__ASS_fn_defval;
extern const INTEGER_template& tr__IMM__ASS_ta_defval;
extern INTEGER_template template_tr__IMM__ASS_ta_defval;
extern const ChannelDescription_template& tr__IMM__ASS_ch__desc_defval;
extern ChannelDescription_template template_tr__IMM__ASS_ch__desc_defval;
extern const MobileAllocationLV_template& tr__IMM__ASS_ma_defval;
extern MobileAllocationLV_template template_tr__IMM__ASS_ma_defval;
extern const PageMode_template& tr__IMM__ASS_page__mode_defval;
extern PageMode_template template_tr__IMM__ASS_page__mode_defval;
extern const BOOLEAN_template& tr__IMM__TBF__ASS_dl_defval;
extern BOOLEAN_template template_tr__IMM__TBF__ASS_dl_defval;
extern const INTEGER_template& tr__IMM__TBF__ASS_ra_defval;
extern INTEGER_template template_tr__IMM__TBF__ASS_ra_defval;
extern const INTEGER_template& tr__IMM__TBF__ASS_fn_defval;
extern INTEGER_template template_tr__IMM__TBF__ASS_fn_defval;
extern const INTEGER_template& tr__IMM__TBF__ASS_ta_defval;
extern INTEGER_template template_tr__IMM__TBF__ASS_ta_defval;
extern const PacketChannelDescription_template& tr__IMM__TBF__ASS_ch__desc_defval;
extern PacketChannelDescription_template template_tr__IMM__TBF__ASS_ch__desc_defval;
extern const MobileAllocationLV_template& tr__IMM__TBF__ASS_ma_defval;
extern MobileAllocationLV_template template_tr__IMM__TBF__ASS_ma_defval;
extern const GSM__RestOctets::IaRestOctets_template& tr__IMM__TBF__ASS_rest_defval;
extern GSM__RestOctets::IaRestOctets_template template_tr__IMM__TBF__ASS_rest_defval;
extern const MobileL3__CommonIE__Types::MobileIdentityLV_template& tr__PAG__REQ1_mi1_defval;
extern MobileL3__CommonIE__Types::MobileIdentityLV_template template_tr__PAG__REQ1_mi1_defval;
extern const MobileL3__CommonIE__Types::MobileIdentityTLV_template& tr__PAG__REQ1_mi2_defval;
extern MobileL3__CommonIE__Types::MobileIdentityTLV_template template_tr__PAG__REQ1_mi2_defval;
extern const INTEGER_template& ts__MeasurementResults_rxl__f_defval;
extern INTEGER_template template_ts__MeasurementResults_rxl__f_defval;
extern const INTEGER_template& ts__MeasurementResults_rxl__s_defval;
extern INTEGER_template template_ts__MeasurementResults_rxl__s_defval;
extern const INTEGER_template& ts__MeasurementResults_rxq__f_defval;
extern INTEGER_template template_ts__MeasurementResults_rxq__f_defval;
extern const INTEGER_template& ts__MeasurementResults_rxq__s_defval;
extern INTEGER_template template_ts__MeasurementResults_rxq__s_defval;
extern const BOOLEAN& ts__MeasurementResults_dtx__used_defval;
extern BOOLEAN const_ts__MeasurementResults_dtx__used_defval;
extern const BOOLEAN& ts__MeasurementResults_valid_defval;
extern BOOLEAN const_ts__MeasurementResults_valid_defval;
extern const NcellReports_template& ts__MeasurementResults_reps_defval;
extern NcellReports_template template_ts__MeasurementResults_reps_defval;
extern const INTEGER_template& ts__MEAS__REP_rxq__f_defval;
extern INTEGER_template template_ts__MEAS__REP_rxq__f_defval;
extern const INTEGER_template& ts__MEAS__REP_rxq__s_defval;
extern INTEGER_template template_ts__MEAS__REP_rxq__s_defval;
extern const NcellReports_template& ts__MEAS__REP_reps_defval;
extern NcellReports_template template_ts__MEAS__REP_reps_defval;
extern const FeatureIndicator_template& tr__IMM__ASS__REJ_feature__ind_defval;
extern FeatureIndicator_template template_tr__IMM__ASS__REJ_feature__ind_defval;
extern const ReqRefWaitInd4_template& tr__IMM__ASS__REJ_rr__wi__list_defval;
extern ReqRefWaitInd4_template template_tr__IMM__ASS__REJ_rr__wi__list_defval;
extern const GSM__RestOctets::IARRestOctets_template& tr__IMM__ASS__REJ_rest__octets_defval;
extern GSM__RestOctets::IARRestOctets_template template_tr__IMM__ASS__REJ_rest__octets_defval;
extern const RequestReference_template& tr__ReqRefWaitInd_ref_defval;
extern RequestReference_template template_tr__ReqRefWaitInd_ref_defval;
extern const INTEGER_template& tr__ReqRefWaitInd_wi_defval;
extern INTEGER_template template_tr__ReqRefWaitInd_wi_defval;
extern const INTEGER_template& ts__ChanDescH0_tsc_defval;
extern INTEGER_template template_ts__ChanDescH0_tsc_defval;
extern const GSM__Types::RslChannelNr_template& tr__ChanDescH0_chan__nr_defval;
extern GSM__Types::RslChannelNr_template template_tr__ChanDescH0_chan__nr_defval;
extern const INTEGER_template& tr__ChanDescH0_arfcn_defval;
extern INTEGER_template template_tr__ChanDescH0_arfcn_defval;
extern const INTEGER_template& tr__ChanDescH0_tsc_defval;
extern INTEGER_template template_tr__ChanDescH0_tsc_defval;
extern const INTEGER_template& ts__ChanDescH1_tsc_defval;
extern INTEGER_template template_ts__ChanDescH1_tsc_defval;
extern const GSM__Types::RslChannelNr_template& tr__ChanDescH1_chan__nr_defval;
extern GSM__Types::RslChannelNr_template template_tr__ChanDescH1_chan__nr_defval;
extern const MaioHsn_template& tr__ChanDescH1_maio__hsn_defval;
extern MaioHsn_template template_tr__ChanDescH1_maio__hsn_defval;
extern const INTEGER_template& tr__ChanDescH1_tsc_defval;
extern INTEGER_template template_tr__ChanDescH1_tsc_defval;
extern const TTCN_RAWdescriptor_t CellSelIndValue_discr_raw_;
extern const XERdescriptor_t CellSelIndValue_discr_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue_discr_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue_discr_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue_discr_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValueEnum_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValueEnum_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descrs_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descrs_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descr_item__ind_raw_;
extern const XERdescriptor_t CellSelIndValue__GSM__Descr_item__ind_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__GSM__Descr_item__ind_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descr_item__ind_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descr_item__ind_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descr_band__indicator_raw_;
extern const XERdescriptor_t CellSelIndValue__GSM__Descr_band__indicator_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__GSM__Descr_band__indicator_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descr_band__indicator_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descr_band__indicator_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descr_arfcn_raw_;
extern const XERdescriptor_t CellSelIndValue__GSM__Descr_arfcn_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__GSM__Descr_arfcn_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descr_arfcn_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descr_arfcn_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descr_bsic_raw_;
extern const XERdescriptor_t CellSelIndValue__GSM__Descr_bsic_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__GSM__Descr_bsic_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descr_bsic_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descr_bsic_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descr_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descr_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descr_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__GSM__Descrs_0_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__GSM__Descrs_0_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descrs_0_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValue__GSM__Descrs_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValueEnum_gsm_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValueEnum_gsm_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValueEnum_gsm_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descrs_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descrs_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_item__ind_raw_;
extern const XERdescriptor_t CellSelIndValue__UTRAN__Descr_item__ind_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__UTRAN__Descr_item__ind_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_item__ind_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_item__ind_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth__presence_raw_;
extern const XERdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth__presence_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth__presence_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth__presence_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_bandwidth__presence_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_arfcn_raw_;
extern const XERdescriptor_t CellSelIndValue__UTRAN__Descr_arfcn_xer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_arfcn_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_arfcn_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_cell__info__presence_raw_;
extern const XERdescriptor_t CellSelIndValue__UTRAN__Descr_cell__info__presence_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__UTRAN__Descr_cell__info__presence_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_cell__info__presence_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_cell__info__presence_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth_raw_;
extern const XERdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_bandwidth_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_bandwidth_default_coding;
extern const TTCN_RAWdescriptor_t UTRAN__CellInfo_indic0_raw_;
extern const XERdescriptor_t UTRAN__CellInfo_indic0_xer_;
extern const TTCN_OERdescriptor_t UTRAN__CellInfo_indic0_oer_;
extern const TTCN_Typedescriptor_t UTRAN__CellInfo_indic0_descr_;
extern UNIVERSAL_CHARSTRING UTRAN__CellInfo_indic0_default_coding;
extern const TTCN_RAWdescriptor_t UTRAN__CellInfo_nr__of__cells_raw_;
extern const XERdescriptor_t UTRAN__CellInfo_nr__of__cells_xer_;
extern const TTCN_OERdescriptor_t UTRAN__CellInfo_nr__of__cells_oer_;
extern const TTCN_Typedescriptor_t UTRAN__CellInfo_nr__of__cells_descr_;
extern UNIVERSAL_CHARSTRING UTRAN__CellInfo_nr__of__cells_default_coding;
extern const TTCN_RAWdescriptor_t UTRAN__CellInfo_cell__information__field_raw_;
extern const XERdescriptor_t UTRAN__CellInfo_cell__information__field_xer_;
extern const TTCN_OERdescriptor_t UTRAN__CellInfo_cell__information__field_oer_;
extern const TTCN_Typedescriptor_t UTRAN__CellInfo_cell__information__field_descr_;
extern UNIVERSAL_CHARSTRING UTRAN__CellInfo_cell__information__field_default_coding;
extern const TTCN_RAWdescriptor_t UTRAN__CellInfo_raw_;
extern const TTCN_Typedescriptor_t UTRAN__CellInfo_descr_;
extern UNIVERSAL_CHARSTRING UTRAN__CellInfo_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descr_cell__info_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descr_cell__info_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_cell__info_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descr_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__UTRAN__Descrs_0_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__UTRAN__Descrs_0_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descrs_0_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValue__UTRAN__Descrs_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValueEnum_utran__fdd_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValueEnum_utran__fdd_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValueEnum_utran__fdd_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValueEnum_utran__tdd_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValueEnum_utran__tdd_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValueEnum_utran__tdd_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descrs_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descrs_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_item__ind_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_item__ind_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_item__ind_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_item__ind_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_item__ind_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_earfcn_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_earfcn_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_earfcn_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_earfcn_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_earfcn_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw__presence_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw__presence_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw__presence_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw__presence_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_meas__bw__presence_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_not__allowed__cells__presence_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid__presence_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid__presence_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid__presence_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid__presence_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_target__pcid__presence_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_descr_;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_meas__bw_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_meas__bw_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_not__allowed__cells_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_not__allowed__cells_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid_raw_;
extern const XERdescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid_xer_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descr_target__pcid_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_target__pcid_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descr_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue__EUTRAN__Descrs_0_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue__EUTRAN__Descrs_0_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descrs_0_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValue__EUTRAN__Descrs_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValueEnum_eutran_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValueEnum_eutran_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValueEnum_eutran_default_coding;
extern UNIVERSAL_CHARSTRING CellSelIndValueEnum_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue_value__list_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue_value__list_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue_value__list_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue_value__list__term_raw_;
extern const XERdescriptor_t CellSelIndValue_value__list__term_xer_;
extern const TTCN_OERdescriptor_t CellSelIndValue_value__list__term_oer_;
extern const TTCN_Typedescriptor_t CellSelIndValue_value__list__term_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue_value__list__term_default_coding;
extern const TTCN_RAWdescriptor_t CellSelIndValue_raw_;
extern const TTCN_Typedescriptor_t CellSelIndValue_descr_;
extern UNIVERSAL_CHARSTRING CellSelIndValue_default_coding;
extern const CellSelIndValue__EUTRAN__Descrs_template& tr__CellSelIndValue__EUTRAN_cells_defval;
extern CellSelIndValue__EUTRAN__Descrs_template template_tr__CellSelIndValue__EUTRAN_cells_defval;
extern const BITSTRING_template& tr__CellSelIndValue__EUTRAN__Descr_meas__bw__presence_defval;
extern BITSTRING_template template_tr__CellSelIndValue__EUTRAN__Descr_meas__bw__presence_defval;
extern const INTEGER_template& tr__CellSelIndValue__EUTRAN__Descr_meas__bw_defval;
extern INTEGER_template template_tr__CellSelIndValue__EUTRAN__Descr_meas__bw_defval;
extern const BITSTRING bs_0,
bs_8,
bs_3,
bs_4,
bs_2,
bs_7,
bs_5,
bs_6,
bs_1;
extern const HEXSTRING hs_1,
hs_0;
extern const OCTETSTRING os_0,
os_3,
os_5,
os_6,
os_7,
os_1,
os_2,
os_4;
extern const CHARSTRING cs_0;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
